Faza Określania Wymagań

Podobne dokumenty
Inżynieria oprogramowania wykład IV Faza określenia wymagań

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

FAZA STRATEGICZNA. Podstawowe hasło: Nie skupiać się na szczegółach! (na razie) Czynności w fazie strategicznej: Decyzje strategiczne:

Cele przedsięwzięcia

Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

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

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

Zasady organizacji projektów informatycznych

020 ANALIZA WYMAGAŃ. Prof. dr hab. Marek Wisła

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

Modelowanie i Programowanie Obiektowe

Faza analizy (modelowania) Faza projektowania

Inżynieria wymagań. Inżynieria wymagań 1/1

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

Metodyka projektowania komputerowych systemów sterowania

Inżynieria Programowania Inżynieria wymagań

Inżynieria Programowania Inżynieria wymagań. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki. Arkadiusz Chrobot

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Inżynieria wymagań. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Programowanie komputerów

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Lokalizacja Oprogramowania

Inżynieria oprogramowania II

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

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

Wykład I. Wprowadzenie do baz danych

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Cykle życia systemu informatycznego

biegle i poprawnie posługuje się terminologią informatyczną,

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY:

<Nazwa firmy> <Nazwa projektu> Specyfikacja wymagań projektu. Wersja <1.0>

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

Katalog rozwiązań informatycznych dla firm produkcyjnych

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

Bazy danych 2. Wykład 1

Normalizacja baz danych

Wymagania, specyfikacja i projektowanie

Jakość w procesie wytwarzania oprogramowania

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Projektowanie baz danych

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

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

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

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

ECDL Podstawy programowania Sylabus - wersja 1.0

Wymagania edukacyjne z INFORMATYKI - SP

FORMULARZ OCENY PARAMETRÓW TECHNICZNYCH

Podsumowanie prac dotyczących przygotowań do wdrożenia rachunku kosztów działań w urzędach samorządowych

Projektowanie BAZY DANYCH

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Świat rzeczywisty i jego model

Fazy modelu cyklu tworzenia

Zagadnienia (1/3) Inżynieria Oprogramowania

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

RELACYJNE BAZY DANYCH

Wykład 7. Projektowanie kodu oprogramowania

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

POLITYKA JAKOŚCI. Polityka jakości to formalna i ogólna deklaracja firmy, jak zamierza traktować sprawy zarządzania jakością.

Wymagana wiedza i umiejętności z języka niemieckiego dla uczniów szkoły gimnazjum na poszczególne stopnie szkolne obejmująca wszystkie sprawności

Opis podstawowych modułów

Modelowanie i analiza systemów informatycznych

Definicje. Algorytm to:

Projektowanie Systemów Informacyjnych

Od pomysłu do podpisania umowy. Izabela Adamska

MiASI. Modele, perspektywy, diagramy UML. Piotr Fulmański. 7 grudnia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Wstęp do zarządzania projektami

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

PN-ISO 704:2012/Ap1. POPRAWKA do POLSKIEJ NORMY. Działalność terminologiczna Zasady i metody ICS nr ref. PN-ISO 704:2012/Ap1:

Modelowanie KONCEPCJA. przedstawiana przez INDYWIDUALNOŚĆ GHJ 6

AiSD zadanie trzecie

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Zarządzanie reklamacjami i serwisem w programie bs4

UPEDU: Rozpoznanie wymagań (ang. requirements discipline)

Tom 6 Opis oprogramowania

Hurtownie danych wykład 3

Inżynieria oprogramowania wykład VI Faza analizy Analiza strukturalna modelowanie procesów, słownik danych

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Goal Question Metrics. Jarosław Kuchta Jakość Systemów Informatycznych

Podstawy programowania III WYKŁAD 4

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

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

Dobór systemów klasy ERP

Projektowanie oprogramowania

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Pojęcie bazy danych. Funkcje i możliwości.

Procesowa specyfikacja systemów IT

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

MODELE CYKLU śycia OPROGRAMOWANIA

Pryncypia architektury korporacyjnej

System plików. Warstwowy model systemu plików

PROCES I ZARZADZANIE PROCESAMI. dr Mariusz Maciejczak 2017 r.

Komentarz Technik technologii chemicznej 311[31] Czerwiec [31]

Transkrypt:

Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie tych celów. Klient może nie rozumieć oprogramowania, ale wie czego chce. Zadaniem analizy wymagań jest określenie czego on chce i zarejestrowanie tego w taki sposób, że wytwarzanie może toczyć się dalej bez użytkownika

Faza określania wymagań Klient rzadko dokładnie wie jakie wymagania zapewniają osiągnięcie jego celów. Proces określania wymagań należy więc rozumieć, nie jako proste zbieranie wymagań klienta, lecz jako proces, w którym klient wspólnie z przedstawicielami producenta konstruuje zbiór wymagań wobec systemu zgodny z postawionymi celami. Jeśli klient dla którego jest przeznaczone oprogramowanie, nie zostanie wysłuchany i zrozumiany, to prawdopodobnie nie będzie zadowolony z wyniku.

Faza określania wymagań Podstawowym sposobem pracy jest wykonywanie wywiadów z różnymi osobami ze strony klienta (są to z reguły przyszli użytkownicy systemu) Przekształcenie wymagane od systemu oprogramowania ma postać wejść i wyjść z systemu. Powinno być określone, który zbiór wejść zostanie przetworzony na który zbiór wyjść. Nie należy wskazywać jak wejścia zostaną przekształcone na wyjścia. dokumentacja projektowa

Trudności określania wymagań Klient z reguły nie wiem dokładnie w jaki sposób osiągnąć określone cele. A można je osiągnąć na wiele sposobów Duże systemy są wykorzystywane przez wielu użytkowników. Ich cele są często sprzeczne. Różny użytkownicy mogą posługiwać się różną terminologią mówiąc o tych samych problemach Zleceniodawcy i użytkownicy to często inne osoby. Głos zleceniodawców może być decydujący w tej fazie, choć nie zawsze potrafią oni przewidzieć rzeczywiste potrzeby użytkowników

Dobry opis wymagań Powinien: - Być kompletny oraz niesprzeczny - Opisywać zewnętrzne zachowanie systemu a nie sposób jego realizacji - Obejmować ograniczenia przy jakich musi pracować system - Być łatwy w modyfikacji - Brać pod uwagę przyszłe możliwe zmiany wymagań wobec systemu - Opisywać zachowanie systemu w niepożądanych sytuacjach Typowym błędem jest koncentrowanie się na sytuacjach typowych i pomijanie wyjątków

Opis wymagań Wymaganie powinny zostać zebrane w dokumencie opisie wymagań. Dokument ten powinien być podstawą formalnego, szczegółowego kontraktu między klientem a producentem Powinien być zrozumiały dla obu stron Producenci oprogramowanie często nie są zainteresowani precyzyjnym opisem wymagań, który pozwoliłby na rzeczywista weryfikację wyprodukowanego systemu

Dokument opisujący wymagania Powinien zawierać: - Wprowadzenie cele, zakres i kontekst systemu. Ta część dokumentu zawiera więc wyniki fazy strategicznej - Opis ewolucji systemu opis przewidywanych zmian wymagań wobec systemu - Opis wymagań funkcjonalnych opisują funkcje (Czynności, operacje) wykonywane przez system - Opis wymagań niefunkcjonalnych opisują ograniczenia, przy zachowaniu których system powinien realizować swoje funkcje - Model systemu - Słownik pis wymagań może zawierać szereg terminów niezrozumiałych dla jednej ze stron.

Opis wymagań Ponadto może zawierać: - Specyfikacja wymagań funkcjonalnych - Specyfikacja wymagań niefunkcjonalnych - Wymagania sprzętowe - Wymagania dot. Bazy danych - Indeks Tworząc dokument opisujący wymagania należy przestrzegać następujących zasad: - Wymagania funkcjonalne powinny być oddzielone od wymagań niefunkcjonalnych - Należy rozdzielać opisy poszczególnych wymagań - Dla każdego wymagania należy powinien być podany powód jego wprowadzenia

Wymagania funkcjonalne Opisują funkcje wykonywane przez system. Mogą one być wykonywane przy udziale systemów zewnętrznych Język naturalny jest bardzo często sposobem opisu wymagań. Ale ma wady: - Niejednoznaczność języka naturalnego, która utrudnia precyzyjny zapis wymagań. Może prowadzić do różnej interpretacji tego samego tekstu przez różne osoby - Elastyczność języka naturalnego, która pozwala te same treści wyrazić na różne sposoby. Utrudnia to wykrycie powiązanych wymagań. Może tez prowadzić do przeoczenia sprzeczności wymagań sformułowanych w różny sposób. Powyższych wad pozbawione są notacje formalne, ale są niezrozumiałe dla klienta

Wymagania funkcjonalne Swego rodzaju kompromisem pomiędzy językiem naturalnym a metodami formalnymi jest stosowanie formularzy opisu wymagań. Formularze takie wykorzystują język naturalny, jednak zapis jest podzielony na konkretne pola co pozwala uniknąć szeregu błędów. Definiując wymagania funkcjonalne z reguły podaje się jedynie wymagany efekt realizacji funkcji a nie jej algorytm. Liczba wymagań funkcjonalnych może być bardzo duża nawet do 8000.

Formularz opisu wymagania przykład Nazwa funkcji Opis Dane wejściowe Źródło danych wejściowych Wynik Edycja dochodów podatnika Funkcja pozwala edytować łączne dochody podatnika uzyskane w danym roku Informacje o dochodach podatnika uzyskanych z różnych źródeł, o zaliczkach na poczet podatku, o dokumentach opisujących dochody Dokumenty oraz informacje dostarczane przez podatnika. Dane wpisywane są przez pracownika firmy Warunek wstępny Warunek końcowy Efekty uboczne Powód

Hierarchia wymagań funkcjonalnych Pewne funkcje wykonywane przez system są składowymi (podfunkcjami) innych bardziej ogólnych funkcji. Proponuje się, aby wymagania funkcjonalne zapisywać w formie hierarchicznej. Dana funkcja powinna być dekomponowana na wszystkie, i wyłącznie te funkcje, które są niezbędne dla jej wykonania. Kolejność funkcji składowych nie ma znaczenia Wykonanie funkcji nadrzędnej nie musi oznaczać wykonania funkcji składowych w każdej sytuacji Pewne funkcje składowe mogą być wykonywane wielokrotnie podczas realizacji funkcji podrzędnej Każda funkcja składowa musi być w pewnych sytuacjach wykonana podczas realizacji funkcji nadrzędnej

Wymagania funkcjonalne Powinny dotyczyć wyłącznie zewnętrznych funkcji systemu. Funkcji systemu nie należy rozbijać do poziomu funkcji, które mają znaczeni czysto implementacyjne Pewne funkcje składowe mogą pojawiać się w ramach wielu funkcji nadrzędnych Jednym ze sposobów konstruowania hierarchii funkcji jest technika zstępująca. Zgodnie z tą techniką określanie wymagań funkcjonalnych należy zacząć od poszukiwania najbardziej ogólnych funkcji, a następnie należy dekomponować je na funkcje składowe aż do osiągnięcia poziomu funkcji elementarnych

Wymagania funkcjonalne W praktyce nie zawsze jest możliwe kierowanie wywiadu z użytkownikami w taki sposób by zaczynać od funkcji maksymalnie ogólnych, a kończyć na szczegółowych. Użytkownicy często wolą koncentrować się na szczegółowych funkcjach, które uważają na ważniejsze, z ich punktu widzenia. Szczegółowe funkcje należy agregować do funkcji wyższego poziomu W praktyce hierarchia funkcji powstaje więc zarówno poprzez dekompozycję, jak i agregację funkcji

Wymagania niefunkcjonalne Wymagania niefunkcjonalne opisują ograniczenia, przy których system musi realizować swoje funkcje: Wymagania dotyczące produktu np. musi istnieć możliwość przeglądania danych wyłącznie za pomocą klawiatury Wymagania dotyczące procesu np. proces realizacji systemu harmonogramowania zleceń musi być zgodny ze standardem opisanym w dokumencie XXXXXX Wymagania zewnętrzne system harmonogramowania zleceń musi współpracować z bazą danych systemu komputerowego opisanego w dokumencie YYYYY. Niedopuszczalne są żadne zmiany w strukturze tej bazy.

Wymagania niefunkcjonalne Tabela zawiera przykłady miar, które mogą służyć do ilościowego opisu pewnych cech systemu Cecha Wydajność Rozmiar Łatwość użytkowania Miary Liczba transakcji obsłużonych w ciągu sekundy Czas odpowiedzi Szybkość odświeżania ekrany Wymagana pamięć RAM Wymagana pamięć dyskowa Czas niezbędny dla przeszkolenia użytkowników Liczba stron dokumentacji

Czynniki sukcesu Zaangażowanie odpowiednich osób ze strony klienta Pełne rozpoznanie wymagań, wykrycie sytuacji szczególnych i nietypowych Sprawdzenie kompletności i spójności wymagań Określenie wymagań niefunkcjonalnych w sposób możliwy do weryfikacji

Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań czyli zewnętrzny opis systemu Celem fazy analizy jest udzielenie odpowiedzi na pytanie: jak system ma działać? Wynikiem jest logiczny model systemu, opisujący sposób realizacji przez system postawionych wymagań, lecz abstrahujący od szczegółów implementacyjnych Celem fazy projektowania jest udzielenie odpowiedzi na pytanie: jak system ma zostać zaimplementowany? Wynikiem jest projekt oprogramowania, czyli opis systemu implementacji Cdn.