Obiektowe modelowanie systemów informatycznych



Pobieranie 8,01 Mb.
Strona36/113
Data23.10.2017
Rozmiar8,01 Mb.
1   ...   32   33   34   35   36   37   38   39   ...   113

Diagramy komponentów (component diagram)


Statyczne oraz dynamiczne diagramy modelują logikę systemu oraz logikę oprogramowania. Diagram komponentów oraz diagram wdrożenia opisują reprezentację systemu w świecie rzeczywistym. Te dwa diagramy nazywają się diagramami realizacji. Diagram komponentów to jest diagram pokazujący strukturę komponentów oprogramowania, ich związki i przepływ komunikatów oraz interfejsy ze światem zewnętrznym. Jest to graf, w którym węzłami są komponenty, zaś strzałki prowadzą od klienta pewnej informacji do jej dostawcy.

Komponent to jest fizyczna, wymienna(заменяемая) część systemu, która wykorzystuje i realizuje pewien zbiór interfejsów. Na diagramie jest przedstawiany jako prostokąt z bolcami.

Najczęściej komponent reprezentuje następne części systemu informatycznego:



Komponenty są podobne klasam: mają nazwy, realizacją, pewien zbiór interfejsów, mogą brać udział w związkach zależności, uogólnieniach i powiązaniach, mogą być zagnieżdżone, mogą mieć egzemplarze, mogą uczestniczyć w interakcjach.

Różnice pomiędzy klasami a komponentami:



  • Klasy reprezentują abstrakcje logiczne, a komponenty – elementy fizyczne. Innymi słowy, komponenty mogą żyć na węzłach (komputerach), a klasy nie.

  • Komponenty reprezentują fizyczne opakowanie składników logicznych, to znaczy komponent jest skafandrem klasy.

  • Klasy są bezpośrednimi właścicielami atrybutów i operacji. Komponenty w zasadzie mają jedynie operacje, które są udostępniane przez ich interfejsy. Tak okno „Component Properties” diagramu komponentów w ogóle nie zawiera zakładki „Atributes”.

Przykład diagramy komponentów jest pokazany na rys.108


Rys.108


Główne cechy komponentów są w następnych punktach:

  • Komponent nie może istnieć bez klasy oraz klasa nie może być zrealizowana bez komponentu. Klasie jest potrzebny skafander którym dla niej jest komponent. Puste skafandry nic nikomu nie potrzebne, dlatego komponent może zawierać jednocześnie wiele różnych klas z ich operacjami. Tak, specyfikacja „Component Properties” zawiera zakładkę „Classes”, gdzie można wyznaczyć klasy wchodzące do komponentu.

  • Komponent może być włożony do innego komponentu.

  • Komponent jest wymienna część systemu. Jeden komponent może być zamieniony przez inny, mający ten samy interfejs.

  • Komponent nie może być wdrożony częściowo, a tylko w całości.

Różnice pomiędzy pakietami klas oraz komponentami:

  • Pakiet (Package) to jest logiczna część systemu, zawierająca klasy w tej samej dziedzinie zachowania (np. klasy okien, menu w Jawie są w jednym pakiecie Java.awt). Komponent odwzorowuje poziom fizyczny systemu oraz może zawierać klasy w różnych dziedzinach zachowania.

  • Klasy abstrakcyjne oraz interfejsy nie mogą występować w wielu pakietach, natomiast wiele komponentów mogą implementować te same interfejsy.

Każdy pakiet logiczny może być skojarzony z wiele komponentami.

Interfejs to jest zestaw operacji, które wyznaczają usługi oferowane przez klasę lub komponent. Przykład komponentu, który zawiera interfejsy : Invoice, InvoiceLocal, InvoiceHome, InvoiceLocalHome, - jest pokazany na rys. 109



Rys. 109


Dodawać do modelu nowy interfejs można na diagramu klas lub w przeglądarce projektu. Ustalić interfejs w komponencie można w zakładce „Interfejs” okna „Component Properties” (rys.110 )

Rys.110



1   ...   32   33   34   35   36   37   38   39   ...   113


©operacji.org 2017
wyślij wiadomość

    Strona główna