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

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

Od pomysłu do podpisania umowy. Izabela Adamska

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

Jakość w procesie wytwarzania oprogramowania

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

Faza Określania Wymagań

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

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

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

Podstawy programowania III WYKŁAD 4

Inżynieria oprogramowania II

Etapy życia oprogramowania

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

tel. (+48 81) /22 fax (+48 81) Wykład Ćwiczenia Laboratorium Projekt

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

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Zagadnienia (1/3) Inżynieria Oprogramowania

Spis treúci. 1. Wprowadzenie... 13

Analityk i współczesna analiza

ISO 9000/9001. Jarosław Kuchta Jakość Oprogramowania

Proces Inżynierii Wymagań

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

Inżynieria oprogramowania (Software Engineering)

Opis metodyki i procesu produkcji oprogramowania

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

Inżynieria Programowania Inżynieria wymagań

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

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

POLITYKA PRYWATNOŚCI SERWIS:

Analiza biznesowa a metody agile owe

Usługa: Testowanie wydajności oprogramowania

Kierunki rozwoju firmy Decyzje o wyborze rynków Decyzje inwestycyjne Rozwój nowych produktów Pozycjonowanie. Marketing strategiczny

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

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

Modelowanie i analiza systemów informatycznych Spis treści

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

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

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

POLITYKA PRYWATNOŚCI GALACTIC SP. Z O.O.

M O N I T O R I N G

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

POLITYKA PRYWATNOŚCI. - Załącznik do Regulaminu w firmie Szkoła j. hiszpańskiego. SERVIACON P. Ortiz Mira, A. Stępniak s.c.

Modelowanie i analiza systemów informatycznych

Proces projektowania i wdrożenia serwisu internetowego

Projektowanie interakcji

UPEDU: Rozpoznanie wymagań (ang. requirements discipline)

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

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

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

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Wdrozėnie systemu B2B wprowadzaja cego automatyzacje procesów biznesowych w zakresie Systemu Nadzoru Projektowego

Zasady organizacji projektów informatycznych

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Maciej Oleksy Zenon Matuszyk

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

Nie o narzędziach a o rezultatach. czyli skuteczny sposób dokonywania uzgodnień pomiędzy biznesem i IT. Władysławowo, 6 października 2011 r.

Diagramy przepływu danych I

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Projektowanie BAZY DANYCH

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

Wprowadzenie do Behaviordriven

Egzamin / zaliczenie na ocenę*

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

Metodyka wdrożenia. Bartosz Szczęch. Starszy Konsultant MS Dynamics NAV

Opis przedmiotu zamówienia

Jarosław Kuchta. Projektowanie Aplikacji Internetowych. Wprowadzenie

Wykład 1 Inżynieria Oprogramowania

Polityka Prywatności

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

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Zarządzanie sprzedażą w programie bs4

2. Organizatorem konkursu pod tytułem Najlepsza strona internetowa projektu

Specyfikacja techniczna GoBiz Virtual Office - systemu dostępu do zasobów wirtualnego biura przez Internet

GoBiz System platforma współpracy marektingowej

Międzynarodowa Rada Inżynierii Wymagań. The International Requirements Engineering Board (IREB e.v.) Szkolenia IREB w CTS.

Należyta staranność w inżynierii wymagań i modelowaniu systemów. Anna Bobkowska Politechnika Gdańska

Wykaz zmian wprowadzonych aktualizacją

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Narzędzia CASE dla.net. Łukasz Popiel

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

Wprowadzenie do jakości systemów informatycznych

PROJEKT Z BAZ DANYCH

Inżynieria oprogramowania (Software Engineering)

Polityka prywatności sieci klubów Forma Fitness

Szybkie prototypowanie w projektowaniu mechatronicznym

Zapytanie ofertowe. BLIKET GRZEGORZ BYLINA ul. Sochaczewska 8B lok Brwinów Tel: , Faks: NIP: , Regon:

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów

Efekt kształcenia. Wiedza

Projektowanie zorientowane na uŝytkownika

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

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

Badania marketingowe

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka

risk AB ZARZĄDZANIE RYZYKIEM OPERACYJNYM Dodatkowe możliwości programu: RYZYKO BRAKU ZGODNOŚCI PRALNIA

Polityka Prywatności

Tom 6 Opis oprogramowania

Zarządzaj projektami efektywnie i na wysokim poziomie. Enovatio Projects SYSTEM ZARZĄDZANIA PROJEKTAMI

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

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

Transkrypt:

Inżynieria wymagań Jarosław Kuchta

Cele inżynierii wymagań Określenie celu biznesowego projektu Cel biznesowy określa korzyści, jakie osiągną udziałowcy projektu dzięki jego realizacji Identyfikacja wymagań funkcjonalnych niefunkcjonalnych Alokacja wymagań do poszczególnych składników systemu informatycznego Inżynieria wymagań 2

Składniki systemu informatycznego System informatyczny Sprzęt Procedury Baza danych Ludzie Oprogramowanie Dokumentacja Inżynieria wymagań 3

Alokacja wymagań przykład Rejestracja opinii od klientów 1. Rozwiązanie pierwsze pracownik działu reklamacji analizuje opinie przychodzące telefonicznie lub pocztą i wpisuje je do odpowiedniego formularza. Dane są rejestrowane w bazie danych. 2. Rozwiązanie drugie serwis internetowy udostępnia formularz opinii. Klienci składający reklamacje muszą odpowiednio szczegółowo wypełnić formularz. Dane są rejestrowane w bazie danych. 3. Rozwiązanie trzecie włącza się automatyczny serwis telefoniczny. System rozpoznawania głosu wyławia kluczowe słowa z wypowiedzi klienta i tworzy skróconą charakterystykę opinii. Dane są rejestrowane w bazie danych wraz z pełnym nagraniem wypowiedzi. Inżynieria wymagań 4

Ustalenie osób zainteresowanych użytkownicy końcowi (wymagania funkcjonalne) administrator systemu (szczególne wymagania funkcjonalne, niezawodność, dostępność, testowalność) wyższe kierownictwo (cele biznesowe) kierownik marketingu (cechy marketingowe) kierownik finansowy (koszty) kierownik ochrony (bezpieczeństwo) Inżynieria wymagań 5

Ustalenie udziałowców Każda osoba zainteresowana może występować w kilku rolach (np. administrator może też być użytkownikiem końcowym). Z każdą rolą jest związany określony punkt widzenia. Osoba występująca w danej roli jest udziałowcem projektu. Każde urządzenie lub system współpracujący z projektowanym systemem również może mieć swoje wymagania i w tym sensie również jest udziałowcem projektu. Punkty widzenia różnych udziałowców są różne. Wszystkie punkty widzenia udziałowców są ważne, chociaż nie wszystkie w tym samym stopniu. Wszystkie punkty widzenia powinny zostać wzięte pod uwagę. Wszystkie punkty widzenia powinny zostać przeanalizowane. Pojawiające się konflikty powinny zostać rozstrzygnięte. Inżynieria wymagań 6

Ustalenie klienta Klientem jest osoba lub organizacja, która ma ostateczny wpływ na kształt projektu. Z klientem uzgadniamy specyfikację wymagań i podpisujemy kontrakt. Klient powinien należeć do udziałowców projektu, w przeciwnym wypadku nie jest zainteresowany wprowadzeniem systemu, stąd szanse powodzenia są minimalne. W organizacji musi być wyznaczona osoba odpowiedzialna reprezentująca klienta. Osoba ta musi mieć odpowiednią władzę nad innymi udziałowcami, aby zapewnić ich współpracę w fazie formułowania wymagań. W przypadku klienta szerokiego (produkt przeznaczony dla masowego odbiorcy) trzeba znaleźć osobę lub grupę osób reprezentujących udziałowców (najczęściej użytkowników końcowych) i od nich pozyskiwać wymagania. Inżynieria wymagań 7

Proces pozyskiwania wymagań Wydobywanie informacji Wstępna reprezentacja Wstępna analiza Ocena specyfikacji Inżynieria wymagań 8

Podstawowy problem zrozumienie Wiem, że sądzisz, iż rozumiesz to, co myślisz, że ja powiedziałem, ale nie jestem pewien, czy zdajesz sobie sprawę z tego, że to co słyszałeś nie jest tym, co ja myślałem... Inżynieria wymagań 9

Wydobywanie informacji Uświadomienie sobie przez udziałowców ich potrzeb. Sformułowanie potrzeb. Transformowanie potrzeb na wymagania względem systemu. Zdobycie informacji potrzebnych do zrozumienia wymagań. Inżynieria wymagań 10

Uświadomienie potrzeb Udziałowiec może nie czuć potrzeby wprowadzenia systemu, a jedynie kierować się odgórnymi nakazami czy trendami. Udziałowiec może być na tyle przyzwyczajony do dotychczasowego sposobu pracy, że nie potrafi zrozumieć zmian, które nastąpią po wprowadzeniu nowego systemu. Udziałowiec prawie na pewno nie uświadamia sobie wszystkich swoich potrzeb. W przypadku, gdy udziałowcem jest urządzenie lub system, jego wymagania może reprezentować osoba eksperta lub mogą być one zapisane w dokumentacji. Inżynieria wymagań 11

Formułowanie potrzeb Udziałowiec może mieć kłopoty z formułowaniem jasnych wypowiedzi. Udziałowiec może być niechętny do formułowania pewnych potrzeb, gdyż może uznać je za słabość swoją lub swojej organizacji i wstydzić się tej słabości. Udziałowiec może uznać pewne swoje potrzeby za oczywiste i nie zdawać sobie sprawy z tego, że ktoś inny może ich nie znać. Inżynieria wymagań 12

Transformowanie potrzeb na wymagania systemowe Nie każdą potrzebę jest w stanie zaspokoić system informatyczny. Niektórych potrzeb nie da się zaspokoić bez zmiany organizacji. Wymagania mogą być funkcjonalne i niefunkcjonalne. Istnieje konieczność klasyfikacji wymagań. Wymagania powinny określać, co system ma robić, a nie w jaki sposób ma to robić. Różne potrzeby mogą prowadzić do sprzecznych wymagań. Istnieje konieczność określenia priorytetów ważności wymagań. Inżynieria wymagań 13

Zdobycie informacji potrzebnych do zrozumienia wymagań Informacje mogą być przechowywane w głowach pewnych osób, które mogą nie być zainteresowane w dzieleniu się nimi. Informacje mogą być zapisane w trudno dostępnej dokumentacji. Informacje mogą być niekompletne. Informacje mogą być sprzeczne. Informacje mogą być mylące. Inżynieria wymagań 14

Wstępna reprezentacja Opis słowny może mieć niejednoznaczną interpretację, może być niejasny (sformułowany językiem specjalistycznym), duże prawdopodobieństwo nadmiarowości i sprzeczności. Opis graficzny jest bardziej czytelny (notacja musi być znana dla udziałowców, np. diagramy blokowe, czytelne symbole), ułatwia precyzowanie faktów. Opis matematyczny (naukowy, tabelaryczny) stosuje się jedynie do niektórych wymagań Opis kombinowany problem spójności Potrzeba logicznego uszeregowania wymagań ujawnia luki, nadmiarowości i sprzeczności w wymaganiach. Wymagania różnych udziałowców rejestruje się osobno i następnie tworzy ich kompilację. Wymagania muszą być ponumerowane, tak aby w późniejszych fazach móc się do nich odwoływać. Inżynieria wymagań 15

Wstępna analiza Cel walidacja wymagań przez udziałowców. Środek analiza przez udziałowca wyspecyfikowanych przez siebie i zredagowanych przez analityka wymagań. Pytania stawiane przez analityka: Co takiego? Dlaczego? Czy istnieją inne możliwości? Inżynieria wymagań 16

Środki pomocnicze prototypowanie prototypem na etapie specyfikacji może być model systemu (rysunek szkicowy interfejsu użytkownika, wyszczególnienie najważniejszych pozycji menu, szkic najważniejszych raportów) prototypem może być uproszczony program realizujący jedynie wybrane funkcje podejście ewolucyjno-iteracyjne realizacja projektu ze świadomie ograniczoną funkcjonalnością przy założeniu dalszego udoskonalania systemu w przyszłości. Inżynieria wymagań 17

Rezultaty wymagania poprawnie wyspecyfikowane wymagania niepoprawnie wyspecyfikowane zakres projektu Inżynieria wymagań 18

Trzy grupy wymagań Wymagania jawnie wyspecyfikowane (dotyczące konkretnego projektu) Wymagania domyślne nie wyspecyfikowane jawnie, lecz konieczne dla realizacji celów projektu Wymagania obligatoryjne nie muszą być wyspecyfikowane jawnie, lecz występują ze względu na regulacje prawne lub wymogi rynku. Inżynieria wymagań 19

Specyfikacja Wymagań Systemowych 1. Wstęp 2. Opis informacyjny 3. Wymagania funkcjonalne 4. Wymagania niefunkcjonalne 5. Kryteria akceptacyjne 6. Bibliografia 7. Dodatki Inżynieria wymagań 20

SWS Wstęp Identyfikacja systemu Skrócony opis organizacji Cel wprowadzenia systemu (cel biznesowy) Podstawowe ograniczenia Inżynieria wymagań 21

SWS Opis informacyjny Szczegółowy opis problemów do rozwiązania Diagramy przepływu (sterowania lub danych) najwyższego poziomu Reprezentacja zawartości informacyjnej Opis interfejsów systemowych (użytkownika, softwerowych, sprzętowych) Inżynieria wymagań 22

SWS Wymagania funkcjonalne Lista funkcji (podział hierarchiczny) Opis każdej funkcji opis tekstowy ograniczenia wymagania wydajnościowe zastrzeżenia projektowe diagramy pomocnicze Opis sterowania specyfikacja sterowania zastrzeżenia projektowe Inżynieria wymagań 23

SWS Wymagania niefunkcjonalne Wymagania wydajnościowe Wymagania niezawodnościowe Wymagania dot. bezpieczeństwa inne Inżynieria wymagań 24

SWS Kryteria akceptacyjne Klasy testów Oczekiwane odpowiedzi systemu Zastrzeżenia szczególne Inżynieria wymagań 25

SWS Bibliografia Inne dokumenty inżynierii oprogramowania Instrukcje techniczne Literatura pomocnicza Standardy Inżynieria wymagań 26

SWS Dodatki Słownik pojęć Dane tabelaryczne Wykresy Specyfikacja szczególnych algorytmów Inżynieria wymagań 27

Literatura Pressman R.S., Software engineering. A practitioner s approach, McGraw-Hill, International Edition, 1992 Górski J. et al., Inżynieria oprogramowania w projekcie informatycznym,wyd. Mikom, Warszawa, 2000 Inżynieria wymagań 28