Metody modelowania procesow 2012 cz II


METODY MODELOWANIA

PROCESÓW Elementy analizy
cz. II

systemowej

Analiza systemowa
Analiza systemowa



Analiza systemowa to sztuka dochodzenia do

Aspekty to umowne uproszczenia otaczajacej
zrozumienia systemu za pomoca tworzenia modeli nas rzeczywistosci

Dzisiejsze systemy sa due i złoone

Stosujac aspekty analitycy moga budowac

Chocia jest wymagana dokładnosc modele zawierajace tylko tyle informacji, ile ich
w modelowaniu, trzeba unikac olbrzymich
w danej chwili potrzebuja

i skomplikowanych modeli, nawet jeeli


Nie oznacza to, e modele sa fałszywym
reprezentuja due systemy
odzwierciedleniem systemu



Sposobem na uporanie sie z problemem wielkosci i
złoonosci systemów jest stosowanie aspektów

To oznacza wieksza przydatnosc modeli,
poniewa jest na nich pokazane tylko to, czego
w danej chwili potrzebuje analityk


Analiza systemowa

Analiza systemowa

filtrowanie informacji


W miare rozrastania sie systemów

Wyzwaniem dla dzisiejszej analizy
i rozszerzania na wieksze obszary biznesu
systemowej jest tworzenie złoonych

wzrasta liczba uytkowników znajacych
systemów spełniajacych oczekiwania

jedynie czesc systemu
uytkowników



Zwiekszenie liczby uytkowników oznacza,

Pomoca moe okazac sie mechanizm
e analitycy staja naprzeciw:
filtrowania, jako obrona przed zalewem



wiekszego zrónicowania podejsć
informacji

wiekszego zrónicowania umiejetnosci

szerszych zainteresowan
Analiza systemowa
Analiza systemowa



Aby sprostac kontaktom ze wzrastajaca liczba
uytkowników, analitycy tworza modele systemu,

Aspekty, które sa najistotniejsze, to:
ukazujace aspekty cieszace sie najwiekszym
zainteresowaniem lub najbardziej istotne dla

aspekt fizyczny istniejacego systemu
kadej grupy uytkowników

aspekt istotny

Analitycy musza take eliminowac to, co

aspekt danych
w danym momencie nie jest potrzebne


Analizujac duy system musza upraszczac
aspekt fizyczny nowego systemu
rzeczywistosc modelujac te aspekty, które najlepiej
przyczynia sie do zrozumienia systemu

Aspekt fizyczny istniejacego

Aspekt istotny

systemu


Aspekt fizyczny istniejacego systemu stosujemy

Jest uwaany za "idealny" obraz systemu;
na poczatku projektu, by okreslic kontekst pokazuje jedynie wymagania i celowo pomija
wszystko, co wynika ze sposobu

badanego systemu i dac uytkownikom czytelny

zaprojektowania i zaimplementowania systemu

model


Odfiltrowanie aktualnej technologii systemu jest

Poczatkowo uytkownicy wola zobaczyc modele
celowe wówczas, gdy wybiera sie rozwiazanie

przedstawiajace ludzi i maszyny aktualnie najlepsze z moliwych
działajace



Aspekt istotny jest potrzebny w kadym

Model fizyczny pomaga analitykom projekcie, jako najbardziej uyteczny, a zarazemw zidentyfikowaniu: najczesciej uywany aspekt modelowania

obszarów problemowych


zródeł informacji o systemie

oraz w szacowaniu działania przyszłego systemu
Aspekt danych
Aspekt fizyczny nowego systemu


Aspektu fizycznego nowego systemu

Koncentruje sie na informacjach
uywamy do ilustrowania, negocjowania i
wystepujacych w systemie

definiowania implementacji nowego


Aspekt ten, reprezentowany przez model systemu z wykorzystaniem komputerów,
danych, ignoruje sposób przetwarzania w ludzi i maszyn
systemie

Aspekt ten jest równie znany jako model
implementacyjny lub wstepny model
projektu

Stosowanie aspektów
Stosowanie aspektów



Uytecznosc kadego z tych czterech aspektów
zaley od odbiorców oraz od sytuacji

Informacje niezbedne dla kadego aspektu
oraz uytkownicy, od których pochodza


Niestety rzeczywistosc nie jest na tyle prosta,
informacje, pojawiaja sie w
aby analitykom mogło udac sie:
przypadkowych chwilach



zbudowanie pełnego modelu danego aspektu

Analityk w projekcie nie moe spodziewac

sprawdzenie poprawnosci modelu
sie, e uzyska wszystkie informacje


a nastepnie przejscie do nastepnego aspektu
wówczas, gdy ich potrzebuje

Stosowanie aspektów


Analityk musi byc przygotowany na
zdobywanie informacji rónymi sposobami

Najczesciej jest kilka modeli wykonywanych Ogólne metody analizy
dla rónych aspektów, w rónym stopniu
systemowej

zaawansowania


Nie mona jednak porzucic pracy
analitycznej; modele, chocia niekompletne,
pomagaja okreslac wymagania systemu

Analiza systemowa
Analiza systemowa



Pełna analiza systemowa problemu obejmuje

Analiza systemowa jest formalnym
nastepujace cztery czynnosci:
i jawnym badaniem wspomagajacym działanie

Zbadanie celów rozwaanej akcji czy linii
osób odpowiedzialnych za decyzje lub linie postepowania
postepowania w okreslonej sytuacji

Zbadanie moliwych sposobów osiagniecia tych

charakteryzujacej sie niepewnoscią
celów, z uwzglednieniem propozycji i projektów
nowych rozwiazan


Ma ona na celu okreslenie poadanego działania

Ocene pozytywnych i negatywnych skutków kadego
lub linii postepowania przez rozpoznanie i

z moliwych wariantów postepowania, uwzgledniajaca

rozwaenie dostepnych wariantów oraz

niepewnosc przyszłosci
porównanie ich przewidywanych nastepstw



Porównanie wariantów według rónych kryteriów i
przedstawienie wyników w sposób umoliwiajacy
wybór
Ogólne metody analizy Ogólne metody analizy
systemowej systemowej



Analiza jest studium dziedziny problemu

Podczas analizy ustala sie potrzeby
prowadzacym do specyfikacji obserwowalnego systemu -tzn. co system ma robic, aby
zachowania systemu zaspokoic wymagania uytkownika

W wyniku analizy otrzymujemy kompletne, spójne

Nie powinna ona natomiast zawierac
i prawdopodobne wyspecyfikowanie potrzeb, szczegółów implementacyjnych tzn. jak
z podaniem zarówno ilosciowych, jak system ma realizowac te zadania
i funkcjonalnych charakterystyk operacyjnych

Dokumentem, który jest wynikiem analizy,
(niezawodnosci, dostepnosci, wydajnosci)

jest dokument zawierajacy wymagania
systemu


Ogólne metody analizy Ogólne metody analizOgólne metody analizy
systemowej systemowej



Na wymagania systemu składaja sie:

W praktyce analizy systemowej

funkcje -charakterystyki operacyjne,
wykształciły sie nastepujace metody

interfejsy (z którymi ma współpracowac analizy i projektowania:
oprogramowanie)

rozkład funkcjonalny

ograniczenia projektowe

metoda przepływu danych

Dokument formułujacy wymagania ma

modelowanie informacji (danych)
nastepujace cele:


podejscie obiektowe

formalizuje potrzeby uytkownika

ustala liste zadan
Rozkład funkcjonalny
Rozkład funkcjonalny



Rozkłady na funkcje i podfunkcje sa trudne

Rozkład funkcjonalny wymaga w konstrukcji i bardzo nietrwałe
odwzorowania dziedziny problemu na

Jako wynik otrzymuje sie nastepujace
funkcje i podfunkcje, które ma zapewniac poziomy:
system

systemu



podsystemu

W tym sensie, wymagania systemu musza

funkcji
byc odwzorowane na funkcje, które


podfunkcji
wykonuja to co powinien system robic


Model funkcjonalny -metoda Model funkcjonalny -metodModel funkcjonalny -metoda
przepływu danych przepływu danych



Przepływ danych mona przedstawic jako zestaw

Metoda odwzorowania dziedziny problemu
elementów:
na opis systemu jest przepływ danych



przepływ danych i przepływy sterujace
(Data Flow Diagram), czesto nazywany


przekształcenia danych (inaczej zwane
analiza strukturalna

procesami)


W analizie strukturalnej wykorzystuje sie magazyny danych



metodyke opracowana przez Yourdona


obiekty zewnetrzne (inaczej -terminatory)

opisy procesu


słownik danych
Modelowanie informacji (danych)
Modelowanie informacji (danych)



Kolejnosc postepowania w modelowaniu danych

Podstawowym narzedziem modelowania
jest nastepujaca:
danych jest diagram powiazan danych

znalezienie obiektów w rzeczywistym swiecie (lista
obiektów)


(Entity Relationship Diagram)


opisanie obiektów za pomoca atrybutów (lista atrybutów
dla kadego obiektu)


znalezienie powiazan miedzy obiektami (relacje)

etapy normalizacji (wg. reguł normalizacji Codd'a)
redukujacej, nadmiarowosc danych i stanowiacej
typowe przygotowanie dla implementacji relacyjnej bazy
danych

Droga do analizy strukturalnej


A do konca lat siedemdziesiatych
olbrzymia wiekszosc projektów budowy
Analiza

systemu rozpoczynała sie od stworzenia
i projektowanie "powiesciowego" okreslenia wymagan
uytkownika

strukturalne

Analityk dokumentował swoje zrozumienie
potrzeb w masywnym dokumencie,
głównie w postaci narracyjnej, czesto
nazywanym specyfikacja funkcjonalna

Droga do analizy strukturalnej
Droga do analizy strukturalnej



Takie dokumenty miały szereg wad:

Takie dokumenty miały szereg wad (cd.):

Były monolityczne. Aby je zrozumiec

Były wieloznaczne. Szczegółowe okreslenie
naleało przeczytac je od poczatku do konca
wymagan uytkownika mogło i czesto było,


Były nadmiarowe. Ta sama informacja była inaczej interpretowane przez uytkownika,
czesto powtarzana w dokumencie w kilku
analityka, projektanta i programiste

miejscach. Problemy polegały na tym, e gdy


Ich konserwacja była niemo,liwa.
jakis aspekt wymagan uytkownika uległ
zmianie podczas fazy analizy, to zmiana Z opisanych powodów, specyfikacja funkcjonalna
musiała byc uwzgledniona w kilku rónych była niemal zawsze przestarzała w chwili
czesciach dokumentu zakonczenia budowy systemu, tzn. w momencie
jego wdroenia


Wprowadzenie
Wprowadzenie



Wiekszosc systemów wymaga wielu modeli

Model buduje sie z trzech powodów:

Kady model koncentruje sie na ograniczonej

aby skoncentrowac sie na wanych cechach
systemu, pomijajac mniej istotne
liczbie aspektów systemu, ograniczajac (lub wrecz


aby móc niewielkim kosztem i minimalnympomijajac) pozostałe
ryzykiem wprowadzac zmiany i poprawki do

Jest to prawda zwłaszcza dla wielu systemów
wymagan uytkownika

budowanych obecnie, poniewa maja złoona


aby sprawdzic, czy rozumiemy srodowisko
charakterystyke funkcjonalna, złoone struktury

uytkownika i udokumentowac to w takisposób, aby projektanci i programisci moglidanych oraz złoone zalenosci czasowe
zbudowac system

Wymagania dla narzedzi Wymagania dla narzedzi
modelowania modelowania



Narzedzia modelowania powinny byc

Narzedzia modelowania powinny umoliwiac
ogladanie systemu od góry, ze schodzeniem
graficzne, z tekstowym wspomaganiem

według okreslonych podziałów

odpowiednich szczegółów


Narzedzia modelowania musza umoliwiac

W zasadzie grafiki uywa sie do okreslenia osobne odwzorowanie poszczególnych czesci
składników systemu i interfejsów miedzy nimi; systemu, wraz z prostym sposobem
wszystkie szczegóły umieszcza się
przechodzenia od jednej czesci modelu do
innej

w pomocniczych dokumentach tekstowych


Przykładem moga byc mapy, pokazujace kraj
(np. specyfikacja procesu i słownik danych)

na rónych poziomach szczegółowosci


Wymagania dla narzedzi Wymagania dla narzedzWymagania dla narzedzi
modelowania modelowania



Narzedzia modelowania powinny miec minimalna

Narzedzia modelowania powinny:
nadmiarowosc


Modele stanowia reprezentacje pewnego systemu z

Pomagac przewidziec zachowanie sie
rzeczywistego swiata, przy czym sam system moe
systemu

byc statyczny lub dynamiczny


Jesli system zmienia sie, zmianie musi take ulec

Byc przejrzyste
model, aby pozostac aktualnym

Dobry model powinien byc przejrzysty,

Oczywiscie jeeli zmienia sie tylko jeden lokalny
aby czytelnik uswiadamiał sobie, e

aspekt systemu, wolelibysmy dokonac tylko jednej
lokalnej zmiany w odpowiadajacym aspekcie modelu, oglada reprezentacje systemu, a nie zas
ni byc zmuszonym do zmiany wielu innych aspektów

sam system

Diagramy przepływu danych (DFD)


DFD to tylko jedno z narzedzi modelowania
uywanych przez analityka i dostarcza ono tylko Diagramy przepływu jednego spojrzenia na system
spojrzenia

funkcyjnego

danych


Jesli bedziemy budowali system, w którym
zwiazki miedzy danymi sa znacznie waniejsze
ni funkcje, moemy połoyc mniejszy nacisk na
DFD, a zamiast tego skoncentrowac sie na
zbudowaniu zbioru diagramów zwiazków encji

Diagramy przepływu danych
Składniki DFD


Jeeli natomiast charakterystyka czasowa

Diagramy przepływu danych buduje sie z
zachowania systemu dominuje nad czterech podstawowych elementów:
wszystkimi innymi zagadnieniami, moemy

Proces
skupic sie na diagramie sieci przejsc

Przepływ

Magazyn

Terminator
Składniki DFD
proces
Składniki DFD
proces



Pierwszy składnik DFD nazywa sie

Graficznie proces reprezentuje sie
procesem okregiem

Niektórzy analitycy wola elipse lub

Popularne synonimy to: babel, funkcja lub
prostokat z zaokraglonymi rogami, jeszcze

transformacja

inni prostokat


Proces pokazuje pewien fragment systemu

Rónice sa czysto kosmetyczne, choc
przekształcajacy dane na wyniki, tzn.

oczywiscie naley uywac takiego samego
sposób w jaki dane zmieniaja sie w pewne kształtu do reprezentowania wszystkich

wyniki
funkcji systemu


Składniki DFD
proces
Proces jest nazywany pojedynczym
słowem, fraza lub prostym zdaniem
Nazwa procesu powinna opisywac co robi
proces
Składniki DFD
przepływ
Przepływ reprezentuje sie graficznie strzałka do
lub z procesu
Słuy on do opisania przenoszenia jednostek lub
pakietów informacji z jednego fragmentu
systemu do innego
Przedstawia wiec dane w ruchu, podczas gdy
magazyny reprezentuja dane w spoczynku
Składniki DFD
przepływ
Dla wiekszosci systemów przepływy beda
reprezentowac dane, tzn. bity, znaki,
komunikaty itp.
DFD moga jednak równie słuyc do
modelowania innych systemów, np. tasmy
montaowe
Wtedy pakiety lub jednostki przenoszone
przepływami beda materiałem fizycznym
Składniki DFD
przepływ
Przepływy równie sa nazywane
Nazwa reprezentuje znaczenie pakietu
poruszajacego sie wzdłu przepływu
Przepływ przenosi tylko jeden rodzaj
pakietów, wskazywany jego nazwa
Czasami dopuszczalne jest połaczenie
kilku elementarnych przepływów danych w
jeden skonsolidowany
Składniki DFD
przepływ
Przepływ reprezentuje sie graficznie strzałka do
lub z procesu
Słuy on do opisania przenoszenia jednostek lub
pakietów informacji z jednego fragmentu
systemu do innego
Przedstawia wiec dane w ruchu, podczas gdy
magazyny reprezentuja dane w spoczynku
Składniki DFD
przepływ
Dla wiekszosci systemów przepływy beda
reprezentowac dane, tzn. bity, znaki,
komunikaty itp.
DFD moga jednak równie słuyc do
modelowania innych systemów, np. tasmy
montaowe
Wtedy pakiety lub jednostki przenoszone
przepływami beda materiałem fizycznym
Składniki DFD
przepływ
Przepływy równie sa nazywane
Nazwa reprezentuje znaczenie pakietu
poruszajacego sie wzdłu przepływu
Przepływ przenosi tylko jeden rodzaj
pakietów, wskazywany jego nazwa
Czasami dopuszczalne jest połaczenie
kilku elementarnych przepływów danych w
jeden skonsolidowany

Składniki DFD
przepływ
Naley pamietac, e ta sama zawartosc
moe miec róne znaczenie dla rónych
czesci systemu
Przepływy okreslaja kierunek: grot strzałki
na koncu (lub byc moe na obu koncach)
wskazuje, czy dane (lub materiał)
poruszaja sie do czy z procesu (lub w obu
kierunkach)
Składniki DFD
przepływ
Dane poruszajace sie wzdłu przepływu
wedruja albo do innego procesu (jako
wejsciowe) albo do magazynu, albo do
terminatora
Przepływ z dwoma grotami to dialog,
umieszczenie dwóch pakietów danych
(zapytania i odpowiedzi) na tym samym
przepływie
W przypadku dialogu pakiety na obu
koncach strzałki musza byc nazwane
Składniki DFD
przepływ
Przepływy danych na DFD moga schodzic sie i
rozchodzic
Jeeli przepływ jest rozbieny, oznacza to
przesyłanie kopii pakietu danych do rónych
czesci systemu lub rozdzielenie złoonego
pakietu danych na kilka elementarnych, z
których kady jest przesyłany do innej czesci
systemu
W przepływie zbienym kilka elementarnych
pakietów danych łaczy sie w bardziej złoone
pakiety danych
Składniki DFD
przepływ
Składniki DFD
przepływ
Dane poruszajace sie wzdłu przepływu
wedruja albo do innego procesu (jako
wejsciowe) albo do magazynu, albo do
terminatora
Przepływ z dwoma grotami to dialog,
umieszczenie dwóch pakietów danych
(zapytania i odpowiedzi) na tym samym
przepływie
W przypadku dialogu pakiety na obu
koncach strzałki musza byc nazwane
Składniki DFD
przepływ
Przepływy danych na DFD moga schodzic sie i
rozchodzic
Jeeli przepływ jest rozbieny, oznacza to
przesyłanie kopii pakietu danych do rónych
czesci systemu lub rozdzielenie złoonego
pakietu danych na kilka elementarnych, z
których kady jest przesyłany do innej czesci
systemu
W przepływie zbienym kilka elementarnych
pakietów danych łaczy sie w bardziej złoone
pakiety danych
Składniki DFD
przepływ

Składniki DFD
przepływ
Składniki DFD
przepływ



W przypadku, gdy jest kilka przepływów

Przepływ nie odpowiada na wiele pytań
wejsciowych i wyjsciowych, nie jest okreslone
proceduralnych, które nasuwaja się

w jakiej kolejnosci przychodza pakiety danych i w
jakiej kolejnosci sa generowane pakiety wynikowe

podczas ogladania DFD, np. nie udzielaja


czy jednemu zestawowi pakietów wejsciowych
odpowiedzi na pytania o sposób

odpowiada dokładnie jeden zestaw pakietów
pobierania informacji wyjsciowych



Zwykle jest to modelowane diagramem
przepływu sterowania lub innym proceduralnym
narzedziem modelowania

DFD nie odnosi sie do takich zagadnien
Składniki DFD
magazyn
Składniki DFD
magazyn



Magazyn słuy do modelowania zbioru danych

Dla projektów informatycznych obserwuje
w bezruchu
sie tendencje nazywania magazynów


Oznacza sie go dwoma równoległymi liniami, sa te inne
plikami lub bazami danych

alternatywne symbole graficzne


Magazyny rzeczywiscie implementuje sie

Zwykle nazwa wybrana dla magazynu to liczba mnoga od
nazwy pakietów przenoszonych przepływami do i z w ten sposób w systemach
magazynu skomputeryzowanych

Ale moga byc te inne formy, np.
w przypadku modelowania przepływów
produkcji

Składniki DFD
magazyn
Składniki DFD
magazyn



Pomijajac fizyczna postac magazynu, mona

Magazyny sa połaczone przepływami
zapytac o jego przeznaczenie z procesami

Przepływ z magazynu interpretuje sie zwykle jako

Czy jego istnienie wynika z podstawowych
odczyt lub dostep do informacji w magazynie

wymagan uytkownika, czy te jest to wygodny


Przepływ do magazynu opisuje sie czesto jako
aspekt implementacji sytemu

zapis, aktualizacje lub byc moe usuwanie


W pierwszym przypadku magazyn słuy do

We wszystkich przypadkach jest oczywiste, e
czasowego buforowania informacji miedzy

stan magazynu ulega zmianie w wyniku

dwoma procesami, działajacymi w rónym czasie

wchodzacego przepływu


Magazyny tworzy sie te w przewidywaniu
przyszłych potrzeb uytkownika
Składniki DFD
magazyn
Składniki DFD


Badajac przepływy wchodzace i wychodzace dlamagazynu, pojawia sie wiele pytan

Diagramy przepływu danych buduje sie z
proceduralnych, np. czy przepływ reprezentuje
pojedynczy pakiet, wiele pakietów, fragmentczterech podstawowych elementów:
pakietu itp.



Proces

Czasem mona udzielic odpowiedzi na podstawieetykiety przepływu

Przepływ

Aby dowiedziec sie wszystkiego, co moe byc

Magazyn
potrzebne na temat przepływu wychodzacego
z
magazynu, bedziemy musieli poznac szczegóły



Terminator
procesu (jego specyfikacje), do którego jest
przyłaczony przepływ



Składniki DFD
magazyn
Składniki DFD
terminator



Jednego szczegółu proceduralnego moemy byc pewni:

Graficznie przedstawia sie go za pomoca prostokata
magazyn jest bierny, dane nie wychodza z magazynu

Terminatory reprezentuja zewnetrzne obiekty,
wzdłu przepływu, dopóki jakis proces jawnie tego nie

z którymi komunikuje sie system

zaada


Moe to byc grupa osób, firma zewnetrzna, inny dział w

Czyni sie jeszcze jedno szczegółowe załoenie
proceduralne tej samej firmie czy inny system

Magazyn nie ulega zmianie, gdy pakiet informacji
wychodzi z magazynu przez przepływ

Programista nazywa to odczytem nie niszczacym

Innymi słowy z magazynu jest pobierana kopia pakietu,
a stan magazynu pozostaje bez zmiany

Załoenie to nie dotyczy modelowania przepływów
obiektów fizycznych
Składniki DFD
terminator
Składniki DFD
terminator



Naley pamietac:

Baden istniejacy zwiazek miedzy terminatorami

Terminatory znajduja sie na zewnatrz
nie bedzie pokazany w modelu DFD
modelowanego systemu; przepływy łaczace je

Moe byc nawet kilka takich zwiazków, lecz
z rónymi procesami (lub magazynami)

z definicji nie wchodza one w skład

systemu stanowia interfejs miedzy systemem

modelowanego systemu

a otaczajacym swiatem


Odwrotnie, jesli zwiazki wystepujace miedzy

W konsekwencji jest oczywiste, e ani
terminatorami sa istotne dla analityka

analityk, ani projektant nie moga zmienic

i powinny byc modelowane, aby poprawnie

terminatora ani wpłynac na sposób jego
działania udokumentowac wpływ na system, to
z definicji terminatory wchodza w skład systemu
i naley je modelowac jako procesy


Wskazówki dotyczace
konstruowania DFD
Wybieraj znaczace nazwy dla procesów,
przepływów, magazynów i terminatorów
Numeruj procesy
Przerysuj DFD, ilekroc jest to niezbedne z
przyczyn estetycznych
Unikaj nadmiernie złoonych DFD
Upewnij sie, e DFD jest wewnetrznie
niesprzeczny oraz niesprzeczny
z innymi spokrewnionymi DFD
Nazwy
KOWALSKI
zamówienia
poprawne
zamówienia
błedne
zamówienia
Sprawdz
zamówienia
zamówienia
poprawne
zamówienia
błedne
zamówienia
Nadmiernie
złoone DFD
wg.
J. Roszkowski
Analiza i projektowanie
strukturalne
Niesprzecznosc
Przetwarzaj
materiał
a
c
d
b
Przetwarzaj
materiał
a
c
d
b
Przykład nieskonczonej
studni
Przykład procesu bez wejsc
Nazwy
KOWALSKI
zamówienia
poprawne
zamówienia
błedne
zamówienia
Sprawdz
zamówienia
zamówienia
poprawne
zamówienia
błedne
zamówienia
Nadmiernie
złoone DFD
wg.
J. Roszkowski
Analiza i projektowanie
strukturalne
Niesprzecznosc
Przetwarzaj
materiał
a
c
d
b
Przetwarzaj
materiał
a
c
d
b
Przykład nieskonczonej
studni
Przykład procesu bez wejsc

Zrównowaone DFD
Naley unikac diagramów zbyt złoonych
Realizuje sie to przez podział całego
diagramu na szereg poziomów,
z których kady dostarcza wiecej
szczegółów o wyszym poziomie
Zrównowaone DFD
SYSTEM
DIAGRAMKONTEKSTOWYA
B
C
1342DIAGRAM0A
B
C
X Y
Z3.1
3.3 3.4
3.2
DIAGRAM3X
Z
Y
Zrównowaone DFD
DFD najwyszego poziomu składa sie tylko
z jednego procesu reprezentujacego cały
system
Przepływy danych pokazuja interfejsy
miedzy systemem i terminatorami
zewnetrznymi (wraz z ewentualnymi
magazynami zewnetrznymi)
Ten specjalny DFD nazywa sie
diagramem kontekstowym
Zrównowaone DFD
DFD bezposrednio poniej diagramu
kontekstowego nazywa sie Diagramem 0
Przedstawia najwyszy poziom widzenia
głównych funkcji systemu oraz głównych
interfejsów miedzy tymi funkcjami
Kady z tych procesów dla wygody
powinien byc numerowany
Zrównowaone DFD
SYSTEM
DIAGRAMKONTEKSTOWYA
B
C
1342DIAGRAM0A
B
C
X Y
Z3.1
3.3 3.4
3.2
DIAGRAM3X
Z
Y
Zrównowaone DFD
DFD najwyszego poziomu składa sie tylko
z jednego procesu reprezentujacego cały
system
Przepływy danych pokazuja interfejsy
miedzy systemem i terminatorami
zewnetrznymi (wraz z ewentualnymi
magazynami zewnetrznymi)
Ten specjalny DFD nazywa sie
diagramem kontekstowym
Zrównowaone DFD
DFD bezposrednio poniej diagramu
kontekstowego nazywa sie Diagramem 0
Przedstawia najwyszy poziom widzenia
głównych funkcji systemu oraz głównych
interfejsów miedzy tymi funkcjami
Kady z tych procesów dla wygody
powinien byc numerowany

Zrównowaone DFD
Numeracja słuy równie jako wygodny
sposób powiazania procesu z DFD
bezposrednio niszego poziomu, opisujacym
pełniej ten proces, na przykład:
proces z Diagramu 0 jest zwiazany
z DFD niszego poziomu nazywanym Diagram 3
procesy wewnatrz Diagramu 3 numeruje sie
3.1, 3.2, 3.3 itd.
Zrównowaone DFD
SYSTEM
DIAGRAMKONTEKSTOWYA
B
C
1342DIAGRAM0A
B
C
X Y
Z3.1
3.3 3.4
3.2
DIAGRAM3X
Z
Y
Zrównowaone DFD
Jest to w miare prosty sposób organizacji
potencjalnie olbrzymiego diagramu
przepływu danych w grupe porecznych
fragmentów
Warto jednak dodac pare uwag do tego
opisu:
Zrównowaone DFD
Jak okreslic, ile poziomów powinien
miec DFD?
Baden DFD nie powinien zawierac wiecej
ni 6-7 procesów
Jesli specyfikacji pewnego procesu nie da
sie zapisac na jednej stronie, to jest on
prawdopodobnie zbyt złoony i naley go
rozbic na DFD niszego poziomu przed
napisaniem specyfikacji
Zrównowaone DFD
SYSTEM
DIAGRAMKONTEKSTOWYA
B
C
1342DIAGRAM0A
B
C
X Y
Z3.1
3.3 3.4
3.2
DIAGRAM3X
Z
Y
Zrównowaone DFD
Jest to w miare prosty sposób organizacji
potencjalnie olbrzymiego diagramu
przepływu danych w grupe porecznych
fragmentów
Warto jednak dodac pare uwag do tego
opisu:
Zrównowaone DFD
Jak okreslic, ile poziomów powinien
miec DFD?
Baden DFD nie powinien zawierac wiecej
ni 6-7 procesów
Jesli specyfikacji pewnego procesu nie da
sie zapisac na jednej stronie, to jest on
prawdopodobnie zbyt złoony i naley go
rozbic na DFD niszego poziomu przed
napisaniem specyfikacji

Zrównowaone DFD
Zrównowaone DFD



Jakiej liczby poziomów nale,y oczekiwac
po typowym systemie?

Czy wszystkie czesci systemu

W prostym systemie pojawia sie 2 lub 3 powinny byc rozbite do tego samego
poziomy, w duym 5 do 8 poziomu?

Całkowita liczba procesów rosnie wykładniczo,

Nie muszą
wraz ze wzrostem poziomów

Niektóre czesci systemu moga byc bardziej

Jesli na kadym diagramie wystepuje
złoone ni inne i moga wymagac jednego

7 procesów, to trzeci poziom bedzie zawierac

lub dwóch dodatkowych poziomów

343 procesy, piaty 16 807,
a dziewiaty 40 353 607


Zrównowaone DFD
Zrównowaone DFD



W jaki sposób pokazywac poziomy
Jak upewnic sie, ,e poziomy DFD sa ze
u,ytkownikowi?

soba zgodne?


Wielu uytkowników chce patrzec tylko na jeden
diagram

Dla zapewnienia zgodnosci kadego diagramu z


Członek kierownictwa obejrzy tylko diagramdiagramem nadrzednym stosuje sie prosta
kontekstowy lub ewentualnie Diagram 0 regułe

Uytkownik operacyjny zechce zapoznac sie z
Przepływy danych wchodzace i wychodzace z
diagramem obejmujacym fragment systemu,
procesu na danym poziomie powinny

który go dotyczy

odpowiadac przepływom danych wchodzacych


Prezentacja całosci powinna odbywac sie od
góry
i wychodzacych z całego diagramu niszego
poziomu opisujacego ten proces



Zrównowaone DFD
SYSTEM
DIAGRAMKONTEKSTOWYA
B
C
1342DIAGRAM0A
B
C
X Y
Z3.1
3.3 3.4
3.2
DIAGRAM3X
Z
Y
Zrównowaone DFD
Jak pokazywac magazyny na ró,nych
poziomach?
Jest to miejsce swiadomego wprowadzania
nadmiarowosci do modelu
Poka magazyn na najwyszym poziomie, na
którym po raz pierwszy słuy jako interfejs
miedzy procesami
Nastepnie poka go na kadym diagramie
niszego poziomu, który szerzej opisuje te
procesy
Magazyny na rónych poziomach
XA.1
A.2
XB.1
B.2
XA
B
Słowniki danych
Drugim wanym narzedziem modelowania
jest słownik danych
Jest to uporzadkowany wykaz wszystkich
elementów danych majacych zwiazek z
systemem, wraz z ich precyzyjnym
okresleniem
Gwarantuje to, e uytkownik
i analityk beda jednakowo rozumieli
wszystkie wejscia, wyjscia, składniki
magazynów i obliczenia posrednie
SYSTEM
DIAGRAMKONTEKSTOWYA
B
C
1342DIAGRAM0A
B
C
X Y
Z3.1
3.3 3.4
3.2
DIAGRAM3X
Z
Y
Zrównowaone DFD
Jak pokazywac magazyny na ró,nych
poziomach?
Jest to miejsce swiadomego wprowadzania
nadmiarowosci do modelu
Poka magazyn na najwyszym poziomie, na
którym po raz pierwszy słuy jako interfejs
miedzy procesami
Nastepnie poka go na kadym diagramie
niszego poziomu, który szerzej opisuje te
procesy
Magazyny na rónych poziomach
XA.1
A.2
XB.1
B.2
XA
B
Słowniki danych
Drugim wanym narzedziem modelowania
jest słownik danych
Jest to uporzadkowany wykaz wszystkich
elementów danych majacych zwiazek z
systemem, wraz z ich precyzyjnym
okresleniem
Gwarantuje to, e uytkownik
i analityk beda jednakowo rozumieli
wszystkie wejscia, wyjscia, składniki
magazynów i obliczenia posrednie

Słowniki danych
Słowniki danych



Słownik danych definiuje elementy danych w

Słownik danych definiuje elementy danych
nastepujacy sposób:
w nastepujacy sposób (cd.):


opisujac znaczenie przepływów


opisujac budowe pakietów danych w

i magazynów pokazanych na diagramach

magazynach

przepływu danych

opisujac budowe złoonych pakietów danych

okreslajac własciwe wartosci i jednostki
transmitowanych wzdłu przepływów, tzn. elementarnych porcji informacji dla
pakietów (takich jak adres klienta), które przepływów i magazynów danych
mona rozbic na bardziej elementarne



opisujac szczegóły zwiazków miedzy

jednostki (takie jak miasto, województwo, kod

magazynami, pokazanymi na diagramie

pocztowy itd.)

zwiazków encji

Notacja słownika danych
Słowniki danych


Nastepujaca notacja naley do

Przykładowo, moglibysmy zdefiniowac
najpopularniejszych i korzysta pełne-nazwiskonastepujaco:
z niewielu prostych symboli: *definicja pełnego nazwiska*
pełne-nazwisko = tytuł + imie + (drugie imie) +

= składa sie z

nazwisko

+i
tytuł
[Pan | Pani | Dr | Profesor]

() opcjonalnie (moe wystapic lub nie)
imie {dozwolony-znak}

{} iteracja

[] wybór jednej z kilku alternatywnych moliwosci drugie-imie {dozwolony-znak}
** komentarz nazwisko {dozwolony-znak}
| rozdziela alternatywne moliwosci w konstrukcji [] dozwolony-znak [A-Z|a-z|0-9|ł|-| |]


Elementarne elementy danych
Słowniki danych


Elementarne elementy danych to takie, dla
których nie istnieje znaczaca dekompozycja w

Budowa słownika to jeden z
kontekscie srodowiska uytkownika
najwaniejszych aspektów tworzenia


Po zidentyfikowaniu elementarnych jednostek
modelu

danych naley je wprowadzic do słownika
danych

Bez formalnego słownika, definiujacego


Słownik danych powinien zawierac krótki znaczenie wszystkich terminów, nie ma
komentarz, otoczony znakami *, podajacy
szans na precyzje

znaczenie terminu w kontekscie uytkownika

Specyfikacja procesu
Specyfikacja procesu



Jest to opis tego co dzieje sie wewnatrz kadego

Do utworzenia specyfikacji procesu mona
elementarnego procesu na najniszym poziomie
uyc wielu narzedzi:

DFD


tablic decyzyjnych

Przeznaczenie specyfikacji procesu definiuje, co

strukturalnego jezyka polskiego
naley zrobic w celu przekształcenia wejsc w


warunków poczatkowych i koncowych
wyjscia


diagramów przepływu sterowania

Stanowi szczegółowy opis reguł działania
podanych przez uytkownika, które realizuje

diagramów Nassi-Shneidermana
dany proces

Podstawowe wymagania
Podstawowe wymagania



Specyfikacja procesu musi miec taka

Specyfikacja procesu musi byc wyraona w
postac, aby moliwa była jej weryfikacja postaci pozwalajacej na efektywna komunikacje
przez uytkownika i analityka z rónymi kregami słuchaczy

Własnie z tego powodu unika sie

Jakkolwiek pisze ja zwykle analityk, tej lektury
stosowania opisowego jezyka polskiego, musi dokonac szeroki krag uytkowników,
gdy jest wieloznaczny, zwłaszcza przy menederów, audytorów, pracowników itp.
opisywaniu alternatywnych akcji (decyzji)

Wiekszosc analityków preferuje jako metode
i akcji powtarzajacych sie (cykli) zapisu specyfikacji procesów strukturalny jezyk
polski

Podstawowe wymagania
Strukturalny jezyk polski



Dobre narzedzie do specyfikacji procesów nie
Strukturalny jezyk polski, jak wskazuje nazwa, to
powinno wymuszac (lub narzucac) arbitralnych"polski ze struktura"
decyzji projektowych i implementacyjnych

Jest to podzbiór jezyka polskiego z istotnymi



Jest to czesto bardzo trudne, poniewaograniczeniami na postac uywanych zdan iuytkownik, który okresla reguły działania dlasposób ich łaczenia
poszczególnych procesów w DFD, ma skłonnosc
Jest te znany pod nazwami PDL (Programdo opisywania ich w terminach wynikajacych zDesign Language) lub PSL (Problem Statement
ich obecnej realizacji
Language lub Problem Specification Language)


Zadaniem analityka, jest wydobycie z opisu
Jego celem jest osiagniecie rozsadnegoistoty tego, co jest robione, nie zas tego jak siekompromisu miedzy pozycja formalnego jezyka
to obecnie odbywa
programowania a swoboda i czytelnoscia jezykapolskiego


Strukturalny jezyk polski
Strukturalny jezyk polski



Zdanie w strukturalnym jezyku polskim moe
byc równaniem algebraicznym, np.

Inne przykłady zapisane w strukturalnym
X = (Y*Z)/(Q+14) jezyku polskim :


lub prostym zdaniem rozkazujacym, składajacym
USTAW STOPA_PODATKOWA NA 30

sie z czasownika i dopełnienia
DODAJ 3 DO
X



Zdania opisujace obliczenia moga byc
poprzedzone czasownikami OBLICZ, DODAJ, POMNÓB CENA_JEDNOSTKOWA PRZEZ
USTAW itp.
ILOSC


Poprzedni przykład mona wiec zapisac jako
OBLICZ X = (Y*Z)/(Q+14)
Strukturalny jezyk polski
Strukturalny jezyk polski



Czasowniki naley dobierac z niewielkiej grupy

Obiekty wystepujace w dopełnieniach prostych
czasowników odpowiadajacych akcjom, takich zdan rozkazujacych powinny składac sie z
jak:
elementów danych zdefiniowanych w słowniku
WEZ albo WCZYTAJ albo POBIERZ

lub byc terminami lokalnymi

UMIESC albo WYSWIETL albo WPISZ


Terminy lokalne to słowa wprost zdefiniowane w
ZNAJDZ albo SZUKAJ

danej specyfikacji procesu; sa one znane i

DODAJ, ODEJMIJ, POMNÓB, PODZIEL znaczace jedynie wewnatrz tej specyfikacji
OBLICZ, USUN, SPRAWDZ, PRZENIES

Typowy przykład terminu lokalnego to obliczenieZASTAP, USTAW, SORTUJ posrednie, słuace do wyprodukowania

ostatecznych wyników procesu


W wiekszosci przypadków 40-50 czasowników
wystarcza do zapisania wszystkich specyfikacji
procesów

Strukturalny jezyk polski Strukturalny jezyk polski
suma_dzienna = 0

Nastepujaca specyfikacja procesu DO WHILE istnieja zamówienia w ZAMÓWIENIA z
w strukturalnym jezyku polskim bada ciag
rekordów zamówien w magazynie
ZAMÓWIENIA, aby obliczyc sume dzienna:
data_faktury = obecnej dacie
CZYTAJ nastepne zamówienie z ZAMÓWIENIA z
data_faktury = obecnej dacie
WYSWIETL w Ksiegowosci numer_faktury,
nazwa_klienta, suma_całkowita
suma_dzienna = suma_dzienna+suma_całkowita
ENDDO
WYSWIETL w Ksiegowosci sume_dzienna
Diagramy zwiazków
encji
Diagramy zwiazków encji

Entity Ralationship Diagram ERD to model
sieciowy opisujacy na wysokim poziomie
abstrakcji układ danych przechowywanych w
systemie

Róni sie wiec od diagramu przepływu danych,
modelujacego funkcje realizowane przez system,
oraz od diagramu sieci przejsc, modelujacego
czasowa charakterystyke zachowania systemu


Diagramy zwiazków encji
Diagramy zwiazków encji



Model danych jest istotny przede wszystkim
dlatego, e struktury danych i ich powiazania

Takich uytkowników bardziej interesuje:
moga byc tak złoone, e bedziemy chcieli je

jakich danych potrzebujemy do
obejrzec i zbadac niezalenie od ich

prowadzenia naszej działalnosci,

przetwarzania


jak sa one powiazane miedzy soba

Jest tak zwłaszcza wtedy, gdy pokazujemy
model systemu kierownictwu wysokiego

kto jest ich włascicielem
szczebla, którzy nie sa zainteresowani

kto ma do nich dostep
szczegółami operacyjnymi codziennej pracy
systemu


Diagramy zwiazków encji
Diagramy zwiazków encji



Diagram zwiazków encji to wydajne narzedzie

ERD ma równie wielka zalete dla analityka: uwypukla
zwiazki miedzy magazynami danych na DFD, które w
modelowania do komunikacji z grupa

przeciwnym razie byłyby widoczne tylko w specyfikacji

zarzadzajaca baza danych

procesu


Opierajac sie na informacji umieszczonej na

Typowy ERD pokazany jest na rysunku
ERD, grupa zarzadzajaca baza danych mo
e

Kady z prostokatów odpowiada magazynowi danych na
ustalic jakie rodzaje kluczy, indeksów lub DFD, widac te zwiazki (połaczenia), zazwyczaj nie
wskazników beda niezbedne do zapewnienia pokazywane na DFD
skutecznego dostepu do rekordów bazy danych


Diagramy zwiazków encji
Typy obiektów


Istnieja cztery podstawowe składniki

Na diagramie zwiazków encji typ obiektu
diagramu zwiazków encji: jest przedstawiany prostokatem

typy obiektów

Reprezentuje on populacje lub zbiór

zwiazki obiektów w swiecie rzeczywistym, którego
poszczególne elementy (lub egzemplarze)

wskazniki asocjowanych typów obiektów
maja nastepujace cechy:


wskazniki nadtypów/podtypów
Typy obiektów -cechy
Typy obiektów -cechy



Ka,dy z nich mo,na w jakis sposób

Ka,dy odgrywa jakas role w budowanymsystemie
zidentyfikowac


Inaczej mówiac, aby typ obiektu był uzasadniony, musi

Istnieje sposób odróniania poszczególnych egzemplarzy
byc moliwosc stwierdzenia, e system nie mógłby

typu obiektu

działac bez dostepu do jego elementów


Jesli mamy typ obiektu KLIENT, musimy jakos

Budujac system przyjmowania zamówien dla sklepu,
odróniac jednego klienta od drugiego (byc moe po mona przyjac, e oprócz klientów w sklepie sa równie
numerze konta, nazwisku lub numerze ewidencyjnym) dozorcy, z których kady jest identyfikowany nazwiskiem

Gdyby wszyscy byli tacy sami (jesli prowadzimy firme,
Chocia dozorcy pełnia w sklepie poyteczna funkcje, to
dla której klienci to bezimienne postacie wchodzace po
system przyjmowania zamówien moe funkcjonowac beznich, dlatego nie powinni byc typem obiektu w modelu

zakupy do naszego sklepu), wówczas KLIENT nie byłby

systemu

sensownym typem obiektu


Oczywiscie takie rzeczy naley zweryfikowacz uytkownikami podczas budowy modelu

Typy obiektów -cechy
Typy obiektów


Ka,dy mo,e byc opisany jednym lub

W wielu budowanych systemach typy obiektów
wiecej elementami danych beda systemowa reprezentacja materialnych

KLIENT moe byc opisany takimi elementami obiektów swiata rzeczywistego
danych, jak: nazwisko, adres, limit kredytowy i

Typowe obiekty to: klienci, pozycje inwentarza,
numer telefonu

pracownicy, produkowane czesci itp.


Nazywa sie to przypisywaniem atrybutów

Obiekt istnieje materialnie w rzeczywistym
danych typowi obiektu

swiecie, a typ obiektu jest jego systemowa


Atrybuty powinny odnosic sie do kadego
reprezentacja

egzemplarza typu obiektu, np. kady klient


Obiekt moe byc jednak równie czyms
powinien miec nazwisko, adres, limit kredytowy,
numer telefonu itp. niematerialnym, np. harmonogramem, planem,


standardem, strategia, mapa

Typy obiektów
Typy obiektów



Zazwyczaj posługujemy sie forma

W systemie czesto typami obiektów sa ludzie,
pojedyncza rzeczownika, np. pracownik,

dlatego moe byc taka sytuacja, e ta sama
osoba (a take dowolny inny obiekt materialny) klient itp.
moe odpowiadac kilku rónym typom obiektów Nie jest to konieczne ale jest wygodne
w rónych modelach danych lub nawet w tym


Istnieje odpowiedniosc miedzy obiektami
samym modelu danych
na ERD i magazynami na DFD



Jan Kowalski moe byc PRACOWNIKIEM w
jednym modelu i KLIENTEM w innym

Jesli KLIENT jest obiektem na ERD to

Moe take byc PRACOWNIKIEM powinien istniec magazyn KLIENCI na
i KLIENTEM w tym samym modelu danych
DFD


Zwiazki
Obiekty sa ze soba połaczone zwiazkami
Zwiazki jest to zbiór powiazan miedzy obiektami i
jest przedstawiany rombem
Na rysunku przedstawiony jest prosty zwiazek
miedzy dwoma obiektami
Zwiazki moga istniec miedzy wiecej ni dwoma
obiektami
Zwiazki
Naley pamietac, e zwiazek reprezentuje
zbiór powiazan
Kady egzemplarz zwiazku jest
powiazaniem miedzy zerem lub wieksza
liczba wystapien jednego obiektu i zerem
lub wieksza liczba wystapien drugiego
Zwiazki
Zwiazek KUPUJE przedstawiony na rysunku
moe zawierac wiec nastepujace konkretne
egzemplarze:
egzemplarz 1: klient 1 kupuje towar 1
egzemplarz 2: klient 2 kupuje towar 2 i 3
egzemplarz 3: klient 3 kupuje towar 4
egzemplarz 4: klient 4 kupuje towar 5,6,7
egzemplarz 5: klient 5 nie kupuje towarów
egzemplarz 6: klienci 6 i 7 kupuja towar 8
egzemplarz 7: klienci 8,9,10 kupuja towary 9, 10, 11
Zwiazki
Jak widac zwiazek moe łaczyc dwa lub wiekszaliczbe egzemplarzy tego samego obiektu
Zwiazek reprezentuje cos, co musi bycpamietane przez system
nie moe bycobliczone ani wprowadzone mechanicznie
Model danych przedstawiony na rysunkuwskazuje wiec, e istnieje pewna istotnaprzyczyna, dla której uytkownik chce pamietac,
e klient 1 kupił towar 1 itd.
Wskazuje te, e nie istnieja adne przesłanki,
pozwalajace stwierdzic a priori, e klient 1 kupiłtowar 1 i nic wiecej
Zwiazki
Naley pamietac, e zwiazek reprezentuje
zbiór powiazan
Kady egzemplarz zwiazku jest
powiazaniem miedzy zerem lub wieksza
liczba wystapien jednego obiektu i zerem
lub wieksza liczba wystapien drugiego
Zwiazki
Zwiazek KUPUJE przedstawiony na rysunku
moe zawierac wiec nastepujace konkretne
egzemplarze:
egzemplarz 1: klient 1 kupuje towar 1
egzemplarz 2: klient 2 kupuje towar 2 i 3
egzemplarz 3: klient 3 kupuje towar 4
egzemplarz 4: klient 4 kupuje towar 5,6,7
egzemplarz 5: klient 5 nie kupuje towarów
egzemplarz 6: klienci 6 i 7 kupuja towar 8
egzemplarz 7: klienci 8,9,10 kupuja towary 9, 10, 11
Zwiazki
Jak widac zwiazek moe łaczyc dwa lub wiekszaliczbe egzemplarzy tego samego obiektu
Zwiazek reprezentuje cos, co musi bycpamietane przez system
nie moe bycobliczone ani wprowadzone mechanicznie
Model danych przedstawiony na rysunkuwskazuje wiec, e istnieje pewna istotnaprzyczyna, dla której uytkownik chce pamietac,
e klient 1 kupił towar 1 itd.
Wskazuje te, e nie istnieja adne przesłanki,
pozwalajace stwierdzic a priori, e klient 1 kupiłtowar 1 i nic wiecej

Zwiazki
Zwiazek reprezentuje pamiec systemu
Oczywiscie obiekt take reprezentuje pamiec
systemu
Miedzy dwoma obiektami moe istniec wiecej ni
jeden zwiazek
Na kolejnym rysunku przedstawiono zwiazki
miedzy PACJENTEM a LEKARZEM
Na pierwszy rzut oka moe to wygladac na
niepotrzebny podział: ilekroc lekarz przyjmuje
pacjenta, wystawia mu rachunek
Zwiazki
Z rysunku wynika równie, e zwiazek płacenia jest
oddzielony od zwiazku leczenia
Byc moe niektórzy pacjenci płaca tylko za pierwsza
wizyte, inni za wszystkie wizyty a jeszcze inni nie płaca
wcale
Moe okazac sie, e
istnieje kilka rónych
egzemplarzy "leczenia"
miedzy lekarzem i tym
samym pacjentem (tzn.
wizyta poczatkowa,
wizyty kontrolne, itp.)
Zwiazki
Czestsza sytuacja to wiele zwiazków
miedzy wieloma obiektami
Kolejny rysunek pokazuje zwiazek zwykle
istniejacy miedzy nabywca, sprzedawca,
agentem nieruchomosci, adwokatem
nabywcy i adwokatem sprzedawcy, w celu
sprzeday i zakupu domu
Zwiazki
Dla złoonych
diagramów (jak na
rysunku) zwiazek
i połaczone nim
obiekty naley czytac
jako całosc
Zwiazek mona opisac
z perspektywy
dowolnego
wystepujacego typu
obiektu, wszystkie
perspektywy sa
poprawne
Zwiazki
Z rysunku wynika równie, e zwiazek płacenia jest
oddzielony od zwiazku leczenia
Byc moe niektórzy pacjenci płaca tylko za pierwsza
wizyte, inni za wszystkie wizyty a jeszcze inni nie płaca
wcale
Moe okazac sie, e
istnieje kilka rónych
egzemplarzy "leczenia"
miedzy lekarzem i tym
samym pacjentem (tzn.
wizyta poczatkowa,
wizyty kontrolne, itp.)
Zwiazki
Czestsza sytuacja to wiele zwiazków
miedzy wieloma obiektami
Kolejny rysunek pokazuje zwiazek zwykle
istniejacy miedzy nabywca, sprzedawca,
agentem nieruchomosci, adwokatem
nabywcy i adwokatem sprzedawcy, w celu
sprzeday i zakupu domu
Zwiazki
Dla złoonych
diagramów (jak na
rysunku) zwiazek
i połaczone nim
obiekty naley czytac
jako całosc
Zwiazek mona opisac
z perspektywy
dowolnego
wystepujacego typu
obiektu, wszystkie
perspektywy sa
poprawne

Zwiazki
Własnie zbiór tych perspektyw poprawnie
opisuje zwiazek
Na rysunku zwiazek NEGOCJUJE CENE mona
odczytac w nastepujacy sposób:
Agent nieruchomosci negocjuje cene miedzy
nabywca i sprzedawca
Nabywca za posrednictwem agenta
nieruchomosci negocjuje cene ze sprzedawca
Sprzedawca za posrednictwem agenta
nieruchomosci negocjuje cene z nabywca
Zwiazki
Alternatywna notacja dla zwiazków
Zwiazki w diagramie E-R sa
wielokierunkowe, mona je czytac
w dowolnym kierunku
Diagramy E-R nie pokazuja licznosci, tzn.
nie pokazuja liczby obiektów bioracych
udział w zwiazku
Jest to całkowicie swiadome i przemyslane:
takie szczegóły znajduja sie w słowniku
danych
Zwiazki
Niektórzy analitycy uywaja alternatywnej notacji,
podajacej licznosc i kierunek
Zwiazek miedzy KLIENTEM i TOWAREM
Dodatkowa notacja pokazuje, e:
KLIENT to punkt zaczepienia, podstawowy obiekt,
z którego perspektywy naley odczytywac zwiazek
Zwiazek składa sie z KLIENTA połaczonego z N TOWARAMI, tzn.
pojedynczy klient moe zakupic 0, 1, 2 ... N towarów. Jednakzwiazek wskazuje, e tylko jeden klient wystapi w kadymegzemplarzu zwiazku
Wyklucza to przypadki, gdy kilku klientów jest zwiazanych zzakupem jednego towaru
1 N
Zwiazki
Inna popularna notacje przedstawiono na
kolejnym rysunku; strzałka z podwójnym
grotem słuy do pokazania zwiazku jeden-do-
wielu, natomiast strzałka z pojedynczym grotem
oznacza zwiazek jeden-do-jednego miedzy
obiektami
Zwiazki
Alternatywna notacja dla zwiazków
Zwiazki w diagramie E-R sa
wielokierunkowe, mona je czytac
w dowolnym kierunku
Diagramy E-R nie pokazuja licznosci, tzn.
nie pokazuja liczby obiektów bioracych
udział w zwiazku
Jest to całkowicie swiadome i przemyslane:
takie szczegóły znajduja sie w słowniku
danych
Zwiazki
Niektórzy analitycy uywaja alternatywnej notacji,
podajacej licznosc i kierunek
Zwiazek miedzy KLIENTEM i TOWAREM
Dodatkowa notacja pokazuje, e:
KLIENT to punkt zaczepienia, podstawowy obiekt,
z którego perspektywy naley odczytywac zwiazek
Zwiazek składa sie z KLIENTA połaczonego z N TOWARAMI, tzn.
pojedynczy klient moe zakupic 0, 1, 2 ... N towarów. Jednakzwiazek wskazuje, e tylko jeden klient wystapi w kadymegzemplarzu zwiazku
Wyklucza to przypadki, gdy kilku klientów jest zwiazanych zzakupem jednego towaru
1 N
Zwiazki
Inna popularna notacje przedstawiono na
kolejnym rysunku; strzałka z podwójnym
grotem słuy do pokazania zwiazku jeden-do-
wielu, natomiast strzałka z pojedynczym grotem
oznacza zwiazek jeden-do-jednego miedzy
obiektami

Wskazniki asocjowanych typów
obiektów
Specjalna notacja na diagramie E-R jest
wskaznik asocjowanego obiektu, który
reprezentuje cos funkcjonujacego zarówno
jako obiekt, jak i zwiazek
Asocjowany typ obiektu mona równie
traktowac jako reprezentacje zwiazku, o
którym chcemy zachowac pewna
informacje
Wskazniki asocjowanych typów
obiektów
Rozwamy prosty przypadek klienta kupujacego
towar (lub towary) pokazany na rysunku
Wskazniki asocjowanych typów
obiektów
Istota sprawy jest, e zwiazek ZAKUPU to nicwiecej tylko powiazanie KLIENTA z jednym lub zwieksza liczba TOWARÓW
Załómy jednak, e istnieja pewne dane, którechcemy zapamietac dla kadego egzemplarzazakupu (np. pore dnia)
Gdzie przechowywac te informacje? "Pora dnia"
to na pewno nie atrybut KLIENTA, ani te
TOWARU
Wobec tego przypisujemy "pore dnia" samemuzakupowi i umieszczamy na diagramie w sposóbpokazany na rysunku
Wskazniki asocjowanych typów
obiektów
ZAKUP zapisujemy teraz w prostokaciei łaczymy strzałka z rombem anonimowegozwiazku
Ma to wskazywac, e ZAKUP ma tutaj dwaznaczenia
Typ obiektu, czyli cos o czym chcemyprzechowywac informacje. Tutaj chcemypamietac pore, kiedy klient dokonał zakupu izaoferowany upust
Zwiazek łaczacy dwa typy obiektów KLIENTi TOWAR. Istotna sprawa jest, e KLIENTi TOWAR sa całkowicie odrebne. Istniejaniezalenie od tego, czy dokonano jakiegoszakupu
Wskazniki asocjowanych typów
obiektów
Rozwamy prosty przypadek klienta kupujacego
towar (lub towary) pokazany na rysunku
Wskazniki asocjowanych typów
obiektów
Istota sprawy jest, e zwiazek ZAKUPU to nicwiecej tylko powiazanie KLIENTA z jednym lub zwieksza liczba TOWARÓW
Załómy jednak, e istnieja pewne dane, którechcemy zapamietac dla kadego egzemplarzazakupu (np. pore dnia)
Gdzie przechowywac te informacje? "Pora dnia"
to na pewno nie atrybut KLIENTA, ani te
TOWARU
Wobec tego przypisujemy "pore dnia" samemuzakupowi i umieszczamy na diagramie w sposóbpokazany na rysunku
Wskazniki asocjowanych typów
obiektów
ZAKUP zapisujemy teraz w prostokaciei łaczymy strzałka z rombem anonimowegozwiazku
Ma to wskazywac, e ZAKUP ma tutaj dwaznaczenia
Typ obiektu, czyli cos o czym chcemyprzechowywac informacje. Tutaj chcemypamietac pore, kiedy klient dokonał zakupu izaoferowany upust
Zwiazek łaczacy dwa typy obiektów KLIENTi TOWAR. Istotna sprawa jest, e KLIENTi TOWAR sa całkowicie odrebne. Istniejaniezalenie od tego, czy dokonano jakiegoszakupu

Wskazniki asocjowanych typów
obiektów
ZAKUP zaley od istnienia KLIENTA i TOWARU
Pojawia sie jedynie w wyniku zwiazku miedzy
innymi obiektami, do którego jest dołaczony
Zwiazek przedstawiony na rysunku swiadomie
pozostawiono anonimowym, poniewa wskaznik
asocjowanego typu obiektu (ZAKUP) jest
jednoczesnie nazwa zwiazku
Wskazniki nadtypu/podtypu
Typy obiektów nadtyp/podtyp obejmuja typ
obiektu i jedna lub wiecej podkategorii,
połaczonych zwiazkiem
Rysunek pokazuje typowy nadtyp/podtyp
Kategoria ogólna jest PRACOWNIK,
podkategoriami zas sa PRACOWNIK ETATOWY
i PRACOWNIK GODZINOWY
Wskazniki nadtypu/podtypu
Poddtypy sa połaczone z nadtypem
anonimowym zwiazkiem, a nadtyp jest
połaczony ze zwiazkiem przekreslona linia
W tej notacji nadtyp okresla sie
elementami danych odnoszacymi sie do
wszystkich podtypów
Wskazniki nadtypu/podtypu
Moemy sobie wyobrazic, e wszyscy pracownicy
sa opisani za pomoca nastepujacych danych:
nazwisko
sta pracy
adres domowy
nazwisko kierownika
Natomiast kady podtyp jest okreslany rónymi
elementami danych, w przeciwnym razie nie
miałoby sensu wyrónianie ich
Wskazniki nadtypu/podtypu
Typy obiektów nadtyp/podtyp obejmuja typ
obiektu i jedna lub wiecej podkategorii,
połaczonych zwiazkiem
Rysunek pokazuje typowy nadtyp/podtyp
Kategoria ogólna jest PRACOWNIK,
podkategoriami zas sa PRACOWNIK ETATOWY
i PRACOWNIK GODZINOWY
Wskazniki nadtypu/podtypu
Poddtypy sa połaczone z nadtypem
anonimowym zwiazkiem, a nadtyp jest
połaczony ze zwiazkiem przekreslona linia
W tej notacji nadtyp okresla sie
elementami danych odnoszacymi sie do
wszystkich podtypów
Wskazniki nadtypu/podtypu
Moemy sobie wyobrazic, e wszyscy pracownicy
sa opisani za pomoca nastepujacych danych:
nazwisko
sta pracy
adres domowy
nazwisko kierownika
Natomiast kady podtyp jest okreslany rónymi
elementami danych, w przeciwnym razie nie
miałoby sensu wyrónianie ich

Wskazówki do konstruowania

Wskazniki nadtypu/podtypu

diagramów zwiazków encji


Wobec tego PRACOWNIK ETATOWY jest
opisany takimi informacjami jak:

Wane jest w jaki sposób naley wykrywać
obiekty i zwiazki



pensja miesieczna

procent premii rocznej

Poczatkowy model typów obiektów i zwiazków
bedzie zwykle oparty na:

zakres korzystania z samochodu firmy

znajomosci aplikacji uytkownika

a PRACOWNIK GODZINOWY takimi jak:

wywiadach z uytkownikami

stawka godzinowa

wszelkich innych sposobach zbierania informacji, z

dopłata za nadgodziny
jakich mona skorzystac


czas rozpoczecia

Diagramy zwiazków encji zmienia sie
i poprawia wielokrotnie
Dołaczanie dodatkowych typów Dołaczanie dodatkowych typów
obiektów obiektów



Poczatkowy ERD tworzy sie na podstawie

Mona to osiagnac w róny sposób:
wywiadów z uytkownikami i wiedzy na temat

Jesli model procesów DFD jest ju
dziedziny klienta sporzadzony lub jest budowany równolegle z
modelem danych, wówczas bedzie ju istniał


Powinno to wskazac główne obiekty
słownik danych

i zwiazki


Jesli model procesów jeszcze nie istnieje to

Po sporzadzeniu wstepnego ERD nastepny krok
naley rozpoczac od wywiadów ze wszystkimi

to przypisanie typom obiektów atrybutów


uytkownikami, aby zbudowac wyczerpujaca

elementów danych

liste (definicji) elementów danych


Dołaczanie dodatkowych typów
obiektów
W wyniku przypisywania atrybutów moga
wystapic trzy powody tworzenia nowych
obiektów:
Mona odkryc elementy danych, które mona
przypisac tylko do niektórych egzemplarzy typu
obiektu
Mona wykryc, e pewne elementy danych maja
zastosowanie do wszystkich egzemplarzy dwóch
rónych typów obiektów
Mona odkryc, e pewne elementy danych opisuja
zwiazki miedzy innymi typami obiektów
Dołaczanie dodatkowych typów
obiektów
Jesli podczas przypisywania atrybutów
typom obiektów okae sie, e pewne
elementy danych nie moga byc przypisane
wszystkim egzemplarzom pewnego typu
obiektu, naley utworzyc zbiór podtypów
dla danego typu i przypisac elementy
danych odpowiednim podtypom
Dołaczanie dodatkowych typów
obiektów
Przypuscmy, e budujemy system obsługi
klienta i zidentyfikowano typ obiektu
nazwany KLIENT
Przegladajac istniejace elementy danych
stwierdzamy, e wiele z nich (NIP, adres,
nazwa firmy, itp.) ma zastosowanie do
wszystkich egzemplarzy klienta
Dołaczanie dodatkowych typów
obiektów
Jednake sa elementy danych, które wystepuja dla czesci
egzemplarzy a nie wystepuja dla innej
Na przykład KLIENT KRAJOWY i KLIENT ZAGRANICZNY,
dla których w firmie sa inne procedury obsługi
W takiej sytuacji naley utworzyc podtypy
Dołaczanie dodatkowych typów
obiektów
Jesli podczas przypisywania atrybutów
typom obiektów okae sie, e pewne
elementy danych nie moga byc przypisane
wszystkim egzemplarzom pewnego typu
obiektu, naley utworzyc zbiór podtypów
dla danego typu i przypisac elementy
danych odpowiednim podtypom
Dołaczanie dodatkowych typów
obiektów
Przypuscmy, e budujemy system obsługi
klienta i zidentyfikowano typ obiektu
nazwany KLIENT
Przegladajac istniejace elementy danych
stwierdzamy, e wiele z nich (NIP, adres,
nazwa firmy, itp.) ma zastosowanie do
wszystkich egzemplarzy klienta
Dołaczanie dodatkowych typów
obiektów
Jednake sa elementy danych, które wystepuja dla czesci
egzemplarzy a nie wystepuja dla innej
Na przykład KLIENT KRAJOWY i KLIENT ZAGRANICZNY,
dla których w firmie sa inne procedury obsługi
W takiej sytuacji naley utworzyc podtypy

Dołaczanie dodatkowych typów
obiektów
Moe te zajsc sytuacja odwrotna: elementy danych
moga opisywac w ten sam sposób egzemplarze
dwóch (lub wiecej) rónych typów obiektów
Jesli tak sie zdarzy naley utworzyc nowy nadtyp i
przypisac wspólne elementy danych do tego
nadtypu
Moglismy np. zidentyfikowac KLIENTAGOTÓWKOWEGO i KLIENTA Z KARTA KREDYTOWA
jako dwa róne typy obiektów, gdy po raz pierwszy
tworzylismy ERD dla systemu przyjmowania
zamówien (byc moe kierujac sie informacja od
uytkownika, e sa to dwie róne kategorie)
Dołaczanie dodatkowych typów
obiektów
Łatwo stwierdzic, e sa takie elementy danych jak
nazwisko, adres itp., które opisuja w ten sam sposób oba
te typy; sugerowałoby to utworzenie nadtypu, co ilustruje
rysunek
Dołaczanie dodatkowych typów
obiektów
Jeeli element danych opisuje interakcje miedzy dwoma lub
wiecej typami obiektów, naley zastapic "czysty" zwiazek
miedzy dwoma obiektami asocjowanym typem obiektu
Popatrzmy na poczatkowy ERD pokazany na rysunku, na
którym wystepuje zwiazek KUPUJE miedzy KLIENTEM a
TOWAREM
Dołaczanie dodatkowych typów
obiektów
Podczas przypisywania atrybutów moe sie okazac, e
istnieje element danych data_zakupu, który moe
naleec do zwiazku KUPUJE oraz jawnie opisuje, czyli
dostarcza dane o zwiazku miedzy klientem i towarem
Sugeruje to, e naley zastapic zwiazek KUPUJE
asocjowanym typem obiektu, pokazanym na rysunku
Dołaczanie dodatkowych typów
obiektów
Łatwo stwierdzic, e sa takie elementy danych jak
nazwisko, adres itp., które opisuja w ten sam sposób oba
te typy; sugerowałoby to utworzenie nadtypu, co ilustruje
rysunek
Dołaczanie dodatkowych typów
obiektów
Jeeli element danych opisuje interakcje miedzy dwoma lub
wiecej typami obiektów, naley zastapic "czysty" zwiazek
miedzy dwoma obiektami asocjowanym typem obiektu
Popatrzmy na poczatkowy ERD pokazany na rysunku, na
którym wystepuje zwiazek KUPUJE miedzy KLIENTEM a
TOWAREM
Dołaczanie dodatkowych typów
obiektów
Podczas przypisywania atrybutów moe sie okazac, e
istnieje element danych data_zakupu, który moe
naleec do zwiazku KUPUJE oraz jawnie opisuje, czyli
dostarcza dane o zwiazku miedzy klientem i towarem
Sugeruje to, e naley zastapic zwiazek KUPUJE
asocjowanym typem obiektu, pokazanym na rysunku

Dołaczanie dodatkowych typów
obiektów
Czasami poczatkowy diagram E-R bedzie zawierał typ
obiektu, który przy dokładniejszej analizie okae sie
asocjowanym typem obiektu
Rysunek przedstawia diagram E-R z trzema powiazanymi
obiektami: KLIENTEM, ZAMÓWIENIEM i TOWAREM
Dołaczanie dodatkowych typów
obiektów
Podczas przypisywania atrybutów rónym
obiektom stwierdzilismy, e data_dostawynajbardziej pasuje do obiektu ZAMÓWIENIE
(w koncu klienci nie sa dostarczani, towary zas sa
dostarczane tylko w wyniku zamówienia)
Dalsze przemyslenia ujawniły, e samoZAMÓWIENIE to zwiazek miedzy KLIENTEM
i TOWAREM, jak te obiekt, o którym chcemy
zapamietywac pewne fakty co prowadzi do
modyfikacji diagramu
Dołaczanie dodatkowych typów
obiektów Powtarzajace sie grupy
Rozwamy typ obiektu PRACOWNIK, z takimi
oczywistymi elementami danych jak nazwisko i
adres
Załómy, e znalezlismy dodatkowe elementy
danych nazwisko_dziecka, wiek_dziecka i
płec_dziecka
Oczywiscie mona uwaac, e te elementy
danych to sposób opisania nowego typu obiektu
DZIECKO, który przedtem zawarlismy w obiekcie
PRACOWNIK
Dołaczanie dodatkowych typów
obiektów
Podczas przypisywania atrybutów rónym
obiektom stwierdzilismy, e data_dostawynajbardziej pasuje do obiektu ZAMÓWIENIE
(w koncu klienci nie sa dostarczani, towary zas sa
dostarczane tylko w wyniku zamówienia)
Dalsze przemyslenia ujawniły, e samoZAMÓWIENIE to zwiazek miedzy KLIENTEM
i TOWAREM, jak te obiekt, o którym chcemy
zapamietywac pewne fakty co prowadzi do
modyfikacji diagramu
Dołaczanie dodatkowych typów
obiektów Powtarzajace sie grupy
Rozwamy typ obiektu PRACOWNIK, z takimi
oczywistymi elementami danych jak nazwisko i
adres
Załómy, e znalezlismy dodatkowe elementy
danych nazwisko_dziecka, wiek_dziecka i
płec_dziecka
Oczywiscie mona uwaac, e te elementy
danych to sposób opisania nowego typu obiektu
DZIECKO, który przedtem zawarlismy w obiekcie
PRACOWNIK

Powtarzajace sie grupy
Mona take dostrzec, e istnieje wiele
egzemplarzy informacji dotyczacej dziecka
zwiazanej z jednym egzemplarzem pracownika
Kady taki egzemplarz informacji o dziecku jest
jednoznacznie identyfikowany
nazwiskiem_dziecka
Wobec tego typ obiektu poczatkowo pokazany
na rysunku A naley przekształcic na dwa typy
obiektów, połaczone nowym zwiazkiem jak
pokazano na rysunku B
Powtarzajace sie grupy
A B
Powtarzajace sie grupy
Taki proces usuwania obiektów zagniedonych
stanowi czesc szerszej czynnosci modyfikacji
zwanej normalizacja
Celem normalizacji jest otrzymanie typów
obiektów, w których kady egzemplarz (lub
element) składa sie z wartosci klucza
pierwotnego, identyfikujacej pewna encje, wraz
ze zbiorem wzajemnie niezalenych wartosci
atrybutów, opisujacych w jakis sposób encje
Usuwanie typów obiektów
Czesto modyfikacja ERD polega na usunieciu
nadmiarowych lub błednych typów obiektów i
zwiazków.
Sa cztery typowe sytuacje:
Typy obiektów składajace sie jedynie z
identyfikatora
Typy obiektów majace tylko jeden egzemplarz
Zawieszone asocjowane typy obiektów
Zwiazki wyprowadzalne
Powtarzajace sie grupy
A B
Powtarzajace sie grupy
Taki proces usuwania obiektów zagniedonych
stanowi czesc szerszej czynnosci modyfikacji
zwanej normalizacja
Celem normalizacji jest otrzymanie typów
obiektów, w których kady egzemplarz (lub
element) składa sie z wartosci klucza
pierwotnego, identyfikujacej pewna encje, wraz
ze zbiorem wzajemnie niezalenych wartosci
atrybutów, opisujacych w jakis sposób encje
Usuwanie typów obiektów
Czesto modyfikacja ERD polega na usunieciu
nadmiarowych lub błednych typów obiektów i
zwiazków.
Sa cztery typowe sytuacje:
Typy obiektów składajace sie jedynie z
identyfikatora
Typy obiektów majace tylko jeden egzemplarz
Zawieszone asocjowane typy obiektów
Zwiazki wyprowadzalne

Usuwanie typów obiektów
Jesli mamy diagram E-R, na którym
pewien typ obiektu jako jedyny element
danych ma przypisany identyfikator,
moliwe jest wyeliminowanie tego typu
obiektu i przypisanie identyfikatora jako
elementu danych spokrewnionemu typowi
obiektu
Ilustruje to przykład fragmentu systemu
kadrowego
Usuwanie typów obiektów
Podczas przypisywania
atrybutów rozmaitym
obiektom stwierdzilismy,
e jedyna informacja,
jaka o współmałonku
przechowuje system
kadrowy, jest nazwisko
(tzn. identyfikator
odróniajacy od siebie
poszczególnych
współmałonków w
systemie)
Usuwanie typów obiektów
Oczywista modyfikacja jest wówczas eliminacjaWSPÓŁMAŁBONKA jako typu obiektu oraz dołaczenie
nazwiska_współmałonka jako elementu danych do
obiektu PRACOWNIK
Takie ulepszenie ma sens jedynie wtedy, gdy istnieje
wzajemnie jednoznaczna odpowiedniosc miedzy
egzemplarzami własnie usuwanego obiektu i
egzemplarzami spokrewnionego obiektu
Podany przykład ma sens, poniewa we
współczesnych społeczenstwach zakłada sie, e
mona miec co najwyej jednego współmałonka
Usuwanie typów obiektów
Jeszcze wiekszej redukcji
mona dokonac wówczas,
gdy poczatkowy diagram
E-R zawiera obiekt, który
ma tylko identyfikator i
tylko jeden egzemplarz
Rozwamy poczatkowy
diagram E-R
przedstawiony na rysunku
Usuwanie typów obiektów
Podczas przypisywania
atrybutów rozmaitym
obiektom stwierdzilismy,
e jedyna informacja,
jaka o współmałonku
przechowuje system
kadrowy, jest nazwisko
(tzn. identyfikator
odróniajacy od siebie
poszczególnych
współmałonków w
systemie)
Usuwanie typów obiektów
Oczywista modyfikacja jest wówczas eliminacjaWSPÓŁMAŁBONKA jako typu obiektu oraz dołaczenie
nazwiska_współmałonka jako elementu danych do
obiektu PRACOWNIK
Takie ulepszenie ma sens jedynie wtedy, gdy istnieje
wzajemnie jednoznaczna odpowiedniosc miedzy
egzemplarzami własnie usuwanego obiektu i
egzemplarzami spokrewnionego obiektu
Podany przykład ma sens, poniewa we
współczesnych społeczenstwach zakłada sie, e
mona miec co najwyej jednego współmałonka
Usuwanie typów obiektów
Jeszcze wiekszej redukcji
mona dokonac wówczas,
gdy poczatkowy diagram
E-R zawiera obiekt, który
ma tylko identyfikator i
tylko jeden egzemplarz
Rozwamy poczatkowy
diagram E-R
przedstawiony na rysunku

Usuwanie typów obiektów
Na pierwszy rzut oka wydaje sie rozsadne
pokazanie zwiazku miedzy pacjentami i lekami w
szpitalu
Przypuscmy jednak, e jedyna informacja
zapisana o leku jest jego nazwa (identyfikator)
oraz przypuscmy, e szpital stosuje tylko jeden
typ leku (np. aspiryne)
Wówczas lek jest stała i nie musi w ogóle
pojawiac sie na diagramie
Oznacza to take, e system nie bedzie miał
magazynu danych zwanego LEKI
Usuwanie typów obiektów
Z tego powodu moga pojawic sie zawieszone
asocjowane typy obiektów
Rozwamy wariant poprzedniego przykładu
szpitalnego, pokazany na rysunku
Usuwanie typów obiektów
Jesli okae sie, e LEK ma jedynie identyfikator i
pojedynczy egzemplarz, wówczas bedzie
usuniety
Doprowadzi to do diagramu
Usuwanie typów obiektów
Po modyfikacji TERAPIA jest wcia
asocjowanym typem obiektu, mimo e jest
połaczona tylko z jednym innym typem
obiektu
Taka sytuacja na ERD jest okreslona jako
zawieszony asocjowany typ obiektu i jest
całkowicie poprawna (choc nieco
niezwykła)
Usuwanie typów obiektów
Z tego powodu moga pojawic sie zawieszone
asocjowane typy obiektów
Rozwamy wariant poprzedniego przykładu
szpitalnego, pokazany na rysunku
Usuwanie typów obiektów
Jesli okae sie, e LEK ma jedynie identyfikator i
pojedynczy egzemplarz, wówczas bedzie
usuniety
Doprowadzi to do diagramu
Usuwanie typów obiektów
Po modyfikacji TERAPIA jest wcia
asocjowanym typem obiektu, mimo e jest
połaczona tylko z jednym innym typem
obiektu
Taka sytuacja na ERD jest okreslona jako
zawieszony asocjowany typ obiektu i jest
całkowicie poprawna (choc nieco
niezwykła)

Usuwanie typów obiektów
Zwiazki, które moga byc wyprowadzone lub
obliczone, naley usunac z poczatkowego
diagramu
Jak wspominalismy, ERD powinien przedstawiac
wymagania dotyczace pamietanych danych
Dlatego jesli przedstawiony na kolejnym rysunku
zwiazek odnowienia miedzy KIEROWCA a
PRAWEM JAZDY moe byc wyprowadzony (na
podstawie daty urodzenia, czy w inny sposób
stosowany przez wydziały komunikacyjne),
wówczas naley go wyeliminowac
Usuwanie typów obiektów
Prowadzi to do diagramu, na którym typy obiektów nie
sa połaczone
Jest to poprawne, poniewa nie jest konieczne, aby
kady typ obiektu był połaczony z innym
Rozszerzenia słownika danych
Słownik danych naley rozszerzyc na potrzeby
notacji ERD
W zasadzie obiekty na ERD odpowiadaja
magazynom na DFD
Oznacza to, e w definicji w słowniku danych,
KLIENT to zarówno definicja typu obiektu, jak i
egzemplarz magazynu KLIENCI:
KLIENCI = {KLIENT}
KLIENT =
@nazwisko_klienta+adres+numer_telefonu
Rozszerzenia słownika danych
Definicja KLIENTA obejmuje specyfikacje pola
klucza, który jest elementem danych (lub
atrybutem) odróniajacym poszczególne
egzemplarze klienta. Znak "at" @ słuy do
wskazania pól klucza
Inny sposób wskazania klucza to podkreslenie
KLIENT =
nazwisko_klienta+adres+numer_telefonu
Usuwanie typów obiektów
Prowadzi to do diagramu, na którym typy obiektów nie
sa połaczone
Jest to poprawne, poniewa nie jest konieczne, aby
kady typ obiektu był połaczony z innym
Rozszerzenia słownika danych
Słownik danych naley rozszerzyc na potrzeby
notacji ERD
W zasadzie obiekty na ERD odpowiadaja
magazynom na DFD
Oznacza to, e w definicji w słowniku danych,
KLIENT to zarówno definicja typu obiektu, jak i
egzemplarz magazynu KLIENCI:
KLIENCI = {KLIENT}
KLIENT =
@nazwisko_klienta+adres+numer_telefonu
Rozszerzenia słownika danych
Definicja KLIENTA obejmuje specyfikacje pola
klucza, który jest elementem danych (lub
atrybutem) odróniajacym poszczególne
egzemplarze klienta. Znak "at" @ słuy do
wskazania pól klucza
Inny sposób wskazania klucza to podkreslenie
KLIENT =
nazwisko_klienta+adres+numer_telefonu

Rozszerzenia słownika danych

Rozszerzenia słownika danych


Do słownika danych musimy równie dołaczyc
definicje wszystkich zwiazków pokazanych na
ERD

Zwiazek kupuje, pokazany na rysunku mona


Definicja zwiazku powinna obejmowac opis zdefiniowac w słowniku danych nastepujaco:
znaczenia zwiazku w kontekscie aplikacji i
kupuje = *powiazanieklientaijednegolub

wskazywac obiekty tworzace zwiazek

wiecejtowarów*


Moga byc okreslone odpowiednie ograniczenia
@id_klienta + {@id_towaru + zakupiona_ilosc}

dolne i górne, aby wskazac, czy zwiazek
jeden-do-jednego, jeden-do-wielu
czy te wiele-do-wielu


Podsumowanie

Podsumowanie


Pytanie czy najpierw naley budowac model DFD, a
dopiero potem ERD, czy te lepiej rozpoczac od

Dla kadego systemu z wieloma ERD?
magazynami (obiektami) i złoonymi

Niektórzy pytaja nawet, czy rzeczywiscie naley
sporzadzic oba modele, skoro zarówno DFD jak i

strukturami danych ERD stanowi

ERD dostarczaja tak wiele interesujacej informacji
wartosciowe narzedzie


Odpowiedz na pierwsze pytanie jest łatwa: nie ma
znaczenia, który model bedzie zbudowany pierwszy

Koncentruje sie ono całkowicie na

Zalenie od własnych preferencji, preferencji
zwiazkach miedzy danymi, pomijajac

uytkownika lub natury samego systemu (tzn. czy
funkcje tworzace lub korzystajace jest on bogaty w funkcje czy w dane) jeden
z modeli wyda sie na poczatek łatwiejszy

z tych danych


Niekiedy moe okazac sie, e oba modele beda
budowane jednoczesnie

Diagramy sieci przejsc


Przedstawilismy ju narzedzia modelowania
uwypuklajace funkcje realizowane przez system,
jak te pamietane dane, które system musi
Diagramy sieci przejsć
gromadzic


Obecnie omówimy trzeci rodzaj narzedzi
modelowania, diagram sieci przejsc (STD -
State Transition Diagram), pokazujacy
zachowania systemu w czasie
Diagramy sieci przejsć
Diagramy sieci przejsć



Do niedawna modele zachowania systemu w czasie
były istotne tylko dla specjalnej kategorii systemów

Wiele z nich to systemy bierne w tym
zwanych systemami czasu rzeczywistego sensie, e nie steruja otaczajacym

Przykładami takich systemów sa: srodowiskiem, lecz jedynie reaguja na nie

systemy sterowania procesami
i gromadza o nim informacje

telefoniczne systemy przełaczajace

Do tej kategorii naley wiele systemów

systemy szybkiego gromadzenia danych
szybkiego gromadzenia danych

wojskowe systemy nadzoru i sterowania (np. system gromadzenia danych
naukowych z satelity)

Diagramy sieci przejsc
Inne systemy czasu rzeczywistego sa bardziej
aktywne, moga sterowac niektórymi aspektami
otaczajacego srodowiska
Do tej kategorii nalea systemy sterowania
procesami
Systemy tego rodzaju maja do czynienia
z bardzo szybkimi zewnetrznymi zródłami danych,
musza udzielac odpowiedzi i dostarczac danych
wynikowych dostatecznie szybko dla zewnetrznego
srodowiska
Wana czescia ich specyfikacji jest okreslenie, co ma
kiedy nastapic
Diagramy sieci przejsc
Dla systemów handlowych zagadnienie to
w zasadzie nie było istotne
Dane moga napływac z wielu rónych zródełz dosc dua szybkoscia, lecz ich przetwarzanie moe
byc zwykle odroczone, jesli system zajmuje sieczyms innym
Obecnie jednak zaczynaja sie pojawiac wielkie,
złoone systemy handlowe, w których wystepujaaspekty czasu rzeczywistego
Jesli system otrzymuje dane z tysiecy terminali, jak
te szybkie dane z innych systemów komputerowych
lub urzadzen do komunikacji satelitarnej, wówczaspojawiaja sie te same problemy, co w klasycznym
systemie czasu rzeczywistego
Notacja diagramu sieci przejsc
Typowy diagram sieci przejsc pokazany jest na
rysunku
Przedstawia on zachowanie typowej
automatycznej sekretarki telefonicznej
Notacja diagramu sieci przejsc
Podstawowymi składnikami sa stany i
strzałki reprezentujace przejscia miedzy
stanami
Istnieje wiele rónych notacji dla
diagramów sieci przejsc, jedna z nich jest
pokazana na rysunku
Diagramy sieci przejsc
Dla systemów handlowych zagadnienie to
w zasadzie nie było istotne
Dane moga napływac z wielu rónych zródełz dosc dua szybkoscia, lecz ich przetwarzanie moe
byc zwykle odroczone, jesli system zajmuje sieczyms innym
Obecnie jednak zaczynaja sie pojawiac wielkie,
złoone systemy handlowe, w których wystepujaaspekty czasu rzeczywistego
Jesli system otrzymuje dane z tysiecy terminali, jak
te szybkie dane z innych systemów komputerowych
lub urzadzen do komunikacji satelitarnej, wówczaspojawiaja sie te same problemy, co w klasycznym
systemie czasu rzeczywistego
Notacja diagramu sieci przejsc
Typowy diagram sieci przejsc pokazany jest na
rysunku
Przedstawia on zachowanie typowej
automatycznej sekretarki telefonicznej
Notacja diagramu sieci przejsc
Podstawowymi składnikami sa stany i
strzałki reprezentujace przejscia miedzy
stanami
Istnieje wiele rónych notacji dla
diagramów sieci przejsc, jedna z nich jest
pokazana na rysunku

Stany systemu
Stany systemu



Przykłady typowych stanów systemu:

Kady prostokat reprezentuje stan, w

oczekiwanie, aby uytkownik wprowadził
jakim moe znajdowac sie system hasło

podgrzewanie mieszaniny chemicznej

New World Dictionary Webstera podaje

oczekiwanie na nastepne polecenie

nastepujaca definicje stanu:


przyspieszanie silnika
Zbiór okolicznosci lub cech


mieszanie składników
charakteryzujacych osobe lub rzecz
w

oczekiwanie na dane pomiarowe
danej chwili; sposób lub forma istnienia;



napełnianie zbiornika
warunek

bezczynny
Stany systemu
Zmiany stanów



Wiele z tych przykładów obejmuje czekanie
System, który miałby tylko jeden stan
systemu na jakies zdarzenie, nie opisuje zas
byłby statyczny

adnych działan


Dlatego dowolny obserwowalny stan systemu
Zwykle systemy informacyjne, które
odpowiada tylko okresom gdy modelujemy, moga miec dziesiatki rónych
(1) czeka on na jakies zdarzenie w otaczajacymstanów
srodowisku lub

W jaki sposób zmienia sie stan systemu?
(2) czeka, aby obecna czynnosc otoczenia
(mieszanie, pranie, napełnianie, przyspieszanie
Jesli system podlega regułom rzadzacym
itp.) zastapiono inna jego zachowaniem, tylko niektóre przejscia


Stan przedstawia wiec zachowanie systemu,miedzy stanami beda sensowne i
które jest obserwowalne i trwa przez jakis
dozwolone

skonczony odcinek czasu


Zmiany stanów
Dozwolone zmiany stanów
przedstawiamy na STD łaczac
odpowiednie pary stanów
strzałkami
Ilustruje to kolejny rysunek
System moe przejsc ze stanu 1
do stanu 2, oraz e gdy system
jest w stanie 2, moe przejsc do
stanu 3 lub z powrotem
do stanu 1
System nie moe przejsc
bezposrednio ze stanu 1 do stanu
3, ale moe przejsc bezposrednio
ze stanu 3 z powrotem do stanu 1
Stan 2 ma dwa nastepniki
Zmiany stanów
Na rysunku znajduje sie wiele interesujacych
informacji o zachowaniu systemu, ale nie ma na
nim pewnej, byc moe bardzo istotnej rzeczy:
jaki jest poczatkowy i koncowy stan systemu
Kolejny rysunek jest stabilnym modelem
systemu, który był zawsze aktywny i zawsze
pozostanie aktywny
Wiekszosc systemów ma wyrónione stany
poczatkowe i koncowe; pokazane na rysunku
Zmiany stanów
Stan poczatkowy rysuje sie z
reguły u góry diagramu, tym co
naprawde wyrónia stan 1 na
rysunku jako poczatkowy, jest
,,naga" strzałka, która nie jest
połaczona z adnym innym stanem
Podobnie stan koncowy jest czesto
rysowany u dołu diagramu, tym co
identyfikuje stan 5 jako koncowy,
jest brak strzałki wychodzacej ze
stanu 5
Zmiany stanów
Zdrowy rozsadek podpowiada, e system moe
miec tylko jeden stan poczatkowy, ale moe
miec wiele stanów koncowych
Stany koncowe wzajemnie wykluczaja sie, tzn.
tylko jeden z nich moe wystapic podczas
działania systemu
Kolejny rysunek zawiera przykład, w którym
moliwymi stanami koncowymi sa stany 4 i 6
Zmiany stanów
Na rysunku znajduje sie wiele interesujacych
informacji o zachowaniu systemu, ale nie ma na
nim pewnej, byc moe bardzo istotnej rzeczy:
jaki jest poczatkowy i koncowy stan systemu
Kolejny rysunek jest stabilnym modelem
systemu, który był zawsze aktywny i zawsze
pozostanie aktywny
Wiekszosc systemów ma wyrónione stany
poczatkowe i koncowe; pokazane na rysunku
Zmiany stanów
Stan poczatkowy rysuje sie z
reguły u góry diagramu, tym co
naprawde wyrónia stan 1 na
rysunku jako poczatkowy, jest
,,naga" strzałka, która nie jest
połaczona z adnym innym stanem
Podobnie stan koncowy jest czesto
rysowany u dołu diagramu, tym co
identyfikuje stan 5 jako koncowy,
jest brak strzałki wychodzacej ze
stanu 5
Zmiany stanów
Zdrowy rozsadek podpowiada, e system moe
miec tylko jeden stan poczatkowy, ale moe
miec wiele stanów koncowych
Stany koncowe wzajemnie wykluczaja sie, tzn.
tylko jeden z nich moe wystapic podczas
działania systemu
Kolejny rysunek zawiera przykład, w którym
moliwymi stanami koncowymi sa stany 4 i 6

Zmiany stanów Zmiany stanów
Poniewa uywamy STD do budowy
modelu podstawowego, zakładamy, e
zmiany stanów zachodza natychmiast, tzn.
nie jest potrzebny aden obserwowalny
czas, aby system przeszedł z jednego
stanu do innego
Warunki i akcje
Aby diagram sieci przejsc był
kompletny, naley dodac
jeszcze dwa składniki:
warunki, powodujace zmiane
stanu, oraz
akcje, które wykonuje system
zmieniajac stan
Warunki i akcje zaznacza sie
obok strzałki łaczacej dwa
sasiednie stany
STAN 1
STAN 2
Warunek
Akcja
Warunki i akcje
Warunek to pewne zdarzenie w otaczajacym
srodowisku, które system moe wykryc
Zwykle bedzie to sygnał, nadejscie pakietu
danych itp.
Powoduje to zwykle przejscie systemu ze stanu
oczekiwania na X do nowego stanu oczekiwania
na Y lub z wykonywania akcji X do wykonywania
akcji Y
Zmiany stanów
Poniewa uywamy STD do budowy
modelu podstawowego, zakładamy, e
zmiany stanów zachodza natychmiast, tzn.
nie jest potrzebny aden obserwowalny
czas, aby system przeszedł z jednego
stanu do innego
Warunki i akcje
Aby diagram sieci przejsc był
kompletny, naley dodac
jeszcze dwa składniki:
warunki, powodujace zmiane
stanu, oraz
akcje, które wykonuje system
zmieniajac stan
Warunki i akcje zaznacza sie
obok strzałki łaczacej dwa
sasiednie stany
STAN 1
STAN 2
Warunek
Akcja
Warunki i akcje
Warunek to pewne zdarzenie w otaczajacym
srodowisku, które system moe wykryc
Zwykle bedzie to sygnał, nadejscie pakietu
danych itp.
Powoduje to zwykle przejscie systemu ze stanu
oczekiwania na X do nowego stanu oczekiwania
na Y lub z wykonywania akcji X do wykonywania
akcji Y

Warunki i akcje
Podczas zmiany stanu system zwykle wykonuje
jedna lub wiecej akcji:
produkuje wyniki
wyswietla komunikat na terminalu uytkownika
wykonuje obliczenie itd.
Akcje pokazane na STD sa wiec odpowiedziami,
wysłanymi z powrotem do srodowiska, lub
obliczeniami, których wyniki sa zapamietywane
przez system (zwykle w magazynie danych
pokazanym na diagramie przepływu), aby w
razie potrzeby zareagowac na jakies przyszłe
zdarzenie
Diagramy podzielone
W złoonym systemie moga wystepowac
dziesiatki rónych stanów; pokazanie ich na
pojedynczym diagramie byłoby trudne, a moe
nawet niemoliwe
Podobnie jak równowaylismy (dzielilismy)
diagramy przepływu danych, mona równie
dokonywac podziału STD
Kolejny rysunek zawiera przykład dwóch
poziomów diagramu sieci przejsc dla złoonego
systemu
Diagramy podzielone
Wg Współczesna analiza
strukturalna
E. Yourdon
WNT, Warszawa 1996
Diagramy podzielone
Kady pojedynczy stan na diagramie wyszegopoziomu moe byc stanem poczatkowym nadiagramie niszego poziomu, dokładniejopisujacym ten stan
Stany koncowe na diagramie niszego poziomuodpowiadaja warunkom wyjsciaz odpowiedniego stanu wyszego poziomu
W innych przypadkach analityk moe jawniepokazac, w jaki sposób nastepuje wyjscie zdiagramu STD niszego poziomu doodpowiedniego miejsca na diagramie wyszegopoziomu
Diagramy podzielone
W złoonym systemie moga wystepowac
dziesiatki rónych stanów; pokazanie ich na
pojedynczym diagramie byłoby trudne, a moe
nawet niemoliwe
Podobnie jak równowaylismy (dzielilismy)
diagramy przepływu danych, mona równie
dokonywac podziału STD
Kolejny rysunek zawiera przykład dwóch
poziomów diagramu sieci przejsc dla złoonego
systemu
Diagramy podzielone
Wg Współczesna analiza
strukturalna
E. Yourdon
WNT, Warszawa 1996
Diagramy podzielone
Kady pojedynczy stan na diagramie wyszegopoziomu moe byc stanem poczatkowym nadiagramie niszego poziomu, dokładniejopisujacym ten stan
Stany koncowe na diagramie niszego poziomuodpowiadaja warunkom wyjsciaz odpowiedniego stanu wyszego poziomu
W innych przypadkach analityk moe jawniepokazac, w jaki sposób nastepuje wyjscie zdiagramu STD niszego poziomu doodpowiedniego miejsca na diagramie wyszegopoziomu

Diagramy podzielone
Przykładem
wymagajacym
podzielonego
diagramu sieci przejsc
moe byc bankomat
STD dla tej aplikacji
pokazano na rysunku
Budowa diagramu sieci przejsc
Istnieja dwa podejscia:
Mona rozpoczac od zidentyfikowania
wszystkich moliwych stanów systemu,
reprezentujac kady z nich na rysunku
oddzielnym prostokatem. Nastepnie mona
badac wszystkie sensowne połaczenia (czyli
zmiany stanów) miedzy prostokatami.
Mona te rozpoczac od stanu poczatkowego,
potem metodycznie przechodzic do
nastepnych stanów, a z nich do kolejnych itd.
Budowa diagramu sieci przejsc
Wybór podejscia moe byc okreslony przez
uytkownika, zwłaszcza gdy jest on jedyna
osoba dobrze znajaca zachowanie systemu
Do wykonania akcji system moe potrzebowac
dodatkowych wejsc ze srodowiska zewnetrznego
Mona wiec stwierdzic, e kady warunek
odpowiada zdarzeniu zewnetrznemu, na które
system musi zareagowac, zdarzenia te zas beda
zwykle dostrzeone przez system dzieki
nadejsciu wchodzacego przepływu danych
Budowa diagramu sieci przejsc
Po zakonczeniu budowy wstepnego STD naley
sprawdzic nastepujace warunki:
Czy zdefiniowano wszystkie stany? Przyjrzyj sie
dokładnie systemowi, aby stwierdzic, czy istnieje jakies
obserwowalne zachowanie lub inny stan, w jakim moe
znajdowac sie system, poza zidentyfikowanymi
Czy wszystkie stany sa osiagalne? Czy nie zdefiniowałes
stanów, do których nie prowadza adne drogi?
Czy istnieja wyjscia ze wszystkich stanów? Jak
wspomnielismy, system moe miec jeden lub wiecej
stanów koncowych z kilkoma wejsciami do nich;
wszystkie inne stany powinny miec nastepniki
Budowa diagramu sieci przejsc
Istnieja dwa podejscia:
Mona rozpoczac od zidentyfikowania
wszystkich moliwych stanów systemu,
reprezentujac kady z nich na rysunku
oddzielnym prostokatem. Nastepnie mona
badac wszystkie sensowne połaczenia (czyli
zmiany stanów) miedzy prostokatami.
Mona te rozpoczac od stanu poczatkowego,
potem metodycznie przechodzic do
nastepnych stanów, a z nich do kolejnych itd.
Budowa diagramu sieci przejsc
Wybór podejscia moe byc okreslony przez
uytkownika, zwłaszcza gdy jest on jedyna
osoba dobrze znajaca zachowanie systemu
Do wykonania akcji system moe potrzebowac
dodatkowych wejsc ze srodowiska zewnetrznego
Mona wiec stwierdzic, e kady warunek
odpowiada zdarzeniu zewnetrznemu, na które
system musi zareagowac, zdarzenia te zas beda
zwykle dostrzeone przez system dzieki
nadejsciu wchodzacego przepływu danych
Budowa diagramu sieci przejsc
Po zakonczeniu budowy wstepnego STD naley
sprawdzic nastepujace warunki:
Czy zdefiniowano wszystkie stany? Przyjrzyj sie
dokładnie systemowi, aby stwierdzic, czy istnieje jakies
obserwowalne zachowanie lub inny stan, w jakim moe
znajdowac sie system, poza zidentyfikowanymi
Czy wszystkie stany sa osiagalne? Czy nie zdefiniowałes
stanów, do których nie prowadza adne drogi?
Czy istnieja wyjscia ze wszystkich stanów? Jak
wspomnielismy, system moe miec jeden lub wiecej
stanów koncowych z kilkoma wejsciami do nich;
wszystkie inne stany powinny miec nastepniki

Budowa diagramu sieci przejsc
Czy w kadym stanie system odpowiada poprawnie na
wszystkie warunki?
Jest to najczestszy bład przy budowie diagramu sieci
przejsc
Analityk identyfikuje zmiany stanów w warunkach
normalnych, lecz zapomina okreslic zachowanie systemu
dla nieoczekiwanych zdarzen
Załómy, e analityk wymodelował zachowanie systemu
w sposób pokazany na kolejnym rysunku
Oczekuje on, e uytkownik nacisnie pewien klawisz
funkcyjny na swoim terminalu, aby spowodowac
przejscie ze stanu 1 do stanu 2 oraz inny klawisz
funkcyjny, aby przejsc ze stanu 2 do stanu 3
Budowa diagramu sieci przejsc
Co stanie sie, jesli uytkownik
nacisnie ten sam klawisz
funkcyjny dwa razy z rzedu?
Albo inny klawisz? Jesli
zachowanie systemu nie jest
okreslone, istnieje dua
szansa, e projektanci i
programisci równie nie
zaprogramuja tego i system
bedzie sie w rozmaitych
okolicznosciach zachowywał w
sposób nieprzewidziany
Zwiazek z innymi składowymi
modelu
Diagram sieci przejsc jest narzedziem
modelowania, które moe byc uywane
samodzielnie
Moe jednak te, i zwykle powinien, byc
uywany w powiazaniu z innymi narzedziami
Najczesciej diagram sieci przejsc reprezentuje
specyfikacje procesu dla procesu sterujacego na
diagramie przepływu danych
Ilustruje to kolejny rysunek
Zwiazek z innymi składowymi
modelu
Warunki na STD odpowiadaja wejsciowym przepływomsterujacym na DFD, a akcje na STD wyjsciowymprzepływom sterujacym na DFD
Jako narzedzie modelowania wysokiego poziomu, diagramsieci przejsc moe pełnic role specyfikacji procesu dlacałego systemu
Budowa diagramu sieci przejsc
Co stanie sie, jesli uytkownik
nacisnie ten sam klawisz
funkcyjny dwa razy z rzedu?
Albo inny klawisz? Jesli
zachowanie systemu nie jest
okreslone, istnieje dua
szansa, e projektanci i
programisci równie nie
zaprogramuja tego i system
bedzie sie w rozmaitych
okolicznosciach zachowywał w
sposób nieprzewidziany
Zwiazek z innymi składowymi
modelu
Diagram sieci przejsc jest narzedziem
modelowania, które moe byc uywane
samodzielnie
Moe jednak te, i zwykle powinien, byc
uywany w powiazaniu z innymi narzedziami
Najczesciej diagram sieci przejsc reprezentuje
specyfikacje procesu dla procesu sterujacego na
diagramie przepływu danych
Ilustruje to kolejny rysunek
Zwiazek z innymi składowymi
modelu
Warunki na STD odpowiadaja wejsciowym przepływomsterujacym na DFD, a akcje na STD wyjsciowymprzepływom sterujacym na DFD
Jako narzedzie modelowania wysokiego poziomu, diagramsieci przejsc moe pełnic role specyfikacji procesu dlacałego systemu

Podsumowanie


Diagram sieci przejsc to mocne narzedzie
modelowania do opisu wymaganego
zachowania systemów czasu
Równowa,enie modeli

rzeczywistego, jak te czesci interfejsu
uytkowego wielu systemów
interakcyjnych


Równowaenie modeli
Równowaenie modeli



Kade z tych narzedzi koncentruje sie na jednym

Najwaniejsze narzedzia modelowania w krytycznym aspekcie modelowanego systemu
analizie strukturalnej:

Oznacza to, e osoba ogladajaca model take

diagram przepływu danych koncentruje sie na jednym aspekcie, tzn. na
tym, na które narzedzie modelowania ma

słownik danych
zwrócic jej uwage


specyfikacja procesu

Poniewa rzeczywisty system moe miec wiele

diagram zwiazków encji
kierunków złoonosci, chcemy, aby diagram


diagram sieci przejsc
przepływu danych skupił uwage czytelnika na
funkcjach systemu, a nie na zwiazkach miedzy
danymi


Równowaenie modeli
Diagram zwiazków encji ma uwypuklac
zwiazki miedzy danymi bez zajmowania sie
funkcjonalna charakterystyka systemu
Diagram sieci przejsc zas słuy do
skupienia uwagi na zagadnieniach
synchronizacji systemu, bez rozwaania
funkcji lub danych
Równowaenie modeli
Przychodzi jednak czas połaczenia
wszystkich narzedzi modelowania
Sytuacja modelujacego system
przypomina stara indyjska bajke o trzech
slepych medrcach, którzy natkneli sie na
słonia
Po dotknieciu rónych czesci jego ciała
doszli do zupełnie innych wniosków o
,,rzeczywistosci", z która maja do
czynienia
Równowaenie modeli Równowaenie modeli
Pierwszy ze slepców dotknał ostrego konca
jednego z długich kłów. "Aha powiedział -to jest
byk. Czuje jego rogi"
Drugi dotknał szczeciniastej skóry zwierzecia.
"Bez watpienia
powiedział -jest to ... co?
Jeozwierz? Tak, na pewno jeozwierz"
Trzeci dotknał jednej z grubych nóg słonia i
oswiadczył "To z czym mamy do czynienia jest
na pewno drzewem"
Równowaenie modeli
Przychodzi jednak czas połaczenia
wszystkich narzedzi modelowania
Sytuacja modelujacego system
przypomina stara indyjska bajke o trzech
slepych medrcach, którzy natkneli sie na
słonia
Po dotknieciu rónych czesci jego ciała
doszli do zupełnie innych wniosków o
,,rzeczywistosci", z która maja do
czynienia
Równowaenie modeli Równowaenie modeli
Pierwszy ze slepców dotknał ostrego konca
jednego z długich kłów. "Aha powiedział -to jest
byk. Czuje jego rogi"
Drugi dotknał szczeciniastej skóry zwierzecia.
"Bez watpienia
powiedział -jest to ... co?
Jeozwierz? Tak, na pewno jeozwierz"
Trzeci dotknał jednej z grubych nóg słonia i
oswiadczył "To z czym mamy do czynienia jest
na pewno drzewem"

Równowaenie modeli
Równowaenie modeli



Podobnie modelujac trzy róne aspekty systemu

Jest jeszcze jedna przyczyna zajmowania sie
(funkcje, dane i synchronizacje), jak te
spójnoscia modelu: istniejace błedy zostana w

szczegółowa charakterystyke systemu w słowniku

koncu wykryte, lecz staje sie to znacznie

danych i w zbiorze specyfikacji procesów, łatwo
sporzadzic kilka sprzecznych interpretacji tej samej trudniejsze i bardziej kosztowne w pózniejszych
rzeczywistosci fazach projektu


Jest to szczególnie niebezpieczne w duych

Błedy wprowadzone podczas analizy systemowej
projektach, gdy w pracach biora udział róne osoby i
do modelu wymagan zwykle rozrastaja sie w

grupy o rónych zainteresowaniach

fazie projektowania i implementacji


Niebezpieczenstwo istnieje te wówczas, gdy zespół
projektowy obejmuje osoby o bardzo rónym

Jest to powane niebezpieczenstwo zwłaszcza w
przygotowaniu
wielkich systemach, w których analizy dokonuja
inne osoby ni projektowania i implementacji

Równowaenie modeli
Równowaenie modeli



Niektóre z błedów to oczywiscie proste błedy

50% błedów wykrywanych w systemie i 75% w pojedynczym modelu (np. diagram przepływu
kosztów ich usuwania jest zwiazane z błedami danych z nieskonczona studnia)
popełnionymi podczas fazy analizy systemu

Niektóre z nich mona okreslic jako błedna
interpretacje prawdziwych oczekiwan uytkownika


Koszt poprawiania błedów rosnie wykładniczo w

Jednak wiele z trudniejszych i bardziej zdradliwych
pózniejszych etapach projektu; jest dziesiec razy

błedów to błedy miedzy modelami, tzn. niezgodnosci

taniej poprawic bład podczas analizy systemu w

jednego modelu z innym

fazie analizy ni poprawiac ten sam bład w fazie


Specyfikacje strukturalna, w której sprawdzono
projektowania

niesprzecznosc wszystkich narzedzi modelowania z
innymi, nazywamy zrównowaona


Równowaenie modeli
Równowaenie modeli



Najczestszy bład zrównowaenia to brakujaca
definicja

Równowaenie dotyczy:

Cos zdefiniowanego (lub opisanego) w jednym

diagramu przepływu danych ze słownikiem
modelu nie jest odpowiednio zdefiniowane w danych
innym

diagramu przepływu danych ze specyfikacja

Np. magazyn danych pokazany na DFD, lecz nie procesu
zdefiniowany w słowniku danych, lub obiekt na

specyfikacji procesu ze słownikiem danych
ERD, nie majacy odpowiadajacego magazynu


ERD z DFD i specyfikacjami procesów
danych na DFD)


ERD ze słownikiem danych

Drugi czesty typ błedu to niespójnosc: ta sama
,,rzeczywistosc" jest opisana rónymi, wzajemnie

DFD z diagramem sieci przejsc
sprzecznymi sposobami w rónych modelach
Równowaenie DFD ze słownikiem Równowaenie DFD ze słownikiem
danych danych



Odwrotnie, kady element danych i kady magazyn

Reguły równowaenia diagramu przepływu danych zdefiniowany w słowniku danych musi
wystapic gdzies na DFD
danych ze słownikiem danych sa


Jesli nie wystepuje, wadliwy element danych lub
nastepujace:

magazyn danych jest "duchem" -czyms


Kady przepływ danych (tzn. strzałka na DFD)
zdefiniowanym lecz nie "uywanym" w systemie
i kady magazyn danych musi byc
Moe sie tak zdarzyc, gdy zdefiniowane elementy
zdefiniowany w słowniku danych. Jesli brak go danych odpowiadaja wczesniejszej wersji DFD
w słowniku danych, przepływ danych lub

Niebezpieczenstwo polega na dokonanej zmianie DFD

magazyn danych uznaje sie za (np. mógł zostac usuniety przepływ danych lub
niezdefiniowany magazyn danych) bez odpowiadajacej jej zmiany w
słowniku danych


Równowaenie DFD ze słownikiem Równowaenie DFD ze specyfikacjRównowaenie DFD ze specyfikacją
danych procesu



Oznacza to, oczywiscie, e analityk systemów

Reguły równowaenia DFD ze specyfikacjami
musi wnikliwie przejrzec zarówno DFD, jak i procesów:
słownik danych, aby upewnic sie, e sa

Dla kadego procesu na DFD musi istniec DFD
zrównowaone ze sobą
niszego poziomu albo specyfikacja procesu, lecz nie
obie te rzeczy. Jesli DFD zawiera proces oznaczony


Nie ma znaczenia, który model bada sie
1.4.2, musi albo istniec diagram oznaczony Diagram

najpierw, lecz wiekszosc analityków rozpoczyna

1.4.2 z procesami 1.4.2.1, 1.4.2.2 itd., albo
od sprawdzenia, czy wszystkie elementy DFD sa specyfikacja strukturalna musi zawierac specyfikacje
zdefiniowane w słowniku danych procesu 1.4.2. Jesli istnieja obie te rzeczy, model jest
niepotrzebnie (i niebezpiecznie) nadmiarowy

Równowaenie DFD ze specyfikacja Równowaenie DFD ze specyfikacją
procesu procesu



Wejscia i wyjscia musza pasowac

Z kada specyfikacja procesu musi byc zwiazany

DFD pokazuje wchodzace i wychodzace
proces najniszego poziomu na DFD
przepływy dla kadego procesu, jak te


Poniewa specyfikacje procesów wymagaja wiele połaczenia z magazynami
pracy, wydaje sie mało realne, aby w modelu

Powinno to byc widoczne take w specyfikacji
znajdowały sie "bezdomne" specyfikacje
procesu. Oczekujemy wiec zdan CZYTAJ (WEZ,

procesów

POBIERZ lub innych podobnych czasowników)


Tak jednak moe sie zdarzyc wówczas, gdy odpowiadajacych kademu wchodzacemu
specyfikacja procesu była napisana dla wstepnej przepływowi oraz ZAPISZ (lub WŁÓB,
wersji DFD, a podczas jego ulepszania WYSWIETL itp.) dla kadego wychodzacego
wyeliminowano niektóre procesy z DFD przepływu

Równowaenie specyfikacji procesów Równowaenie specyfikacji procesóRównowaenie specyfikacji procesów
z DFD i słownikiem danych z DFD i słownikiem danych



pasuje do nazwy przepływu lub magazynu

Reguły równowaenia specyfikacji
danych połaczonego z procesem
procesów z diagramem przepływu danych


opisywanym specyfikacja, lub
i słownikiem danych mona opisać



jest terminem lokalnym, jawnie
nastepujaco:

zdefiniowanym w specyfikacji procesu, lub


Kade odwołanie do danych w specyfikacji

wystepuje jako składnik w pozycji
procesu musi spełniac jedna z

słownika danych dla przepływu lub

nastepujacych reguł:

magazynu danych połaczonego z
procesem

Równowaenie specyfikacji procesów

Przykład

z DFD i słownikiem danych


Fragment specyfikacji procesu

Elementy danych X i Y pojawiaja sie w
SPECYFIKACJA PROCESU 3.5:

specyfikacji procesu pokazanej na poprzednim

OBLICZ WSPÓŁCZYNNIK G

slajdzie, ale nie wystepuja jako dołaczony

*P i Q SA LOKALNYMI TERMINAMI NA WYNIKI POSREDNIE*

przepływ na DFD przedstawionym na rysunku

P = 3.14156 * X



Jednak słownik danych, którego fragment
Q = 2.78128 * Y -13 ilustruje kolejny slajd, wskazuje, e X i Y sa
składnikami Z, a na rysunku widzimy, e Z jest
WSPÓŁCZYNNIK-G = P * Q + 2 rzeczywiscie przepływem danych połaczonym z
procesem, moemy wiec stwierdzic, e model
Z
OBLICZ Współczynnik G jest zrównowaony
WSPÓŁCZYNNIK
G


Równowaenie specyfikacji procesów

Równowaenie słownika danych

z DFD i słownikiem danych

z DFD i specyfikacjami procesów


Słownik danych jest spójny z reszta modelu, jesli

Fragment słownika danych
spełnia nastepujaca regułe:
X = * poziomy składnik czynnika frammis
*

Do kadej pozycji ze słownika danych musi istnieć
odwołanie ze specyfikacji procesu, DFD lub innej


* jednostki: centymetry; zakres: 0 -100
*
pozycji słownika danych


Y = * pionowy składnik czynnika frammis *


Mona wprawdzie argumentowac, e słownik
* jednostki: centymetry; zakres: 0 -10 *
danych powinien byc budowany w taki sposób,

Z = * czynnik frammis, zdefiniowany przez
Dr. Frammisa * X + Y aby umoliwiał pózniejsze rozszerzenia, tzn.
zawierał elementy zbedne obecnie, lecz które
moga byc przydatne w przyszłosci


Równowaenie ERD z DFD Równowaenie ERD z DFD
i specyfikacjami procesów i specyfikacjami procesów



Diagram zwiazków encji prezentuje

Kademu magazynowi na DFD musi odpowiadac
na ERD typ obiektu, zwiazek lub ich kombinacja
całkiem inny punkt widzenia systemu ni

(tzn. asocjowany typ obiektu)

diagram przepływu danych


Jesli na DFD wystepuje magazyn, który nie

Wystepuja jednak pewne zwiazki, które pojawia sie na ERD, to cos jest zle; podobnie,
jesli obiekt lub zwiazek z ERD nie wystepuje na
musza byc zachowane, aby ogólny model

DFD

systemu był kompletny, poprawny i spójny


Nazwy obiektów na ERD i nazwy magazynów
danych na DFD musza do siebie pasowac

Równowaenie ERD z DFD
i specyfikacjami procesów
Pozycje słownika danych musza mieczastosowanie zarówno do modelu DFD, jak iERD
Dlatego pozycja słownika danych powinnaobejmowac definicje obiektu na ERD i magazynuna DFD
Oznacza to definicje słownikowa nastepujacejpostaci:
KLIENCI = {KLIENT}
KLIENT = nazwisko + adres + numer-telefonu +
...
Równowaenie ERD z DFD
i specyfikacjami procesów
Pozycje słownika danych w liczbie pojedynczej
(np. KLIENT) musza opisywac znaczenie i
budowe pojedynczego egzemplarza ze zbioru
obiektów uywanego (w liczbie pojedynczej) na
ERD i magazynu danych (w liczbie mnogiej) na
DFD
Pozycje słownika w liczbie mnogiej (np.
KLIENCI) opisuja znaczenie i budowe zbioru
egzemplarzy
Równowaenie ERD z DFD
i specyfikacjami procesów
Istnieja równie reguły gwarantujace, e ERD
jest spójny ze specyfikacjami procesów z modelu
funkcyjnego
Zbiór specyfikacji jako całosc powinien spełniac
nastepujace wymagania:
Tworzyc i usuwac egzemplarze kadego typu
obiektu i zwiazku, pokazanego na ERD
Ilustracja na DFD z kolejnego rysunku
Równowaenie ERD z DFD
i specyfikacjami procesów
Równowaenie ERD z DFD
i specyfikacjami procesów
Pozycje słownika danych w liczbie pojedynczej
(np. KLIENT) musza opisywac znaczenie i
budowe pojedynczego egzemplarza ze zbioru
obiektów uywanego (w liczbie pojedynczej) na
ERD i magazynu danych (w liczbie mnogiej) na
DFD
Pozycje słownika w liczbie mnogiej (np.
KLIENCI) opisuja znaczenie i budowe zbioru
egzemplarzy
Równowaenie ERD z DFD
i specyfikacjami procesów
Istnieja równie reguły gwarantujace, e ERD
jest spójny ze specyfikacjami procesów z modelu
funkcyjnego
Zbiór specyfikacji jako całosc powinien spełniac
nastepujace wymagania:
Tworzyc i usuwac egzemplarze kadego typu
obiektu i zwiazku, pokazanego na ERD
Ilustracja na DFD z kolejnego rysunku
Równowaenie ERD z DFD
i specyfikacjami procesów

Równowaenie ERD z DFD

Równowaenie ERD z DFD

i specyfikacjami procesów

i specyfikacjami procesów


Magazyn KLIENCI odpowiada obiektowi KLIENT

Cos musi tworzyc i usuwac egzemplarze klienta, czyli

Jakis proces powinien nadawac wartosci
pewien proces na DFD musi miec przepływ kademu elementowi danych, bedacemu
dołaczony do magazynu KLIENCI
atrybutem egzemplarza kadego typu


Jednak aktualna czynnosc zapisu do magazynu (tzn.
obiektu, a jakis proces powinien uywac

tworzenia lub usuwania egzemplarza

(lub odczytywac) wartosci kadego

odpowiadajacego na ERD obiektowi KLIENT) musi
dokonywac sie wewnatrz procesu, co oznacza, e elementu danych
powinna byc udokumentowana w specyfikacji tego
procesu


Równowaenie DFD z diagramem Równowaenie DFD z diagramem
sieci przejsc sieci przejsć



Diagram stanów jest zrównowaony z

Kady warunek na diagramie sieci przejsc
diagramem przepływu danych, jesli są
musi odpowiadac wchodzacemu
przepływowi sterujacemu procesu


spełnione nastepujace warunki:

kontrolnego zwiazanego z tym


Kady proces sterujacy na DFD ma jako
diagramem. Podobnie kademu

specyfikacje diagram sieci przejsc. Podobnie

wchodzacemu przepływowi sterujacemu

kady diagram sieci przejsc w ogólnym

do procesu sterujacego musi odpowiadac

modelu systemu musi byc powiazany z

okreslony warunek na własciwym

procesem sterujacym na DFD

diagramie sieci przejsc


Równowaenie DFD z diagramem Równowaenie DFD z diagramem
sieci przejsc sieci przejsc
Kadej akcji z diagramu sieci przejsc musi
odpowiadac wychodzacy przepływ
sterujacy z procesu sterujacego
zwiazanego z tym diagramem. Podobnie
kady wychodzacy z procesu kontrolnego
przepływ sterujacy musi byc zwiazany z
odpowiednia akcja na diagramie sieci
przejsc

Ilustruje to rysunek




Wyszukiwarka

Podobne podstrony:
Metody modelowania procesow 12 cz II
Metody modelowania procesow 12 cz I (1)
Metody modelowania procesow 12 cz III
Analiza śladów genetycznych jako dowód w procesie karnym – cz II
Prawo rzymskie cz II Proces cywilny
harmonogram laboratorium PNM cz II iIII 12
Elementarz modelowania powierzchniowego cz II
Chemiczne zanieczyszczenia żywności i metody ich oznaczania cz II
LIMS System zarządzania działalnością laboratorium Cz II Proces wdrażania systemu
2009 SP Kat prawo cywilne cz II
413 (B2007) Kapitał własny wycena i prezentacja w bilansie cz II
Fotografia ślubna zdjęcia w plenerze, cz II
Mikrokomputer Pecel z procesorem AT90S8535 cz 3

więcej podobnych podstron