05 ai uml_illik_students_part_2_eng
-
Upload
prof-j-a-illik-hochschule-furtwangen-university -
Category
Education
-
view
701 -
download
0
description
Transcript of 05 ai uml_illik_students_part_2_eng
1. 1Ambit
Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. Weltweit.
Knowledge enables your businessambitions.We deliver knowledge and create value.Worldwide.
UML 2.xPart 2Einführung Fort. / Introduction cont.
J. Anton Illik
www.ambit.de
www.ambit.de2
• 5. Component Diagram(Komponentendiagramm)
• 6. Deployment Diagram (Verteilungsdiagramm)
• 7. Use Case Diagram (Use-Case-Diagramm)
• 8. Activity Diagram (Aktivitätsdiagramm)
• 9. State Machine(Zustandsautomat)
Att
en
tio
n:
Seq
uen
ceca
nch
ange!
The
arr
angem
ent
of
the
chap
ters
as w
ell!
• 10. Sequence Diagram (Sequenzdiagramm)
• 11. Communication Diagram (Kommuniaktionsdiagramm)
• 12. Timing Diagram (Timingdiagramm)
• 13. Interaction OverviewDiagram (Interaktionsübersichtsdia-gramm)
UML intro & overview
Content
www.ambit.de
www.ambit.de3
5. Component Diagram(Komponentendiagramm)
Cha
pte r
3
• Component diagrams are similar to Classdiagrams.
• Focused on higher level abstraction of subsystems(Components, Interfaces and their relations).
• The component diagram gives the possibility to showthe structure of a system at runtime. The representation refers and depends on component structure.
www.ambit.de
www.ambit.de4
5. Component Diagram(Komponentendiagramm)• Notation elements
– Component (physical part of the System; different types; see next page)
– Artefacts• E.g. a compiled object file• A piece of source code• Shared Library• Enterprise JavaBean (EJB), • Et cetera; • „Entity of the world of application“ as well)
Cha
pter
3
www.ambit.de
www.ambit.de5
Cha
pte r 5. Component Diagram
(Komponentendiagramm)
3
• UML-Standard-Stereotypes offer the followingTypes of Components– document– entity– executable– file– library– process– service– specification– subsystem– table
www.ambit.de
www.ambit.de6
5. Component Diagram(Komponentendiagramm)
<<component>>
Komponente1
Komplexer Port Implementierte Schnittstelle
<<component>>Komponente2
Bestandteil3
Bestandteil4
Klasse
<<spezifcation>>specDoc
Bestandteil2Bestandteil1
AllgemeineAbhängigkeitsbeziehung
<<compontent>>Komponente4
<<subsystem>>Komponente3
Realisierungsbeziehung
Port<<artifact>>Artefakt1
Bestandteil einer Komponente
<<artifact>>Komponente6
Implementierungsbeziehung
<<manifest>>
Cha
pter
3
Kompositionskonektor
Komponente
Verwendungs-Beziehung<<use>>
Delegationskonnektor
Benötigte Schnittstelle
www.ambit.de
www.ambit.de7
6. Deployment Diagram (Verteilungsdiagramm)
Cha
pte r
3
• Deployment Diagrams show classification of artefacts on Hardware components, named nodes.
• In other words: Deployment Diagrams show thenodes, on which the System is running. Nodes arephysical Entities ( = Hardware)
• Besides that, Deployment Diagrams form communicaiton relations and dependenciesbetween nodes.
www.ambit.de
www.ambit.de8
6. Deployment Diagram (Verteilungsdiagramm)apte
r3C
h
• Artefacts– Artefacts model physical information about a System
• besides Hardware,• User guides• Training material• Password files and• jar-Archive• Can be modeled as an Artefact.
– Artefacts express the terms/ideas/concepts of a modeled System
www.ambit.de
www.ambit.de9
6. Deployment Diagram (Verteilungsdiagramm)apte
r3C
h
• Artefacts– An Example Artefact: a Java-jar-Archive
– Artefacts can have attributes (like other UML-Classifiers)
MessageFramework.jar
MessageFramework.jar
Reentrant: booleannumLoggers: int = 1
www.ambit.de
www.ambit.de10
6. Depolyment Diagram (Verteilungsdiagramm)
Cha
pte r
3
• Notation elements– nodes
• Conventional Node-Stereotypes:– client– server– database– backup server
– communication path– distribution relationship– application specification
www.ambit.de
www.ambit.de11
6. Depolyment Diagram (Verteilungsdiagramm)
Cha
pte r
3
node 2<<device>>
node 3<<executionenvironment>>
communication pathnode 1<<device>>
execution: threadTransaction: false
Deployment spezifikation
Deployment relationship
Artefact
www.ambit.de
www.ambit.de12
6. Deployment Diagram (Verteilungsdiagramm)
apte
r3C
h
ServerOne Node
A Node with a couple of compartments
Server<<components>>Buchungssystem.jarComon.jar
www.ambit.de
www.ambit.de13
6. Deployment Diagram (Verteilungsdiagramm)apte
r3C
h
A Node with distributed Components
Server
Buchungssytem.jar Common.jar
<<deploy>> <<deploy>>
www.ambit.de
www.ambit.de14
6. Deployment Diagram (Verteilungsdiagramm)apte
r3C
h
Several Nodes and their Connection
Client
BuchungsserverDatenbankserver
<<LAN>>
<<Internet>>
www.ambit.de
www.ambit.de15
Deployment Diagram (Verteilungsdiagramm)apte
r3C
h
•CaseStudyDeployment Diagram:Deployment of a windscreenwiper service unit
www.ambit.de
www.ambit.de16
Fourth Diagram Type
Cha
pte r
3
Behaviour Modelling[Verhaltensmodellierung]
[Rupp et.a] S. 225-236
www.ambit.de
www.ambit.de17
7. Use-Case-Diagram (Use Case Diagramm)
Cha
pte r
3
• Use-Case-Diagrams give an overview of all therequirements on a system from the users point of view
• Use-Cases often have the following Connections– Generalization ( )– Extension (<<extends>>) and– Inclusion (<<include>>)
to other Use-Cases of the System
www.ambit.de
www.ambit.de18
7. Use-Case-Diagram (Use Case Diagramm)
Cha
pte r
3
• Notation elements– use case– system (subject)– actor (Part of the User)– <<include>> - relationship
• Use-Case can include behaviour of another Use-Case. The included Use-Case is not used autonomous, butpart of a bigger Use-Case.
– <<extend>> - relationship• Not part of the normal, fundamental development.• Generalization relation
www.ambit.de
www.ambit.de19
Drahtlos synchronisieren
Seriellsynchronisieren
Datensynchronisieren
Use Case Generalization
Datenkopplung
7. Use-Case-Diagram (Use Case Diagramm)
Cha
pte r
3
www.ambit.de
www.ambit.de20
7. Use-Case-Diagram (Use Case Diagramm)
Cha
pte r
3
Akteur 1
AnwendungsfallDebug-Infoaufzeichnen
MitverwendeterAnwendungsfall
<<include>>
<<extend>>
Systemname
Rechnungswesen
Additionally, there must be a Use Case document, describing the functionality. Maybe prosa, Word-File. -> technically seen, not a part of UML.Typical Content: short description (WHAT?),precondition, basic function
Akteur 2
Bankkunde
Akteur 3
www.ambit.de
www.ambit.de21
Use-Case-Diagram
Cha
pte r
3
•CaseStudyUse-Case-Diagram:Modelling an Online-Banking-System
www.ambit.de
www.ambit.de22
8. Activity Diagram (Aktivitätsdiagramm)
Cha
pte r
3
• Using Activity Diagrams, – complex processes, as well as– parallel processes and – alternative processescan be modeled and described.
• Aktivity Diagrams give – like State machines do – an Impression of the Behaviour development, – However they are concentrated on Transitions
(separate Steps)– They are not concentrated on their Activator
www.ambit.de
www.ambit.de23
8. Activity Diagram (Aktivitätsdiagramm)
Cha
pte r
3
• Notation elements– action– activity– objectnodes– links– Controll elements– start nodes– end nodes– branch connection node– synchronization – and parallelization knode– control data
– interuption area– exeption handler– activity area– structured nodes– quantity processing area– loop node– decision node
www.ambit.de
www.ambit.de24
8. Activity Diagram (Aktivitätsdiagramm)
get invitation
Invitation Check date
Check interestin invitation
AnnounceparticipationCancel invitation
[no time]
[time available]
[no interest]
[interest]
Activity name
possible order
activity
object node
action
link
condition
end node
Cha
pter
Start node
control node / decision node
3
www.ambit.de
www.ambit.de25
8. Activity Diagram (Aktivitätsdiagramm)
Cha
pte r
3
Wrapping a gift
Adress the Label
Put it under a tree
[Recipient lives far away]
Wrap the giftChristmas present
[Recipient lives near by]
A branch node / Decision in the Activity Diagram
www.ambit.de
www.ambit.de26
8. Activity Diagram (Aktivitätsdiagramm)
Cha
pte r
3
Parallelize something and bring it back together
…….
…….
…….
www.ambit.de
www.ambit.de27
9. Finite State Machine (Zustandsautomat)
Cha
pte r
3
Using state machines you get the possibility to modelthe behavior of any classifier. - State machines specify the behaviour of a classifier,
using states,- transitions between states, - transitions between states are initiated by inner or
external events.State Machines show different states, an entity canpass.
www.ambit.de
www.ambit.de28
9. Finite State Machine (Zustandsautomat)• Notation elements
– simple state– transition– start state– end state– pseudo states– crossing– decision– terminator– assembled state– substatemachine states
– entrance/ exit point– region– history– specialization– protocol state machine
Cha
pter
3
www.ambit.de
www.ambit.de29
9. State Machine (Zustandsautomat)
ticket machine
waiting GeldaufnahmeDo[enter coins]/ value heighten
cancel
Entry / valueexpend
Berechnung
do / pricecalculate
Output ricket
Entry / ticketexpend output
change
do / changeexpend
value heighten[enter coins]
[value<price]
[value>price]
ticket selectively
Cancel voted
After(Timeout)
[value = price]
stopppressed
State machine nameTrigger Guard
Crossing point
entrance behaviour
TimeTrigger
Cha
pter
3
Start stateAction Labels:entryexitdoinclude
state
Transition
State behavior
www.ambit.de
www.ambit.de30
10. Sequence Diagram (Sequenzdiagramm)
Cha
pte r
3
• Sequence Diagrams are the most used Interaction Diagrams.
• They show a chronological view of the messageexchange between Elements/Entities
• Sequence diagrams show the dynamic flowbetween objects in dependence of chronology.
www.ambit.de
www.ambit.de31
10. Sequence Diagram (Sequenzdiagramm)
Cha
pte r
3
• Notation elements– interaction / interaction frame– life line– news– state invariant– combined fragment– key relation– interaction reference– link point– defragmentation of life lines
www.ambit.de
www.ambit.de32
10. Sequence Diagram (Sequenzdiagramm)
object1 object2
Aktionssequenz /Action sequence
Cha
pter
3
(a-b<2 sec.) a
b
message()
answerZusicherung /assertion
Rekursion /recursion
Steuerungs-Fokus /
Control focus
life line
[x>0] message1()
object1 object2
[x<=0] message2()
answer1
answer2
www.ambit.de
www.ambit.de33
10. Sequence Diagram (Sequenzdiagramm)
Cha
pte r
3
object1
object2new()
answer
object1 object2
Iterationmessage()
*message()
Objektkonstruktion and -dekonstruktion
destroy()
answer
www.ambit.de
www.ambit.de34
Activitydiagram
Cha
pte r
3
•CaseStudyAktivitätsdiagramme:
Modelling a party
www.ambit.de
www.ambit.de35
11. Communication Diagram (Kommunikationsdiagramm)
Cha
pte r
3
• Closely related to the Sequence Diagram / Alternative to the Sequence Diagram.
• More important who is communicating with eachother. Chronology is less important.
• Communication diagrams show the dynamic flowand ist logic process in the collaboration of objects. (Interaction to realize a use case.)
www.ambit.de
www.ambit.de36
11. Communication Diagramm (Communication Diagram)• Notation elements:
– interaction / interaction frame– Life line– message
Cha
pter
3
www.ambit.de
www.ambit.de37
11. Communication Diagram (Kommunikationsdiagramm)
Cha
pte r
3
Time-dependend
sequential
Object:class
Object:class
Object:class
[Condition] 1.2:answer:=message(arg.)
1.1.*.message(arguments)Startmessage()
Sequence
synchronize
restricted
asyncron
Messages are displayed with lines between communication partners.
www.ambit.de
www.ambit.de38
12. Timing Diagram (Timingdiagramm)
Cha
pte r
3
• Timing Diagrams show the chronology of Classifiers in a System
• Most important is the real chronology of messages.
www.ambit.de
www.ambit.de39
12. Timing Diagram (Timingdiagramm)
Cha
pte r
3
• Notation elements:– interaction / interaction frame– live line– time line– message– branch mark– value line– key relation
www.ambit.de
www.ambit.de40
12. Timing Diagram (Timingdiagramm)
Traffic light
diagram name Duration condition
:han
ging
lam
p:p
rede
stria
ngreen
red
operable
active
waiting
{d…6*d}
Sek.0 1 2 3
d
activate
gostop
Time line
message
Cha
pter
3
Life lines
conditiontime scale
www.ambit.de
www.ambit.de41
13. Interaction Overview Diagram(Interaktionsübersichtsdiagramm)
Cha
pte r
3
• Interaction Overview Diagrams show the cooperationof different actions by displaying flows/ processes of interactions with a variant/ alternative of the activitydiagram.
• Refined by– Sequence Diagrams– Communication Diagrams– Timing Diagrams
www.ambit.de
www.ambit.de42
13. Interaction Overview Diagram (Interaktionsübersichtsdiagramm)
Cha
pte r
3
• Notation elements– interaction / interaction reference– control elements
www.ambit.de
www.ambit.de43
13. Interaction Overview Diagram (Interaktionsübersichtsdiagramm)
Cha
pte r
3
Geldautomat
ref
ref
ref
ref
ref
sd
KarteneinschubPIN Eingabe
Geldtransaktionabwickeln
Kartenauswurf
Karteneinzug:Authentifizierungs-
system :Display
Anzeigen („Karte wird eingezogen“)
{0..10} ZeiteinheitMinuten
[Dauer > 10]
[else]
[PIN Eingabe== 0]
[PIN Eingabe== fehlgeschlagen]
Interaktionsreferenz
Verzweigungsknoten
Verbindungsknoten
Paralellisierungsknoten
Startknoten
EndknotenKante Synchronisationsknoten
www.ambit.de
www.ambit.de44
State Machine (Zustandsautomat)
Cha
pte r
3
•CaseStudyState Machines: Modelling a ticket machine
www.ambit.de
www.ambit.de45
4 UML Model Development
Cha
pte r
4
Chapter 4
www.ambit.de
www.ambit.de46
How would you manage model development? Simple chronology of modelling process?
UML Exercise
Cha
pte r
4
www.ambit.de
www.ambit.de47
Literature
Cha
pte r
4
Literature
www.ambit.de
www.ambit.de48
UML used and continuingLiterature
Cha
pte r
4
• Wolfgang Zuser, Thomas Greching, Monika Köhle: „Software Engineering mit UML und UnifiedProcess“; Pearson Studium, München, 2004
• Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: „UML 2 glasklar“; Hanser, München, 2005
• Heide Balzert: „UML 2 kompakt“; Spektrum, Heidelberg, 2005