S01-6 Szoftverfejlesztési modellek

Tartalom

  1. Szoftverfejlesztési modellek (vízesés, spirális, evolúciós, RUP, XP, xUML)
  2. Architekturális minták és hatásuk a rendszer minőségi jellemzőire
  3. Tervezési minták (GoF, valamint 3 további létrehozási minta)
  4. Konkurens minták
  5. Antiminták, újratervezési minták

1. Szoftverfejlesztési modellek (vízesés, spirális, evolúciós, RUP, XP, xUML)

A szoftverfejlesztés hagyományos fázisai:

  1. Követelmények felmérése
  2. Specifikáció
  3. Vázlatos/finom tervek készítése
  4. Implementáció
  5. Integráció
  6. Verifikáció/validáció (megfelel-e a specifikációnak/ezt kérte-e a user)
  7. Rendszerkövetés/karbantartás

Ezeket használják fel, vagy módosítják a következő szoftverfejlesztési modellek.

1.1 Vízesés modell

Vízesés modell

Vízesés modell

1.2 Boehm féle spirális modell

Spirális modell

Spirális modell

1.3 Evolúciós modell

1.4 RUP (Rational Unified Process)

RUP

RUP

1.5 Extreme Programming (XP)

XP

XP

XP

XP

1.6 Végrehajtható UML (xUML)

2. Architekturális minták és hatásuk a rendszer minőségi jellemzőire

Csövek és szűrők: Adatfolyam feldolgozása a komponensek (szűrők) között. A komponensek bemenettel és kimenettel rendelkeznek és valamilyen transzformációt hajtanak végre az adatokon. Az adatokat pedig a csövek szállítják. Van passzív és aktív szűrő. Az aktív szűrő tud igényelni és küldeni is. Két aktív szűrő között a kommunikációt az egyik szűrő vagy a cső szinkronizálja. Ha a szűrők lineárisak, akkor csővezetékről beszélünk.

Objektumelvű rendszer: A komponensek objektumok, közöttük eljáráshívással történik a kommunikáció. A belső reprezentációjuk rejtett. A kommunikációhoz kapcsolat kell, és ha az egyik publikus része változik, akkor valószínűleg a használóját is módosítani kell.

Eseményalapú rendszer: A komponensek nem tudják, hogy más milyen eseményeket bocsát ki, mire iratkozik fel és milyen sorrendben szolgálódik ki. Sőt, nem tudni, hogy ki-mit csinál és meddig.

Réteg szerkezetű rendszer: Minden réteg az alatta lévő szolgáltatásait használja, vele kommunikál. A módosítások max 1-2 réteget érintenek, tesztelés esetén lehet szimulálni a rétegeket.

Gyűjtemény: Komponens adattár, komponensek veszik körbe és tárolja őket. Ha végre is hajt műveleteket, akkor táblának, ha nem, akkor adatbázisnak nevezzük. Így a komponensek függetlenek is lehetnek egymástól, jól módosítható.

Virtuális gép, értelmező: A bemenő adatokat értelmezi, feldolgozza, majd a feldolgozó interfészen ki is adja az eredményt.

Modell-Nézet-Vezérlő: A rétegek elkülönülnek. A modell az adatokért és a rajtuk végzett műveletekért felel. A nézet a megjelenítésért, míg a vezérlő a felhasználói utasítások kezeléséért felel. A rendszer sajnos könnyen bonyolulttá válhat.

Továbbiak: szerver-kliens, modell-nézet, gyakran használt “módszerek”: állapotgép-rendszer, felügyelő (supervisor), monád (“számítás-építő”)

3. Tervezési minták (GoF, valamint 3 további létrehozási minta)

4. Konkurens minták

5. Antiminták, újratervezési minták

További források