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