Dr Katarzyna Grzesiak-Kopeć

Podobne dokumenty
Dobre wdrożenia IT cz. I Business Case.

Inżynieria oprogramowania II

Wprowadzenie do przedmiotu 1

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Podstawy programowania III WYKŁAD 4

IO - inżynieria oprogramowania. dr inż. M. Żabińska, zabinska@agh.edu.pl

Diagram przypadków użycia

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Analiza i projektowanie obiektowe 2015/2016. Wykład 2: Przypadki użycia

Inżynieria oprogramowania (Software Engineering)

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

elektroniczna Platforma Usług Administracji Publicznej

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 3 Identyfikacja przypadków użycia

elektroniczna Platforma Usług Administracji Publicznej

Inżynieria oprogramowania

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Procesowa specyfikacja systemów IT

elektroniczna Platforma Usług Administracji Publicznej

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu

Przypadki użycia. Czyli jak opisywać funkcjonalność. Jerzy Nawrocki Mirosław Ochodek

Egzamin / zaliczenie na ocenę*

elektroniczna Platforma Usług Administracji publicznej Instrukcja użytkowania oraz złożenia wniosku o Profil zaufany

SPECYFIKACJE WYMAGAŃ PRZYPADKI UŻYCIA (USE CASE)

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

Specyfikacja wymagań. Autor: Łukasz Olek. Szanowni Państwo! Witam serdecznie na kolejnym wykładzie z serii Inżynieria oprogramowania.

Inżynieria oprogramowania wykład IV Faza określenia wymagań

Pozyskiwanie i dokumentowanie wymagań

elektroniczna Platforma Usług Administracji Publicznej

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

E-administracja. Korzystanie z Elektronicznej Platformy Usług Administracji Publicznej

Podręcznik Użytkownika LSI WRPO

Specyfikacja wymagań. Autor: Łukasz Olek. Szanowni Państwo! Witam serdecznie na kolejnym wykładzie z serii Inżynieria oprogramowania.

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Analiza i projektowanie obiektowe 2017/2018. Wykład 2: Przypadki użycia

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Specyfikowanie wymagań przypadki użycia

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Inżyniera wymagań

Modelowanie i analiza systemów informatycznych

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Instrukcja dla użytkowników serwisu internetowego

REFERAT PRACY DYPLOMOWEJ

Przypadki użycia. Analiza. Model biznesowy. Specyfikacja wymagań. Model dziedziny problemu. Przypadki użycia

Elektroniczny Urząd Podawczy

Część 3 - Konfiguracja

Diagramy przypadków użycia

Wprowadzenie do Behaviordriven

Agenda. Cele projektu Wizja projektu Modelowanie biznesowe Wymagania użytkownika Przypadki użycia

1 Moduł Konfigurowanie Modułu

REJESTROWANIE I MONITOROWANIE OBSŁUGI ZGŁOSZEO W SYSTEMIE CIS-HELPDESK INSTRUKCJA UŻYTKOWNIKA

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

1.2 Prawa dostępu - Role

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Spis treści. 1. Utworzenie konta Dodanie zgłoszenia Realizacja zgłoszenia...7

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

B2B Obsługa portalu zgłoszeniowego

UPEDU: Rozpoznanie wymagań (ang. requirements discipline)

WOJSKOWA AKADEMIA TECHNICZNA

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności:

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Wersja programu

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Instrukcja. Systemu Obsługi Praktyk -Moduł Student UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Zasady organizacji projektów informatycznych

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Maciej Oleksy Zenon Matuszyk

Instrukcja obsługi dla Wnioskodawcy

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Cele przedsięwzięcia

Modelowanie obiektowe - Ćw. 3.

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Faza Określania Wymagań

Testowanie Akceptacyjne

Od pomysłu do podpisania umowy. Izabela Adamska

Programowanie zespołowe

Instrukcja Użytkownika Systemu Zarządzania Tożsamością Wersja. 1.0

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

Ćwiczenia 3: Specyfikacja wymagań Pytania:


Zagadnienia (1/3) Inżynieria Oprogramowania

Internetowy System Składania Wniosków PISF wersja 2.2. Instrukcja dla Wnioskodawców

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Modelowanie i analiza systemów informatycznych Spis treści

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Testowanie aplikacji. Kurs języka Ruby

Transkrypt:

Dr Katarzyna Grzesiak-Kopeć

2

Tworzenie oprogramowania Najlepsze praktyki IO Inżynieria wymagań Technologia obiektowa i język UML Techniki IO Metodyki zwinne Refaktoryzacja Mierzenie oprogramowania Jakość oprogramowania Programowanie strukturalne Modelowanie analityczne Wprowadzenie do testowania 3

Wymaganie w inżynierii jest pojedynczą, udokumentowaną potrzebą określonego produktu czy usługi, albo sposobu ich działania. Jest to stwierdzenie identyfikujące potrzebne cechy, możliwości, charakterystyki lub jakość systemu, aby był on wartościowy i pożyteczny dla użytkownika. 4

Funkcjonalne o Złożenie zamówienia o Generowanie korespondencji seryjnej Pozafunkcjonalne o Minimum 10 zamówień na godzinę o 100 000h MTBF o Maximum 8h na przeszkolenie użytkownika Ograniczenia 5

Nie ma uniwersalnego sposobu Ucz się na cudzych doświadczeniach o Korzystaj ze sprawdzonych praktyk 6

Software Requirements Specification o Specyfikacja konkretnego produktu oprogramowania realizującego zadaną funkcjonalność w określonym środowisku o SRS może być napisana przez jedną lub wiele osób reprezentujących dostawcę albo/i klienta 7

Uzgodnienie co ma produkt robić pomiędzy klientem a dostawcą Zmniejsza wysiłek związany z budową systemu Podstawa szacowania kosztów i harmonogramu Podstawa walidacji i weryfikacji Ułatwia przenoszenie o Nowi użytkownicy o Nowe maszyny o Nowy klient Podstawa dla rozbudowy systemu 8

Funkcjonalność o Co oprogramowanie powinno robić? Zewnętrzne interfejsy o Jak komunikuje się z ludźmi, sprzętem, innym oprogramowaniem? Wydajność o Jaka jest prędkość, czas reakcji, dostępność etc.? Atrybuty o Przenośność, poprawność, pielęgnowalność, bezpieczeństwo etc. Ograniczenia projektowe o Wymagane standardy, języki programowania, ograniczenia zasobów, środowisko operacyjne etc. 9

Poprawna (Correct) o Każde wymaganie jest takim wymaganiem, które powinien realizować system Jednoznaczna (Unambiguous) o Każde wymaganie ma dokładnie jedną interpretację 10

Kompletna (Complete) zawiera o Wszystkie znaczące wymagania funkcjonalne, wydajnościowe, ograniczenia projektowe, atrybuty, czy zewnętrzne interfejsy o Definicje odpowiedzi na wszystkie możliwe rodzaje wejść we wszystkich możliwych typach sytuacji; na dane wejściowe poprawne, jak i na te niepoprawne o Etykiety rysunków, tabel i diagramów o Definicje wszystkich pojęć i miar 11

Spójna (Consistent) o Z pozostałą dokumentacją Ustalająca priorytety ważności i stabilności o Kluczowe, pożądane, opcjonalne, warunkowe Weryfikowalna (Verifable) o Każde wymaganie jest weryfikowalne Umożliwiająca śledzenie powiązań (Traceable) o Jasno sprecyzowane skąd się wzięło wymaganie o Odwołania do wymagań w pozostałej dokumentacji projektu 12

Modyfikowalna (Modifable) o Struktura i styl nie ulegają zmianie przy wprowadzaniu zmian w wymaganiach o Spójna i jasna organizacja ze spisem treści, indeksem, wewnętrznymi odnośnikami o Bez redundancji (każde wymaganie występuje tylko raz!) o Każde wymaganie jest oddzielnie opisane (nie łączymy różnych wymagań!) 13

14

Ian Sommerville & Pete Sawyer o Requirements Engineering: A Good Practice Guide, Wiley, 1997 15

Podstawowe o Zdefiniuj standardową strukturę dokumentu specyfikacji wymagań o Zdefiniuj szablony do opisywania wymagań Pośrednie o Stosuj scenariusze użycia Zaawansowane o Przypisz ryzyko wymaganiom 16

J. Nawrocki, Inżynieria wymagań Podst. 36 Pośr. 21 Zaaw. 9 Dokument SRS 8 Zbieranie wymagań 6 6 1 Analiza i negocjacja wymagań 5 2 1 Opisywanie wymagań 4 1 Modelowanie systemu 3 3 Walidacja wymagań 4 3 1 Zarządzanie wymaganiami 4 3 2 IW dla systemów krytycznych 2 3 4 17

J. Nawrocki, Inżynieria wymagań 1. Zdefiniuj standardową strukturę dokumentu 2. Wyjaśnij, jak korzystać z dokumentu 3. Dołącz streszczenie wymagań 4. Opracuj uzasadnienie biznesowe dla systemu 5. Zdefiniuj terminy specjalistyczne 6. Wybierz czytelny szablon dokumentu 7. Pomóż czytelnikom znaleźć informację 8. Uczyń dokument łatwym do zmiany 18

It shouldn t take longer than 15 minutes to teach someone how to write a use case! Robert Martin 19

UC 1 Loguj Aktor: Użytkownik Stan systemu przed: System uruchomiony Stan systemu po: Użytkownik otrzymał dostęp do odpowiednich zasobów SCENARIUSZ PODSTAWOWY 1 Użytkownik wyraża chęć zalogowania się. 2 System prosi o wprowadzenie identyfikatora oraz hasła. 3 Użytkownik wprowadza żądane informacje i zatwierdza je. 4 System stwierdza, że wprowadzono odpowiednie dane, weryfikuje tożsamość użytkownika oraz dokonuje autoryzacji. 5 System daje użytkownikowi dostęp do odpowiadających mu zasobów. 20

UC 1 Loguj Aktor: Użytkownik Stan systemu przed: System uruchomiony Stan systemu po: Użytkownik otrzymał dostęp do odpowiednich zasobów SCENARIUSZ PODSTAWOWY 1 Użytkownik wyraża chęć zalogowania się. 2 System prosi o wprowadzenie identyfikatora oraz hasła. 3 Użytkownik wprowadza żądane informacje i zatwierdza je. 4 System stwierdza, że wprowadzono odpowiednie dane, weryfikuje tożsamość użytkownika oraz dokonuje autoryzacji. 5 System daje użytkownikowi dostęp do odpowiadających mu zasobów. Tutaj może być scenariusz alternatywny. 21

UC 1 Loguj Aktor: Użytkownik Stan systemu przed: System uruchomiony Stan systemu po: Użytkownik otrzymał dostęp do odpowiednich zasobów SCENARIUSZ PODSTAWOWY 1 Użytkownik wyraża chęć zalogowania się. 2 System prosi o wprowadzenie identyfikatora oraz hasła. 3 Użytkownik wprowadza żądane informacje i zatwierdza je. 4 System stwierdza, że SCENARIUSZE wprowadzono ALTERNATYWNE odpowiednie dane, weryfikuje tożsamość użytkownika oraz dokonuje 3a Rezygnacja autoryzacji. 5 System daje użytkownikowi 3a1 Użytkownik dostęp do rezygnuje odpowiadających z akcji logowania, mu zasobów. co kończy PU. 3b Anulowanie 3b1 Użytkownik anuluje wprowadzone informacje. 3b2 Powrót do pkt. 2. 22

SCENARIUSZE ALTERNATYWNE UC 4a 1 Loguj Brak lub błędne dane 4a1 System Aktor: stwierdza, Użytkownik że brakuje pewnych informacji lub, że są one niepoprawne. 4a2 Stan systemu System przed: informuje System użytkownika uruchomiony o wykrytych problemach i powrót do pkt. 2. 4b Stan systemu Błąd uwierzytelnienia po: Użytkownik otrzymał dostęp do odpowiednich zasobów SCENARIUSZ 4b1 System PODSTAWOWY stwierdza, że w systemie nie figuruje albo użytkownik o podanym identyfikatorze, albo para identyfikator-hasło. 1 Użytkownik wyraża chęć zalogowania się. 4b2 System informuje użytkownika o wykrytych problemach i powrót do pkt. 2. 2 System prosi o wprowadzenie identyfikatora oraz hasła. 4c Brak autoryzacji 3 Użytkownik wprowadza żądane informacje i zatwierdza je. 4c1 System stwierdza, że podany użytkownik nie posiada uprawnień do żadnych 4 System stwierdza, że wprowadzono odpowiednie dane, weryfikuje tożsamość zasobów o czym go informuje, co kończy PU. użytkownika oraz dokonuje autoryzacji. 5 System daje użytkownikowi dostęp do odpowiadających mu zasobów. 23

Używają interdyscyplinarnego języka o Techniczny, nietechniczny Opisują co system będzie robił o Jego zachowanie realizujące żądane usługi Zapisują podejmowane decyzje Pozwalają weryfikować kompletność Dostarczają kontekstu dla wymagań o Wprowadzają strukturę do opowieści 24

A. Cockburn, Use Cases for Agile and Traditional Development SĄ NIE SĄ Tekst Diagramami PU w UMLu Brak GUI Opisem GUI Brak formatu danych Opisem formatu danych 3-9 kroków w głównym scenariuszu Wielostronicowym scenariuszem Łatwo je zrozumieć Nieczytelne Przedstawiają potrzeby użytkownika Opisują cechy programu Zapisują podjęte decyzje Opisem dziedziny biznesowej 25

ZALETY Zapisują wymagania funkcjonalne w łatwej do zrozumienia formie Stanowią szkielet dla zapisu wymagań pozafunkcjonalnych oraz dla harmonogramu WADY Zapisują wyłącznie wymagania funkcjonalne Projektowanie nie ogranicza się do samych PU 26

Aktorzy współdziałają by zrealizować określony cel Główny Aktor osoba lub system chce wykorzystać PS w określonym celu Projektowany System Aktor drugoplanowy inny system realizujący cel dla PS INTERAKCJA INTERAKCJA 27

Aktor ma cele Cele nazywają przypadki użycia (UC) Przypadki mają scenariusze nazywające podprzypadki użycia 28

Wskaż aktorów i ich cele o Aktor to coś/ktoś, co/kto wchodzi w interakcję z naszym systemem o Czego potrzebuje od systemu aktor? Napisz krótko o Pomyślny scenariusz o Wychwyć zamierzenia oraz odpowiedzialność wszystkich aktorów Jakie wymieniają między sobą informacje Ponumeruj linie 29

Wypisz warunki zakończone niepowodzeniem (porażki) jako rozszerzenia o Zazwyczaj każdy krok może zakończyć się niepowodzeniem Opisz porażki do momentu zakończenia lub powrotu do głównego scenariusza Zwróć uwagę na zmieniające się dane o np. Zwrot pieniędzy gotówką, czekiem, o Wskazują sytuacje, które muszą być obsłużone przez przypadki użycia niższego poziomu 30

Patterns for Effective Use Cases, Steve Adolph & Paul Bramble, UC 1.1 Register for Courses 1. Display a blank schedule. 2. Display a list of all classes in the following way: The left window lists all the courses in the system in alphabetical order. The lower window displays the times the highlighted course is available. The third window shows all the courses currently in the schedule. 3. Do 4. Student clicks on a course. 5. Update the lower window to show the times the course is available. 6. Student clicks on a course time and then on the Add Course button. 7. Check if the Student has the necessary prerequisites and that the course offering is open. 8. If the course is open and the Student has the necessary prerequisites, add the Student to the course. Display the updated schedule showing the new course. If no, put up a message, You are missing the prerequisites. Choose another course. 9. Mark the course offering as enrolled in the schedule. 10. End do when the Student clicks on Save Schedule. 11. Save the schedule and return to the main selection screen. 31

Register for Courses 1.?Display a blank schedule. 2.?Display a list of all classes in the following way: The left window lists all the courses in the system in alphabetical order. The lower window displays the times the highlighted course is available. The third window shows all the courses currently in the schedule. 3.?Do 4. Student clicks on a course. 5.?Update the lower window to show the times the course is available. 6. Student clicks on a course time and then on the Add Course button. 7.?Check if the Student has the necessary prerequisites and that the course offering is open. 8.?If the course is open and the Student has the necessary prerequisites, add the Student to the course. Display the updated schedule showing the new course. If no, put up a message, You are missing the prerequisites. Choose another course. 9.?Mark the course offering as enrolled in the schedule. 10.?End do when the Student clicks on Save Schedule. 11.?Save the schedule and return to the main selection screen. 32

Register for Courses System: Course Enrollment System Goal level: User Goal 1. Student requests to construct a schedule. 2. The system prepares a blank schedule form. 3. The system gets available courses from the Course Catalog System. 4. Student selects up to 4 primary and 2 alternate course offerings. 5. For each course, the system verifies that the Student has the necessary prerequisites, adds the Student to the course, marking Student as enrolled for that course in the schedule. 6. When the Student indicates the schedule is complete, the system saves it. Extensions: 1a. Student already has a schedule: System brings up the current version of the Student s schedule for editing instead of creating a new one. 1b. Current semester is closed and next semester is not yet open: System lets Student look at existing schedules, but not create new ones. 3a. Course Catalog System does not respond: The system notifies the Student and the use case ends. 5a. Course full or Student has not fulfilled all prerequisites: System disables selection of that course and notifies the Student. 33

Poziom celu biznesowy (Summary Goals) Poziom celu użytkownika (User Goals) Poziom podfunkcji (Subfunctions) 34

Zarabiaj Reklamuj Zamawiaj Fakturuj BIZNES Inicjuj Promocję Monitoruj Promocję Złóż Zamówienie Utwórz Fakturę UŻYTKOWNIK Wyślij Fakturę Identyfikuj Promocję Rejestruj Użytkownika Identyfikuj Produkt Umieść kursor w polu edycji Identyfikuj Klienta FUNKCJE 35

http://alistair.cockburn.us/ A. Cockburn, Jak pisać efektywne przypadki użycia S. Adolph, P. Bramble, A. Cockburn, A. Pols: Patterns for Effective Use Cases 36

Łukasz Olek, Specyfikacja wymagań Pojedynczy przypadek użycia Zbiór przypadków użycia Proces tworzenia Zespół autorów 37

Fraza czasownikowa w nazwie o Akcja o Źle Generuj raport Raport Scenariusz i rozszerzenia o 3-9 kroków w scenariuszu podstawowym o Scenariusze alternatywne 38

Obojętność technologiczna o Dlaczego pomijamy Technologia jest zmienna Niepotrzebne ograniczenia Szczegóły GUI zaciemniają obraz Klient nie rozumie terminów technicznych o Przykład Student zaznacza checkbox 39

Rozwijalna struktura o Hierarchia o Można rozwijać lub zwijać w celu pokazania lub ukrycia szczegółów 40

Pisz najpierw w szerz, potem w głąb o Lista aktorów o Nazwy przypadków użycia o Główne scenariusze o Rozszerzenia 41

Mały o 2-3 osoby (duży system kilka zespołów) o Więcej recenzentów Zrównoważony o Zróżnicowany (analityk + klient) o Synergia (uzupełnianie się) 42

Karty wymagań (User Stories) o Opowiadania/Scenariusze użytkownika o Historyjki użytkownika Szkice ekranów Testy akceptacyjne Madeyski L., Kubasiak M.: Zwinna specyfikacja wymagań 43

Jako [osoba odgrywająca daną rolę] chciałbym móc [wykonać jakąś czynność] aby [osiągnąć jakiś cel]. 44

Jako [osoba odgrywająca daną rolę] chciałbym móc [wykonać jakąś czynność] aby [osiągnąć jakiś cel]. Jako klient chciałbym móc złożyć zamówienie. Jako użytkownik chciałbym móc się zalogować. 45

UTWÓRZ KONTO OPIS Jako administrator chciałbym móc utworzyć konto pracownikowi dydaktycznemu, aby umożliwić mu dostęp do systemu. PRIORYTET OSZACOWANIE (godz.) 6 Po wypełnieniu wymaganych pól, system automatycznie generuje hasło oraz wysyła nowemu użytkownikowi wiadomość e-mail z danymi dostępowymi. Krytyczne 46

47

UTWÓRZ KONTO testy akceptacyjne 1 Administrator wypełnił prawidłowo wszystkie wymagane pola, wprowadził również unikalną wartość identyfikatora użytkownika w nowo otwartym oknie system informuje o pomyślnym utworzeniu konta i wysłaniu wiadomości e-mail. 2 Administrator wypełnił wszystkie wymagane pola, jednak w systemie figuruje już użytkownik o takim samym identyfikatorze system wyświetla na formularzu komunikat ostrzegawczy o tym, że pole login musi zawierać unikalną wartość. 3 Administrator nie wypełnił wymaganych pól (oznaczonych *) system wyświetla na formularzu informację o niekompletnych danych wraz z prośbą o ich uzupełnienie. 48

PRZYPADKI UŻYCIA Opisują proces jako sekwencję kroków Poziom szczegółowości pozwala na rozważanie ich pojedynczo KARTY WYMAGAŃ Informują jedynie o pewnej funkcjonalności By je jednoznacznie zinterpretować należy dołączyć do nich testy akceptacyjne 49

... DON T SUBDIVIDE... A user story cut in half makes two smaller user stories, as a flatworm cut in half makes two smaller flatworms,but a use case cut in half doesn t make two small UCs, as a horse cut in half doesn t make two small horses. Alistair Cockburn 50

51