Egy program elkészítését a felmerülő problémától a késztermékig programfejlesztésnek nevezzük. Mikor egy nagyobb feladatot oldunk meg, ahol több programból álló rendszerrről van szó, rendszerfejlesztésről beszélünk.
A szoftver fejlesztése négy részből áll: analízis (=elemzés), tervezés, kódolás és tesztelés.
Analízis
A probléma megoldásának ebben a szakaszában a szóban forgó problémát minden szempontból egyértelműen (!) definiálni kell. Ezzel a problémamegoldás többi fázisát időben lényegesen lecsökkenthetjük és hibamentesebbé tehetjük. Ehhez az szükséges, hogy a feladat megfogalmazása legyen:
- teljes,
- érthető,
- egyértelmű,
- pontos,
- tömör,
- szemléletes,
- előrelátó,
- jól felépített és
- tagolt.
A fejlesztés ezen szakaszában tisztázni kell többek között, hogy milyen adatokat vár a program, és milyen adatokat kell annak produkálnia. Az input adatokkal kapcsolatban a következő kérdések merülhetnek fel:
- Mik az input adatok?
- Milyen a beviteli formájuk?
- Milyen kapcsolatok vannak a beviteli adatok között?
- Milyen adatokat kell megőrizni?
- Milyen formában kell az adatokat megőrizni?
- Mennyi adatról van szó?
- Hogyan tudjuk ezeket az adatokat előállítani?
Az elemzés fázisának dokumentuma kisebb feladatok esetén a feladatspecifikáció, vagyis a feladat pontos megfogalmazása. Nagyobb rendszerek esetén rendszertervet kell készíteni.
Tervezés
A programtervezés feladata, hogy az analízis során összegyűjtött információkat és adatokat alapul véve logikailag véglegesen kialakítsa az adatstruktúrákat és az adatokat manipuláló algoritmusokat. A program tervezése komoly, kreatív tevékenység, mely nagy szakértelmet igényel. Hogy milyen tervezési módszert választ az ember, az a következő dolgoktól függhet:
- Milyen számítógépre készül a program?
- Mekkora a megoldandó feladat?
- Milyen módszerek állnak rendelkezésre?
- Mik a tervező lehetőségei szoftverekben, felkészültségben?
A programtervezés alapja a részekre bontás. A feladatot bonyolultságától függően részekre kell szedni. A törekvés az, hogy a részek minél függetlenebbek legyenek egymástól. Így a program sokkal áttekinthetőbb, a hibakeresés, karbantartás, továbbfejlesztés sokkal könnyebb, egyértelműbb.
A programtervezési módszerek állandóan változnak. Hosszú ideig a moduláris programozás volt a jellemző. Lényege, hogy a programot felülről lefelé funkcionálisan egyre kisebb lépésekre (modulokra, eljárásokra) bontjuk. A moduláris programozást a Jackson-féle programtervezési módszer váltotta fel, amely szintén felülről lefelé bontja a programot, de itt a programszerkezet felépítését az adatok szerkezete határozza meg. Napjainkban az objektum-orientált programtervezés hódít, segítségével kisebb energia-befektetéssel sokkal biztonságosabban tudjuk megtervezni a programjainkat. A módszer lényege az, hogy az egyes objektumok adataikkal és funkcióikkal együtt a program többi részétől függetlenek, és teljes mértékben felelősek a rájuk bízott feladatért.
A tervezési szakasz dokumentációja a programterv. A program megtervezésével a probléma lényegileg meg van oldva, már "csak" a kódolás van hátra a megvalósításhoz.
Kódolás
Ha a terv elkészült, akkor jön a terv megvalósítása. Ez programozásnál a programkód megírásást jelenti valamilyen programnyelven. Ha az előzőekben a feladat logikai megoldása jól elkészült, akkor ez a rész eléggé mechanikus. A programnyelv, amelyen kódolunk, lehet bármilyen. A kódolási szakasz dokumentációja a forrásnyelvi lista. Egy forrásnyelvi lista akkor jó, ha pontosan a programterv alapján készül, áttekinthető, olvasható, tömör és egyértelmű megjegyzésekkel van megtűzdelve.
A forrásprogram begépelésével természetesen még nem vagyunk készen, hiszen bármilyen gondosan is terveztünk és bármilyen jól gépelünk, az még tele lehet hibával. Szintaktikai hibának nevezzük azt a hibát, amelyet a fordítóprogram nem tud értelmezni. Ennek oka lehet gépelési hiba, vagy az, hogy nem ismerjük eléggé a programnyelvet. A szintaktikai hibák kiszűrése után a futtatható program tesztelése következik.
http://www.umszki.hu/~zsigi/jegyzet.html
Természetesen egy magas szintű nyelven írt program írása közben is véthetünk hibákat. Ez lehet:
- szintaktikai hiba (alaki): A program nem felel meg az adott nyelv szabályainak. Pl. elírás, elfelejtettünk egy zárójelet, pontosvesszőt, stb. Az ilyen hibákat viszonylag könnyű megtalálni.
- szemantikai hiba (tartalmi): A program lefordul, el is indul, de nem azt csinálja, amit kell, esetleg menet közben le is áll a hiba miatt. Az ilyen hibák sok gondot okoznak, s poloska módjára bújnak meg a programban, ezért ezeket a hibákat a poloska angol megfelelője után bug-nak nevezik. Az ilyen hibák megtalálása és kiírtása (debug-golás) sokkal nehezebb feladat, erre külön segédprogramok (debugger-ek) állnak rendelkezésre.
Nincsenek megjegyzések:
Megjegyzés küldése