1 / 548

UML-alapú fejlesztés

UML-alapú fejlesztés. Software Engineering – szoftverfejlesztési folyamat. Software Engineering értelmezése Az a folyamat, mely eredményekénk létrehozunk egy adott feladatot megvalósító szoftver rendszert. Tevékenységek, technológia, módszerek, eszközök…

vivek
Download Presentation

UML-alapú fejlesztés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML-alapú fejlesztés

  2. Software Engineering – szoftverfejlesztési folyamat • Software Engineering értelmezése • Az a folyamat, mely eredményekénk létrehozunk egy adott feladatot megvalósító szoftver rendszert. • Tevékenységek, technológia, módszerek, eszközök… • Számítógép alapú rendszert hozunk létre.

  3. Szoftverfejlesztési folyamat • Rendszerfejlesztési folyamat („rendszer”…) • System Engineering • Általános értelemben vett rendszer fejlesztés. • Szoftverfejlesztési folyamat (szoftver…) • Software Engineering • Szoftver alkalmazásokat, eszközöket ad a SE által definiált feladatok megoldására. • A szoftver rendszer (alkalmazás) létrehozására koncentrál.

  4. Rendszerfejlesztés • Rendszerfejlesztés alapkérdései • Általános értelemben vett rendszer fejlesztés • Rendszerfejlesztés lehet: • Business Process Engineeringha vállalat (működésének) (át)szervezésével foglalkozunk • Product Engineeringha egy termék előállítása a célpl.: mobil telefon, repülőgép vezérlő rsz. • Szoftverfejlesztési folyamat

  5. Szoftverfejlesztési folyamat • Szoftverfejlesztés értelmezése • Az a folyamat, amelynek eredményekénk létrehozunk egy adott feladatot megvalósító szoftverrendszert, számítógép alapú rendszert hozunk létre. • Szoftverfejlesztés lépései • Fázisok • Szoftverfejlesztési modellek, módszertanok: • struktúrált (vízesés modell, Boehm-féle spirálmodell, V modell stb.) • objektumorientált (OMT, OOA/OOD, Bocch2, RUP)

  6. Vízesés modell

  7. A fejlesztés életciklusa • System engineering – Rendszerfejlesztés • Business process eng. – Üzleti modellezés • üzleti folyamatok tervezése, szervezése • az üzleti környezet modellezése • Product eng. – Termék modellezés • termékek tervezés • termék modellezése, annak használata • Requirements – Követelménykezelés • Analysis – Elemzés • Design – Tervezés • Implementation – Implementáció • Testing – Tesztelés, Telepítés • Karbantartás, Rendszerkövetés, Továbbfejl. Rendszerfejlesztés – System Eng. Software eng.

  8. Módszertan Modellező nyelv Eljárások Módszertan

  9. Eljárások • Tanácsok: milyen lépések szükségesek a rendszer elkészítése során és azokat milyen sorrendben kell végrehajtani. • Az egyes lépéseket milyen szerepkört betöltő embereknek kell elvégezni. • Milyen termékek születnek az egyes lépések során és hol kerülnek felhasználásra.

  10. Szerepkörök és tevékenységek • A szerepkör (worker) egyfajta viselkedést ír le. A szerepkört betöltő személy vagy személyek felelősek meghatározott termékek (artifact) előállításáért. • Minden munkatárs meghatározott tevékenység-sort végez a termékek előállítása érdekében. • Minden valóságos személy többféle munkatársi szerepkört is betölthet a projekt folyamán, többféle felelősségelehet.

  11. Szerepkörök és tevékenységek a RUP-ban Munkafolyamat részletek Megadja, hogy az adott feladat során milyen lépéseket kell végrehajtani, ki a felelős az adott feladat végrehajtásáért és milyen termékeket kell a lépések során előállítani.

  12. Termékek (Artifact) • A projekt során előállított, használt dolgok. Például: • Dokumentum • Modell (pl.: használati eset modell) • Modell-elem (pl.: használati eset) • Riportok: modellekből, modell-elemekből előállított dokumentumok. • A termékek tevékenységek során állnak elő, és útmutatók (guideline), sablonok (template) segítik a készítésüket: • Pl.: hogyan találjuk meg és dokumentáljuk a használati eseteket? • Nem termékhez kapcsolódó útmutatók: például hogyan szervezzünk workshopot.

  13. Modellező nyelv • Jelölésrendszer (általában grafikus), amellyel leírjuk a rendszert, rendszertervet a fejlesztés során. • A kommunikáció alapja: • megrendelő és fejlesztő csoport között, • fejlesztő csoport tagjai között. • Fontos, hogy a modellező nyelv alkalmas legyen mind a valóság, mind rendszer belső szerkezetének ábrázolására: • üzleti modelltől, telepítési modellig.

  14. Rational Unified Process • Szoftverfejlesztési módszertan, közvetlen elődje az Objectory (Jacobson). • Booch, Rumbaugh és Jacobson munkájának eredménye. • Világszerte elterjedt fejlesztési módszertan. • Nagyon sok előző módszertanból merít és mindazt egyesíti („nem spanyol viasz”). • NAGY fejlesztési módszertan  testre kell szabni. • A módszertan, ill. a hozzá fejlesztett eszközök a teljes fejlesztési ciklust támogatják: • üzleti modellezés, követelmények elemzése, elemzés, tervezés, tesztelés, stb.

  15. A RUP szerkezete idő (mikor, milyen sorrendben?) tartalom (mit kell végrehajtani?)

  16. RUP módszertan • A Rational Unified Process egy UML-t, mint modellező nyelvet használó szoftver fejlesztési módszertan: • UML modellező nyelv jelölésrendszerét használja. • Eljárásaiban megadja, hogy milyen lépéseket kell végrehajtani, milyen sorrendben. • A feladatok elvégzéséért ki a felelős. • Milyen termékeket kell előállítani a feladat végrehajtása során. + • Eszközökkel támogatja a fejlesztés egyes szakaszait. • Tool-mentorok segítik az eszközök használatát. • Sablonokat, útmutatókat ad az egyes feladatokhoz.

  17. Az UML modellező nyelv • Unified Modelling Language - Egységes Modellező Nyelv • Objektumorientált elemzés, tervezés és üzleti modellezés eszköze: • Az üzleti modellezés esetén a valóság folyamatait írja le. • Analízis (elemzés) során a megoldandó feladat leírása. • Tervezés során a megoldást (implementálandó rendszert) írja le. • Szabványos (Object Management Group - OMG) • 1997. november óta • Alapvetően grafikus nyelv. • Modellező nyelv, nem módszertan.

  18. UML diagramok • Use Case (használati eset) diagram • Tevékenységi/Aktivitási (Activity) diagram • Eseménykövetési/Szekvencia (Sequence) diagram • Együttműködési/Kollaborációs (Collaboration) diagram • Osztály (Class) diagram • Objektum (Object) diagram • Állapot-átmeneti (Statechart) diagram • Komponens (Component) diagram • Telepítési (Deployment) diagram

  19. A RUP szerkezete idő (mikor, milyen sorrendben?) tartalom (mit kell végrehajtani?)

  20. Munkafolyamatok

  21. A RUP munkafolyamatai • Üzleti modellezés • Követelmény-elemzés • Elemzés-tervezés • Implementáció • Tesztelés • Telepítés • Konfiguráció és változás-kezelés • Projektvezetés • Környezet kialakítása Mérnöki munkafolyamatok Támogató munkafo-lyamatok

  22. Mérnöki munkafolyamatok A fejlesztési munka konkrét feladatai: • Üzleti modellezés (Business Modeling) • Cél megérteni annak a szervezetnek a felépítését, folyamatait, amely támogatására az alkalmazást fejlesztjük. • Követelmény-elemzés (Requirements) • Cél meghatározni azokat a feladatokat, amelyeket a rendszernek meg kell oldani (scope) és a megrendelőkkel együttműködve egy egységes képet kell kialakítani a fejlesztendő rendszerről. • Elemzés-tervezés (Analysis & design) • Cél a követelményelemzés során meghatározott elvárásoknak megfelelő, robosztus rendszer tervezése.

  23. Mérnöki munkafolyamatok • Implementáció (Implementation) • Cél a terv alapján a rendszert alkotó komponensek implementálása, egységtesztjeinek elvégzése és integrálása. • Tesztelés (Test) • Cél annak ellenőrzése, hogy az implementált rendszer megfelel-e az elvárásoknak, és hogy valamennyi követelmény implementálva lett-e. • Telepítés (Deployment) • Cél a kész alkalmazást elérhetővé tenni a felhasználó számára.

  24. Támogató munkafolyamatok Azok a feladatok, amelyek a fejlesztés során folyamatosan segítik a fejlesztők munkáját: • Konfiguráció és változás-kezelés • Cél a fejlesztés során előálló termékek verzióinak kezelése. • Projektvezetés • Cél irányelvek megadása és a projekt ellenőrzésével és irányításával kapcsolatos feladatok elvégzése. • Környezet kialakítása • Cél a szoftverfejlesztési környezet (módszertan, eszközök) kialakításával kapcsolatos feladatok ellátása.

  25. RUP szerkezete Munkafolyamatok A munkafolyamatot egy „folyamatábra (activity) segítségével mutatja be. Ez segít a feladat típusa, és a fejlesztés aktuális fázisa szerint meghatározni a további feladatokat.

  26. RUP szerkezete Munkafolyamat részletek Megadja, hogy az adott feladat során milyen lépéseket kell végrehajtani, ki a felelős az adott feladat végrehajtásáért és milyen termékeket kell a lépések során előállítani.

  27. Szerepkörök és tevékenységek • A szerepkör (worker) egyfajta viselkedést ír le. A szerepkört betöltő személy vagy személyek felelősek meghatározott termékek (artifact) előállításáért. • Minden munkatárs meghatározott tevékenység-sort végez a termékek előállítása érdekében. • Minden valóságos személy többféle munkatársi szerepkört is betölthet a projekt folyamán, többféle felelősségelehet.

  28. Termékek (Artifact) • A projekt során előállított, használt dolgok. Például: • Dokumentum • Modell (pl.: használati eset modell) • Modell-elem (pl.: használati eset) • Riportok: modellekből, modell-elemekből előállított dokumentumok. • A termékek tevékenységek során állnak elő, és útmutatók (guideline), sablonok (template) segítik a készítésüket: • Pl.: hogyan találjuk meg és dokumentáljuk a használati eseteket? • Nem termékhez kapcsolódó útmutatók: például hogyan szervezzünk workshopot.

  29. Fázisok és iterációk

  30. Fázisok • A Rational Unified Process a szoftverfejlesztés életciklusát négy egymást követő fázisra bontja: • Előkészítés (Inception, Kiindulás, Elindulás). • Kidolgozás (Elaboration). • Megvalósítás (Construction). • Átadás (Transition).

  31. Előkészítés fázis • A rendszer határainak meghúzása • Az üzleti lehetőségek tervezése és előkészítése • Egy lehetséges architektúra meghatározása • A projekt során alkalmazott fejlesztési környezet előkészítése • Mérföldkő:A követelmények rögzítése

  32. Kidolgozás fázis • Az architektúra meghatározása és alkalmazhatóságának igazolása • A Projekt Vízió finomítása • A megvalósítás fázis részletes iterációs tervének elkészítése • A fejlesztési folyamatok finomítása és a fejlesztési környezet kialakítása a megvalósítási feladatok támogatására • Az architektúra finomítása és újrafelhasználható komponensek kiválasztása • Mérföldkő: Szoftver architektúra rögzítése

  33. Megvalósítás fázis • Erőforrás kezelés, ellenőrzés és optimalizálás • Teljes komponens fejlesztés és tesztelés az elfogadási kritériumok alapján • A termék verziójának értékelése az átvételi kritériumok alapján • Mérföldkő: Kibocsátás béta tesztelésre

  34. Átadás fázis • A telepítési terv végrehajtása • A végfelhasználókat támogató anyagok elkészítése • Az átadott szoftver tesztelése a felhasználó telephelyén • A termék verziójának elkészítése • A felhasználók visszajelzéseinek összegyűjtése • A visszajelzések alapján a rendszer végső beállításainak elvégzése • A rendszert elérhetővé tenni a felhasználók számára • Mérföldkő: Termék kibocsátása

  35. A RUP szerkezete • Egy-egy fázis elkészítése minden munkafolyamatot érint, amelyek a különböző fázisokban különböző intenzitásúak, és erőforrás-igényűek. • Más megközelítésben: • A fázisok iterációkra bonthatók. • Minden egyes iteráció egy mini fejlesztés: kezdődik üzleti modellezéssel, követelményelemzés, elemzés, tervezés, implementáció, tesztelés, befejeződik telepítéssel.

  36. Fázisok • Minden fázis végén jól-definiált mérföldkövek vannak: kritikus döntéseket kell hozni: • Értékelni az eddigi eredményeket, • Dönteni a folytatásról.

  37. Iterációk • A RUP szerint a fejlesztés egyes fázisai tovább bonthatóak iterációkra. • Az iteráció egy olyan fejlesztési ciklus, amely során minden alapvető munkafolyamatot egyszer elvégzünk. Vízesés Iteratív - “sok kis vízesés”

  38. Iterációk Az iterációk során egyre több termék áll elő, és a termékek érettsége egyre nő.

  39. Fázisok és iterációk Az aktuális feladat dönti el, hogy hány iterációra van szükség a feladat elvégzéséhez. Az iterációk tervezése kritikus feladat a projekt tervezése során.

  40. V. A fejlesztés menete a RUP ajánlásával

  41. A RUP szerkezete idő (mikor, milyen sorrendben?) tartalom (mit kell végrehajtani?)

  42. V.1. Üzleti modellezés – Business Modeling

  43. Üzleti modellezés Megérteni annak a szervezetnek a felépítését, viselkedését, amely számára a rendszert ki akarjuk fejleszteni Feltárni a szervezet aktuális problémáit és meghatározni a javítás lehetőségeit Biztosítani, hogy az ügyfelek, végfelhasználók és fejlesztők egységes képet kapjanak az adott szervezetről A szervezetet támogató rendszerrel szemben felmerülő követelmények felderítése

  44. Üzleti modellezés • Azt a környezetet írja le, amelyikben a rendszer működik, vagy amelyikben a rendszer működni fog. • A rendszernek az üzleti környezetben, a szakterületi környezeten belüli helyét határozza meg. • Más néven szakterületi (domén) modellezés. • Értelmezhető mind a jelenlegi, mind a tervezett rendszer üzleti környezetére.

  45. Üzleti modellezés

  46. Üzleti modellezés • Az üzleti folyamatok állapotának felderítése (Assess Business Status) • A fejlesztett rendszer által támogatott szervezet (cél szervezet) állapotának felderítése.

  47. Üzleti modellezés • Az aktuális üzleti folyamatok leírása (Describe Current Business) • Feltárni a cél szervezet folyamatait és szerkezetét. • Nem cél a szervezet részletes leírása. • Addig a szintig kell az elemzéseket elvégezni, amíg képesek leszünk kategorizálni a szervezet folyamatait és kiválasztani azokat a részeit, amelyekre a projekt hátralevő részét alapozni fogjuk. • Üzleti szereplők, használati esetek, entitások és workerek azonosítása.

  48. Üzleti modellezés • Az üzleti folyamatok azonosítása (Identify Business Processes)

  49. Üzleti modellezés - tevékenységek

  50. Üzleti modellezés - termékek

More Related