ch5

background image

Definiowanie wymagań

Definiowanie wymagań

funkcjonalnych oraz

funkcjonalnych oraz

niefunkcjonalnych; metody

niefunkcjonalnych; metody

ich pozyskiwania"

ich pozyskiwania"

Autorzy: Maciej

Autorzy: Maciej

Michalczyk(s3768)

Michalczyk(s3768)

Łukasz Hryniewiecki(s3829)

Łukasz Hryniewiecki(s3829)

background image

Spis Wykładu

Spis Wykładu

1) Co to jest wymaganie

1) Co to jest wymaganie

2) Cele

2) Cele

3) Inżynieria wymagań

3) Inżynieria wymagań

4) Typy wymagań

4) Typy wymagań

5) Wymagania funkcjonalne i

5) Wymagania funkcjonalne i

niefunkcjonalne

niefunkcjonalne

6) Rady dla piszących wymagania

6) Rady dla piszących wymagania

background image

Co to jest wymaganie

Co to jest wymaganie

Może być zarówno abstrakcyjnym wysokiego

Może być zarówno abstrakcyjnym wysokiego

poziomu opisem usługi jak również precyzyjnym

poziomu opisem usługi jak również precyzyjnym

matematycznym opisem działania konkretnej

matematycznym opisem działania konkretnej

funkcji

funkcji

Jest to nieuniknione gdyż wymagania mogą służyć

Jest to nieuniknione gdyż wymagania mogą służyć

w różnych celach

w różnych celach

Podstawa do podpisania kontraktu, czyli wymaganie

Podstawa do podpisania kontraktu, czyli wymaganie

otwarte

otwarte

Podstawa do stworzenia oprogramowania, czyli

Podstawa do stworzenia oprogramowania, czyli

precyzyjne wymaganie zamknięte

precyzyjne wymaganie zamknięte

Oba te zdania opisują coś co nazywa się wymaganiami

Oba te zdania opisują coś co nazywa się wymaganiami

background image

Co to jest wymóg?

Co to jest wymóg?

Pojęcie stosowane niekonsekwentnie

Pojęcie stosowane niekonsekwentnie

Zapisane na wysokim poziomie,

Zapisane na wysokim poziomie,

abstrakcyjne określenie usług, które

abstrakcyjne określenie usług, które

system powinien oferować, albo

system powinien oferować, albo

ograniczenie działania systemu.

ograniczenie działania systemu.

Niektórzy określają wymaganie jako

Niektórzy określają wymaganie jako

szczegółową, matematycznie formalną

szczegółową, matematycznie formalną

definicję funkcji systemu.

definicję funkcji systemu.

background image

Istotność etapu analizy

Istotność etapu analizy

wymagań

wymagań

Najistotniejsze problemy procesu rozwoju oprogramowania

Najistotniejsze problemy procesu rozwoju oprogramowania

Źródło:

Źródło:

D. Leffingwell,

D. Leffingwell,

D. Widrig:

D. Widrig:

Managing

Managing

Software

Software

Requirements

Requirements

Addison-

Addison-

Wesley 1999

Wesley 1999

background image

Koszty błędnych wymagań

Koszty błędnych wymagań

Źródło:

Źródło:

D. Leffingwell,

D. Leffingwell,

D. Widrig:

D. Widrig:

Managing

Managing

Software

Software

Requirement

Requirement

s

s

Addison-

Addison-

Wesley 1999

Wesley 1999

Mały błąd na początku wielkim jest na końcu”

Mały błąd na początku wielkim jest na końcu”

(Arystoteles)

(Arystoteles)

background image

Cele

Cele

Rozumienie pojęć wymagań użytkownika i

Rozumienie pojęć wymagań użytkownika i

wymagań systemowych

wymagań systemowych

Rozumienie różnic pomiędzy wymaganiami

Rozumienie różnic pomiędzy wymaganiami

funkcjonalnymi i niefunkcjonalnymi

funkcjonalnymi i niefunkcjonalnymi

Poznanie dwóch metod zapisywania

Poznanie dwóch metod zapisywania

wymagań

wymagań

Wiedza, jak wymagania mogą być

Wiedza, jak wymagania mogą być

organizowane w dokumentacji

organizowane w dokumentacji

background image

Inżynieria wymagań

Inżynieria wymagań

Proces ustalenia jakich usług użytkownik

Proces ustalenia jakich usług użytkownik

oczekuje od systemu i ograniczeń, które

oczekuje od systemu i ograniczeń, które

system musi spełniać zarówno podczas

system musi spełniać zarówno podczas

tworzenia jak i podczas działania

tworzenia jak i podczas działania

Wymagania to opisy usług, które system

Wymagania to opisy usług, które system

ma udostępniać i ograniczeń, które musi

ma udostępniać i ograniczeń, które musi

spełniać

spełniać

background image

Typy wymagań

Typy wymagań

Wymagania użytkownika

Wymagania użytkownika

Wyrażenia w języku naturalnym oraz diagramy o usługach

Wyrażenia w języku naturalnym oraz diagramy o usługach

oczekiwanych od systemu oraz o ograniczeniach. Pisane

oczekiwanych od systemu oraz o ograniczeniach. Pisane

dla klienta

dla klienta

Wymagania systemowe

Wymagania systemowe

Precyzyjna dokumentacja opisująca szczegółowo wszystkie

Precyzyjna dokumentacja opisująca szczegółowo wszystkie

usługi systemu i ograniczenia. Część kontraktu pomiędzy

usługi systemu i ograniczenia. Część kontraktu pomiędzy

klientem a dostawcą

klientem a dostawcą

Specyfikacja projektu oprogramowania

Specyfikacja projektu oprogramowania

Abstrakcyjny opis projektu oprogramowania, który jest

Abstrakcyjny opis projektu oprogramowania, który jest

podstawą bardziej szczegółowego projektu i implementacji.

podstawą bardziej szczegółowego projektu i implementacji.

Pisana dla programistów

Pisana dla programistów

background image

Zawartość

Zawartość

Wymagania funkcjonalne i

Wymagania funkcjonalne i

niefunkcjonalne

niefunkcjonalne

Wymagania użytkownika

Wymagania użytkownika

Wymagania systemowe

Wymagania systemowe

Dokumentacja wymagań stawianych

Dokumentacja wymagań stawianych

oprogramowaniu

oprogramowaniu

background image

Definicje i specyfikacje

Definicje i specyfikacje

Definicja wymagań użytkownika

Specyfikacja wymagań systemowych

1. Oprogramowanie musi zapewnić mechanizmy reprezentowania i

dostępu do plików zewnętrznych tworzonych przez inne
narzędzia

a. Użytkownik powinien mieć możliwość definiowania typów plików

zewnętrznych

b. Każdy typ pliku zewnętrznego może mieć przypisane narzędzie

do obróbki tego typu plików

c. Każdy typ pliku zewnętrznego może być przedstawiony w

postaci charakterystycznej ikony na ekranie użytkownika

d. Należy zapewnić udogodnienia do definiowana przez

użytkownika ikon odpowiadających typom plików zewnętrznych

e. Gdy użytkownik wybierze ikonę powiązaną z plikiem

zewnętrznym, następuje zastosowanie do tego pliku narzędzia
skojarzonego z typem tego pliku

background image

Czytelnicy różnych wymagań

Czytelnicy różnych wymagań

Wymagania

użytkownika

Wymagania

systemowe

Specyfikacja

projektu

oprogramowania

Menedżerowie klienta
Użytkownicy systemu
Inżynierowie klienta
Menedżerowi zleceniodawcy
Architekci systemu

Użytkownicy systemu
Inżynierowie klienta
Architekci systemu
Twórcy oprogramowania

Inżynierowie klienta (być może)
Architekci systemu
Twórcy oprogramowania

background image

Wymagania funkcjonalne i

Wymagania funkcjonalne i

niefunkcjonalne

niefunkcjonalne

Wymagania funkcjonalne

Wymagania funkcjonalne

Stwierdzenia opisujące, jakie usługi ma oferować

Stwierdzenia opisujące, jakie usługi ma oferować

system, jak ma reagować na określone dane wejściowe

system, jak ma reagować na określone dane wejściowe

oraz jak ma reagować w określonych sytuacjach

oraz jak ma reagować w określonych sytuacjach

.

.

Wymagania niefunkcjonalne

Wymagania niefunkcjonalne

Ograniczenia usług i funkcji systemu obejmujące:

Ograniczenia usług i funkcji systemu obejmujące:

ograniczenia czasowe, ograniczenia dotyczące procesu

ograniczenia czasowe, ograniczenia dotyczące procesu

tworzenia, standardy itd.

tworzenia, standardy itd.

Wymagania dziedzinowe

Wymagania dziedzinowe

Wymagania pochodzące z dziedziny zastosowania

Wymagania pochodzące z dziedziny zastosowania

systemu i odzwierciedlające jego charakterystykę

systemu i odzwierciedlające jego charakterystykę

background image

Wymagania funkcjonalne

Wymagania funkcjonalne

Opisują funkcjonalność lub usługi, które system

Opisują funkcjonalność lub usługi, które system

powinien oferować

powinien oferować

Zależą od rodzaju tworzonego

Zależą od rodzaju tworzonego

oprogramowania, spodziewanych

oprogramowania, spodziewanych

użytkowników oprogramowania i rodzaju

użytkowników oprogramowania i rodzaju

wytwarzanego systemu

wytwarzanego systemu

Wymagania użytkownika mają zazwyczaj

Wymagania użytkownika mają zazwyczaj

postać ogólną, ,natomiast systemowe

postać ogólną, ,natomiast systemowe

szczegółowo definiują funkcje systemu, wejścia

szczegółowo definiują funkcje systemu, wejścia

wyjścia wyjątki itd..

wyjścia wyjątki itd..

background image

Przykłady wymagań

Przykłady wymagań

funkcjonalnych

funkcjonalnych

Użytkownik będzie mógł przeszukać zbiór

Użytkownik będzie mógł przeszukać zbiór

wszystkich danych lub wybrany podzbiór.

wszystkich danych lub wybrany podzbiór.

System dostarczy narzędzi do przeglądania

System dostarczy narzędzi do przeglądania

dokumentów ze magazynu dokumentów.

dokumentów ze magazynu dokumentów.

Każde zamówienie będzie oznaczone

Każde zamówienie będzie oznaczone

unikatowym identyfikatorem (ORDER_ID),

unikatowym identyfikatorem (ORDER_ID),

który będzie można skopiować do pamięci

który będzie można skopiować do pamięci

trwałej konta użytkownika.

trwałej konta użytkownika.

background image

Nieprecyzyjność wymagań

Nieprecyzyjność wymagań

Kiedy wymagania nie są precyzyjnie

Kiedy wymagania nie są precyzyjnie

wyrażone powstają problemy

wyrażone powstają problemy

Nieprecyzyjne wymagania są różnie

Nieprecyzyjne wymagania są różnie

interpretowane przez użytkowników i

interpretowane przez użytkowników i

programistów

programistów

Rozważ użycie ‘odpowiedniego rzecznika’

Rozważ użycie ‘odpowiedniego rzecznika’

Intencje użytkownika

Intencje użytkownika

Interpretacja programisty

Interpretacja programisty

background image

Spójność i pełność wymagań

Spójność i pełność wymagań

W założeniach wymagania powinny być spójne

W założeniach wymagania powinny być spójne

i pełne

i pełne

Pełność

Pełność

Powinny opisywać wszystkie wymagane

Powinny opisywać wszystkie wymagane

oczekiwania

oczekiwania

Pełne

Pełne

Nie powinno być sprzeczności pomiędzy

Nie powinno być sprzeczności pomiędzy

opisywanymi oczekiwaniami

opisywanymi oczekiwaniami

W praktyce nie można stworzyć spójnego i

W praktyce nie można stworzyć spójnego i

pełnego opisu wymagań

pełnego opisu wymagań

background image

Wymagania niefunkcjonalne

Wymagania niefunkcjonalne

Opisują właściwości i ograniczenia systemu np.

Opisują właściwości i ograniczenia systemu np.

niezawodność, czas odpowiedzi, ilość miejsca

niezawodność, czas odpowiedzi, ilość miejsca

na dysku.

na dysku.

Wymagania stawiane procesowi mogą

Wymagania stawiane procesowi mogą

specyfikować użycie określonego narzędzia,

specyfikować użycie określonego narzędzia,

języka programowania lub metodologii

języka programowania lub metodologii

projektowej.

projektowej.

Wymagania niefunkcjonalne mogą być

Wymagania niefunkcjonalne mogą być

istotniejsze od funkcjonalnych. Jeśli nie będą

istotniejsze od funkcjonalnych. Jeśli nie będą

spełnione system będzie bezużyteczny.

spełnione system będzie bezużyteczny.

background image

Klasyfikacja wymagań

Klasyfikacja wymagań

niefunkcjonalnych

niefunkcjonalnych

Dotyczące produktu

Dotyczące produktu

Wymagania określające jak ma się zachowywać

Wymagania określające jak ma się zachowywać

produkt. Np. wydajność, niezawodność

produkt. Np. wydajność, niezawodność

Dotyczące organizacji

Dotyczące organizacji

Wynikające ze strategii i procedur w firmach np.

Wynikające ze strategii i procedur w firmach np.

standardy procesu, wymagana dokumentacja, metoda

standardy procesu, wymagana dokumentacja, metoda

projektowania.

projektowania.

Wymagania zewnętrzne

Wymagania zewnętrzne

Wynikające z czynników zewnętrznych dla systemu np.

Wynikające z czynników zewnętrznych dla systemu np.

interakcja z systemami innych firm, wymagania

interakcja z systemami innych firm, wymagania

prawne.

prawne.

background image

Typy wymagań

Typy wymagań

niefunkcjonalnych

niefunkcjonalnych

Wymagania

niefunkcjonalne

Wymagania

produktowe

Wymagania

organizacyjne

Wymagania

zewnętrzne

Wymagania

sprawnościowe

Wymagania

niezawodności

Wymagania

przenośności

Wymagania

współpracy

Wymagania

etyczne

Wymagania

zabezpieczeń

Wymagania

prawne

Wymagania

ochrony

prywatności

Wymagania

implementacyjne

Wymagania

standardów

Wymagania

dostawy

Wymagania

użyteczności

Wymagania

efektywnościowe

Wymagania

pamięciowe

background image

Miary do specyfikowania

Miary do specyfikowania

wymagań niefunkcjonalnych

wymagań niefunkcjonalnych

Właściwość

Miara

Szybkość

Rozmi
ar

Łatwość użycia

Niezawodność

Solidność

Przenośn
ość

Liczba przetworzonych transakcji na sekundę
Czas reakcji na zdarzenie wywołane przez użytkownika
Czas odświeżenia ekranu

Kilobajty
Liczba układów
pamięci

Czas szkolenia
Liczba okien pomocy

Średni czas bez awarii
Prawdopodobieństwo
niedostępności
Częstość błędów
Dostępność

Czas uruchamiania po awarii
Ułamek zdarzeń powodujących awarie
Prawdopodobieństwo zniszczenia danych
po awarii

Procent poleceń zależnych od
platformy
Liczba docelowych systemów

background image

Cele i wymagania

Cele i wymagania

Wymagania niefunkcjonalne mogą być trudne

Wymagania niefunkcjonalne mogą być trudne

do precyzyjnego zapisania a nieprecyzyjne

do precyzyjnego zapisania a nieprecyzyjne

wymagania mogą być trudne do zweryfikowania

wymagania mogą być trudne do zweryfikowania

Cel

Cel

Generalna intencja aby system coś spełniał

Generalna intencja aby system coś spełniał

Weryfikowalne wymaganie niefunkcjonalne

Weryfikowalne wymaganie niefunkcjonalne

Stwierdzenie używające jakiejś miary, która może

Stwierdzenie używające jakiejś miary, która może

być obiektywne zmierzona

być obiektywne zmierzona

Cele mogą być przydatne dla programistów,

Cele mogą być przydatne dla programistów,

gdyż przekazują wskazówki o priorytetach

gdyż przekazują wskazówki o priorytetach

klienta

klienta

background image

Przykłady

Przykłady

Cel

Cel

System powinien być łatwy w użyciu dla

System powinien być łatwy w użyciu dla

doświadczonych kontrolerów, a sposób organizacji

doświadczonych kontrolerów, a sposób organizacji

powinien zmniejszać liczbę błędów użytkownika

powinien zmniejszać liczbę błędów użytkownika

Weryfikowalne

wymaganie

Weryfikowalne

wymaganie

niefunkcjonalne

niefunkcjonalne

Doświadczeni kontrolerzy powinni móc używać

Doświadczeni kontrolerzy powinni móc używać

wszystkich funkcji systemu po szkoleniu trwającym

wszystkich funkcji systemu po szkoleniu trwającym

dwie godziny. Po tym szkoleniu średnia liczba błędów

dwie godziny. Po tym szkoleniu średnia liczba błędów

robionych przez doświadczonych użytkowników nie

robionych przez doświadczonych użytkowników nie

powinna przekroczyć dwóch dziennie.

powinna przekroczyć dwóch dziennie.

background image

Zależności między

Zależności między

wymaganiami

wymaganiami

W dużych systemach często występują konflikty

W dużych systemach często występują konflikty

pomiędzy wymaganiami funkcjonalnymi i

pomiędzy wymaganiami funkcjonalnymi i

niefunkcjonalnymi

niefunkcjonalnymi

System stacji kosmicznej

System stacji kosmicznej

Dla zminimalizowania wagi liczba chipów powinna być

Dla zminimalizowania wagi liczba chipów powinna być

jak najmniejsza

jak najmniejsza

Dla oszczędności energii chipy powinny być

Dla oszczędności energii chipy powinny być

energooszczędne

energooszczędne

Ale energooszczędne chipy będą zajmowały więcej

Ale energooszczędne chipy będą zajmowały więcej

miejsca, gdyż będzie ich potrzeba więcej. Które

miejsca, gdyż będzie ich potrzeba więcej. Które

wymaganie jest ważniejsze?

wymaganie jest ważniejsze?

background image

Wymagania dziedzinowe

Wymagania dziedzinowe

Wynikają bardziej z dziedziny

Wynikają bardziej z dziedziny

zastosowania systemu niż z konkretnych

zastosowania systemu niż z konkretnych

potrzeb użytkowników

potrzeb użytkowników

Mogą być nowymi wymaganiami

Mogą być nowymi wymaganiami

funkcjonalnymi, ograniczać istniejące albo

funkcjonalnymi, ograniczać istniejące albo

ustalać sposób wykonania konkretnych

ustalać sposób wykonania konkretnych

obliczeń

obliczeń

Jeśli będą niespełnione system może być

Jeśli będą niespełnione system może być

bezużyteczny

bezużyteczny

background image

Problemy z wymaganiami

Problemy z wymaganiami

dziedzinowymi

dziedzinowymi

Zrozumienie

Zrozumienie

Wymagania są wyrażone w języku typowym

Wymagania są wyrażone w języku typowym

dla dziedziny

dla dziedziny

To często nie jest zrozumiałe dla

To często nie jest zrozumiałe dla

programistów tworzących system

programistów tworzących system

Milczące założenia

Milczące założenia

Specjaliści w dziedzinie są tak

Specjaliści w dziedzinie są tak

przyzwyczajeni do danego wymagania, że

przyzwyczajeni do danego wymagania, że

często nie wyrażają go w postaci dokumentu

często nie wyrażają go w postaci dokumentu

background image

Wymagania użytkownika

Wymagania użytkownika

Powinny opisywać funkcjonalne i

Powinny opisywać funkcjonalne i

niefunkcjonalne wymagania tak, aby

niefunkcjonalne wymagania tak, aby

były zrozumiałe dla użytkowników

były zrozumiałe dla użytkowników

systemu nie posiadających wiedzy

systemu nie posiadających wiedzy

technicznej

technicznej

Należy je zapisywać w języku

Należy je zapisywać w języku

naturalnym używając formularzy i

naturalnym używając formularzy i

intuicyjnych diagramów

intuicyjnych diagramów

background image

Problemy z językiem

Problemy z językiem

naturalnym

naturalnym

Brak jasności

Brak jasności

Trudno uzyskać precyzję bez czynienia

Trudno uzyskać precyzję bez czynienia

dokumentów nieczytelnymi i gadatliwymi

dokumentów nieczytelnymi i gadatliwymi

Sprzeczność wymagań

Sprzeczność wymagań

Wymagania funkcjonalne i niefunkcjonalne

Wymagania funkcjonalne i niefunkcjonalne

łatwo się mieszają

łatwo się mieszają

Łączenie wymagań

Łączenie wymagań

Kilka wymagań może być wyrażonych

Kilka wymagań może być wyrażonych

wspólnie

wspólnie

background image

Problemy z wymaganiami

Problemy z wymaganiami

Wymagania dla bazy danych zawierają

Wymagania dla bazy danych zawierają

zarówno opisy ogólne jak i szczegółowe

zarówno opisy ogólne jak i szczegółowe

Opisują koncepcję sterowania

Opisują koncepcję sterowania

Zawierają szczegóły o tym, że grupy powinny być

Zawierają szczegóły o tym, że grupy powinny być

dostępne za pomocą niepełnych nazw

dostępne za pomocą niepełnych nazw

Wymagania dla edytora siatki łączą trzy grupy

Wymagania dla edytora siatki łączą trzy grupy

wymagań

wymagań

Pojęciowe wymagania funkcjonalne

Pojęciowe wymagania funkcjonalne

Wymaganie niefunkcjonalne

Wymaganie niefunkcjonalne

Niefunkcjonalne wymaganie stawiane interfejsowi

Niefunkcjonalne wymaganie stawiane interfejsowi

użytkownika

użytkownika

background image

Rady dla piszących

Rady dla piszących

wymagania

wymagania

Opracuj standard i używaj go dla

Opracuj standard i używaj go dla

wszystkich wymagań

wszystkich wymagań

Konsekwentnie używaj języka. Używaj

Konsekwentnie używaj języka. Używaj

„będzie” dla wymagań obowiązkowych a

„będzie” dla wymagań obowiązkowych a

„powinien” dla oczekiwanych.

„powinien” dla oczekiwanych.

Stosuj wyróżnienia do zaznaczania

Stosuj wyróżnienia do zaznaczania

głównych części wymagania

głównych części wymagania

Unikaj żargonu komputerowego

Unikaj żargonu komputerowego

background image

Wymagania systemowe

Wymagania systemowe

Dokładniejsze wyrażenie wymagań

Dokładniejsze wyrażenie wymagań

użytkownika

użytkownika

Służą jako podstawa do zaprojektowania

Służą jako podstawa do zaprojektowania

systemu

systemu

Mogą być użyte jako część kontraktu

Mogą być użyte jako część kontraktu

Można je przedstawiać za pomocą

Można je przedstawiać za pomocą

modeli

modeli

background image

Strukturalny język naturalny

Strukturalny język naturalny

Ograniczona postać języka naturalnego,

Ograniczona postać języka naturalnego,

przeznaczona do zapisywania wymagań

przeznaczona do zapisywania wymagań

systemowych

systemowych

Usuwa niektóre z niejednoznaczności i

Usuwa niektóre z niejednoznaczności i

elastyczności języka naturalnego

elastyczności języka naturalnego

zapewniając w pewnym stopniu

zapewniając w pewnym stopniu

jednolitość specyfikacji

jednolitość specyfikacji

Często wspierany przez szablony

Często wspierany przez szablony

background image

Specyfikacje w PDL

Specyfikacje w PDL

Wymagania są określane przy użyciu języka opisu

Wymagania są określane przy użyciu języka opisu

programów, który zawiera instrukcje zwiększające

programów, który zawiera instrukcje zwiększające

wyrazistość.

wyrazistość.

Do stosowania gdy:

Do stosowania gdy:

Funkcja jest ciągiem akcji, a kolejność wykonania tych

Funkcja jest ciągiem akcji, a kolejność wykonania tych

akcji jest istotna

akcji jest istotna

Trzeba wyspecyfikować interfejsy programowe lub

Trzeba wyspecyfikować interfejsy programowe lub

sprzętowe

sprzętowe

Wady

Wady

W PDL nie da się wyrazić wymagań dziedzinowych

W PDL nie da się wyrazić wymagań dziedzinowych

Specyfikacja jest traktowana jako projekt a nie jako

Specyfikacja jest traktowana jako projekt a nie jako

specyfikacja

specyfikacja

background image

Wady PDL

Wady PDL

PDL

PDL

nie jest wystarczający do wyrażania

nie jest wystarczający do wyrażania

wymagań w sposób zrozumiały

wymagań w sposób zrozumiały

Notacja jest zrozumiała dla ludzi

Notacja jest zrozumiała dla ludzi

znających języki programowania

znających języki programowania

Wymagania są traktowane jako projekt,

Wymagania są traktowane jako projekt,

a nie jako model mający na celu

a nie jako model mający na celu

zrozumienie systemu

zrozumienie systemu

background image

Specyfikacja interfejsów

Specyfikacja interfejsów

Większość systemów musi współpracować z

Większość systemów musi współpracować z

innymi systemami a interfejsy między nimi

innymi systemami a interfejsy między nimi

są częścią specyfikacji

są częścią specyfikacji

Można wyróżnić trzy typy interfejsów

Można wyróżnić trzy typy interfejsów

Proceduralne

Proceduralne

Wymieniane struktury danych

Wymieniane struktury danych

Reprezentacje danych

Reprezentacje danych

Formalne notacje umożliwiają definiowanie

Formalne notacje umożliwiają definiowanie

interfejsów w sposób jednoznaczny

interfejsów w sposób jednoznaczny

background image

Dokumentacja wymagań

Dokumentacja wymagań

Dokumentacja wymagań stawianych

Dokumentacja wymagań stawianych

oprogramowaniu jest oficjalną deklaracją

oprogramowaniu jest oficjalną deklaracją

tego, co jest wymagane od wytwórców

tego, co jest wymagane od wytwórców

systemu

systemu

Powinien zawierać zarówno wymagania

Powinien zawierać zarówno wymagania

użytkownika jak i wymagania systemowe

użytkownika jak i wymagania systemowe

Nie jest częścią projektu. Powinien mówić

Nie jest częścią projektu. Powinien mówić

CO zrobić a nie JAK to zrobić.

CO zrobić a nie JAK to zrobić.

background image

Użytkownicy

Użytkownicy

dokumentacji

dokumentacji

wymagań

wymagań

Klienci

Menedżerowie

Inżynierowie

systemu

Inżynierowie

testów

Inżynierowie

pielęgnacji

Określają wymagania i czytają je, aby sprawdzić, czy odpowiadają
ich potrzebom. Określają także zmiany wymagań

Używają dokumentacji wymagań do planowania oferty budowy
systemu i do planowania procesu jego tworzenia

Używają wymagań, aby zrozumieć, jaki system ma być zbudowany

Używają wymagań, aby opracować testy zatwierdzające system

Używają wymagań jako pomocy w zrozumieniu systemu i związków
między jego częściami

background image

Dokumentacja wymagań

Dokumentacja wymagań

Określa zachowanie systemu jedynie z

Określa zachowanie systemu jedynie z

zewnątrz

zewnątrz

Określa ograniczenia implementacji

Określa ograniczenia implementacji

Łatwo ją modyfikować

Łatwo ją modyfikować

Jest informatorem dla konserwatorów systemu

Jest informatorem dla konserwatorów systemu

Obejmuje przewidywania przyszłego cyklu

Obejmuje przewidywania przyszłego cyklu

życia systemu

życia systemu

Charakteryzuje reakcje na niepożądane

Charakteryzuje reakcje na niepożądane

zdarzenia

zdarzenia

background image

Struktura dokumentacji

Struktura dokumentacji

wymagań

wymagań

Przedmowa

Przedmowa

Wstęp

Wstęp

Słownik

Słownik

D

D

efinicja wymagań użytkownika

efinicja wymagań użytkownika

Architektura systemu

Architektura systemu

Specyfikacja wymagań systemowych

Specyfikacja wymagań systemowych

Modele systemu

Modele systemu

Ewolucja systemu

Ewolucja systemu

Dodatki

Dodatki

Skorowidz

Skorowidz

background image

Standard wymagań

Standard wymagań

IEE

IEE

E

E

Wstęp

Wstęp

Ogólny opis

Ogólny opis

Szczegółowe wymagania

Szczegółowe wymagania

Dodatki

Dodatki

Skorowidz

Skorowidz

To jest ogólna struktura, która musi być

To jest ogólna struktura, która musi być

dopasowana do konkretnych systemów

dopasowana do konkretnych systemów

background image

Podsumowanie

Podsumowanie

W wymaganiach stawianych systemowi

W wymaganiach stawianych systemowi

określa się, co powinien system robić oraz

określa się, co powinien system robić oraz

definiuje ograniczenia

definiuje ograniczenia

Wymagania funkcjonalne opisują usługi,

Wymagania funkcjonalne opisują usługi,

których system ma dostarczać

których system ma dostarczać

Wymagania niefunkcjonalne opisują

Wymagania niefunkcjonalne opisują

ograniczenia w jakich system ma działać

ograniczenia w jakich system ma działać

Wymagania użytkownika są stwierdzeniami

Wymagania użytkownika są stwierdzeniami

wysokiego poziomu i opisują oczekiwania

wysokiego poziomu i opisują oczekiwania

użytkowników

użytkowników

background image

Podsumowanie cd.

Podsumowanie cd.

Wymagania użytkownika zapisuje się w języku

Wymagania użytkownika zapisuje się w języku

naturalnym z pomocą tabel i diagramów

naturalnym z pomocą tabel i diagramów

Wymagania systemowe opisują wszystkie

Wymagania systemowe opisują wszystkie

funkcje jakich system musi dostarczać

funkcje jakich system musi dostarczać

Wymagania systemowe można zapisywać za

Wymagania systemowe można zapisywać za

pomocą strukturalnego języka naturalnego, PDL

pomocą strukturalnego języka naturalnego, PDL

lub innych języków stworzonych w tym celu

lub innych języków stworzonych w tym celu

Dokumentacja wymagań stawianych

Dokumentacja wymagań stawianych

oprogramowaniu jest uzgodnionym zapisem

oprogramowaniu jest uzgodnionym zapisem

wymagań systemowych

wymagań systemowych

background image

Bibliografia:

Bibliografia:

1 Internet (Google)

1 Internet (Google)

2 D. Leffingwell,D. Widrig:

2 D. Leffingwell,D. Widrig:

Managing Software

Managing Software

3 Inżynieria oprogramowania. Autor: Andrzej

3 Inżynieria oprogramowania. Autor: Andrzej

Jaszkiewicz

Jaszkiewicz

4 Wikipedia

4 Wikipedia

background image

Dziękujemy za uwagę !!!

Dziękujemy za uwagę !!!

Maciej Michalczyk s3768

Maciej Michalczyk s3768

Łukasz Hryniewiecki s3829

Łukasz Hryniewiecki s3829


Document Outline


Wyszukiwarka

Podobne podstrony:
Ch5 pg155 220
Ch5 Q1
Ch5 Layers & Layer Groups
cisco2 ch5 concept SHZWZYJFASP4NH42Z32ORE227DP7NOQMEKX3KEA
Ch5 Q3
Ch5 E3
Ch5 E8
4 ch5
Ch5
CH5 (2)
Ch5 E5
ch5 pl
Ch5 4 EnvironmentalSustainabilityOfForestEnergyProduction
Ch5 E7
ch5 pl p3
ch5
cisco2 ch5 focus HM6IBS7SIWLTS7OQGINJHJ365QI5N3JGW4XK5WA
Ch5 5 EnvironmentalSustainabilityOfForestEnergyProduction
CH5

więcej podobnych podstron