Program komputerowy

Program komputerowy
Polecane artykuły


Program komputerowy (zwany również oprogramowaniem komputerowym lub aplikacją) jest zbiorem poleceń, które zostały napisane przez programistę (specjalistę) w języku komputerowym. Obejmuje ono uporządkowany ciąg znaków - porządek operacji, jakie powinien wykonać komputer. Program należy wczytać do pamięci RAM komputera przed jego uruchomieniem i dalszym korzystaniem.

Programy stanowią nowatorskie narzędzie, które daje możliwość wykorzystania ich do np. tworzenia i opracowywania zadań testowych. Są one uniwersalne, więc stosuje się je w różnych dziedzinach[1]. Przykładowo mogą być ułatwieniem w matematyce, dzięki specjalnie stworzonym programom do obliczeń. Zapisane są w nich podstawy, które są wykorzystywane do wykonywania ważnych działań matematycznych. Jest to spore ułatwienie, gdyż dane i wyniki nie zostaną zagubione jak mogłyby w przypadku zapisania ich na kartce papieru, a pozostają w pamięci programu. Łatwiej również o wprowadzanie i testowanie na przykład nowych sposobów obliczeń. Dodatkowo wykorzystywane są w przedsiębiorstwach, nie mogących dokonać zakupu dużo droższego programu komputerowego[2].

Języki programowania

Realizacja programu komputerowego musi być zgodna z tzw. językiem programowania. Są to reguły określające, które z uporządkowanych ciągów znaków są programem i jakie opisuje obliczenia. Język programowania pozwala programowi wdrożyć szczegółową specyfikację, która jest niezbędna w komputerze[3]. Przykładowymi językami programowymi są HTML, JavaScript, XML, BASIC lub COBOL. Większość pierwszych języków szybko stało się przestarzałych i zastąpionych przez te najnowsze, ponieważ programowanie szybko się rozwija oraz powstają nowe potrzeby[4].

Jakość oprogramowania

W swojej książce M. Witold i P. Mironowicz wspominają, że dobra jakość oprogramowania wiąże się ze spełnieniem określonych cech. Te cechy zostały przedstawione wraz z normą ISO 9126 w 5 kategoriach, zawierających około 25 atrybutów. Osoby wykazują szczególne zainteresowanie programami komputerowymi ze względu na wysoki poziom ich jakości. Program jest brany pod uwagę pod kątem spełnienia oczekiwań (potrzeb) użytkownika, zwanych trafnością. Jej określenie może być łatwiej lub trudniej (w przypadku dużych systemów) stwierdzane. 5 przykładowych cech, będących najbardziej pożądanymi właściwościami programu, to[5]:

  • Uniwersalność - dbanie o tę cechę oszczędza pracy w przyszłości, uczyni dany program rzetelnym oraz wspomaga proces przewidywania modyfikacji występujących w przyszłości. Uniwersalność programu oznacza, że jest on niezależny od niektórych globalnych właściwości sprecyzowanego zestawu danych wejściowych.
  • Modyfikowalność - po pewnym czasie należy wprowadzać kontrolowane zmiany pewnej części programu, podczas gdy reszta pozostanie nienaruszona. Program powinien być tak sformułowany, aby można było zauważyć “trwałość poszczególnych jego części”. Jeżeli program został napisany z odpowiednimi komentarzami, posiada przejrzysty podział itp., to jest on o wiele łatwiejszy do modyfikowania. Jest to istotne przy ciągłym i szybkim rozwoju technologii.
  • Niezawodność - komputery charakteryzują się wysoką niezawodnością, więc jest to oczekiwane przez użytkowników również od oprogramowania, lecz te niezawodności różnią się między sobą. Program nie niszczy się sam oraz nie podlega zniszczeniu fizycznemu, jednak w długotrwałym okresie użytkowania może wystąpić “zjawisko zużycia oprogramowania”. Od niezawodności oprogramowania zależy niezawodność systemu informatycznego - określa ona czy system jest zdolny do ciągłego dostarczania usług, które są oczekiwane przez użytkownika, pomimo chwiejnego środowiska.
  • Zrozumiałość - struktura i długość programu mają znaczny wpływ na jego zrozumienie - łatwiej przeanalizować krótszy program, chociaż takie zdarzają się być bardziej złożone. Aby program był mniej skomplikowany powinien mieć strukturę zbliżoną do tzw. struktury drzewa. Dodatkowo ważny jest odpowiedni język programowania. Zrozumiałość programu komputerowego nie jest jednoznaczna z jego czytelnością.
  • Efektywność - ta własność to czas, w jakim użytkownik otrzyma odpowiedź od programu oraz złożoność pamięciowa. Dla poprawy tej własności warto zwrócić uwagę na te fragmenty, które są najmniej wydajne lub w dalszych krokach podczas wnikania do struktur i algorytmów danych (lecz wtedy program może się stać mniej zrozumiały i bardziej skomplikowany).

Rozwój programowania

Nowo pisane programy komputerowe, muszą brać pod uwagę postęp zachodzący w metodologii. Dzięki istnieniu tanich procesorów z wysoką mocą obliczeniową specjaliści mogą tworzyć coraz wydajniejsze programy. Nowopowstałe procesory, na przykład mikroprocesory, posiadają skróconą listę rozkazów, co ułatwia pisanie programu komputerowego programiście[6].

Zalety programów komputerowych

Programy komputerowe znajdują zastosowanie w wielu płaszczyznach. Niewątpliwie posiadają wiele pozytywnych aspektów. W swojej publikacji Sermet E., Musiał A. oraz Paszek M. opisując użycie programów komputerowych do obróbki danych geologicznych podają niektóre z nich. Oto przykłady[7]:

  • dostępność - sprzęt informatyczny wraz z oprogramowaniem jest ogólnie dostępny dla użytkowników
  • cena - koszt zakupu programu komputerowego jest relatywnie niski
  • niezawodność - dobrze napisany program bezbłędnie dokona dokładnych obliczeń
  • proste, zrozumiane i szybkie działanie
  • łatwy dostęp do wyników i możliwość modyfikacji
  • duży zasób pamięci - programy komputerowe mieszczą i zapisują tysiące informacji
  • design thinking - dzięki modernizacji mamy możliwość zaprogramowania maszyn, które wyręczą ludzi i precyzyjnie dokonają za nich ciężkie prace

Bibliografia

Przypisy

  1. Sychowicz, A., Biernacki, A., Suchecka, M. (2011) TestMaker - program komputerowy wspomagający tworzenie elektronicznych zadań testowych, "Bezpieczeństwo Pracy: nauka i praktyka", nr 7/8, s. 35-37
  2. Warwas, K., Tengler, S. (2015) Komputerowy program do symulacji dynamiki pojazdów samochodowych, "TTS Technika Transportu Szynowego", R. 22, nr 12, s. 1618-1623
  3. Ben-Ari M. (2006) Understanding Programming Languages, Weizmann Institute of Science, s. 2-3
  4. Witold M., Mironowicz P. (2018) Wykłady z informatyki. Programowanie strukturalne. Trendy programowania, Wydawnictwo Naukowe PWN, Warszawa, s. 9-42
  5. Witold M., Mironowicz P. (2018) Wykłady z informatyki. Programowanie strukturalne. Trendy programowania, Wydawnictwo Naukowe PWN, Warszawa, s. 9-42
  6. Witold M., Mironowicz P. (2018) Wykłady z informatyki. Programowanie strukturalne. Trendy programowania, Wydawnictwo Naukowe PWN, Warszawa, s. 9-42
  7. Sermet E., Musiał A., Paszek M. (2016) Programy komputerowe – błogosławieństwo czy przekleństwo? Problemy wizualizacji danych geologicznych, "Górnictwo Odkrywkowe", R. 57, nr 2, s. 12-16


Autor: Angelika Trólka