Ćwiczenia z IO dotyczące przypadków użycia.

Podobne dokumenty
Diagram przypadków użycia

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

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

DIAGRAM PRZYPADKÓW UŻYCIA USE CASE MODEL

Modelowanie obiektowe - Ćw. 3.

Podstawy programowania III WYKŁAD 4

Projektowanie oprogramowania

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

Priorytetyzacja przypadków testowych za pomocą macierzy

UML 1 diagramy interakcji

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

Modelowanie i analiza systemów informatycznych Spis treści

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

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

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

Projektowanie oprogramowania

Inżynieria oprogramowania II

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

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

Główny Inspektorat Ochrony Środowiska Projekt Wstępny Systemu Informatycznego Transgranicznego Przemieszczania Odpadów

Przewodnik dla użytkownika. Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

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

PRZEWODNIK PO PRZEDMIOCIE

Przewodnik użytkownika systemu AgentWorks podwójna kontrola wydanie 11 wersja polska

Szkolenie: ISTQB Model-Based Tester

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

Architektura oprogramowania w praktyce. Wydanie II.

Diagramy przypadków użycia - MS Visio

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

Modelowanie obiektowe - Ćw. 6.

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

Procedura uruchomienia nowych lub zmiany istniejących funkcjonalności w systemie SAP ERP w UJ

1. Moduł Print Master

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

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

PROCEDURA OBSŁUGI INCYDENTÓW I WNIOSKÓW NA REALIZACJĘ USŁUG W SYSTEMACH INFORMATYCZNYCH. załącznik do ZR 154/2014 z dnia 22 grudnia 2014 roku

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

ZAŁACZNIK NR 1D KARTA USŁUGI Utrzymanie Systemu Poczty Elektronicznej (USPE)

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Podstawy inżynierii oprogramowania

Wprowadzenie do Behaviordriven

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

Rozwiązania CAD/CAM/CAE/PDM. esupport. System wsparcia technicznego firmy Premium Solutions Polska. Autoryzowany Dystrybutor:

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

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

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

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

Język UML w modelowaniu systemów informatycznych

Diagramy przypadków użycia

PRZEWODNIK PO PRZEDMIOCIE

Testujemy dedykowanymi zasobami (ang. agile testers)

Opis Przedmiotu Zamówienia

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

ZARZĄDZENIE Nr 10 DYREKTORA GENERALNEGO SŁUŻBY ZAGRANICZNEJ. z dnia 9 maja 2011 r.

Biznesowe przypadki użycia SOS

Instrukcja dla Uczelnianego Administratora Systemu Antyplagiatowego Plagiat.pl

REFERAT PRACY DYPLOMOWEJ

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 6 Modelowanie przypadków uŝycia i czynności. Materiały dla studentów

PRZEWODNIK PO PRZEDMIOCIE

Specyfikowanie wymagań przypadki użycia

I. Raport wykonywalności projektu

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

Instrukcja wiązania bankowości internetowej z aplikacją mobilną mtoken Asseco MAA (w przypadku autoryzacji za pomocą tokena lub sms-a)

DOTACJE NA INNOWACJE. Inwestujemy w waszą przyszłość. Zapytanie ofertowe

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

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

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

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

ZARZĄDZENIE NR 838/2009 PREZYDENTA MIASTA KRAKOWA Z DNIA 21 kwietnia 2009 r.

Rubik s Manager - Plan testów

Oprogramowanie ILUO Biznes pozwala na jednoczesne zarządzanie wieloma sklepami Internetowymi zbudowanymi na oprogramowaniu różnych producentów.

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

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

osobowe pracowników laboratorium SecLab EMAG w rozumieniu przepisów Kodeksu Pracy, konsultantów, stażystów oraz inne osoby i instytucje mające dostęp

Instrukcja obsługi xapp.pl

Sky-Shop.pl. Poradnik. Pierwsze kroki: Importowanie własnego pliku XML Integracje z hurtowniami

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Instrukcja korzystania z aplikacji mobilnej mtoken Asseco MAA

SLA ORAZ ZASADY ŚWIADCZENIA WSPARCIA I HELPDESK. Wykonawca zobowiązuje się do świadczenia Usług Wsparcia i Helpdesk w odniesieniu do Systemu.

Projektowanie oprogramowania

PLATFORMA DISTANCE LEARNING BLACKBOARD

Opis zmian w wersji Oprogramowania do Obsługi SR/FA/SW/DM/ST

Opis Przedmiotu Zamówienia

Modelowanie i analiza systemów informatycznych

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM

Instrukcja wczytywania i przekazywania zbiorów centralnych w Centralnej Aplikacji Statystycznej przez użytkowników podobszaru FA

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Cab4You Voucher. System obsługi zleceń bezgotówkowych. Instrukcja dla poziomu dostępu firma. Cab4You Voucher / System obsługi zleceń bezgotówkowych

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Instrukcja pracy w systemie USOSweb dla wykładowców PWSZ w Koninie - wpisywanie ocen -

24/10/2011 Norma bezpieczeństwa PCI DSS. Korzyści i problemy implementacji. 1

Załącznik 1. Platforma komunikacyjna powinna posiadać następującą funkcjonalność:

Inżynieria oprogramowania

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Zasady sporządzania matrycy funkcji kontroli

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W CSIZS

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

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

Transkrypt:

Radek Bartosiak kedar@mimuw.edu.pl Ćwiczenia z IO dotyczące przypadków użycia. Zagadnienia do omówienia na ćwiczeniach 1. Wprowadzenie do przypadków użycia jako sposobu przedstawienia interakcji użytkownika (a raczej aktora, np także innego systemu informatycznego) z systemem traktowanym jako czarna skrzynka. 2. Przypadek użycia jako dialog między aktorem a systemem 3. Przypadki użycia jako sposób opisu wymagań funkcjonalnych sytemu 4. Schematyczne przedstawianie przypadków użycia na diagramach UML owych, cele i ograniczenia takiej reprezentacji przypadków użycia (podkreślić, że diagramy pełnią jedynie funkcję pomocniczego spisu treści, trzeba pisać scenariusz przypadków użycia. 5. Które scenariusze przypadków użycia pisać najpierw, jak dokładnie pisać scenariusze przypadków użycia, czy trzeba pisać wszystkie scenariusze przypadków użycia. 6. Dokumentowanie stakeholderów i ich interesów (nawet jeżeli nie są aktorami, np urząd skarbowy w przypadku użycia Sprzedaż towarów za pomocą terminalu kasowego ) 7. Dokumentowanie warunków wstępnych i końcowych 8. Scenariusze główne i alternatywne. 9. Użycie innego przypadku użycia (jeżeli zawsze: include, jeżeli czasem: extend) 10. Dokumentowanie wymagań niefunkcjonalnych (np dotyczących kolorystyki, użycia ekranów dotykowych, wydajności systemu). 11. Napisane scenariusze przypadków użycia NIE są ostateczne (nie można liczyć, że udało nam się napisać scenariusze bezbłędne czy kompletne. Wymaganie podlegają identyfikacji i zmianom oraz ukonkretnieniu> Przykładowo na wczesnym etapie analizy wymagań nie należy pisać scenariuszy, które narzucają konkretne rozwiązania techniczne lub zbyt dokładnie określają GUI) 12. Wskazówki jak zidentyfikować PU Określ zakres (system=software, system=hardware+software,system=hardware+software+ludzie, system=organizacja). To zasadniczo decyduje czy tworzymy tzw biznesowy przypadek użycia, czy tzw systemowy przypadek użycia Zidentyfikuj aktorów Zidentyfikuj cele każdego aktora, zastanów się nad interesami stakeholderów Zdefiniuj przypadki użycia realizujące cele każdego z aktorów 13. Przydatne pytania (w identyfikacji przypadków i aktorów o których można łatwo zapomnieć)

Czy czas (albo zaufany serwer czasu :) jest aktorem Kto administruje systemem (uruchamia, wyłącza, dodaje/usuwa użytkowników, nadaje uprawnienia, monitoruje...) Kto bada, nadzoruje działanie systemu, kto jest powiadamiany w przypadku nieprawidłowości w przypadku jego działania, kto czyta logi. Czy istnieje proces, który restartuje system po jego awarii W jaki sposób oprogramowanie systemu jest aktualizowane Czy system kontaktuje się (korzysta z, udostępniania funkcje) z zewnętrznymi systemami informatycznymi. 14. Podkreślić, że to co jest przypadkiem użycia zależy od zakresu systemu! Test szefa: Szef pyta Co robi Pan dziś od rana (eliminuje przypadek użycia logowanie, który swoją drogą w pewnym momencie może się znów pojawić, gdy będziemy chcieli podjąć konkretne decyzje projektowe dotyczące autentykacji :) Test elementarnego procesu biznesowego: Zadanie wykonywane przez jedną osobę, w jednym miejscu i w konkretnym stosunkowo krótkim czasie (sekundy,minuty) w odpowiedzi na zaistnienie zdarzenia biznesowego, które przynosi wymierną wartość biznesową oraz pozostawia system w spójnym stanie. Eliminuje przypadki użycia typu: edycja wiersza dokumentu tekstowego (brak spójności oraz wymiernej korzyści biznesowej) oraz np projektowanie nowego samochodu(zbyt długi czas, ale może nadawać się na biznesowy przypadek użycia) 15. Przypadki użycia mają pomagać i jak zwykle należy dostosowywać metodologię do potrzeb i możliwości. Przykład 1 Omówić przykładowy przypadek użycia z rozdziału 6 (o przypadkach użycia), książki Craiga Larmana Applying UML and Patterns (strony 50 58, te strony można skserować studentom). Ćwiczenie 2 Producent sprzętu komputerowego wchodzi na nowy rynek urządzeń bankomatowych, każdy bankomat ma mieć własne oprogramowanie, które będzie się łączyło z oprogramowaniem operatora zarządzającego bankomatem. Twoim zadaniem jest opracowanie przypadku użycia Wypłata gotówki z bankomatu Uwagi: 1. Można podkreślić pewną sztuczność tej sytuacji (scenariusz jest dość dobrze określony), przeważnie tak nie jest i pisanie scenariusza jest większym wyzwaniem. 2. Identyfikacja aktorów, stakeholderów i ich interesów, zakresu systemu oraz (to ważne) innych przypadków użycia

3. Dyskusja na temat tego jak dokładnie modelować autoryzację w tym przypadku jestem za dokładnym modelowaniem tzn piszemy Aktor wprowadza PIN, a nie Aktor autoryzuje się, gdyż ta technologia (PIN) jest standardem i jest narzucona ). 4. Skupić się na scenariuszach alternatywnych (błędne hasło, brak gotówki w bankomacie, brak niektórych rodzajów banknotów (np nie można wypłacić 20PLN), zbyt duża kwota wypłaty, przekroczenie stanu konta, zbyt powolne wprowadzanie PINu, nie wyjęcie karty bankomatowej, niepodjęcie pieniędzy, karta bankomatowa nieczytelna, utrata połączenia z systemem zewnętrznym...) Podkreślić, że tu właśnie leży siła PU, sprawdzić czy studenci nie są teraz w stanie zidentyfikować nowych przypadków użycia naszego systemu (np pobranie zatrzymanych kart, powiadomienie o awarii, braku banknotów etc. Przedyskutować padające propozycje w kontekście zakresu i aktorów) 5. Warunki początkowe (np istnienie połączenia z systemem) i końcowe (przebieg operacji jest zapamiętany, informacje przekazane systemowi zewnętrznemu), niefunkcyjne (zagadnienia związane z czasem) 6. Przykład dobrze nadaje się do pokazania różnic gdy myślimy (ustalamy zakres), że system to samo oprogramowanie, oraz gdy myślimy o systemie jako o oprogramowaniu i sprzęcie Uwagi do ćwiczenia 3 1. To ćwiczenie jest mniej skoncentrowane na scenariuszach, po prostu pisanie scenariuszy jest czasochłonne i na ćwiczeniach musimy (mym zdaniem) przećwiczyć także inne rzeczy. Oczywiście zawsze podkreślamy studentom, że najważniejsze są scenariusze. 2. Ćwiczenie nadaje się do pokazania różnicy między systemowym, a biznesowym przypadkiem użycia. Ja biznesowy przypadek użycia Dodanie nowej funkcji każę modelować za pomocą diagramu czynności (z torami). Oczywiście możecie uważać, że na te diagramy jest jeszcze zbyt wcześnie, możecie zresztą całkowicie pominąć rozróżnienie między biznesowymi i systemowymi PU (choć moi studenci wydają się pojmować tę różnicę). 3. Jeżeli mamy diagram czynności to można wskazać w jaki sposób SPU wspierają dane czynności i pokazać w ten sposób śledzenie. 4. Na diagramach PU można tu pokazać generalizację (np generuj raport i dwie podklasy odpowiadające typom raportów), zawieranie i rozszerzanie (np powiadom o odrzuceniu). 5. Ćwiczenie pozwala na zbadanie czy studenci radzą sobie określeniem zakresu, wadą jest to że tak na prawdę nie udaje się zidentyfikować wszystkich przypadków użycia (można na to zwrócić uwagę: np zarządzanie użytkownikami zostanie za pewne pominięte przez studentów). No i krótki opis (oparty na moich notatkach z ćwiczeń z Arkiem Wojną) także nie może oddawać wszystkich problemów, wymagań.

Ćwiczenie 3 System jest przeznaczony dla działu informatyki firmy prowadzącej działalność ubezpieczeniową (sprzedaż polis posagowych, polis na życie itp). Dział informatyki zajmuje się utrzymaniem i rozwojem systemów informatycznych tej firmy. Wraz z ekspansją firmy, wprowadzaniem przez jej władze nowych usług i ofert oraz wraz ze zmianami przepisów prawnych pojawiają się potrzeby udostępniania nowych funkcji oraz zmiany istniejących funkcjonalności. System ma za zadanie zapewnić efektywną komunikację pomiędzy pracownikami związaną ze zgłaszaniem i realizacją tych potrzeb. Przy pojawieniu się nowego zapotrzebowaniapracownik zgłasza je do systemu podając: nazwę systemu który trzeba zmodyfikować, informację czy potrzebna jest nowa funkcja czy zmiana już istniejącej, opis funkcji (modyfikacji), priorytet oraz maksymalny czas realizacji. Po zgłoszeniu zadania osoba z działu informatyki zwana administratorem zadań dokonuje wstępnej analizy zapotrzebowania i przypisuje je do odpowiedniego zespołu projektowego. Kierownik zespołu projektowego wykonuję dokładną analizę zadania i albo je odrzuca, podając uzasadnienie, albo przyjmuje zadanie do wykonania. Jeżeli zadanie zostało odrzucone to zgłaszający zostaje o tym poinformowany. W przypadku akceptacji zadania kierownik zespołu musi wybrać z podzespołu programistów osobę która będzie miała za zadanie zaimplementować zadaną funkcję, a z podzespołu testerów osobę która przetestuje implementację i jej zgodność z wymaganiami zgłaszającego. Obsługa realizacji zadania przebiega w następujący sposób. Po przydziale osób wybrany programista jest informowany o nowym zadaniu i po jego wykonaniu zgłasza ten fakt do systemu podając również nazwy fizycznych komponentów systemu które uległy zmianie (dane, pliki wykonywalne, konfiguracyjne, dokumentacja techniczna, pomoc użytkownika, przypadki testowe oraz opisy testów wykonywanych w trakcie implementacji) System informuje wtedy testera o potrzebie przetestowania wprowadzonych zmian. Po wykonaniu testów tester wprowadza do systemu jego wyniki (oraz utworzone przypadki testowe). Jeżeli wynik jest pozytywny, to Dział Migracji jest informowany o potrzebie uaktualnienia wersji produkcyjnej systemu. Po wykonaniu migracji system informuje: kierownika zespołu, administratora zadań, oraz zgłaszającego o dostępności nowej lub zmienionej funkcjonalności Jeżeli wynik testu był negatywny informowany jest kierownik zespołu, który musi ponownie wykonać analizę zadania pod względem jego wykonalności i jeżeli nie zmienił decyzji to ponownie wybiera osoby do jego wykonania i przetestowania (mogą być to inne niż poprzednio osoby). Z każdym zadaniem system zapamiętuje również daty oraz autorów kolejnych operacji wykonywanych dla danego zadania, takich jak: zgłoszenie, przypisanie, wykonanie testów, odrzucenie zadania oraz aktualny status zadania. Pracownicy firmy mają dostęp do opisu, historii i aktualnego stanu realizacji zadań, przy czym zwykli pracownicy mogą przeglądać tylko informacje dotyczące zgłoszonych przez siebie zadań, pracownicy działu informatyki do wszystkich zadań przypisanych do ich zespołów, a administratorzy zadań i pracownicy Działu Migracji do wszystkich zgłoszonych zadań. Istnieje także grupa kierowników mających możliwość generowania i drukowania sumarycznych raportów dotyczących realizacji potrzeb. Istnieją dwa rodzaje raportów: pierwszy zawiera informacje ile potrzeb zostało zgłoszonych, ile zrealizowanych, ile odrzuconych w zadanym okresie czasu. Parametrami tego raportu są: okres czasu, dział(y) z których pochodziły zapotrzebowania, zespół

projektowy (zespoły projektowe) do których te zapotrzebowania zostały przypisane. Drugi rodzaj raportów zawiera informacje bieżące, czyli dla każdego statusu jest podana informacja, ile w danej chwili jest zadań o danym statusie (ten raport także można przygotować dla zadań z wybranych działów i zespołów projektowych). 1. Narysuj diagram czynności dla procesu biznesowego (biznesowego przypadku użycia): Dodanie nowej funkcji 2. Zidentyfikuj aktorów i systemowe przypadki użycia i przedstaw je na diagramie przypadków użycia.