180 likes | 461 Views
Referat: Diagramy współpracy. Gr. 651 Joanna Gronowska Tomasz Majkowski Emilia Matusiak Anna Monasterska Krzysztof Sędkowski. Metody Analizy Systemów semestr letni 2004. Agenda. Pojęcie oraz zastosowanie Elementy występujące na diagramach współpracy Stosowana notacja
E N D
Referat: Diagramy współpracy • Gr. 651 • Joanna Gronowska • Tomasz Majkowski • Emilia Matusiak • Anna Monasterska • Krzysztof Sędkowski Metody Analizy Systemów semestr letni 2004
Agenda • Pojęcie oraz zastosowanie • Elementy występujące na diagramach współpracy • Stosowana notacja • Sposoby numerowania komunikatów • Przykłady • Podsumowanie
Diagramy współpracy (kolaboracji) • Stanowią jeden z rodzajów diagramów interakcji, opisują one w jaki sposób współpracują ze sobą grupy obiektów znajdujące się na diagramie klas. • Przedstawiają zachowanie systemu w ramach jednego przypadku użycia, bądź tylko pewnego jego fragmentu opisanego jednym z możliwych scenariuszy danego przypadku użycia. • Podstawowym celem konstruowania diagramów współpracy jest identyfikacja atrybutów, asocjacji między klasami oraz operacji w klasach, co pomaga w uzupełnianiu diagramu klas o brakujące elementy, niezbędne do realizacji zleconych systemowi zadań.
Diagramy współpracy: Zawartość • Prosty diagram współpracy (bez uwidaczniania interakcji między obiektami), stanowi coś w rodzaju “wystąpienia fragmentu diagramu klas”. • W skład diagramu współpracy wchodzą inicjator rozpoczynający sekwencję komunikatów niezbędnych do wykonania zadania (aktor), obiekty oraz powiązania między nimi. • Możliwejest pokazanie na diagramie więcej niż jednego obiektu danej klasy. :Rower :Sprzedawca. :ModelRoweru :Klient.
Diagramy współpracy: Zawartość • Oprócz wymienionych już wyżej elementów na diagramie współpracy może pojawiać się podobnie jak na diagramie klas dodatkowa informacja tj.: kierunki nawigowania, nazwy linków, itp, jednak, tylko pod warunkiem gdy zwiększy, a nie zmniejszy to czytelność diagramu. • Przedstawiane na diagramie obiekty, połączone są “linkami” i stanowią rodzaj “kolektywu”, zwanego tu kolaboracją. Linki odpowiadają powiązaniom, czyli wystąpieniom asocjacji z diagramu klas, a to oznacza, że odpowiednia asocjacja powinna istnieć na diagramie klas.
Interakcja na diagramach współpracy Diagramy współpracy mogą dodatkowo pokazywać interakcje zachodzące między obiektami zaangażowanymi w realizację danego przypadku użycia. Sekwencja interakcji oznacza tu sekwencję komunikatów przesyłanych między współpracującymi obiektami. komunikat wysyłany od aktora do obiektu klasy Klient. :Rower :Sprzedawca. 4: Drukuj rachunek 3: Czy nie zarezerwowany kup (rower) :Klient. : ModelRoweru 2: Czy rower jest dostępny 1: Czy możekupić
Interakcja na diagramach współpracy • Komunikaty przedstawiane są w postaci strzałek etykietowanych nazwą operacji i rysowanych wzdłuż linków między współpracującymi obiektami. Na diagramie nie pokazuje się odpowiedzi na komunikaty, ponieważ odpowiedź na komunikat nie jest komunikatem. • Zalecane jest numerowanie komunikatów kolejnymi liczbami naturalnymi, bądź też wykorzystując numerację zagnieżdżoną. Numeracja zagnieżdżona oznacza, że gdy konkretny obiekt otrzyma komunikat o numerze n, to n będzie dołączane jako prefiks do każdego komunikatu wysyłanego przez ten obiekt. • Jeśli nie jest to konieczne komunikat wysyłany od inicjatora (aktora) nie musi być numerowany.
EgzemplarzRoweru Klient czyBrakRezerwacji () zarezerwuj (Klient) pożycz (model) czyDostępny () zarezerwuj (egzemplarzRoweru) 1..* Diagram klas dla przypadku użycia: zakup roweru kupił 0..1 Rower sprzedaj (model, Klient)
Scenariusz przypadku użycia: zakup roweru • Wariant optymistyczny • Rower znajduje się w sklepie czyli jest rower który chce kupić klient, • Rower który chce kupić klient nie jest zarezerwowany, • Rezerwuj rower który chce kupić klient • Wariant pesymistyczny • Rower nie znajduje się w sklepie • Rower znajduje się w sklepie ale jest już zarezerwowany
Diagram współpracy odpowiadający diagramowi klas dla przypadku użycia: zakup roweru : Rower :Sprzedawca. sprzedaj (Rower) :Sprzedaż 1.2.2: zarezerwujRower (Klient) 1.2.1: czyBrakRezerwacji () 1: kup (Rower) 1.3: zarezerwuj (Rower) :Klient : ModelRoweru 1.2: kup (model, Sprzedawca) 1.1: czyDostępny ()
Umowa Szkolenie /czas trwania Diagram klas dla przypadku użycia: wprowadzenie informacji o odbytym szkoleniu Firma Pracownik * jest kierowany * nazwa adres imię nazwisko NIP {umowa jest zawierana z pracownikiem, gdy koszt szkolenia przekracza 4 tys zł.} nazwa szkolenia data rozpoczęcia data zakończenia koszt nr {unique} kwota termin obowiaz. data zawarcia 1 podpisuje 1 zawiera * * sporządź umowę () zaksięguj wpłatę () dokonaj wpłaty () * dokonuje zwrotu kosztów szkolenia 1 {w przypadku zwolnienia dyscyplinarnego lub złożenia}
Scenariusz przypadku użycia: wprowadzenie informacji o odbytym szkoleniu • Przypadek użycia rozpoczyna się, gdy Pracownik Działu Szkoleń (aktor) wprowadza do systemu informację o odbytym przez pracownika szkoleniu. • Wariant pesymistyczny dla przeszkolonego pracownika: • cena szkolenia przekracza 4 tys. zł - pracownik podpisuje umowę o zwrocie kosztów za odbyte szkolenie w przypadku złożenia wymówienia z pracy lub zwolnienia dyscyplinarnego. • pracownik jest zwalniany dyscyplinarnie i musi zwrócić koszty szkolenia. • Wariant optymistyczny nr 1 dla przeszkolonego pracownika: • cena szkolenia nie przekracza 4 tys. zł – pracownik nie musi podpisywać • umowy. • Wariant optymistyczny nr 2 dla przeszkolonego pracownika: • cena szkolenia przekracza 4 tys. zł – pracownik podpisuje umowę o zwrocie kosztów za odbyte szkolenie w przypadku złożenia wymówienia z pracy lub zwolnienia dyscyplinarnego. • Pracownik nie został zwolniony dyscyplinarnie, ani nie złożył wymówienia w terminie obowiązywania umowy.
Diagram współpracy odpowiadający diagramowi klas dla przypadku użycia: wprowadzenie informacji o odbytym szkoleniu :Pracownik Działu Szkoleń Nr :Umowa Sprawdź, czy istnieje konieczność podpisania umowy 2:sporządźUmowę Zarządzanie projektami: Szkolenie Krzysztof Sędkowski : Pracownik 1: czyKosztSzkoleniaPrzewyższa 4 tys. zł ()
Diagram współpracy odpowiadający diagramowi klas dla przypadku użycia :Pracownik Działu Szkoleń Nr :Umowa Sprawdź, czy istnieje konieczność podpisania umowy 2:sporządźUmowę Zarządzanie projektami: Szkolenie Krzysztof Sędkowski : Pracownik 1: czyKosztSzkoleniaPrzewyższa 4 tys. zł ()
Diagram klas dla przypadku użycia: wystaw wniosek urlopowy 1 wystawia * Pracownik Wniosek urlopowy 0..1 akceptuje zastępstwo * /ilość dni wykorzystanych /ilość dni pozostałych /ilość dni urlopu zaległego Data przyjęcia Imie Nazwisko Identyfikator /wymiar urlopu /staż Akceptacja managera Data rozpoczęcia Data zakończenia Akceptacja zastępcy Znajdź zastępcę () Wyślij do zastępcy () Wyślij do managera () Udziel zgody () Przypisz wymiar urlopu () Aktualizuj statystyki () Aktualizuj dane pracownika ()
Scenariusz przypadku użycia: wystaw wniosek urlopowy • Scenariusz rozpoczyna się od wypełnienia przez pracownika formularza wniosku urlopowego, w którym podaje planowaną datę rozpoczęcia urlopu, datę zakończenia oraz zastępcę. Następnie system sprawdza, czy pracownik ma uprawnienia do urlopu we wnioskowanym wymiarze. • jeśli nie, pracownik otrzymuje komunikat, że nie posiada wystarczającej liczby dni urlopu do wykorzystania i wniosek zostaje odrzucony • jeśli tak, to wniosek zostaje wysłany do akceptacji do osoby wskazanej jako zastępca. Akceptacja wniosku przez zastępcę stanowi odrębny przypadek użycia, w którym aktorem jest zastępca.
Diagram współpracy odpowiadający diagramowi klas dla przypadku użycia: wystaw wniosek urlopowy :Pracownik :Pracownik Wystaw wniosek 2:Wyślij wniosek do zastępcy : Pracownik :Wniosek urlopowy 1: Czy, możliwy urlop we wnioskowannym wymiarze ?
Podsumowanie • Głównym zadaniemdiagramówwspółpracyjestwsparcie projektanta w procesie konstruowania modelu obiektowego (konkretnie diagramu klas). Pomoc polega na analizie zachowania systemu w trakcie realizacji jegozadań i identyfikowaniu nowych czy też korekcie już istniejących elementów modelu, np.: klas, ich atrybutów/metod oraz asocjacji między klasami. • Diagramy współpracy, będące wystąpienia fragmentu diagramu klas, bardzo dobrze przedstawiają związki między obiektami biorącymi udział w realizacji danego zadania przez cołatwiej można odwzorowywać efekty oddziaływania na pojedynczy obiekt. • W literaturze mówi się o dwóch kierunkach wykorzystywania diagramów, które pozostają wobec siebie w pewnej sprzeczności: 1. Specyfikacja wymiany komunikatów między obiektami w sposób tak prosty jak to tylko jest możliwe, 2. Generowanie za pomocą narzędzi CASE odpowiedniego kodu.