Documente Academic
Documente Profesional
Documente Cultură
Laboratori P 05
Laboratori P 05
Diagrame UML
1. Obiective
2. Diagrame principale ale UML
3. Altova UModel
4. Aplicaii
1. Obiective
Limbajul Unificat de Modelare (engl. Unified Modeling
Language, UML) este un limbaj pentru specificarea, vizualizarea,
construirea i documentarea elementelor sistemelor software. Este un
standard de facto pentru modelarea software. Obiectivele capitolului 5 sunt
urmtoarele:
1. Prezentarea celor mai importante tipuri de diagrame UML 2.0;
2. Introducerea programului Altova UModel pentru desenarea
diagramelor UML:
a. Utilizarea diagramei de clase pentru generarea automat de
cod C#;
b. Generarea automat a diagramei de clase pe baza codului
surs C#;
c. Desenarea unor diagrame de cazuri de utilizare, clase,
activiti i secvene.
105
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
Pltete factura, Creeaz cont etc. Notaia pentru un caz de utilizare este
prezentat n figura 5.1.
2.2.1. Dependena
Relaia de dependen apare cnd o clas folosete pentru scurt timp
o alt clas, de exemplu trimiterea unui mesaj (apelarea din clasa A a unei
metode din clasa B) sau trimiterea ca parametru ntr-o metod a clasei A a
107
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
unui obiect de tip B. n C#, un exemplu este clasa Math, ale crei metode
statice sunt apelate punctual de obiectele altor clase. Se noteaz cu linie
punctat cu o sgeat (figura 5.6).
2.2.2. Asocierea
Linia simpl n UML are rolul de asociere: o clas A are un cmp
instaniat din cealalt clas B. Numerele descriu cardinalitatea asocierii,
adic ne spun cte instane sunt permise din fiecare clas. Figura 5.7
prezint cteva cardinaliti posibile, dei din punct de vedere al notaiei nu
exist restricii asupra cardinalitilor care pot fi specificate.
108
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
109
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
2.2.4. Motenirea
De multe ori, mai multe clase au atribute i operaii comune. Acestea
pot fi introduse ntr-o singur clas i motenite n celelalte, de exemplu
clasele din figura 5.12.
Dac am mai vrea s adugm o clas Pisic, ar trebui s repetm
atributele i operaiile comune. Soluia este motenirea dintr-o clas mai
general.
110
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
Notaia UML pentru motenire (generalizare) este cea din figura 5.13.
111
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
112
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
2.2.6. Interfee
S presupunem c InstrumentMuzical din exemplul precedent e
acum o interfa iar clasele Pian i Vioar trebuie s implementeze metoda
Cnt. Notaia este asemntoare celei de la motenirea de clase, dar cu linie
punctat, iar interfaa poate fi declarat explicit cu un stereotip (figura 5.16).
113
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
114
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
115
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
117
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
3. Altova UModel
Altova UModel este un instrument vizual pentru crearea de diagrame
UML. Poate genera cod Java, C# i Visual Basic .NET pe baza diagramelor
i poate s realizeze diagrame UML ale programelor existente. Este posibil
de asemenea ajustarea codului existent prin modificarea diagramelor
corespunztoare.
Fiecare tip de diagram are o bar de instrumente corespunztoare cu
elementele UML caracteristice, care pot fi introduse n fereastra de
desenare, conectate i modificate (figura 5.21).
118
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
119
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
121
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
123
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
124
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
125
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
126
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com
4. Aplicaii
4.1. Generai fiiere de cod C# dintr-o diagram de clase (se poate
urmri exemplul prezentat mai sus).
4.2. Realizai diagrama de clase a unui proiect C# prin importare.
4.3. Desenai diagramele din figurile: 5.3, 5.6, 5.8, 5.10, 5.11, 5.15,
5.16, 5.17, 5.18, 5.19 i 5.20.
Indicaie: Notaiile pot fi particularizate prin modificarea
proprietilor elementelor, de exemplu modificarea tipului implicit de
asociere (figura 5.35).
129
Florin Leon (2012). Aplicatii de ingineria programarii in C#, Tehnopress, Iasi, ISBN 978-973-702-909-6
http://florinleon.byethost24.com