01.01.2015 Views

Model przypadków użycia - pjwstk

Model przypadków użycia - pjwstk

Model przypadków użycia - pjwstk

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MAS – dr. Inż. Mariusz Trzaska<br />

Wykład 2<br />

<strong>Model</strong> przypadków użycia


Zagadnienia<br />

Prezentowanie diagramów<br />

Stereotypy; komentarze<br />

Klasyfikatory; wystąpienia klasyfikatorów<br />

Związki pomiędzy elementami modelowania<br />

<strong>Model</strong> przypadków użycia:<br />

• Notacja<br />

• Analiza aktorów<br />

• Analiza przypadków użycia<br />

• Relacje między przypadkami użycia<br />

• Związek uogólnienia między aktorami<br />

• Określanie aktorów<br />

• Określanie przypadków użycia<br />

• Dokumentowanie przypadków użycia<br />

• Diagram interakcji dla przypadku użycia<br />

• Podsumowanie Wykorzystano materiały z wykładu PRI autorstwa<br />

dr inż. Ewy Stemposz oraz prof. Kazimierza Subiety<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

2


Prezentowanie diagramów<br />

Diagramy mogą być prezentowane w formie:<br />

- nieobramowanej<br />

- obramowanej, gdzie diagram jest otoczony prostokątną ramą<br />

zawierającą nagłówek<br />

nagłówek-diagramu=(rodzaj) nazwa-diagramu (parametry)<br />

nagłówek<br />

rodzaj – wyróżnik diagramu<br />

nazwa – odzwierciedlająca merytoryczną zawartość<br />

diagramu<br />

parametry – parametry kluczowe dla danego<br />

diagramu<br />

Nazwa jest obligatoryjnym elementem składowym nagłówka;<br />

rodzaj i parametry są elementami nieobligatoryjnymi.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

3


Stereotypy; komentarze<br />

Stereotypy: mechanizm rozszerzalności UML. Stereotypy są wykorzystywane<br />

do meta-klasyfikacji elementów modelu.<br />

Notacja: «nazwa stereotypu» lub ikona<br />

Przykłady stereotypów:<br />

P1<br />

«include»<br />

P2<br />

P3<br />

«extend»<br />

P4<br />

Komentarze: mechanizm rozszerzalności UML. Komentarze są<br />

wykorzystywane do wprowadzania do diagramu adnotacji przypisanych do<br />

fragmentu modelu.<br />

tekst adnotacji<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

4


Klasyfikatory; wystąpienia klasyfikatorów<br />

Klasyfikator: kategoria modelowania UML, stanowiąca uogólnienie grupy bytów o<br />

podobnych własnościach; pojęcie klasyfikatora odnosi się do każdego rodzaju<br />

diagramów UML.<br />

Notacja: zależna od rodzaju diagramów<br />

Wystąpienie klasyfikatora (instacja klasyfikatora): odpowiada konkretnemu<br />

bytowi z grupy bytów charakteryzowanych przez dany klasyfikator<br />

Notacja: zazwyczaj zgodna z notacją klasyfikatora; różnice występują głównie<br />

w nazwach wystąpień: nazwa_własna_danego_bytu : nazwa_klasyfikatora<br />

Osoba<br />

nazwisko : string<br />

wiek : integer<br />

O-Nowak : Osoba<br />

nazwisko = ” Nowak”<br />

wiek = 35<br />

klasyfikator<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

wystąpienie klasyfikatora<br />

5


<strong>Model</strong>e wg Jacobsona<br />

<strong>Model</strong> przypadków użycia: definiuje zarówno zewnętrze systemu (aktorzy ≡<br />

systemy zewnętrzne ≡ kontekst systemu), jak i jego wnętrze (przypadki użycia);<br />

służy określeniu zachowań systemu w odpowiedzi na akcje pochodzące z<br />

otoczenia systemu.<br />

Obiektowy model dziedziny: odwzorowywuje byty świata rzeczywistego<br />

(dziedziny problemowej ≡ dziedziny przedmiotowej) w obiekty istniejące w<br />

systemie.<br />

Obiektowy model analityczny: podzbiór modelu dziedziny (dotyczy<br />

konkretnego zastosowania).<br />

<strong>Model</strong> projektowy (logiczny): opisuje założenia przyszłej implementacji.<br />

<strong>Model</strong> implementacyjny (fizyczny): reprezentuje implementację systemu.<br />

<strong>Model</strong> testowania: określa plan testów, specyfikuje procedury, dane testowe,<br />

raporty.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

6


<strong>Model</strong> analityczny<br />

<strong>Model</strong> analityczny z reguły wykracza poza zakres odpowiedzialności systemu.<br />

Przyczyny:<br />

Ujęcie w modelu pewnych elementów dziedziny problemu nie będących<br />

częścią systemu czyni model bardziej zrozumiałym. Przykładem jest ujęcie w<br />

modelu systemów zewnętrznych, z którymi system ma współpracować.<br />

Na etapie modelowania może nie być jasne, które elementy modelu będą<br />

realizowane przez oprogramowanie, a które w sposób sprzętowy lub ręcznie.<br />

Dostępne środki mogą nie pozwolić na<br />

realizację systemu w całości.<br />

Celem budowy modelu analitycznego może<br />

być wykrycie tych fragmentów dziedziny<br />

problemu, których wspomaganie za<br />

pomocą innego oprogramowania będzie<br />

szczególnie przydatne.<br />

Dziedzina problemu<br />

<strong>Model</strong> analityczny<br />

Zakres<br />

odpowiedzialności<br />

systemu<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

7


<strong>Model</strong> wymagań<br />

Składowe:<br />

• <strong>Model</strong> przypadków użycia<br />

• Obiektowy model analityczny<br />

<strong>Model</strong> przypadków użycia został oparty o dwa podstawowe pojęcia:<br />

Aktor<br />

Przypadek użycia<br />

Reprezentuje rolę, którą może grać w systemie<br />

jakiś jego użytkownik, np. kierownik, urzędnik,<br />

klient.<br />

Reprezentuje sekwencję operacji (realizowanych<br />

przez system), niezbędnych do wykonania zadania<br />

zleconego przez aktora, np. potwierdzenie pisma,<br />

złożenie zamówienia, itp.<br />

Aktorem jest dowolny byt z otoczenia systemu, który uczestniczy w interakcji z<br />

systemem. Każdy potencjalny aktor może wchodzić w interakcję z systemem na<br />

pewną liczbę jemu właściwych sposobów. Każdy z tych sposobów nosi nazwę<br />

przypadku użycia i reprezentuje przepływ operacji w systemie związany z<br />

obsługą zadania zleconego przez aktora w procesie interakcji.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

8


Notacja<br />

Wypłata<br />

pieniędzy<br />

Klient<br />

Weryfikacja<br />

klienta<br />

«include»<br />

ud Obsługa klienta<br />

Przypadek użycia: Powinien mieć unikatową nazwę,<br />

opisującą przypadek użycia z punktu widzenia jego<br />

zasadniczych celów. Czy lepiej jest stosować nazwę<br />

opisującą czynność (“wypłata pieniędzy”/„wypłacanie<br />

pieniędzy”) czy polecenie (“wypłać pieniądze”) − zdania są<br />

podzielone.<br />

Aktor: Powinien mieć unikatową nazwę.<br />

Interakcja: Ilustruje związek asocjacji zachodzący<br />

pomiędzy przypadkiem użycia (systemem) a aktorem.<br />

Blok ponownego użycia: Wewnętrzny fragment systemu,<br />

używany przez kilka przypadków użycia; blok ponownego<br />

użycia nie jest elementem UML.<br />

Relacja typu «include» lub «extend»: Pokazuje związek<br />

zależności zachodzący pomiędzy dwoma przypadkami<br />

użycia lub przypadkiem użycia a blokiem ponownego<br />

użycia.<br />

Nazwa diagramu wraz z nagłówkiem i ramą: ud (ang.<br />

use case diagram) – wyróżnik diagramu.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

9


Aktor − kto (co) może wystąpić w roli<br />

aktora<br />

Metoda przypadków użycia wymaga od analityka określenia wszystkich<br />

aktorów związanych z planowanym wykorzystywaniem projektowanego<br />

systemu, innymi słowy wymaga ustalenia zbioru “przyszłych<br />

użytkowników systemu”.<br />

Zazwyczaj aktorem jest osoba, ale może nim być także pewna organizacja (np.<br />

biuro prawne), inny system komputerowy lub urządzenie. Aktor modeluje grupę<br />

osób pełniących pewną rolę, a nie konkretną osobę. Jedna osoba może<br />

wchodzić w interakcję z systemem z pozycji wielu aktorów; np. być zarówno<br />

sprzedawcą, jak i klientem. I odwrotnie, jeden aktor może odpowiadać wielu<br />

konkretnym osobom, np. aktor “strażnik budynku”.<br />

(1) Czy system może być aktorem sam dla siebie Aktor to przecież, zgodnie<br />

z definicją, byt z otoczenia systemu.<br />

(2) Aktor jest pierwotną przyczyną napędzającą przypadki użycia. Jest<br />

sprawcą zdarzeń powodujących uruchomienie przypadku użycia, jest też<br />

odbiorcą danych wyprodukowanych przez przypadek użycia. Sprawca<br />

zdarzeń Czy np. klient, nie posiadający bezpośredniego dostępu do funkcji<br />

systemu jest aktorem<br />

(3) Aktor pasywny a interakcja z systemem <br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

10


Analiza aktorów<br />

Wyjaśnienie różnicy pomiędzy pojęciem „konkretny<br />

użytkownik” a pojęciem „aktor”:<br />

Konkretny<br />

użytkownik<br />

Może grać rolę<br />

Aktor<br />

zleca<br />

Przypadek użycia<br />

Jan Kowalski<br />

Administrator systemu<br />

Przeładowanie systemu<br />

Adam Malina<br />

Konkretny<br />

gość<br />

Konkretny klient<br />

Pracownik<br />

Osoba informowana<br />

Klient<br />

Wejście z kartą i kodem<br />

Uzyskanie<br />

informacji ogólnych<br />

Wypłata z konta<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

11


Wykorzystanie stereotypów dla aktorów<br />

Aktor: człowiek,<br />

grupa ludzi,<br />

organizacja<br />

Klient<br />

«actor»<br />

Klient<br />

Klient<br />

Aktor: system zewnętrzny<br />

System<br />

ubezpieczeń<br />

Aktor: czas<br />

1-szy dzień<br />

roku<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

12


Przykład diagramu przypadków użycia (1)<br />

<br />

Wpłata pieniędzy<br />

Klient<br />

Wypłata pieniędzy<br />

Czy klient jest aktorem dla przypadku użycia: wpłata pieniędzy – to zależy od<br />

konkretnego systemu. W operacjach wpłaty i wypłaty pieniędzy mogą uczestniczyć<br />

także inni aktorzy, np. kasjer. Możemy go dołączyć jako kolejny element<br />

rozbudowujący nasz model.<br />

Wpłata pieniędzy<br />

Klient<br />

Wypłata pieniędzy<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

Kasjer<br />

alternatywna notacja dla przypadków<br />

użycia<br />

13


Przykład diagramu przypadków użycia (2)<br />

ud Automat do sprzedaży papierosów<br />

Uzupełnienie<br />

towaru<br />

Klient<br />

Zakup paczki<br />

papierosów<br />

Wykonanie operacji<br />

pieniężnej<br />

Operator<br />

Sporządzenie<br />

raportu<br />

Kontroler<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

14


Liczność związków asocjacji<br />

ud Automat do sprzedaży papierosów<br />

Uzupełnienie<br />

towaru<br />

*<br />

1<br />

Klient<br />

1<br />

*<br />

Zakup paczki<br />

papierosów<br />

Wykonanie operacji<br />

pieniężnej<br />

Sporządzenie<br />

raportu<br />

*<br />

*<br />

*<br />

1<br />

Operator<br />

1<br />

1<br />

Kontroler<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

15


Oznaczanie kierunków interakcji<br />

ud Automat do sprzedaży papierosów<br />

Uzupełnienie<br />

towaru<br />

Klient<br />

Zakup paczki<br />

papierosów<br />

Wykonanie operacji<br />

pieniężnej<br />

Operator<br />

Sporządzenie<br />

raportu<br />

System<br />

archiwizujący<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

16


Relacje między przypadkami użycia (1)<br />

Przypadki użycia mogą być konstruowane w dowolnej kolejności, chyba że<br />

występują między nimi związki zależności typu «include» czy «extend».<br />

W obu poniższych diagramach P1, nazywane tu przypadkiem bazowym,<br />

zawsze występuje jako pierwsze w kolejności działania.<br />

Przebieg podstawowy (sekwencyjny): P1 zawsze włącza (używa) P2, zwane tu<br />

przypadkiem włączanym.<br />

P1<br />

«include»<br />

P2<br />

Przebieg opcjonalny (alternatywny): P1 jest czasami rozszerzane o P2, zwane<br />

tu przypadkiem rozszerzającym (inaczej: P2 czasami rozszerza P1).<br />

Sformułowanie “czasami” oznacza, że warunek na wywołanie P2 musi być<br />

spełniony, aby P2 zostało wywołane z P1. O ile warunek nie został<br />

wyspecyfikowany − co jest dopuszczalne − P2 będzie wywołane zawsze.<br />

P1<br />

«extend»<br />

P2<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

17


Relacje między przypadkami użycia (2)<br />

Rejestracja<br />

klienta<br />

«include»<br />

Przegląd<br />

samochodu<br />

«include»<br />

«extend»<br />

«include»<br />

Sprzedaż<br />

samochodu<br />

Naprawa<br />

samochodu<br />

«include» wskazuje na wspólny<br />

fragment wielu przypadków<br />

użycia (wyłączony “przed<br />

nawias”); jest wykorzystywane w<br />

przebiegach podstawowych<br />

(przypadek włączany jest zawsze<br />

wykonywany) − strzałka jest<br />

skierowana w stronę przypadku<br />

włączanego<br />

Umycie<br />

samochodu<br />

«extend»<br />

«extend»<br />

Przyholowanie<br />

samochodu<br />

«extend» jest wykorzystywane w<br />

przebiegach opcjonalnych<br />

(przypadek rozszerzający nie<br />

zawsze będzie wykonywany) −<br />

strzałka jest skierowana w stronę<br />

przypadku bazowego<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

18


Relacje między przypadkami użycia (3)<br />

Naprawa<br />

samochodu<br />

extension points:<br />

Samochód poza warsztatem<br />

Samochód wymaga przeglądu<br />

«extend»<br />

extension point:<br />

Samochód poza<br />

warsztatem<br />

«exten<br />

d»<br />

extension point:<br />

Samochód wymaga<br />

przeglądu<br />

Punkty rozszerzające<br />

(extension points)<br />

Umożliwiają podanie warunków<br />

wymaganych do użycia<br />

przypadków rozszerzających<br />

(„opcjonalnych”).<br />

Przegląd<br />

samochodu<br />

extension points:<br />

Samochód jest brudny<br />

Przyholowanie<br />

samochodu<br />

Umycie<br />

samochodu<br />

«extend»<br />

extension point:<br />

Samochód jest<br />

brudny<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

19


Relacje między przypadkami użycia (3)<br />

Uwaga: Zabronione jest łączenie relacją «include» (czy «extend») przypadków<br />

użycia występujących w różnych przebiegach systemu, jak np. na poniższym<br />

diagramie.<br />

Złożenie zamówienia<br />

Klient<br />

«extend»<br />

Dostawca<br />

Realizacja zamówienia<br />

Między złożeniem zamówienia a jego realizacją z reguły upływa trochę czasu.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

20


Związek uogólnienia między aktorami (1)<br />

Osoba<br />

Pracownik<br />

Gość<br />

Księgowa<br />

Pracownik<br />

administracji<br />

Np. Pracownik administracji dziedziczy dostęp do przypadków użycia<br />

wyspecyfikowanych dla każdego pracownika, oraz ma dostęp do przypadków<br />

związanych z jego własnym, specyficznym sposobem wykorzystywania systemu.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

21


Związek uogólnienia między aktorami (2)<br />

ud Automat do operacji bankowych<br />

Podsystem<br />

zarządzania bazą<br />

danych banku<br />

Obsługa<br />

konta klienta<br />

«include»<br />

Informowanie o<br />

stanie konta klienta<br />

«include»<br />

Weryfikacja karty<br />

i kodu klienta<br />

Klient<br />

Administrator<br />

systemu<br />

Inicjalizacja<br />

karty klienta<br />

«include»<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

22


Związek uogólnienia między aktorami (3)<br />

ud Automat do operacji bankowych<br />

Podsystem<br />

zarządzania bazą<br />

danych banku<br />

Obsługa<br />

konta klienta<br />

«include»<br />

Informowanie o<br />

stanie konta klienta<br />

«include»<br />

Weryfikacja karty<br />

i kodu klienta<br />

Klient<br />

Administrator<br />

systemu<br />

Inicjalizacja<br />

karty klienta<br />

«include»<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

23


Rozbudowa modelu przypadków użycia<br />

Wpłać<br />

pieniądze<br />

Wpłać<br />

pieniądze<br />

Kasjer<br />

Klient<br />

banku<br />

Wypłać<br />

pieniądze<br />

Sprawdź<br />

stan konta<br />

Kasjer<br />

Klient<br />

banku<br />

Wypłać<br />

pieniądze<br />

«include»<br />

Sprawdź<br />

stan konta<br />

«extend»<br />

«include»<br />

Uaktualnianie<br />

stanu konta<br />

Weź<br />

pożyczkę<br />

Zarząd<br />

banku<br />

Weź<br />

pożyczkę<br />

Zarząd<br />

banku<br />

<strong>Model</strong> przypadków użycia można rozbudowywać poprzez dodawanie nowych<br />

aktorów, nowych przypadków użycia czy też nowych relacji pomiędzy<br />

przypadkami.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

24


Diagram kontekstowy<br />

Podsystem<br />

zarządzania bazą<br />

danych banku<br />

Klient<br />

«system»<br />

Automat do<br />

operacji<br />

bankowych<br />

Administrator<br />

systemu<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

25


Przepływ zdarzeń (1)<br />

Jednym z najważniejszych elementów w opisie każdego przypadku użycia<br />

– na etapie formułowania wymagań – jest specyfikacja przepływu zdarzeń<br />

między aktorem a systemem. Specyfikację przepływu zdarzeń należy<br />

formułować w języku naturalnym: prostą, spójną prozą i w oparciu o terminy<br />

zawarte w słowniku pojęć z dziedziny problemowej.<br />

Na przykład, przepływ zdarzeń między aktorem a systemem dla<br />

bankomatu, dla przypadku użycia “Wypłać pieniądze”, mógłby być<br />

opisany, jak poniżej:<br />

1. Przypadek użycia rozpoczyna się, gdy klient wkłada kartę do<br />

bankomatu.<br />

System czyta informacje na karcie i bada ich poprawność.<br />

2. System pyta o PIN. Klient wprowadza PIN. System sprawdza<br />

poprawność.<br />

3. System pyta o rodzaj operacji do wykonania. Klient wybiera: “Wypłać<br />

pieniądze”.<br />

4. System pyta o wielkość kwoty. Klient wprowadza kwotę.<br />

5. System komunikuje się z bankiem, żeby sprawdzić poprawność ID<br />

konta, PIN i dostępność kwoty.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

26


Przepływ zdarzeń (2)<br />

6. System pyta klienta czy potrzebuje potwierdzenie.<br />

7. System komunikuje klientowi prośbę o zabranie karty. Klient zabiera<br />

kartę.<br />

Komunikat stanowi tu pewien mechanizm bezpieczeństwa chroniący<br />

klienta<br />

przed nie zabraniem karty.<br />

8. System wydaje pieniądze.<br />

9. System drukuje potwierdzenie (o ile klient sobie życzył) i to kończy<br />

przypadek użycia.<br />

Możliwe są różne, alternatywne przepływy dla tego przypadku użycia:<br />

• Dane od aktora: np. aktor może unieważnić transakcję w dowolnym momencie<br />

lub może nie chcieć potwierdzenia.<br />

• Stan systemu: np. bankomat może nie zawierać pieniędzy, może brakować<br />

papieru, może nastąpić blokada urządzenia wydającego pieniądze czy też<br />

blokada urządzenia drukującego potwierdzenie.<br />

• Time-out lub błędy: np. jeśli klient nie odpowie w określonym czasie, system<br />

może unieważnić transakcję.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

27


Scenariusze<br />

Każdy alternatywny przepływ nie oznacza oddzielnego przypadku użycia<br />

raczej grupujemy wszystkie powiązane przepływy w jeden przypadek użycia.<br />

Taką grupę przepływów czasami nazywa się klasą przypadków użycia.<br />

Wystąpieniem klasy przypadków użycia jest wtedy jeden z pojedynczych,<br />

alternatywnych przepływów.<br />

Wystąpienie klasy przypadków użycia jest także nazywane scenariuszem.<br />

Scenariusze są używane do “ekstrahowania” z przypadku użycia<br />

unikatowej sekwencji akcji, inaczej: “wątków” w przypadku użycia.<br />

Na wczesnych etapach rozwoju systemu łatwiej jest rozpocząć prace od<br />

pewnego konkretnego scenariusza, a następnie dokładać przepływy<br />

alternatywne − w ten sposób tworzy się klasę przypadków użycia.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

28


Kolejne kroki w konstrukcji modelu<br />

Konstrukcja modelu przypadków użycia opiera się na kilku krokach i wymaga ścisłej<br />

współpracy z przyszłym użytkownikiem, co implikuje zasadę: “nie opisuj przypadków<br />

użycia w sposób, który nie jest łatwo zrozumiały dla użytkownika”.<br />

Jednocześnie powinien być budowany obiektowy model analityczny (schemat pojęciowy<br />

1<br />

2<br />

Krok:<br />

Sporządzenie słownika pojęć<br />

Określenie aktorów<br />

Udokumentowany w:<br />

Słownik pojęć<br />

3<br />

4<br />

Określenie przypadków<br />

użycia<br />

Tworzenie opisu każdego<br />

przypadku<br />

użycia plus:<br />

• podział na nazwane części<br />

• znalezienie wspólnych części<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

Dokument opisu aktorów<br />

Diagram przypadków użycia +<br />

dokument z opisem przypadków<br />

użycia<br />

29


Krok 1: sporządzenie słownika pojęć<br />

• Ważnym jest, by już na tym etapie rozpocząć organizowanie słownika pojęć.<br />

• Słownik dotyczy dziedziny problemowej.<br />

• Tworzenie go polega na wyłowieniu wszystkich pojęć z wymagań<br />

użytkownika.<br />

• Pojęcia mogą odnosić się do aktorów, przypadków użycia, obiektów, operacji,<br />

zdarzeń, itp.<br />

• Pojęcia w słowniku powinny być zdefiniowane w sposób precyzyjny i<br />

jednoznaczny.<br />

• Posługiwanie się pojęciami ze słownika powinno być regułą przy opisie<br />

każdego kolejnego problemu, sytuacji czy modelu.<br />

Na co należy zwracać uwagę przy kwalifikowaniu pojęć do<br />

słownika:<br />

• na rzeczowniki − mogą oznaczać aktorów lub byty z dziedziny<br />

problemowej, na frazy opisujące funkcje, akcje, zachowanie się −<br />

mogą stanowić podstawę do wyróżniania przypadków użycia.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

30


Krok 2: określanie aktorów<br />

Przy określaniu aktorów istotne są odpowiedzi na następujące<br />

pytania:<br />

• Jaka grupa użytkowników potrzebuje wspomagania ze strony systemu (np.<br />

osoba<br />

wysyłająca korespondencję)<br />

• Jacy użytkownicy są konieczni do tego, aby system działał i wykonywał<br />

swoje<br />

funkcje (np. administrator systemu)<br />

• Z jakich elementów zewnętrznych (innych systemów, urządzeń) musi<br />

Ustalanie korzystać potencjalnych aktorów musi być powiązane z ustalaniem granic<br />

systemu, system, tj. odrzucaniem aby realizować tych obszarów swoje funkcje. dziedziny problemowej, którymi system<br />

nie będzie się zajmował (ustalenie zakresu odpowiedzialności systemu).<br />

Po wyszukaniu aktorów, należy ustalić:<br />

• nazwę dla każdego aktora/roli,<br />

• zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy<br />

zakresami (np. sekretarka pracownik administracji pracownik dowolna<br />

osoba). Niekiedy warto ustalić hierarchię dziedziczenia dostępu do funkcji<br />

systemu dla aktorów.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

31


Krok 3: określanie przypadków użycia (1)<br />

Nazwy dla przypadków użycia powinny być krótkie, ale jednoznacznie<br />

określające charakter zadania zlecanego systemowi przez aktora. Ponadto,<br />

nazwy powinny odzwierciedlać czynności z punktu widzenia aktorów, a nie<br />

systemu, czyli np. “wpłacanie pieniędzy”, a nie “przyjęcie pieniędzy od klienta”.<br />

funkcja systemu ≡ zachowanie systemu ≡ przypadek użycia<br />

Dla każdego aktora, znajdź zadania: (1) w których system może go wesprzeć w<br />

działalności związanej z dziedziną przedmiotową, (2) niezbędne dla wspomagania<br />

działania systemu jako takiego (np. zakładanie kont użytkowników).<br />

Staraj się powiązać w jeden przypadek użycia zespół zadań realizujących<br />

podobne cele. Unikaj rozbicia jednego przypadku na zbyt wiele pod-przypadków.<br />

Opisz przypadki użycia przy pomocy zdań w języku naturalnym, używając<br />

terminów ze słownika.<br />

Uporządkuj aktorów i przypadki użycia w postaci diagramu.<br />

Przeanalizuj zarówno wyspecyfikowane przypadki użycia (niektóre z nich mogą<br />

być „mutacjami” innych przypadków użycia), jak i powiązania aktorów z przypadkami<br />

użycia. Ustal, co jest zbędne, a co może być uogólnione.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

32


Określanie przypadków użycia (2)<br />

W pierwszym podejściu skup się na tzw. „przypadkach krytycznych”, czyli takich,<br />

które stanowią istotę systemu (są normalnym, standardowym użyciem) lub są<br />

ważne z powodu istniejących w projekcie ryzyk (np. ryzyk technologicznych). Pomiń<br />

czynności wyjątkowe, uzupełniające lub opcjonalne; pomiń przypadki użycia typu<br />

Create Read Update Delete.<br />

Określ wzajemne powiązania przypadków, wyspecyfikuj rodzaj zależności:<br />

sekwencja («include») czy alternatywa («extend»).<br />

Dodaj zachowania wyjątkowe, uzupełniające, opcjonalne i CRUD. Ustal związki<br />

“przypadków krytycznych” z tego rodzaju zachowaniami.<br />

Tworząc podział każdego przypadku użycia na nazwane części (bloki), staraj się,<br />

aby nie były one ani zbyt ogólne ani zbyt szczegółowe. Zbyt szczegółowe bloki<br />

utrudniają analizę, a zbyt ogólne zmniejszają możliwość wykrycia fragmentów<br />

oprogramowania posiadających potencjał ponownego użycia. Całość diagramu nie<br />

może być ani zbyt duża ani zbyt złożona.<br />

Przeanalizuj przypadki użycia pod kątem wyizolowania bloków ponownego<br />

użycia. Przeanalizuj podobieństwo nazw przypadków użycia, Wydzielenie bloku<br />

ponownego użycia może być powiązane z określeniem bardziej ogólnych zadań lub<br />

dodaniu nowych elementów do już istniejącego zadania.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

33


Krok 4: dokumentowanie przypadków użycia<br />

Dokumentacja przypadków użycia powinna zawierać:<br />

1. Diagramy przypadków użycia: aktorzy, przypadki użycia i relacje zachodzące<br />

między<br />

przypadkami.<br />

2. Krótki, ogólny opis każdego przypadku użycia:<br />

• jak i kiedy przypadek użycia zaczyna się i kończy,<br />

• opis interakcji przypadku użycia z aktorami, włączając w to kiedy<br />

interakcja ma<br />

miejsce i co jest przesyłane,<br />

• kiedy i do czego przypadek użycia potrzebuje danych zapamiętanych w<br />

systemie oraz jak i kiedy zapamiętuje dane w systemie,<br />

• wyjątki występujące przy obsłudze przypadku,<br />

• specjalne wymagania, np. czas odpowiedzi, wydajność,<br />

3. Opis szczegółowy każdego przypadku użycia:<br />

• scenariusz(e)<br />

• specyfikację uczestniczących obiektów,<br />

• diagram(y) interakcji.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

34


Dokumentacja przypadku Wypożycz kasetę<br />

Nazwa<br />

Nr id 7<br />

Autor<br />

Priorytet<br />

Typ<br />

Aktorzy<br />

Opis<br />

Warunek początkowy<br />

Warunek końcowy<br />

(1)<br />

Wypożycz kasetę<br />

Jan Kowalski - analityk<br />

Wysoki<br />

Ogólny<br />

Pracownik wypożyczalni<br />

Przypadek dotyczy rejestracji wypożyczenia kaset; kasety<br />

przeznaczone dla dorosłych można wypożyczać od 18-tego roku<br />

życia; jednocześnie można mieć wypożyczonych co najwyżej 5<br />

kaset; nie wolno wypożyczać osobie, która aktualnie znajduje<br />

się w okresie karencji<br />

Osoba wypożyczająca powinna być zarejestrowana jako klient<br />

wypożyczalni<br />

O ile warunki wypożyczenia zostały zrealizowane, to powinny<br />

zostać zarejestrowane następujące informacje o wypożyczeniu<br />

kasety : kto wypożyczył, co wypożyczył i kiedy wypożyczył


Dokumentacja przypadku Wypożycz kasetę<br />

(2)<br />

Główny przepływ zdarzeń<br />

Alternatywne przepływy<br />

zdarzeń<br />

1. Pracownik wypożyczalni uruchamia przypadek Wypożycz<br />

kasetę.<br />

2. System odpytuje o nazwisko i imię osoby wypożycząjącej.<br />

Pracownik wprowadza odpowiednie informacje.<br />

3. System odpytuje o tytuł filmu. Pracownik wprowadza tytuł.<br />

4. System rejestruje wypożyczenie kasety z filmem (kto, co,<br />

data wypożyczenia).<br />

2a O ile osoba wypożyczająca nie jest zarejestrowana w<br />

systemie, system informuje o tym aktora i kończy<br />

przypadek użycia<br />

2b. O ile jest zarejestrowana więcej niż jedna osoba o tym<br />

samym nazwisku i imieniu, system wyświetla okno z<br />

listą osób. Pracownik wybiera odpowiednią osobę z listy.<br />

3a O ile aktualnie nie ma filmu o tym tytule w zasobach<br />

wypożyczalni, lub wszystkie kasety z filmem są<br />

wypożyczone, system informuje o tym aktora i kończy<br />

przypadek.<br />

3b O ile film jest przeznaczony dla osób dorosłych a osoba<br />

wypożyczająca nie ukończyła 18-tu lat, system informuje o<br />

tym aktora i kończy przypadek.


Dokumentacja przypadku Wypożycz kasetę<br />

(3)<br />

Alternatywne przepływy<br />

zdarzeń, cd.<br />

Wymagania niefunkcjonalne<br />

3c Jeśli osoba wypożyczająca ma już aktualnie co najmniej<br />

pięć wypożyczonych kaset na koncie, system informuje<br />

o tym aktora i kończy przypadek.<br />

3d Jeśli osoba wypożyczająca znajduje się aktualnie w<br />

okresie karencyjnym, system informuje o tym aktora i<br />

kończy przypadek.<br />

Brak<br />

Uwagi dodatkowe<br />

Brak


Podsumowanie<br />

Główne zadanie modelu przypadków użycia to określenie poprawnych<br />

wymagań funkcjonalnych na projektowany system, co jest uznawane za<br />

jeden z podstawowych problemów w procesie budowy systemu.<br />

Ponadto, model przypadków użycia pozwala na:<br />

• lepsze zrozumienie możliwych sposobów wykorzystania projektowanego<br />

systemu (przypadków użycia), lepsze zrozumienie jego funkcjonalności − co w<br />

efekcie oznacza zwiększenie stopnia świadomości uczestników projektu co do<br />

celów systemu,<br />

• umożliwienie interakcji zespołu projektowego z przyszłymi użytkownikami<br />

systemu,<br />

• ustalenie praw dostępu do zasobów,<br />

• zrozumienie strukturalnych własności systemu, a przez to ustalenie<br />

składowych systemu i związanego z nimi planu budowy systemu,<br />

• dostarczenie podstawy do sporządzenia harmonogramu prac,<br />

• dostarczenie bazy do budowy planu testów systemu,<br />

Przypadki użycia powinny odwzorowywać strukturę systemu<br />

tak, jak tę strukturę widzą przyszli użytkownicy systemu.<br />

<strong>Model</strong>owanie Systemów Informacyjnych (MSI), wykład 2<br />

38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!