Számítógép-programozás
A számítógép-programozás (vagy egyszerűen programozás) egy vagy több absztrakt algoritmus megvalósítását jelenti egy bizonyos programozási nyelven. A programozásban megtaláljuk a művészet, a tudomány, a matematika és a mérnöki tudomány elemeit.
A rendszerfejlesztés a programozást (az implementációt) a szoftverfejlesztés egyik lépéseként kezeli. A rendszerfejlesztés eszköztárát a feladat nagyságától, illetve céljától függően használják fel a programozás során: a szabványos modellező és rendszerfejlesztési módszertanok, projektmenedzsment, gyors alkalmazásfejlesztés, programverifikáció stb.
Története
[szerkesztés]Neumann-elvek, a tárolt programú számítógép
[szerkesztés]- Neumann János: A számológép és az agy, 1945[1]
- Teljesen elektronikus működés (ez Neumann idejében elektroncsöves felépítést jelentett, amit később a tranzisztoros, majd az integrált áramkörös felépítés követett)
- Kettes számrendszer használata (az összes művelet, pl. összeadás, szorzás, kettes számrendszerbeli logikai műveletekre redukálható)
- Belső memória használata
- Tárolt program elve. A számításokhoz szükséges adatokat és programutasításokat a gép azonos módon, egyaránt a belső memóriában (operatív tár) tárolja.[2]
- Soros utasításvégrehajtás (az utasítások végrehajtása időben egymás után történjen; ennek egy alternatívája a párhuzamos utasításvégrehajtás, amikor több utasítás egyidejűleg is végrehajtható: ezt a lehetőséget Neumann elvetette)
- Univerzális felhasználhatóság, Turing-gép (programozhatóság; a különböző feladatok programokkal legyenek megoldva, nem pedig erre a célra épített hardverrel)
- Szerkezet: öt funkcionális egység (aritmetikai egység, központi vezérlőegység, memóriák, bemeneti és kimeneti egységek)[3]
Programrendszerek és nagyméretű adatbázisok tervezésének és fejlesztésének elvei
[szerkesztés]A számítógép-programozás mai tudománya az 1980-as évektől kezdett kialakulni, amikor már komplett programrendszerekre volt szükség, amelyek nagyméretű adatbázisokat használtak.
Szabványos programtervezési, algoritmusleíró eszközök, módszertanok
[szerkesztés]A különféle programtervező, algoritmusleíró és vezérlő szerkezetek a programozási feladat műveletekre bontását, és az elemi műveletek végrehajtási sorrendjét írják le.
A módszertanok mindegyike abból indul ki, hogy egy program algoritmusa háromféle típusú vezérlési szerkezet segítségével írható le:
- Szekvencia: a sorban egymást követő elemi utasítások végrehajtása
- Szelekció: feltétel(ek)től függő tevékenység(ek) végrehajtása, több irányban folytatva az előrehaladást
- Iteráció: ismétlési szerkezet, elemi utasítások ciklikus végrehajtása feltétel alapján
Az idők során különféle módszertanok és grafikus – a program algoritmusának vizuális leírására alkalmas – tervezési eszközök jöttek létre:
- Folyamatábra (Control flow graph)
- Struktogram (Chapin-chart)
- Jackson-diagram (JSP diagram)
Szoftverfejlesztés
[szerkesztés]A szoftver egy gyűjtőnév a számítógépes programokra és adatokra. A dokumentáció is a szoftver szerves részét képezi, bár ez nincs benne a programban.
A szoftvertervezés részei:
- A megoldandó probléma meghatározása, felmérése a majdani felhasználók igényei alapján, specifikáció készítése
- Valamely programtervezési módszerrel a programszerkezet megalkotása és a használandó eszközök kiválasztása. (Hardver platform, nyelvek, adatok stb…)
- Forrásprogram elkészítése (kódolás)
- A kész program tesztelése
- Dokumentáció készítése, mely tartalmazza a szoftvertervezés fázisaiban keletkezett adatokat (felhasználói leírás, igényfelmérés, programtervek, algoritmusok, forráskód, tesztelési jegyzőkönyvek stb.), fő célja a szoftver későbbi fejlesztésének elősegítése.
A fenti pontok a program elkészültéig ismétlődnek. A „megoldandó probléma” és a „platform” a nehezebb döntések közé tartozik, mert ezeken a későbbiek során nehéz változtatni. A program kódolása, a tesztelés és a dokumentáció írása (jó esetben) egymást felváltva, a program elkészültéig zajlik.
A nagyobb rendszerfejlesztési projektek sikerét nagyban megnöveli a szabványos rendszerfejlesztési módszertanok (például SSADM) és a gyors alkalmazásfejlesztés használata.
Jegyzetek
[szerkesztés]- ↑ Neumann János. A számológép és az agy (magyar nyelven). Maple Press Company (1831)
- ↑ A program-, és adatmemória fizikailag közös, ebből származik az architektúra legnagyobb hátránya: a sebezhetőség. (A memóriában tárolt bájtokról nem tudjuk eldönteni, hogy adatot vagy programkódot tartalmaznak, ezt csak a felhasználás módja dönti el!) Ezt használják ki a vírusok, amikor a felhasználó számára adatnak tűnő állományt (például kép) tölt le, miközben a gép a benne található káros kódot futtatja.
- ↑ A Neumann-elv (magyar nyelven), 2003. (Hozzáférés: 2014)
Források
[szerkesztés]- A programozási módszerek rövid történeti áttekintése, tig.kgk.uni-obuda.hu
- Programozási alapismeretek, progalap.elte.hu
- Az algoritmusok leírása, vmig.sulinet.hu