Definiowanie wymagań Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: 1. Definicja wymagań jest zapisana w języku naturalnym jako rezultat rozmów z przedstawiciela klienta 2. Specyfikacja wymagań, to częściowo ustruktualizowany zapis wykorzystujący zarówno język naturalny, jaki i proste, częściowo przynajmniej sformalizowane notacje 3. Specyfikacja oprogramowania, to w pełni formalny opis wymagań. Podział wymagań: 1. Wymagania funkcjonalne. Opisują one funkcje (czynności, operacje) wykonywane przez system. 2. Wymagania niefunkcjonalne. Opisują ograniczenia, przy zachowaniu których system powinien realizować swoje funkcje. a. Wymagania dotyczące produktu np. cały system musi być obsługiwany tylko przy użyciu klawiatury. b. Wymagania dotyczące procesu np. proces generowania raportu rocznego nie może trwać dłużej niż 1 godzinę. c. Wymagania zewnętrze np. system ewidencji faktur musi współpracować z programem do rozliczania się z Urzędem Skarbowym, którego specyfikacja opisana jest w dokumencie 8988/06. Uwagi. Należy używać ścisłych określeń podczas definiowania wymagań niefunkcjonalnych nie można użyć stwierdzenia: system ma być wydajny tylko trzeba precyzyjnie określić jego wydajność np. system ma realizować 1000 transakcji na minutę. Opis wymagań można zrealizować jedną z dwóch, niewykluczających się metod: 1. Hierarchicznego zapisu wymagań polega ona na rozpisaniu funkcji systemu w sposób hierarchiczny od najbardziej ogólnych do podstawowych. 2. Diagramów przypadków użycia wykorzystywany jest do określenia funkcji systemu poprzez definicję jego wymagań przez poszczególnych jego użytkowników. Prezentuje on przepływ oraz przetwarzania danych w systemie, a także opisuje procesy przetwarzające dane. Diagram przypadków użycia można zagłębiać. Pojęcia związane z diagramem przypadków użycia (Elementy składowe DFD): 1. Proces czynność wykonywana przez system (w sposób powtarzalny) realizację określony cel, a także przekształcająca dane wejściowe w wyjściowe; Uwaga proces może także generować dane jak i je pochłaniać. 2. Obiekt zewnętrzny - obiekt (lub grupa obiektów) nie należący do systemu, z którym system wymienia informacje (źródło/odbiorca danych dla/z systemu) terminator, interfejs. 3. Magazyn - element systemu umożliwiający gromadzenie i przechowywanie danych. 4. Przepływ danych - element modelu procesów, opisujący przesyłanie danych między innymi elementami. 5. Diagram kontekstowy diagram określający granicę systemu, na którym to system reprezentowany jest za pomocą pojedynczego procesu. Zawiera on również informacje o przepływach danych pomiędzy modelowanym systemem a systemami zewnętrznymi. 1
6. Diagram systemowy (poziomu 1) jest to diagram na którym są wyróżnione podstawowe procesy systemu oraz główne magazyny danych i przepływy danych pomiędzy nimi. Symbole graficzne w notacji SSADM Obiekt zewnętrzny (External Entity) a Klient Proces (Data Process) 1 Opis procesu Magazyn danych (Data Store) D Dane klient Przepływ danych (Data Flow) Faktu Dane 3. Warunki poprawność diagramów DFD: Niezależność procesów (autonomiczność) Kompletność (wszystko opisane na odpowiednim poziomie szczegółowości) Czytelność (przejrzystość) Minimalność (bez redundancji) Prawidłowość (syntaktyczna, semantyczna) 4. Błędy w DFD: i. Puchnące magazyny dane trafiają do magazynów, ale nie są później wykorzystywane ii. Stałe magazyny magazyny, z których tylko pobiera się dane iii. Źródła danych procesy, które z powietrza generują dane, ale uwaga w rzeczywistości są takie procesy np. Generowanie liczb pseudolosowych iv. Czarne dziury dane trafiają do procesu, ale już z proces nie wychodzą, ale uwaga proces niszczenia dokumentów v. Połączenie magazyn - magazyn jest niedopuszczalne w wymianie informacji musi uczestniczyć proces vi. Połączenie obiekt zewnętrzny, użytkownik magazyn jest niedopuszczalne w wymianie informacji musi uczestniczyć proces 2
5. Zasady definiowania DFD: 1. Na DFD nie definiuje się sposobu w jaki obiekt zewnętrzny dostarcza lub pobiera dane. 2. Magazyn jest elementem pasywnym (nie wymusza obiegu danych) i może mieć złożoną strukturę. 3. Procesy powinny być wzajemnie niezależne (autonomiczne) 4. DFD nie wyrażają zależności przyczynowo-skutkowych ani czasowych pomiędzy procesami. 5. Nazwy i numery - każdy element na DFD ma swój unikalny identyfikator (adekwatny do roli elementu: nie proces 1, a np. weryfikacja poprawności dokumentów). 6. Przejrzystość i możliwość analizy - ilość procesów na diagramie: max 7 2. 7. Każdy element na diagramie DFD powinien być opisany. Najczęściej do opisu: przepływu danych stosuje się notację BNF magazynów danych BNF procesów złożonych zagnieżdżone diagramy DFD procesów elementarnych specyfikacja procesu elementarnego: o Algorytmiczna definicja procesu o Dowolność formułowania, ale zwykle: numer i nazwa procesu, dane WE i WY, opis algorytmu o Opis algorytmu: słowny, pseudokod, makropolecenia, SQL, polecenia w 4GL, schemat blokowy, tablice decyzyjne Elementów zewnętrznych opis słowny zawierający informacje na temat dokumentów, zestawów danych wymienianych, dostarczanych i pozyskiwanych z systemu 3
Specyfikacja systemu Sklep komputerowy. Cel: zautomatyzowanie procesów: sprzedaży towarów, ewidencji klientów, towarów i usług, obsługi serwisu sprzętu, a także obsługi magazynu Zakres: Gospodarka towarami (zamawiania, sprzedaż, ewidencja, odbiór) Ewidencja klientów Cennik Składanie sprzętu Obsługa napraw (wysyłanie do serwisu) Zestawienia wynikowe (raporty) Wymagania niefunkcjonalne: 1. SI ma być zaimplementowany z wykorzystaniem bazy danych DB2 na komputerach z MS Windows XP oraz Linux Fedora 4. 2. Do identyfikacji towarów mają zostać użyte naklejki z kodem kreskowym i czytniki kodu kreskowego. 3. Musi istnieć możliwość obsługi systemu za pomocą tylko klawiatury oraz myszki i klawiatury Identyfikacja zdarzeń: Lp. Zdarzenie Obiekt Uwagi 1 Odbiór zamówionego sprzętu Pracownik, Klient odbioru, 2 Zamówienie towaru Pracownik, Dostawca zlecenia, gwarancja zamówienia, Lista towarów do zamówienia, 3 Zakup towaru przez klienta Klient, Pracownik Faktura, gwarancja, dane klienta 4 Zmiana cennika Kierownik Cennik, lista nowych towarów, lista towarów wycofanych 5 Złożenie zestawu Pracownik Lista części zestawu 6 Złożenie zestawu na zamówienie Pracownik, Klient 7 Wydruk cennika Pracownik Cennik 8 Przyjęcie sprzętu do Klient naprawy na gwarancji 9 Wysłanie uszkodzonego sprzętu do serw. zew. Pracownik, Serwis zewnętrzny Zamówienie (lista części zestawu), Faktura/Paragon, zlecenia przyjęcia sprzętu do naprawy Zlecenie naprawy, Lista uszkodzeń, Gwarancja 11 Odbiór naprawionego Pracownik, Serwis Rachunek, 4
sprzętu z serwisu zewnętrzny Gwarancja, Pokwitowanie odbioru 12 Wydanie naprawionego sprzętu Pracownik, Klient odbioru sprzętu, Gwarancja, zlecenia 13 Drukowanie raportów Kierownik Raport, Dane do 14 zamówienia przez Dostawcę Dostawca raportu zamówienia Funkcje Sklepu Komputerowego 1. Ewidencja klientów 1.1.Dodawanie klienta 1.2.Edycja danych klienta 1.3.Archiwizacja danych klienta 2. Ewidencja pracowników 2.1. Dodawanie nowego pracownika 2.2. Edycja danych pracownika 2.3. Archiwizacja danych pracownika 3. Ewidencja towarów i usług 3.1.Dodawanie nowego towaru 3.2.Dodawanie nowej usługi 3.3.Edycja danych towaru 3.4.Edycja danych usługi 3.5.Przyjęcie partii towaru 3.6.Zamówienie towaru 3.7.Drukowanie cennika 4. Ewidencja sprzedaży towaru lub usługi 4.1.Sprzedaż towaru 4.2.Składanie zestawów komputerowych 4.3.Drukowanie faktury 4.4.Korekta faktury 4.5.Wystawienie gwarancji 4.6.Wystawienie potwierdzenia zapłaty 4.7.Wystawienie potwierdzenia zlecenia 5. Obsługa serwisu 5.1.Wysłanie do naprawy do serwisu zewnętrznego 5.2.Odbiór sprzętu z serwisu zewnętrznego 5.3.Wydanie sprzętu 5.4. Wymiana gwarancji 5.5. Obsługa reklamacji 6. Wspomaganie zarządzania 6.1.Edycja cennika (zmiana asortymentu) 6.2.Inwentaryzacja towarów 6.3.Raportowanie 5
6.3.1. Miesięczne 6.3.2. Roczne 6.3.3. Raport o sprzedaży 6.3.4. Uwagi ogólne do definicji funkcji systemu: 1. Każda funkcja systemu powinna być opisana w sposób formalny, konieczne jest wyróżnienie celu danej funkcji. a. Formularz opisu funkcji Nazwa funkcji Edycja danych klienta Numer procesu Opis Funkcja umożliwia edycję danych o kliencie Dane wejściowe Nazwisko+Imię+PESEL+Adres+Numer Dokumentu +Typ dokumentu+telefon+mail Źródło danych Dowód osobisty, prawo jazdy lub paszport Wynik Uwagi Zapis w bazie danych wyedytowanych danych klienta Dane klienta zostały poprawnie zmodyfikowane Nazwa funkcji Dodanie klienta Numer procesu Opis Funkcja umożliwia wprowadzenie danych o kliencie Dane wejściowe Nazwisko+Imię+PESEL+Adres+Numer Dokumentu +Typ dokumentu+telefon+mail Źródło danych Dowód osobisty, prawo jazdy lub paszport Wynik Uwagi Zapis w bazie danych nowych danych klienta Klient uzyskuje automatycznie wewnętrzny unikalny identyfikator 2. Funkcji systemu nie należy rozbijać do poziomu funkcji, które mają znaczenie czysto implementacyjne. 3. Kolejność funkcji w hierarchicznym zapisie wymagań nie ma znaczenia, istotne jest to, że podczas wykonania funkcji nadrzędnej wszystkie funkcje podrzędne muszą być również wykonane, oczywiście w jakimś stopniu. 6