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



Podobne dokumenty
Podstawy programowania III WYKŁAD 4

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

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

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

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

Diagram przypadków użycia

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

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

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Modelowanie i analiza systemów informatycznych Spis treści

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

SPECYFIKACJE WYMAGAŃ PRZYPADKI UŻYCIA (USE CASE)

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

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

Język UML w modelowaniu systemów informatycznych

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

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

Modelowanie i analiza systemów informatycznych

Faza Określania Wymagań

Diagramy przypadków użycia

Inżynieria oprogramowania II

Specyfikowanie wymagań przypadki użycia

PRZEWODNIK PO PRZEDMIOCIE

DIAGRAM PRZYPADKÓW UŻYCIA USE CASE MODEL

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

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

APIO. W5 PRZYPADKI UŻYCIA. SCENARIUSZE PISANIE SCENARIUSZY RÓŻNE PODEJŚCIA RÓŻNE SZABLONY. dr inż. Grażyna Hołodnik-Janczura W8/K4

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

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

Modelowanie obiektowe - Ćw. 3.

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Instrukcja obsługi Outlook Web App i konfiguracji Thunderbird

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

Biblioteki publiczne

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

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

Michał Adamczyk. Język UML

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

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

Inżynieria oprogramowania

Faza analizy (modelowania) Faza projektowania

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

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

Języki programowania wysokiego poziomu. Ćwiczenia

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

Obsługa POK instrukcja załatwienia sprawy z wykorzystaniem Portalu Obsługi Klienta na podstawie wniosku o udostępnienie zbiorów danych bazy BDOT500

Języki programowania wysokiego poziomu. Forum

Modelowanie obiektowe - Ćw. 5.

SUPLEMENT DO DYPLOMU

Modelowanie obiektowe - Ćw. 1.

Podstawy inżynierii oprogramowania

Informatyzacja przedsiębiorstw WYKŁAD

Modelowanie obiektowe - Ćw. 6.

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

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

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Nowy interfejs katalogu Biblioteki Głównej UP - podręcznik użytkownika

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

Opis zmian w wersji aplikacji Cyfrowe Repozytorium Dokumentów

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

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

Biblioteki publiczne

Języki programowania wysokiego poziomu. Blog

Instrukcja tworzenia, logowania i obsługi kont w portalu:

Projekt z przedmiotu Projektowanie systemów teleinformatycznych

Diagramy czynności Na podstawie UML 2.0 Tutorial

epuap Zakładanie konta organizacji

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

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

WPROWADZENIE DO UML-a

1 Moduł Konfigurowanie Modułu

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

epuap Zakładanie konta organizacji

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Memeo Instant Backup Podręcznik Szybkiego Startu

Nabór Bursy/CKU. Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Podręcznik Użytkownika aplikacji NOVO Szkoła. Profil Ucznia

Podręcznik użytkownika

INSTRUKCJA PIERWSZEGO URUCHOMIENIA I KONFIGURACJI PROGRAMU StartStop w wersji SaaS. 1 S t r o n a

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

Instrukcja obsługi platformy B2B Polcolorit S.A.

Modelowanie Procesów Biznesowych Wykład 3 Notacja UML cz. 1

Cele przedsięwzięcia

INSTRUKCJA dla Szkolnego Administratora Systemu Antyplagiatowego Plagiat.pl

a. (20 pkt.) Aplikacja powinna zawierać następujące elementy: 2. Formularz edycji profilu użytkownika (2 pkt.).

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Yet Another Poll System PRZYPADKI UŻYCIA

Instrukcja obsługi IBOM - dla Interesanta

CITROËN SERVICE SKRÓCONY PRZEWODNIK DLA WARSZTATÓW NIEZALEŻNYCH

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

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

Wymagania edukacyjne z informatyki w klasie VIII

Opis systemu lojalnościowego e-lar bank.

Zarządzanie dostępem do systemu IMI

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

1.2 Prawa dostępu - Role

Sesje i logowanie. 1. Wprowadzenie

Transkrypt:

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

Metody porządkowania wymagań funkcjonalnych Liczba wymagań funkcjonalnych może być bardzo duża; konieczne jest pewnego rodzaju uporządkowanie tych wymagań, które ułatwi pracę nad nimi (złożoność!) Dwie metody umożliwiające zapanowanie nad dużą liczbą wymagań: hierarchiczny zapis wymagań, diagramy przypadków użycia (Use Cases).

Metody porządkowania wymagań funkcjonalnych Tekstowy zapis hierarchii wymagań funkcjonalnych Funkcja nadrzędna f1 funkcja f1.1 funkcja f1.2 funkcja f1.3 funkcja f1.3.1 funkcja f1.3.2 funkcja f1.3.3 funkcja f1.4 funkcja f1.4.1 funkcja f1.4.2 funkcja f1.4.3

Metody porządkowania wymagań funkcjonalnych Notacje graficzne (pionowe i poziome) Funkcja nadrzędna f1 funkcja f1.1 funkcja f1.2 funkcja f1.3 funkcja f1.3.1 funkcja f1.3.2 funkcja f1.3.3... Funkcja f1 Funkcja f1.1 Funkcja f1.2 Funkcja f1.3 Funkcja f1.3.1 Funkcja f1.3.2 Funkcja f1.3.3...

Metody porządkowania wymagań funkcjonalnych Sposoby konstruowania hierarchii funkcji: Technika zstępująca Technika wstępująca Podejście mieszane Określanie wymagań funkcjonalnych należy rozpoczynać od poszukiwania najbardziej ogólnych funkcji Następnie należy dekomponować te funkcje na funkcje składowe, aż do osiągnięcia poziomu funkcji elementarnych

Przypadki użycia (Use Cases) wprowadzenie Zagrożenia ze strony wymagań, waga wymagań Jakie są wymagania dla systemu? Duże niebezpieczeństwo, że zostanie stworzony system, który nie robi tego, czego potrzebuje klient Przypadki użycia sterują procesem projektowania np. RUP (Use Case driven process) Przypadek użycia (Use Case) opis typowej interakcji między aktorem a systemem (techniki UML Unified Modeling Language) Każdy opisuje funkcję znaną aktorowi (użytkownikowi) i mającą znaczenie w systemie

Przypadki użycia (Use Cases) Wykrycie wszystkich możliwych przypadków użycia budowanego systemu (w praktyce nie da się!) Należy wykryć jak najwięcej: te najważniejsze i stanowiące największe zagrożenie (zbieranie - rozmowy z użytkownikami) Opis: 1-3 akapitów (konkretny, zrozumiały dla użytkownika, weryfikacja) + ew. forma graficzna Szkielet modelu pojęciowego dziedziny projektu: opis + diagramy Słownik terminów biznesowych (klient, usługa, jednostka organizacyjna)

Przypadki użycia (Use Cases) Przypadek użycia Use Case): jest to zbiór scenariuszy powiązanych ze sobą wspólnym celem (użytkownika) Scenariusz: ciąg kroków opisujących interakcje (np. pomiędzy użytkownikiem/ innym systemem a systemem), opis sytuacji (jednej, np. zakończonej powodzeniem) Może się zdarzyć inna niepowodzenie => oddzielny scenariusz Biznesowe przypadki użycia vs systemowe przypadki użycia Użytkownik a aktor w systemie

Przypadki użycia (Use Cases) rodzaje Biznesowe p.u.: jak przedsiębiorstwo reaguje na klienta lub zdarzenie; pomoc przy rozważaniu alternatywnych sposobów osiągnięcia celu (przez aktora role) Systemowe p.u.: interakcja między użytkownikiem systemu a systemem Wczesne stadia projektowania: biznesowe przypadki użycia, później tworzone na ich podstawie systemowe przypadki użycia, wydzielenie aktorów (rozpoczęcie?)

Przypadki użycia (Use Cases) Procedura: Formułowanie biznesowych przypadków użycia (istniejące sytuacje biznesowe; potem wymyślanie spełniających je systemowych przypadków użycia Przynajmniej jeden zestaw systemowych przypadków użycia dla każdego wychwyconego biznesowego przypadku użycia (co najmniej dla tych, które planuje się implementować w pierwszej wersji systemu (lub pierwszym przyroście).

Przypadki użycia (Use Cases) o o o Przypadek użycia ma (często) wspólną ścieżkę, gdy powodzenie, a wiele alternatyw: gdy niepowodzenie (scenariusze niepowodzenia) alternatywy, gdy pomyślnie ale w inny sposób Sposób prezentacji przypadków użycia: Opis scenariusza głównego jako ciągu ponumerowanych kroków i alternatyw jako wariantów tego ciągu (Przykład)

Przypadki użycia (Use Cases) Zapis przypadków użycia: o wiele różnych sposobów (UML nie podaje standardu, kilka metod) o można dodawać do opisu dodatkowe elementy (np. informację n.t. warunków wstępnych co ma być spełnione zanim rozpocznie się przypadek użycia) o przykład prosty opisu scenariuszowego przypadku użycia

Opis przypadków użycia (Use Cases) prosty przykład Przykład przypadku użycia opis scenariuszowy: Zakup towaru 1. Klient przegląda katalog i wybiera towar 2. Klient przechodzi do kasy 3. Klient podaje info n.t. war. dostawy (termin, adres) 4. System podaje info. cenową (w tym koszt dostawy) 5. Klient podaje info. n.t. karty kredytowej 6. System autoryzuje sprzedaż 7. System potwierdza sprzedaż 8. System wysyła potwierdzenie do klienta (poczta el.)

Opis przypadków użycia (Use Cases) prosty przykład c.d. Alternatywa: Niepowodzenie autoryzacji W kroku 6. system nie uzyskuje autoryzacji karty. Należy umożliwić powtórne wprowadzenie info. n.t. karty i powtórzyć próbę autoryzacji Alternatywa: Stały klient 3A. System: wywietla bież. warunki dostawy, info. n.t. ceny i 4-ry ostatnie cyfry n-ru karty 3B. Klient: może potwierdzić lub zmienić dane domyślne Powrót do scenariusza głównego w punkcie 6.

Przypadki użycia (Use Cases) - dokumentowanie (wg RUP) 1. Nazwa przypadku użycia (czasownik polecenie: Zrób coś ) 1. Krótki opis 2. Aktorzy 3. Wyzwalacze (zdarzenia inicjujące) 2. Przepływ zdarzeń 1. Przepływ podstawowy 2. Przepływy alternatywne (rozszerzenia/extensions) Warunek 1.opis... Warunek 2.opis.... 3. Specjalne wymagania 4. Warunki początkowe 5. Warunki końcowe 6. Punkty rozszerzenia

Przypadki użycia (Use Cases) Dzielenie przypadków użycia: n-ty scenariusz/ osobny przypadek użycia Szczegółowość opisu zależy od ryzyka niesionego przez przypadek użycia: im bardziej ryzykowny przypadek, tym bardziej szczegółowy musi być opis

Przypadki użycia (Use Cases) - dokumentowanie c.d. (wg Alistair Cockburn Jak pisać efektywne przypadki użycia ) Numer i Nazwa przypadku użycia: Autor: Cel przypadku użycia: Kontekst użycia: (cel biznesowy przypadku użycia) Zakres: (zakres projektowy, jaki system jest traktowany jako czarna skrzynka ) Poziom: (streszczenie, cel lub podfunkcja) Aktor główny: Uczestnicy i interesy: Wyzwalacz: (zdarzenie inicjujące co uruchamia przypadek użycia) Warunek początkowy: (jakiego stanu świata oczekujemy na wejściu) Minimalna gwarancja: (jak interesy są chronione przy dowolnym zakończeniu) Główny scenariusz powodzenia: 1. 2. 3. Rozszerzenia: - Scenariusze alternatywne (Extensions) *. nazwa. 1.1 2.1 Dodatkowa informacja:

Opis przypadków użycia (Use Cases) przykład 1. 1) Nazwa przypadku użycia: zapisz się na wykłady 1. Krótki opis Przypadek użycia umożliwia Studentowi zapisanie się na wykłady oferowane w bieżącym semestrze. Student może także zamienić albo usunąć swoje wybory, o ile te zmiany są dokonywane w okresie dodawania i odrzucania na początku semestru. System Katalogu Wykładów udostępnia listę wszystkich ofert wykładów w bieżącym semestrze. 2. Aktor główny: Student. 3. Wyzwalacz: Przypadek uzycia rozpoczyna się, gdy Student wybierze z Głównego Menu czynność obsługa planu zajęć. 2) Przepływ zdarzeń 1. Przepływ podstawowy Utwórz plan zajeć 1. Student wybiera zakładkę Utwórz plan zajęć. 2. System wyświetla pusty formularz planu zajęć. 3. System odczytuje listę dostępnych ofert wykładów z Katalogu Wykładów. 4. Student wybiera z listy dostępnych 4 główne oferty wykładów i 2 alternatywne. 5. Student zatwierdza swój wybór 6. System zapisuje plan zajęć.

Opis przypadków użycia (Use Cases) przykład 1. c.d. 2. Przepływy alternatywne Zmień plan zajęć. 1. Student wybiera Zmień plan zajęć. 2. System odczytuje i wyświetla obecny plan zajęć Studenta. 3. System odczytuje listę wszystkich ofert dostępnych w bieżącym semestrze wykładów z Katalogu Wykładów i wyświetla listę Studentowi. 4. Student może zmienić wybór wykładów przez usuwanie i dodawanie nowych wykładów. Student wybiera dodawane wykłady z listy dostępnych wykładów. Student może tez wybrać i usunąć z istniejącego planu zajęć. 5. System zapisuje plan zajęć. Usuń plan zajęć ( ) Zapisz plan zajęć ( ) Dodaj ofertę wykładu. Nie znaleziono planu zajęć. System Katalogu Wykładów jest niedostępny. Zamknięto zapisy na wykłady. 3) Specjalne wymagania: brak 4) Warunki początkowe: Rejestracja 5) Warunki końcowe: brak 6) Punkty rozszerzenia: brak

Opis przypadków użycia (Use Cases) przykład 2. UC-01: Logowanie do systemu Poziom: niebieski Autor: Katarzyna Nowak Cel: Zalogowanie się użytkownika do systemu Kontekst: Autoryzacja użytkownika w celu gromadzenia i przetwarzania jego danych Aktor główny: Użytkownik (niezalogowany) Warunek początkowy: Użytkownik nie jest zalogowany w systemie Zdarzenie inicjujące: Użytkownik uruchomił stronę logowania do systemu Główny scenariusz powodzenia: 1. System wyświetla użytkownikowi stronę logowania z polami loginu i hasła 2. Użytkownik podaje login i hasło 3. System pozytywnie weryfikuje podane przez użytkownika dane 4. Użytkownik zostaje zalogowany

Opis przypadków użycia (Use Cases) przykład 2. c.d. Scenariusze alternatywne: *. Użytkownik zamyka okno logowania. 2.1 Użytkownik nie ma jeszcze swojego konta, system proponuje UC- 05 rejestracja nowego użytkownika. Użytkownik podaje login i hasło (pkt 2) 3.1 - System negatywnie weryfikuje podane przez użytkownika dane. System ponownie prosi użytkownika o podanie loginu i hasła. 3.2 System negatywnie weryfikuje podane przez użytkownika dane, system proponuje UC-07 Procedura przypomnienia hasła. Użytkownik podaje login i hasło (pkt 2) 3.3 - System negatywnie weryfikuje podane przez użytkownika dane (n>3). System blokuje konto klienta (UC-09 - blokada konta klienta).

Przypadki użycia (Use Cases) scenariusze a diagramy Przypadki użycia = scenariusze podstawowe elementy formułowania wymagań opis wymagań (user s stories) koncepcja scenariuszy (Boch, Rumbaugh, Jacobson) UML = Unified Modelling Language Diagramy przypadków użycia systemu diagramy tj. wizualizacja pomocne narzędzie wydzielanie przypadków użycia wg oceny ryzyka dokładność

Przypadki użycia (Use Cases) Aktorzy Koncepcja: Aktorzy: funkcja w stosunku do systemu, pełniona rola wykonują przypadki użycia kandydat na aktora: obiekt, który coś zyskuje od systemu ludzie, inne (pod)systemy, jednostki organizacyjne, etc. jeden aktor wiele przypadków użycia i odwrotnie aktorzy są przydatni przy wykrywaniu przypadków użycia

Diagramy przypadków użycia (Use Cases)

Diagramy przypadków użycia (Use Cases)

Diagramy przypadków użycia (Use Cases) uwagi Uwagi praktyczne: Duże systemy trudności w ustaleniu listy przydatnych p.u. określanie listy aktorów, a potem przypadki użycia dla każdego System powinien być skonfigurowany dla różnych aktorów (ról, grup) rodzaje użytkowników aktorami, p.u. wyznaczają zadanianych aktorów Priorytety ról (aktorów), śledzenie kto i jak potrzebuje p.u.

Przypadki użycia (Use Cases) Uwagi praktyczne, c.d. Przypadki użycia podstawowe narzędzie do uchwycenia wymagań systemu oraz w planowaniu i zarządzaniu iteracyjnym projektem tworzenia oprogramowania Każdy przypadek użycia jest potencjalnym wymaganiem Przypadki użycia spojrzenie z zewnątrz na system W miarę postępu prac mogą się pojawić nowe przypadki użycia 1. spisywanie i omawianie przypadków użycia, a potem 2. modelowanie (pomaga w wykrywaniu przypadków użycia)

Przypadki użycia (Use Cases) Uwagi praktyczne, c.d. Ile przypadków użycia należy zgromadzić? [Fowler M., Scott K., UML] dla projektów ca 10 osobolat: kilkanaście (podstawowych) przypadków użycia; każdy przypadek użycia wiele scenariuszy i wariantowych przypadków użycia ponad sto oddzielnych przypadków użycia

Przypadki użycia (Use Cases) Związki pomiędzy przypadkami użycia systemu Relacja zawierania <<include>>: kilka przypadków użycia ma wspólną sekwencję podobnych kroków-nie warto kopiować z jednego p.u. do drugiego; reuse tworzenie oddzielnego p.u. odwoływanie się z innych p.u. Np.: Czytelnik: przedłużyć, pożyczyć <<incl.>> spr. rezerwację Relacja uogólnienia generalization: przypadek użycia podobny do innego, ale nieco obszerniejszy (scen., alternatywne, typowe zachowania, opis nieformalny) np.: Rezerwowanie rezerwowanie przez telefon Relacja rozszerzenia <<extend>>: wzbogacenie o dodatkowe zachowania (formalnie!), przypadki wyjątkowe; sprawdzanie warunków, zmiana zachowania np.: Czytelnik: pożyczanie <<extend>> odmowa (po spr. stanu); def. punktów rozszerzeń w przypadku podstawowym

Diagramy przypadków użycia (Use Cases)

Koniec

Podsumowanie