io w9 analiza wymagań

background image

1

Inżynieria oprogramowania

wykład 9

Zasady analizowania wymagań

background image

2/23

Analiza wymagań - wstęp

stanowi pomost między inżynierią systemów
(analiza, modelowanie, zarządzanie wymaganiami
stawianymi systemowi) a projektowaniem
oprogramowania

podmioty biorące udział w analizie wymagań:

klienci → powinni precyzyjnie określać swoje
oczekiwania wobec programu

twórcy (analitycy)→ przyjmują uwagi klienta, analizują
je, rozwiązują problemy, negocjują

background image

3/23

Wyniki analizy wymagań

określenie roli oprogramowania (bycie produktem -
przetwarzanie danych lub dostarczanie produktu
kontrola, sterowanie, tworzenie)

określenie funkcjonalności programu

określenie danych przetwarzanych przez program

określenie wyników działania programu

wspomaganie jakości produktu

budowa modeli: danych, architektury, interfejsów

background image

4/23

Czynności analizy wymagań

rozpoznanie problemu → poznanie aspektu problemu z

punktu widzenia klienta – użytkownika, poprzedza je

zapoznanie się ze specyfikacją systemu i planem

przedsięwzięcia,

ocenianie problemu, szukanie rozwiązania

określenie kontekstu problemu, ustalenie rodzaju

przepływu danych, funkcji systemu, zachowania w

konkretnym przypadku, sposobu komunikowania się, co

może wspomóc uzyskanie rozwiązania

modelowanie → podstawa projektowania

oprogramowania i specyfikowania, tworzenie modelu

systemu ułatwiającego analizę sterowania, przepływu i

przetwarzania danych, zachowania programu

specyfikowanie, zastępowane czasem prototypowaniem

przegląd

background image

5/23

Ustalanie wymagań dla
oprogramowania – wiedza ogólna

dla kogo przeznaczone ma być nowe
rozwiązanie

kto będzie go używał

korzyści wynikające z wprowadzenia nowego
rozwiązania

czy problem zgłaszany przez klienta można
rozwiązać inaczej

background image

6/23

Ustalanie wymagań dla oprogramowania
– lepsze poznanie istoty problemu

określenie pojęcia: dobry wynik działania programu

w jakich sytuacjach / problemach może mieć
zastosowanie nowego rozwiązania

środowisko działania nowego produktu

czy znane są wymagania związane z efektywnością
produktu (efektywność – skuteczność, sprawność,
wydajność: efektywność czasowa, zużycie zasobów, itp..)

czy znane są ograniczenia w sposobie funkcjonowania
produktu (dane wejściowe i wyjściowe, środowisko pracy
oraz sprzęt, specyficzne wymagania użytkowników)

background image

7/23

Ustalanie wymagań dla oprogramowania
– efekty spotkania z klientem

czy klient jest osobą kompetentną do udzielania
informacji na poruszane tematy, a odpowiedzi
są wiążące

czy są inne osoby potrafiące udzielić
dodatkowych informacji

czy są inne pytania które powinny zostać
dodatkowo postawione

background image

8/23

Techniki ułatwiające
specyfikowanie aplikacji - FAST

FAST – facilitated application specification
techniques

techniki FAST nastawione są na ścisłą
współpracę twórców i klientów (a często bywa
odwrotnie, obie strony traktują się jak
przeciwnicy)

zespoły złożone z twórców i klientów zajmują
się identyfikacją problemów i wspólnie szukają
rozwiązań, tworzą specyfikację wymagań

background image

9/23

Główne cechy spotkań wg FAST

spotkania na neutralnym gruncie

ustalone wcześniej reguły spotkań

swobodny styl wymiany poglądów

dyskusja na wszystkie istotne tematy

cel spotkania: identyfikowanie problemów,
szukanie rozwiązań, negocjacja dalszych
możliwości, specyfikacja wymagań

background image

10/23

Jakość rozwijania funkcji QFD

QFD – quality function deployment

jest to technika z kategorii zarządzania jakością,
wspomagająca tłumaczenie potrzeb klienta na
techniczne wymagania dla oprogramowania

celem jest jak najlepsze zrozumienie wymagań
klienta

technika ta została opracowana w Japonii,
pierwsze zastosowanie: Mitsubishi Heavy
Industries (lata 70. XX. wieku)

background image

11/23

Wymagania w technice QFD*

wymagania normalne → wyrażone przez klienta
podczas spotkań z analitykami, spełnienie ich oznacza
satysfakcję klienta (funkcje produktu, interfejsy,
efektywność)

wymagania oczekiwane → takie o których klient nie
wspomniał, gdyż uważał je za oczywiste (łatwość obsługi i
instalacji, poprawność działania), niespełnienie ich oznacza
niezadowolenie klienta

wymagania ekscytujące → ponad oczekiwania klienta,
spełnienie ich oznacza duże zadowolenie klienta, np.
dodatkowe możliwości konfiguracyjne (dostosowywanie
interfejsu, itp.)

* R. Zultner: „Quality Function Deployment for Software: Satysfying customers”,
American Programmer, 1992

background image

12/23

Przypadki użycia

zbiór scenariuszy, zbiór ciągów zdarzeń wykonywanych

przez system, opisy sposobów użycia systemu

sporządzane w celu ułatwienia zdefiniowania wymagań

stawianych oprogramowaniu

pierwszymi krokami są identyfikacja osób i sprzętu

korzystającego z systemu

stanowią opis działania osoby w interakcji z systemem

może zawierać ograniczenia czasowe lub inne ograniczenia

przypadki użycia mogą być różnie oceniane przez

użytkowników, można obliczyć średni priorytet każdego

przypadku użycia stosując go w modelu przyrostowym

proc. wytw. do określania funkcji systemu

przygotowywanych w 1. kolejności

realizacja: np. diagram przypadków użycia (UML)

background image

13/23

Zasady analizowania
oprogramowania

identyfikacja dziedziny problemu

określenie funkcjonalności oprogramowania

określenie zachowania programu w zależności
od czynników zewnętrznych

określenie struktury warstwowej/hierarchicznej
systemu zawierające modele informacji, funkcji
i zachowań systemu

kierunek analizy: od cech najistotniejszych do
szczegółów

background image

14/23

Reguły analizowania wymagań *

zrozumienie problemu (zapobieganie sytuacji: świetny
program ale rozwiązuje nie to co potrzeba”)

zastosowanie prototypów - ułatwia ocenę przez
użytkownika

zapamiętanie źródła i uzasadnienia każdego wymagania

ocena wymagań z różnych punktów widzenia,
zapobiega powstaniu sprzeczności i przeoczeń

uporządkowanie wymagań wg ważności

eliminacja niejasności, realizowana poprzez
wykonywanie formalnych przeglądów technicznych

* A. Davis: „201 principles of software development”, McGraw-Hill 1995

background image

15/23

Dziedzina informacyjna

jest podstawową czynnością analizy wymagań

obejmuje:

model danych - obiekty danych oraz zdarzenia związane z ich
przetwarzaniem, należy zidentyfikować istniejące między nimi
zależności

przepływ informacji – określenie zmian dotyczących danych i
zdarzeń przemieszczającymi się między różnymi częściami
systemu

strukturę informacji – organizacja elementów danych i
zdarzeń (np. struktura drzewiasta, tablica itp.), związki między
elementami struktury, zapis informacji w strukturach

background image

16/23

Modelowanie

tworzenie modeli ułatwia zrozumienie funkcjonowanie
projektowanego obiektu

model oprogramowania musi przedstawiać przetwarzane
informacje, funkcjonalności związane z przetwarzaniem
danych i zachowanie systemu podczas przetwarzania
danych

modelowanie obejmuje

model funkcji → pobieranie, przetwarzanie i udostępnianie
danych, tworzone od prostych modeli kontekstowych do bardziej
szczegółowych

model zachowań → opis reakcji na zdarzenia, opis możliwych
stanów i zdarzeń mogących prowadzić do zmian stanów

background image

17/23

Dzielenie

zalecane do lepszej obsługi dużych
skomplikowanych problemów

pierwszym krokiem jest utworzenie
hierarchicznej prezentacji funkcji lub dziedziny
informacyjnej

w kolejnych krokach wykonywany jest podział
najwyższego elementu:

przemieszczając się w dół hierarchii (zwiększanie
szczegółowości), lub

przemieszczając się w bok (pozostając na jednym
poziomie) i dekomponując problem

background image

18/23

Prototypowanie

wykonanie prototypu może pomóc w określeniu wymagań

prototyp można rozwijać i zmieniać

udoskonalony prototyp może stać się finalną wersją
oprogramowania

prototyp podlega ocenie przez klienta ale także przez
twórców programu

typy prototypów

zamknięte → jednokrotnego użycia, wykorzystywany do
ogólnego przedstawienia wymagań, potem niepotrzebny, nowa
wersja tworzona innymi środkami

otwarte → wielokrotnego użycia, stosowany również na etapach
projektowania i implementacji, wstępna wersja produktu finalnego

background image

19/23

Wybór prototypu (1)

prototyp zaleca się do złożonych aplikacji,
używających niebanalnych algorytmów i
zaawansowanych metod przetwarzania danych,
cechujących się intensywną komunikacją z
użytkownikiem

jeżeli przygotowanie prototypu wymaga
napisania dużej ilości kodu, to prototypowanie
nie jest zalecane

czasem wykonywany jest najpierw podział na
mniejsze moduły i wykonywane są ich
prototypy

background image

20/23

Wybór prototypu (2) *

* S. Andriole: „Rapid application prototyping”, QED 1992

nie

nie

tak

tak
tak
tak

tak

tak

tak/nie

tak
nie
nie

tak

tak

tak/nie

nie

tak
tak

Czy ustalono rodzaj i zastosowanie
systemu?
Czy problem można modelować?
Czy klient jest pewny podstawowych
wymagań stawianych systemowi?
Czy wymagania są znane i stabilne?
Czy wymagania są niejasne?
Czy w wymaganiach występują
sprzeczności?

Konieczna

dodatkowa

analiza

Prototyp

wielokrotnego

użycia

Prototyp

jednokrotnego

użycia

Pytanie

background image

21/23

Specyfikowanie wymagań –
zasady *

oddzielenie spojrzenia abstrakcyjnego na funkcje

systemu od szczegółów implementacji

określenie modelu oczekiwanego zachowania systemu

(dane i reakcje na zdarzenia)

kontekst działania programu, sposób komunikacji z

innymi elementami systemu

środowisko aplikacji

przygotowanie modelu opisującego działanie widziane

oczami użytkownika

specyfikacja odporna na przeoczenia i łatwa do

uzupełniania

możliwość łatwej zmiany specyfikacji

* R. Balzer, N. Goodman: „Principles of good specification and their implications for
specification languages”, Addison-Wesley 1986

background image

22/23

Przegląd specyfikacji

specyfikacja jest podstawą późniejszych prac, dlatego
musi być wykonana z należytą starannością

klienci i twórcy powinni dokonać przeglądu specyfikacji

należy sprawdzić kompletność i spójność specyfikacji,
dokładność opisu funkcji i zachowań, dziedziny
informacyjnej

po wykonaniu przeglądu następuje akceptacja
specyfikacji

możliwe są dalsze zmiany w specyfikacji, jednak mogą
one prowadzić do zmiany kosztów i harmonogramu
realizacji przedsięwzięcia

background image

25

Dziękuję za uwagę

źródło: „Praktyczne podejście do inżynierii oprogramowania”, R.S. Pressman


Wyszukiwarka

Podobne podstrony:
io w5 analiza i zarz ryzykiem
Analiza wymagan normy ISO 9001 Nieznany (2)
Opis i analiza wymagań określonych w, Kopia Teresa
Etapy analizy wymagan
Opis i analiza wymagania kwalifikacyjnego Nowatorskie metody, rozwój zawod
W9 Analizy w ukłaszie dynamicznym
zymonik,METODY BADANIA Systemów Informacyjnych Zarządzania,Analiza wymagań informacyjnych
22 Analizowanie wymagań profilaktyki przeciwpożarowej
21 Analizowanie wymagań przeciwpożarowych w budownictwie
wymagania, Prywatne, WAT, SEMESTR IV, IO, io, dokumentacja
wymagania teoretyczne, Technologia chemiczna, Analiza instrumentalna
Wymagania pierwszego projektu, Informatyka SGGW, Semestr 4, Metody analizy danych
Analiza i synteza kombinacyjnych układów logicznych, PWr W9 Energetyka stopień inż, III Semestr, Pod
Opis i analiza realizacji wymagań określonych w, MATERIAŁY DLA NAUCZYCIELI
wymagania, studia, bio, 3rok, 5sem, technologia i analiza żywności, laborki
Io 3 Specyfikacja wymagań

więcej podobnych podstron