Komponentų diagrama
Download
Report
Transcript Komponentų diagrama
Komponentų diagrama
Component diagram
Komponentų diagrama
Komponentų diagramos tikslas – parodyti
struktūrinius ryšius tarp komponentų.
UML 1.1 – komponentas atvaizdavo
realizavimo elementus (pvz. .exe failai);
UML 2 – autonominiai vienetai sistemos ar
posistemės viduje, kurie aprūpina vienu ar
keliais interfeisais.
2
Komponentas
Komponentas – loginė sistemos dalis
(dažniausiai didesnė nei klasė), kuri gali būti
pakeista, panaudota pakartotinai ar parduota
atskirai.
3
Komponentų diagrama
Komponentų diagramų elementai:
Komponentai;
Sąryšiai.
4
Kriterijai aprašant komponentus
Komponentas turi tiekti sąsają, kad kiti
komponentai galėtų sąveikauti ir gauti
komponento teikiamas paslaugas.
Komponentai leidžia paprastai atvaizduoti
realizavimo klasių grupavimą.
5
Komponentų notacija
UML 1.4 notacija
(palaikoma ir UML 2):
UML 2 notacija:
panaši į klasių diagramos;
komponentas paprasčiausiai
yra klasių koncepcijos versija.
6
Komponentų elementai
Sąsaja (interface):
Atvaizduoja aibę operacijų ir įsipareigojimų.
Vartojimo priklausomybė:
Vartojimo priklausomybė – tai ryšys, kurio reikia vienam
elementui iš kito elemento, pilnai realizacijai.
Ports
Parodo sąveikos tašką tarp komponento ir jo aplinkos.
Jungiamieji elementai (connectors ):
• Sujungia du
komponentus
(assembly);
• Sujungia išorinį
komponento ‘contract’ą
su vidine struktūra
(delegation).
Assembly
Delegation
7
Komponentų interfeisai
Komponentas apibrėžia savo elgseną per interfeisus (provided ir
required).
Interfeisas:
Vienos ar kelių operacijų apibrėžimas;
Aprūpina tik operacijomis, o ne jų realizacija;
Realizaciją paprastai suteikia klasė/komponentas;
Sudėtingose sistemose realizacija dažniausiai suteikia
keletas klasių, o ne viena klasė.
8
Komponentų interfeisai
Provided interface:
Parodo paslaugas, kuriomis komponentas siūlo savo
aplinkai.
Required interface:
Parodo paslaugas, kurių komponentas tikisi iš savo
apinkos.
UML 1.x žymejimas
Provided
Required
9
Komponentų interfeisai
Komponentų, kurių provided/required
interfeisai atitinka, žymėjimas:
10
Komponentų priklausomybės
Rodyklės kryptis parodo priklausomybės
kryptį.
11
Komponentų vidinė struktūra
12
Port’ai
Parodo sąveikos tašką:
tarp komponento ir jo aplinkos;
tarp komponento ir jo vidinių dalių;
Gali būti dvikrypčiai;
Gali būti susieti su keliais interfeisais.
13
UML 1.x ir UML 2
UML 1.x komponentų diagrama
14
UML 1.x ir UML 2
UML 2 komponentų diagrama
15
Žymejimas
Interface_1 is implemented by
Class_1 (Class_1 has Interface_1
as a Provided Interface), and that is
used by Class_2 (Class_2 has
Interface_1 as a Required
Interface).
Klasių modelis
Component 1 is realized by
Class_2. Logically,
Component_1 has the same
interfaces as Class_2
Komponentų diagrama
16
Online Shopping Component Diagram
17
Pavyzdys
18
Paketų diagrama
Package diagram
19
Paketų diagrama
Struktūrinė diagrama, parodanti
projektuojamos sistemos struktūrą paketų
lygyje.
Paketas – modelio elementų rinkinys.
Modelio elementai, kurie apima susietą
sistemos dalį, yra grupuojami į paketus.
Paketas gali būti sudarytas iš kitų paketų.
20
Namespace
Paketai suformuoja ‘namespace’.
Namespace – abstraktus elementas, turintis vardą,
kuris susideda (ar jam priklauso) iš aibės kitų
elementų.
Namespace viduje elemementų pavadinimai yra
unikalūs.
Namespace nariais yra elementai, kurie arba
tiesiogiai jam priklauso, arba yra importuoti ar
paveldėti.
Elementai gali būti importuoti po vieną arba visi kartu.
Kiekvienas elementas gali priklausyti tik vienam
Namespace .
21
Žymėjimas
22
Matomumas
Paketui priklausantys ar importuoti elementai
gali turėti matomumą: parodo ar elementai
yra matomi už paketo ribų.
Public (+);
Private (-).
Orders
+Order
-Item
23
Priklausomybė
Priklausomybė egzistuoja tarp dviejų paketų, jei
pasiketus vienam elementui (paketui),
pasikeičia ir kitas elementas (paketas).
24
Paketų importavimas
Tiesioginis ryšys tarp namespace, į kurį
importuojame ir importuojamo paketo.
Suteikia priėjimą prie importuoto paketo
turinio.
Importuoto paketo narių vardai pridedami prie
importuojamojo paketo.
25
Importavimo matomumas
Gali būti Public arba Private.
Public – importuoti elementai bus pridėti prie
Namespace ir matomi už jo ribų.
Private - importuoti elementai bus pridėti prie
Namespace, bet nematomi už jo ribų.
Public
Pagal nutylėjimą
reikšmė yra Public
Private
26
Importavimo matomumas
Galima nurodyti, kuriuos elementus
importuojame:
‘{import ’ <qualified-name> ‘}’ | ‘{access ’
<qualified-name> ‘}’
27
Paketų suliejimas (merge)
Tiesioginis ryšys tarp dviejų paketų, kuris parodo, kad
vieno paketo turinys yra praplečiamas kito paketo
turiniu.
Panašu į apibendrinimą (generalization).
Paimamas dvieju paketų turinys ir sukuriamas naujas
paketas, kurio turinys susideda iš paketų,
dalyvaujančių suliejime, turinio.
Naudojamas tuomet, kai elementai, apibrėžti
skirtinguose paketuose, turi tą patį vardą ir skirti
atvaizduoti tą pačią koncepciją.
28
Suliejimo atvaizdavimas
Paketai Constructs ir Primitive Types sulieti i
paketą Kernel
29
Modelio diagrama
Pagalbinė UML diagrama, parodanti specifinį
sistemos pjūvį.
Atvaizduoja architektūrinius, loginius ar
elgsenos sistemos aspektus.
30
Modelio
diagrama
31
Pavyzdys
32
Pavyzdys
33
Pavyzdys
34
Car Rental UML Case Study
A medium sized case study for a car rental
administration system.
Use case, class, object, statechart, sequence
and activity diagrams.
35
Overview on the Used Development Process
36
Use Case diagram
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56