AIPSI_lab 5 v7
Transkrypt
AIPSI_lab 5 v7
AIPSI – kroki postępowania w RSA Lab 5 LAB5 12.2012v1 Strona |1 Diagramy sekwencji 4szt. Oraz odpowiednie diagramy klas. UWAGA! Przed rozpoczęciem wykonywania zadań – przeczytać instrukcję do końca ! • Uruchomić RSA: Start Programy IBM Software Delivery Platform IBM Rational Software Architect 8.0 IBM Rational Software Architect W momencie dodania modelu Enterprise IT, pojawiła się następująca struktura - Models: 1. diagram sekwencji: Dla danego UC deklaruje się jego realizację w sposób następujący: w: Models -> Enterprise IT Design Building Blocks znajduje się pakiet ${use case} Pakiet ten należy skopiować i wkleić do ... -> Design Building Blocks -> ${functional.area.ucrs} Następnie zmieniamy jego nazwę na odpowiadającą realizowanemu przypadkowi użycia. (Edit) To samo dla pozostałych przypadków użycia ( w tym projekcie jedynie dla 4szt.) Realizację w postaci diagramu sekwencji (aby narysować diagram sekwencji potrzebne są odpowiednie klasy – dalsza część instrukcji – punkt 3) należy narysować w katalogu: ... -> ${functional.area.ucrs} -> ${use case} -> ${use.case} - Basic Flow oraz (jeśli występuje) ... -> ${functional.area.ucrs} -> ${use case} -> ${use.case} - Alternative Flow 2. Następnie do ...-> ${functional.area.ucrs} należy dodać UC diagram (P-> Add Diagram -> Use Case Diagram ) i przedstawić na nim które UC są realizowane przez które realizacje. Czyli trzeba przeciągnąć i połączyć UC z jego realizacją. Na diagramie, po przeciągnięciu realizacji przypadku użycia, w Properties Stereotypes należy dodać stereotyp „Realization” → Apply Stereotypes [Show Properties View] AIPSI – kroki postępowania w RSA LAB5 Następnie połączyć realizacje z przypadkiem użycia: Strona |2 12.2012v1 [Palette -> Create -> Include ->Realization] Kierunek realizacji jest następujący: 3 diagramy klas Klasy należy zdefiniować wcześniej,- przed ich użyciem w diagramach sekwencji. Umieszczamy je w agregacie: Models -> Enterprise IT Design Building Blocks ->${functional.area.impldesign} -> ... w obszarze Control, Domain, Presentation ( w zależności od rodzaju) P Add UML Class Rodzaje klas: Control działanie (control classes, business services) do wygenerowania funkcji i metod (nazwaControl ) Domain dane (entity, do wygenerowania bazy danych (nazwaDomain ) Presentation wygląd, (boundary, user services, formatka, hierarchia formatek) data services) (nazwaForm ) do wygenerowania formatek Następnie rozrysować diagram klas: P Add Diagram Class Diagram w każdym z katalogów: Models -> Enterprise IT Design Building Blocks ->${functional.area.impldesign} -> Control, Domain, Presentation Dodatkowe informacje -przykłady: Ad1. - przykład: Standardowo każda realizacja zawiera diagram sekwencji (np. w Basic Flow) Na diagram sekwencji należy przeciągnąć aktora (np. o nazwie user) i wykonać np. taką analizę: • Aktor potrzebuje do logowania formatki, więc należy utworzyć klasę LoginForm w pakiecie Presentation (P Add UML Class) i klasę tę przeciągnąć na diagram sekwencji i od razu do (… → pakiet ${use case} → ) Participants – tam mają znaleźć się obiekty używane podczas realizacji danego przypadku użycia • Na diagramie sekwencji należy umieścić komunikat – np. Loguj • LoginForm musi wywołać jakiś obiekt kontrolny, wyznaczający np. wartość skrótu hasła AIPSI – kroki postępowania w RSA LAB5 12.2012v1 Strona |3 • Wobec tego w pakiecie control należy utworzyć klasę LoginManager, którą przeciąga się na diagram sekwencji (i do Participants) • Komunikat (synchroniczny) brzmi np. Weryfikuj • Obiekt tej klasy powołuje do życia obiekt o nazwie Użytkownik. To powołanie robi się następująco. Z grupy SynchronousMessage wybrać CreateMessage (linia przerywana) i przeciągnąć do klasy Użytkownik. [klasa w domain] • Nazwa operacji – przykładowo Sprawdź • Potem zrobić komunikat Destruction Event • W pakiecie Presentation można stworzyć klasę StronaGłówna, przeciągnąć ją do Participants i wtedy na diagramie sekwencji można dodać „przekierowanie” na stronę główną – tzn. wywołanie synchroniczne z LoginForm do StronaGłówna o nazwie WyświetlStronę LoginForm [X] StronaGłówn a LoginManager loguj weryfikuj Użytkowni Sprawdź k Wyświetl stronę Klasy są tutaj w ujęciu ’Javowym’ - tzw to nie są klasy trwałe Uwaga! Każdemu komunikatowi odpowiada metoda o tej samej nazwie co komunikat, która tworzona jest pod daną Użytkownik klasą – przykładowo fragmentowi na diagramie sekwencji odpowiada w klasie Użytkownik. Ad 3 1. W oknie Properties dla każdej klasy doprecyzować parametry i typy metod (zakładka Operations) struktura: AIPSI – kroki postępowania w RSA LAB5 12.2012v1 Strona |4 2. W oknie Properties danej metody (dla wybranej klasy), należy określić zwracany przez nią typ: Properties General set return type. Należy używać UML Primitive Types [bool] [np. na diagramie Participants] 3. W oknie Properties dla każdej klasy doprecyzować parametry i typy atrybutów (zakładka Attributes): AD1 Create Lifeline - linia życia Create Class - dla tworzonej klasy Create Actor - dla tworzonego aktora Create Unspecified – bez określania typu klasyfikatora (obiektu dla którego tworzona jest linia życia) Select Existing Property – dla istniejącego już obiektu – wyszukanie po nazwie (Search) lub z modelu (Browse) Select Existing Type – dla określonego typu obiektu – wyszukanie po nazwie (Search) lub z modelu (Browse) Message Synchronous Message - komunikat synchroniczny – (wywołuje funkcję i czeka na wynik) Asynchronous Message - komunikat asynchroniczny – wezwanie do wykonania operacji (funkcji, procedury – metody)(obie linie życia wykonywane równolegle) Asynchronous Signal Message - komunikat asynchroniczny – wysłanie sygnału (np. jakiegoś potwierdzenia) Create Message – komunikat tworzący obiekt (<<create>>) Destroy Message - komunikat usuwający istniejący obiekt (<<destroy>>) Combined fragment – fragmenty wyodrębnione Option Combined fragment – opcja - opt Alternative Combined fragment – alternatywa - alt Loop Combined fragment – iteracja - loop Break Combined fragment – przerwanie -break Weak Combined fragment – słabe upożądkowanie - seq Strict Sequencing Combined fragment – ścisłe uprządkowanie - strict Parallel Combined fragment – współbieżność - par Critical Region Combined fragment – obszar krytyczny - critical Negative Combined fragment – funkcjonalność nieprawidłowa - neg Assert Combined fragment – formuła - assert Ignore Combined fragment – nieistotność - ignore Consider Combined fragment – istotność - consider Interaction Use - przywoływane wystąpienia interakcji Destruction Event – usunięcie, zniszczenie obiektu State Invariant – fragment interakcji który reprezentuje ograniczenie które musi być spełnione, umieszczone na lini życia.