520 likes | 726 Views
Analiza systemów informatycznych Wykład 2. Dokument specyfikacji wymagań. Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-asi. Struktura SRS. IEEE Std 830-1998. 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 4. Wymagania pozafunkcjonalne Dodatki
E N D
Analiza systemów informatycznych Wykład 2 Dokument specyfikacji wymagań Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-asi
Struktura SRS IEEE Std 830-1998 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 4. Wymagania pozafunkcjonalne Dodatki Indeks J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Struktura SRS IEEE Std 830-1998 • 1. Wprowadzenie • 1.1 Cel dokumentu • 1.2 Zakres produktu • 1.3 Definicje, akronimy i skróty • 1.4 Odwołania do literatury • 1.5 Omówienie dokumentu • 2. Ogólny opis produktu • 3. Wymagania funkcjonalne • 4. Wymagania pozafunkcjonalne • Dodatki • Indeks J.Nawrocki, Dokument specyfikacji wymagań
1.1 Cel dokumentu Rola dokumentu specyfikacji wymagań + czytelnicy Niniejszy dokument prezentuje wymagania dotyczące oprogramowania, czyli opisuje funkcjonalność budowanego oprogramowania i warunki, jakie ono musi spełniać. Dokument ten został napisany z myślą o potencjalnych użytkownikach, projektantach, programistach, osobach zajmujących się testowaniem i autorach dokumentacji użytkowej. J.Nawrocki, Dokument specyfikacji wymagań
1.2 Zakres produktu • Identyfikacja produktu programistycznego poprzez nazwę. • Co produkt będzie, a czego nie będzie robił. • Zastosowanie specyfikowanego oprogramowania. • Wizja produktu: • Na czym polega problem? • Kogo dotyczy? • Jakie są jego implikacje? • Jaki jest pomysł na jego rozwiązanie? J.Nawrocki, Dokument specyfikacji wymagań
1.2 Zakres produktu • Identyfikacja produktu programistycznego poprzez nazwę. • Co produkt będzie, a czego nie będzie robił. • Zastosowanie specyfikowanego oprogramowania. Polskie Towarzystwo Literackie ma ponad 10 tys. członków. Członkowie często zmieniają swoje dane adresowe i są kłopoty z ich szybką aktualizacją. Problem dotyczy zarówno członków towarzystwa (ok. 500 osób rocznie zmienia swoje dane), jak też zarządu, który ma kłopoty z komunikacją. Konsekwencją tego stanu rzeczy są zaległości składkowe rzędu 15 tys. zł. Rozwiązaniem ma być system internetowy e-Member umożliwiający aktualizację danych adresowych poprzez Internet. J.Nawrocki, Dokument specyfikacji wymagań
1.3 Definicje, akronimy i skróty ASAP – Tak szybko, jak to możliwe (od ang. As Soon As Possible) Explorer – patrz MS Explorer ... MS Explorer – Oprogramowanie firmy Microsoft umożliwiające czytanie stron internetowych NIP – Numer identyfikacji podatkowej PTL – Polskie Towarzystwo Literackie Uporządkować alfabetycznie! J.Nawrocki, Dokument specyfikacji wymagań
1.4 Odwołania do literatury System powinien podawać wartość średnią i odchylenie standardowe [Montgomery97]. [Montgomery97] D.Montgomery, Introduction to Statistical Quality Control, John Wiley & Sons, Boston, 1997. [ustawa2000] Ustawa z dnia 16.11.2000 o przeciwdziałaniu wprowadzaniu do obrotu finansowego wartości majątkowych pochodzących z nielegalnych lub nieujawnionych źródeł oraz o przeciwdziałaniu finansowaniu terroryzmu, Dz.U. z dnia 22 grudnia 2000. J.Nawrocki, Dokument specyfikacji wymagań
1.5 Omówienie dokumentu Omówić organizację pozostałej części dokumentu. W rozdziale 2. omówiono ogólnie produkt wraz z krótką charakterystyką użytkowników i funkcjonalności, jaką będzie im udostępniał budowany system. Rozdział 3. jest poświęcony szczegółowemu opisowi wymagań funkcjonalnych, które zostały podzielone na grupy wg klas użytkowników (ról). Wymagania te są punktem wyjścia do opisu wymagań pozafunkcjonalnych, które przedstawiono w rozdziale 4. J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Struktura SRS IEEE Std 830-1998 • 1. Wprowadzenie • 2. Ogólny opis produktu • 2.1 Kontekst funkcjonowania • 2.2 Charakterystyka użytkowników • 2.3 Główne funkcje produktu • 2.4 Ograniczenia • 2.5 Założenia i zależności • 3. Wymagania funkcjonalne • 4. Wymagania pozafunkcjonalne • Dodatki • Indeks J.Nawrocki, Dokument specyfikacji wymagań
2.1 Kontekst funkcjonowania Członek E-Member PolCard Zarząd Omawiany system ma współpracować z systemem PolCard w zakresie płatności elektronicznych. Diagram kontekstu przedstawiono na rys. 1. J.Nawrocki, Dokument specyfikacji wymagań
2.2 Charakterystyka użytkowników Można wyróżnić następujące role: Członek towarzystwa – Gros członków PTL (ponad 80%) jest w przedziale od 30 do 55 lat. Część z nich ma problemy ze wzrokiem. Z przeprowadzonej ostatnio ankiety wynika, że 80% członków ma w domu komputer i umie lub chce się nauczyć korzystać z Internetu. Zarząd – Wszyscy członkowie zarządu mają komputery i potrafią korzystać z Internetu. J.Nawrocki, Dokument specyfikacji wymagań
2.3 Główne funkcje produktu • Produkt udostępnia funkcje opisane poniżej. • Członek PTL może za pomocą e-Member: • Czytać swoje dane przechowywane w systemie • Aktualizować swoje dane • Zarząd PTL może: • Wysyłać do członków PTL korespondencję zbiorową J.Nawrocki, Dokument specyfikacji wymagań
2.4 Ograniczenia System musi spełniać wymagania stawiane przez ustawę o ochronie danych osobowych [ustawa-osob]. J.Nawrocki, Dokument specyfikacji wymagań
2.5 Założenia i zależności Prezentowane wymagania dotyczą stanu prawnego na dzień 1 września 2005 roku. J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Struktura SRS IEEE Std 830-1998 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 3.1 Opis otoczenia 3.2.1 Członek PTL 3.2.1.1 Czytanie danych 3.2.1.2 Aktualizacja danych 3.2.2 Zarząd PTL 3.2.2.1 Wysyłanie korespondencji 4. Wymagania pozafunkcjonalne Dodatki Indeks J.Nawrocki, Dokument specyfikacji wymagań
Struktura SRS IEEE Std 830-1998 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 3.1 Opis otoczenia 3.2.1 Członek PTL 3.2.1.1 Czytanie danych 3.2.1.2 Aktualizacja danych 3.2.2 Zarząd PTL 3.2.2.1 Wysyłanie korespondencji 4. Wymagania pozafunkcjonalne Dodatki Indeks J.Nawrocki, Dokument specyfikacji wymagań
Środowisko operacyjne ENV1 ENV2 Urządzenie Użytkownik System zewnętrzny Użytkownik System J.Nawrocki, Dokument specyfikacji wymagań
Środowisko operacyjne Wszyscy użytkownicy • ENV1: Użytkownicy • System będzie wykorzystywany przez następujących użytkowników: • Główna księgowa • Prezes • Dyrektor handlowy J.Nawrocki, Dokument specyfikacji wymagań
Środowisko operacyjne Wszystkie urządzenia i systemy zewn. • ENV2: Urządzenia i systemy zewn. • System będzie się komunikował z następującymi urządzeniami i systemami zewnętrznymi: • SAP R/3 J.Nawrocki, Dokument specyfikacji wymagań
Środowisko operacyjne Użytkownik System J.Nawrocki, Dokument specyfikacji wymagań
Środowisko operacyjne Wszystkie operacje. Użytkownik, urządzenie. lub system zewn. • ENV3: Operacje głównej księgowej: • Główna księgowa może zainicjować wykonanie następujących operacji: • Pobranie faktury • . . . J.Nawrocki, Dokument specyfikacji wymagań
Metafora systemu Jak opisać pobranie faktury? System Producent Konsument J.Nawrocki, Dokument specyfikacji wymagań
Metafora systemu Segregator z fakturami Co muszę wiedzieć o systemie, aby opisać jego operacje? System J.Nawrocki, Dokument specyfikacji wymagań
Metafora systemu Wszystkie elementy i ich stany. • MET1: Architektura wewnętrzna • System będzie składał się z następujących elementów: • Segregator z fakturami (pusty lub niepusty) • . . . J.Nawrocki, Dokument specyfikacji wymagań
Struktura SRS IEEE Std 830-1998 1. Wprowadzenie 2. Ogólny opis produktu 3. Wymagania funkcjonalne 3.1 Opis otoczenia 3.2.1 Członek PTL 3.2.1.1 Czytanie danych 3.2.1.2 Aktualizacja danych 3.2.2 Zarząd PTL 3.2.2.1 Wysyłanie korespondencji 4. Wymagania pozafunkcjonalne Dodatki Indeks J.Nawrocki, Dokument specyfikacji wymagań
Funkcje systemu Wej. Wyj. STOP Dokładność? Nie do nas! Funkcja (Operacja) 0.1234 Efekty uboczne J.Nawrocki, Dokument specyfikacji wymagań
Funkcje systemu • FUN1: Pobranie faktury • WEJŚCIE: - • WARUNEK: Segregator faktur jest niepusty. • WYJŚCIE: Faktura (wzorzec WF-1/2001.09) • EFEKT UBOCZNY: Pobrana faktura jest usuwana z segregatora. Jeśli jest to jedyna faktura w segregatorze, segregator staje się pusty. • PRZETWARZANIE: - • DOKŁADNOŚĆ: Cześć ułamkowa każdej kwoty ma dwie cyfry po przecinku. J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Ivar Jacobson 1967: Ericsson, systemy telekomunikacyjne 1985: Ph.D., Dep. of Computer Systems, The Royal Institute of Tech., Stockholm 1987: Założyciel Objectory AB 1995: Objectory ABłączy się z Rationalem 2003: IBM kupuje Rationala http://www.analisi-disegno.com/uml/JacobsonInterview.html http://www.jaczone.com/ J.Nawrocki, Dokument specyfikacji wymagań
Ivar Jacobson Addison-Wesley, 1992 J.Nawrocki, Dokument specyfikacji wymagań
Przykładowy przypadek użycia • Zarejestruj IO • Aktor: Rejestrator IO • Cel: Zarejestrować w systemie nową IO. • Zdarzenie: Rejestrator otrzymał wniosek papierowy. • Główny scenariusz • Rejestrator IO: Wprowadza NIP lub REGON IO. • System: Sprawdza poprawność wprowadzonego NIP/REGON. • Rejestrator: Wprowadza pozostałe dane identyfikacyjne IO. • System: Weryfikuje poprawność składniową wprowadzonych danych. • Rejestrator: Wprowadza dane dotyczące jednostek IO. • Rozszerzenia • 2a.NIP/REGON jest niepoprawny • 2a1. System wyświetla komunikat i wracamy do kroku 1. J.Nawrocki, Dokument specyfikacji wymagań
Przypadki użycia a scenariusze Ten sam cel Scenario #1 Przypadek użycia Scenario #2 Scenario #3 J.Nawrocki, Dokument specyfikacji wymagań
Przykładowy przypadek użycia • Zarejestruj IO • Aktor: Rejestrator IO • Cel: Zarejestrować w systemie nową IO. • Zdarzenie: Rejestrator otrzymał wniosek papierowy. • Główny scenariusz • Rejestrator IO: Wprowadza NIP lub REGON IO. • System: Sprawdza poprawność wprowadzonego NIP/REGON. • Rejestrator: Wprowadza pozostałe dane identyfikacyjne IO. • System: Weryfikuje poprawność składniową wprowadzonych danych. • Rejestrator: Wprowadza dane dotyczące jednostek IO. • Rozszerzenia • 2a.NIP/REGON jest niepoprawny • 2a1. System wyświetla komunikat i wracamy do kroku 1. J.Nawrocki, Dokument specyfikacji wymagań
Zalety przypadków użycia • Są półformalne. Wprowadzają strukturę do opowieści. • Opisują także sytuacje błędne. • Są podstawą do szacowania pracochłonności, specyfikacji szczegółowych wymagań, projektowania interfejsów i scenariuszy testowych. J.Nawrocki, Dokument specyfikacji wymagań
Źle napisany przypadek użycia Zapisz się na przedmiot (Główny scen.) • Wyświetl pusty plan zajęć. • Wyświetl listę wszystkich zajęć w następujący sposób: Lewe okno pokazuje wszystkie przedmioty w systemie uporządkowane alfabetycznie. Dolne okno pokazuje godziny, w których podświetlony przedmiot jest dostępny. Trzecie okno pokazuje wszystkie przedmioty znajdujące się obecnie w planie zajęć. • Wykonaj. • Student klika na przedmiot. • Aktualizuj dolne okno aby pokazać godziny, w których przedmiot jest dostępny. • Student klika na godziny a potem na przycisk „Dodaj przedmiot” . J.Nawrocki, Dokument specyfikacji wymagań
Źle napisany przypadek użycia Za dużo szczegółów dot. GUI • Wyświetl pusty plan zajęć. • Wyświetl listę wszystkich zajęć w następujący sposób: Lewe okno pokazuje wszystkie przedmioty w systemie uporządkowane alfabetycznie. Dolne okno pokazuje godziny, w których podświetlony przedmiot jest dostępny. Trzecie okno pokazuje wszystkie przedmioty znajdujące się obecnie w planie zajęć. • Wykonaj. • Student klika na przedmiot. • Aktualizuj dolne okno aby pokazać godziny, w których przedmiot jest dostępny. • Student klika na godziny a potem na przycisk „Dodaj przedmiot” . J.Nawrocki, Dokument specyfikacji wymagań
Inne często popełniane błędy Za dużo niskopoziomowych przypadków użycia („Authorize user”). Stosowanie przypadków użycia do prezentacji informacji nie-behawioralnej (np. opis formularzy – do dodatków). Za długie (powinny być krótkie, zazwyczaj 3-9 kroków). Fragmenty zdań (np. pomijanie nazwy aktora w opisie kroków). J.Nawrocki, Dokument specyfikacji wymagań
Krótki format Aktor Administrator Przypadek użycia UstawParametryMonito WybierzMonitor Opis Osoba monitorująca i kontrolująca system sterowania zadaniami. Opis Umożliwia administratorowi podanie zakresu i dokładności monitorowanych elementów Wybierz przedmiot monitorowania (np. proces albo kolejkę oczekujących procesów) J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Wymagania poza funkcjonalne F U R P S unctionality - fukcjonalność sability - użyteczność eliability - niezawodność performance - wydajność ecurity - bezpieczeństwo 4.1 Użyteczność 4.2 Niezawodność 4.3 Wydajność 4.4 Bezpieczeństwo J.Nawrocki, Dokument specyfikacji wymagań
Plan wykładu • SRS – Wprowadzenie • SRS – Ogólny opis produktu • SRS – Wymagania funkcjonalne • Przypadki użycia • Wymagania pozafunkcjonalne • Dobre praktyki dotyczące dokumentu SRS • Kontrola jakości • Szacowanie rozmiaru i • Standardy serii ISO 9000 • Modele CMM/CMMI • Inżynieria wymagań • Zarządzanie projektami • Personal Software Process • Team Software Process • Zwinne metodyki • Rational Unified Process • Projekty dyplomowe J.Nawrocki, Dokument specyfikacji wymagań
Klasyfikacja dobrych praktyk Podst. Pośred. Zaaw. 36 21 9 8 - - 6 6 1 5 2 1 4 1 - 3 3 - 4 3 1 4 3 2 2 3 4 Dokument SRS Zbieranie wymagań Analiza i negocjacja wymag. Opisywanie wymagań Modelowanie systemu Walidacja wymagań Zarządzanie wymaganiami IW dla systemów krytycznych J.Nawrocki, Dokument specyfikacji wymagań
Dokument wymagań • Zdefiniuj standardową strukturę dokumentu • Wyjaśnij, jak korzystać z dokumentu • Dołącz streszczenie wymagań • Opracuj uzasadnienie biznesowe dla systemu • Zdefiniuj terminy specjalistyczne • Wybierz czytelny szablon dokumentu • Pomóż czytelnikom znaleźć informację • Uczyń dokument łatwym do zmiany J.Nawrocki, Dokument specyfikacji wymagań
Klasyfikacja dobrych praktyk Podst. Pośred. Zaaw. 36 21 9 8 - - 6 6 1 5 2 1 4 1 - 3 3 - 4 3 1 4 3 2 2 3 4 Dokument SRS Zbieranie wymagań Analiza i negocjacja wymag. Opisywanie wymagań Modelowanie systemu Walidacja wymagań Zarządzanie wymaganiami IW dla systemów krytycznych J.Nawrocki, Dokument specyfikacji wymagań
Opisywanie wymagań • Zdefiniuj standardowe szablony dla opisu wymag. • Pisz prosto i krótko • Odpowiednio korzystaj z diagramów • Wzbogacaj język naturalny innymi formami opisu • Specyfikuj wymagania ilościowo J.Nawrocki, Dokument specyfikacji wymagań