5.4 Az UML kritikája •
5.5 Az UML építőkövei
Nem teljesen precíz szemantika
Az UML szókincse három fő kategóriába sorolható, amelyek tovább bonthatók:
• Az interpretáció szubjektív lehet • Ez megnehezíti a formális tesztelés fázisát •
• Elemek
Osztott rendszereknél nem jól alkalmazható
• • • •
• Nincsenek meg benne pl. a sorosítás vagy az üzenetküldés faktorai •
Túlságosan dagályos, részletekbe menő
• Kapcsolatok
• Olyat is leír, amit a forráskód mutat a legjobban •
Strukturális Viselkedési Annotációs Csoportos
• Függőségi • Társítási • Általánosítási
Széleskörű alkalmazás, sok a hozzá nem értő
• Diagramok …
Wikipdia, the free encyclopedia, Unified Modeling Language, 2005. október 7. BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
25
BMF-NIK-SZTI
Az UML építőkövei •
Structural
Use Case Class Interface Component Node …
Behavioral
Groupings
Interaction Package State machine Model Subsystem Framework
Relationships Annotational
Note
Diagrams
Use Case Dependency Class Association Generalization Sequence Statechart Activity …
•
A modellelemek közötti kapcsolatokat testesítik meg. Fajtái: • Függőségi (Dependency) • Egyik elem változása hatással van a másik elemre • Jele: szaggatott nyíl
• Asszociáció, társítás (Association) • Strukturális, szerkezeti összefüggés • Jele: egyenes vonal
• Generalizáció (Generalization) • Általános-speciális kapcsolata, öröklődés • Jele: üres háromszög fejű nyíl
Ivar Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process, Addison Wesley Longman, 1999 BMF-NIK-SZTI
26
Kapcsolatok
The UML Things
Tick: Szoftver Tervezés és Technológia
Tick: Szoftver Tervezés és Technológia
27
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
28
1
Struktúra diagramok • A modell statikus architektúráját definiálják • A „dolgokat” írja le, amelyből a modell felépül • Időtől független elemek • Pl.
5.6 Diagramok • • •
A modellben lévő információ grafikus reprezentálása A szoftvert különböző nézőpontból és változó absztrakciós szinten láttatja Két fő csoportja: • Struktúrát modellező diagramok • Viselkedést modellező diagramok
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
• Osztálydiagram • Komponensdiagram
29
BMF-NIK-SZTI
A diagramok osztályozása az Diagram UML 2.0-ban Structure Diagram
Class Diagram
Component Diagram
Composite Structure Diagram
Deployment Diagram
Activity Diagram
Package Diagram
Use Case Diagram
Sequence Diagram Unified Modeling Language (UML) Specification: Infrastructure v2.0 (www.omg.org) BMF-NIK-SZTI
State Machine Diagram
Interaction Diagram
Communication Diagram
Tick: Szoftver Tervezés és Technológia
• Használati eset diagramja • Aktivitásdiagram
Tick: Szoftver Tervezés és Technológia
30
5.6.1 Áttekintés Feladat:1 Liftek vezérlésének logikája többszintes épületben a következő megkötésekkel: • Minden liftnek szintenként egy gombja van. A gomb megnyomásra világít, és megáll az adott emeleten. A világítás megszűnik, ha megállt a lift az emeleten. • A legfelső és a legalsó emeleten egy, a többin két gomb található az utazási irány megadására. A gombok megnyomásra kigyulladnak. Elalszanak, amikor egy lift megáll a kívánt emeleten, és a megfelelő irányba folyatatja az útját. • Amikor nincs hívás, akkor a lift az emeleten marad zárt ajtóval.
Behavior Diagram
Object Diagram
Dinamikus diagramok • A rendszer objektumainak dinamikus viselkedését mutatja • Az interakciók változatosságát ragadja meg • Időbeli változások sorozataként írható le • Pl.
Timing Diagram
Interaction Overview Diagram
1. http://www.geocities.com/SiliconValley/Network/1582/uml-example.htm 2005. okt. 31
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
32
2
Áttekintés - UML • •
Áttekintés - Use Case diagram •
Az UML egy modellező nyelv, amely a szemantikát és a jelölést határozza meg. Az analízishez a következő diagramokat használjuk:
•
• Use Case diagram • Osztálydiagram •
A tervezésnél az alábbiakat használjuk:
•
• Szekvenciadiagram • Részletes osztálydiagram
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
33
A rendszer használatának általános leírása Áttekintést ad a rendszer tervezett működéséről Laikus és szakember számára egyaránt érthető
BMF-NIK-SZTI
Az osztálydiagram megmutatja: Lift
vezérlés
Lift_Vezerlo
Lifthívás
Gomb világít/nem
Használó Lift elindul/megáll
Ajtó nyitás/zárás
Tick: Szoftver Tervezés és Technológia
34
Áttekintés Szekvenciadiagram
Áttekintés – Osztálydiagram •A rendszer statikus struktúráját
Lift
Az objektumok közötti üzenetváltások időbeli menetét szemlélteti vezérlés
Ajtó
Lift_Gomb
Utas
GombNyomás
1
Lift_Vezérlő
Lift
Ajtó
Frissít VilágításBe
- kommunikál vele
Mozgás
*
•A belső struktúráját
SzintElérés
Gomb
VilágításKi
Állj Nyit
•Kapcsolatait
Zár
Lift_Gomb
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
Szint_Gomb 35
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
36
3
Áttekintés – Részletes osztálydiagram vezérlés
Lift világít : boolean szint : int
Lift_Vezerlo
vezérlés
szintAzon : int pozíció : int irány : boolean
Mozog ( ) Megáll ( ) Státusz ( )
6.5.2 Package Diagram •
Ajtó zárva : boolean
•
Zár ( ) Nyit ( )
•
1
•
- kommunikál vele
•
*
•
Gomb világít : bool...
•
VilágításBe ( ) VilágításKi ( ) Státusz ( )
•
Lift_Gomb szintSzám : int
BMF-NIK-SZTI
•
Szint_Gomb
•
szintSzám : int irány : boolean
Tick: Szoftver Tervezés és Technológia
37
Csomagdiagram (Package) Használati eset diagramja (Use Case) Osztálydiagram (Class) Objektumdiagram (Object) Szekvenciadiagram (Sequence) Együttműködési diagram (Collaboration) Állapotdiagram (Statechart) Aktivációs diagram (Activity) Komponensdiagram (Component) Konfigurációs diagram (Deployment)
BMF-NIK-SZTI
Diagram
Structure Diagram
Class Diagram
Component Diagram
Composite Structure Diagram
Behavior Diagram
Object Diagram
Deployment Diagram
Activity Diagram
Package Diagram
Use Case Diagram
Sequence Diagram Communication Diagram BMF-NIK-SZTI
State Machine Diagram
Interaction Diagram
Tick: Szoftver Tervezés és Technológia
Timing Diagram
Interaction Overview Diagram
39
Tick: Szoftver Tervezés és Technológia
38
Package Diagram
Package
Jellemzői: • A rendszert a legmagasabb absztrakciós szinten bontja fel • A logikailag összetartozó UML elemeket (főleg osztályok) csoportosítja • A csomagok között függőségi kapcsolatokat (pl. egyik elem a másikban változást idéz elő, üzenetküldés) ábrázolja
P a c k a g e
Megjegyzés A csomagok egymásba ágyazhatók • Jelölés: négyszög füllel • A csomag megfelelője Java környezetben a package, .NET környezetben a namespace •
BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
40
D i a g r a m
4
Példák - Bolt
Példák - Színház Tervezés
Nyilvánosság
Rendszer Rendelések
Levlista UI
BMF-NIK-SZTI
Vevok
Jegypénztár
P a c k a g e
Levlista Kezelo
Tick: Szoftver Tervezés és Technológia
41
TK Példa Egy meteorológiai térkép rendszernek meteorológiai térképeket kell előállítania, távoli, felügyelet nélküli meteorológiai állomásoktól és egyéb adatforrásoktól, mint például léggömböktől és műholdaktól összegyűjtött adatok alapján. A meteorológiai állomások adataikat egy körzeti számítógép kérésére megküldik a kérelmező gépnek. A körzeti számítógépes rendszer ellenőrzi a begyűjtött adatokat és integrálja a különböző adatforrásokból érkező adatokat. Az integrált adatokat archiválja és az archívum, valamint egy digitalizált térképadatbázis alapján létrehozza a helyi meteorológiai térképeket. A térképek egy speciális célú térképnyomtatón kinyomtathatók, majd szétoszthatók, vagy számos más módon megjeleníthetők.
D i a g r a m
Ügyfélnyilvántartás
Tick: Szoftver Tervezés és Technológia
43
Jegyeladás
P a c k a g e
Jegynyilvántartás
Üzemeltetés
Beszerzés
Könyvelés
Bérezés
Rumbaugh, Jacobson, Booch: The Unified Modeling Language Referene Manual, 2004 BMF-NIK-SZTI
Tick: Szoftver Tervezés és Technológia
42
D i a g r a m
TK Pé Példa - A meteoroló meteorológiai té térké rképrendszer alrendszerei «subsystem» Data display
«subsystem» Data collection Observer
Satellite
User interface
Map display
Comms Map Weather station
Data checking
P a c k a g e
«subsystem» Data archiving
Data storage
Data integration
Map strore
BMF-NIK-SZTI
Map printer
Balloon
«subsystem» Data processing
Sommerville: Szoftverrendszerek fejlesztése, Panem, 2002 BMF-NIK-SZTI
Ütemezés
Tick: Szoftver Tervezés és Technológia
Sommerville: Szoftverrendszerek fejlesztése, Panem, 2002
Data strore
44
D i a g r a m
5