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



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

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

DIAGRAM PRZYPADKÓW UŻYCIA USE CASE MODEL

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

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

Podstawy programowania III WYKŁAD 4

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

Modelowanie i analiza systemów informatycznych Spis treści

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Modelowanie obiektowe - Ćw. 3.

Inżynieria oprogramowania II

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

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

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

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Diagramy przypadków użycia

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

Język UML w modelowaniu systemów informatycznych

Diagram przypadków użycia

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

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

Modelowanie i analiza systemów informatycznych

Wykład 1 Inżynieria Oprogramowania

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

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

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

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

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

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

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

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Pytania z przedmiotów kierunkowych

Maciej Oleksy Zenon Matuszyk

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

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

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie interakcji

Diagramy czynności Na podstawie UML 2.0 Tutorial

DLA SEKTORA INFORMATYCZNEGO W POLSCE

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

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

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

Faza analizy (modelowania) Faza projektowania

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Świat rzeczywisty i jego model

Tworzenie warstwy zasobów projektowanie metodą strukturalną

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

MiASI. Modele, perspektywy, diagramy UML. Piotr Fulmański. 7 grudnia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Faza Określania Wymagań

Modelowanie obiektowe - Ćw. 5.

EXSO-CORE - specyfikacja

Inżynieria oprogramowania

slajd 1 Model przypadków użycia Anna Bobkowska

Modelowanie i Programowanie Obiektowe

Podstawy programowania III WYKŁAD 5

Diagramy przypadków użycia - MS Visio

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

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

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

Tom 6 Opis oprogramowania

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

UML w Visual Studio. Michał Ciećwierz

PRZEWODNIK PO PRZEDMIOCIE

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

Projektowanie oprogramowania

Wykład I. Wprowadzenie do baz danych

Polityka prywatności 1. Informacje ogólne.

Informatyzacja przedsiębiorstw WYKŁAD

Analityk i współczesna analiza

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Serwis realizuje funkcje pozyskiwania informacji o użytkownikach i ich zachowaniach w następujący sposób:

Polityka prywatności serwisu

WPROWADZENIE DO UML-a

Dokumentacja użytkownika systemu bankowości internetowej def3000/ceb. UZUPEŁNIENIE: Mechanizm Podzielonej Płatności (MPP/Split Payment)

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

Programowanie zespołowe

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

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Język UML w modelowaniu systemów informatycznych

<Nazwa firmy> <Nazwa projektu> Specyfikacja wymagań projektu. Wersja <1.0>

Modelowanie i analiza systemów informatycznych

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

POLITYKA PRYWATNOŚCI SERWIS:

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

Projektowanie bazy danych przykład

Modelowanie testów. czyli po co testerowi znajomość UML

Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Dokumentacja aplikacji Szachy online

Definiowanie filtrów IP

Transkrypt:

Analiza i projektowanie obiektowe 2015/2016 Wykład 2: Przypadki użycia Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Czym są przypadki użycia. 2. Pozyskiwanie przypadków użycia. 3. Diagram przypadków użycia. 2 1

Czym są przypadki użycia 3 Dlaczego przypadki użycia Przypadki użycia są szeroko rozpowszechnionym mechanizmem znajdowania oraz opisywania wymagań (szczególnie wymagań funkcjonalnych), wpływają one na sposób prowadzenia projektu informatycznego, w tym na sposób prowadzonej analizy obiektowej i projektowania obiektowego (OOA/D). Technika przypadków użycia została wprowadzona przez Ivara Jacobsona w 1992 roku. Pisanie przypadków użycia czyli opowieści o używaniu systemu jest doskonałą metodą zrozumienia i zapisania wymagań. Kluczowym elementem przy pracy nad przypadkami użycia jest skoncentrowanie się na pytaniu W jaki sposób przy użyciu systemu można osiągnąć cele użytkownika niż skoncentrowanie się jedynie na sporządzeniu listy funkcjonalności tworzonego systemu. 4 2

Podstawowe pojęcia (1) Aktor byt w systemie, który posiada zachowanie: osoba identyfikowana przez swoją rolę (np. kierownik, klient,...), system komputerowy lub organizacja. Przypadek użycia (ang. use case) reprezentuje sekwencję akcji i interakcji pomiędzy aktorami i tworzonym systemem. Zapisywany jest jako opowieść dotycząca używania wybranego fragmentu systemu. Przypadek użycia jest zbiorem powiązanych scenariuszy (kończących się sukcesem, bądź porażką) opisujących zachowanie się aktorów wykorzystujących system w celu osiągnięcia określonego celu. Przypadek użycia powinien opisywać takie zachowania systemu, które dostarczają konkretnemu aktorowi obserwowalne i istotne wyniki. 5 Podstawowe pojęcia (2) Przypadki użycia są wykorzystywane przede wszystkim do opisywania wymagań funkcjonalnych (opis tego co system robi). Używanie techniki przypadków użycia (szczególnie w metodyce UP) ma zadanie ograniczyć stosowanie formularzy zawierających listy funkcjonalności opisujących co system powinien robić. Przypadki użycia są dokumentami tekstowymi, a nie diagramami. Proces modelowania przypadków użycia to proces pisania tekstu, a nie tworzenia diagramów. Diagramy przypadków użycia dostępne w UML mają za zadanie jedynie zilustrować przypadki użycia (aktorzy i związki pomiędzy aktorami). 6 3

Przypadków użycia, a analiza i projektowanie obiektowe W przypadku tworzenia przypadków użycia przyjmowane jest podejście czarnej skrzynki (ang. black box) opisywane są odpowiedzialności (ang. responsibility) systemu, a nie opisywanie tego jak działa system, bądź jego komponenty. Podejście to nawiązuje do paradygmatu obiektowego w którym obiekty programowe posiadają odpowiedzialność (ang. responsibility) i współpracują z innymi obiektami też posiadającymi swoją odpowiedzialność. Przypadki użycia dotyczą fazy analizy obiektowej (która odpowiada na pytanie co system robi: what ), bez konieczności rozstrzygania tego co jest realizowane w fazie projektowania obiektowego (odpowiedź na pytanie jak system działa: how ). 7 Sposoby zapisu przypadków użycia Opis skrócony (ang. brief) opis zajmujący jeden paragraf, przeważnie zawiera jedynie podstawowy scenariusz kończący się sukcesem. Opis nieformalny (ang. casual) opis wielu scenariuszy w postaci nieformalnej. Opis pełny (ang. fully dressed) opis najbardziej pogłębiony. Wszystkie kroki i warianty są zapisane w postaci szczegółowej, pojawiają się sekcje uzupełniające np. z warunkami początkowymi. 8 4

Przykład: opis skrócony Przykład dotyczy programu tworzenia aplikacji obsługującej klienta w sklepie w oparciu o terminal wielozadaniowy POS (point-of-sale) Przypadek użycia Obsługa sprzedaży Klient przychodzi do kasy z produktami, które pragnie nabyć. Kasjer używa POS do wpisania każdego produktu. System wyświetla kwotę globalną zakupów oraz szczegółowe informacje o poszczególnym produkcie. Klient wprowadza informacje o sposobie realizowania płatności, które są weryfikowane i zapisywane przez system. System uaktualnia stany magazynowe. Klient otrzymuje paragon i wychodzi z produktami, które nabył. 9 Przykład: opis pełny Opis pełny zawiera więcej szczegółów oraz jest ustrukturyzowany. Opis tego rodzaju pozwala na pełne zrozumienie celów użytkownika, zadań i wymagań. Opisy pełne mogą być zapisywane w szablonach różnego rodzaju. Analiza opisu pełnego przypadku użycia Obsługa sprzedaży 10 5

Elementy składowe opisu pełnego (1) Aktor podstawowy (primary actor): Podstawowy aktor, który żąda różnych usług systemu, aby osiągnąć zaplanowane cele użytkownika. Główni odbiorcy i oczekiwania względem systemu: punkt określający granice w których działa system. Pozwala na opisanie oczekiwań względem systemu przez wszystkich jego użytkowników. Warunki wstępne: Stan systemu, który musi być zawsze prawdziwy, aby móc rozpocząć scenariusz danego przypadku użycia, Nie są to warunki wstępne, które są testowane wewnątrz danego przypadku użycia, zakłada sięże są one spełnione wcześniej, W większości wypadków stan ten jest osiągnięty po zrealizowaniu scenariusza innego przypadku użycia. Warunki końcowe: stan systemu, który musi zachodzić po zakończeniu przypadku użycia tzn. jego scenariusza głównego, bądź dowolnej ścieżki alternatywnej. 11 Elementy składowe opisu pełnego (2) Cele scenariusza głównego (ścieżka podstawowa): Opis typowej ścieżki, która spełnia oczekiwania względem systemu głównych jego odbiorców (tzw. happy path ), Powinna być zapisana w sposób prosty nie zawierający odgałęzień i warunków, Warunki i odgałęzienia powinny być zapisywane w sekcji Rozszerzenia. Scenariusz główny służy do zapisu następujących kroków: Interakcji pomiędzy aktorami, Walidacji danych, Zmian stanów systemu (np. modyfikowanie lub zapisywanie dowolnych wartości). Rozgałęzienia (ścieżki alternatywne): wskazują inne możliwe ścieżki, w tym te kończące się sukcesem oraz porażką. 12 6

Elementy składowe opisu pełnego (3) Wymagania specjalne: pozwalają na opisanie wymagań niefunkcjonalnych dotyczących wydajności, niezawodności, odporności, przenośności tworzonego systemu oraz ograniczeń nakładanych na jego architekturę. Wymagania technologiczne oraz ograniczenia na wprowadzane dane: ograniczenia technologiczne oraz ograniczenia na wprowadzane dane, które powinny są narzucone na system ze względu na kontekst w którym jest on tworzony. 13 Pozyskiwanie przypadków użycia 14 7

Poziom szczegółowości przypadków użycia Problemem przy tworzeniu przypadków użycia jest rozstrzygnięcie na jakim poziomie szczegółowości należy je określać. Przyjmuje się, że przy opisie przypadków użycia należy koncentrować się na poziomie elementarnych procesów biznesowych definiowanych jako: Zadanie wykonane przez osobę w jednym miejscu i w jednym czasie w odpowiedzi na określoną potrzebę biznesową, która wprowadza obserwowalną i mierzalną wartość istotną z punktu widzenia rozpatrywanego kontekstu. Przyjmuje się, że elementarny proces biznesowy to proces trwający od kilkunastu sekund do godziny. Co jest, a co nie jest przypadkiem użycia: Negocjacja kontraktu z dostawcą (nie), Obsługa zwrotów towaru (tak), Złożenie zamówienia (tak), Zalogowanie się do systemu (nie), Wydrukowanie dokumentu (nie). 15 Przypadki użycia i cele użytkownika Aktorzy posiadają pewne cele (potrzeby) i używają aplikacji do ich osiągania. Poziom elementarnych procesów biznesowych jest nazywany poziomem celów użytkownika (user goal-level). Znajdowanie przypadków użycia powinno być realizowane według zasady: Znajdź cele użytkownika, Zdefiniuj przypadek użycia dla każdego z nich. Powyższe sprowadza problem znajdowanie przypadków użycia do zadawania pytania Jakie są cele systemu? a nie Jakie wyróżniamy przypadki użycia?. Dla celu: zachowaj informacje o obsłudze sprzedaży wprowadzany jest przypadek użycia Obsluga Sprzedaży. Strategia przy poszukiwaniu przypadków użycia powinna polegać każdorazowo na znajdowaniu celów wyższego poziomu dla celów pojawiających się w trakcie analizy. Pozwoli to na zidentyfikowanie elementarnych procesów biznesowych oraz pozwoli je odróżnić od celów drugorzędnych oraz ogólnych celów biznesowych. 16 8

Zasady znajdowania aktorów podstawowych, celów użytkownika oraz przypadków użycia Przypadki użycia są definiowane w taki sposób, aby spełniać cele aktorów podstawowych. W związku z powyższym procedura postępowania w celu ich identyfikacji jest następująca: Określenie granic systemu (czy rozważana jest aplikacja, aplikacja + hardware traktowane jako jedna jednostka, cała organizacja), Identyfikacja aktorów podstawowych użytkownicy posiadający cele które mogą być osiągnięte poprzez używanie poszczególnych funkcjonalności systemu, Dla każdego z nich należy zidentyfikować cele użytkownika należy je rozpatrywać na najwyższym poziomie spełniającym założenia elementarnych procesów biznesowych, Zdefiniowanie przypadków użycia, które spełniają cele użytkowników. 17 Krok 1: Określanie granic systemu W przypadku problemów z określeniem granic systemu konieczne jest określenie tego co znajduje się poza nim tzn. konieczne jest określenie zewnętrznych aktorów podstawowych i drugoplanowych. W przypadku przykładu POS system sam w sobie jest systemem, który budujemy. Poza systemem znajdują się Kasjer, Serwis Autoryzacji Transakcji, itd. 18 9

Krok 2 i 3: Identyfikacja aktorów podstawowych oraz ich celów (1) Etapy identyfikacji aktorów podstawowych oraz określania ich celów jest realizowane jednocześnie. Poniższe pytania pozwalają na identyfikację aktorów i celów użytkownika: Kto uruchamia i zatrzymuje system? Kto realizuje politykę bezpieczeństwa i zarządzania użytkownikami? Czy jest proces monitoringu, który ma za zadanie restartować system po jego zawieszeniu? Jak realizowany jest update systemu? Kto administruje systemem? Czy czas jest aktorem tzn. czy system wykonuje jakieś działania w określonych okresach czasu? Kto analizuje logi systemowe? 19 Krok 2 i 3: Identyfikacja aktorów podstawowych oraz ich celów (2) Przy szukaniu aktorów podstawowych należy uwzględniać zewnętrzne systemy komputerowe. W celu powiązania aktorów podstawowych z celami tworzone są listy aktor-cel: Aktor Kasjer Manager Administrator systemu System aktywności sprzedaży Obsługa sprzedaży Obsługa zwrotu towarów Obejmowanie stanowiska pracy Zwalnianie stanowiska pracy Uruchomienie systemu Zatrzymanie systemu Zarządzanie użytkownikami Zarządzanie bezpieczeństwem Analiza sprzedaży Cel 20 10

Krok 2 i 3: Identyfikacja aktorów podstawowych oraz ich celów (3) Aktorzy podstawowi i cele użytkownika ściśle zależą od granic systemu! Określenie czy dany aktor jest aktorem podstawowym zależy od tego jak zostały określone granice systemu. Dla systemu POS aktorem podstawowym realizującym cel Obsluga sprzedaży jest aktor Kasjer. Inni aktorzy: System Aktywności Sprzedaży (cel: Analiza sprzedaży), Klient (cel: Kupowanie produktów), Urząd Skarbowy (cel: Pobieranie podatków). 21 Krok 4: Zdefiniowanie przypadków użycia Przypadki użycia należy nazywać w sposób podobny do celów użytkownika, nazwy powinny zaczynać się od czasownika. W przypadku ogólnym tworzony jest jeden przypadek użycia dla jednego celu użytkownika. Wyjątkiem jest tworzenie jednego przypadku użycia dla tzw. celów CRUD (create, retrive, update, delete) np. cele Edytowanie użytkownika i Usuwanie użytkownika powinny zostać zapisane w przypadku Zarządzanie Użytkownikami. 22 11

Aktorzy Aktorem jest dowolny byt posiadający zachowanie, włączając w to system który modelujemy. Aktorami mogą być ludzie, organizacje, inne systemy, maszyny. Rodzaje aktorów: Aktor podstawowy posiada cele użytkownika realizowane poprzez używanie funkcjonalności systemu, który modelujemy (np. Kasjer) Dlaczego wyróżniamy? aby znaleźć cele użytkownika, które są podstawą do tworzenia przypadków użycia. Aktor wspomagający udostępnia usługi (np. informacje) do systemu, który modelujemy (np. System Autoryzacji Płatności) Dlaczego wyróżniamy? aby doprecyzować zewnętrzne interfejsy i protokoły. Aktorzy zewnętrzni posiadają określony cel w zachowaniu opisywanym przez przypadek użycia, ale nie są aktorami podstawowymi, ani wspomagającymi (np. Urząd Skarbowy) Dlaczego wyróżniamy? aby opisać wszystkie oczekiwania względem systemu. 23 Diagram przypadków użycia 24 12

Diagram przypadków użycia w UML Granice systemu POS Komunikacja Aktor Kasjer Obsługa sprzedaży Obsługa zwrotu towarów Obejmowanie stanowiska pracy System autoryzacji płatności << actor >> System obliczania podatków << actor >> System aktywności sprzedaży Analiza sprzedaży << actor >> System księgowy Zarządzanie użytkownikami << actor >> System HR Administrator systemu Zarządzanie bezpieczeństwem Przypadek użycia 25 13