Projektowanie systemów informatycznych ELH — diagramy...
Transcript of Projektowanie systemów informatycznych ELH — diagramy...
ELH — diagramy ELH — diagramy historii życia encjihistorii życia encji
Informacje ogólne i przykłady
Roman Simiński
[email protected]/~siminski
Autor
Kontakt
Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Diagramy ELHDiagramy ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński
Diagramy ELH — Entity Life History, czyli diagramy historii życia encji (obiektu)
2Strona :
Diagramy ELHDiagramy ELH
Nazwa
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.
Cel stosowania
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.
Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 3Strona :
Diagramy ELHDiagramy ELH
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.
Diagramy ELH, ERD, DFDDiagramy ELH, ERD, DFD
Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 4Strona :
Diagramy ELHDiagramy 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ć.
Diagramy ELHDiagramy ELH
Podstawa do budowy diagramów ELHPodstawa do budowy diagramów ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 5Strona :
Diagramy ELHDiagramy 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.
Diagramy ELH a ERD i DFDDiagramy ELH a ERD i DFDProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 6Strona :
Diagramy ELHDiagramy ELH
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.
Komponenty diagramów ELHKomponenty diagramów ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 7Strona :
Diagramy ELHDiagramy 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.
Klient Zamówienie Pracownik Płatność klienta
Encje, dla każdej z nich tworzy się osobny diagram
Nazwa encji
Przykładowe encje:
Komponenty diagramów ELHKomponenty diagramów ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 8Strona :
Diagramy ELHDiagramy 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 Zdarzenie B Zdarzenie C
Porządkowanie zdarzeń na diagramach ELHPorządkowanie zdarzeń na diagramach ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 9Strona :
Diagramy ELHDiagramy 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).
Sekwencja zdarzeń na diagramie ELHSekwencja zdarzeń na diagramie ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 10Strona :
Diagramy ELHDiagramy 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 B C
Sekwencja zdarzeń na diagramie ELH — przykładSekwencja zdarzeń na diagramie ELH — przykładProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 11Strona :
Diagramy ELHDiagramy ELH
Konto klienta
Rejestracja Transakcje Usunięcie
Rozwijanie zdarzeń sekwencyjnychRozwijanie zdarzeń sekwencyjnychProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 12Strona :
Diagramy ELHDiagramy ELH
Encja
A B C
D 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.
Rozwijanie zdarzeń sekwencyjnych, cd. ...Rozwijanie zdarzeń sekwencyjnych, cd. ...Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 13Strona :
Diagramy ELHDiagramy ELH
Encja
A B I
C D
Sekwencja zdarzeń A, B, G, I jest rozwijana do sekwencji A, C, E, F, H, I.
E F
G
H
Selekcja zdarzeń na diagramie ELHSelekcja zdarzeń na diagramie ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 14Strona :
Diagramy ELHDiagramy 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 B Cooo
Selekcja zdarzeń a zdarzenie pusteSelekcja zdarzeń a zdarzenie pusteProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 15Strona :
Diagramy ELHDiagramy ELH
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 Booo
Rozwijanie zdarzeń z selekcjąRozwijanie zdarzeń z selekcjąProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 16Strona :
Diagramy ELHDiagramy ELH
Encja
A B C
D Eo o
Możliwe rozwinięcia w sekwencję:
A, D, C.
A, E, C.
Rozwijanie węzłów z selekcjąRozwijanie węzłów z selekcjąProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 17Strona :
Diagramy ELHDiagramy ELH
Możliwe rozwinięcia w sekwencję:
A, F, C.
A, G, H, C.
Encja
A B
D E
G H
C
oo
F
Rozwijanie węzłów z selekcją i zdarzeniem pustymRozwijanie węzłów z selekcją i zdarzeniem pustymProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 18Strona :
Diagramy ELHDiagramy ELH
Możliwe rozwinięcia w sekwencję:
A, D, C.
A, E, C.
A, C (jeżeli zdarzenie puste zostało wybrane).
Encja
A B
D E
C
oo o o
Selekcja zdarzeń na diagramie ELH — przykładSelekcja zdarzeń na diagramie ELH — przykładProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 19Strona :
Diagramy ELHDiagramy ELH
Złożenie zmówienia
Konto klienta
Rejestracja Transakcje Usunięcie
Przyjęcie Odrzucenieoo
Iteracja zdarzeń na diagramie ELHIteracja zdarzeń na diagramie ELHProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 20Strona :
Diagramy ELHDiagramy 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 *
Nazwa encji
Zdarzenie B* To zdarzenie wystąpi wielokrotnie lub
nie wystąpi wcale.
Iteracja zdarzeń na diagramie ELH — rozwijanie w sekwencjęIteracja zdarzeń na diagramie ELH — rozwijanie w sekwencjęProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 21Strona :
Diagramy ELHDiagramy ELH
Encja
A B C
D *
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).
Iteracja węzłów na diagramie ELH — rozwijanie w sekwencjęIteracja węzłów na diagramie ELH — rozwijanie w sekwencjęProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 22Strona :
Diagramy ELHDiagramy ELH
Encja
A B C
D *
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).
E F
Iteracja zdarzeń na diagramie ELH — przykładIteracja zdarzeń na diagramie ELH — przykładProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 23Strona :
Diagramy ELHDiagramy ELH
Złożenie zmówienia
Konto klienta
Rejestracja Transakcje Usunięcie
Przyjęcie Odrzucenie
*
o o
Diagram ELH tworzy drzewoDiagram ELH tworzy drzewoProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 24Strona :
Diagramy ELHDiagramy ELH
Złożenie zmówienia
Konto klienta
Rejestracja Transakcje Usunięcie
Przyjęcie Odrzucenie
*
o o
Korzeń drzewa — reprezentuje encję, której historie życia modelujemy.
Liście drzewa — reprezentują zdarzenia, które zachodzą dla danej encji.
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.
Zasady budowania diagramów ELH — pierwszy poziom zdarzeńZasady budowania diagramów ELH — pierwszy poziom zdarzeńProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 25Strona :
Diagramy ELHDiagramy ELH
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
CustomerLife
DetailsArchived
Zasady budowania diagramów ELH — pierwszy poziom zdarzeńZasady budowania diagramów ELH — pierwszy poziom zdarzeńProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 26Strona :
Diagramy ELHDiagramy ELH
Booking
Customer Makes Booking Request
BookingLife
Deleted
Rachunek bankowy
Otwarcierachunku
Życierachunku
Zamknięcie rachunku
Usunięcierachunku
Zasady budowania diagramów ELH — rozbudowa diagramuZasady budowania diagramów ELH — rozbudowa diagramuProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 27Strona :
Diagramy ELHDiagramy ELH
Pracownik
Przyjęcie Praca Odejście
Przyjęcie porekrutacji
Przyjęcie poawansie
Wypłatapensji
Zwolnienie*
Rezygnacjao o o o
Zasady budowania diagramów ELH — mieszanie zdarzeń nie jest dobreZasady budowania diagramów ELH — mieszanie zdarzeń nie jest dobreProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 28Strona :
Diagramy ELHDiagramy ELH
Nazwa encji
Zdarzenie A Zdarzenie B Zdarzenie C *
Nazwa encji
Zdarzenie A Zdarzenie B
Zdarzenie C *Węzeł może nie mieć określonej nazwy — jest wtedy węzłem porządkującym strukturę
Dyskusyjne:
Lepiej:
Zasady budowania diagramów ELH — mieszanie zdarzeń nie jest dobreZasady budowania diagramów ELH — mieszanie zdarzeń nie jest dobreProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 29Strona :
Diagramy ELHDiagramy ELH
Nazwa encji
Zdarzenie A Zdarzenie B Zdarzenie C
Nieprawidłowe:
Lepiej:
o o
Nazwa encji
Zdarzenie B
Zdarzenie Co
Zdarzenie Ao
Nazwa encji
Zdarzenie B
Zdarzenie Co
Zdarzenie Ao
Zasady budowania diagramów ELH — typowe sekwencje zdarzeńZasady budowania diagramów ELH — typowe sekwencje zdarzeńProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 30Strona :
Diagramy ELHDiagramy ELH
Nazwa encji
Zdarzenie A Zdarzenie B* *
Zdarzenie A może wystąpić wiele razy, potem zdarzenie B może wystąpić wiele razy
Nazwa encji
Zdarzenie A Zdarzenie B* *
Zasady budowania diagramów ELH — typowe sekwencje zdarzeńZasady budowania diagramów ELH — typowe sekwencje zdarzeńProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 31Strona :
Diagramy ELHDiagramy ELH
Nazwa encji
Zdarzenie A Zdarzenie B
*
Zdarzenie A, i występujące po nim zdarzenie B, mogą wystąpić wielokrotnie.
Nazwa encji
Zdarzenie A Zdarzenie A* *
Zasady budowania diagramów ELH — typowe sekwencje zdarzeńZasady budowania diagramów ELH — typowe sekwencje zdarzeńProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 32Strona :
Diagramy ELHDiagramy ELH
Pracownik
Przyjęcie Praca Odejście
Przyjęcie porekrutacji
Przyjęcie poawansie
Wypłatapensji
Zwolnienie
*
Rezygnacja
o o o o
Zmian konta
Czasem zachodzi konieczność zmiany stanu encji w wyniku zajścia zdarzenia, dla którego nieistotna jest sekwencja, powtarzalność czy opcjonalność.
Wskaźniki statusuWskaźniki statusuProjektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 33Strona :
Diagramy ELHDiagramy ELH
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
Otwarcierachunku
Życierachunku
Zamknięcie rachunku
Usunięcierachunku
-/1 1/2 2/3 3/4
Wskaźnik statusu: poprawna poprzednia wartość/ poprawna następna wartość
Wskaźniki statusu, cd. ...Wskaźniki statusu, cd. ...Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 34Strona :
Diagramy ELHDiagramy ELH
-/1
Złożenie zmówienia
Konto klienta
Rejestracja Usunięcie
Przyjęcie Odrzucenieoo
-/1
1/2 1/3
2, 3/4
Wskaźniki statusu, cd. ...Wskaźniki statusu, cd. ...Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 35Strona :
Diagramy ELHDiagramy ELH
-/1
Pracownik
Przyjęcie Praca Odejście
Wypłatapensji
*
1, 2/2
1, 2/3
Wskaźniki statusu, cd. ...Wskaźniki statusu, cd. ...Projektowanie systemów informatycznychProjektowanie systemów informatycznych
Copyright © Roman Simiński 36Strona :
Diagramy ELHDiagramy ELH
Złożenie zmówienia
Konto klienta
Rejestracja Transakcje Usunięcie
Przyjęcie Odrzucenie
*
o o
-/1
1, 2, 3/2 1, 2, 3/3
1, 2, 3/4