Wymagania Wykład 3 - modfem.agh.edu.pl · Ograniczenia usług i funkcji systemu....

27
Wymagania Przypomnienie: proces produkcji: czynno´ sci i modele Wymagania stawiane oprogramowaniu In˙ zynieria wymaga ´ n Modele systemu Prototypowanie oprogramowania 3.1 Wyklad 3 Wymagania MIS-1-505-n In˙ zynieria oprogramowania Pa ´ zdziernik 2014 Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Transcript of Wymagania Wykład 3 - modfem.agh.edu.pl · Ograniczenia usług i funkcji systemu....

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.1

Wykład 3WymaganiaMIS-1-505-n Inzynieria oprogramowaniaPazdziernik 2014

Kazimierz MichalikAkademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.2

Agenda

1 Przypomnienie: proces produkcji: czynnosci i modele

2 Wymagania stawiane oprogramowaniu

3 Inzynieria wymagan

4 Modele systemu

5 Prototypowanie oprogramowania

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.3

Czynnosci w czasie produkcji oprogramowania.

Inzynieria oprogramowania stara sie zidentyfikowac i opisacpodstawowe fazy tworzenia i funkcjonowania oprogramowania,a takze wskazac model optymalnego przebiegu tych faz.

Co mozna robic w czasie tworzenia oprogramowania?

Planowanie (w tym opracowanie wymagan).Implementacja.Testowanie.Dokumentowanie.Wdrozenie.Utrzymanie (konserwacja).

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.4

Ogólny schemat.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.5

Wymagania funkcjonalne i niefunkcjonalne.

Wymagania funkcjonalne

Sa stwierdzeniami, jakie usługi ma oferowac system, jak mareagowac na okreslone dane wejsciowe oraz jak ma siezachowywac w okreslonych sytuacjach. Opisujafunkcjonalnosc lub usługi, które system powinien oferowac.

Wymagania niefunkcjonalne

Ograniczenia usług i funkcji systemu. Obejmuja ograniczeniaczasowe, ograniczenia procesu tworzenia, standardy itd. Mogabyc zwiazane z własciwosciami systemu (niezawodnosc, czasreakcji, zajetosc pamieci itd.), definiowac ograniczenia systemuitp. Nie dotycza bezposrednio funkcji systemu.

Wymagania dziedzinowe.

Pochodza z dziedziny zastosowania systemu i odzwierciedlajajej charakterystyke. Moga moga byc funkcjonalne lubniefunkcjonalne.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.6

Wymagania uzytkownika.

Wymagania uzytkownika

Wyrazanie w jezyku naturalnym oraz diagramy o usługachoczekiwanych od systemu oraz o ograniczeniach, w którychsystem ma działac.

dosc wysoki poziom abstrakcjinie powinny z góry definiowac rozwiazanpowinno dac sie spełnic takie wymagania korzystajac zróznych podejscwymagaja uscislenia

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.7

Wymagania systemowe.

Wymagania systemowe

Szczegółowo ustalaja usługi systemu i ograniczenia.Dokumentacja wymagan systemowych (specyfikacjafunkcjonalna) powinna byc precyzyjna. Moze słuzyc jakokontrakt miedzy nabywca systemu a wytwórca.

Specyfikacja projektu oprogramowania.

Abstrakcyjny opis projektu oprogramowania, który jestpodstawa bardziej szczegółowego projektu i implementacji.Poszerza specyfikacje wymagan systemowych.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.8

Dokumentacja wymagan (IEEE/ANSI 830-1993)

1 Wstep.2 Ogólny opis.

1 Wizja produktu.2 Funkcje produktu.3 Charakterystyka uzytkowników.4 Ogólne ograniczenia.5 Załozenia i zaleznosci.

3 Szczegółowe wymagania.

Wymagania funkcjonalne, niefunkcjonalne, interfejsy etc.

Najbardziej istotna czesci dokumentu. Definicja jak powinnawygladac ta czesc nie jest zalecana, poniewaz mocno zalezydo praktyki w firmie i dziedziny zagadnien.

4 Dodatki.5 Skorowidz.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.9

Inzynieria wymagan.

Inzynieria wymagan.

Proces, który obejmuje wszystkie czynnosci niezbedne doopracowania i aktualizacji dokumentacji wymagansystemowych.

4 główne czynnosci:1 Studium wykonalnosci.2 Okreslenie i analizowanie wymagan.3 Specyfikowania i dokumentowanie wymagan.4 Zatwierdzanie wymagan.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.10

Studium wykonalnosci.

Studium wykonalnosci.

Krótki, skumulowane opracowanie, w którym staramy sieodpowiedziec na pytania:

1 Czy system przyczyni sie do realizacji ogólnych celów(przedsiebiorstwa)?

2 Czy system moze byc zaimplementowany z uzyciemdostepnych technologii, w ramach ustalonego budzetu iograniczen czasowych?

3 Czy system moze byc zintegrowany z istniejacymisystemami, które juz zainstalowano?

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.11

Okreslenie i analiza wymagan.

Rozpoznanie dziedziny Analitycy musza zrozumiec dziedzinezastosowania.

Zbieranie wymagan Proces interakcji z uczestnikami systemu,którego celem jest ujawnienie wymagan.

Klasyfikacja Podział na grupy.Usuwanie sprzecznosci Wymagania podane przez rózne

grupy nieuchronnie bedzie zawieracsprzecznosci.

Nadawanie priorytetów Interakcja z uczestnikami w celuwskazania najwazniejszych wymagan w grupie.

Sprawdzanie wymagan Czy wymagania sa spójne i zgodne ztym czego uczestnicy chca od systemu.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.12

Zatwierdzanie wymagan.

Czy wymagania naprawde definiuja system, którego chceuzytkownik?

1 Sprawdzenie waznosci.2 Sprawdzenie niesprzecznosci.3 Sprawdzenie kompletnosci.4 Sprawdzenie realnosci.5 Mozliwosc weryfikacji.

Metody sprawdzania wymagan:Przeglad wymagan.Prototypowanie.Generowanie testów.Zautomatyzowane sprawdzanie niesprzecznosci.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.13

Zarzadzanie wymaganiami.

Zmiany gospodarcze, organizacyjne i technologicznenieuchronnie prowadza do zmian wymagan stawianychoprogramowaniu.Zarzadzanie wymaganiami to proces kierowania ipanowania nad tymi zmianami.Proces zarzadzania wymaganiami obejmuje:

1 planowanie, w trakcie którego specyfikuje sie proceszarzadzania i zarzadzanie zmianami

1 Analiza problemu u specyfikacja zmiany.2 Analiza zmiany i ocena kosztów.3 Implementacja zmiany.

2 zarzadzanie zmianami, które polega na analizowaniu zmiani szacowaniu ich wpływu

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.14

Co to sa modele?

Model systemu

Graficzna reprezentacja na której przedstawia sie, problem dorozwiazania i system do zbudowania.

bardziej zrozumiałe niz szczegółowy opis wymaganetap posredni miedzy analiza a projektowaniemsłuza wypracowaniu lepszego zrozumienia systemumoga słuzyc do zobrazowania systemu z róznych punktówwidzenia:

1 Zewnetrznego (modeluje sie kontekst lub srodowiskosystemu).

2 Zachowania (modeluje sie zachowanie systemu).3 Strukturalnego (architektura systemu lub struktura danych).

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.15

Modele kontekstowe.

nalezy ustalic granice systemurozróznic co jest systemem a co jego srodowiskiemnalezy opracowac prosty model architektonicznyopisuje sie srodowisko systemu, nie współpracesystem-otoczenie

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.16

Modele kontekstowe.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.17

Modele zachowania.

Model przepływu danych.

pokazuja jak dane przepływaja w sekwencji krokówprzetwarzaniajak dane podlegaja przekształceniuw modelu analitycznym "kroki"to przetwarzanie przez ludzii komputeryw dokumentacji projektowej"kroki"to funkcje/metodyprogramu

Model maszyn stanowych.

słuza do opisywania zachowania systemujak reaguje na zewnetrzne i wewnetrzne bodzcezawiera stany(1) i zdarzenia (2), które powoduja przejsciaz jednego stanu do drugiegonie obejmuje przepływu danych w ramach systemu

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.18

Diagram przepływu danych.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.19

Diagram stanów.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.20

Modele obiektowe.

moga przedstawiac sam system (diagramy struktur) jak ijego działanie(diagramy zachowan)posługuja sie pojeciem klasy i obiektu.

Klasa obiektu.

Abstrakcja zbioru obiektów, która identyfikuje ich wspólneatrybuty (w znaczeniu modelu danych) oraz usługi i operacjeoferowane przez te obiekty.

Obiekt

Wykonywalna encja, posiadajaca atrybuty i operacje klasy.Egzemplarz klasy obiektów. Wiele obiektów moze powstac ztej samej klasy.

na ogół modele analityczne sa poswiecone klasomobiektów i ich zwiazkom

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.21

Modele obiektowe. Diagram hierarchii klas.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.22

Modele obiektowe. Diagram agregacji klas.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.23

Modele obiektowe. Diagram sekwencji.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.24

CASE.

Narzedzia CASE.

Narzedzia Computer Aided Software Engineering to zbiórnarzedzi, które wspomagaja konkretny etap procesu tworzeniaoprogramowania. Czesto łaczone w jeden zestaw narzedzi(warsztat). Zestaw narzedzi CASE do analizy i projektowania,zawiera:

Edytory diagramów.Narzedzia do analizy i sprawdzania projektu.Jezyki zapytan do repozytorium.Słownik danych.Narzedzia do definiowania i generowania raportów.Narzedzia do definiowania formularzy.Udogodnienia do importu i eksportu.Generatory kodu.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.25

Prototypowanie w procesie tworzenie oprogramowania.

Prototypowanie ewolucyjne.

Celem jest dostarczenie uzytkownikowi działajacego systemu.Zaczyna sie od tych wymagan, które sa najlepiej rozpoznane imaja najwyzszy priorytet. Wymagania mniej jasne lub omniejszym priorytecie sa implementowane tylko gdy zazadajatego uzytkownicy.

Prototypowanie z porzuceniem.

Celem jest zatwierdzenie lub dostarczenie wymagansystemowych. Zaczyna sie od tych wymagan, które nie sadobrze rozpoznane, aby dowiedziec sie wiecej. Wymaganiaoczywiste nie musza podlegac prototypowaniu.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.26

Metody błyskawicznego prototypowania.

Metody błyskawicznego prototypowania.

Metody tworzenia, których przeznaczeniem jest skrócenieczasu dostarczania, a nie poprawa własciwosci systemu(efektywnosci, niezawodnosci itd...)

Istnieja trzy główne metody błyskawicznego prototypowania:1 Tworzenie za pomoca dynamicznych jezyków wysokiego

poziomu.2 Programowanie baz danych.3 Scalanie komponentów i programów uzytkowych.

Wymagania

Przypomnienie: procesprodukcji: czynnosci imodele

Wymagania stawianeoprogramowaniu

Inzynieria wymagan

Modele systemu

Prototypowanieoprogramowania

3.27

Prototypowanie interfejsu uzytkownika.