Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Inżynieria Oprogramowania, Laboratorium 3, Slajd 1/19 Inżynieria oprogramowania Diagramy encja-związek ERD: Entity Relationship Diagrams.

Podobne prezentacje


Prezentacja na temat: "Inżynieria Oprogramowania, Laboratorium 3, Slajd 1/19 Inżynieria oprogramowania Diagramy encja-związek ERD: Entity Relationship Diagrams."— Zapis prezentacji:

1 Inżynieria Oprogramowania, Laboratorium 3, Slajd 1/19 Inżynieria oprogramowania Diagramy encja-związek ERD: Entity Relationship Diagrams

2 Inżynieria Oprogramowania, Laboratorium 3, Slajd 2/19 Główne techniki modelowania strukturalnego Diagramy przepływu danych Hierarchia funkcjiDiagram związków encji Struktura realizowanych funkcji Dane i powiązania między nimi Wykorzystanie danych do realizacji poszczególnych funkcji

3 Inżynieria Oprogramowania, Laboratorium 3, Slajd 3/19 Definicja związków encji Diagram związków encji odwzorowuje świat rzeczywisty w ujęciu statycznym obejmując obiekty świata rzeczywistego i powiązania między nimi. Inna nazwa: diagram encja-związek Ang.: Entity Relationship Diagram (ERD), Elementy diagramu: –encja (entity) –związek (relationship)

4 Inżynieria Oprogramowania, Laboratorium 3, Slajd 4/19 Pojęcie encji Encja jest rzeczą lub obiektem mającym dla nas znaczenie, rzeczywistym bądź wyobrażonym, o którym informacje muszą być znane lub przechowywane. Graficzną reprezentacją encji jest ramka (prostokąt) z umieszczoną nazwą encji. Nazwa powinna być podana w liczbie pojedynczej i oddzielona od dolnej części prostokąta. Ramka może mieć w zasadzie dowolny rozmiar i kształt. Musi być jednak wystarczająco duża, aby pomieścić jednoznaczną nazwę (bez żadnych skrótów) i aby rysowanie diagramu związków encji było wygodne. Często na przykład należy rozciągnąć rysowaną ramkę tak, aby umożliwić łatwiejsze doprowadzenie do niej większej liczby linii związków bez niepotrzebnego przecinania się linii.

5 Inżynieria Oprogramowania, Laboratorium 3, Slajd 5/19 Pojęcie encji (2) Nazwa encji musi dokładnie reprezentować typ lub klasę rzeczy - a nie żadną jej konkretne wystąpienie. Przykładowo nazwy lotnisk, "Okęcie" czy "Balice", nie mogą być użyte jako nazwy encji - encją jest LOTNISKO, a obie nazwy określają tylko instancje tej encji. Każda rzecz lub przedmiot może być reprezentowany tylko przez jedną encję. To znaczy, że encje zawsze wzajemnie się wykluczają. Każda encja musi być jednoznacznie identyfikowalna. To znaczy, że każda instancja (wystąpienie) encji musi być wyraźnie odróżnialna od wszystkich innych instancji tego typu encji.

6 Inżynieria Oprogramowania, Laboratorium 3, Slajd 6/19 Pojęcie związku Związek jest nazwanym, istotnym powiązaniem istniejącym między dwiema encjami. Związek jest zawsze powiązaniem między dokładnie dwiema nazwanymi encjami. W szczególnym przypadku może być powiązaniem tej samej encji ze sobą. Każdy związek ma dwa końce, z których każdy ma przypisaną: - nazwę, - stopień/liczebność, - opcjonalność (opcjonalny czy wymagany). Powyższe własności są używane do opisywania powiązania z punktu widzenia danego końca; obydwa końce muszą zostać zdefiniowane.

7 Inżynieria Oprogramowania, Laboratorium 3, Slajd 7/19 Pojęcie związku Związek jest reprezentowany za pomocą linii (krzywej) łączącej dwie ramki encji ze sobą lub rekurencyjnie jedną ramkę encji ze sobą. Najbardziej powszechnym związkiem jest związek typu wiele do jeden. Związek taki jest wymagany na końcu o liczebności "wiele" i opcjonalny na końcu o liczebności "jeden

8 Inżynieria Oprogramowania, Laboratorium 3, Slajd 8/19 Krotności związków związki, krotności: dokładnie jeden zero lub wiele jeden lub wiele zero lub jeden więcej niż jeden nieoznaczona Przy liczebności "wiele" połączenie to nosi popularnie nazwę "kurzej stopki". Przy liczebności "jeden" linia związku dotyka ramki tylko w jednym punkcie. Gdy koniec związku jest wymagany, wtedy odpowiadająca mu połowa linii jest narysowana jako ciągła. Gdy koniec związku jest opcjonalny, rysujemy linię z kołem (o – optional).

9 Inżynieria Oprogramowania, Laboratorium 3, Slajd 9/19 Nazwy związków Nazwa związku, zapisana małymi literami, jest umieszczana przy linii reprezentującej związek w zależności od punktu widzenia przy odpowiednim końcu Kiedy koniec związku jest wymagany, używa się wyrażenia "musi być" (czasami "musi mieć") przed nazwą danego końca związku; dla nazw opcjonalnych końców związków używa się wyrażenia "może być" (czasami "może mieć").

10 Inżynieria Oprogramowania, Laboratorium 3, Slajd 10/19 Związki - uwagi Definicja związku wyraża typ powiązania ze sobą dwóch encji, z którym muszą się zgadzać wszystkie instancje (wystąpienia) rozważanego związku. Wszystkie pojęcia w modelowaniu związków encji odnoszą się do typów, a nie do instancji tych typów. Nie wszystkie związki, które dają się narysować, są poprawne i nie wszystkie występują dosyć często. Jeden do wiele Rekurencyjny, wiele do jeden dla hierarchii

11 Inżynieria Oprogramowania, Laboratorium 3, Slajd 11/19 Atrybuty Atrybut jest dowolnym szczegółem służącym do kwalifikowania, identyfikowania, klasyfikowania, określania ilości lub wyrażania stanu encji. Innymi słowy atrybut jest dowolnym opisem mającym znaczenie dla encji. Atrybut może być tekstem, liczbą, obrazem, zapachem i tak dalej, zależnie od tego co jest wymagane. Przy przetwarzaniu danych mamy zwyczaj koncentrowania się na tekstach i liczbach, ale inne typy atrybutów też mogą być ważne.

12 Inżynieria Oprogramowania, Laboratorium 3, Slajd 12/19 Atrybuty (2) Aby reprezentować atrybut, trzeba w ramkę przedstawiającą encję wpisać jego nazwę małymi literami i w liczbie pojedynczej. Nie jest konieczne zamieszczanie atrybutów na diagramach związków encji, ale dodanie jednego lub dwóch podczas tworzenia diagramu jest bardzo pożyteczne. W przykładzie linia lotnicza może mieć sto lub więcej samolotów, które są tylko czterech lub pięciu różnych typów. Atrybut numer rejestracyjny jest niezbędny do rozróżnienia dwóch encji.

13 Inżynieria Oprogramowania, Laboratorium 3, Slajd 13/19 Atrybuty - uwagi Atrybut musi opisywać encję, przy której występuje. To może się wydawać oczywiste, ale jest to najczęściej spotykany błąd związany z użyciem atrybutów. Czy na przykład "numer siedzenia" jest atrybutem kuponu, biletu, karty pokładowej, samolotu czy miejsca w samolocie? Jest to oczywiście atrybut encji MIEJSCE, choć w rzeczywistości często numer ten pojawia się wiele razy; na przykład na karcie pokładowej, która występuje jako samoistna encja.

14 Inżynieria Oprogramowania, Laboratorium 3, Slajd 14/19 Atrybuty a encje Do opisu większości encji wystarcza od dwu do ośmiu atrybutów. Jeśli mamy ich więcej, prawdopodobnie brakuje dodatkowych związków i/lub encji. Nie wykorzystujmy nazwy encji jako części nazwy atrybutu. Byłoby to zbyteczne, ponieważ atrybut opisuje tylko jedną encję. W jednej chwili encja może mieć tylko jedną wartość dla każdego atrybutu. Kiedy jest istotna większa liczba wartości, trzeba utworzyć nową encję, która będzie je zawierać w związku wiele do jeden z podstawową encją. Jest to reguła, która nosi nazwę pierwszej postaci normalnej.

15 Inżynieria Oprogramowania, Laboratorium 3, Slajd 15/19 Atrybuty a encje (2) Atrybut staje się encją, kiedy jest istotną rzeczą samą w sobie wraz z własnymi związkami i atrybutami. Użyliśmy "numeru rejestracyjnego" jako atrybutu samolotu. To będzie prawie zawsze słuszne, o ile nie zacznie się brać pod uwagę podsystemu rejestracji linii lotniczej, w którym to przypadku możemy również potrzebować "daty rejestracji", "gdzie był zarejestrowany", "w jakim celu go zarejestrowano?", "czy ponownie zarejestrowany?" itd.

16 Inżynieria Oprogramowania, Laboratorium 3, Slajd 16/19 Identyfikacja encji Każda encja musi być jednoznacznie zidentyfikowana przez kombinację atrybutów i/lub związków. Trzeba więc zawsze szukać atrybutów, które pomogłyby jednoznacznie zidentyfikować encję. Dla samochodu (lub samolotów, którymi się zajmowaliśmy) można w tym celu zastosować numer podwozia, numer silnika itp. Należy usunąć te atrybuty, których wartości zależą od części jednoznacznego identyfikatora (to postępowanie nosi nazwę sprowadzenia do drugiej postaci normalnej).

17 Inżynieria Oprogramowania, Laboratorium 3, Slajd 17/19 Identyfikacja encji Jednoznacznym identyfikatorem może być atrybut, kombinacja atrybutów, kombinacja związków lub kombinacja atrybutów i związków. Może być więcej niż jeden możliwy sposób jednoznacznej identyfikacji encji. Na diagramie związków encji główny jednoznaczny identyfikator można wskazać, umieszczając np. wyróżniający znak na przykład #, podkreślenie nazwy,...

18 Inżynieria Oprogramowania, Laboratorium 3, Slajd 18/19 Identyfikacja encji (2) Aby zatem jednoznacznie zidentyfikować kartę pokładową, potrzebujemy: - związku z miejscem, a więc numeru tego miejsca; - związku z lotem, a więc daty i godziny odlotu;.. - daty/godziny wydania karty, aby móc w rzadkich wypadkach powtórnie wydać kartę pokładową; na przykład, by posadzić koło siebie rodzinę, gdy ktoś zajmujący miejsce obok nie zjawił się na pokładzie samolotu; - numeru lotu, jako że jednoznaczny identyfikator lotu obejmuje również związek z trasą lotu.

19 Inżynieria Oprogramowania, Laboratorium 3, Slajd 19/19 Atrybuty a encje (3) Mamy na przykład kartę pokładową, na której jest zamieszczone nazwisko pasażera. Zadajemy pytanie: czy nazwisko pasażera jest w jakiś sposób zależne od jednoznacznego identyfikatora karty pokładowej? Oczywiście, że nie, przecież nie zmieniam swojego nazwiska, kiedy mam przydzielaną kartę pokładową! Jeśli atrybut nie zależy tylko od jednoznacznego identyfikatora, to prawdopodobnie brakuje encji i/lub związku. Należy usunąć te atrybuty, których wartości zależą nie tylko od jednoznacznego identyfikatora encji (to postępowanie nosi nazwę sprowadzenia do trzeciej postaci normalnej).


Pobierz ppt "Inżynieria Oprogramowania, Laboratorium 3, Slajd 1/19 Inżynieria oprogramowania Diagramy encja-związek ERD: Entity Relationship Diagrams."

Podobne prezentacje


Reklamy Google