projektowanie systemów informatycznych elh — diagramy...

Post on 23-Mar-2019

234 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ELH — diagramy ELH — diagramy historii życia encjihistorii życia encji

Informacje ogólne i przykłady

Roman Simiński

roman.siminski@us.edu.plwww.us.edu.pl/~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

top related