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.