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