34
MODELOWANIE HIERARCHII I ZALEŻNOŚCI FUNKCJI e-mail : [email protected] Konsultacje : wtorek i środa w dziekanacie w godzinach przyjęć dr inż. Jacek Florek Instytut Informatyki Katedra Modelowania i Projektowania Systemów Informatycznych

MODELOWANIE HIERARCHII I ZALEŻNOŚCI FUNKCJI

  • Upload
    onslow

  • View
    212

  • Download
    1

Embed Size (px)

DESCRIPTION

MODELOWANIE HIERARCHII I ZALEŻNOŚCI FUNKCJI. dr inż. Jacek Florek Instytut Informatyki Katedra Modelowania i Projektowania Systemów Informatycznych. e-mail : [email protected] Konsultacje : wtorek i środa w dziekanacie w godzinach przyjęć. Zagadnienia. - PowerPoint PPT Presentation

Citation preview

Page 1: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

MODELOWANIE HIERARCHII

I ZALEŻNOŚCI FUNKCJI

e-mail: [email protected]

Konsultacje: wtorek i środa w dziekanacie w godzinach przyjęć

dr inż. Jacek Florek Instytut Informatyki

Katedra Modelowania i Projektowania Systemów Informatycznych

Page 2: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Zagadnienia

cele modelowania, funkcje elementarne

diagram hierarchii funkcji – tworzenie i przykłady

zależności informacyjne, prawne i polityczne

diagram zależności funkcji – tworzenie i przykłady

logika i formularze opisu wymagań dla funkcji

Page 3: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Cele modelowania

Cele modelowania funkcji:

opracowanie szczegółowego modelu potrzeb informacyjnych użytkownika.

opracowanie takiego modelu, który byłby niezależny od metod realizacji SI (od oprogramowania, syst. oper. itp.).

Strategia informatyzacji

organizacji

Specyfikacja wymagań

użytkownika

Definiowanie funkcji

systemu

Definiowanie modelu danych

Definiowanie modelu

procesów

Weryfikacja modeli

procesów i danych

Cele informatyzacji

Nowe wymagania

Nowe wymagania

Model danychModel

danych

Mo

de

l d

an

yc

h

Mo

de

l p

roc

es

ów

Model procesówModel

procesów

Modyfikacja

Modyfikacja

Wymagania użytkownika

Model funkcji

systemu

Model funkcji

systemu

Mo

de

l lo

gic

zny

i

fizy

czn

y s

ys

tem

u

STRATEGIA SPECYFIKACJA WYMAGAŃ MODELOWANIE

Page 4: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Cele modelowania

W odniesieniu do organizacji (przedsiębiorstwa) modelowanie funkcji służy opisaniu „czym zajmuje się przedsiębiorstwo”.W odniesieniu do systemu modelowanie funkcji służy opisaniu „co (jakie funkcje) realizuje system”.

Tworzenie modelu funkcji ma na celu opis potrzeb funkcjonalnych przedsiębiorstwa jako podstawa modernizacji istniejących w przedsiębiorstwie systemów lub tworzenia nowych.

Dzięki temu użytkownicy, analitycy i inżynierowie systemowi mogą uzgodnić wymagania.

jakie działania wykonuje przedsiębiorstwo (funkcje), co powoduje rozpoczęcie tych działań (zdarzenie), na jakie znaczące rzeczy (encje) lub własności tych rzeczy (atrybuty)

funkcje mają wpływ.

Metody modelowania funkcji :

Modelowanie funkcji obejmuje określenie:

hierarchia funkcji, zależność funkcji, logika funkcji, czas rzeczywisty.

Kiedy stosujemy określoną metodę modelowania funkcji?

Page 5: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

co robi? co powinno robić? Wymagania dla

przedsiębiorstwa

jak wymagania przedsiębiorstwa

mogą być wspierane?

jak zrealizować system?

Metody modelowania

Modelprzedsię-biorstwa

Model systemu

Model programu/procedury

Hierarchia funkcji

Zależność funkcji

Czas rzeczywisty

Logika funkcji

Działa jako zakres dla wszystkich funkcji

Funkcje współzależne

Sterowanie zdarzeniami

Szczegóły dla każdej z powyższych metod

podstawowa podstawowa podstawowa

podstawowa

podstawowa

podstawowapodstawowa

podstawowa

opcjonalna

-

opcjonalna

opcjonalna

Kiedy stosujemy określoną metodę modelowania funkcji?

Dalej będziemy omawiać kolejne metody (koncentrując się na hierarchii funkcji, zależności funkcji, logice funkcji – czas rzeczywisty omówimy w dalszej kolejności.

Cele modelowania

Page 6: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram hierarchii funkcji

Hierarchia funkcji służy do zdefiniowania wszystkich funkcji opisujących system informatyczny lub przedsiębiorstwo.

Przypomnijmy cele modelowania funkcji:

opracowanie szczegółowego modelu potrzeb informacyjnych użytkownika.

opracowanie takiego modelu, który byłby niezależny od metod realizacji SI (od oprogramowania, syst. oper. itp.).

Cele te realizuje Diagram Hierarchii Funkcji (FHD - Function Hierarchy Diagram). Polega na opisie każdej funkcji za pomocą prostego wyrażenia, przy czym tworzone jest drzewo (jak drzewo genealogiczne), w którym funkcja-rodzic jest opisywana szczegółowo przez funkcje-dzieci.

Page 7: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram hierarchii funkcjiZasady tworzenia FHD

Każda funkcja na diagramie określa, co system ma robić, a nie jak (opis deklaratywny).

Funkcje tworzą hierarchię - pierwsza funkcja ogólna opisuje cały system, dzieli się ją następnie na funkcje bardziej szczegółowe, itd.; dekompozycja aż do funkcji elementarnych.

Każda funkcja nadrzędna ma całkowicie opisywać funkcje szczegółowe i vice versa: wszystkie szczegółowe muszą opisywać funkcję nadrzędną.

Tworzenie hierarchii: od ogółu do szczegółu - z góry na dół (top-down)

Powinna być przeprowadzona weryfikacja diagramu: od dołu (bottom-up)

Każda funkcja powinna być opisana w języku naturalnym na tzw. formularzu opisu wymagań (nazwa funkcji, opis, źródło danych we/we, wynik działania funkcji, co wcześniej i co potem, uwagi,...) – zobaczymy to przy logice funkcji

UWAGA: W FHD nie ma pokazanych zależności!

Page 8: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram hierarchii funkcji

Zasady graficznej notacji FHD funkcja - prostokąt (o ostrych lub zaokrąglonych rogach),

proces - prostokąt o ściętych rogach, każda funkcja jest identyfikowana nazwą (a nie skrótem); nazwa

to czasownik lub rzeczownik (odczasownikowy) każda funkcja może mieć swoją etykietę (w lewym górnym rogu) FHD powinien mieścić się na jednej kartce (jeśli nie to stawiamy

kropeczki - oznaczają one rozwinięcie funkcji w innym miejscu, na nowej stronie)

Weryfikacja

Należy doprowadzić, aby FHD był: dokładny i spójny kompletny (obejmował całość zagadnień) łatwy w modyfikacji zwięzły i jednoznaczny w nazewnictwie czytelny

Page 9: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram hierarchii funkcjiWszystkie hierarchie mają strukturę:

Funkcja główna (na samej górze)

Hierarchia może być dalej dekomponowana aż do osiągnięcia żądanego poziomu szczegółowości

Nic poza tymi funkcjami nie jest już potrzebne do realizacji funkcji nadrzędnej

Wszystkie te funkcje i tylko one są niezbędne do realizacji funkcji nadrzędnej

Page 10: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram hierarchii funkcji może posiadać następujące typy funkcji:

główna (podstawowa) - na szczycie hierarchii, nie posiada nadrzędnej

pełna - ma funkcję nadrzędną i przynajmniej jedną podrzędną

atomowa - dalej nie dekomponowana

Diagram hierarchii funkcji

Page 11: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram hierarchii funkcji

Naprawa pojazdu

Naprawa pojazdu

Lokalizacja pojazdu

Badanie pojazdu

Diagnozowanie usterki

Lokalizacja części

Rejestracja kosztów

Przygotowanie pojazdu do oddania

Naprawa pojazdu własnymi zasobami

Zlecenie naprawy innej firmie

Przykład: „naprawa pojazdu”

Page 12: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Wybranie poprawnej kwoty

Wprowadzenie własnej kwoty

RU.2.1.1

RU.2.1.2

Wpisanie kwoty

Korekta kwotyRU.2.1.2.2

Zatwierdzenie kwotyRU.2.1.2.3

RU.2.1.2.1

Anulowanie wpisanej kwoty

Wpisanie nowej kwotyRU.2.1.2.2.2

RU.2.1.2.2.1

Obsługa bankomatu

Identyfikacja klienta

Wybór usługi

Realizacja usługi

IK

WU

RU

Włożenie karty

Wybór języka

Wprowadzenie PIN-u

Sprawdzenie popraw. PIN-u

IK.1

IK.2

IK.3

IK.4

Sprawdzanie stanu konta

Wypłata gotówki

RU.1

RU.2

Anulowanie PIN-u

Wpisanie nowego PIN-u

IK.3.2.1

IK.3.2.2

Wpisanie PIN-u

Korekta PIN-u

Zatwierdzenie PIN-u

RU.1.1

RU.1.2

RU.1.3

Wpisanie PIN-u

Korekta PIN-u

Zatwierdzenie PIN-u

IK.3.1

IK.3.2

IK.3.3

Prośba o wpr. poprawnego PIN-u

Sprawdz. dop. liczby pomyłek

Zablokowanie karty

IK.4.2.1

IK.4.2.2

IK.4.2.3Zaakceptowanie PIN-u

Odrzucenie PIN-u

IK.4.1

IK.4.2

Określenie kwoty

Sprawdzenie limitu

RU.2.1

RU.2.2

Zwrot kartyRU.2.3

Wypłacenie pieniędzyRU.2.4

Wydruk potwierdzenia

RU.2.5 Zaakceptowanie kwoty

Prośba o podanie innej kwoty

RU.2.2.1

RU.2.2.2

Diagram hierarchii funkcjiPrzykład: obsługa bankomatu

Page 13: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Przykład: Rezerwacja miejsc w samolocie

Założenia: Podróżny telefonuje do biura rezerwacji linii lotniczej AIF w celu

zarezerwowania miejsca. Pracownik biura prosi o szczegóły trasy. Dowiaduje się, że podróżny chce polecieć z Warszawy do Honolulu

tak aby zdążyć na spotkanie w poniedziałek 12 czerwca o godz. 10.30. Pracownik wprowadza zapytanie do komputera i znajduje samolot

­ lot AIF 135 przylatujący do Honolulu w niedzielę, 11 czerwca o godz. 20.30.

­ lot AIF 250 przylatujący do Honolulu w niedzielę, 11 czerwca o godz. 21.00 z międzylądowaniem w Los Angeles.

Podróżnemu odpowiada lot AIF 135. Pracownik biura rezerwacji sprawdza czy są wolne miejsca.

AIF135 War 11.06. 08.00 Hon 11.06 20.30.AIF250 War11.06. 07.00 Hon 11.06 21.00 m.ląd.

Diagram hierarchii funkcji

Page 14: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Rezerwowanie miejsc na loty żądane lub alternatywne,najlepiej pasujące do trasy podróżnego

Zebranie szczegółów dotyczących podróży (kierunek, numer lotu, czas odlotu i przylotu)

Ustalenie lotów najlepiej spełniających wymagania pasażera

Sprawdzenie dostępności miejsc na wybranych lotach

REZERWACJA

R1

R2

R3

Diagram hierarchii funkcji

Przykład: Rezerwacja miejsc w samolocie - rozwiązanie

Page 15: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Założenia 2: Na wybrany lot (AIF 135) w żądanej klasie „busines” miejsc nie ma. Są miejsca na lot z międzylądowaniem (AIF 250). Podróżny woli pierwszą możliwość. Umieszczony zostaje na liście oczekujących (rezerwowej) na lot AIF

135, natomiast stała rezerwacja zostaje wykonana na lot AIF 250. Pracownik rezerwujący wiąże ze sobą oba zgłoszenia, aby móc

przydzielić rezerwację na lot AIF 250 komuś innemu, jeśli zwolni się miejsce na liście oczekujących lotu AIF 135.

Pracownik biura rezerwacji zbiera również szczegółowe wymagania podróżnego (rodzaj miejsca - dla palących/dla niepalących, rodzaj posiłku - wegetariański/mięsny) i rezerwacja jest zakończona.

Bilety zostaną wysłane na 2 tygodnie przed odlotem.

Przykład: Rezerwacja miejsc w samolocie (uszczegółowienie 1)

Diagram hierarchii funkcji

Page 16: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Rezerwowanie miejsc na loty żądane lub alternatywne,najlepiej pasujące do trasy podróżnego

Zebranie szczegółów dotyczących podróży (kierunek, numer lotu, czas odlotu i przylotu)

Ustalenie lotów najlepiej spełniających wymagania pasażera

Sprawdzenie dostępności miejsc na wybranych lotach

REZERWACJA

R1

R2

R3

Rezerwacja miejsc (wstępna-umieszczenie na liście oczekujących i potwierdzenie), w razie konieczności

zapewnienia alternatywnej trasy, powiązanie rezerwacji na listach oczekujących z rezerwacjami

wstępnymi i potwierdzonymi

R4

Przekazanie informacji i potwierdzenie szczegółów rezerwacji z podróżnym

R5

Diagram hierarchii funkcjiPrzykład: Rezerwacja miejsc w samolocie – rozwiązanie (uszczegółowienie1)

Page 17: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Ustalenie lotów najlepiej spełniających wymagania pasażera

Określenie możliwości lotów bezpośrednich w dopuszczalnych granicach czasowych

Określenie możliwości alternatywnych połączeń (np. uwzględnienie międzylądowania)

Wybranie alternatywnych miejsc startu lub lądowaniaw pobliżu zgłoszonych lotnisk

R2

R2.1

R2.2

R2.3

Wybranie najlepszej trasy i określenie informacjio locie (tj. numery lotów, czasy, szczegóły

międzylądowania, itp.)

R2.4

Diagram hierarchii funkcjiPrzykład: Rezerwacja miejsc w samolocie – rozwiązanie (uszczegółowienieR2)

Page 18: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Rezerwowanie miejsc na loty żądane lub alternatywne,najlepiej pasujące do trasy podróżnego

Zebranie szczegółów dotyczących podróży (kierunek, numer lotu, czas odlotu i przylotu)

Ustalenie lotów najlepiej spełniających wymagania pasażera

Sprawdzenie dostępności miejsc na wybranych lotach

REZERWACJA

R1

R2

R3

Rezerwacja miejsc (wstępna-umieszczenie na liście oczekujących i potwierdzenie), w razie konieczności zapewnienia alternatywnej trasy, powiązanie rezerwacji

na listach oczekujących z rezerwacjami wstępnymi i potwierdzonymi

R4

Przekazanie informacji i potwierdzenie szczegółów rezerwacji z podróżnymR5

Określenie możliwości lotów bezpośrednich w dopuszczalnych granicach czasowych

Określenie możliwości alternatywnych połączeń (np. uwzględnienie międzylądowania)

Wybranie alternatywnych miejsc startu lub lądowania w pobliżu zgłoszonych lotnisk

R2.1

R2.2

R2.3

Wybranie najlepszej trasy i określenie informacji o locie (tj. numery lotów, czasy, szczegóły międzylądowania, itp.)

R2.4

Diagram hierarchii funkcjiPrzykład: Rezerwacja miejsc w samolocie – rozwiązanie (uszczegółowienie1)

Page 19: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Założenia 3: Pasażer przybywa do stanowiska odpraw, gdzie realizuje się przydział

miejsca. Posiada bilet potwierdzony, więc firma lotnicza wie, że liczba miejsc w

samolocie będzie wystarczająca i należy przydzielić pasażerowi określone, numerowane miejsce.

Pracownik stanowiska sprawdza zajętość miejsc i widzi, że pasażer zgłosił już swoje preferencje w wyborze miejsca (zewnętrzne dla niepalących).

Uzyskuje potwierdzenie przez sprawdzenie czy pasażer chciałby zająć ustalone wcześniej miejsce.

Miejsce zostaje wybrane przez pasażera (zewnętrzna dla niepalących). Pracownik stanowiska zauważa również odnotowane preferencje w

stosunku do posiłku i potwierdza aktualność tego wymagania.

Nr miejsca: 33DNazwisko: R. JonesKlasa: businesPreferencje: dla niepalącychRodz. posiłku: wegetariańskiUwagi:

Przykład: Rezerwacja miejsc w samolocie (uszczegółowienie 2)

Diagram hierarchii funkcji

Page 20: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Przydzielenie pasażerowi miejsca spełniającego w miarę możliwości zgłoszone wymagania

Sprawdzenie dostępności miejsca w klasie określonej na rezerwacji, z uwzględnieniem specjalnych

wymagań, np. miejsce dla palących/niepalących

Określenie preferencji dotyczących miejsca na podstawie wcześniejszych zapisów lub uzyskanie informacji

bezpośrednio od pasażera, jeśli istnieje wybór miejsc

Wybranie wolnego miejsca najbardziej zgodnego z wymogami pasażera

A1

A1.1

A1.2

A1.3

Przydzielenie miejsca pasażerowi i poinformowaniego o tym

A1.4

Diagram hierarchii funkcjiPrzykład: Rezerwacja miejsc w samolocie – rozwiązanie (uszczegółowienie 2)

Page 21: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Sprawdzenie dostępności

miejsca w klasie określonej na rezerwacji,

z uwzględnieniem specjalnych wymagań,

np. miejsce dla palących/niepalących

Określenie preferencji dotyczących miejsca

na podstawie wcześniejszych

zapisów lub uzyskanie informacji bezpośrednio od pasażera, jeśli istnieje

wybór miejsc

Wybranie wolnego miejsca najbardziej

zgodnego z wymogami pasażera

Przydzielenie miejsca pasażerowi

i poinformowaniego o tym

Przekazanie informacji i

potwierdzenie szczegółów rezerwacji

z podróżnym

Rezerwacja miejsc (wstępna-umieszczenie na

liście oczekujących i potwierdzenie),

w razie konieczności zapewnienia

alternatywnej trasy, powiązanie

rezerwacji na listach

oczekujących z rezerwacjami

wstępnymi i potwierdzonymi

Sprawdze-nie

dostępno-ści

miejsc na wybranych

lotach

Zebranie szczegółów dotyczących

podróży (kierunek,

numer lotu, czas odlotu i przylotu)

Rezerwowanie miejsc na loty żądane lub alternatywne,najlepiej pasujące do trasy podróżnego

Określenie możliwości lotów bezpośrednich

w dopuszczalnych granicach czasowych

Określenie możliwości alternatywnych połączeń

(np. uwzględnienie międzylądowania)

Wybranie alternatywnych miejsc startu lub

lądowania w pobliżu zgłoszonych lotnisk

Wybranie najlepszej trasy i określenie informacji

o locie (tj. numery lotów, czasy, szczegóły międzylądowania, itp.)

Ustalenie lotów najlepiej spełniających wymagania

pasażera

Rezerwowanie miejsc na loty, przydzielanie miejsc według numerów i przydzielanie kart wstępu na pokład

Przydzielenie pasażerowi miejsca spełniającego w miarę możliwości zgłoszone wymagania

MIEJSCA

REZERWACJA

R1 R2 R3 R4 R5

A1

R2

.1R

2.2

R2

.3R

2.4

A1

.1A

1.2

A1

.3A

1.4

Diagram hierarchii funkcji

Przykład: Rezerwacja miejsc w samolocie – rozwiązanie

(pełny model funkcji)

Page 22: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Zależności informacyjne, prawne i politycznePomiędzy funkcjami zachodzą zwykle różnorodne zależności

(zależności tych nie uwzględnia hierarchia funkcji): informacyjna (jedna funkcja dostarcza informacji niezbędnych dla

innej) prawna (jedna funkcja musi się wykonać przed drugą) polityczna (zależności określone przez kierownictwo, wytyczne; np.

płace)

Zależność funkcji służy do obrazowania wzajemnych zależności między funkcjami i zdarzeniami powodującymi wywołanie każdej funkcji. Jest to przydatne przy modelowaniu przyczyn i skutków jakiegoś zdarzenia.

Page 23: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Zależności , rezultaty , zdarzenia i wyłączności

Rezultat kluczowy to wynik, który przedsiębiorstwo (system) stara się osiągnąć po wystąpieniu zdarzenia (i zrealizowaniu funkcji ).

Zdarzenie wywołujące jest obrazowane w postaci szerokiej strzałki z wpisaną w środku nazwą zdarzenia.

Rezerwacja miejsca na lot

Page 24: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Zależności , rezultaty , zdarzenia i wyłączności

WyłącznośćCzasami funkcja może powodować wytworzenie kilku różnych rezultatów lub rozwiązań kilku różnych zależności, albo też jednego i drugiego. Jeśli wynik jest albo jedynym rezultatem, albo rozwiązaniem jednej zależności, na diagramie jest to obrazowane za pomocą łuku.

Albo będzie utworzony rezultat, albo będzie rozwiązana jedna z dwóch zależności

Powstanie dokładnie jeden z tych dwóch rezultatów

Nigdy oba jednocześnie

Dokładnie jedna z tych zależności będzie rozwiązana

Nigdy więcej niż jedna

Page 25: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Zależności , rezultaty , zdarzenia i wyłączności

Łuk oznacza, że za każdym razem, gdy funkcja jest wykonywana, jedna z załączonych zależności lub rezultatów będzie rozwiązana lub wytworzona.Brak łuku, gdy istnieje kilka rozwiązywanych zależności lub rezultatów tworzonych przez funkcję, oznacza, że wszystkie te zależności będą rozwiązane i wszystkie rezultaty zostaną utworzone (chociaż niekonieczne jednocześnie).

Oba z rezultatów będą zawsze tworzone, gdy funkcja będzie wykonywana

Wszystkie te zależności są zawsze rozwiązywane

Ta zależność i ten rezultat są zawsze tworzone przez funkcję

Jedna z zależności a lub b plus c, plus jedna z d lub e są rozwiązywane

Albo rozwiązywana jest zależność a, albo b lub c

abcde

a

bc

Page 26: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram zależności funkcjiZależność funkcji przedstawia się często przy pomocy diagramów zależności funkcji (Function Dependency Diagram - FDD)

W diagramach zależności funkcji wykorzystywane są specyficzne notacje graficzne

Oznaczenie Znaczenie

Funkcja (poziom systemu)

Zdarzenie wywołujące lub rezultat

Funkcja B musi czekać na zrealizowanie funkcji A

Albo będzie wytworzony rezultat albo rozwiązana jedna z dwóch zależności

A B

A

Page 27: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram zależności funkcjiPrzykład: naprawa pojazdu

Lokalizacja pojazdu

Badanie pojazdu

Zlecenie naprawy

innej firmie

Naprawa pojazdu

własnymi zasobami

Diagnozowanie usterki

Page 28: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram zależności funkcjiPrzykład: rezerwacja miejsc

Ustalenie wymagań pasażera

Zgłoszenie zapotrzebowania na miejsce

Sprawdzeniezajętości

miejsc na wybrany lot

Niezadowolony pasażer

Rezerwacja miejsc na wybranych

lotach lub umieszczenie pasażera na liście oczekujących

Lista oczekujących

Rezerwacja

Określenie najbardziej

odpowiednich lotów

Ustalenie wymagań, które pasażer może zmienić

Page 29: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram zależności funkcjiW procesie tym często może wystąpić konieczność dekompozycji wcześniej określonych funkcji

AA

BB

CC

BB

XX

YY

ZZ

RR

AA

BB

CC

XX

YY

ZZ

RR

Page 30: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Rezygnacja­

Włożenie­karty­do­bankomatu

Zablokowanie­karty­

Wpisanie PIN-u

Zaakceptowanie PIN-u

Sprawdzenie liczby pomyłek

Prośba o poprawny PIN

Wybór języka

Zatwierdzenie PIN-u

Anulowanie PIN-u

Zwrot karty

Odbiór­karty­

Odczyt­stanu­konta­

Odbiór­wydruku­

Zaakceptowanie kwoty

Zatwierdzenie kwoty

Anulowanie kwoty

Wybór usługi Wydrukowanie

stanu konta

Wyświetlenie stanu konta

Wybór jednej z proponowanych kwot Prośba o podanie

innej kwoty RezygnacjaSprawdzenie stanu konta i limitu wypłatWpisanie

własnej kwoty

Odbiór­karty­Zwrot karty

Wydrukowanie paragonu

Odbiór­gotówki­Odbiór­paragonu­

Wypłacenie pieniędzy

Diagram zależności funkcjiPrzykład: obsługa bankomatu

Proszę opisać funkcjonowanie bankomatu i w oparciu o ten opis stworzyć diagram zależności funkcji

Page 31: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Diagram zależności funkcjiWeryfikacja diagramu FDDFDD W tym celu weryfikacji powinno się postępować według kolejnych kroków:

Dla funkcji:• czy ta funkcja jest zawsze potrzebna do osiągnięcia żądanych rezultatów?• jakie inne zdarzenie mogłoby wywoływać te funkcję?• czy prawdą jest, że pokazane są tylko zdarzenia lub zależności potrzebne

do wywołania tej funkcji?• czy są jakieś zdarzenia lub zależności w tym procesie, które nie są

koniecznie potrzebne? Dla każdej zależności:

• czy ta zależność musi być zawsze spełniona zanim może się rozpocząć następna funkcja?

• czy funkcje na obu końcach zależności mogą być kiedykolwiek wykonywane równocześnie lub w innej kolejności?

• czy po wykonaniu danej funkcji zależność ta jest zawsze rozwiązywana? Jeśli nie, to powinien istnieć łuk z inną zależnością lub rezultatem, wska zujący na wyłączność.

Dla całego diagramu:• czy są pokazane wszystkie kluczowe rezultaty, czy któregoś brakuje?• czy każda pętla może być zakończona?• czy są jakieś inne zdarzenia, które mogą powodować tworzenie tych

rezultatów kluczowych?

Page 32: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Logika i formularze opisu wymagań dla funkcji

Logikę funkcji stosuje się do szczegółowego opisu czynności wykonywanych przez funkcje. Określa ona krok po kroku stan procesu i może być konstruowana poprzez specyfikację wymaganych rezultatów i warunków ich osiągania.

Z logiką funkcji związane są formularze opisu wymagań dla funkcji.Zawierają one:

nazwę funkcji opis funkcji dane wejściowe źródło danych wejściowych wynik warunek wstępny dla funkcji warunek końcowy dla funkcji powód uwagi

Page 33: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

Zobaczmy przykład formularza opisu wymagań dla funkcji:

„System kontroli realizacji planu produkcji” 1. Systemu .....................2. Systemu zarządzania produkcją

2.1 Ewidencja realizacji produkcji. 2.1.1 Dopisywanie raportów z produkcji. 2.1.2 Modyfikowanie raportów z produkcji.2.1.3 Kasowanie raportów z produkcji.

2.2 Kontrola realizacji produkcji. 2.2.1 Kontrola i ocena przebiegu produkcji. 2.2.2 Kontrola i ocena opóźnień produkcji.

2.3 Administrowanie systemem. 2.3.1 Archiwacja bieżąca danych. 2.3.2 Zamknięcie miesiąca. 2.3.3 Porządkowanie danych.

3. Systemu ..............................................................

NNAAZZWWAA FFUUNNKKCCJJII 22..11..11 DDooppiissyywwaanniiee rraappoorrttóóww zz pprroodduukkccjjii..

OOPPIISS FFuunnkkccjjaa ppoozzwwaallaa wwppiissyywwaaćć ddzziieennnnąą pprroodduukkccjjęę ppoosszzcczzeeggóóllnnyycchh wwyyrroobbóóww nnaa ppooddssttaawwiiee RRaappoorrttóóww zz wwyykkoonnaanniiaa pprroodduukkccjjii..

DDAANNEE WWEEJJŚŚCCIIOOWWEE KKaarrttootteekkaa wwyyrroobbóóww oorraazz RRaappoorrtt zz wwyykkoonnaanniiaa pprroodduukkccjjii..

ŹŹRRÓÓDDŁŁOO DDAANNYYCCHH WWEEJJŚŚCCIIOOWWYYCCHH

KKaarrttootteekkaa wwyyrroobbóóww jjeesstt zzbbiioorreemm zzaałłoożżoonnyymm ww ssyysstteemmiiee TTeecchhnniicczznnee pprrzzyyggoottoowwaanniiee pprroodduukkccjjii.. RRaappoorrttyy zz wwyykkoonnaanniiaa pprroodduukkccjjii ddoossttaarrcczzaannee ssąą zz wwyyddzziiaałłóóww pprroodduukkccyyjjnnyycchh pprrzzeeddssiięębbiioorrssttwwaa..

WWYYNNIIKK UUttwwoorrzzeenniiee KKaarrttootteekkii wwyykkoonnaanniiaa pprroodduukkccjjii..

WWAARRUUNNEEKK WWSSTTĘĘPPNNYY WWcczzeeśśnniieejj nnaalleeżżyy uuttwwoorrzzyyćć KKaarrttootteekkęę wwyyrroobbóóww ww mmoodduullee TTeecchhnniicczznnee pprrzzyyggoottoowwaanniiee wwyyrroobbóóww..

WWAARRUUNNEEKK KKOOŃŃCCOOWWYY KKaarrttootteekkaa wwyykkoonnaanniiee pprroodduukkccjjii ssttaannoowwii ppooddssttaawwęę ddoo oocceennyy rreeaalliizzaaccjjii wwyykkoonnaanniiaa pprroodduukkccjjii..

PPOOWWÓÓDD FFuunnkkccjjaa uummoożżlliiwwiiaa eewwiiddeennccjjęę wwyykkoonnaanniiaa pprroodduukkccjjii,, zzmmnniieejjsszzaa iilloośśćć ppooppeełłnniiaannyycchh bbłłęęddóóww ppooddcczzaass tteejj eewwiiddeennccjjii..

UUWWAAGGII NNiiee jjeesstt mmoożżlliiwwee zzaarreejjeessttrroowwaanniiee wwyykkoonnaanniiaa wwyyrroobbuu,, kkttóórryy nniiee jjeesstt wwppiissaannyy ddoo KKaarrttootteekkii wwyyrroobbóóww.. TTaakkaa ssyyttuuaaccjjaa mmoożżee bbyyćć wwyynniikkiieemm bbłłęędduu ww kkooddzziiee wwyyrroobbuu..

­

Logika i formularze opisu wymagań dla funkcji

Page 34: MODELOWANIE HIERARCHII  I ZALEŻNOŚCI FUNKCJI

DZIĘKUJĘ ZA DZIĘKUJĘ ZA UWAGĘ!UWAGĘ!

Rozumienie obszaru merytorycznego wykładu proszę skonfrontować z z pozycją literatury:1.Barczak. A., Florek J., Sydoruk T.: Projektowanie zintegrowanych systemów informatycznych zarządzania, Wyd. AP, Siedlce 2006 Rozdział 8.2.Barker R., Longman C.: Modelowanie funkcji i procesów. WNT. Warszawa 19963.Źródłami internetowymi