Język UML definicja i architektura. Modelowanie biznesowe TRZEJ AMIGOS. Co było przed UMLem ROZWÓJ JĘZYKA UML ROZWÓJ JĘZYKA UML

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

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

PROJEKT INŻYNIERIA OPROGRAMOWANIA. Temat: System obsługi kasy - projekt wzorcowy

Ćwiczenia 3: Specyfikacja wymagań Pytania:

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

Podstawy programowania III WYKŁAD 4

SPECYFIKACJE WYMAGAŃ PRZYPADKI UŻYCIA (USE CASE)

Diagram przypadków użycia

Modelowanie i analiza systemów informatycznych Spis treści

DIAGRAM PRZYPADKÓW UŻYCIA USE CASE MODEL

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

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

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

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

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

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

Aplikacja mobilna Nasz Bank

unikupon.pl Unikupon MD Instrukcja obsługi

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

Bank Spółdzielczy w Suszu Spółdzielcza Grupa Bankowa. Aplikacja mobilna. Nasz Bank. Przewodnik Użytkownika. system operacyjny Android

Wersja programu

Instrukcja realizacji usługi DOŁADOWANIE TELEFONU POPRZEZ WYDRUK KUPONU DOŁADUJĄCEGO

Tytuł prezentacji. Dualny Model Sprzedaży podręcznik użytkownika

UML cz. I. UML cz. I 1/1

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

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Diagramy przypadków użycia

Tworzenie warstwy zasobów projektowanie metodą strukturalną

Zakup kredytów i kont Professional

Projektowanie systemów informatycznych. Diagramy przypadków użycia

unikupon.pl Unikupon PC Instrukcja obsługi

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

Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture

INSTRUKCJA OTWARCIA RACHUNKU ALIOR TRADER PRZEZ INTERNET

Instalacja rozwiązania Uruchomienie rozwiązania w systemie Sage Konfiguracja dodatku Ustawienia dodatkowe rozwiązania...

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

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

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Jerzy Skalski s9473, grupa WIs I.6-11c. System wspierający obsługę klienta dla firm sprzedających na Allegro

Tytuł prezentacji. Dualny Model Sprzedaży podręcznik użytkownika

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

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

INSTRUKCJA. ERP OPTIMA - Obsługa w zakresie podstawowym dla hufców. Opracował: Dział wdrożeń systemów ERP. Poznań, wersja 1.

INSTRUKCJA OBŁUGI APLIKACJI ASSECO MAA

Instrukcja obsługi aplikacji epay

Moduł do płatności mobilnych najprostszy sposób zatwierdzenia płatności w komórce

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Wniosek Dobry Start pytania i odpowiedzi

Inżynieria oprogramowania II

Szczegółowe warunki obsługi Konta Inteligo w kanale mobilnym IKO w Powszechnej Kasie Oszczędności Banku Polskim SA

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Opis programu:

Podręcznik użytkownika 360 Księgowość Deklaracja VAT i plik JPK Wystawiaj deklaracje VAT, generuj pliki JPK w programie 360 Księgowość.

Przewodnik po płatnościach zbliżeniowych. czyli jak szybko, wygodnie i bezpiecznie zapłacisz za drobne zakupy.

Klient poczty elektronicznej - Thunderbird

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

TELEFONEM DZIĘKI IKO MOBILNE

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

Podręcznik użytkownika aplikacji E-Hurt

Rozdział 1. Integracja systemu "KasNet" z pinpadami firmy "First Data Polska S.A."

Przewodnik użytkownika systemu AgentWorks transakcje wychodzące wydanie 11 wersja polska

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 9 Strukturyzacja modelu przypadków użycia

Bankofon - klient. system obsługi banku Novum Bank Enterprise NOE. Instrukcja Użytkownika wersja dokumentu: 3.0

Instrukcja użytkownika systemu MOBEVO PANEL PODATNIKA

Instrukcja obsługi Panelu Sklep

Jakie mamy rodzaje kart i do czego może służyć bankomat.

Problemy techniczne. Jak można zmienić dane licencjobiorcy?

Instrukcja obsługi aplikacji epay

Diagramy przypadków uŝycia. związków między nimi

Możesz teraz dodatkowo, poza telefonem do naszego Centrum Obsługi Klienta, samodzielnie, za pomocą Internetu, zająć się następującymi sprawami:

Język UML. dr inż. Piotr Szwed C3, pok

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Spis treúci. 1. Wprowadzenie... 13

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

PANEL ADMINISTRACYJNY SPRZEDAWCY SZYBKI START

System SZOP, Przypadki użycia: Szczegółowy opis modyfikacji dokumentu. Agata Chrobak Kornel Jakubczyk Tomasz Klukowski Przemek Kosiak

ZAŁĄCZNIK 2. Specyfikacja Techniczna Oprogramowania Billon

Kilometrówki24.pl to system służący do ewidencjonowania przejazdów pojazdów wykorzystywanych w przedsiębiorstwach.

Spis treści. Rejestracja/logowanie. Zmiana numeru konta klienta. Tworzenie nowej przesyłki. Zamawianie kuriera

Michał Adamczyk. Język UML

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

PODRĘCZNIK UŻYTKOWNIKA PO PORTALU KARTOWYM KARTOSFERA

Opis systemu lojalnościowego e-lar bank.

Instrukcja instalacji oraz obsługi czytników i kart procesorowych dla Klientów SBI Banku BPH S.A.

Modelowanie obiektowe - Ćw. 5.

INSTRUKCJA UŻYTKOWANIA USŁUGI mobile e-bank EBS

Instrukcja użytkownika esowk Realizacja wniosku kredytowego przez POS Kredyt gotówkowy

Przewodnik po płatnościach zbliżeniowych. czyli jak szybko, wygodnie i bezpiecznie zapłacisz za drobne zakupy

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

Dokumentacja projektu QUAIKE Architektura oprogramowania

Użytkownik przypisany zostaje również do danej grupu uprawnień szczegóły punkt 6.

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

Określanie wymagań. Cele przedsięwzięcia. Kontekst przedsięwzięcia. Rodzaje wymagań. Diagramy przypadków użycia use case diagrams

MASZ TO JAK W BANKU, CZYLI PO CO NAM KARTY I INNE PRODUKTY BANKOWE.

Instrukcja krok po kroku przedstawi Ci jak w łatwy sposób obsłużyć klienta i wykonać przekaz.

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)

Modelowanie obiektowe - Ćw. 3.

Panel Administracyjny Spis treści:

Instrukcja użytkownika esowk Realizacja wniosku kredytowego Kredyt gotówkowy

Przypadki użycia (use cases) Po co są przypadki użycia? Próby definicji Podstawowe pojęcia Notacje Relacje Dokumentacja Kroki metody Przykłady

Modelowanie obiektowe - Ćw. 6.

Transkrypt:

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