Inżynieria Oprogramowania

Slides:



Advertisements
Podobne prezentacje
Modelowanie przypadków użycia
Advertisements

Projektowanie w cyklu życia oprogramowania
Role w zespole projektowym
Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli
Referat 3. Planowanie zadań i metody ich obrazowania
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Co UML może zrobić dla Twojego projektu?
Dokumentowanie wymagań w języku XML
Czym jest zarządzanie operacyjne
Tomasz Jabłoński Michał Ziach
Cykle życia oprogramowania
Systemy operacyjne.
1 Kryteria wyboru systemów: Przystępując do procesu wdrażania zintegrowanego systemu zarządzania, należy odpowiedzieć na następujące pytania związane z.
Diagram czynności (Activity Diagrams)
Projektowanie systemów informacyjnych
Projektowanie i programowanie obiektowe II - Wykład IV
Wstęp do interpretacji algorytmów
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Projektowanie - wprowadzenie
Dalsze elementy metodologii projektowania. Naszym celem jest...
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
ALGORYTMY.
Oskar Ośko Mateusz Skoczewski Michał Sułek
Unified Modeling Language graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
„Plant a Future” metoda projektu w bibliotece szkolnej
Inżynieria Oprogramowania
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
WebQuest wykonane w ramach projektu BelferOnLine
Wanda Klenczon Biblioteka Narodowa
Microsoft Solution Framework
Podsumowanie metodologii OMT
Programowanie obiektowe – język C++
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Model przypadków użycia
Dr Karolina Muszyńska Na podst.:
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Unified Modeling Language - Zunifikowany Język Modelowania
Modelowanie obiektowe Diagramy klas
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
Projektowanie relacyjnych baz danych – postacie normalne
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Diagram aktywności (czynności)
Diagram przypadków użycia
Zarządzanie zagrożeniami
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Przykłady analiza i projektowanie
Projektowanie relacyjnych baz danych – diagramy związków encji
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Logical Framework Approach Metoda Macierzy Logicznej
Struktura systemu operacyjnego
Wstęp do interpretacji algorytmów
Model warstwowy ISO-OSI
Wstęp do systemów informatycznych Model przypadków użycia.
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
Temat: Tworzenie bazy danych
Inżynieria systemów informacyjnych
Inżynieria Oprogramowania Laboratorium
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Modele wg Jacobsona Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające.
Zapis prezentacji:

Inżynieria Oprogramowania Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Inżynieria Oprogramowania Wykład 5 Zarządzanie wymaganiami mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Problem „kamienia” Potrzebuje kamień. Przynieś mi go. mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Efekt... Tak, ale to czego chciałem, miało być MAŁYM SZARYM KAMIENIEM mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Modyfikacja ... Tak, ale chcę aby mały szary kamień był na dodatek OKRĄGŁY mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Modyfikacja ... Tak, ale ... mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS ... W końcu może się okazać, że klient cały czas myślał o małym szarym kawałku granitu Może nie był pewien, czego chce, poza tym, że był to mały szary kawałek granitu? A może jego wymagania uległy zmianie pomiędzy dostawą pierwszego (dużego) kamienia a dostawą ostatniego (małego szarego)? Ci programiści po prostu tego nie rozumieją Czy chciał Pan, żeby TO właśnie zrobić? mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Określenie wymagań Nie jest łatwe, nawet w przypadku dwóch osób i czegoś tak namacalnego jak kamień Systemy informatyczne są ze swej natury nienamacalne, abstrakcyjne i złożone. W ich realizacje są zaangażowane więcej niż dwie osoby. Klient przedstawiając niejasne wymagania „systemu kamienia” wcale może nie mieć złej woli. mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Roadmap Typy i charakterystyka wymagań Inżynieria wymagań i zarządzanie wymaganiami Metody pozyskiwania wymagań Metody specyfikacji wymagań Model przypadków użycia i jego elementy. mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymaganie Może być definiowane: … od abstrakcyjnego opisu usług lub ograniczeń systemu … do szczegółowej matematycznej specyfikacji funkcjonalności Z punktu widzenia celu wymaganie: Może być podstawą oferty kontraktowej – czyli musi być otwarte na interpretacje Może być podstawą samego kontraktu – czyli musi być jednoznaczne i szczegółowe mgr inż. Radosław Adamus

Podstawowe typy wymagań Wymagania użytkownika Zdania języka naturalnego powiązane z diagramami ukazującymi usługi systemu wraz z ograniczeniami. Pisane dla klientów Wymagania systemowe Dokument o określonej strukturze ustalający szczegóły funkcjonalności systemu, jego usług oraz ograniczeń przy których ma działać. Definiuje co ma być zaimplementowane – może być podstawą kontraktu pomiędzy zleceniodawcą a wykonawcą.

Definicje i specyfikacje Definicja wymagań użytkownika – cech systemu 1. Oprogramowanie musi udostępniać mechanizm reprezentacji i dostępu do zewnętrznych plików tworzonych przez inne narzędzia. Specyfikacja wymagań systemowych 1.1 Użytkownik powinien mieć możliwość określenia typu zewnętrznego pliku 1.2 Każdy zewnętrzny plik może mieć powiązane narzędzie, które może być do niego zastosowane 1.3 Każdy typ zewnętrznego pliku powinien być reprezentowany przez specyficzną ikonę w interfejsie użytkownika 1.4 Użytkownik powinien mieć możliwość definiowana ikony powiązanej z typem zewnętrznego pliku 1.5 Efektem zaznaczenia przez użytkownika ikony reprezentującej zewnętrzny plik powinno być zastosowanie narzędzia powiązanego z typem zewnętrznego pliku.

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Inny przykład… Cechy (wymagania użytkownika) Wymagania systemowe Cecha 63 – system wykrywania błędów dostarczy informacji trendu, które pomogą użytkownikowi ocenić status przedsięwzięcia WO63.1 – informacje trendu będą dostarczone w raporcie histogramu, gdzie czas oznaczono n osi x, a liczbę defektów na osi y WO63.2 – użytkownik może wprowadzić okres wyznaczania trendu w jednostkach dni, tygodni lub miesięcy. WO63.3 – raport trendu powinien być zgodny z przykładem pokazanym na rysunku 3.1 (s. 56) mgr inż. Radosław Adamus

Wymagania stawiane oprogramowaniu - charakterystyka Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania stawiane oprogramowaniu - charakterystyka Wymagania są tymi „rzeczami”, które należy zdefiniować, aby w pełni opisać co robi system traktowany jako czarna skrzynka. System Wejścia Wyjścia Atrybuty środowiska systemu Funkcje Atrybuty systemu mgr inż. Radosław Adamus

Charakterystyka wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Charakterystyka wymagań Rodzaje wymagań: Wymagania funkcjonalne – zachowanie systemu (jakie akcje ma wykonywać system bez brania pod uwagę ograniczeń) Wymagania niefunkcjonalne – ograniczenia, które mają wpływ na wykonywane zadania systemu. Ograniczenia projektowe – ograniczenia dotyczące projektowania systemu, nie mające wpływu na jego zachowanie ale, które muszą być spełnione, aby dotrzymać zobowiązań technicznych, ekonomicznych lub wynikających z umowy Ograniczenia projektowe – przepisy i normy, według których realizowane jest przedsięwziecie. mgr inż. Radosław Adamus

Wymagania funkcjonalne Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania funkcjonalne Określenie wymagania funkcjonalnych obejmuje następujące zadania: Określenie wszystkich rodzajów użytkowników, którzy będą korzystać z systemu. Określenie wszystkich rodzajów użytkowników, którzy są niezbędni do działania systemu (obsługa, wprowadzanie danych, administracja). Dla każdego rodzaju użytkownika określenie funkcji systemu oraz sposobów korzystania z planowanego systemu. Określenie systemów zewnętrznych (obcych baz danych, sieci, Internetu), które będą wykorzystywane podczas działania systemu. Ustalenie struktur organizacyjnych, przepisów prawnych, statutów, zarządzeń, instrukcji, itd., które pośrednio lub bezpośrednio określają funkcje wykonywane przez planowany system. mgr inż. Radosław Adamus

Wymagania niefunkcjonalne Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania niefunkcjonalne Opisują ograniczenia, przy których system ma realizować swoje funkcje. Użyteczność (ang. Usability) Wymagany czas szkolenia, czas wykonania poszczególnych zadań, ergonomia interfejsu, pomoc, dokumentacja użytkownika Niezawodność (ang. Reliability) Dostępność, średni czas międzyawaryjny (MTBF), średni czas naprawy (MTTR), dokładność, maksymalna liczba błędów. Efektywność (ang. Performance) Czas odpowiedzi, przepustowość, czas odpowiedzi, konsumpcja zasobów, pojemność. Zarządzalność (ang. Supportability) Łatwość modyfikowania, skalowalność, weryfikowalność, kompatybilność, możliwości konfiguracyjne, serwisowe, przenaszalność. mgr inż. Radosław Adamus

Weryfikacja wymagań niefunkcjonalnych Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Weryfikacja wymagań niefunkcjonalnych Wymagania niefunkcjonalne powinny być weryfikowalne, tj. powinna istnieć możliwość sprawdzenia czy system je rzeczywiście spełnia. Np. wymaganie “system ma być łatwy w obsłudze” nie jest weryfikowalne. Cecha Wydajność Zasoby Łatwość użytkowania Niezawodność Przenaszalność Weryfikowalne miary Liczba transakcji obsłużonych w ciągu sekundy Czas odpowiedzi Szybkość odświeżania ekranu Wymagana pamięć RAM Wymagana pamięć dyskowa Czas niezbędny dla przeszkolenia użytkowników Liczba stron dokumentacji Prawdopodobieństwo błędu podczas realizacji transakcji Średni czas pomiędzy błędnymi wykonaniami Dostępność (procent czasu w którym system jest dostępny) Czas restartu po awarii systemu Prawdopodobieństwo zniszczenia danych w przypadku awarii Procent kodu zależnego od platformy docelowej Liczba platform docelowych Koszt przeniesienia na nową platformę mgr inż. Radosław Adamus

Ograniczenia projektowe Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Ograniczenia projektowe Ten rodzaj wymagań nakłada ograniczenia na projekt systemu lub proces, którego używamy do budowy. Produkt musi spełniać normę ISO 601 Proces wytwarzania musi być zgodny ze standardem DOD 1200-34 Mają często negatywny wpływ na elastyczność projektantów Użyj systemu Oracle, programuj w Visual Basic, użyj biblioteki klas XYZ. mgr inż. Radosław Adamus

Wymagania a inżynieria wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Wymagania a inżynieria wymagań Wymagania – opis usług i ograniczeń systemu generowany w procesie inżynierii wymagań Inżynieria wymagań – proces pozyskiwania, analizowania, dokumentowania oraz weryfikacji wymagań ... czyli zarządzania wymaganiami mgr inż. Radosław Adamus

Dlaczego inżynieria wymagań? (1) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dlaczego inżynieria wymagań? (1) Niezbędna umiejętność – pozyskiwanie wymagań od użytkowników i klientów. Zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie tych celów. Klient rzadko wie, jakie wymagania zapewnią osiągniecie jego celów. Jest to tak naprawdę proces, konstrukcji zbioru wymagań zgodnie z postawionymi celami. Dodatkowo zleceniodawcy i użytkownicy to często inne osoby. Głos zleceniodawców może być w tej fazie decydujący, chociaż nie zawsze potrafią oni właściwie przewidzieć potrzeby przyszłych użytkowników. mgr inż. Radosław Adamus

Dlaczego inżynieria wymagań? (2) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dlaczego inżynieria wymagań? (2) Organizacja i dokumentowanie wymagań Setki, jeżeli nie tysiąca wymagań jest prawdopodobnie związanych z systemem Według klienta prawdopodobnie wszystkie z nich są najważniejsze w 100%. Większość z nas nie może pamiętać więcej niż kilkadziesiąt informacji jednocześnie. mgr inż. Radosław Adamus

Dlaczego inżynieria wymagań? (3) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dlaczego inżynieria wymagań? (3) Śledzenie, kontrola dostępu i weryfikacja wymagań Którzy członkowie zespołu są odpowiedzialni za wymaganie nr 278, a którzy mogą je zmodyfikować lub usunąć? Jeżeli wymaganie nr 278 będzie zmodyfikowane, jaki to będzie miało wpływ na inne wymagania? Kiedy możemy być pewni, że ktoś napisał kod w systemie, spełniający wymaganie nr 278 i które testy z ogólnego zestawu testów są przeznaczone do sprawdzenia, że wymaganie rzeczywiście zostało spełnione? mgr inż. Radosław Adamus

Zarządzanie wymaganiami Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zarządzanie wymaganiami Zarządzanie wymaganiami dotyczy procesu translacji potrzeb klientów w zbiór kluczowych cech i własności systemu. Następnie ten zbiór jest przekształcany w specyfikację funkcjonalnych i niefunkcjonalnych wymagań. Specyfikacja jest następnie przekształcana w projekt, procedury testowe i dokumentację użytkownika. mgr inż. Radosław Adamus

Zarządzanie wymaganiami i traceability Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zarządzanie wymaganiami i traceability Problem Potrzeby użytkowników Przestrzeń problemu Cechy i własności Przestrzeń rozwiązania Traceability Wymagania Zarządzanie wymaganiami dotyczy procesu translacji wymagań klientów w zbiór kluczowych potrzeb i cech systemu. Następnie ten zbiór (cech i potrzeb) jest przekształcany w specyfikację funkcjonalnych i niefunkcjonalnych wymagań. Ta szczegółowa specyfikacja jest następnie przekształcana w projekt, procedury testowe i dokumentację użytkownika. „Traceability” pozwala na: Oszacowanie wpływu zmiany w wymaganiach na projekt. Oszacowanie wpływu jaki na wymagania będzie miał „zawalony” test (jeżeli test nie został zdany wymagania mogą nie być spełnione) Zarządzanie ramami projektu Zweryfikowanie czy wszystkie wymagania zostały spełnione przez implementację systemu Zweryfikowanie czy system robi tylko to co miał robić. Zarządzanie zmianami. Procedury testowe Projekt Dokumentacja użytkownika mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Traceability Oszacowanie wpływu zmiany w wymaganiach na projekt. Oszacowanie wpływu jaki na wymagania będzie miał „zawalony” test (jeżeli system nie przeszedł testu wymagania mogą nie być spełnione) Zarządzanie ramami projektu Zweryfikowanie czy wszystkie wymagania zostały spełnione przez implementację systemu Zweryfikowanie czy system robi tylko to co miał robić. Zarządzanie zmianami. Cecha Wymaganie Projekt Testy Dok. użytk. mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Pozyskiwanie wymagań mgr inż. Radosław Adamus

Bariery pozyskiwania wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Bariery pozyskiwania wymagań Syndrom „tak, ale” „Tak, ale hmmmm, teraz kiedy go już widzę, czy będzie można...? Czy nie lepiej byłoby, gdyby...? Przecież jeżeli..., to trudno będzie...” Syndrom „nieodkrytych ruin” Syndrom „użytkownik i programista” Użytkownicy, nie wiedzą, czego chcą, lub wiedzą, co chcą, ale nie mogą tego wyrazić. Użytkownicy uważają, że wiedzą, czego chcą, dopóki programiści nie dadzą im tego, o czym mówili, że chcą. Analitycy uważają, że rozumieją problemy użytkownika lepiej niż on sam. Wszyscy uważają, że inni mają określone motywacje polityczne. Jak można się przed tym bronić? mgr inż. Radosław Adamus

Przykładowe techniki pozyskiwania wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Przykładowe techniki pozyskiwania wymagań Śledzenie (ang. Shadowing) Wywiady (ang. Interviewing) Warsztaty pozyskiwania wymagań (ang. Focus groups) Przeglądy i ankiety (ang. Surveys) Instruowanie przez użytkowników (ang. User instructions) Prototypowanie (ang. Prototyping) mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Shadowing - śledzenie Polega na obserwowaniu użytkownika podczas wykonywania przez niego codziennych zadań w rzeczywistym środowisku. Rodzaje – pasywne i aktywne Zalety Informacja z pierwszej ręki w odpowiednim kontekście Łatwiejsze zrozumienie celu określonego zadania Możliwość zebrania nie tylko informacji ale i innych elementów środowiska (np. dokumenty, zrzuty ekranowe istniejącego rozwiązania) Zebranie informacji na temat istniejącego rozwiązania oraz tego czy i w jaki sposób jest ono frustrujące dla użytkowników Wady Nieodpowiednie dla zadań wykonywanych sporadycznie, zadań związanych z zarządzaniem, zadań długoterminowych, zadań nie wymagających działania użytkowników. mgr inż. Radosław Adamus

Interviewing - wywiady Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Interviewing - wywiady Spotkanie członka zespołu projektowego z użytkownikiem lub klientem Zalety Można uzyskać dużo informacji o problemach i ograniczeniach obecnej sytuacji, która ma być zmieniona przez nowy system. Daje możliwość uzyskania wielu informacji, które niekoniecznie można uzyskać przy wykorzystaniu techniki śledzenia. Wady Zależna od umiejętności i zaangażowania obu stron mgr inż. Radosław Adamus

Focus groups - warsztaty pozyskiwania wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Focus groups - warsztaty pozyskiwania wymagań Sesja w której wymagania ustala się w większej grupie (np. burza mózgów, odgrywanie ról, itp.) Zalety: Pozwala na uzyskanie szczegółowych informacji o szerszym kontekście aktywności biznesowych. Brak informacji u jednego z uczestników może być uzupełniona przez pozostałych. Wady: Wymaga zebrania większej grupy w jednym miejscu (rozproszenie geograficzne) Wymaga umiejętności prowadzenia dyskusji przez prowadzącego. mgr inż. Radosław Adamus

Surveys – przeglądy, pomiary (1) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Surveys – przeglądy, pomiary (1) Zbiór pytań utworzony w celu zebrania określonych informacji Kwestionariusze Wymagane przy rejestracji Informacje zwrotne Arkusze badania poziomu zadowolenia z produktu Zalety Anonimowe wyrażanie swojego zdania Odpowiedzi tabelaryzowane i łatwe w analizie Wady Pracochłonne Wymagana profesjonalna wiedza w celu tworzenia i analizy mgr inż. Radosław Adamus

Surveys – przeglądy, pomiary (2) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Surveys – przeglądy, pomiary (2) Może być pomocne w pozyskaniu następujących informacji Struktura organizacyjna, polityka działania, praktyki stosowane w pracy Frustracje związane z wykonywana pracą Wymagania specjalne związane z oprogramowaniem, sprzętem Efektywność programu szkoleniowego Stopień zadowolenia z produktu mgr inż. Radosław Adamus

User instructions – instruowanie przez użytkowników (1) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS User instructions – instruowanie przez użytkowników (1) W technice tej użytkownicy instruują przeprowadzającego badanie w sposobie w jaki wykonują określone zadania. Zalety Widzenie procesu z perspektywy użytkownika Zebranie informacji na temat doświadczenia pojedynczych osób Wady Może być czasochłonne Może być frustrująca dla badacza, jeżeli użytkownik nie jest przyzwyczajony do uczenia kogoś Różne osoby mogą wykonywać to samo zadanie w różny sposób mgr inż. Radosław Adamus

User instructions – instruowanie przez użytkowników (2) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS User instructions – instruowanie przez użytkowników (2) Może być pomocne w pozyskaniu następujących informacji Projekt interfejsu użytkownika Wymagania związane z procesem szkoleniowym Kryteria wydajnościowe systemu Wpływ środowiska na wykonywane zadania mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Specyfikacja wymagań Czy wymaganie nr. 31.2 jest sprzeczne z wymaganiem nr. 34.3, a wymaganie 22.1 jest powiązane z wymaganiem 14.2? mgr inż. Radosław Adamus

Metody specyfikacji wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Metody specyfikacji wymagań Język naturalny - najczęściej stosowany. Wady: niejednoznaczność powodująca różne rozumienie tego samego tekstu; elastyczność, powodująca wyrazić te same treści na wiele sposobów. Utrudnia to wykrycie powiązanych wymagań i powoduje trudności w wykryciu sprzeczności. Formalizm matematyczny. Stosuje się rzadko (dla specyficznych celów). Język naturalny strukturalny. Język naturalny z ograniczonym słownictwem i składnią. Tematy i zagadnienia wyspecyfikowane w punktach i podpunktach. mgr inż. Radosław Adamus

Metody specyfikacji wymagań Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Metody specyfikacji wymagań Tablice, formularze. Wyspecyfikowanie wymagań w postaci (zwykle dwuwymiarowych) tablic, kojarzących różne aspekty (np. tablica ustalająca zależność pomiędzy typem użytkownika i rodzajem usługi). Diagramy blokowe: forma graficzna pokazująca cykl przetwarzania. Diagramy kontekstowe: ukazują system w postaci jednego bloku oraz jego powiązania z otoczeniem, wejściem i wyjściem. Model przypadków użycia: poglądowy sposób przedstawienia aktorów i funkcji systemu. Uważa się go za dobry sposób specyfikacji wymagań funkcjonalnych. mgr inż. Radosław Adamus

Dokument Specyfikacji Wymagań Oprogramowania (SWO) Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dokument Specyfikacji Wymagań Oprogramowania (SWO) Wymagania powinny być zebrane w dokumencie – specyfikacji wymagań oprogramowania. Dokument ten powinien być podstawą do szczegółowego kontraktu między klientem a producentem oprogramowania. Powinien także pozwalać na weryfikację stwierdzającą, czy wykonany system rzeczywiście spełnia postawione wymagania. Powinien to być dokument zrozumiały dla obydwu stron. Tekstowy dokument SWO jest najczęściej powiązany z innymi formami specyfikacji wymagań. mgr inż. Radosław Adamus

Zawartość dokumentu SWO Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zawartość dokumentu SWO Streszczenie Spis treści Status dokumentu (roboczy, 1-sza faza, zatwierdzony, ...) Zmiany w stosunku do wersji poprzedniej Informacje organizacyjne 1. Wstęp 1.1. Cel 1.2. Zakres 1.3. Definicje, akronimy i skróty 1.4. Referencje, odsyłacze do innych dokumentów 1.5. Krótki przegląd 2. Ogólny opis 2.1. Walory użytkowe i przydatność projektowanego systemu 2.2. Ogólne możliwości projektowanego systemu 2.3. Ogólne ograniczenia 2.4. Charakterystyka użytkowników 2.5. Środowisko operacyjne 2.6. Założenia i zależności 3. Specyficzne wymagania 3.1. Wymagania co do możliwości systemu 3.2. Przyjęte lub narzucone ograniczenia. Przykładowy spis treści mgr inż. Radosław Adamus

Model Przypadków Użycia Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Model Przypadków Użycia mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Zachowanie systemu Zachowanie systemu jest opisem tego jak system działa i reaguje. Jest to widoczny z zewnątrz przejaw aktywności systemu. Model przypadków użycia opisuje zachowanie systemu. Model przypadków użycia opisuje: System Jego środowisko Związki pomiędzy systemem a jego środowiskiem mgr inż. Radosław Adamus

Podstawowe elementy modelu przypadków użycia. Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Podstawowe elementy modelu przypadków użycia. Przypadki użycia Aktorzy Specyfikacje przypadków użycia Przypadek użycia Aktor Reprezentuje sekwencję operacji inicjowaną przez aktora, niezbędnych do wykonania zadania zleconego (zainicjowanego) przez aktora, np. potwierdzenie pisma, złożenie zamówienia, itp. Reprezentuje rolę, którą może grać w sytemie jakiś jego użytkownik; (np. kierownik, urzędnik, klient) Aktorem jest dowolny byt zewnętrzny, który uczestniczy w interakcji z systemem. Każdy potencjalny aktor może wchodzić w interakcję z systemem na pewną liczbę jemu właściwych sposobów. Każdy z tych sposobów nosi nazwę przypadku użycia i reprezentuje przepływ operacji w systemie związany z obsługą zadania zleconego przez aktora w procesie interakcji. Przypadek użycia – Reprezentuje sekwencję operacji, niezbędnych do wykonania zadania zleconego przez aktora, np. potwierdzenie pisma, złożenie zamówienia, itp. Specyfikacja przypadku użycia – szczegółowy opis działania systemu dla określonego przypadku użycia mgr inż. Radosław Adamus

Aktor - konkretny byt czy rola? Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Aktor - konkretny byt czy rola? Aktor modeluje grupę osób pełniących pewną rolę, a nie konkretną osobę. Użytkownik Aktor Przypadek użycia Może grać rolę zleca Jan Iksiński Administrator systemu Przeładowanie systemu Adam Malina Pracownik Wejście z kartą i kodem Tworzenie modelu przypadków użycia wymaga od analityka określenia wszystkich aktorów związanych z wykorzystywaniem projektowanego systemu, czyli określenia “przyszłych użytkowników systemu”. Zazwyczaj aktorem jest osoba, ale może nim być także pewna organizacja (np. biuro prawne) lub inny system komputerowy. Aktor modeluje grupę osób pełniących pewną rolę, a nie konkretną osobę. Jedna osoba może wchodzić w interakcję z systemem z pozycji wielu aktorów; np. być zarówno sprzedawcą, jak i klientem. I odwrotnie, jeden aktor może odpowiadać wielu konkretnym osobom, np. aktor “strażnik budynku”. Aktor jest tu pierwotną przyczyną napędzającą przypadki użycia. Jest on sprawcą zdarzeń powodujących uruchomienie przypadku użycia, jak też odbiorcą informacji wyprodukowanych przez przypadki użycia. Uzyskanie informacji ogólnych Gość Osoba informowana Konkretny klient Klient Wypłata z konta mgr inż. Radosław Adamus

Diagram przypadków użycia – kontekst systemu Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Diagram przypadków użycia – kontekst systemu Opisuje funkcje systemu w terminach przypadków użycia. Rejestracja Student TworzenieTerminarzaKursów Pracownik Dziekanatu Zarządzanie studentami mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 Notacja KIS Rejestracja Przypadek użycia Student Aktor Interakcja. Blok ponownego użycia weryfikacja klienta Przypadek użycia: Powinien mieć unikalną nazwę, opisującą przypadek użycia z punktu widzenia jego zasadniczych celów. Czy lepiej jest stosować nazwę opisującą czynność (“wypłata pieniędzy”) czy polecenie (“wypłać pieniądze”) - zdania są podzielone. Aktor: Powinien mieć unikalną nazwę. Interakcja: Pokazuje interakcję pomiędzy przypadkiem użycia a aktorem. Blok ponownego użycia: Pokazuje fragment systemu, który jest używany przez kilka przypadków użycia; może być oznaczony jako samodzielny przypadek użycia. Relacja typu <<include>> (<<use>>) lub <<extend>>: Pokazuje związek zachodzący między dwoma przypadkami użycia lub przypadkiem użycia a blokiem ponownego użycia. Nazwa systemu wraz z otoczeniem systemu: Pokazuje granicę pomiędzy systemem a jego otoczeniem <<include>> Zależności (pomiędzy przypadkami użycia) <<extends>> mgr inż. Radosław Adamus

Diagram przypadków użycia - przykład Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Diagram przypadków użycia - przykład Automat do sprzedaży papierosów uzupełnienie towaru zakup paczki papierosów operacje pieniężne klient sporządzenie raportów operator kontroler mgr inż. Radosław Adamus

Dokumentacja przypadków użycia Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dokumentacja przypadków użycia Dokumentacja przypadków użycia powinna zawierać: 1. Diagramy przypadków użycia (aktorzy, przypadki użycia i relacje zachodzące między przypadkami) 2. Krótki, ogólny opis każdego przypadku użycia: - jak i kiedy przypadek użycia zaczyna się i kończy - opis interakcji przypadku użycia z aktorami, włączając w to kiedy interakcja ma miejsce i co jest przesyłane. - kiedy i do czego przypadek użycia potrzebuje danych zapamiętanych w systemie, lub jak i kiedy zapamiętuje dane w systemie - wyjatki występujące przy obsłudze przypadku - specjalne wymagania, np. czas odpowiedzi, wydajność - jak i kiedy używane są pojęcia dziedziny problemowej 3. Opis szczegółowy każdego przypadku użycia - scenariusze - diagram aktywności mgr inż. Radosław Adamus

Ciąg zdarzeń (przepływ sterowania) dla przypadku użycia Analiza i Projektowanie Systemów Informatycznych - wykład 2 Ciąg zdarzeń (przepływ sterowania) dla przypadku użycia KIS Zawiera najważniejsze informacje, będące wynikiem prac nad opracowaniem przypadku użycia Powinien opisywać przepływ zdarzeń w przypadku użycia, w taki sposób, aby każdy mógł łatwo zrozumieć istotę działania Ciąg zdarzeń: Zawiera najważniejsze informacje, będące wynikiem prac nad opracowaniem przypadku użycia. Powinien opisywać przepływ zdarzeń w przypadku użycia, w taki sposób, aby każdy mógł łatwo zrozumieć istotę działania. Zawartość opisu przypadku użycia (ciągu zdarzeń) – wskazówki (RUP): Opisz jak przypadek użycia się zaczyna i jak kończy Opisz jakie dane są wymieniane pomiędzy aktorem i przypadkiem użycia Nie opisuj szczegółów interfejsu użytkownika, chyba że jest to istotne z punktu widzenia zrozumienia zachowania systemu. Opisz przepływ sterowania a nie tylko samą funkcjonalność systemu w danym przypadku użycia. Aby to osiągnąć spróbuj zaczynać opis od zwrotu typu: „Kiedy aktor …”. Opisz tylko zdarzenia, które należą do przypadku użycia nie opisuj tego, co się dzieje poza granicami systemu. Unikaj zbyt ogólnikowych zwrotów typu: „na przykład” czy „informacja”, „pewne dane” Ciąg zdarzeń powinien być opisany na tyle szczegółowo, aby odpowiadał na wszystkie pytania dotyczące tego „co się dzieje w tej sytuacji”. Dodatkowo, należy pamiętać o tym, że osoba projektująca testy będzie wykorzystywała ten tekst w trakcie projektowania przypadków testowych. mgr inż. Radosław Adamus

Ciągi zdarzeń (sterowania) dla przypadku użycia - scenariusze Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Ciągi zdarzeń (sterowania) dla przypadku użycia - scenariusze Podstawowy ciąg zdarzeń Alternatywne ciągi zdarzeń Zwykłe warianty Przypadki szczególne Sytuacje wyjątkowe Podstawowy ciąg zdarzeń Przypadek szczególny Sytuacja wyjątkowa Podstawowy ciąg zdarzeń jak wygląda standardowa realizacja przypadku użycia Alternatywne ciągi zdarzeń Aktor decyduje o działaniu wybierając jedną z dostępnych opcji Podciągi zdarzeń zależne od wartości z poprzednich przepływów Podciągi zdarzeń zależne od typy przetwarzanych danych Sytuacje wyjątkowe Obsługa błędów Obsługa przekroczeń założonego czasu Wariant mgr inż. Radosław Adamus

Ciągi zdarzeń - przykład Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Ciągi zdarzeń - przykład Przypadek użycia: Wybieranie metody wypłaty Podstawowy ciąg zdarzeń Przypadek użycia rozpoczyna się w momencie, gdy Pracownik zgłasza do systemu chęć wyboru metody wypłaty. 1. System prosi Pracownika o wybranie metody wypłaty (w kasie, droga pocztowa lub przelewem). 2. Pracownik wybiera metodę wypłaty. 3. Jeżeli Pracownik wybrał wypłatę w kasie, żadne dodatkowe informacje nie są potrzebne. - Jeżeli Pracownik wybrał wypłatę drogą pocztową, system prosi użytkownika o podanie adresu, na jaki mają być przesyłane pieniądze. - Jeżeli Pracownik wybrał wypłatę w postaci przelewu bankowego, system prosi o podanie nazwy banku i numeru konta. 4. Po podaniu przez Pracownika wymaganych informacji system uaktualnia informacje o Pracowniku. mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Scenariusze Liczba scenariuszy jest zawsze znacznie większa niż liczba przypadków użycia. Średnio skomplikowany system ma ok. kilkudziesięciu przypadków użycia, z których każdy rozwija się nawet do kilkudziesięciu scenariuszy. Przypadek użycia: Wybieranie metody wypłaty Warianty: Wybranie wypłaty w kasie Wybranie wypłaty drogą pocztową Wybranie wypłaty przelewem Pracownik nie znaleziony mgr inż. Radosław Adamus

Modelowanie zachowania - Diagramy aktywności Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Modelowanie zachowania - Diagramy aktywności W modelu przypadków użycia graficznie obrazuje działania wykonywane w danym przypadku użycia. Jest to diagram przepływu, który można wykorzystywać do obrazowania przepływu pracy (workflow), sterowania, zdarzeń, itp. Stan początkowy Aktywność Stan końcowy Aktywność – reprezentuje wykonywanie pewnego działania, lub kroku w przepływie pracy Blok decyzyjny – sprawdzenie warunków (ang. guard condition). W wyniku wybierana jest jedno z alternatywnych przejść. Bloku można użyć również w przypadku, gdy zbiegają się alternatywne wątki. Przejście, z zasady nie opisywane, ponieważ z reguły oznacza zakończenie aktywności; może być opatrzone warunkiem, może też być oznaczone symbolem iteracji; akcje opisujące przejścia powinny być raczej dołączone do którejś z aktywności. Sztabka synchronizującą (synchronization bar); może być typu “fork” (rozdzielenie jednej operacji na kilka przebiegających równolegle) lub typu “join” (złączenie kilku operacji równoległych w jedną). Blok decyzyjny Sztabka synchronizująca Przejście mgr inż. Radosław Adamus

Diagram aktywności - przykład Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Diagram aktywności - przykład Znajdź napój [ Kawa znaleziona ] [ Brak napoju ] Nalej sobie (fork) wody [ Herbata znaleziona ] Zrób herbatę Nasyp kawę do Nalej wody do Weź fliżankę filtru zbiornika Włóż filtr do ekspresu Nalej kawę Wypij (join) Włącz ekspres Parzenie kawy mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Swimlanes Klient Dział Sprzedaży Magazyn Wystaw zamówienie Pobierz zamówienie Skompletuj zamówienie Płać Diagramy aktywności opisują przepływy operacji, ale nie specyfikują, kto jest odpowiedzialny za ich wykonanie: którzy ludzie czy które komórki organizacyjne (z perspektywy pojęciowej). Wygodniejszym sposobem przenoszenia informacji tego rodzaju jest grupowanie aktywności odpowiednio do odpowiedzialności i umieszczanie ich w regionach rozdzielonych pionowymi liniami (jak na poprzedniej folii). Regiony, z powodu swojego wyglądu, są traktowane jak tory dla przepływów (tory pływackie) (swimlanes). Nazwy regionów odpowidają nazwom osób, komórek organizacyjnych. Wyślij to, co zamówiono Pamiętaj zamówienie mgr inż. Radosław Adamus

Kroki konstrukcji modelu przypadków użycia Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Kroki konstrukcji modelu przypadków użycia Krok Udokumentowany w: 1 Sporządzenie słownika pojęć Słownik pojęć 2 Określenie aktorów Dokument opisu aktorów 3 Określenie przypadków użycia 4 Tworzenie opisu każdego przypadku użycia plus: podział na nazwane części znalezienie wspólnych części w różnych przypadkach użycia Diagram przypadków użycia + Specyfikacje przypadków użycia Konstrukcja modelu przypadków użycia opiera się na kilku krokach i wymaga ścisłej współpracy z przyszłym użytkownikiem, co implikuje zasadę: “nie opisuj przypadków użycia w sposób, który nie jest łatwo zrozumiały dla użytkownika”. mgr inż. Radosław Adamus

Sporządzanie słownika pojęć Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Sporządzanie słownika pojęć Słownik dotyczy dziedziny problemowej Tworzenie go polega na wyłowieniu wszystkich terminów z wymagań użytkownika. Terminy mogą odnosić się do aktorów, przypadków użycia, obiektów, operacji, zdarzeń, itp. Terminy w słowniku powinny być zdefiniowane w sposób precyzyjny i jednoznaczny. Posługiwanie się terminami ze słownika powinny być regułą przy opisie każdego kolejnego problemu, sytuacji czy modelu. Przykład: Konto - pojedyncze konto w banku, w stosunku do którego wykonywane są bieżące transakcje. Konta mogą być różnych typów, a w szczególności: konta indywidualne, małżeńskie, firmowe i inne. Każdy klient może posiadać więcej niż jedno konto. Na co należy zwrócić uwagę przy kwalifikowaniu terminów do słownika: na rzeczowniki - mogą one oznaczać aktorów lub byty z dziedziny problemowej na frazy opisujące funkcje, akcje, zachowanie się - mogą one być podstawą wyróżnienia przypadków użycia. mgr inż. Radosław Adamus

Identyfikacja aktorów Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja aktorów Aby poprawnie określić aktorów należy odpowiedzieć na następujące pytania: Jaka grupa użytkowników potrzebuje wspomagania ze strony systemu (np. osoba wysyłająca korespondencję)? Jacy użytkownicy są konieczni do tego, aby system działał i wykonywał swoje funkcje (np. administrator systemu)? Z jakich elementów zewnętrznych (innych systemów, komputerów, czujników, sieci, itp.) musi korzystać system, aby realizować swoje funkcje. Po wyszukaniu aktorów, należy ustalić: Nazwę dla każdego aktora/roli, Zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy zakresami (np. sekretarka  pracownik administracji  pracownik  dowolna osoba). Niekiedy warto ustalić hierarchię dziedziczenia dostępu do funkcji systemu dla aktorów. Ustalanie potencjalnych aktorów musi być powiązane z ustalaniem granic systemu, tj. odrzucaniem obszarów dziedziny problemowej, którymi system nie będzie się zajmować (zakres odpowiedzialności systemu). mgr inż. Radosław Adamus

Identyfikacja przypadków użycia Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja przypadków użycia Dla każdego aktora, znajdź funkcje (zadania), które powinien wykonywać w związku z jego działalnością w zakresie zarówno dziedziny przedmiotowej, jak i wspomagania działalności systemu informacyjnego. Staraj się powiązać w jeden przypadek użycia zespół funkcji realizujących podobne cele. Unikaj rozbicia jednego przypadku użycia na zbyt wiele pod-przypadków. Nazwy dla przypadków użycia: powinny być krótkie, ale jednoznacznie określające charakter zadania lub funkcji. Nazwy powinny odzwierciedlać czynności z punktu widzenia aktorów, a nie systemu, np. “wpłacanie pieniędzy”, a nie “przyjęcie pieniędzy od klienta”. Przypadki użycie nie powinny być zbyt szczegółowe. Rozdrobnienie typu: Usuwanie Studenta, Dodawanie Studenta nie powinny być osobnymi przypadkami użycia. Lepiej, jeżeli jest to jeden, większy przypadek użycia – Zarządzanie Studentem. Opisz przypadki użycia przy pomocy zdań w języku naturalnym, używając terminów ze słownika pojęć. mgr inż. Radosław Adamus

Identyfikacja przypadków użycia c.d. Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja przypadków użycia c.d. Uporządkuj aktorów i przypadki użycia w postaci diagramu przypadków użycia. Niektóre z powstałych w ten sposób przypadków użycia mogą być mutacjami lub szczególnymi przypadkami innych przypadków użycia. Przeanalizuj powiązania aktorów z przypadkami użycia i ustal, które z nich są zbędne lub mogą być uogólnione. Wyodrębnij “przypadki bazowe”, czyli te, które stanowią istotę zadań, są normalnym, standardowym użyciem. Pomiń czynności skrajne, wyjątkowe, uzupełniające lub opcjonalne. Przypadki użycie nie powinny być zbyt szczegółowe. Rozdrobnienie typu: Usuwanie Studenta, Dodawanie Studenta nie powinny być osobnymi przypadkami użycia. Lepiej, jeżeli jest to jeden, większy przypadek użycia – Zarządzanie Studentem. Nazwij te “przypadki bazowe”. Ustal powiązania “przypadków bazowych” z innymi przypadkami, poprzez ustalenie ich wzajemnej zależności: sekwencji czy alternatywy. mgr inż. Radosław Adamus

Identyfikacja przypadków użycia c.d. Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Identyfikacja przypadków użycia c.d. Dodaj zachowania skrajne, wyjątkowe, uzupełniające lub opcjonalne. Ustal powiązanie “przypadków bazowych” z tego rodzaju zachowaniem. Może ono być także powiązane w pewną strukturę. Staraj się, aby bloki specyfikowane wewnątrz każdego przypadku użycia nie były zbyt ogólne lub zbyt szczegółowe. Zbyt szczegółowe bloki utrudniają analizę. Zbyt ogólne bloki zmniejszają możliwość wykrycia bloków ponownego użycia. Struktura nie może być zbyt duża i złożona. Staraj się wyizolować bloki ponownego użycia. Przeanalizuj podobieństwo nazw przypadków użycia, podobieństwo nazw i zachowania bloków ponownego użycia występujących w ich specyfikacji. Wydzielenie bloku ponownego użycia może być powiązane z określeniem bardziej ogólnej funkcji lub dodaniu nowej specjalizacji do istniejącej funkcji. mgr inż. Radosław Adamus

Specyfikacja przypadku użycia Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Specyfikacja przypadku użycia Nazwa Krótki opis Opis ciągów zdarzeń (przepływu sterowania) Powiązania z innymi przypadkami użycia Diagramy aktywności (ew. stanu) Diagramy przypadków użycia Wymagania specjalne Warunki wejściowe (ang. pre-conditions) Warunki wyjściowe (ang. post-conditions) Inne diagramy Nazwa – powinna określać co jest wynikiem interakcji z użytkownikiem, nazwa może być kilkuwyrazowa, nazwy nie powinny się powtarzać, Krótki opis – krótki (kilkulinijkowy) opis roli i celu przypadku użycia Opis ciągów zdarzeń (przepływu sterowania) – tekstowy opis działania systemu związanego z przypadkiem użycia. Ciągów zdarzeń może być wiele (np. Podstawowy ciąg zdarzeń, alternatywne ciągi zdarzeń) Powiązania z innymi przypadkami użycia – związki pomiędzy przypadkami użycia typu <<include>> oraz <<extends>> Diagramy aktywności – graficzny opis przepływu sterowania Diagramy przypadków użycia – graficzna prezentacja związków, w które zaangażowany jest opisywany przypadek użycia Wymagania specjalne – tekstowy opis wszystkich wymagań związanych z przypadkiem użycia, które nie są wyrażone w modelu (np. wymagania niefunkcjonalne), a które powinny być brane pod uwagę w procesie projektowania i implementacji systemu. Warunki wejściowe – definicja warunków, które musza być spełnione aby uruchomić dany przypadek użycia Warunki wyjściowe – definicja warunków jakie spełnia system, po zakończeniu przypadku użycia. Inne diagramy – dodatkowa ilustracja przypadków użycia, ręczne rysunki, zrzuty ekranów użytkownika. mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Podsumowanie Zarządzanie wymaganiami - pozyskiwanie, analizowanie, dokumentowanie oraz weryfikacja wymagań Wymagania: funkcjonalne i niefunkcjonalne Pozyskiwanie wymagań jest procesem trudnym, wymagającym odpowiedniego przygotowania mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Do poczytania Dąbrowski, Subieta: Podstawy Inżynierii Oprogramowania, rozdział 3. Wiecej nt. zarządzania wymaganiami: Leffingwell D., Widrig D., Zarządzanie wymaganiami, WNT, Wa-wa, 2003. Model przypadków użycia: Booch G., Rumbaugh J., Jacobson I.: UML przewodnik użytkownika, WNT, Wa-wa, 2001. Spis praw użytkownika (A Computer User’s Manifesto) - www.businessweek.com/1998/39/b3597037.htm mgr inż. Radosław Adamus

Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Dokumenty/Narzędzia Rekomendowana przez IEEE struktura dokumentu wymagań (IEEE recommended practice for software requirements specifications IEEE Std 830-1998) Rational Requisite Pro www-306.ibm.com/software/rational – narzędzie do zarządzania wymaganiami. mgr inż. Radosław Adamus

Na koniec metafora ... ku przestrodze Analiza i Projektowanie Systemów Informatycznych - wykład 2 KIS Na koniec metafora ... ku przestrodze To co klient zamówił To co analityk zrozumiał To co projekt opisywał To co zrobili programiści Projekt po uruchomieniu I wdrożeniu To, za co zapłacił klient To, czego klient potrzebował Praktyczne zastosowanie projektu mgr inż. Radosław Adamus