Programozási módszertanok
A szoftverfejlesztési módszertanok alatt több dolgot érthetünk attól függően, hogy mit értünk fejlesztés alatt: csak a program elkészítését, vagy a hozzá kapcsolódó egyéb tevékenységeket is (pl. problémafeltárást, specifikáció készítését, tesztelést, telepítést, betanítást).
Programozási technikák[szerkesztés]
Ezek olyan módszerek, amelyek a program tervezéséhez és fejlesztéséhez adnak sémákat. A főbb kérdések, amelyeket megválaszolnak:
- Milyen elvek szerint bontsuk a problémát kisebb, önálló részekre?
- Hogyan feleltessük meg a programkódot a logikai egységeknek?
- Hogyan biztosíthatjuk a kód érthetőségét, újrahasznosíthatóságát?
Ezen technikák nagyrészt átfedik egymást a Programozási paradigmák-kal, általában a paradigma által meghatározott tervezési módszerekhez adnak kódolási konvenciókat, programszervezési szabályokat. A főbb programozási technikák:
- Adatvezérelt programozás
- Monolitikus programozás
- Moduláris programozás
- Strukturált programozás
- Procedurális programozás
- Objektumorientált programozás
Életciklus módszertanok[szerkesztés]
Ha a szoftverfejlesztés folyamatának egészét tekintjük, beleértve nem csak a tervezést, az algoritmizálást, de a hibakeresést, hibajavítást, sőt, esetlegesen a szoftvertermék továbbfejlesztési és támogatási ciklusait is, akkor a fenti technikák ennek csak egy részéhez adnak támogatást. Az életciklus módszertanok próbálnak ennél tágabb kontextusban útmutatást nyújtani. Ehhez definiálják a projekt fázisait, a projekt szereplőit, és meghatározzák, hogy melyik fázisban, melyik szereplőknek milyen munkát kell elvégezniük. A feladat mellett annak megoldási módját, és az eredményre vonatkozó kritériumokat is tartalmazzák.
Például a fejlesztési folyamat felosztható az alábbi lépésekre:
Követelmények meghatározása, Megoldás tervezése, Program elkészítése, Program tesztelése, Program használata
Ehhez a következő szerepkörök tartozhatnak:
Megrendelő, Szakértő, Tervező, Fejlesztő, Tesztelő, Felhasználó
A követelmények meghatározása például lehet: Megrendelő (aki tudja, mit akar) és Szakértő (az a beszállító, aki a megrendelő szakterületét ismeri) nagy vonalakban körvonalazzák, hogy milyen feladatot akarnak megoldani, mik a peremfeltételek, és mik a ráfordítás keretei. Ez alapján egy Megrendelés készül, ami a további munka alapja. A Megrendelésben foglaltakra Szakértő részletes Követelményspecifikációt készít (amiben épít Megrendelő és Felhasználó tudására, folyamatosan egyeztet velük, és konzultál a Tervezővel is, aki a technológiai megvalósíthatóság szempontjából ellenőrzi ezeket). A kész Követelményspecifikációt Megrendelő ellenőrzi (Felhasználó bevonásával), és ha jóváhagyja, a projekt ezen lépése lezártnak tekinthető.
Az egyes módszertanok hatékonysága a különböző típusú és méretű problémák megoldásában, valamint a különböző munkakörnyezetekben és termékfejlesztési ciklusokban eltérőek lehetnek, így nem mindegyikük alkalmas ugyanannyira egy-egy adott környezetben és célra történő felhasználásra.
A legismertebb és legelterjedtebb programozási módszertanok a következők:
- Vízesés modell
- SSADM (Structured System Analysis and Design Methods)
- Iteratív módszerek
- Agilis programozás