Modelowanie biznesowe Modelowanie w języku UML Język UML definicja i architektura Powiedziałem mu, że najpierw musi przygotować model Czy to Pani Claudia Shiffer? Co było przed UMLem TRZEJ AMIGOS Inicjatywy unifikacyjne: Żadna z inicjatyw nie zyskała aprobaty środowiska informatyków ROZWÓJ JĘZYKA UML ROZWÓJ JĘZYKA UML Ponad 800 organizacji pracuje nad specyfikacją IBM, HP, Intel, Ponad 800 organizacji pracuje nad specyfikacją IBM, HP, Intel, Harel, Gamma Sierpień 2011 wersja UML 2.4.1 Grudzień 2013 wersja UML 2.5 (Beta 2) Harel, Gamma Wojna metodyk hamowanie prac nad wspólną notacją oraz narzędziami CASE Wojna metodyk hamowanie prac nad wspólną notacją oraz narzędziami CASE 1
NOTACJA BOOCH a NOTACJA RUMBAUGH a NOTACJA COADa-YOURDONa CZYM JEST UML? UML graficzny język modelowania wykorzystywany do wizualizacji, projektowania, specyfikowania i dokumentowania systemów (słowo system jest użyte w szerszym znaczeniu). ELEMENTY SKŁADOWE UML METAMODELOWANIE W UML 2
- Infrastruktura - Superstruktura - OCL - CWM - XMI (XML Metadata Interchange) PERSPEKTYWY W UML PERSPEKTYWY W UML Diagram klas Diagram obiektów Diagram struktur połączonych Diagram komponentów Diagram klas Diagram obiektów Diagram struktur połączonych Diagram komponentów Diagram przypadków użycia Diagram przypadków użycia Diagram rozlokowania Diagram interakcji Diagram maszyny stanowej Diagram struktur połączonych Diagram rozlokowania Przypadków użycia Definiuje zakres i oczekiwaną funkcjonalność tworzonego systemu Diagram interakcji Diagram maszyny stanowej Diagram struktur połączonych 3
PERSPEKTYWY W UML PERSPEKTYWY W UML Diagram klas Diagram obiektów Diagram struktur połączonych Diagram komponentów Diagram klas Diagram obiektów Diagram struktur połączonych Diagram komponentów Diagram przypadków użycia Diagram przypadków użycia Procesowa Opisuje zachowanie instancji klasyfikatorów w systemie. Logiczna - strukturalna Dokumentuje statykę i strukturę systemu Diagram rozlokowania Diagram interakcji Diagram maszyny stanowej Diagram struktur połączonych Diagram rozlokowania Diagram interakcji Diagram maszyny stanowej Diagram struktur połączonych PERSPEKTYWY W UML PERSPEKTYWY W UML Diagram klas Diagram obiektów Diagram struktur połączonych Diagram komponentów Diagram klas Diagram obiektów Diagram struktur połączonych Diagram komponentów Implementacyjna Specyfikuje oprogramowanie na poziomie komponentów Diagram przypadków użycia Diagram przypadków użycia Rozlokowania - wdrożenia Specyfikuje węzły i sprzęt niezbędny do funkcjonowania konkretnych komponentów Systemu. Diagram rozlokowania Diagram interakcji Diagram maszyny stanowej Diagram struktur połączonych Diagram rozlokowania Diagram interakcji Diagram maszyny stanowej Diagram struktur połączonych Modelowanie biznesowe w UML Które diagramy UML są szczególnie przydatne przy modelowaniu biznesowym? 4
Rodzaje diagramów biznesowych Biznesowe diagramy przypadków użycia Biznesowe diagramy klas Biznesowe diagramy czynności Biznesowe diagramy sekwencji Biznesowe diagramy pakietów Modelowanie biznesowe Modelowanie biznesowe Systemy? Nowy System? Jakie kategorie pojęciowe są szczególnie przydatne przy modelowaniu biznesowym? Kategorie modelowania biznesowego w UML Kategorie modelowania biznesowego w UML Zadanie 1 Zidentyfikuj aktorów biznesowych systemu 5
Studium przypadku W księgarni zaopatrują się klienci indywidualni oraz biblioteki Księgarnia współpracuje z wieloma wydawcami oraz pośrednikami w postaci hurtowni Klienci dokonują płatności gotówką oraz wykorzystują karty płatnicze Księgarnia jest zobowiązana do okresowego rozliczania działalności z Urzędem Skarbowym Studium przypadku W księgarni zaopatrują się klienci indywidualni oraz biblioteki Księgarnia współpracuje z wieloma wydawcami oraz pośrednikami w postaci hurtowni Klienci dokonują płatności gotówką oraz wykorzystują karty płatnicze Księgarnia jest zobowiązana do okresowego rozliczania działalności z Urzędem Skarbowym Zadanie 2 Kontekst biznesowy systemu księgarni Zdefiniuj kontekst biznesowy systemu księgarni Biznesowy diagram UC Podstawowa działalność związana jest ze sprzedażą pozycji książkowych klientom indywidualnym oraz bibliotekom Istnieje możliwość zareklamowania nabytej pozycji książkowej Klienci mogą realizować transakcje bezgotówkowe Księgarnia okresowo rozlicza kwestie podatkowe z Urzędem skarbowym Symbole zakresów Gospodarczy przypadek użycia. Zakresem jest cała firma. Zachowanie całej firmy w czasie realizacji celu aktora głównego. Nazwa przypadku użycia to nazwa firmy lub nazwa działu. Systemowy przypadek użycia. Zakresem jest system komputerowy. Jest to fragment sprzętu i oprogramowania, którego budowa jest twoim zadaniem. Poza systemem znajdują się ludzie, sprzęt i oprogramowanie z którymi system ma się komunikować. Komponentowy przypadek użycia. Jest poświęcony podsystemowi, albo komponentowi projektowanego systemu. Jak działa fragment systemu. 6
Nazwane poziomy celów Chcę zdobyć ten kontrakt handlowy Muszę zaprosić menedżera na lunch Muszę mieć trochę gotówki Muszę pobrać ją z bankomatu Muszę przekonać go o swojej tożsamości Muszę pozwolić mu odczytać moją kartę bank. Muszę znaleźć szczelinę do wsuwania kart Nazwane poziomy celów Chcę znaleźć klawisz tabulacji Aby przejść do pola adres, Aby wpisać tam mój adres, Aby wpisać moje dane osobowe do oprogramowania kosztorysującego, Aby kupić polisę ubezpieczeniową, Aby zarejestrować samochód, Żeby móc nim jeździć Poziomy celów Metafora morza Cockburn a Typy celów Cele użytkownika poziom morza Najbardziej interesujące Cel aktora głównego test kawowy Jedna osoba i jedno posiedzenie (2 20 min.) Cele poziomu streszczenia Pokazują kontekst, w którym występują cele użytkownika Pokazują kolejność w czasie powiązanych celów Stanowią spis treści przypadków niższego poziomu Są białe, trwają wiele godzin, miesięcy Przypadek użycia Poziom streszczenia Aktor główny: Klient Zakres: Firma ubezpieczeniowa (MojeUbezpSA) Poziom: Streszczenie ( biały ) Kroki: 1. Klient otrzymuje kosztorys polisy 2. Klient kupuje polisę 3. Klient zgłasza szkodę objętą polisą 4. Klient rezygnuje z polisy Typy celów Podfunkcje cele pod wodą lub na dnie Uwzględniane tylko wówczas, gdy należy zwiększyć czytelność lub gdy wiele innych z nich korzysta. Znajdź klienta Zapisz plik Niektóre są tak głęboko, że leżą na dnie to nawet nie pływa, to małż! 7
Poszukiwanie odpowiedniego poziomu celu Znajdź cel aktora Czy to jest coś, czego aktor główny oczekuje od systemu w tej chwili? Aby znaleźć cel wyższego poziomu odpowiedz na pytania: Czego tak naprawdę chce aktor główny?, Dlaczego ten aktor to robi? W każdym przypadku uwzględnij od 3-10 kroków. Co jeśli jest więcej kroków? Usuń szczegóły interfejsu użytkownika Zapytaj Dlaczego? wyższy poziom celu Łącz kroki Poziomy celów Poziomy celów i ikony Bardzo streszczające (bardzo białe). Kroki w przypadku użycia same są celami białymi. Streszczające (białe). Cel użytkownika (niebieskie, poziom morza) Podfunkcje (indygo). Niektóre podfunkcje (czarne). Nie powinny być nigdy zapisane. Zadanie 3 Narysuj biznesowy diagram przypadków użycia Biznesowy diagram UC Podstawowa działalność związana jest ze sprzedażą pozycji książkowych klientom indywidualnym oraz bibliotekom Istnieje możliwość zareklamowania nabytej pozycji książkowej Klienci mogą realizować transakcje bezgotówkowe Księgarnia okresowo rozlicza kwestie podatkowe z Urzędem skarbowym Biznesowy diagram przypadków użycia 8
act Bankomat Start Wprowadź kartę [akceptacja] Wprowadź PIN [PIN poprawny] Wybierz kwotę [PIN błędny] [błędne wprowadzenie < 3] [błędne wprowadzenie = 3] Zatrzymaj kartę Wypłać gotówkę Koniec Wydaj kartę Wydrukuj potwierdzenie [z potwierdzeniem] 2016-01-10 Mapa procesów Z procesem sprzedaży związani są pracownik obsługi klienta, kasjer oraz pracownik magazynu Z procesem analizy oferty związani są kontroler i pracownik magazynu Reklamacje obsługuje pracownik obsługi reklamacji Rozliczaniem działalności zajmuje się kontroler Zadanie 3 Narysuj mapę procesów Przypadki Użycia dokumentowanie chyba przypadek użycia, który uruchomiłaś ma trochę inny scenariusz niż w dokumentacji Nie uruchamiaj następnego dopóki nie rzucę okiem na przebieg zdarzeń JAK DOKUMENTOWAĆ? DOKUMENTACJA PRZYPADKÓW UŻYCIA 1. Przypadek użycia zaczyna się, gdy użytkownik wybierze Znajdź zamówienie. 2. Użytkownik może wprowadzić numer zamówienia, numer klienta bądź nazwisko klienta. 3. Użytkownik wybiera Szukaj. 4. Jeżeli użytkownik wprowadził numer zamówienia a) System wyświetla to zamówienie i przypadek użycia się kończy. 5. Jeżeli użytkownik wprowadził nazwisko klienta albo jego numer a) System zwraca listę wszystkich zamówień dla tego klienta. b) Użytkownik wybiera jedno z zamówień z listy. c) System wyświetla to zamówienie i przypadek użycia się kończy. Jakie są elementy składowe specyfikacji? 9
Czym jest scenariusz? Scenariusz jest instancją przypadku użycia. Warunki wstępne i końcowe Warunek wstępny (pre-condition) opisuje stan, w jakim system musi się znajdować przed rozpoczęciem przypadku użycia. Użytkownik zalogował się w systemie. Użytkownik jest zarejestrowany. Jest koniec miesiąca. Użytkownik już się zarejestrował i sprawdzono jego tożsamość Klient jest ustalony i znany systemowi; szczegóły zamówienia są znane. System zlokalizował informacje o polisie klienta. Warunek końcowy (post-condition) opisuje stan, w jakim system musi się znajdować po zakończeniu przypadku użycia. Warunek końcowy musi być spełniony niezależnie od tego, które z rozgałęzień zostało wykonane. Jeżeli zamówienie nie zostało anulowane, jest ono zapisane w systemie i oznaczone jako potwierdzone. Urząd skarbowy otrzymał nasz podatek i odnotował jego przyjęcie. Jak pisać scenariusze? PRZEBIEG ZDARZEŃ Wskazówki Używaj prostych form gramatycznych Podmiot orzeczenie dopełnienie wyrażenie przyimkowe System odejmuje kwotę od salda konta Jasno wskaż Kto ma piłkę. W około połowie wypadków krok kończy się przekazaniem piłki innemu aktorowi. Zapytaj kto ma piłkę przy końcu zdania?. Odpowiedź powinna jasno wynikać z tekstu. Pisz z lotu ptaka Pokaż proces postępujący do przodu. Nie wybieraj zbyt małych kroków (9 kroków). Przy redukcji warto jest zadać pytanie Dlaczego aktor to robi?. 1 PRZEBIEG ZDARZEŃ Wskazówki Pokaż intencje aktora a nie jego działania PRZED System pyta o nazwisko. Użytkownik podaje nazwisko. System domaga się adresu. Użytkownik podaje adres. Użytkownik wciska przycisk OK. System wyświetla profil użytkownika. PO Użytkownik podaje nazwisko i adres. System wyświetla profil użytkownika. Stwierdzaj, że a nie stwierdzaj czy PRZED 1. System sprawdza, czy hasło jest poprawne. 2. Jeśli jest system pokazuje użytkownikowi historię zamówień. PO System stwierdza, że hasło jest poprawne. System pokazuje użytkownikowi historię zamówień. 2 PRZEBIEG ZDARZEŃ Wskazówki Niech Twój przypadek użycia zawiera sensowny zbiór akcji. Każda transakcja posiada 4 części: Aktor wysyła zlecenie i dane do systemu. System sprawdza poprawność zlecenia i danych. System zmienia swój wewnętrzny stan. System odpowiada aktorowi wynikiem. Zlecenie z danymi Odpowiedz Stwierdź poprawność 1. Klient podaje numer zamówienia. 2. System stwierdza, że odpowiada on szczęśliwemu numerowi w tym miesiącu. 3. System rejestruje użytkownika i numer zamówienia jako zwycięzcę w tym miesiącu, wysyła maila do szefa sprzedaży, gratuluje klientowi i wyjaśnia, w jaki sposób odebrać nagrodę. 3 Zmień 10
Jak pisać skomplikowane przypadki użycia? SKOMPLIKOWANE PRZYPADKI UŻYCIA GŁÓWNY CIĄG ZDARZEŃ - Doskonały świat - Scenariusz udanego dnia - Dokładnie jeden - Najbardziej powszechne zachowanie PRZYPADEK UŻYCIA + NADZWYCZAJNE CIĄGI ZDARZEŃ - Inne wybory - Błędy - Sytuacje wyjątkowe Jak identyfikować scenariusze alternatywne? Identyfikacja scenariuszy rozszerzeń 1. Uwzględnij każdą możliwość jaką członkowie zespołu mogą wyczarować Przeprowadź analizę dla każdego kroku! Lista zawiera więcej pomysłów niż będzie wykorzystanych (późniejsza redukcja) 2. Oceniaj, eliminuj i łącz pomysły 3. Wypracuj sposób obsługi każdego z warunków rozszerzeń Nadzwyczajne ciągi zdarzeń Alternatywna ścieżka powodzenia (np. klient użył kodu towaru). Aktor postępuje niepoprawnie (np. niewłaściwe hasło). Brak działania aktora (np. zbyt długie oczekiwanie na hasło). Każde wystąpienie system stwierdza, z którego wynika, że istnieje rozszerzenie do obsługi porażki (np. niepoprawny numer konta). Awaria wewnętrzna projektowanego systemu, którą należy wykryć i obsłużyć (awaria drukarki potwierdzeń transakcji). Niespodziewana i nienormalna awaria wewnętrzna, która będzie miała konsekwencje widoczne na zewnątrz (np. Stwierdzono uszkodzenie dziennika transakcji). Krytyczne awarie efektywnościowe (np. Nie wyznaczono odpowiedzi w ciągu 5 sekund). Nadzwyczajne ciągi zdarzeń Niepełne dane Pieniądze nie wpłynęły Zamówienie jest niepełne Adres klienta jest niepełny Błędne dane Klient nie może się zalogować z powodu złego hasła lub złej nazwy użytkownika Kod towaru nie pasuje do żadnego towaru Towar jest wycofany Zła opłata Nadzwyczajne zachowania Klient płaci czekiem Klient przysyła zamówienie pocztą Klient składa zamówienie przez telefon Aktor anuluje operację Klient anuluje złożenie zamówienia Awaria systemu System zawiesza się w trakcie składania zamówienia System jest niedostępny Klient nie może się zalogować, ponieważ system nie odpowiada Zamówienie zostało zgubione 11
Spraw aby warunki mówiły o tym, co wykryto Napisz, co system wykrywa a nie co się stało Klient zapomniał hasła Klient odszedł, Klient miał atak serca, Klient uspokaja płaczące dziecko Przekroczono limit oczekiwania na wprowadzenie hasła Warunek jest wyrażeniem opisującym co wykryto np.: Błędne hasło: Sieć nie działa: Klient nie reaguje: Jak zapisywać i obsługiwać scenariusze alternatywne? Zapis scenariusza rozszerzeń Użyj numeru kroku, w którym warunek będzie rozszerzany 2a. Zbyt małe saldo: 2b. Sieć nie działa: Wymień kroki jeśli warunek może zajść w trakcie kilku kroków 2-5a. Przekroczono limit czasu: Użyj gwiazdki jeśli warunek może zajść w dowolnym czasie *a. Sieć uległa awarii: *b. Przekroczono limit czasu: Obsługa rozszerzeń System daje aktorowi następną szansę 3. Użytkownik podaje hasło. 4. System stwierdza poprawność hasła 5. Rozszerzenia: 4a. Niepoprawne hasło: 4a1. System informuje o tym użytkownika i prosi o ponowne podanie hasła. 4a2. Powrót do kroku 3 (Użytkownik ponownie podaje hasło.) Obsługa rozszerzeń Przypadek użycia kończy się całkowitą porażką 3. Użytkownik podaje hasło. 4. System stwierdza poprawność hasła 5. Rozszerzenia: 4c. Niepoprawne hasło podano zbyt wiele razy: 4c1. System informuje o tym użytkownika i przerywa sesję. Obsługa rozszerzeń Czynności przebiegają inną ścieżką prowadzącą do powodzenia 3. Użytkownik robi 4. Użytkownik robi 5. Rozszerzenia: 3a. Użytkownik uruchamia własne makropolecenie w celu zakończenia przetwarzania: 3a1. Przypadek użycia kończy się. 12
Poprawiaj listę rozszerzeń Idealna lista zawiera wszystkie i tylko te sytuacje, które system musi obsłużyć Długa dokumentacja trudności z czytaniem Nadmiarowe opisy trudności z pielęgnacją Korzystaj z kryteriów System musi być w stanie wykryć warunek. Zamień niewykrywalne na wykrywalne Klient zapomniał karty bankomatowej Klient zapomniał hasła Przekroczono limit oczekiwania System musi obsłużyć wykrycie warunku Łącz równoważne warunki Karta jest porysowana, czytnik kart źle działa, Karta nie jest kartą bankomatową Zwróć kartę i poinformuj klienta Wydzielanie nowego przypadku użycia z rozszerzenia Przypadek użycia jest używany w kilku miejscach Możliwość śledzenia i pielęgnowania w jednym miejscu Trudno jest czytać przypadek użycia Granica czytelności, to dwie strony teksu i trzy poziomy wcięć Jak dokumentować zaawansowane przypadki użycia? ZAAWANSOWANE METODY DOKUMENTOWANIA Należy uważać aby uzyskanie własnej wygody nie następowało kosztem czytelności. Cel nadrzędny to stworzenie przystępnych, prostych do zrozumienia dokumentów. Projektant + Programista Projektant + Programista Zawieranie uc Primary Use Cases Zawieranie Klient Anuluj zamówienie «include» Sprawdź stan zamówienia Zwróć towar 1. Przypadek użycia zaczyna się, gdy klient wprowadzi numer zamówienia, numer klienta albo nazwisko klienta. 2. Klient wybiera Szukaj. 3. Jeżeli klient wprowadził numer zamówienia a) System wyświetla to zamówienie i przypadek użycia się kończy. 4. Jeżeli klient wprowadził nazwisko klienta albo numer klienta a) System zwraca listę wszystkich zamówień dla tego klienta. b) Klient wybiera jedno z zamówień z listy. c) System wyświetla to zamówienie i przypadek użycia się kończy. Znajdź zamówienie 1. Zawierany przypadek użycia nie wie kiedy ani czy w ogóle inny przypadek użycia go zawiera. W związku z tym powinien być niezależny. 2. Przypadek użycia, który włącza inny nie jest już pełny. 1. Przypadek użycia zaczyna się, gdy klient prosi o anulowanie zamówienia. 2. Include Znajdź zamówienie. 3. Jeżeli stan zamówienia to Potwierdzone a) System oznacza zamówienie jako anulowane. b) System zawiadamia system księgowy o konieczności zwrotu pieniędzy na konto klienta i przypadek użycia się kończy. 4. Jeżeli stan zamówienia to Wystane a) System zawiadamia klienta o warunkach zwrotu towaru do księgarni internetowej i przypadek użycia się kończy. 13
Rozszerzanie uc Primary Use Cases uc Primary Use Cases Złóż zamówienie Złóż zamówienie extension points: Stały klient: po wybraniu wszystkich towarów Towar przeceniony: przed krokiem 5 Punkty rozszerzenia Warunki rozszerzenia Przypadki rozszerzające extension points: Stały klient: po wybraniu wszystkich towarów Towar przeceniony: przed krokiem 5 {(Stały klient) {(Towar przeceniony) klient na liście stałych towar na liscie towarow klientów} przecenionych} «extend» «extend» {towar na liscie towarow przecenionych} «extend» «extend» {klient na liście stałych klientów} Cena z wyprzedaży sezonowej «extend» Rabat dla stałych klientów Cena z wyprzedaży sezonowej Rabat dla stałych klientów Wyprzedaż nadmiernych zapasów {(Towar przeceniony) ilość w magazynie > maksymalny poziom} Warunkowe rozszerzanie zachowania bez zmiany pierwotnego przypadku użycia. Np. tworzenie nowej wersji istniejącego systemu stosownie do nowo powstałych potrzeb klienta. Jeden punkt rozszerzenia może zawierać kilka przypadków rozszerzających. Dziedziczenie - aktorzy Dziedziczenie uc Primary Use Cases uc Primary Use Cases Złóż zamówienie Złóż zamówienie Klient Złóż zamówienie przez telefon Złóż zamówienie przez WWW Złóż zamówienie przez telefon Złóż zamówienie przez WWW Przedstawiciel handlowy Dziedziczenie Ten przypadek użycia jest taki sam jak Złóż zamówienie z wyjątkiem: Klient podaje wszystkie informacje pracownikowi biura obsługi klientów, który wprowadza je do systemu. W kroku 2. klient podaje numer identyfikacyjny, którego używa się do pobrania informacji o nim z bazy danych. Klient potwierdza dane odczytane przez pracownika. W kroku 7. informacje o wysyłce nie muszą być weryfikowane. Ten przypadek użycia jest taki sam jak Złóż zamówienie z wyjątkiem: Krok 2. jest usunięty. W kroku 3. klient wybiera towary, przeglądając katalog w sieci zamiast wprowadzać ich kody. W kroku 4a system wyświetla informacje, a klient dodaje towar do koszyka. W kroku 4b obliczana jest suma cen towarów w koszyku. W krokach 5. i 6. klient loguje się w systemie, a system dostarcza związanych z kontem klienta informacji o adresie klienta i informacji o płatności. W kroku 7. informacje o wysyłce nie muszą być weryfikowane. Płatność jest przesyłana do systemu handlu elektronicznego. PRZED BŁĘDY brak systemu Zakres: Bankomat Poziom: Cel użytkownika Aktor główny: Klient 1. Klient wsuwa kartę i wprowadza hasło. 2. Klient wybiera Wypłata" i podaje kwotę. 3. Klient odbiera gotówkę, kartę i potwierdzenie. 4. Klient odchodzi. W tym przypadku użycia pokazano wszystko, co robi aktor główny, ale nie uwzględniono zachowania systemu. Korekta: nazwanie wszystkich aktorów i ich akcji. 14
PO BŁĘDY brak systemu Zakres: Bankomat Poziom: Cel użytkownika Aktor główny: Klient 1. Klient przesuwa kartę bankomatową przez czytnik kart. 2. Bankomat odczytuje z karty identyfikator banku, numer konta i zakodowane hasło oraz sprawdza poprawność identyfikatora banku i numeru konta w głównym systemie bankowym. 3. Klient wprowadza hasło. 4. Bankomat stwierdza jego zgodność z zakodowanym hasłem odczytanym z karty. 5. Klient wybiera Szybką gotówkę" i podaje kwotę wypłaty, która jest wielokrotnością 20 złotych. 6. Bankomat informuje główny system bankowy o koncie klienta i wypłacanej kwocie; otrzymuje potwierdzenie i nowe saldo. 7. Bankomat wydaje gotówkę, kartę i potwierdzenie z wydrukowanym nowym saldem. 8. Bankomat zapisuje transakcję w dzienniku. PRZED BŁĘDY brak aktora głównego Zakres: Bankomat Poziom: Cel użytkownika Aktor główny: Klient 1. Pobiera kartę bankomatową i hasło. 2. Dowiaduje się, że typ transakcji to Wypłata 3. Dowiaduje się o wielkości żądanej kwoty. 4. Stwierdza, że na koncie są wystarczające środki. 5. Wydaje pieniądze, potwierdzenie i kartę. 6. Zeruje swój stan. Ten przypadek użycia napisano wyłącznie z punktu widzenia systemu. Na jego podstawie można dowiedzieć się wszystkiego, co robi bankomat, ale nie ma ani słowa o zachowaniu aktora głównego. Korekta: nazwanie wszystkich aktorów i ich akcji. PO BŁĘDY brak aktora głównego Zakres: Bankomat Poziom: Cel użytkownika Aktor główny: Klient 1. Klient przesuwa kartę bankomatową przez czytnik kart. 2. Bankomat odczytuje z karty identyfikator banku, numer konta i zakodowane hasło oraz sprawdza poprawność identyfikatora banku i numeru konta w głównym systemie bankowym. 1. Klient wprowadza hasło. 2. Bankomat stwierdza jego zgodność z zakodowanym hasłem odczytanym z karty. 3. Klient wybiera Szybką gotówkę" i podaje kwotę wypłaty, która jest wielokrotnością 20 złotych. 4. Bankomat informuje główny system bankowy o koncie klienta i wypłacanej kwocie; otrzymuje potwierdzenie i nowe saldo. 5. Bankomat wydaje gotówkę, kartę i potwierdzenie z wydrukowanym nowym saldem. 6. Bankomat zapisuje transakcję w dzienniku. PRZED BŁĘDY szczegóły interfejsu Zakres: Aplikacja obsługująca sprzedaż Poziom: Cel użytkownika Aktor główny: Klient 1. System wyświetla ekran z pytaniem o identyfikator i hasło. 2. Użytkownik wpisuje do systemu identyfikator i hasło; naciska OK. 3. System stwierdza poprawność identyfikatora użytkownika i hasła; wyświetla ekran z danymi osobowymi. 4. Klient wpisuje imię i nazwisko, ulicę, miasto, województwo, kod pocztowy i numer telefonu; naciska popielaty przycisk OK. 5. System stwierdza, że użytkownik jest mu znany. 6. System wyświetla listę dostępnych towarów. 7. Użytkownik przyciska obrazki towarów, które chce kupić, wpisuje ilość obok każdego i naciska Gotowe", gdy skończy. 8. Kontaktując się z systemem magazynowym hurtowni, system stwierdza, że w magazynie jest wystarczająca ilość żądanego towaru. PO BŁĘDY szczegóły interfejsu Zakres: Aplikacja obsługująca sprzedaż Poziom: Cel użytkownika Aktor główny: Klient 1. Klient przekazuje systemowi identyfikator i hasło. 2. System stwierdza poprawność identyfikacji użytkownika. 3. Użytkownik udostępnia nazwisko, adres, numer telefonu. 4. System stwierdza, że użytkownik jest mu znany. 5. Użytkownik wybiera towary i ilości. 6. Kontaktując się z systemem magazynowym hurtowni, system stwierdza, że w magazynie jest wystarczająca ilość żądanego towaru. PRZED BŁĘDY niskie poziomy celu Zakres: Aplikacja obsługująca sprzedaż Poziom: Cel użytkownika Aktor główny: Klient/użytkownik 1. Klient przekazuje systemowi identyfikator i hasło. 2. System stwierdza poprawność identyfikacji użytkownika. 3. Użytkownik podaje nazwisko. Połącz elementy 4. Użytkownik podaje adres. danych 5. Użytkownik podaje numer telefonu. Umieść w jednym 6. Użytkownik wybiera produkt. kroku informacje 7. Użytkownik wskazuje ilość. w jednym kierunku 8. System stwierdza, że użytkownik jest mu znany. 9. System otwiera połączenie z systemem hurtowni. 10. System prosi system hurtowni o podanie aktualnych stanów magazynowych. 11. System magazynowy hurtowni przekazuje aktualne stany magazynowe. 12. System stwierdza, że w magazynie jest wystarczająca ilość żądanego towaru. Poszukaj celu na wyższym poziomie 15
BŁĘDY niskie poziomy celu PO Zakres: Aplikacja obsługująca sprzedaż Poziom: Cel użytkownika Aktor główny: Klient/użytkownik 1. Klient przekazuje systemowi identyfikator i hasło. 2. System stwierdza poprawność tożsamości użytkownika. 3. Użytkownik udostępnia dane osobowe (nazwisko, adres, numer telefonu); wybiera towary i ilości. 4. System stwierdza, że użytkownik jest mu znany. 5. Kontaktując się z systemem magazynowym hurtowni, system stwierdza, że w magazynie jest wystarczająca ilość żądanego towaru. Napisz specyfikację UC Dokumentacja przypadku użycia Dokumentacja przypadku użycia Jacek Jakieła Analityk biznesowy Dokumentacja przypadku użycia 16
Zadanie 5 Narysuj model obiektów biznesowych Aspekt statyczny Księgarnia korzysta z 3 typów dokumentów biznesowych: Rozliczenie utargu, Raport strat i Dowód zakupu Klient może otrzymać paragon lub fakturę, które są dowodami zakupu Faktura i paragon dotyczą sprzedanego produktu Faktura wystawiana jest w dwóch kopiach Dla reklamowanego produktu tworzona jest karta reklamacji, której częścią jest uzasadnienie reklamacji Na podstawie Rozliczenia utargu opracowywana jest Prognoza sprzedaży Na podstawie Prognozy przygotowywane jest Zlecenie zakupu produktów Zadanie 6 Narysuj powiązania aktorów z obiektami Aspekt statyczny Za zaopatrzenie odpowiada Pracownik magazynu Za bieżącą obsługę klienta odpowiada Pracownik obsługi klienta Za przyjmowanie wpłat i wydawanie dowodów zakupu odpowiada Kasjer Za weryfikowanie finansów firmy odpowiada Kontroler Za przyjmowanie reklamacji klientów odpowiada Pracownik obsługi reklamacji 17
Aspekt statyczny Księgarnia posiada cztery działy: Dział sprzedaży Kontroling Magazyn Dział obsługi reklamacji Zadanie 7 Narysuj powiązania aktorów z jednostkami organizacyjnymi Jednostki organizacyjne Działy-Pracownicy Kasjer realizuje zadania zlecane przez Dział Obsługi Reklamacji oraz Dział Sprzedaży Pracownik Obsługi Klienta i Pracownik Obsługi Reklamacji realizują zadania Działu Sprzedaży Kontroler wykonuje zadania dla Działu Kontrolingu Pracownik Magazynu wykonuje zadania dla Magazynu Zależności Działy-Pracownicy 18