Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informatik1
Objektor ientier te Analyse 37) Analysebeispiel EU- Rent Prof. Dr . rer . nat. habil. Uwe Aßmann In st itu t f ür Software- un d Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden V ersion 1 1-0.1, 25.06.1 1
1) Beispiel EU-Rent
Prof. U. Aßmann, SoftwaretechnologieÜb er blick Te il III: Ob je kto rie ntie rte A na lyse ( OOA ) 1. Überblick Objektorientierte Analyse
1.(schon gehabt :) S tr ukt ur el le M odel lier ung m it C R C -K ar ten 2. Strukturelle metamodellgetriebene Modellierung mit UML für das Domänenmodell
1.S tr ukt ur el le m et am odel lget riebene M odel lier ung
2.M odel lier ung von kom pl exen O bj ekt en
1.Modellierung von Hierarchien 2.(Modellierung von komplexen Objekten und ihren Unterobjekten) 3.Modellierung von Komponenten (Groß-Objekte) 3.S tr ukt ur el le M odel lier ung für K ont ext m odel l und Top- Level -A rchi tekt ur 3. Analyse von funktionalen Anforderungen
1.F un kt ional e V er fe in er ung: D ynam is che M ode lli e rung und S zenar iena nal yse m it A kt ionsdi agr am m en
2.F unkt ional e quer schnei dende V er fei ner ung: S ze nar iena nal yse m it A nw endung sf äl le n, K ol labor at ionen und Int er akt ionsdi agr am m en
3.(F unkt ional e quer schnei dende V er fei ner ung für kom pl exe O bj ekt e) 4. Beispiel Fallstudie EU-Rent (37)
Prof. U. Aßmann, Softwaretechnologie
Die A uto ve rle ih fir m a “ E U- Re nt”
►E U -R en t is t eine Fa lls tudie , die v on der int er nat ion alen Fo rs chun gs gem eins cha ften z ur D emon st rat ion v on A naly se einges et zt w ird
■Formulierung von Geschäftsregeln (business rules in business model, ST - II)
■Domänenmodell
■Anwendungsfalldiagramme
■Ak tivitä tsdia gram me und Sta tech arts f ür A rbeit sabl äufe , au ch z ur Szenarioanalyse von Anwendungsfalldiagrammen
■Kontextmodelle
►ht tp: //w w w .eur obiz rules .or g/ ebr c2005/ eur ent cs /eur ent .ht m
Prof. U. Aßmann, SoftwaretechnologieA ktivitä te n vo n E U- Re nt
►I.a . g eht man v on te xt uellen “ us er s tor ies ” aus ( z. B . I nt er vie w s, Tonbandmit sc hnit te, P rot ok olle, .. .)
►D ies e gilt es nun, z u analy sier en
■Wir betra chte n 3 Gru ppe n vo n A ktivitä ten . Ein einz elne s An wen d un gs falldi agra m m re icht nich t aus , da s g anz e I nfo rma tion ssyst em zu modellerien Reservierung von Autos Ausleihe und Rückgabe von Autos Kundenclub-Programm
vorbestellt ad-hoc abgeholt Abholung, Rückgabe, auch an anderer Zweigstelle Rabatte und Sonderangebote Rabattpunkte-Programm
Prof. U. Aßmann, Softwaretechnologie
S ta ke ho ld er ( hie r: A kte ur e)
►A kt eur e st eh en mit d em S ys tem in B e zieh ung . N oc h ke ine Fes tlegung von S ys temf unk tionen EU-Rent Mitarbeiter Kundenbetreuer Zweigstelle
Kunde Kundenbetreuer Kundenklub
EU-Rent System
Prof. U. Aßmann, SoftwaretechnologieDo m än en m od ell, 1 . S tr eich
►D omä nen mod elle m üs se n die O rg anis at io n, D in ge, Ge sc häf ts vor gän ge , - objek te mo dellie re n. D ie inv olv ier ten P er sone w er den mit modellier t
►N oc h ohne K ar dinalit ät en und A ttr ibut e Kunde
Person Angestellter
EU-Rent Zweigstelle
AutoKlasse Auto Klubmitglied Kundenbetreuer Zweigstelle Kundenbetreuer Kundenklub
Prof. U. Aßmann, Softwaretechnologie
A ) Re se rvie ru ng ssyste m vo n E U- Re nt
►B eim A us füllen (E labor at ion) k ommen neue E lement e hinz u Auto vorbestellen
Auto umbestellen Auto ad-hoc mieten
Reservierungssystem Auto abbestellen
CallCenter- Mitarbeiter Kundenbetreuer Zweigstelle
Kunde
Neu!
Prof. U. Aßmann, SoftwaretechnologieE rste S ze na rie na na lyse m it S eq ue nzd ia gr am m ”A uto vo rb este lle n”
►hier nur die pos itiv en Fälle Auto vorbestellen CallCenter- Mitarbeiter
Kunde :K u n d e :C al lC en ter M it ar b ei ter :R eser vi er u n g
:R eser vi er u n g s- syst em fr ag eA u to A n Ter m in O K b est el le
P rü feT er m in F rei O K
O K Neu! Neu! er fasse K u n d en d at en O K set ze K u n d en - d at en er fasse A u to d at en O K set ze A u to - d at en
Prof. U. Aßmann, Softwaretechnologie
B CD- E in te ilu ng fü r E rste S ze na rie na na lyse ” A uto vo rb este lle n”
►E inz iehen einer B oundar y- K las se, V er gabe von B C D -S ter eot ypen
►U ms chic ht en der K ommunik at ion der D at en- K las se :K u n d e :R eser vi er u n g s- D ial o g :R eser vi er u n g
:R eser vi er u n g s- syst em fr ag eA u to A n Ter m in O K b est el le
p rü feT er m in F rei (T er m in ) O K
O K er fasse K u n d en d at en O K set ze K u n d en - d at en (K -D at en ) er fasse A u to d at en O K set ze A u to - d at en (A -D at en )
au to R eser vi er en (T er m in ) set ze K u n d en - d at en (K -D at en ) set ze A u to - d at en (A -D at en )
Prof. U. Aßmann, SoftwaretechnologieD at a layer
2. Ru nd e Do m än en m od ell
►Me hr A ttr ibut e, meh r K las sen . E rgibt er st e Tei le des K on tex tmod e lls der T op- Lev el- A rc hit ek tur . des D at enmodells
►P er sonen liegen nur teilw eis e im D at enmodell, da auc h ak tiv kont o
P er son A ngest el lter
< < dat a> > E U -R ent < < dat a> > Z w ei gst el le
< < dat a> > A ut oK lasse < < dat a> > A ut o < < dat a> > K lubm itgl ied
K undenbet reuer Z w ei gst el le K undenbet reuer K undenkl ub
nam e w ohnor t
P er son < < dat a> > K unde < < dat a> > R eser vi er ung st ar t ende
< < cont rol > > R eser vi er ungssyst em aut oR eser vi er en( ter m in) set zeK undenD at en( kD at en) set zeA ut oD at en( aD at en)
Top- Level -A rchi tekt ur
K ont ext m odel l < < boundar y> > R eser vi er ungs- D ial og aut oA nf ragen( ter m in)
Prof. U. Aßmann, Softwaretechnologie11
B ) A usle ih esyste m vo n E U- Re nt Auto rückgeben
Auto abholen Autostörung melden
Ausleihesystem Autoleihe bezahlen Kundenbetreuer Zweigstelle
Kunde Neu!
<< includes>> Rabatt ausrechnen
<< includes>> Mechaniker Zweigstelle
Prof. U. Aßmann, Softwaretechnologie122. S ze na rie na na lyse m it A ktiv itä te nd ia gr am m : A uto a usle ih en
►R abat te w er den vom Mit ar beit er per sönlic h bes timmt
Auto abholen Kundenbetreuer Zweigstelle Kunde Kunde Kundenbetreuer Zweigstelle
Frage nach Auto aus ReservierungAusleih- system
Setze Reservierungs- status auf „ausgeliehen“Mechaniker
Fahre Auto Unterzeichne VertragDrucke Vertrag Modifiziere Vertrag
Berechne Rabatt
Setze Reservierungs- status auf „ausgeliehen“ Fahre weg
Vergebe grösseres Auto
[ok] [not ok]
Reservierungs- system
Prof. U. Aßmann, Softwaretechnologie
B CD fü r 2 . S ze na rie na na lyse : A uto a usle ih en < < act or > > K unde < < boundar y> > A usl ei hdi al og
Frage nach Auto aus Reservierung< < cont rol > > A usl ei h- syst em
rentCar(reservation)< < cont rol M echani
moveCar position)Unterzeichne VertragContract. compute() Contract. adjust()
Rabatt. compute() Fahre weg
CarClass. adjust()
[ok] [not ok]
< < cont rol > > R eser vi er ungs- syst em
Reservierungssystem. setStatus( „ausgeliehen“) Prof. U. Aßmann, Softwaretechnologie3. Ru nd e D om än en m od ell, K on te xtm od ell, To ple ve l-A rch ite ktu r
►Mehr D et ails
Data layer kontoPerson Angestel <<data>> EU-Rent <<data>> Zweigstelle
adjust() <<data>> Auto <<data>> Klubmitglied
Kundenbetreuer Zweigstelle Kundenbetreuer Kundenklub name wohnort
Person <<data>> Kunde start ende
autoReservieren(termin) setzeKundenDaten(kDaten) setzeAutoDaten(aDaten) setStatus(status)
Top-Level-Architektur
Kontextmodell <<boundary>> Reservierungs- Dialog autoAnfragen(termin) <<control>> Ausleihsystem autoReservieren(termin) setzeKundenDaten(kDaten) setzeAutoDaten(aDaten)
<<data>> AutoKlasse Mechani moveC posi
<<data>> Rabatt compute()
<<boundary>> Ausleihdialog rentCar(reservation)
<<data>> Contract compute() adjust() <<controll>> Reservierungssystem <<data>> Reservierung
Prof. U. Aßmann, Softwaretechnologie15
C) K un de nclu bp ro gr am m vo n E U- Re nt Melde Mitglied ab Registriere Mitglied
Kundenklubsystem V erändere Datensatz
Kundenbetreuer Kunde Call Center Betreuer Kundenbetreuer Zweigstelle
Prof. U. Aßmann, Softwaretechnologie163. S ze na rie na na lyse m it S ta te ch ar ts: K un de a ls K lu bm itg lie d ve rwa lte n Kunde nicht registriert Kunde registriert Kunde abgemeldet Gespräch/registrieren()
Anruf, Formular , Gespräch, email/ registrieren() email/Daten ändern() email/einstellen()
Prof. U. Aßmann, Softwaretechnologie
3. S ze na rie na na lyse : S ta te ch ar ts
►V er feine ru ng m it Me th ode n ein er V er halt ens m as ch ine für das K undenk lubpr ogr amm Kunde nicht registriert Kunde registriert Kunde abgemeldet
KundenKlubDialog.register() [authorization==OK]/ Kundenklubprogramm.registrieren(k-Daten)
KundenKlubDialog.register()/ Kundenklubprogramm.registrieren(k-Daten) KundenKlubDialog.change(k-Daten)/ datenAendern(k-Daten) KundenKlubDialog.stop(k-Daten)/ Kundenklubprogramm.einstellen(k-Daten)
Prof. U. Aßmann, Softwaretechnologie4. V er su ch Do m än en m od el l, K on te xtm od ell, To p- Le ve l-A rch ite ktu r
►Mehr D et ails
Data layer kontoPerson Angestel <<data>> EU-Rent <<data>> Zweigstelle
adjust() <<data>> Auto <<data>> Klubmitglied
Kundenbetreuer Zweigstelle Kundenbetreuer Kundenklub name wohnort
Person <<data>> Kunde <<data>> Reservierung start ende
<<control>>Reservierungssystem autoReservieren(termin) setzeKundenDaten(kDaten) setzeAutoDaten(aDaten) setStatus(status)
Top-Level-Architektur
Kontextmodell <<boundary>> Reservierungs- Dialog autoAnfragen(termin) <<control>> Ausleihsystem autoReservieren(termin) setzeKundenDaten(kDaten) setzeAutoDaten(aDaten)
<<data>> AutoKlasse Mechani moveC posi
<<data>> Rabatt compute()
<<boundary>> Ausleihdialog rentCar(reservation) <<data>> Contract compute() adjust()
<<boundary>> Kundenklubdialog register(k-Daten) change(k-Daten) stop(k-Daten) <<control>>Kundenklubprogramm registriere(k-Daten) datenAendern(k-Daten) einstellen(k-Daten)
Prof. U. Aßmann, Softwaretechnologie