• Nie Znaleziono Wyników

Modele wg Jacobsona

N/A
N/A
Protected

Academic year: 2021

Share "Modele wg Jacobsona"

Copied!
24
0
0

Pełen tekst

(1)

Modele wg Jacobsona

Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające zachowanie się systemu w interakcji z jego zewnętrzem.

Obiektowy model dziedziny: odwzorowywuje byty świata rzeczywistego (czyli dziedziny problemowej) w obiekty istniejące w systemie.

Obiektowy model analityczny: efekt fazy analizy dla konkretnego zastosowania.

Model projektowy (logiczny): opisuje założenia przyszłej implementacji.

Model implementacyjny (fizyczny): reprezentuje konkretną implementację systemu.

Model testowania: określa plan testów, specyfikuje dane testowe i raporty.

Modele wymagają odpowiednich procesów ich tworzenia

 Proces analizy wymagań, składa się z dwóch podprocesów:

- proces modelowania przypadków użycia

- Proces analizy związany z obiektowym modelem analitycznym

 Proces projektowania

 Proces implementacji

 Proces testowania

(2)

Model analityczny

Model analityczny z reguły wykracza poza zakres odpowiedzialności systemu.

Zakres

odpowiedzialności systemu

Model analityczny Celem budowy modelu analitycznego może być

wykrycie tych fragmentów dziedziny problemu, których wspomaganie za pomocą innego oprogramowania będzie szczególnie przydatne.

Ujęcie w modelu pewnych elementów dziedziny problemu nie będących częścią systemu czyni model bardziej zrozumiałym. Przykładem jest ujęcie w modelu systemów zewnętrznych, z którymi system ma współpracować.

Na etapie modelowania może nie być jasne, które elementy modelu będą realizowane przez oprogramowanie, a które w sposób sprzętowy lub ręcznie.

Dziedzina problemu Dostępne środki mogą nie pozwolić na

realizację systemu w całości.

Przyczyny:

(3)

Model wymagań

 Model przypadków użycia

 Obiektowy model analityczny Składowe:

Model przypadków użycia wykorzystuje dwa podstawowe pojęcia:

Aktor

Przypadek użycia

Reprezentuje rolę, którą może grać w sytemie jakiś jego użytkownik; (np.

kierownik, urzędnik, klient)

Reprezentuje sekwencję operacji, niezbędnych do wykonania zadania zleconego przez aktora, np.

potwierdzenie pisma, złożenie zamówienia, itp.

Aktorem jest dowolny byt zewnętrzny, który uczestniczy w interakcji z systemem.

Każdy potencjalny aktor może wchodzić w interakcję z systemem na pewną liczbę jemu właściwych sposobów. Każdy z tych sposobów nosi nazwę przypadku użycia i reprezentuje przepływ operacji w systemie związany z obsługą zadania zleconego przez aktora w procesie interakcji.

(4)

Notacja

Przypadek użycia: Powinien mieć unikalną nazwę, opisującą przypadek użycia z punktu widzenia jego zasadniczych celów.

Czy lepiej jest stosować nazwę opisującą czynność (“wypłata pieniędzy”) czy polecenie (“wypłać pieniądze”) - zdania są

podzielone.

Aktor: Powinien mieć unikalną nazwę.

Interakcja: Pokazuje interakcję pomiędzy przypadkiem użycia a aktorem.

Blok ponownego użycia: Pokazuje fragment systemu, który jest używany przez kilka przypadków użycia; może być oznaczony jako samodzielny przypadek użycia.

Relacja typu

«

include

»

lub

«

extend

»

: Pokazuje związek zachodzący między dwoma przypadkami użycia lub przypadkiem użycia a blokiem ponownego użycia.

Nazwa systemu wraz z otoczeniem systemu: Pokazuje granicę

weryfikacja klienta wypłata pieniędzy

System obsługi klienta

«

include

»

klient

(5)

Aktor - konkretny byt czy rola?

Metoda przypadków użycia wymaga od analityka określenia wszystkich aktorów związanych z wykorzystywaniem projektowanego systemu, czyli określenia

“przyszłych użytkowników systemu”.

Zazwyczaj aktorem jest osoba, ale może nim być także pewna organizacja (np. biuro prawne) lub inny system komputerowy. Aktor modeluje grupę osób pełniących pewną rolę, a nie konkretną osobę. Jedna osoba może wchodzić w interakcję z systemem z pozycji wielu aktorów; np. być zarówno sprzedawcą, jak i klientem. I odwrotnie, jeden aktor może odpowiadać wielu konkretnym osobom, np. aktor “strażnik budynku”.

Aktor jest tu pierwotną przyczyną napędzającą przypadki użycia. Jest on sprawcą zdarzeń powodujących uruchomienie przypadku użycia, jak też odbiorcą danych wyprodukowanych przez przypadki użycia. Sprawca zdarzeń? Czy np. klient, nie posiadający bezpośredniego dostępu do funkcji systemu jest tu aktorem?

Czy system może być aktorem sam dla siebie ? Aktor to przecież, zgodnie z definicją, byt z otoczenia systemu.

(6)

Analiza aktorów

Wyjaśnienie różnic pomiedzy konkretnymi użytkownikami a aktorami

Użytkownik Aktor Przypadek użycia

Może grać rolę zleca

Jan Kowalski Adam Malina

Gość

Konkretny klient

Administrator systemu Pracownik

Osoba informowana Klient

Przeładowanie systemu Wejście z kartą i kodem

Uzyskanie informacji ogólnych

Wypłata z konta

(7)

Przykład diagramu przypadków użycia (1)

wpłata pieniędzy

wypłata pieniędzy

Czy klient jest aktorem dla przypadku użycia: wpłata pieniędzy - zdania są podzielone.

W operacjach wpłaty i wypłaty pieniędzy mogą uczestniczyć także inni aktorzy, np. kasjer.

Możemy go dołączyć jako kolejny element rozbudowujący nasz model.

wpłata pieniędzy

wypłata pieniędzy

klient

klient kasjer

?

(8)

Przykład diagramu przypadków użycia (2)

Automat do sprzedaży

papierosów

zakup paczki papierosów

uzupełnienie towaru

operacja pieniężna

sporządzenie raportu

otoczenie systemu

granica systemu wnętrze systemu

klient operator

kontroler

(9)

Zależności między przypadkami użycia

Przypadki użycia mogą być konstruowane w dowolnej kolejności, chyba że występują między nimi relacje typu

«

include

»

czy

«

extend

»

.

p1

«

include

»

p2

p1

«

extend

»

p2

Przebieg podstawowy (sekwencyjny): p1 zawsze włącza (używa) p2.

Przebieg opcjonalny (alternatywny): p1 jest czasami rozszerzane o p2 (inaczej: p2 czasami rozszerza p1).

p1 jest tu przypadkiem bazowym i zawsze występuje jako pierwsze w kolejności działania.

(10)

Relacja: « include »

podsystem zarządzania bazą

danych banku

klient

administrator systemu

prowadzenie konta klienta

informowanie o stanie konta klienta

inicjalizacja karty klienta

weryfikacja karty i kodu klienta Automat do operacji bankowych

«

include

»

«

include

»

«

include

»

(11)

Relacje: « include » i « extend »

«

include

»

: wskazuje na wspólny fragment wielu przypadków użycia (wyłączony “przed nawias”);

wykorzystywane w przebiegach podstawowych (operacje zawsze wykonywane)

«

extend

»

: strzałka prowadzi od przypadku użycia, który czasami rozszerza inny przypadek użycia - wykorzystywane w przebiegach opcjonalnych (operacje nie

zawsze ykonywane) naprawa

samochodu przegląd

samochodu

sprzedaż samochodu rejestracja

klienta

«

include

»

«

include

» «

include

»

umycie samochodu

«

extend

»

przyholowanie samochodu

«

extend

»

«

extend

»

(12)

Rozbudowa modelu przypadków użycia

Model przypadków użycia można rozbudowywać poprzez dodawanie nowych

klient banku

wpłata pieniędzy

wypłata pieniędzy

kasjer

sprawdź stan konta

weź

pożyczkę zarząd

banku

klient banku

wpłata pieniędzy

wypłata pieniędzy

kasjer

sprawdź stan konta

weź

pożyczkę zarząd

banku

«

include

»

uaktualnianie stanu konta

«

include

»

«

extend

»

(13)

Diagram interakcji dla przypadku użycia

Przesyłanie komunikatów pomiędzy blokami:

k1

k2 k3

k4

k5

Blok 1 Blok 2 Blok 3 Blok 4

Bloki - obiekt

k - komunikat, czyli polecenie wykonania operacji; komunikat nosi nazwę tej operacji czas

Aktor

(14)

Przykład diagramu interakcji

wpłata pieniędzy

:Formularz :Kasa :Konto :Bank

wypełnij

podaj formularz zwiększ

zwiększ bilans zwiększ

bilans

wydaj

:Klient

scenariusz Wypełnij formularz wpłaty

Podaj formularz i gotówkę do kasy Zwiększ konto klienta

Zwiększ bilans kasy Zwiększ bilans banku

Wydaj pokwitowanie dla klienta

(15)

Stopień szczegółowości diagramów

Model przypadków użycia dostarcza bardzo abstrakcyjnego spojrzenia na system - spojrzenia z pozycji aktorów, którzy go używają. Nie włącza zbyt wielu szczegółów, co pozwala wnioskować o fukcjonalności systemu na odpowiednio wysokim poziomie. Podstawowym (choć nie jedynym) zastosowaniem jest tu dialog z przyszłymi użytkownikami zmierzający do sformułowania poprawnych wymagań na system.

edycja programu

kompilacja programu

wykonanie programu

drukowanie pliku

programista użytkownik

«

include

»

«

include

»

Tworzenie przypadków użycia jest niezdeterminowane i subiektywne. Na ogół, różni analitycy tworzą różne modele.

Model zbyt szczegółowy - utrudnia analizę, zbyt ogólny - nie pozwala na wykrycie bloków ponownego użycia.

(16)

Kolejne kroki w konstrukcji modelu

Konstrukcja modelu przypadków użycia opiera się na kilku krokach i wymaga ścisłej współpracy z przyszłym użytkownikiem, co implikuje zasadę: “nie opisuj przypadków użycia w sposób, który nie jest łatwo zrozumiały dla użytkownika”.

Jednocześnie powinien być budowany model obiektowy.

Krok: Udokumentowany w:

Sporządzenie słownika pojęć

Słownik pojęć Określenie aktorów

Określenie przypadków użycia

Tworzenie opisu każdego przypadku użycia plus:

 podział na nazwane części

 znalezienie wspólnych części

Dokument opisu aktorów

Diagram przypadków użycia + dokument opisu przypadków użycia

1 2 3 4

(17)

Sporządzanie słownika pojęć

 Słownik dotyczy dziedziny problemowej.

 Tworzenie go polega na wyłowieniu wszystkich terminów z wymagań użytkownika.

 Terminy mogą odnosić się do aktorów, przypadków użycia, obiektów, operacji, zdarzeń, itp.

 Terminy w słowniku powinny być zdefiniowane w sposób precyzyjny i jednoznaczny.

 Posługiwanie się terminami ze słownika powinny być regułą przy opisie każdego kolejnego problemu, sytuacji czy modelu.

Na co należy zwrócić uwagę przy kwalifikowaniu terminów do słownika:

 na rzeczowniki - mogą one oznaczać aktorów lub byty z dziedziny problemowej

 na frazy opisujące funkcje, akcje, zachowanie się - mogą one być podstawą wyróżnienia przypadków użycia.

 Ważnym jest, by już na tym etapie rozpocząć organizowanie słownika pojęć.

Konto - pojedyncze konto w banku, w stosunku do którego wykonywane są bieżące transakcje. Konta mogą być różnych typów, a w szczególności: konta indywidualne, małżeńskie, firmowe i inne. Każdy klient może posiadać więcej niż jedno konto.

Przykład:

(18)

Określanie aktorów

Przy określaniu aktorów istotne są odpowiedzi na następujące pytania:

 Jaka grupa użytkowników potrzebuje wspomagania ze strony systemu (np. osoba wysyłająca korespondencję)?

 Jacy użytkownicy są konieczni do tego, aby system działał i wykonywał swoje funkcje (np. administrator systemu)?

 Z jakich elementów zewnętrznych (innych systemów, komputerów, czujników, sieci, itp.) musi korzystać system, aby realizować swoje funkcje.

Ustalanie potencjalnych aktorów musi być powiązane z ustalaniem granic systemu,

tj. odrzucaniem obszarów dziedziny problemowej, którymi system nie będzie się zajmować (zakres odpowiedzialności systemu).

 nazwę dla każdego aktora/roli,

 zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy zakresami (np. sekretarka  pracownik administracji  pracownik  dowolna osoba). Niekiedy Po wyszukaniu aktorów, należy ustalić:

(19)

Struktury dziedziczenia dla aktorów

Np. pracownik administracji dziedziczy dostęp do przypadków użycia wyspecyfikowanych dla każdego pracownika, oraz ma dostęp do przypadków związanych z jego własnym, specyficznym sposobem wykorzystywania systemu.

osoba

pracownik gość

księgowa pracownik

administracji

(20)

Określanie przypadków użycia (1)

 Dla każdego aktora, znajdź funkcje (zadania), które powinien wykonywać w zwiazku z jego działalnością w zakresie zarówno dziedziny przedmiotowej, jak i wspomagania działalności systemu informacyjnego.

 Staraj się powiązać w jeden przypadek użycia zespół funkcji realizujących podobne cele.

Unikaj rozbicia jednego przypadku użycia na zbyt wiele pod-przypadków.

 Nazwy dla przypadków użycia: powinny być krótkie, ale jednoznacznie określające

charakter zadania lub funkcji. Nazwy powinny odzwierciedlać czynności z punktu widzenia aktorów, a nie systemu, np. “wpłacanie pieniędzy”, a nie “przyjęcie pieniędzy od klienta”.

 Opisz przypadki użycia przy pomocy zdań w języku naturalnym, używając terminów ze słownika.

 Uporządkuj aktorów i przypadki użycia w postaci diagramu.

 Niektóre z powstałych w ten sposób przypadków użycia mogą być mutacjami lub

szczególnymi przypadkami innych przypadków użycia. Przeanalizuj powiązania aktorów z przypadkami użycia i ustal, które z nich są zbędne lub mogą być uogólnione.

(21)

Określanie przypadków użycia (2)

 Wyodrębnij “przypadki bazowe”, czyli te, które stanowią istotę zadań, są normalnym, standardowym użyciem. Pomiń czynności skrajne, wyjątkowe, uzupełniające lub opcyjne.

 Nazwij te “przypadki bazowe”. Ustal powiązania “przypadków bazowych” z innymi przypadkami, poprzez ustalenie ich wzajemnej zależności: sekwencji czy alternatywy.

 Dodaj zachowania skrajne, wyjątkowe, uzupełniające lub opcjonalne. Ustal powiązanie

“przypadków bazowych” z tego rodzaju zachowaniem. Może ono byc także powiązane w pewną strukturę.

 Staraj się, aby bloki specyfikowane wewnątrz każdego przypadku użycia nie były zbyt ogólne lub zbyt szczegółowe. Zbyt szczegółowe bloki utrudniają analizę. Zbyt ogólne bloki zmniejszają możliwość wykrycia bloków ponownego użycia. Struktura nie może być zbyt duża i złożona.

 Staraj się wyizolować bloki ponownego użycia. Przeanalizuj podobieństwo nazw przypadków użycia, podobieństwo nazw i zachowania bloków ponownego użycia występujących w ich specyfikacji. Wydzielenie bloku ponownego użycia może być powiązane z określeniem bardziej ogólnej funkcji lub dodaniu nowej specjalizacji do istniejącej funkcji.

(22)

Dokumentowanie przypadków użycia

1. Diagramy przypadków użycia: aktorzy, przypadki użycia i relacje zachodzące między przypadkami.

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

Dokumentacja przypadków użycia powinna zawierać:

3. Opis szczegółowy każdego przypadku użycia:

 scenariusz(e)

 specyfikację uczestniczących obiektów,

 jak i kiedy przypadek użycia zaczyna się i kończy,

 opis interakcji przypadku użycia z aktorami, włączając w to kiedy interakcja ma miejsce i co jest przesyłane,

 kiedy i do czego przypadek użycia potrzebuje danych zapamiętanych w systemie oraz jak i kiedy zapamiętuje dane w systemie,

 wyjątki występujące przy obsłudze przypadku,

 specjalne wymagania, np. czas odpowiedzi, wydajność,

 jak i kiedy używane są pojęcia dziedziny problemowej.

(23)

Zadania modelu przypadków użycia

Główne zadanie modelu przypadków użycia to prawidłowe określenie wymagań funkcjonalnych na projektowany system. Prawidłowe określenie funkcjonalności systemu uznawane jest za jeden z podstawowych problemów w procesie konstrukcji.

Przypadki użycia odwzorowywują strukturę systemu tak, jak ją widzą jego użytkownicy.

lepsze zrozumienie możliwych sposobów wykorzystania projektowanego systemu (przypadków użycia), co oznacza zwiększenie stopnia świadomości analityków i projektantów co do celów systemu, czyli innymi słowy jego funkcjonalności,

umożliwienie interakcji zespołu projektowego z przyszłymi użytkownikami systemu,

ustalenie praw dostępu do zasobów,

zrozumienie strukturalnych własności systemu, a przez to ustalenie składowych systemu i związanego z nimi planu konstrukcji systemu,

dostarczenie podstawy do sporządzenia planu testów systemu,

weryfikację poprawności i kompletności projektu.

Model przypadków użycia pozwala na:

(24)

Przypadki użycia w analizie

Eksperci

Użytkownicy

Doświadczenie w dziedzinie przedmiotowej

Przypadki użycia

Model dziedziny

Model zastosowania

Model analizy

mocny wpływ słaby wpływ

Cytaty

Powiązane dokumenty

Związku zawierania używa się wówczas, gdy z kilku innych przypadków użycia można. wydzielić pewną

Blok ponownego użycia: Pokazuje fragment systemu, który jest używany przez kilka przypadków użycia; może być oznaczony jako samodzielny przypadek użycia.. Relacja typu

Diagramy przypadków użycia służą do modelowania perspektywy przypadków użycia systemu, a w tym do opisywania otoczenia systemu, podsystemu lub klasy lub określania

Usługi uzupełniające to przeglądanie aktywnych aukcji, przeglądanie historii zawartych transakcji, a także finalizacja transakcji, związana z odnotowaniem zapłaty oraz

Blok ponownego użycia: Pokazuje fragment systemu, który jest używany przez kilka przypadków użycia; może być oznaczony jako samodzielny przypadek użycia.. Relacja typu

– Dalsza analiza reguł działania i wymagań użytkownika może prowadzić do wyodrębnienia przypadków użycia opisujących sposoby używania systemu do poszczególnych

Wypełniając formularz, student może także przeglądać rozkłady zajęć, kontrolować, czy wybrane zajęcia nie nakładają się na siebie, sprawdzać, jakie zaliczenia wymagane są do

Celem ćwiczenia jest stworzenie modelu systemu służącego do obsługi zgłoszeń systemowych na podstawie