Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Inżyniera wymagań

Podobne dokumenty
Projektowanie systemów informatycznych

Projektowanie systemów informatycznych

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

Projektowanie systemów informatycznych. Diagramy przypadków użycia

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Studium wykonalności

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

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

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

Projektowanie systemów informatycznych

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Diagramy przypadków użycia

Dokument Detaliczny Projektu

Inżynieria oprogramowania II

UPEDU: Rozpoznanie wymagań (ang. requirements discipline)

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Metodyka projektowania komputerowych systemów sterowania

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

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

Inżynieria oprogramowania (Software Engineering)

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Zagadnienia (1/3) Inżynieria Oprogramowania

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

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Narzędzia CASE dla.net. Łukasz Popiel

Analityk i współczesna analiza

Język UML w modelowaniu systemów informatycznych

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Architektura oprogramowania w praktyce. Wydanie II.

Dobre wdrożenia IT cz. I Business Case.

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

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

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

Wykład 1 Inżynieria Oprogramowania

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Faza Określania 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ą?

Koszty związane z tworzeniem aplikacji on demand versus zakup gotowych rozwiązań

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

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

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie oprogramowania

Maciej Oleksy Zenon Matuszyk

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

Dokument Detaliczny Projektu

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

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

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

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Opis przedmiotu zamówienia

Krzysztof Wawrzyniak Quo vadis BS? Ożarów Mazowiecki, styczeń 2014

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

Wprowadzenie do Behaviordriven

Jarosław Żeliński analityk biznesowy, projektant systemów

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

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

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

WOJSKOWA AKADEMIA TECHNICZNA

Projektowanie interakcji

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

Konwerter Plan testów. Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008

Spis treści Wstęp 1. Wprowadzenie 2. Zarządzanie ryzykiem systemów informacyjnych

Inżynieria Programowania Inżynieria wymagań

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

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

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

Wyższa Szkoła Bankowa w Toruniu ul. Młodzieżowa 31a Toruń Toruń, dnia r. ZAPYTANIE OFERTOWE nr 1/NOR/0119/2014

AKADEMIA GÓRNICZO-HUTNICZA

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

2.11. Monitorowanie i przegląd ryzyka Kluczowe role w procesie zarządzania ryzykiem

Analiza biznesowa a metody agile owe

Usługa: Testowanie wydajności oprogramowania

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

SPECYFIKACJA WYMAGAŃ

Narzędzia Informatyki w biznesie

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

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

UML w Visual Studio. Michał Ciećwierz

Specyfikowanie wymagań przypadki użycia

Wstęp do zarządzania projektami

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

problem w określonym kontekście siły istotę jego rozwiązania

PRZEWODNIK PO PRZEDMIOCIE

Tom 6 Opis oprogramowania

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

KARTA MODUŁU KSZTAŁCENIA

Zarządzanie firmą Celem specjalności jest

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Wstęp do zarządzania projektami

Certified IT Manager Training (CITM ) Dni: 3. Opis:

Podstawy programowania III WYKŁAD 4

Procesowa specyfikacja systemów IT

Opis metodyki i procesu produkcji oprogramowania

Praktyka testowania dla początkujących testerów

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Transkrypt:

Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Inżyniera wymagań

Wymagania w projektowaniu systemów informatycznych Istnieją różne definicje wymagań dla systemów informatycznych. Dla potrzeb niniejszych zajęć przyjmijmy: Wymagania to opis funkcji (usług), które mają być realizowane przez system i opis ograniczeń dla systemu. Wymagania nie opisują jak system ma działać a co ma wykonywać. Wymagania są definiowane na wczesnych etapach rozwoju systemu jako specyfikacja tego, co ma być implementowane. W zakresie zarządzania projektem można wyróżnić różne typy wymagań stawianych systemowi. Wymagania = opis funkcji + opis ograniczeń 2

Zarządzanie wymaganiami inżynieria wymagań Inżynieria wymagań to proces pozyskiwania, analizowania, dokumentowania oraz weryfikowania wymagań dla projektowanego systemu. Celem inżynierii wymagań jest: pozyskanie informacji pozwalających na określenie wymagań, zidentyfikowane wymagań i ich kategorii, analiza wymagań (jednoznaczność, spójność, zgodność z założeniami), opisanie wymagań opracowanie specyfikacji wymagań, weryfikacja wymagań, zarządzanie zmianami wymagań w trakcie realizacji projektu. 3

Dlaczego inżynieria wymagań jest ważna? Problem skali: Dla małych systemów pozyskanie, zrozumienie i określenie wymagań jest zwykle proste wystarczą intuicyjne i nieformalne metody. Dla dużych systemów pozyskanie, zrozumienie i określenie wymagań jest prawie zawsze trudne i czasochłonne systematyczne i sformalizowane podejście jest potrzebne. Problem specyfiki: Pozyskanie, zrozumienie i określenie wymaka kontaktu z ludźmi i wchodzenia z nimi w interakcje. Pozyskanie, zrozumienie i określenie jest procesem trudnym do zautomatyzowania. 4

Inżynieria wymagań a zarządzanie projektem i metody projektowania Formalne Duże projekty Metody zarządzania projektem Wymagania Małe projekty Nieformalne Nieformalne Metody projektowania Formalne 5

Inżynieria wymagań graficzna ilustracja koncepcji Inżynieria wymagań Opracowywanie wymagań Zarządzanie wymaganiami Pozyskiwanie Analiza Specyfikacja Weryfikacja 6

Po co inżynieria wymagań? Tak klient opisał, czego wymaga od systemu Tak wymagania klienta zrozumiał analityk Tak projektanci zrozumieli analityka i taki stworzyli projekt Tak programiści zrozumieli projekt i to zaprogramowali Po poprawkach wdrożono coś takiego Za to klient zapłacił Tego klient chciał Oto, do czego się projekt nadawał i jak użyto jego efektów Rysunki pochodzą ze strony: http://usprawnienia.pl/ 7

Inżynieria wymagań jako metod likwidowania przepaści Czy to tylko zabawna rysunkowa historyjka? Klient Wykonawca Wielki Kanion 8

Inżynieria wymagań jako metod likwidowania przepaści Klient Myślę, że system zapewni nam minimalizację stanów magazynowych, co spowoduje mniejsze zaangażowanie bieżących środków na zakup surowców, przy jednoczesnym utrzymaniu płynności produkcji na dotychczasowym poziomie. Napiszę to obiektowo w Javie, ale bazę wykorzystam relacyjną, dla magazynu zrobię aplet, reszta będzie w JSP. Informatyk 9

Na marginesie brak ciągłości specyfikacji to też problem Projektant Programista Kolejny Wielki Kanion... 10

Inżynieria wymagań spotkanie dwóch światów Wizja klienta Wizja informatyka Współdziałanie, komunikacja, synergia 11

Inżynieria wymagań spotkanie dwóch światów Cele strategiczne, strategie biznesowe, oczekiwania, nadzieje, ograniczenia Własne cele biznesowe, technologia, wiedza, zaplecze, doświadczenie, ograniczenia Pozyskiwanie, analiza i specyfikacja wymagań Wymagania Realizowalność + ryzyko Realizacja projektu 12

Inżynieria wymagań kto jest naszym zleceniodawcą? System ma służyć organizacji i wspierać realizację jej celów strategicznych. System wcale nie jest po to, by ludziom pracowało się łatwiej i wygodniej. Kto powinien określać wymagania dla projektowanego systemu? Użytkownik końcowy (operator systemu) często nie rozumie jego działania w sensie globalnym. 13

Inżynieria wymagań kto jest naszym zleceniodawcą? Zidentyfikuj przedstawicieli zamawiającego system Rozdziel przedstawicieli na decydentów i operatorów Przeanalizuj ich punkty widzenia Przejdź do wydobywania wymagań 14

Rozdzielaj ale nie dyskryminuj każdy jest ważnym źródłem wymagań Wyższe kierownictwo określa cele strategiczne i cele systemu oni wiedzą czego chcą, choć niekoniecznie jak to osiągnąć. Kadra kierownicza średniego szczebla oni zwykle wiedzą jak osiągnąć poszczególne cele cząstkowe. Kadra kierownicza niższego szczebla oni znają procesy biznesowe w ich realnym wymiarze. Szeregowi pracownicy oni wiedzą dokładnie jak wykonać każdą elementarna operację. 15

Poziomy i typy wymagań Wyższe kierownictwo określa cele strategiczne i cele systemu oni wiedzą czego chcą, choć niekoniecznie jak to osiągnąć. Kadra kierownicza średniego szczebla oni zwykle wiedzą jak osiągnąć poszczególne cele cząstkowe. Wymagania biznesowe Opisują cel, który chce osiągnąć zleceniodawca dzięki realizacji danego projektu. Pozwalają zespołowi projektowemu poznać wizję i zakres projektowanego systemu oczami decydentów zleceniodawcy. Można stworzyć dokument: Wizja i zakres projektu. 16

Poziomy i typy wymagań Kadra kierownicza niższego szczebla oni znają procesy biznesowe w ich realnym wymiarze. Szeregowi pracownicy oni wiedzą dokładnie jak wykonać każdą elementarna operację. Wymagania użytkowe Opisują to, co użytkownicy będą mogli wykonać w systemie. Określają ogólny scenariusz realizacji poszczególnych operacji istotnych dla użytkownika. Scenariusze te mogą być spisane w dokumencie Przypadki użycia. Dokument ten stanowi podstawę do określenia szczegółowych funkcji systemu. 17

Wymagania biznesowe i użytkowe Wymagania biznesowe Wizja i zakres projektu Dokument im konkretniejszy tym lepiej, jednak nie stosuje się notacji formalnych Wymagania użytkowe Przypadki użycia Dokument rysunki + opis, zwykle Use Case Diagrams z UML 18

Wymagania biznesowe, użytkowe i wymaganie funkcje Wymagania biznesowe Wizja i zakres projektu Wymagania użytkowe Przypadki użycia Wymagane funkcje Wymagane funkcje specyfikują dokładnie to, co system powinien robić czyli to, co zespół programistów powinien zrealizować w formie programu komputerowego. 19

Wymagania funkcjonalne Wymagania biznesowe Wizja i zakres projektu Wymagania użytkowe Przypadki użycia Wymagania funkcjonalne to wszystko opisuje co ma oferować system, jak ma reagować na określone dane wejściowe oraz jak ma się zachowywać w określonych sytuacjach. Wymagane funkcje Wymagania funkcjonalne 20

Specyfikacja wymagań systemu SRS Wymagania biznesowe Wizja i zakres projektu Wymagania użytkowe Przypadki użycia Specyfikacja wymagań systemu SRS (ang. software requirements specification) Dokument ten jest oficjalna listą wymagań projektowanego systemu dla klienta, użytkowników końcowych oraz zespołu projektowego. Istnieją normy określające postać, cechy i formę takiego dokumentu. Wymagane funkcje Specyfikacja wymagań Wymagania funkcjonalne 21

Wymagania niefunkcjonalne Wymagania biznesowe Wizja i zakres projektu Wymagania użytkowe? Przypadki użycia Wymagane funkcje Specyfikacja wymagań Wymagania funkcjonalne Wymagania niefunkcjonalne 22

Wymagania niefunkcjonalne ogólnie Wymagania niefunkcjonalne nie mają bezpośredniego wpływu na funkcjonalność systemu. Nakładają one ograniczenie na sposób, w jaki sposób wymagania funkcjonalne będą zrealizowane.? Specyfikacja wymagań Wymagania niefunkcjonalne 23

Wymagania niefunkcjonalne różne rodzaje Wymagania biznesowe Cele strategiczne Wizja i zakres projektu Polityka firmy Kultura organizacji Wymagania użytkowe Przypadki użycia Wymagane funkcje Specyfikacja wymagań Cele operacyjne Technologia Specyfika dziedziny Wymagania funkcjonalne Wymagania niefunkcjonalne 24

Klasyfikacja wymagań wymagania funkcjonalne Wymagania funkcjonalne: określają jaki pożądane z punktu widzenia zamawiającego funkcje powinien posiadać system, powinny pozwolić na realizację określonych wymagań biznesowych i prowadzić do celu systemu określonego w jego wizji i zakresie, specyfikują co system ma realizować a nie jak ma to być zrobione. Przykład Biblioteka : Uproszczone wymagania funkcjonalne w języku naturalnym System obsługi biblioteki powinien umożliwiać klientowi tej biblioteki przeszukiwanie jej zasobów katalogowych w poszukiwaniu konkretnej książki. Wyszukiwanie może odbywać się wg danych autora, tytułu książki lub wydawnictwa. Wyszukaną książkę klient może zarezerwować do wypożyczenia lub wypożyczyć. Wyszukiwanie może realizować każdy klient, rezerwować i wypożyczać może jedynie klient, który przeszedł proces rejestracji w systemie. Rejestracja obejmuje podanie imienia, nazwiska i adresu zamieszkania. 25

Klasyfikacja wymagań wymagania niefunkcjonalne Wymagania niefunkcjonalne: określają pożądane cechy systemu, nie wpływając bezpośrednio na istnienie konkretnych funkcji; wpływają jednak zwykle na to, jak te funkcje będą realizowane. Wymagania niefunkcjonalne mogą wypływać z: ustaw, norm, przepisów, kodeksów; strategii biznesowego działania zleceniodawcy, kultury jego organizacji, specyfiki jego działania rynkowego; ograniczeń dziedziny dla której system jest tworzony; technologii i metod realizacji systemu; wymagań jakościowych i technicznych. 26

Klasyfikacja wymagań wymagania niefunkcjonalne Przykład Biblioteka : Wymagania niefunkcjonalne kontekst biznesowy Klienci biblioteki nie płacą za korzystanie z niej. Strategia biblioteki zakłada jednak, że aby skorzystać z jej zasobów, klient musi się zarejestrować ujawniając dane obejmujące imię, nazwisko oraz adres zamieszkania. Podając te informacje w trakcie rejestracji klient musi zgodzić się na przetwarzanie jego danych osobowych a system biblioteczny musi przestrzegać ograniczeń narzucanych przez ustawę o ochronie danych osobowych. Przykład Biblioteka : Wymagania niefunkcjonalne kontekst technologiczny System obsługi biblioteki ma być aplikacją WWW, zrealizowaną w architekturze klientserwer, przy czym warstwa kliencka jest cienka realizuje ją przeglądarka internetowa potencjalnie pracująca na słabym sprzęcie. W trakcie rejestracji klienta jego dane mają być przekazywane w połączeniu zapewniającym bezpieczeństwo chronionych informacji osobistych. 27

Specyfikacja wymagań SRS Specyfikacją wymagań dla oprogramowaniu lub systemu ang. Software Requirements Specification (SRS) jest oficjalną deklaracją tego, co jest wymagane od wytwórców systemu przez zleceniodawcę. Dokument SRS nie jest dokumentem projektowym, stanowi materiał wejściowy dla analityków i projektantów systemu. Istnieję standardy wykonywania SRS IEEE Recommended Practice for Software Requirements Specyfication, IEEE std 830-1998. Dokument SRS 28

Specyfikacja wymagań a uczestnicy projektu Zleceniodawcy Określają wymagania, weryfikują ich zgodność z potrzebami, określają potrzebę zmian. Zarządzający IT Wymagania pozwalają na zaplanowanie projektu, i zarządzanie jego realizacją Testerzy Wymagania pozwalają opracować plan testów systemu Dokument SRS Analitycy Wymagania pozwalają opracować koncepcję i architekturę systemu Programiści Wymagania weryfikują szczegóły implementacji gdy jest taka potrzeba Projektanci Wymagania pozwalają zaprojektować strukturę systemu 29

Specyfikacja wymagań kryteria jakości dokumentu SRS Poprawność. Jednoznaczność. Kompletność. Spójność. Informacja o wydajności i stabilności. Weryfikowalność. Modyfikowalność. Możliwość śledzenia powiązań. 30

Specyfikacja wymagań przydatne linki Przykładowa, solidnie wykonana specyfikacja wymagań: http://www.cse.chalmers.se/~feldt/courses/reqeng/examples/srs_example_2010_group2.pdf Szablon dokumentu specyfikacji wymagań: http://www.latech.edu/~box/ase/srs_template.doc 31

Dokument SRS struktura ogólna 1 Wprowadzenie 2 Ogólny opis produktu 3 Wymagania funkcjonalne IEEE Recommended Practice for Software Requirements Specification IEEE std 830-1998 4 Wymagania niefunkcjonalne Dodatki Indeks 32

Dokument SRS wprowadzenie 1 Wprowadzenie 1.1 Cel dokumentu 1.2 Zakres produktu IEEE Recommended Practice for Software Requirements Specification IEEE std 830-1998 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 niefunkcjonalne Dodatki Indeks 33

Dokument SRS ogólny opis produktu 1 Wprowadzenie 2 Ogólny opis produktu 2.1 Kontekst funkcjonowania IEEE Recommended Practice for Software Requirements Specification IEEE std 830-1998 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 niefunkcjonalne Dodatki Indeks 34

Dokument SRS wymagania funkcjonalne 1 Wprowadzenie 2 Ogólny opis produktu 3 Wymagania funkcjonalne IEEE Recommended Practice for Software Requirements Specification IEEE std 830-1998 3.1... 3.2...... 3.n.. 4 Wymagania niefunkcjonalne Dodatki Indeks 35

Dokument SRS wymagania niefunkcjonalne 1 Wprowadzenie 2 Ogólny opis produktu 3 Wymagania funkcjonalne IEEE Recommended Practice for Software Requirements Specification IEEE std 830-1998 4 Wymagania niefunkcjonalne 4.1... 4.2...... 4.m.. Dodatki Indeks 36