Objektumorientált szoftverfejlesztés IV. előadás Diagramok készítése CASE eszközzel
<Előadó neve és elérhetősége>
2008.02.05. 10:03
Gábor Dénes Főiskola
1
Modellező nyelv és CASE eszköz - Enterprise Architect 4.0 (EA) Az UML modellező nyelv A Enterprise Architect szoftver
általános bemutatása Felhasználói felület Modellek készítése Dokumentáció Kódgenerálás és –visszafejtés Projekt-menedzsment lehetőségek
2008.02.05. 10:03
Gábor Dénes Főiskola
2
A modellező nyelv célja, rendeltetése A módszertan keretében elkészült tervek,
modellek egységes jelrendszerrel történő leírásához, ábrázolásához biztosít: jelkészletet (nyelvi szintaktika) metamodellt (nyelvi szemantika)
UML: tartalmaz grafikus és szöveges
lehetőségeket
A modellező nyelv olyan szimbólum- és szabályrendszer, amely a tartalmat a szimbólumok szabályoknak megfelelő alkalmazásával mutatja be. 2008.02.05. 10:03
Gábor Dénes Főiskola
3
Felhasználási lehetőségek Az UML felhasználható a fejlesztési
folyamat fázisaiban elkészült tervezésimodellezési termékek: szemléltetésére, specifikálására, dokumentálására.
2008.02.05. 10:03
Gábor Dénes Főiskola
4
Enterprise Architect - a szoftver általános bemutatása A szoftvert fejlesztő cég
Sparx Systems Co. (www.sparxsystems.com.au)
A szoftver szolgáltatásai
Szoftver- és hardverrendszerek komplex modellezése, dinamikus és statikus modellek készítése C++, Java, C#, VB.Net, Delphi, PHP és Visual Basic nyelveken kódgenerálás, illetve visszafejtés, Adatmodellek és a kapcsolódó SQL DDL script-ek készítése, A modellek egymással összefüggő kialakítása, kapcsolatok menedzselése a modellelemek között, Telepítési, implementációs és komponensmodellek kialakítása, Projekt-menedzsment támogatás, Erőforrások tervezése, RTF és HTML dokumentáció készítése, A modellek exportálása-importálása XMI formátumban, UML minták importálása, stb.
2008.02.05. 10:03
Gábor Dénes Főiskola
5
Telepítés A program legfrissebb változatai mindig
letölthetők a cég weblapjáról (easetup.exe vagy easetupfull.exe, ~15 Mbyte) – jelenlegi verzió: 4.0 A demo változat 30+30 napig működik
Különbség a demo és a regisztrált változat között.
A telepítés a szokásos beállításokat kéri
2008.02.05. 10:03
Gábor Dénes Főiskola
6
Felhasználói felület Főmenü Eszköztár
Modelleszköztár
Startlap és Tervező felület területe Modell-elemek tára Eszköztár 2008.02.05. 10:03
Lapváltás Gábor Dénes Főiskola
7
Új modell létrehozása
Új modell-file neve
Projekt sablon 2008.02.05. 10:03
Gábor Dénes Főiskola
8
Egyéb Start Page funkciók Manage My Profile A program felületének testreszabása, alapadatok megadása Customize Local Options Az általános beállító ablak Getting Started… A súgó megnyitása a bevezető fejezettel. Recent Models Korábban megnyitott modellek listája. Search Kifejezések, szavak keresése a teljes modellben. 2008.02.05. 10:03
Gábor Dénes Főiskola
9
A program alapbeállításai (Tools | Options ) Általános beállítások (General) Diagram beállítások (Diagram) Objektum beállítások (Objects) Színek (Standard és Collaboration Colors) UML eszköztár (UML Element Toolbox) Nyelvek, kódgenerálás (Generation)
2008.02.05. 10:03
Gábor Dénes Főiskola
10
Általános beállítások
2008.02.05. 10:03
Gábor Dénes Főiskola
11
Konfigurációs beállítások (Configuration) Nagyrészt szótárjellegű adatok megadása projekt-menedzsment adattípusok sztereotípusok
Saját képek importálása (Images)
2008.02.05. 10:03
Gábor Dénes Főiskola
12
Modellek készítése Nézetek, modellek, diagramok, elemek
A modellelem-tár
Diagramok készítése
Diagram-beállítások Elemek és kapcsolatok
A modellelemek dokumentálása
2008.02.05. 10:03
Gábor Dénes Főiskola
13
A modellelem-tár
A teljes modell Nézet Csomag Diagram Modell-elem
2008.02.05. 10:03
Gábor Dénes Főiskola
14
A modellelem-tár főbb műveletei Nézetek és csomagok úszómenüje Jellemzők (adatlap) Új diagram létrehozása Új csomag vagy új elem létrehozása Dokumentáció készítése Kódgenerálás Export/Import Törlés
2008.02.05. 10:03
Gábor Dénes Főiskola
15
A modellelem-tár főbb műveletei
Diagramok úszómenüje Jellemzők (adatlap) Megnyitás Másolás a vágólapra Törlés
2008.02.05. 10:03
Gábor Dénes Főiskola
16
A modellelem-tár főbb műveletei
Modellelemek úszómenüje Jellemzők (adatlap) Aldiagram Keresés az aktuális diagramon Törlés
2008.02.05. 10:03
Gábor Dénes Főiskola
17
Diagramok készítése Diagram típusok Diagram létrehozása Modellelemek létrehozása, elhelyezése a
diagramon Kapcsolatok az elemek között
2008.02.05. 10:03
Gábor Dénes Főiskola
18
Diagram típusok
Statikus (struktúra) diagramok
Object Class Package Component Deployment Custom Composite Structure
Dinamikus (viselkedés diagramok)
2008.02.05. 10:03
Use Case Analysis Activity State Communication Sequence Timing Interaction Overview Gábor Dénes Főiskola
19
Diagram létrehozása
2008.02.05. 10:03
Gábor Dénes Főiskola
20
Modellelemek létrehozása, elhelyezése a diagramon Elem létrehozása a modell eszköztárból Elem létrehozása a modellelem-tárban
2008.02.05. 10:03
Gábor Dénes Főiskola
21
Kapcsolatok az elemek között
2008.02.05. 10:03
Gábor Dénes Főiskola
22
Dokumentáció Modellelem
adatlapja
Kapcsolat
adatlapja
2008.02.05. 10:03
Gábor Dénes Főiskola
23
Dokumentáció generálása Dokumentációs szintek RTF és HTML dokumentáció készítése A dokumentációkészítés beállításai
2008.02.05. 10:03
Gábor Dénes Főiskola
24
Dokumentációk beállításai Rich Text dokumentáció beállításai
2008.02.05. 10:03
HTML dokumentáció beállításai
Gábor Dénes Főiskola
25
Diagram-beállítások
Szerző, verzió, oldalbeállítás Megjelenés
Diagram szintű dokumentáció
2008.02.05. 10:03
Gábor Dénes Főiskola
26
Diagramok készítése az alkalmazott CASE eszközzel
2008.02.05. 10:03
Gábor Dénes Főiskola
27
Üzleti folyamat diagram készítése od A diagram elemei
EA: Analyzis eszköztár Információ
Bejövő esemény
Tev ékenység
Kimenő esemény
Obj ektum
2008.02.05. 10:03
Gábor Dénes Főiskola
28
Videotéka példa – a kölcsönzés folyamata (részletezés) od Kölcsönzés részletezése
Kérés
biléta átadása
Kiadás
kivét megírása
kiválasztás kiválasztás
biléta bedobása Ügyfél
Kazetta -
sorszám: filmek:
-
Biléta-doboz
ügyfélkód: név: cím:
biléta visszaakasztása
kivét kikeresése Visszahozatal
Kiv ét -
ügyfél kódja: kazetta sorszáma: kölcsönzés kelte: lejárat: Kiv ét érv énytelenítése
Visszav étel
Pénz
2008.02.05. 10:03
Gábor Dénes Főiskola
29
Használatos elemek Process Object Collaboration
Flow
Activ ity1
Associate
Obj ect1
Realize
Collaboration1
Send
Dependency
Event1
Receive
<
>
Event2
Information
Entity1
Decision Boundary Control Entity 2008.02.05. 10:03
Object2
Object3
Object4
Gábor Dénes Főiskola
30
Használati eset diagram készítése EA: UseCase eszköztár
ud A diagram elemei Alrendszer 2 «extend»
Használati eset 3
+ Használati eset 2
Használati eset 1
«include»
Használati eset 4
Alrendszer 1
Aktor 2
+ Használati eset 1 + Használati eset 3
Aktor 1 Használati eset 2
2008.02.05. 10:03
+ Használati eset 4
Gábor Dénes Főiskola
31
Használatos elemek Actor Use Case Collaboration
Use
Aktor 1
Use Case1
Collaboration1 Obj ect1
Obj ect2
rendszer határa
Boundary Package
Use Case1
Extend
<<extend>>
Include
<>
Associate Generalize Realize
<>
Dependency
Actor1
Package1 + Actor1 + Use Case1 + Use Case2
2008.02.05. 10:03
Gábor Dénes Főiskola
32
Videotéka példa ud Videotéka használati eset diagram - alrendszerek
ud Fő tev ékenységek
Kazetta kiadása
Fő tev ékenységek + Felszólító levelek készítése + Kazetta kiadása
Kazetta v isszav étele
+ Kazetta visszavétele Alkalmazott
Alkalmazott
Felszólító lev elek készítése
Kisegítő tev ékenységek + Karbantartási funkciók
ud Videotéka használati eset diagram
+ Filmek nyilvántartása
Filmek nyilv ántartása
+ Kazetták nyilvántartása
Karbantartási funkciók
+ Ügyfelek nyilvántartása
«include»
+ Felvitel + Keresés
Alkalmazott
Kazetták nyilv ántartása
+ Módosítás + Törlés
Ügyfelek nyilv ántartása
2008.02.05. 10:03
Gábor Dénes Főiskola
33
Használati eset elemzése, dokumentálása Felszólító levelek
készítése használati eset
leírása, kondíciók megadása, forgatókönyv, szekvencia diagram. sd Felszólító lev elek készítése
főablak
vizsgáló
kölcsönzés
ügyfél
Felszólítás() loop
lejárt:= LejáratVizsgálat()
[összes kölcsönzésre] megvan:= Keres(ügyfélkód)
opt [Lejárt] alt
Levélkészítés(név, cím, szöveg)
[Ügyfél megvan]
[Ügyfél nincs meg]
Levélkészítés(hibaszöveg)
Nyomtat()
2008.02.05. 10:03
Gábor Dénes Főiskola
34
Felszólítólevelek készítése példa Leírás A felszólító levelek készítését az alkalmazott hetente elvégzi. A program mindazoknak, akik határidőre nem hozták vissza a kölcsönzött kazettákat, formalevelet nyomtat. Kondíciók Kölcsönzött kazetták: A funkció előfeltétele, hogy legyenek kölcsönzések. Forgatókönyv 1.Szokásos működés 1.1 A rendszer megvizsgálja a kölcsönzéseket. 1.2 A lejárt határidejű kölcsönzéseknél kikeresi a hozzá tartozó ügyfelet. 1.3 Az ügyfél és a kölcsönzés adataival felszólító levelet állít össze. 1.4 A felszólító levelet kinyomtatja.
2008.02.05. 10:03
Gábor Dénes Főiskola
35
Szekvencia diagram készítése EA: Interaction eszköztár sd Interactions Use Case aktor
boundary
control
entity
Üzenet() alt
Üzenet()
[f1] Üzenet()
[f2]
[ha x]: Ok:= Üzenet() use
másik szekvencia()
2008.02.05. 10:03
ref
Interactions 2
Gábor Dénes Főiskola
36
Használatos elemek Actor
Message Actor1
Boundary Control
Self-Message
Object2 Object3 Object4
Entity Fragmant(s)
alt
Recursion Call
Object5
Object2
self message
recursion
[f1]
call
[f2]
Endpoint
call
Diagram Gate
2008.02.05. 10:03
Gábor Dénes Főiskola
37
Felszólítólevelek készítése példa (Videotéka) sd Felszólító lev elek készítése
főablak
vizsgáló
kölcsönzés
ügyfél
Felszólítás() loop
lejárt:= LejáratVizsgálat()
[összes kölcsönzésre] megvan:= Keres(ügyfélkód)
opt [Lejárt] alt
Levélkészítés(név, cím, szöveg)
[Ügyfél megvan]
[Ügyfél nincs meg]
Levélkészítés(hibaszöveg)
Nyomtat()
2008.02.05. 10:03
Gábor Dénes Főiskola
38
Együttműködési diagram készítése od Interactions
EA: objektumdiagram eszköztárak 1.1 Üzenet
1 Üzenet
Object2
Object1
1.2 Üzenet
Object3
2 Üzenet
Object4
2008.02.05. 10:03
Gábor Dénes Főiskola
39
Együttműködési diagram beállításai Sorszámozás
Üzenet-csoportok színei
2008.02.05. 10:03
Gábor Dénes Főiskola
40
Zenelejátszó példa Zenelejátszó program készítése
Kommunikáció a felhasználóval Kommunikáció a felhasználói felület és a lejátszó objektum között.
2008.02.05. 10:03
Gábor Dénes Főiskola
41
Az alkalmazás objektumai és együttműködésük cd Együttműködési diagram 1.2 zenefile:= Create 1.3 FileVálasztás ZenefileVálasztó 3.6 Státus(be) 2.6 Státus(ki)
1 Új zene 1.1 Zeneválasztás Zeneválasztó
4.4 Státus(be) 3.4 Státus(be) 1.7 Státus(nyitva)
2 ZeneLejátszás 2.1 Start start 3 ZeneÁllj
2.4 Státus(ki) lejátszó felülete
Zenehallgató stop
3.1 Stop 3.5 Státus(ki) 2.5 Státus(ki)
4 ZeneSzünet
4.3 Jelentés(szünetel) 3.3 Jelent(leállt) 2.3 Jelent(játszik) 1.6 Jelent(nyitva) 1.5 Nyitás(zenefile) 2.2 Lejátszás 3.2 LejátszásÁllj 4.2 LejátszásSzünet
2.6 Státus(ki) 1.1 Zeneválasztás lejátszó
4.4 Státus(be) 3.4 Státus(be) 1.7 Státus(nyitva)
4.1 Szünet szünet 1.4 Kiír(zenefile)
kijelző
2.4 Státus(ki) lejátszó felülete
3.5 Státus(ki) 2.5 Státus(ki)
4.3 Jelentés(szünetel) 3.3 Jelent(leállt) 2.3 Jelent(játszik) 1.6 Jelent(nyitva) 1.5 Nyitás(zenefile) 2.2 Lejátszás 3.2 LejátszásÁllj 4.2 LejátszásSzünet
lejátszó
4.1 Szünet 2008.02.05. 10:03
Gábor Dénes Főiskola
42
Aktivitás diagram készítése ad Activ ity Diagram
EA: Activity eszköztár ActivityInitial «datastore»
Decision Activ ity1
Obj ect1
Activ ity2
Activ ity3
ExceptionHandler1
Activ ity4 ObjectNode1
Synch
ActivityFinal
2008.02.05. 10:03
FlowFinal
Gábor Dénes Főiskola
43
Használatos elemek Activity Subactivity Action
Initial
Activ ity1
Subactiv ity
Datastore
Receive Synch 2008.02.05. 10:03
ActivityFinal
Exception
FlowFinal
ExceptionHandler1
ObjectNode1
Fork/Join
Obj ect2
« d a ta sto re » O bj e c t3
Decision Send
Final Flow final
Action1
Partition Object
ActivityInitial
Control Flow Object Flow Dependency
Event1 Event2 Event3
Interrupt Flow
Synch
Gábor Dénes Főiskola
44
Telefon hívási folyamat példa
ad Telefon - hív ási folyamat hívásindító
hívásvezérlő
csöngő
kijelző
Start Hívás
Hívás
Szám Ok? [igen] [nem]
Be
Bekapcsolás
Hív Csöng
Jelküldés
Kiír Hívás vége?
[igen]
[nem]
Ki
Kikapcsolás
Hívás vége
2008.02.05. 10:03
Gábor Dénes Főiskola
45
Állapot diagram készítése sm Statecharts
EA: Activity eszköztár
Initial
State2 State1 -
attribútum: = érték 1
+
Do Action / művelet
esemény [feltétel]
-
attribútum: = érték 2
+ + + +
On Entry / művelet1 Do Action / művelet2 On Exit / művelet3 On Event / művelet4
átmenet megnevezése
State4
State3 -
attribútum: = érték 3
-
attribútum: = érték 4
Final
2008.02.05. 10:03
Gábor Dénes Főiskola
46
Használatos elemek State
State1
Sub-machine
State2
Initial Final History Synch Object Choice Junction
Initial Final
Entry Exit Terminate
EntryPoint
ExitPoint
Terminate
Fork/Join
History
Transition
Synch
Object Flow
Obj ect1
Choice
Junction
2008.02.05. 10:03
Gábor Dénes Főiskola
47
Osztálydiagram cd Logikai Modell TSzunetGomb
TZeneGomb
TStopGomb
TStartGomb
-
felirat: String = Start status: T Status
-
felirat: String = Start status: TStatus
-
felirat: String = Stop status: TStatus
-
felirat: String = Start status: TStatus
+
SetStatus(status :TStatus) : void
+
SetStatus(status :TStatus) : void
+
SetStatus(status :TStatus) : void
+
SetStatus(status :TStatus) : void
-
szoveg: String
-
Kiiras() : void
TFelulet TZeneValaszto -
zenefile: String
-
EA: Structure eszköztár
TKij elzo
«event» GombNyomás() : void «message» FelületBeállítás(LejátszóFunkció :Integer) : void
TLej atszo -
2008.02.05. 10:03
«message» Lejátszas(UserFunkció :Integer) : void Bekapcsol() : Boolean Játszik() : void Szünet() : void Kikapcsol() : void
Gábor Dénes Főiskola
48
Használatos elemek Class Package
Class1 -
attribútum: típus
+
metódus() : void
Compose Aggregate
Package1
Association Class
«interface»
Interface
Interface1
Interface1
Object Table Association
Class2
Obj ect1
Table1
Assembly Dependency Realize Trace Nesting
Associate Generalize 2008.02.05. 10:03
Gábor Dénes Főiskola
49
Speciális lehetőségek az osztályokkal kapcsolatban Osztály
kiegészítő adatai Megjelenítés a diagramon Objektumok tipizálása
cd Logical Model TObject Partner -
név: String cím: String születésiDátum: Date férfi: Boolean emailCím: String
+ +
Nyomtat() : void SendMail(tárgy :String, szöveg :String, csatolások :Collection) : void Ha a címzett és a tárgy meg van adva, akkor összeállítja a levelet és átadja az alapértelmezett levelő programnak. responsibilities
Levél küldése Személyes adatok nyomtatása constraints {Levelezés}
partner :Partner
2008.02.05. 10:03
Gábor Dénes Főiskola
50
Komponens diagram id Component Model
EA: Component eszköztár Rendelésnyilv ántartás
Rendelés
Partner
Munkalap Szerv iz
«artifact» Munkalap
Munkalap
Befizetés Pénztár
Munkavégzés adatai
Számlázás Számla
2008.02.05. 10:03
Számla
Gábor Dénes Főiskola
51
Használatos elemek Package
Assembly
Component
Delegate
Port
Component1 Port1
Component2
Associate
Expose Interface
Realize
Class
Dependency
Interface
Trace
Object Artifact
2008.02.05. 10:03
Interface1 «artifact»
Component3
Generalize
Artifact1
Gábor Dénes Főiskola
52
Telepítési diagram
EA: Deployment eszköztár
dd Deployment Model Szerv er
Adatbázis-kezelő
Könyv elés
Munkafelv étel
Adatbázis «deploy»
«manifest»
«manifest»
«artifact»
«deploy»
«artifact»
számla.exe
rendelés.exe Számlázás
Rendelésnyilv ántartás
«deployment spec»
«deployment spec»
Telepítési útmutató
Telepítési útmutató
2008.02.05. 10:03
Gábor Dénes Főiskola
53
Használatos elemek Node1
Node
Association Class
Component
Generalize
Interface
Realize
Artifact Delployment Spec «deployment spec» DeploymentSpecification1
Package
Associate
Deployment
<<deploy>>
Manifest
<<manifest>>
Dependency Trace Object Flow Nesting
2008.02.05. 10:03
Gábor Dénes Főiskola
54
Felhasználói felület diagram EA: Custom eszköztár
cd A felhasználói felület ablakai TForm
Feltételek Típus
Főablak
Időponttól
Időpontig
Készít
Entitás
Mégsem
Entitás szerkesztő
Bírálat ablak
Entitás kiv álasztása
Diplomaterv kiv álasztása
Diplomaterv ablak
Tanszékek
Fej lesztő eszközök
Közreműködők
A Custom eszköztárban más, nem a felülettel kapcsolatos elemek is vannak. 2008.02.05. 10:03
Gábor Dénes Főiskola
55
Használatos elemek Screen Screen1
UI control button checkbox combobox radiobutton listview
textbox stb.
Gomb checkbox combobox radiobutton listview
textbox
A szimbólumokhoz (általánosan igaz) saját kép is rendelhető! A képek a Configuration | Images menüvel importálhatók a modellbe. 2008.02.05. 10:03
Gábor Dénes Főiskola
56
Példa ablak saját képpel történő megjelenítésére úszómenü Appearence | Select Alternate Image…
Számok böngészése
Partnerek böngészése
Tárcsázás
Telefonkönyv
Számgombok
2008.02.05. 10:03
Mégsem
Gábor Dénes Főiskola
57
Kódgenerálás Feltételek
Beállítások Modell-elemek
Generálás
Egy osztályból Osztály-csoportból Teljes csomagból
2008.02.05. 10:03
Gábor Dénes Főiskola
58
Kódgenerálás – egy osztályból Az osztály
definíciójának és kapcsolatainak elkészítése Kód generálása
2008.02.05. 10:03
Gábor Dénes Főiskola
59
Kódgenerálás – több osztály
2008.02.05. 10:03
Gábor Dénes Főiskola
60
Kódgenerálás - csomag Csomag úszómenü | Code engineering | Generate Source Code Project | Source Code Engineering | Generate Package Source Code
2008.02.05. 10:03
Gábor Dénes Főiskola
61
Kód visszafejtése modellbe Összes kódfile Kiválasztott kódfile
2008.02.05. 10:03
Gábor Dénes Főiskola
62
Kód visszafejtése – összes kódfile Csomag úszómenü | Code engineering | Import
Source Directory
Teljes mappa vagy mapparendszer visszafejtése egy lépésben
2008.02.05. 10:03
Gábor Dénes Főiskola
63
Kód visszafejtése - Kiválasztott kódfile Diagram úszómenü | Import from source files | <>
Állományok egyenkénti visszafejtése
2008.02.05. 10:03
Gábor Dénes Főiskola
64
A kódgenerálás általános beállításai
2008.02.05. 10:03
Gábor Dénes Főiskola
65
Az Enterprise Architect további szolgáltatásai Project menedzsment
Ütemezés Erőforrások Tesztek Változáskövetés Feladatlistázás Fogalomszótárak
EA modellek exportja és importja Modellfile karbantartása 2008.02.05. 10:03
Gábor Dénes Főiskola
66