ELH — diagramy historii życia encji Projektowanie systemów

Transkrypt

ELH — diagramy historii życia encji Projektowanie systemów
Projektowanie systemów informatycznych
ELH — diagramy
historii życia encji
Informacje ogólne i przykłady
Autor
Roman Simiński
Kontakt
[email protected]
www.us.edu.pl/~siminski
Projektowanie systemów informatycznych
Diagramy ELH
Diagramy ELH
Nazwa
Diagramy ELH — Entity Life History, czyli diagramy historii życia encji (obiektu)
Cel stosowania
Analiza i modelowanie rodzajów zmian które mogą zajść w informacjach
składowanych w systemie, wraz z kontekstem zajścia owych zmian.
Diagram ELH prezentuje w jaki sposób encje systemu zmieniają się w czasie jego
funkcjonowania. Diagram ten prezentuje pełny zbiór zmian jaki mogą zajść dla
encji, łącznie z informacją o kontekście tych zmian.
Diagram ELH tworzony jest dla każdej z encji osobno, przedstawia on losy
hipotetycznego egzemplarza encji, począwszy od jego utworzenia aż po jego
usunięcie.
Copyright © Roman Simiński
Strona : 2
Projektowanie systemów informatycznych
Diagramy ELH
Diagramy ELH, ERD, DFD
Diagramy ERD — statyczna struktura danych i relacji pomiędzy nimi
zachodzących.
Diagramy DFD — prezentacja dróg i sposobu przemieszczania się danych w
systemie oraz pomiędzy systemem a jego otoczeniem.
Diagramy ELH — prezentuję zmiany stanu encji w czasie działania systemu.
Copyright © Roman Simiński
Strona : 3
Projektowanie systemów informatycznych
Diagramy ELH
Diagramy ELH
Zdarzenia
W czasie życia systemu zachodzą zdarzenia, powodujące zmianę danych,
a dane modelowane są encjami.
Zatem zmiany stanów encji następują w wyniku zaistnienia pewnych zdarzeń.
Zdarzenie jest syntetycznym reprezentantem tego, że coś się wydarzyło
wewnątrz systemu lub w jego otoczeniu.
Zdarzenia zachodzą w pewnych warunkach, zdarzenia mogą się powtarzać.
Copyright © Roman Simiński
Strona : 4
Projektowanie systemów informatycznych
Diagramy ELH
Podstawa do budowy diagramów ELH
Aby sporządzić diagram ELH, potrzebne są diagramy opisujące model danych
systemu i model procesów występujących w systemie (i działających na
danych).
W metodykach strukturalnych model danych określa diagram ERD a model
procesów DFD.
Zatem diagram ELH uzupełnia diagramy ERD i DFD o informację o zmianach
zachodzących w danych w wyniku powstania zdarzeń, powstałych w skutek
realizacji pewnych procesów.
Copyright © Roman Simiński
Strona : 5
Projektowanie systemów informatycznych
Diagramy ELH
Diagramy ELH a ERD i DFD
Zdarzenia dotyczą obiektów składowanych w encjach, opisanych przez
diagramy ERD.
Zdarzenia powodują uruchomienie procesów, opisanych przez diagramy DFD.
Uruchomione procesy wykonują swoje czynności i dokonują aktualizacji
składnic danych, co jest modelowane przepływem aktualizującym składnice
danych na diagramie DFD.
Copyright © Roman Simiński
Strona : 6
Projektowanie systemów informatycznych
Diagramy ELH
Komponenty diagramów ELH
Diagram ELH jest zbiorem połączonych elementów, będących prostokątami.
Pojedynczy prostokąt, umieszczony na szczycie diagramu reprezentuje encję,
której historia życia jest aktualnie modelowana. Prostokąt ten zawiera nazwę
modelowanej encji.
Nazwa encji
Przykładowe encje:
Klient
Zamówienie
Pracownik
Płatność klienta
Encje, dla każdej z nich tworzy się osobny diagram
Copyright © Roman Simiński
Strona : 7
Projektowanie systemów informatycznych
Diagramy ELH
Komponenty diagramów ELH
Poniżej elementu reprezentującego encję umieszcza się prostokąty opisujące
zdarzenia.
Diagramy ELH „czyta” się od góry do dołu i od lewej do prawej.
Nazwa encji
Zdarzenie A
Copyright © Roman Simiński
Zdarzenie B
Zdarzenie C
Strona : 8
Projektowanie systemów informatycznych
Diagramy ELH
Porządkowanie zdarzeń na diagramach ELH
Diagramy ELH mogą składać się z trzy podstawowe konstrukcje:
Sekwencję zdarzeń, (np. zdarzenie A zachodzi przed zdarzeniem B).
Selekcję zdarzeń, (np. zachodzi zdarzenie A lub B, nigdy oba jednocześnie).
Iterację zdarzeń, (np. zdarzenie A zachodzi 0, 1 lub wiele razy).
Copyright © Roman Simiński
Strona : 9
Projektowanie systemów informatycznych
Diagramy ELH
Sekwencja zdarzeń na diagramie ELH
Diagram przedstawia zdarzenia, które będą pojawiać się w kolejności określonej
ciągiem elementów umieszczonych na tym samym poziomie („czytamy”
diagram od lewej do prawej).
Najpierw zajdzie zdarzenie A, potem B a na końcu C.
Encja
A
Copyright © Roman Simiński
B
C
Strona : 10
Projektowanie systemów informatycznych
Diagramy ELH
Sekwencja zdarzeń na diagramie ELH — przykład
Konto klienta
Rejestracja
Copyright © Roman Simiński
Transakcje
Usunięcie
Strona : 11
Projektowanie systemów informatycznych
Diagramy ELH
Rozwijanie zdarzeń sekwencyjnych
Encja
A
B
D
C
E
Element B jest węzłem, zatem nie reprezentuje sam efektywnego zdarzenia
a raczej stan encji, określany jest jego „dziećmi”, które są liśćmi drzewa.
Zatem sekwencja zdarzeń A, B, C jest rozwijana do sekwencji A, D, E, C.
Copyright © Roman Simiński
Strona : 12
Projektowanie systemów informatycznych
Diagramy ELH
Rozwijanie zdarzeń sekwencyjnych, cd. ...
Encja
A
B
C
G
H
D
E
I
F
Sekwencja zdarzeń A, B, G, I jest rozwijana do sekwencji A, C, E, F, H, I.
Copyright © Roman Simiński
Strona : 13
Projektowanie systemów informatycznych
Diagramy ELH
Selekcja zdarzeń na diagramie ELH
Selekcja reprezentuje zdarzenia alternatywne, które mogą zaistnieć dla danej
encji w określonym punkcie jej życia. Tych opcjonalnych zdarzeń może być 2
lub więcej, tylko jedno z takich zdarzeń może zaistnieć.
Selekcję reprezentuje symbol 'o' umieszczony w prawym górnym rogu
zdarzenia.
Encja
A
Copyright © Roman Simiński
o
B
o
C
o
Strona : 14
Projektowanie systemów informatycznych
Diagramy ELH
Selekcja zdarzeń a zdarzenie puste
Dopuszcza się sytuację taką, że żadne zdarzenie nie zaistnieje, oznacza się to
wprowadzając symbol opcji zerowej (null option, null event), oznaczonej
kreską.
Zdarzenie puste jest zawsze liściem. Wybranie zdarzenia pustego powoduje
przejście do następnego punktu życia encji.
Encja
A
Copyright © Roman Simiński
o
B
o
o
Strona : 15
Projektowanie systemów informatycznych
Diagramy ELH
Rozwijanie zdarzeń z selekcją
Encja
A
B
D
o
C
E
o
Możliwe rozwinięcia w sekwencję:
A, D, C.
A, E, C.
Copyright © Roman Simiński
Strona : 16
Projektowanie systemów informatycznych
Diagramy ELH
Rozwijanie węzłów z selekcją
Encja
A
B
D
C
o
F
E
G
o
H
Możliwe rozwinięcia w sekwencję:
A, F, C.
A, G, H, C.
Copyright © Roman Simiński
Strona : 17
Projektowanie systemów informatycznych
Diagramy ELH
Rozwijanie węzłów z selekcją i zdarzeniem pustym
Encja
A
B
D
o
E
C
o
o o
Możliwe rozwinięcia w sekwencję:
A, D, C.
A, E, C.
A, C (jeżeli zdarzenie puste zostało wybrane).
Copyright © Roman Simiński
Strona : 18
Projektowanie systemów informatycznych
Diagramy ELH
Selekcja zdarzeń na diagramie ELH — przykład
Konto klienta
Rejestracja
Transakcje
Usunięcie
Złożenie
zmówienia
Przyjęcie
Copyright © Roman Simiński
o
Odrzucenie
o
Strona : 19
Projektowanie systemów informatycznych
Diagramy ELH
Iteracja zdarzeń na diagramie ELH
Możliwość wielokrotnego zajścia pewnego zdarzenia dla konkretnego
wystąpienia encji to iteracja zdarzeń.
Iteracja oznacza, że zdarzenie nie wystąpi ani razu, lub wystąpi wielokrotnie
w tym samym punkcie życia encji.
Iterację zdarzeń oznacza się znakiem * umieszczonym w prawym górnym rogu
elementu oznaczającego zdarzenie (liść drzewa) lub węzeł.
Nazwa encji
*
Zdarzenie B *
Copyright © Roman Simiński
To zdarzenie wystąpi wielokrotnie lub
nie wystąpi wcale.
Strona : 20
Projektowanie systemów informatycznych
Diagramy ELH
Iteracja zdarzeń na diagramie ELH — rozwijanie w sekwencję
Encja
A
B
D
C
*
Możliwe rozwinięcia w sekwencję:
A, C (zdarzenie D nie występuje ani razu).
A, D, C (zdarzenie D występuje raz).
A, D, D, ..., D, C (zdarzenie D występuje wiele razy).
Copyright © Roman Simiński
Strona : 21
Projektowanie systemów informatycznych
Diagramy ELH
Iteracja węzłów na diagramie ELH — rozwijanie w sekwencję
Encja
A
B
D
E
C
*
F
Możliwe rozwinięcia w sekwencję:
A, C ( faza D nie występuje ani razu).
A, E, F, C (faza D występuje raz).
A, E, F, E, F, E, F, ..., C (faza D występuje wiele razy).
Copyright © Roman Simiński
Strona : 22
Projektowanie systemów informatycznych
Diagramy ELH
Iteracja zdarzeń na diagramie ELH — przykład
Konto klienta
Rejestracja
Transakcje
Usunięcie
Złożenie *
zmówienia
Przyjęcie
Copyright © Roman Simiński
o
Odrzucenie
o
Strona : 23
Projektowanie systemów informatycznych
Diagramy ELH
Diagram ELH tworzy drzewo
Konto klienta
Rejestracja
Transakcje
Usunięcie
Złożenie *
zmówienia
Przyjęcie
o
Korzeń drzewa — reprezentuje
encję, której historie życia
modelujemy.
o
Odrzucenie
Węzły drzewa — nie! reprezentują
zdarzeń zachodzących dla encji.
Opisują one raczej aktualny stan
życia encji. Węzły porządkują
diagram, strukturalizując zdarzenia
tak, aby zajmowały w diagramie
właściwe miejsce.
Liście drzewa —
reprezentują zdarzenia,
które zachodzą dla danej
encji.
Copyright © Roman Simiński
Strona : 24
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — pierwszy poziom zdarzeń
Każda encja powinna mieć zdarzenie modelujące je „urodzenie się” oraz jej
„śmierć”.
Pomiędzy tymi granicznymi zdarzeniami występuje „życie” encji.
Na danym poziomie staramy się nie „mieszać” typów zdarzeń.
Customer Payment
Customer Sends
Details Via Website
Copyright © Roman Simiński
Customer
Life
Details
Archived
Strona : 25
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — pierwszy poziom zdarzeń
Booking
Customer Makes
Booking Request
Booking
Life
Deleted
Rachunek bankowy
Otwarcie
rachunku
Copyright © Roman Simiński
Życie
rachunku
Zamknięcie
rachunku
Usunięcie
rachunku
Strona : 26
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — rozbudowa diagramu
Pracownik
Przyjęcie
o
Przyjęcie po
rekrutacji
Copyright © Roman Simiński
Praca
o
Przyjęcie po
awansie
Wypłata
pensji
Odejście
*
o
Rezygnacja
o
Zwolnienie
Strona : 27
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — mieszanie zdarzeń nie jest dobre
Dyskusyjne:
Nazwa encji
Zdarzenie A
Lepiej:
Zdarzenie B
*
Zdarzenie C
*
Nazwa encji
Zdarzenie A
Zdarzenie B
Węzeł może nie mieć określonej nazwy — jest
wtedy węzłem porządkującym strukturę
Copyright © Roman Simiński
Zdarzenie C
Strona : 28
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — mieszanie zdarzeń nie jest dobre
Nieprawidłowe:
Nazwa encji
Zdarzenie A
o
Zdarzenie B
Zdarzenie C
o
Lepiej:
Nazwa encji
Zdarzenie B
Zdarzenie A
Copyright © Roman Simiński
o
Zdarzenie C
o
Nazwa encji
Zdarzenie B
Zdarzenie A
o
Zdarzenie C
o
Strona : 29
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — typowe sekwencje zdarzeń
Nazwa encji
Nazwa encji
Zdarzenie A
*
Zdarzenie B
*
Zdarzenie A
*
Zdarzenie B
*
Zdarzenie A może wystąpić wiele
razy, potem zdarzenie B może
wystąpić wiele razy
Copyright © Roman Simiński
Strona : 30
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — typowe sekwencje zdarzeń
Nazwa encji
*
Zdarzenie A
Zdarzenie B
Nazwa encji
Zdarzenie A
*
Zdarzenie A
*
Zdarzenie A, i występujące po nim
zdarzenie B, mogą wystąpić
wielokrotnie.
Copyright © Roman Simiński
Strona : 31
Projektowanie systemów informatycznych
Diagramy ELH
Zasady budowania diagramów ELH — typowe sekwencje zdarzeń
Czasem zachodzi konieczność zmiany stanu encji w wyniku zajścia zdarzenia,
dla którego nieistotna jest sekwencja, powtarzalność czy opcjonalność.
Pracownik
Przyjęcie
Praca
Odejście
Zmian
konta
o
Przyjęcie po
rekrutacji
Copyright © Roman Simiński
o
Przyjęcie po
awansie
Wypłata
pensji
o
*
Rezygnacja
o
Zwolnienie
Strona : 32
Projektowanie systemów informatycznych
Diagramy ELH
Wskaźniki statusu
Diagramy ELH mogą posiadać wskaźniki statusu (ang. status indicators)
pozwalające na śledzenie kolejności występowania zdarzeń.
Wskaźnik statusu można traktować jako dodatkowe pole danych w encji,
aktualizowane przy każdym zaistnieniu zdarzenia.
Wskaźniki statusu pozwalają na określenie które zdarzenie wystąpiło ostatnio i
jakie zdarzenie ma nastąpić jako następne.
Rachunek bankowy
Otwarcie
rachunku
Życie
rachunku
-/1
1/2
Zamknięcie
rachunku
2/3
Usunięcie
rachunku
3/4
Wskaźnik statusu: poprawna poprzednia wartość/ poprawna następna wartość
Copyright © Roman Simiński
Strona : 33
Projektowanie systemów informatycznych
Diagramy ELH
Wskaźniki statusu, cd. ...
Konto klienta
Złożenie
zmówienia
Rejestracja
Usunięcie
-/1
2, 3/4
Przyjęcie
1/2
Copyright © Roman Simiński
o
Odrzucenie
o
1/3
Strona : 34
Projektowanie systemów informatycznych
Diagramy ELH
Wskaźniki statusu, cd. ...
Pracownik
Przyjęcie
Praca
Odejście
-/1
1, 2/3
Wypłata
pensji
*
1, 2/2
Copyright © Roman Simiński
Strona : 35
Projektowanie systemów informatycznych
Diagramy ELH
Wskaźniki statusu, cd. ...
Konto klienta
Rejestracja
Transakcje
Usunięcie
-/1
1, 2, 3/4
Złożenie
zmówienia
Przyjęcie
1, 2, 3/2
Copyright © Roman Simiński
o
*
Odrzucenie
o
1, 2, 3/3
Strona : 36

Podobne dokumenty