Materiały informacyjne dotyczące ograniczenia narażenia na ...
Wymagania Wykład 3 - modfem.agh.edu.pl · Ograniczenia usług i funkcji systemu....
-
Upload
truonglien -
Category
Documents
-
view
222 -
download
0
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.