Przypadki użycia są podstawowym narzędziem specyfikacji wymagań. Opisują one funkcjonowanie systemu z punktu widzenia jego użytkowników lub zewnętrznych systemów (zazwyczaj jako czarną skrzynkę):
Przypadek użycia to specyfikacja ciągów akcji i ich wariantów, które system lub inna jednostka może wykonać poprzez interakcję z aktorem tego sytemu, który prowadzi do obserwowalnego rezultatu, zazwyczaj mającego wartość dla jednego lub kilku aktorów lub innych udziałowców systemu
Przypadki użycia definiują scenariusz określający w jakiej kolejności są przesyłane dane i zdarzenia pomiędzy obiektami na zewnątrz systemu (użytkownikami, interfejsami) a systemem.
Opcjonalny element dokumentacji | |
---|---|
Graficzny interfejs użytkownika | Schematyczny projekt interfejsu użytkownika (dialogi, formularze) pozwala pozostałym udziałowcom (właścicielom, użytkownikom końcowym) na ocenę projektowanego interfejsu oraz weryfikację danych wejściowych i wyjściowych. |
Wiele przypadków użycia można zidentyfikować analizując model dziedziny i odpowiadając na pytania: jakie dane system będzie przetwarzał. Np. dla biblioteki zapewne będzie to
Definiowanie jest popularną nazwą dla przypadku użycia obejmującego tzw. operacje CRUD (Create, Read, Update, Delete). Zazwyczaj główny przebieg to dodawanie, alternatywne to pozostałe operacje.
Więcej - na początku tekstu Antywzorce w stosowaniu UML
Pomiędzy przypadkami użycia mogą zachodzić relacje oznaczane «include» i «extend»
Alternatywnie, możemy podać prewarunek: użytkownik musi być zalogowany. Nie warto tworzyć przypadku użycia, który miałby być włączony tylko jeden raz!
Np. dla przykładu Budzik – Ustawianie daty i czasu zamiast: 3 ustawianie daty za pomocą klawiszy góra dół – wprowadzamy datę za pomocą klawiszy numerycznych
Dalsze przykłady można znaleźć w literaturze.
Relacje to dobry temat na egzamin, ale nie należy ich nadużywać. Proszę zajrzeć do Antywzorców
Przypadki użycia definiują wymagania stawiane systemowi, są powszechnie akceptowane jako metoda komunikacji z klientem i są źródłem testów i podstawą do akceptacji gotowego systemu.
Naturalne jest, że klient zatwierdzając przypadek użycia jest także zainteresowany przesyłanymi danymi i ich kompletnością i spójnością.
Zazwyczaj definiowanie przypadków użycia następuje PO etapie analizy dziedziny (określenie klas i ich powiązań). W naszym przypadku tę rolę ma pełnić ERD oraz specyfikacje przepływów danych.
Dlatego należy unikać ogólników:
1. Pracownik wprowadza dane 2. System po weryfikacji zapisuje dane w bazie
Lepiej:
Scenariusz główny
1. Pracownik wprowadza dane klienta (imię, nazwisko, datę urodzenia, numer pesel, adres) 2. System weryfikuje dane. 3. System dodaje klienta do bazy klientów
Scenariusz alternatywny
2.a. Klient o danym numerze pesel jest już w bazie
2.a.1 System wyświetla komunikat, że użytkownik o danym numerze pesel istnieje i pyta czy zmodyfikować dane 2.a.2 Pracownik potwierdza 2.a.3. System zapisuje zmodyfikowane dane w bazie klientów; przypadek użycia kończy się
2.a.2.a Pracownik wybiera opcję ponownej edycji danych 2.a.2.a.1 System ponownie wyświetla formatkę wypełnioną danymi. Pole pesel jest puste. 2.a.2.a.2 Następuje powrót do punktu (1) scenariusza głównego
2.b. Brak zgodności numeru pesel i daty urodzenia .... itd.
Definiując przypadki użycia należy wystrzegać się: