Przypadki użycia Czyli jak opisywać funkcjonalność Jerzy Nawrocki Jerzy.Nawrocki@cs.put.poznan.pl Mirosław Ochodek Miroslaw.Ochodek@cs.put.poznan.pl
Wymagania w kontekście procesu wytwarzania Opis problemu Scenariusze operacyjne Wymagania Projekt & Implementacja
Struktura SRS 1. Introduction 2. Overall description of the product 3. Functional requirements 3.1 Aktor (rola) 3.1.1 Funkcja 1 3.1.2 Funkcja 2 4. Non-functional requirements Appendices Index IEEE Std 830-1998
Ivar Jacobson 1967: Ericsson, telecommunication systems 1985: Ph.D., Dep. of Computer Systems, The Royal Institute of Tech., Stockholm 1987: Founder of Objectory AB -> (Objectory Process) 1995: Objectory AB merges with Rational 2003: IBM buys Rational http://www.analisi-disegno.com/uml/jacobsoninterview.html http://www.jaczone.com/
Use Case Diagram w UML Find flight Travel agent Construct itinerary Reserve flight Issue ticket Airline reservation Merchant bank
Przypadek użycia jako zbiór scenariuszy Ten sam cel Scenariusz #1 Scenariusz #2 Use Case Scenariusz #3
Scenariusze wypłata z bankomatu Nazwa: Wypłata z bankomatu Aktor: Wypłacający, (Bankomat) Scenariusz #1 1. Bankomat prosi o włożenie karty 2. Wypłacający wkłada kartę 3. Bankomat prosi o podanie nr PIN 4. Wypłacający podaje nr PIN 5. Bankomat prosi o podanie kwoty 6. Wypłacający podaje kwotę i zatwierdza 7. Bankomat wypłaca podaną kwotę
Scenariusze wypłata z bankomatu Nazwa: Wypłata z bankomatu Aktor: Wypłacający, (Bankomat) Scenariusz #2 1. Bankomat prosi o włożenie karty 2. Wypłacający wkłada kartę 3. Bankomat prosi o podanie nr PIN 4. Wypłacający podaje błędny nr PIN 5. Bankomat informuje o podaniu błędnego nr PIN 6.
Scenariusze wypłata z bankomatu Nazwa: Wypłata z bankomatu Aktor: Wypłacający, (Bankomat) Scenariusz #3 1. Bankomat informuje o awarii 2.
Use Case - wypłata z bankomatu Nazwa: Wypłata z bankomatu Aktor: Wypłacający, (Bankomat) Scenariusz główny: 1. Bankomat prosi o włożenie karty 2. Wypłacający wkłada kartę 3. Bankomat prosi o podanie nr PIN 4. Wypłacający podaje nr PIN 5. Bankomat prosi o podanie kwoty 6. Wypłacający podaje kwotę i zatwierdza 7. Bankomat wypłaca podaną kwotę Rozszerzenia: 1.A. Bankomat nieczynny 1.A.1. Bankomat informuje o awarii (Koniec) 4.A. Podano zły nr PIN 4.A.1. Bankomat informuje o podaniu złego nr PIN [3.]. 7.A. Nie ma wystarczającej gotówki do wypłaty 7.A.1. Bankomat informuj o braku gotówki i podaje maksymalną kwotę wypłaty [5.].
Poziomy przypadków Book trip Business Level Book flight Book hotel User Level Find flight Reserve seat Find hotel Reserve room Subfunction Level
Błędy w use case ach Opis interfejsu użytkownika (np. klika, zamyka okienko ) Zbyt dużo przypadków użycia niskiego poziomu. Używanie przypadków użycia do opisu niebehawioralnych części systemu (np. formularze) Zbyt długie (prawidłowa długość 3-9 kroków) Nie przedstawia pełnego scenariusza (lub brak alternatywnych ścieżek) Omijanie nazw aktorów w krokach
Wzbogacanie use case ów
Trening Sprawdzenie poczty Dodanie kontaktu do książki Wysłanie poczty
Zadanie Napisać specyfikację wymagań funkcjonalnych w postaci przypadków użycia dla sklepu internetowego 6-10 przypadków użycia Można wzbogacić przypadki użycia o szkice ekranów Sklep powinien mieć koszyk zakupowy, logowanie do systemu Dołącz diagram przypadków użycia UML
ISO 9126 wymagania pozafukcjonalne
Struktura SRS 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 3.1 Członek PTL 3.1.1 Czytanie danych 3.1.2 Aktualizacja danych 3.2 Zarząd PTL 3.2.1 Wysyłanie korespondencji 4. Wymagania pozafunkcjonalne Dodatki Indeks IEEE Std 830-1998
Wprowadzenie do ISO 9126 ISO 9126: Software Engineering Product Quality Part 1: Quality Model Part 2: External Metrics Part 3: Internal Metrics Part 4: Quality-in-use Metrics
Jakość w cyklu życia Proces rozwoju Jakość procesu Atrybuty jakości wewn. Produkt programistyczny Atrybuty jakości zewn. Wpływa Wpływa Wpływa Efekt użycia produktu Atrybuty jakości użytkow.
Jakość w cyklu życia Atrybuty jakości wewn. Produkt programistyczny Wpływa Atrybuty jakości zewn. Wpływa Efekt użycia produktu Atrybuty jakości użytkow.
Jakość wewnętrzna i zewnętrzna External and Internal Quality Characteristics Functionality Reliability Usability Efficiency Maintainability Portability
Jakość wewnętrzna i zewnętrzna External and Internal Quality Characteristics Funkcjonalność Niezawodność Użyteczność Wydajność Łatwość utrzymania Przenośność
Przypadki użycia Dziękuje za uwagę