Kihagyás

A siker háromszöge

Az előadás videója elérhető itt.

Ahhoz hogy a szoftverfejlesztési ciklus sikeres legyen az alábbi három dolog nélkülözhetetlen:

  • Folyamat. A folyamat irányítja a szoftverfejlesztési ciklust, definiálja annak lépéseit és a lépések sorrendjét.
  • Jelölésrendszer. Szabványos jelölésrendszer, amely leírja hogyan kell hogy kinézzen a tervezési dokumentáció.
  • Eszköz. Szoftver, amellyel mindez elvégezhető.

Siker háromszöge

Az ábra azt sugallja, hogy ha a három elem közül valamelyik is hiányzik, akkor a hatékony szoftverfejlesztés nem lehetséges: folyamat nélkül kaotikus a projekt, szabványos jelölésrendszer nélkül nincs jó kommunikáció, eszközre viszont mindig szükség van, ha más nem, legyen az papír és ceruza. A következő részben a folyamattal foglalkozunk, utána pedig a jelölésrendszer következik, végezetül pár szóban ismertetjük a lehetséges eszközök listáját.

Folyamat

A siker háromszögének első és legfontosabb eleme a folyamat, hiszen az irányítja az egész szoftverfejlesztési életciklust. Leírja a végrehajtandó lépéseket és a végrehajtás sorrendjét. Valójában az ésszerű szoftverfejlesztés módját írja le, amelyet sok gyakorlattal mi is elsajátíthatunk, de ebben segít a formális leírás. Két legfontosabb jellemzője, miszerint az előírt fejlesztési életciklus:

  • Iteratív. Ez azt jelenti, hogy a szoftverfejlesztés kisebb mértékű "alprojektekre" van bontva, és ezek ismétlődően, iteratívan követik egymást.
  • Inkrementális. Az inkrementalitás azt jelenti, hogy minden iteráció után a szoftver egyre "jobb", tehát a fejlesztés fokozatos.

A lényeg az, hogy az egyes iterációkra jobban lehet összpontosítani és jól definiált feladatokat kell elvégezni. Egyik alapvető irányelv az, hogy minden pillanatban jól tudjuk, hogy mi a célunk és merre halad a projektünk, tehát azt próbáljuk elkerülni, hogy a szoftver fejlesztése közben a végcél is változzon (ez megfelelő folyamat hiányában elkerülhetetlen és nagyon nem hatékony fejlesztéshez vezet).

Ha egy iteráció során valami probléma merül fel, akkor könnyebb a problémát kezelni, mert csak azon az alprojekten belül kell vizsgálódni. Minden iterációnak az a célja, hogy a részfeladat megoldásával közelebb kerüljünk a szoftver specifikált működéséhez. Minden iterációban az alábbi fő tevékenységeket kell elvégezni:

  • követelmények gyűjtése az adott iteráció végével kapcsolatban
  • analízis: a feladatok pontos kitűzése
  • tervezés: a megoldás megtervezése
  • implementáció: a terv megvalósítása (pl. kódolás)
  • tesztelés: az adott iteráció követelményei megoldottak-e?

A legismertebb példák folyamatok lépéseinek definiálására:

  • vízesés modell
  • Scrum
  • eXtreme Programming (XP)
  • Rational Unified Process (RUP)

Jelölésrendszer

A jelölésrendszer szintaktikai és szemantikai szabályok összessége (más szóval egy nyelv), amely a fejlesztési ciklus során alkalmazható a terv elkészítéséhez vizuális eszközök segítségével. Mi az UML (Unified Modeling Language) jelölésrendszert fogjuk használni ahhoz, hogy modelljeinket leírjuk.

Modellezéskor a rendszer architektúráját különböző nézetekkel írjuk le. Ezek lehetnek logikai, komponens (implementációs), folyamat, telepítési (feladat-kiosztási) nézetek, vagy akár a használati eset nézet (esettanulmány).

Fontos, hogy nem minden esetben szükséges minden nézet, de az is elképzelhető, hogy adott rendszerhez más nézeteket is szükséges definiálni (pl. adat és biztonság).

Az architektúra 4+1 nézete

Architektúra 4+1 nézete

  • Logikai nézet. A rendszer logikai szerkezeti felépítésének ábrázolására használatos. Szerkezeti és viselkedési modellezéskor tipikusan használt nézet, amely a végfelhasználó szemszögéből vizsgálja a rendszert. Jellemző diagramfajtája az osztálydiagram és a kölcsönhatás diagramok.
  • Komponens (implementációs) nézet. Implementáció-közeli szerkezetet ábrázol, így ez leginkább a programozókat segíti. Ide kapcsolódó diagramfajta a komponens diagram.
  • Folyamat nézet. A folyamat egyéb jellemzőinek fenntartott nézet, különböző nem-funkcionális szempontok szerint ábrázolja az architektúrát, mint amilyen a rendszer teljesítménye, skálázhatósága, hibatűrése. Ez a nézet azoknak a rendszer integrátoroknak érdekes, akik a programnak a futás közbeni viselkedéseit kell esetleg javítani.
  • Telepítési (feladatkiosztási) nézet. Magasabb szintű fizikai nézet, a rendszer magas szintű szerkezetére vonatkozóan tartalmaz információkat, hogyan viszonyul a rendszer szoftvere és a használt eszközök, hardverek egymáshoz. Megadja, azon technikai függőségeket, amit a szoftver futtatása igényel. Fő diagramja a telepítési diagram használatos.
  • Használati eset nézet (esettanulmány). Az egészet összefogja és közös kommunikációs platformot létesít a résztvevő felek között. Használati eset- és kölcsönhatás diagramok alkalmasak.

Eszköz

Számos szoftver eszköz van, amely támogatja a UML nyelvet. Nyilván legegyszerűbb eszköz a papír és a ceruza. Azonban vannak speciálisan vizuális modellezésre alkalmas eszközök is, vagy olyanok, amelyekben kiegészítő szolgáltatásként jelenik meg az UML támogatás (pl. általános rajzolóprogram UML elemekkel).

A Rational cég Rose nevű eszköze az egyik legrégebbi és legelterjedtebb, iparban is széles körben alkalmazott eszköz, amely UML támogatásával a teljes szoftverfejlesztési folyamat támogatható. De hasonlóan ismertek a Microsoft Visio, vagy a Borland Together ControlCenter eszközök is. Illetve a jelenlegi népszerűségi listák élén ott van az EdrawMax nevű eszköz, amellyel az elkészített diagramok rögtön meg is oszthatóak, vagy a StarUML, ami open source megvalósítással teszi lehetővé 7 fajta UML diagram szerkesztését.


Utolsó frissítés: 2021-05-04 07:53:32