A fejlesztés folyamatával kapcsolatos témakörök, fejlesztési modellek.
Kezdetben csak elemeztünk, terveztünk, kódoltunk, teszteltünk és terjesztettünk. Ez tekintettük a szoftverfejlesztés megfelelő modelljének. Mára többféle szoftverfejlesztési modell jött létre. Hatékonyabbnál hatékonyabb fejlesztési modellek alakultak ki.
A legrégebbi fejlesztési modell, fázismodellnek is hívják. Az egyes fázisokra nincs visszatérés. Az egész fejlesztés, egyetlen szekvenciális folyamat. Ez persze a gyakorlatban nem működik. A kényszerű visszatérés annál költségesebb minél nagyobbat kell visszalépni.
Ritkán használjuk, esetleg nagyobb egyedi szoftverek fejlesztése esetén.
Elsőként Winston W. Royce írta le a modellt.
Jellemzők:
Tervezéssel kapcsolatos döntések elmaradnak. Eredménye nehezen érthető szoftver, gyenge felépítés.
Valahol a vízesés és az evolúciós fejlesztés között.
Több változatot hozunk létre, alváltozatokra osztva a fejlesztést. Az egyes változatokat is több lépésben hozzuk létre.
1986-ban Boehm javasoja.
Iteratív vagy folyamatiterációs modell.
Az eredeti V-modell-t mostanában többféleképpen értelmezik.
Angolosan cleanroom.
A tisztaszoba technika magas színvonalú, hitelesíthető szoftverek fejlesztésénél használt eljárás.
A tisztaszoba technikát Harlan Mills használta az IBM berkeiben.
A hangsúly a hibák eltávolítása helyett azok megelőzésén van.
A Rational Unified Process szavak rövidítése.
A módszert a Rational Software Corporation fejlesztette. A céget később az IBM felvásárolta. A RUP egy agilis megközelítés. Az UML és az USDP alapján készült.
Igyekszik több folyamatmodellt ötvözni.
Jellemzők:
A következő listában a RUP rendszerfejlesztési fázisait látjuk:
Minden új fázis kezdete egy mérföldkő
Az USDP-t (vagy UP) más variációi is létrejöttek:
A RAD, Rapid Application Development szavak első betűi. Gyors alkalmazásfejlesztésnek fordítható.
A James Martin dolgozta ki, az 1980-as években.
Jellemzők:
Bírálat:
Egy szoftverfejlesztése során, a felhasználókkal folyamatos egyeztetés folyik, így a fejlesztők nem találkoznak hirtelen jött ötletekkel, módosításokkal, a félreértések minimalizálódnak.
Előírt négy tevékenység:
Jellemző technikák:
A projekthez az egész fejlesztői gárda együtt dolgozik. A fejlesztő csapattal együtt dolgozik nap mint nap az ügyfél egy képviselője. A csapat az üzleti érték előállításán dolgozik. Folyamatosan kisebb egységeket adnak ki, amely teljesíti az ügyfél elvárásait.
A scrum egy projektmenedzsment módszertan.
Az agilis szoftverfejlesztés egyik megvalósítása.
A scrumban egy szoftver elkészítését körülbelül kéthetes fázisokra osztjuk. Ezeket sprinteknek nevezzük. Minden sprint elején van egy értekezlet és minden sprint végén a fejlesztők megbeszélik, mi az amit sikerült megvalósítani, mi az amit nem és mi az ami hátra van.
A scrum módszerben minden reggel is egy rövid 15 perces megbeszéléssel kezdődik, amelyben a fejlesztők megbeszélik ki milyen munkát végzett el, mi az ami nem sikerült és mit tervez. Ezek a reggeli megbeszélések fontos, hogy állva történjenek, mert másként elmehet az idő.
A scrumban van egy scrum mester, aki vezeti a megbeszéléseket. A megbeszélések alkalmával a következő kérdésekre kell válaszolniuk a a résztvevőknek:
Disznók:
Csirkék:
Egy folyamatosan frissített mágneses, parafa vagy egyéb tábla, amelyen oszlopokra bontva megtaláljuk a tennivalókat, a folyamatban lévő munkákat és a már kész munkákat. Az egyes részek persze még több oszlopra bonthatók.
Todo | Process | Ready |
---|---|---|
naplózás | azonosítás | adatbázis-elérés |
Backlog | New | In progress | Complete |
---|---|---|---|
naplózás | azonosítás | adatbázis-elérés |
Backlog | New | In progress [4] | Testing [3] | Complete |
---|---|---|---|---|
naplózás | azonosítás | adatbázis-elérés |
ToDo | Design [2] | Devel [2] | Q4 [3] | Done |
---|---|---|---|---|
naplózás | azonosítás | adatbázis-elérés |
Tennivalók | Folyamatban | Elkészült | |||
---|---|---|---|---|---|
Tervezés | Fejlesztés | Tesztelés | Telepítés | ||
belépés naplózás utalás felhasználó-kezelés csoportok kezelése |
A táblát folyamatosan frissíteni kell a teendők, folyamatban lévő és kész dolgok listájával. Fontos, hogy a folyamatban lévő dolgok között háromnál több dolog nem szerepelhet.
A harmadik táblában az „In progress” után a szám azt jelenti, hány dolog lehet maximálisan folyamatban, mint a „Testing” után is.
Kiejtve: [liːn]
Egy fejlesztési módszertan. Taiichi Ohno ötletei után vették át a szoftverfejlesztők.
Taiichi Ohno (大野 耐一) a Toyota Termelési Rendszer (TPS) atyja.
A 5W, 5 kérdést jelent, amelyet mindig úgy kezdünk „Miért …”
Például:
Taiichi Ohno ötletei alapján a szoftverfejlesztésben a következőket vesszük figyelemben.
A TDD a Test Driven Development szavakból alkotott betűszó, amely teszt vezérelt fejlesztésként fordítható.
Nem egy tesztelési módszer. Helyette egy fejlesztési modell. Igaz automatizált teszteket írunk, de az automatizált teszt használatától még nem lesz teszt vezérelt egy fejlesztés.
A teszt vezérelt fejlesztés menete:
Az utolsó lépés után megint tesztet írok, majd annyi kódot, hogy a teszt teljesüljön, újratervezek. Így megy ez ciklikusan.
A megrendelő legtöbbször maga sem tudja mit akar. Az igényei folyamatosan változnak. Mindezek miatt, egy rugalmas szoftverfejlesztési módszerre van szükség.
Agilis módszertanok:
Az agilis kiáltvány:
A fenti oldalról idézet: