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