Inżynieria oprogramowania

Slides:



Advertisements
Podobne prezentacje
7. Metody analizy i modelowania strukturalnego SI
Advertisements

Tablice 1. Deklaracja tablicy
Programowanie obiektowe
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
WEKTORY Każdy wektor ma trzy zasadnicze cechy: wartość (moduł), kierunek i zwrot. Wartością wektora nazywamy długość odcinka AB przedstawiającego ten wektor.
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Projektowanie Aplikacji Komputerowych
Propozycja metodyki nauczania inżynierii oprogramowania
08: ERD – podencje, łuki i pułapki
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Diagramy klas w języku UML
Diagram czynności (Activity Diagrams)
Zadanie 1.
Projektowanie relacyjnych baz danych
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Model dziedziny. Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Samochód Osoba Dom Modelowanie.
Bibliotekarz – odkrywca. Agenda Proces tworzenia informacji Indeksy wyszukiwawcze Budowa rekordu w Promaxie Zapytania.
SPOSOBY SPORZĄDZANIA NOTATEK
Budowa algorytmów Algorytm: skończony ciąg operacji wraz z ściśle sprecyzowanym porządkowaniem ich wykonywania, które po realizacji dają rozwiązanie dowolnego.
DIAGRAMY ER 2 (ENTITY-RELATIONSHIP DIAGRAMS 2) Ćwiczenia 2.
Diagramy ER (Entity-relationship diagrams)
Podstawy układów logicznych
Podstawy programowania
Podstawy informatyki Struktury, operatory, wyjątki
Moduł Lojalnościowy. Czyli zatrzymanie klienta przy naszym zakładzie optycznym.
Budowanie tabel i relacji
Obraz marynistyczny w programie MS Paint 6.1
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Związki w UML Do zrobienia jest: -Przerysować jak ktoś ma Visio te dwa diagramy tak żeby podmienić tylko nazwy a reszta Taka sama, -I dodać po jednym zdaniu.
Bazy danych 1 Literatura: Paul Benon-Davies – Systemy baz danych
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy klas
Intuicjonizm etyczny George’a E. Moore’a
Zadanie 1.
Projektowanie relacyjnych baz danych – postacie normalne
Aplikacje internetowe
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Moduł III Definiowanie i planowanie zadań typu P 1.
Michał Krawczykowski kl. IIIB
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Rozwiązywanie układów równań liniowych różnymi metodami
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Diagram klas Kluczowymi elementami są: klasy (class)
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Modelowanie obiektowe - system zarządzania projektami.
Projektowanie relacyjnych baz danych – diagramy związków encji
Diagram obiektów Diagram obiektów ukazuje elementy i związki z diagramu klas w ustalonej chwili. Diagram obiektów jest grafem złożonym z wierzchołków i.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
WIELOKĄTY Karolina Zielińska kl.v Aleksandra Michałek kl v
Modelowanie model związków encji
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
1 W wykładzie 2 zaprezentowana jest podstawowa metoda tworzenia schematu relacyjnej bazy danych. Jest ona dwustopniowa. W pierwszej fazie projektujemy.
Modelowanie Danych (ERD) – część 1 (Wspomaganie Modelowania danych)
Do czego służy arkusz kalkulacyjny, jego budowa
Zaawansowane modelowanie danych (część 3). Modelowanie danych hierarchicznych Firma Oddział Zespół Dział Zespół # nazwa Dział # * nazwa Oddział # * nazwa.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
każdy rysunek powinien być opatrzony
Temat: Tworzenie bazy danych
Inżynieria systemów informacyjnych
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Strukturalny język zapytań SQL - historia
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
* PROCESÓW TECHNOLOGICZNYCH
PGO - Projektowanie i implementacja pierwszych klas
Zapis prezentacji:

Inżynieria oprogramowania Diagramy encja-związek ERD: Entity Relationship Diagrams

Główne techniki modelowania strukturalnego Hierarchia funkcji Diagram związków encji Dane i powiązania między nimi Struktura realizowanych funkcji Diagramy przepływu danych Wykorzystanie danych do realizacji poszczególnych funkcji

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)

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.

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.

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.

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”

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).

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ć").

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

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.

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.

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.

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.

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.

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).

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, ...

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.

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).