TECHNIKI MODELOWANIA STRUKTURY INFORMACYJNEJ 1. Diagram obiektów i związków (DOZ) 2. Szczegółowa specyfikacja obiektów, atrybutów i związków GHJ 1
Metodyki strukturalne IE (Information Engineering) Martin 1990 MERISE - Quang, Kastler - 1989 SSADM (Structured Systems Analysis and Design Method) - 1990 CASE*Method (Computer Aided Systems/Software Engineering) - 1990 MEIN (Metodologica Informatica) 1991 GHJ 2
Cel modelowania struktury informacyjnej SI Uzyskanie dokładnego opisu potrzeb informacyjnych organizacji, jako podstawy do budowy nowej lub modyfikacji istniejącej bazy danych systemu informatycznego Uzyskanie modelu niezależnego od konkretnych metod pamiętania i dostępu do danych, umożliwiającego podejmowanie decyzji w zakresie dostępnych technik implementacji i współistnienia z innymi systemami GHJ 3
Przedmiot modelowania Informacje gromadzone w organizacji, reprezentujące wiedzę: organizacji o niej samej i otaczającym ją świecie, o aktualnym stanie organizacji, o zdarzeniach, które miały miejsce w przeszłości, o planach na przyszłość, normach i przepisach, które jest ona zobowiązana przestrzegać GHJ 4
Etapy tworzenia baz danych Mini świat Konstrukcja modelu konceptualnego mini świata DO-Z Transformacja modelu konceptualnego do schematu logicznego Proces normalizacji Relacje Relacje znormalizowane Wybór struktur fizycznych i określenie metod dostępu do danych Strojenie bazy danych Fizyczne struktury danych Zwiększanie efektywności przetwarzania GHJ 5
Model konceptualny Przedstawia sformalizowany opis dziedziny przedmiotowej dla ustalonego zakresu systemu informacyjnego Podstawowe pojęcia w modelu obiekt (encja) atrybut związek GHJ 6
[Bunge M.] Ontologiczna definicja obiektu X=<x,p(x)> X obiekt x byt p(x) skończona kolekcja właściwości bytu GHJ 7
Ontologiczna definicja powiązania Dwa obiekty są powiązane, jeśli przynajmniej jeden z nich działa na drugi X działa na Y, jeśli historia Y jest pod wpływem X Historia chronologicznie uporządkowane stany, które byty przechodzą w czasie. GHJ 8
Definicja encji, typu encji, wystąpienia encji Encja przedstawia obiekt, który jest istotny dla organizacji, który może być materialny lub abstrakcyjny. Typ encji (obiektu) przedstawia zbiór lub klasę encji (obiektów) danej organizacji o takiej samej charakterystyce. Wystąpienie encji (obiektu) przedstawia indywidualną encję (obiekt) w organizacji, która jest członkiem zbioru lub klasy encji (obiektów). GHJ 9
[CASE*Method] Encja to istotna rzecz, rzeczywista lub wyobrażona, o której informacje muszą być znane lub przechowywane. PRACOWNIK GHJ 10
Ogólna definicja atrybutu Atrybut przedstawia właściwość danej encji Typ atrybutu przedstawia zbiór lub klasę właściwości encji, które opisują typ encji np. dla typu OSOBA: nazwisko, adres, numer ubezpieczenia Wartość atrybutu przedstawia wystąpienie właściwości encji np. dla konkretnej encji OSOBA wartość atrybutu wiek to 25, dla nazwiska Kowalski GHJ 11
[CASE*Method] Atrybut jest szczegółem, który służy do kwalifikowania, identyfikacji, klasyfikacji, wyrażenia wielkości lub stanu encji. Istotna cecha obiektu. Może być tekstem, liczbą, obrazem, zapachem itd.. Identyfikator jest nazywany unikalnym identyfikatorem. Może nim być: pojedynczy atrybut i/lub związek, kombinacja atrybutów i/lub związków. PRACOWNIK # numer karty * nazwisko * wiek o adres GHJ 12
Atrybut złożony Atrybut adres jest złożony z elementarnych danych: - miejscowość - kod pocztowy - ulica - numer domu GHJ 13
Związki Związek przedstawia istotne dla organizacji połączenie między encjami (obiektami). Typ związku przedstawia istotne dla organizacji połączenie między typami encji (obiektów). Wystąpienie związku przedstawia istotne dla organizacji połączenie między wystąpieniami encji (obiektów). GHJ 14
Rodzaje związków Ze względu na liczbę wiązanych typów encji (obiektów) wyróżnia się rodzaje związków: unarny - związek rekurencyjny binarny ternarny n-arny GHJ 15
Atrybut związku Atrybut związku jest właściwością, która dotyczy połączenia encji (obiektów), np. data wystąpienia danego związku, wielkość udziału w danym związku. GHJ 16
Definiowanie związku Polega na nadaniu nazwy ustaleniu dla więzów integralności - liczności (stopień związku) - przynależności (uczestnictwa) oraz określeniu reguł przenaszalności kaskadowego usuwania W zależności od metodyki definiuje się jeden lub oba kierunki (końce) związku GHJ 17
[CASE*Method] Związek jest nazwanym, istotnym dla organizacji powiązaniem między dwoma encjami. Dozwolone są związki co najwyżej binarne. Wymaga się zdefiniowania obu kierunków związku. Nie pokazuje się atrybutów związku. PRACOWNIK pracującym z pracuje z KLIENT posiada należy do KONTO GHJ 18
[MEIN] Klient reklamuje Zamówienie Wydział GHJ 19
Stopień związku (więzy liczności) Liczność encji A w związku R(AB) określa liczbę wystąpień encji B, które mogą być związane z jednym wystąpieniem encji A. Możliwe stopnie związków: - jeden do jeden (1:1) - jeden do wiele (1:M) - wiele do jeden (M:1) - wiele do wiele (M:N) 1, M wskaźniki maksymalnej liczności GHJ 20
Style graficznej prezentacji liczności i przynależności W związku R(A,B) styl spójrz na drugą stronę (S) przedstawia liczność, przynależność encji A po stronie B uczestnictwo (U) przedstawia liczność, przynależność encji A po stronie A GHJ 21
[CASE*Method] Styl spójrz na drugą stronę 1:1 REKLAMA WYPRAWY PROJEKT 1:N/N:1 KLIENT KONTO M:N CZĘŚĆ ZAMÓWIENIE stopień stały KLIENT <=2 SPRZEDAWCA GHJ 22
Więzy przynależności w związku R(AB) Przynależność encji specyfikuje czy wszystkie wystąpienia encji muszą uczestniczyć w związku z wystąpieniami innej encji. Istnieją dwa typy przynależności: całkowity (obowiązkowy) wszystkie wystąpienia encji A muszą uczestniczyć w związku z wystąpieniami encji B. częściowy (opcjonalny) niekoniecznie wszystkie wystąpienia encji A muszą uczestniczyć w związku z wystąpieniami encji B. GHJ 23
Graficzna prezentacja więzów przynależności Metodyka Styl Typ przynależności A B obowiązkowy B A opcjonalny CASE*Method U PROJEKT ZADANIE GHJ 24
Reguła czytania związku CASE*Method ENCJA A nazwa-końca-1 ENCJA B nazwa-końca-2 Każda ENCJA-A może być musi być nazwa-końca-1 jedna lub więcej jedna i tylko jedna ENCJA-B i odwrotnie Każda ENCJA-B musi być może być nazwa-końca-2 jedna i tylko jedna jedna lub więcej ENCJA-A GHJ 25
[CASE*Method] Kombinacje związków nieprawdopodobny rzadki wyjątkowy sporadyczny najczęściej występujący nieprawdopodobny często w diagramach ogólnych GHJ 26
[CASE*Method] Kombinacje związków rekurencyjnych rzadki powszechny częsty na diagramach ogólnych GHJ 27
Związki nieprzenaszalne [CASE*Method] Niedozwolona zamiana istniejącego połączenia wystąpienia encji na inne wystąpienie encji KLIENT posiada KONTO należy do GHJ 28
Związki wielokrotne Związki między więcej niż dwoma typami encji, które w aplikacji są postrzegane jako całość lub kombinacja i nie mogą być podzielone z powodów semantycznych. Koncepcja związków n-arnych MEIN MERISE Koncepcja związków binarnych IE SSADM CASE*Method Oracle GHJ 29
[MEIN] Klient M składa N Zamówienie P Wydział GHJ 30
Koncepcja binarnych związków - podejście N-arne Utworzenie abstrakcyjnego typu encji (encja połączenia), nazwa odpowiada charakterowi połączenia wszystkich wiązanych typów encji (w przypadku złożonych wymagań nazwa może być też abstrakcyjna) Przynależność tej encji jest obowiązkowa, liczebność N:1 Identyfikatorem jest kombinacja identyfikatorów uczestniczących w związku encji. GHJ 31
[CASE*Method] ZŁOŻENIE KLIENT ZAMÓWIENIE WYDZIAŁ GHJ 32
Koncepcja binarnych związków - podejście grupowania Utworzenie abstrakcyjnego typu encji dla dwóch wybranych typów, nazwa odpowiada kombinacji nazw grupowanych typów encji Przynależność tej encji jest obowiązkowa, liczebność związku z encjami grupowanymi N:1, z pozostałymi M:N Identyfikatorem jest przeważnie kombinacja identyfikatorów grupowanych encji GHJ 33
[CASE*Method] ZAMÓWIENIE KLIENTA WYDZIAŁ KLIENT ZAMÓWIENIE GHJ 34
[CASE*Method] Encja intersekcji (przecięcia) Wprowadzana do diagramu w przypadku eliminacji związku M:N przez jego rozkład na dwa związki 1:M potrzeby przedstawienia atrybutów związku GHJ 35
[CASE*Method] Rozkład związku M:N a) PRACOWNIK przydzielony do ZADANIE przydzielone b) PRZYDZIAŁ PRACOWNIK ZADANIE GHJ 36
Koncepcja uogólnienia Poszukiwanie abstrakcyjnego opisu zbioru podobnych typów, postrzeganego jako wyższy poziom - typ ogólny. [Tsichritzis, Lochovsky] Nadtyp encja wyższego poziomu Podtyp encja nizszego poziomu Zbiór podtypów wraz z ich nadtypem i związkami między nimi posiada charakter budowy hierarchicznej. GHJ 37
Właściwość dziedziczenia w hierarchii Pozwala na przywłaszczenie (dziedziczenie) atrybutów i związków nadtypu przez jego podtypy. Wielopoziomowe (zagnieżdżone) dziedziczenie podtyp może sam być nadtypem dla innych podtypów Wielokrotne dziedziczenie podtyp może posiadać więcej niż jeden nadtyp. GHJ 38
CASE*Method PRACOWNIK MENEDŻER SPRZEDAWCA TELEFONICZNY BEZPOŚREDNI STRAŻNIK BUDYNKOWY PARKINGOWY GHJ 39
Rozłączność i wyczerpanie w hierarchii uogólnienia Wzajemne wykluczanie się (rozłączność) podtypów wystąpienie encji jednego podtypu nie może być wystąpieniem innego podtypu. Wyczerpanie nadtypu wystąpienia podtypu składają się ze wszystkich wystąpień nadtypu. Wzajemne wykluczanie się związków - w przypadku tej samej encji wystąpienie jednego typu związku nie może być wystąpieniem innego typu związku. GHJ 40
Możliwe przypadki wystąpień encji Encja może istnieć jako tylko jeden z podtypów wykluczanie się jeden z kilku podtypów brak wykluczania (zachodzące na siebie podtypy) żaden z wymienionych podtypów brak możliwości wyczerpania GHJ 41
[CASE*Method] Reguły dla podtypów Podtyp encji jest typem encji Nadtyp - dwa lub więcej wzajemnie wykluczających się podtypów Podtyp encji bez zastrzeżeń dziedziczy wszystkie atrybuty, związki i funkcje od nadtypu Podtypy mogą posiadać własne atrybuty i/lub związki GHJ 42
Reguły dla podtypów c.d. Podtypy mogą być rozdzielone na podtypy niższych poziomów Przypadek braku wyczerpania dodatkowy podtyp z nazwą Przypadek braku wykluczania dodatkowa nazwa dla zbiorów nakładających się podtypów (np.. wyróżniony innym kolor), w jej ramach obowiązuje zasada wzajemnego wykluczania GHJ 43
CASE*Method PRACOWNIK MENEDŻER SPRZEDAWCA TELEFONICZNY BEZPOŚREDNI STRAŻNIK BUDYNKOWY PARKINGOWY INNY GHJ 44
[CASE*Method] Reguły dla wykluczających się związków Wzajemne wykluczanie związków przedstawia się za pomocą łuku Końce związków objęte łukiem muszą mieć tą samą przynależność (całkowitą albo częściową). Łuk może obejmować co najmniej dwa lub więcej związków tylko końce dotyczące tego samego typu encji. Koniec związku może należeć tylko do jednego łuku GHJ 45
[CASE*Method] KONTO należy do OSOBA posiada własnością właścicielem ORGANIZACJA GHJ 46
[CASE*Method] Reguły kaskadowego usuwania Usuwanie kaskadowe utrata informacji o jednej rzeczy pociąga za sobą utratę informacji o rzeczach z nią powiązanych Wskaźnik usuwania kaskadowego C usuń wszystkie dzieci, jeżeli jest usuwany rodzic X zabroń usunięcia rodzica, jeżeli istnieją dzieci N niezależne usuwanie rodzica i dziecka GHJ 47
[CASE*Method] Zmiana przypisania Zmiana unikalnego identyfikatora rodzica pociąga za sobą potrzebę zastąpienia starego powiązania z dziećmi nowym powiązaniem Zmień przypisanie D Zmiana widoczna na poziomie działającej aplikacji GHJ 48
Zmiany w czasie: atrybut [CASE*Method] UMOWA # * data * status STATUS # * wartość * data od o data do dla UMOWA # * data określona przez GHJ 49
Zmiany w czasie: związek [CASE*Method] NIERUCHOMOŚĆ własnością UMOWA WŁASNOŚCI # * data o data wygaśnięcia dla dotyczy przedmiotem NIERUCHOMOŚĆ OSOBA właścicielem OSOBA stroną w GHJ 50
[CASE*Method] Klasyfikacja a) dowolna PRODUKT # * symbol * nazwa * klasyfikacja b) sformalizowana PRODUKT # * symbol * nazwa w klasyfikacją dla KLASYFIKACJA # * wartość * opis złożona z należy do GHJ 51
[CASE*Method] Hierarchia - prosty model ZESPÓŁ wchodzi w skład złożony z DZIAŁ wchodzi w skład złożony z WYDZIAŁ wchodzi w skład złożony z ZARZĄD GHJ 52
Hierarchia - wariant I JEDNOSTKA ORGANIZACYJNA # symbol *nazwa *typ wchodzi w skład złożona z GHJ 53
Hierarchia - wariant II JEDNOSTKA ORGANIZACYJNA #symbol *nazwa ELEMENT STRUKTURY wchodzi w skład ORGANIZACJA złożona z określona przez klasyfikacją dla TYP JEDNOSTKI ORGANIZACYJNEJ #nazwa GHJ 54
[CASE*Method] Faktura POZYCJA # * numer * cena netto * ilość dotyczy zamieszczony w PRODUKT # * symbol * nazwa * jednostka miary * stawka vat TOWAR częścią USŁUGA składa się z FAKTURA # * numer * data sprzedaży * termin płatności * forma płatności wystawiona przez KONTRAHENT # * numer sprzedawcą * nazwa skierowana * kod pocztowy do * miejscowość * ulica GHJ nabywcą o telefon 55
[CASE*Method] Szczegółowa definicja obiektu Pełna nazwa/ skrót Nazwa nadtypu Synonimy Przykłady Opis (znaczenie obiektu) Liczebność: początkowa, średnia, maksymalna (liczbowo lub procentowy wzrost, np. rocznie, kwartalnie) Lista atrybutów Lista związków Jednoznaczny identyfikator Okresy dla archiwowania i zniszczenia (okres, przyczyna) Reguły spójności (zasady funkcjonowania organizacji) GHJ 56
Reguła spójności ZAKUP # numer * data * wartość w ramach źródłem dla ZLECENIE # numer * data otwarcia * kwota Warunek dla Tworzenie obiektu ZAKUP Reguła ZAKUP może dotyczyć zlecenia, którego data otwarcia jest wcześniejsza od daty ZAKUPU GHJ 57
Szczegółowa definicja związku Nazwa encji Nazwa końca Przynależność Stopień (min, średni, max) Wskaźnik usuwania kaskadowego Łuk (numer) Wskaźnik jednoznacznego identyfikatora GHJ 58
Szczegółowa definicja atrybutu Nazwa/skrót Opis/uwagi Wymagany/Opcjonalny Atrybuty opcjonalne % wypełnienia (na początku, średnio) warunek dla istnienia wartości Format (znakowy, liczbowy, daty, ) Maksymalna, średnia długość Jednostka miary długości GHJ 59
Szczegółowa definicja atrybutu cd. Dostępność/odpowiedzialność nazwa użytkownika prawa dostępu (tryb: C, U, D, A, R, All) poziom kontroli uprawnień, np. 1 do obiektów, 2 do podmiotów, 3 - do zasad kontroli, Reguła poprawności (algorytm lub lista wartości, zakres) Wartość domyślna (wymagany) Wartość dla null (opcjonalny) Zbiór dopuszczalnych wartości (skrót i znaczenie, dolna/górna wartość) GHJ 60
Szczegółowa definicja dziedziny Nazwa/skrót Opis/uwagi Format Maksymalna długość, jednostka miary Dostępność/Odpowiedzialność Reguła poprawności Wartość domyślna Wartość dla null Zbiór dopuszczalnych wartości GHJ 61