W trakcie projektowania systemów na poziomie komponentów istotnym jest aby dobrze wyspecyfikować kanały komunikacji pomiędzy komponentami. Poniżej w tekście tym, postaram się przedstawić kilka technik umożliwiających pracę na tym poziomie abstrakcji.

 

Dobra specyfikacja kanałów komunikacji pomiędzy komponentami jest bardzo istotna i bytem w notacji UML, który na to pozwala jest element Interfejs

image

który można dość precyzyjnie wyspecyfikować określając jego atrybuty i metody (jeśli takowe posiada).

Następnie taki interfejs można dodać do komponentu korzystając z elementu Expose Interfejs.

image

gdzie po dodaniu tego elementu na komponent można wybrać wcześniej zdefiniowany interfejs. Należy kliknąć na kwadracik z wielokropkiem

image

i wybrać z drzewa repozytorium projektu odpowiedni element.

image

Tak zmapowany interfejs z komponentem pozwala zachować wszelkie zależności na poziomie diagramu komponentów jak i diagramie przedstawiającym interfejsy.

image

Natomiast jeśli nasz komponent komunikuje się ?ze światem spoza naszego  systemu? należy ten fakt zaprezentować używając elementu port

image

który wskazuje na ten fakt,

image 

Następnie kolejne czynności związane z wykorzystaniem interfejsu nie różnią się od wyżej wymienionego przykładu z tą różnicą, że Expose Interfejs jest ?nakładany? na port a nie na komponent.

 image

W przypadku gdy kanał komunikacji pomiędzy dwoma komponentami wymaga współpracy kilku interfejsów nie ma potrzeby by dodawać więcej portów, gdyż port może być rozszerzany (poprzez dodanie kolejnych Expose Interfejs)

image

I nam koniec kilka słów na temat łączenia interfejsów.

image

Pierwsza metoda (interfejs B i A) to wskazanie na za pomocą realizacji, że interfejs wymagany, który jest w komponencie 2 jest realizowany za pomocą interfejsu A dostarczanego przez komponent 1.

Natomiast druga metoda polega na tym, że elementy typu Expose Interfejs w komponencie 1 i komponencie 2 są zmapowane z Interfejsem C i połączone z nim za pomocą realizacji (z interfejsu dostarczanego) i zależności ze stereotypem <<use>> (z interfejsu wymaganego). Zapis ten oznacza, że InterfejsC jest używany przez komponent 2 i jest realizowany (dostarczany) przez komponent 1.

Technorati Tagi: Enterprise Architect,Unified Modeling Language,uml

Zostaw odpowiedź

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć tych HTML tagów i atrybutów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Close