Inżynieria oprogramowania wykład V Faza analizy wprowadzenie Analiza strukturalna modelowanie związków encji

Wielkość: px
Rozpocząć pokaz od strony:

Download "Inżynieria oprogramowania wykład V Faza analizy wprowadzenie Analiza strukturalna modelowanie związków encji"

Transkrypt

1 Inżynieria oprogramowania wykład V Faza analizy wprowadzenie Analiza strukturalna modelowanie związków encji prowadzący: dr hab. inż. Krzysztof Bartecki, prof. PO

2 Faza analizy systemowej (modelowania) Wymagania Projektowanie Implementacja Testowanie Konserwacja Strategiczna Analiza Instalacja Dokumentacja Jej celem jest udzielenie odpowiedzi na pytanie: jak system ma działać? W wyniku fazy analizy otrzymujemy logiczny model systemu, opisujący sposób realizacji przez system postawionych wymagań, lecz abstrahujący jeszcze od szczegółów implementacyjnych. K. Bartecki, Inżynieria oprogramowania, V/2

3 Główne cechy dobrego modelu analitycznego opisuje na wysokim poziomie abstrakcji wszystkie istotne cechy tworzonego systemu informatycznego, opisany jest za pomocą notacji zgodnej z określoną konwencją, zbudowany jest przy użyciu dobrze znanych narzędzi (CASE), bazuje na hierarchicznej dekompozycji funkcji systemu, używany jest do wnioskowania o przyszłym oprogramowaniu,. unika terminologii implementacyjnej. K. Bartecki, Inżynieria oprogramowania, V/3

4 Dziedzina problemu i zakres odpowiedzialności systemu a zakres modelu analitycznego Tworzony system informatyczny będzie obejmował jedynie pewien fragment większej całości, zwanej dziedziną problemu. Przykłady dziedzin problemu: działalność firmy rachunkowej, funkcjonowanie wydziału firmy farmaceutycznej, wizualizacja informacji geograficznej. Fragment dziedziny problemu, który będzie objęty przez tworzony system informatyczny, nazywany jest zakresem odpowiedzialności systemu. K. Bartecki, Inżynieria oprogramowania, V/4

5 Dziedzina problemu (zakres działalności firmy) Model analityczny Zakres odpowiedzialności systemu Model analityczny z reguły wykracza poza zakres odpowiedzialności systemu, a czasem nawet poza dziedzinę problemu, gdyż: ujęcie w modelu pewnych fragmentów dziedziny problemu nie będących częścią budowanego systemu czyni model bardziej zrozumiałym, na etapie modelowania może nie być jasne, które elementy będą realizowane przez tworzony system informatyczny a które np. ręcznie. K. Bartecki, Inżynieria oprogramowania, V/5

6 Wiele systemów informatycznych w prosty sposób automatyzuje wykonywanie czynności wykonywanych do tej pory ręcznie w tym przypadku tworzenie modelu systemu informatycznego można utożsamiać z modelowaniem struktury oraz sposobu funkcjonowania danej firmy/organizacji. W innych przypadkach wdrożenie systemu informatycznego w istotny sposób zmienia dotychczasową dziedzinę problemu w tym przypadku celem analizy jest stworzenie modelu fragmentu dziedziny problemu zmodyfikowanej przez działanie projektowanego systemu. K. Bartecki, Inżynieria oprogramowania, V/6

7 Notacje używane w fazie analizy Do opisu modelu stosuje się następujące rodzaje notacji: język naturalny, notacje graficzne, specyfikacje częściowo ustrukturalizowany zapis tekstowy i numeryczny. Szczególną rolę pełnią tutaj notacje graficzne inżynieria oprogramowania wzoruje się tutaj na innych dziedzinach nauki (mechanice, elektronice), w których notacje graficzne są od dawna stosowane. K. Bartecki, Inżynieria oprogramowania, V/7

8 Metody analizy systemowej podział STRUKTURALNE Wyróżniają w systemie dwa rodzaje składowych: pasywne (dane), aktywne (operacje funkcje). OBIEKTOWE Opisują system jako układ współdziałających z sobą obiektów, łączących w jedną całość dane i operacje na tych danych wykonywane. K. Bartecki, Inżynieria oprogramowania, V/8

9 Analiza strukturalna Analiza strukturalna zaczyna się od budowy dwóch różnych modeli: modelu danych, będącego opisem pasywnej części systemu, modelu funkcji, opisującego aktywną część systemu. Zwolennicy analizy strukturalnej twierdzą, że budowa dwóch oddzielnych modeli ułatwia zrozumienie różnych aspektów systemu. Krytycy zwracają uwagę na to, że integracja tych dwóch modeli może być bardzo trudna. K. Bartecki, Inżynieria oprogramowania, V/9

10 Model danych modelowanie związków encji Modelowanie związków encji polega na identyfikowaniu w analizowanym przedsiębiorstwie rzeczy ważnych (tzw. encji), własności tych rzeczy (czyli tzw. atrybutów) oraz sposobów, jakimi te encje są ze sobą powiązane (czyli tzw. związków). Cele modelowania związków encji: Dostarczenie modelu potrzeb informacyjnych przedsiębiorstwa, niezależnego od sposobu przechowywania danych i od metod dostępu do nich. W praktyce inżynierskiej model związków encji stanowi konceptualny, wstępny model bazy danych. K. Bartecki, Inżynieria oprogramowania, V/10

11 Definicja encji Encja (ang. entity) jest rzeczą lub obiektem, rzeczywistym lub wyobrażonym, mającym dla nas znaczenie, o którym informacje muszą być znane lub przechowywane. Nazwa encji to rzeczownik w liczbie pojedynczej, na diagramie zapisany wielkimi literami. Przykłady encji i ich instancji (czyli wystąpień): PORT LOTNICZY (LOTNISKO) np. Okęcie Balice Pyrzowice CZYTELNIK np. Józef Kowalski Zbigniew Kępski Adam Nowak ZAMÓWIENIE np. 1134/ / /16 K. Bartecki, Inżynieria oprogramowania, V/11

12 Atrybut encji (ang. entity attribute) jest dowolnym szczegółem, służącym do opisywania, identyfikowania, klasyfikowania, określania ilości lub wyrażania stanu encji. Atrybut encji jest dowolnym opisem mającym znaczenie dla encji. Nazwa atrybutu musi być podana w liczbie pojedynczej. Przykłady encji i ich wybranych atrybutów: SAMOLOT producent nazwa typu samolotu liczba miejsc numer rejestracyjny data produkcji nazwa samolotu KARTA KREDYTOWA data wydania ważna od ważna do numer WYPOŻYCZENIE numer kolejny liczba pozycji data wypożyczenia data zwrotu K. Bartecki, Inżynieria oprogramowania, V/12

13 Atrybut musi znajdować się przy encji, którą opisuje Czy np. nazwa towaru powinna być atrybutem encji TOWAR, ZAMÓWIENIE czy KLIENT? Czy np. numer siedzenia powinien być atrybutem encji BILET, MIEJSCE czy SAMOLOT? Czy np. numer rejestracyjny powinien być atrybutem encji POJAZD czy WŁAŚCICIEL? TOWAR nazwa towaru MIEJSCE numer siedzenia POJAZD numer rejestracyjny K. Bartecki, Inżynieria oprogramowania, V/13

14 Instancja encji to konkretne wystąpienie danej encji. Każdej instancji encji przypisane są określone wartości jej atrybutów. Przykładowe instancje (wystąpienia) encji SAMOLOT z wartościami atrybutów: SAMOLOT SAMOLOT SAMOLOT Boeing SP-EEA 2004 Paderewski Boeing SP-EEB 2006 Chopin Boeing SP-EEK 2006 brak nazwy K. Bartecki, Inżynieria oprogramowania, V/14

15 Może się zdarzyć, że atrybut przyjmuje określoną wartość tylko przez pewien czas, dopiero po pewnym czasie, lub wartość ta może nie być osiągalna. Takie atrybuty nazywamy opcjonalnymi (o), w odróżnieniu od atrybutów wymaganych (*), dla których wartości muszą być podane. Przykłady: SAMOLOT * producent * nazwa typu samolotu * liczba miejsc * numer rejestracyjny * data produkcji o nazwa samolotu WYPOŻYCZENIE * numer kolejny * liczba pozycji * data wypożyczenia o data zwrotu CZYTELNIK * nazwisko * imię * imię ojca * miejscowość * ulica * nr domu o nr mieszkania * data zapisania o data wypisania K. Bartecki, Inżynieria oprogramowania, V/15

16 Identyfikator encji Każda encja musi być jednoznacznie identyfikowalna, aby każdą instancję encji można było odróżnić od wszystkich innych jej instancji. Rolę identyfikatora encji (#) może pełnić: pojedynczy atrybut (wymagany), kombinacja kilku wybranych atrybutów (wszystkie wymagane). SAMOLOT # numer rejestracyjny * producent * nazwa typu samolotu * liczba miejsc * data produkcji o nazwa samolotu CZYTELNIK # nazwisko # pierwsze imię # drugie imię * data urodzenia * data zapisania o data wypisania K. Bartecki, Inżynieria oprogramowania, V/16

17 Związek encji Związek encji jest nazwanym, istotnym powiązaniem, istniejącym między dwoma encjami. W szczególnym przypadku związek może być powiązaniem tej samej encji ze sobą (tzw. związek rekurencyjny, omawiany dalej). Przykładowa notacja związku encji: ENCJA A opcjonalny (kółko) wymagany (kreska) ENCJA B wiele (kurza stopka) jeden (linia) K. Bartecki, Inżynieria oprogramowania, V/17

18 Jak czytać notację związków encji? Przykład: BILET # nr biletu * cena : wystawiony dla widnieje na PASAŻER # nr dowodu * nazwisko * imię nazwy ról Każdy BILET musi być wystawiony na jednego i tylko jednego PASAŻERA. (Nie może być biletów pustych, tzn. nie wystawionych na nikogo oraz biletów wystawionych na więcej niż jednego pasażera) Każdy PASAŻER może widnieć na wielu BILETACH. (Mogą istnieć pasażerowie, których nazwiska nie widnieją na żadnym bilecie, mogą istnieć tacy, których nazwiska widnieją na jednym lub wielu biletach) K. Bartecki, Inżynieria oprogramowania, V/18

19 Poglądowy diagram ilustrujący związek między encjami BILET i PASAŻER BILET PASAŻER K. Bartecki, Inżynieria oprogramowania, V/19

20 Związek zależny (encja zależna, encja słaba) Każda encja musi posiadać identyfikator. Niekiedy jednak atrybuty danej encji nie wystarczają do zidentyfikowania instancji (wystąpienia) tej encji. W tym przypadku na identyfikator danej encji mogą składać się zarówno jej własne atrybuty, jak również atrybuty (identyfikatory) innej encji (lub kilku innych encji), z którą dana encja tworzy związek. Encję nie posiadającą swojego identyfikatora nazywamy encją słabą, zaś związek jaki tworzy ona z encją od której pobiera identyfikator związkiem zależnym. K. Bartecki, Inżynieria oprogramowania, V/20

21 Przykład związku zależnego ZADANIE # numer zadania * nazwa zadania * koszt zadania realizowane w ramach symbol związku zależnego złożony z PROJEKT # numer projektu * nazwa projektu * data rozpoczęcia o data zakończenia PROJEKT może składać się z wielu zadań. Koszt ZADANIA o danym numerze zadania zmienia się w zależności od PROJEKTU, w ramach którego jest ono wykonywane. Aby zidentyfikować konkretne ZADANIE w ramach określonego PROJEKTU (i w ten sposób określić koszt tego ZADANIA), należy podać zarówno numer zadania, jak również numer projektu, w ramach którego jest ono realizowane. Na identyfikator encji ZADANIE składają się zatem 2 atrybuty: numer zadania oraz numer projektu, będący identyfikatorem encji PROJEKT. K. Bartecki, Inżynieria oprogramowania, V/21

22 Przykłady notacji związków wiele do jednego PRACOWNIK WYDZIAŁ Każdy PRACOWNIK może pracować w jednym WYDZIALE. Każdy WYDZIAŁ może zatrudniać wielu PRACOWNIKÓW. PRACOWNIK WYDZIAŁ Każdy PRACOWNIK może pracować w jednym WYDZIALE. Każdy WYDZIAŁ musi zatrudniać jednego lub wielu PRACOWNIKÓW. PRACOWNIK WYDZIAŁ Każdy PRACOWNIK musi pracować w dokładnie jednym WYDZIALE. Każdy WYDZIAŁ może zatrudniać wielu PRACOWNIKÓW. PRACOWNIK WYDZIAŁ Każdy PRACOWNIK musi pracować w dokładnie jednym WYDZIALE. Każdy WYDZIAŁ musi zatrudniać jednego lub wielu PRACOWNIKÓW. K. Bartecki, Inżynieria oprogramowania, V/22

23 Przykłady notacji związków jeden do jednego ZESPÓŁ PROJEKT Każdy ZESPÓŁ może pracować nad jednym PROJEKTEM. Każdy PROJEKT może mieć przypisany jeden ZESPÓL. ZESPÓŁ PROJEKT Każdy ZESPÓŁ może pracować nad jednym PROJEKTEM. Każdy PROJEKT musi mieć przypisany dokładnie jeden ZESPÓL. ZESPÓŁ PROJEKT Każdy ZESPÓŁ musi pracować nad dokładnie jednym PROJEKTEM. Każdy PROJEKT może mieć przypisany jeden ZESPÓL. K. Bartecki, Inżynieria oprogramowania, V/23

24 Przykłady związków wiele do wielu PRACOWNIK WYDZIAŁ Każdy PRACOWNIK może pracować w wielu WYDZIAŁACH. Każdy WYDZIAŁ może zatrudniać wielu PRACOWNIKÓW. PRACOWNIK WYDZIAŁ Każdy PRACOWNIK może pracować w wielu WYDZIAŁACH. Każdy WYDZIAŁ musi zatrudniać jednego lub wielu PRACOWNIKÓW. PRACOWNIK WYDZIAŁ Każdy PRACOWNIK musi pracować w jednym lub wielu WYDZIAŁACH. Każdy WYDZIAŁ może zatrudniać wielu PRACOWNIKÓW. PRACOWNIK WYDZIAŁ Każdy PRACOWNIK musi pracować w jednym lub wielu WYDZIAŁACH. Każdy WYDZIAŁ musi zatrudniać jednego lub wielu PRACOWNIKÓW. K. Bartecki, Inżynieria oprogramowania, V/24

25 Dlaczego nie modeluje się związków jeden do jednego obustronnie wymaganych? POJAZD nr identyf. marka rok produkcji : DOWÓD REJESTRACYJNY nr rejestracyjny nr dowodu rej. data rejestracji : Są one często różnymi perspektywami tej samej rzeczy, z innymi nazwami. Zwykle wystarczające jest w tym przypadku użycie jednej encji, z odpowiednimi atrybutami. POJAZD marka rok produkcji nr identyf. nr rejestracyjny nr dowodu rej. data rejestracji : K. Bartecki, Inżynieria oprogramowania, V/25

26 Kiedy w modelu związków encji pojawiają się związki wiele do wielu? POJAZD # nr rejestracyjny * marka * rok produkcji : naprawiany na miejscem naprawy STANOWISKO NAPRAW # nr stanowiska * czy jest kanał * czy jest podnośnik : Związki o tej liczebności pojawiają się często w początkowych fazach analizy i najczęściej sygnalizują związek, który nie jest w pełni przeanalizowany i wymaga dalszego rozłożenia. Rozłożenie związku wiele do wielu polega na znalezieniu tzw. encji intersekcji (przecięcia). K. Bartecki, Inżynieria oprogramowania, V/26

27 Encja intersekcji to encja powstała w wyniku eliminacji związku wiele do wielu między dwiema innymi encjami (referencyjnymi), często posiada swoje własne atrybuty, reprezentujące nowo odkryte szczegóły związku, często jest ona modelowana jako encja zależna (słaba): POJAZD # nr rejestracyjny * marka * rok produkcji : naprawiany na miejscem naprawy STANOWISKO NAPRAW # nr stanowiska * czy jest kanał * czy jest podnośnik : POJAZD # nr rejestracyjny * marka * rok produkcji : podlega dotyczy NAPRAWA # data naprawy o koszt naprawy wykonywana na miejscem STANOWISKO NAPRAW # nr stanowiska * czy jest kanał * czy jest podnośnik : Encja intersekcji Encje referencyjne K. Bartecki, Inżynieria oprogramowania, V/27

28 Encja intersekcji c.d. w encji intersekcji można dodać atrybut, pełniący rolę jej unikalnego identyfikatora, sprawia to, że encja intersekcji przestaje być encją słabą takie podejście daje wygodę w późniejszej implementacji: POJAZD # nr rejestracyjny * marka * rok produkcji : podlega dotyczy NAPRAWA # nr naprawy * data naprawy o koszt naprawy wykonywana na miejscem STANOWISKO NAPRAW # nr stanowiska * czy jest kanał * czy jest podnośnik : K. Bartecki, Inżynieria oprogramowania, V/28

29 Związek rekurencyjny przykład PRACOWNIK jest podwładnym jest przełożonym Każdemu PRACOWNIKOWI może zostać przyporządkowany inny PRACOWNIK, pełniący rolę jego przełożonego. Każdemu PRACOWNIKOWI może zostać przyporządkowanych wielu PRACOWNIKÓW, pełniących rolę jego podwładnych. K. Bartecki, Inżynieria oprogramowania, V/29

30 Modelowanie podtypów i nadtypów encji związek dziedziczenia Nadtyp to uogólniona encja, atrybuty nadtypu przechodzą na wszystkie jego podtypy, podtyp posiada swoje właściwości (atrybuty), a także wszystkie właściwości (atrybuty) odziedziczone po nadtypie, nie ma ograniczeń co do liczby podtypów encji. K. Bartecki, Inżynieria oprogramowania, V/30

31 Przykład związku dziedziczenia: nadtyp OSOBA # nr osoby * imię * nazwisko * adres Encja OSOBA jest nadtypem encji KLIENT i PRACOWNIK. podtypy Encje KLIENT i PRACOWNIK są podtypami encji OSOBA. KLIENT * data rejestracji * status o liczba punktów PRACOWNIK * pesel * data zatrudnienia * zarobki K. Bartecki, Inżynieria oprogramowania, V/31

32 Dziedziczenie wzajemnie wykluczające się: OSOBA # nr osoby * imię * nazwisko * adres OSOBA może być albo KLIENTEM, albo PRACOWNIKIEM (nie może być KLIENTEM i PRACOWNIKIEM jednocześnie) KLIENT * data rejestracji * status o liczba punktów PRACOWNIK * pesel * data zatrudnienia * zarobki K. Bartecki, Inżynieria oprogramowania, V/32

33 Podtypy encji mogą mieć własne związki z innymi encjami, przy czym automatycznie dziedziczą związki określone dla encji-nadtypu: z początkiem LOT NIEPLANOWANY do końcem LOTNISKO LOT początkiem z końcem do z wykorzystaniem przydzielony do LOT PLANOWANY na zaplanowana dla TRASA SAMOLOT K. Bartecki, Inżynieria oprogramowania, V/33

34 Nadmiarowe atrybuty KLIENT # nr klienta * nazwisko * imię : składa składane przez ZAMÓWIENIE # nr zamówienia * nazwisko * nazwa towaru * data zamówienia * liczba sztuk * kwota zamówienia dotyczy przedmiotem TOWAR # nr towaru * nazwa towaru * cena towaru : Atrybuty nazwisko oraz nazwa towaru zostały umieszczone w encji ZAMÓWIENIE nadmiarowo (błędnie), gdyż: atrybut nazwisko opisuje KLIENTA, i tylko w tej encji ma prawo się on znaleźć (i już się tam znajduje), atrybut nazwa towaru opisuje TOWAR, i tylko w tej encji ma prawo się on znaleźć (i już się tam znajduje), na diagramach encji nie uwzględnia się tzw. kluczy obcych (ang. foreign key, FK) pojęcie to nie występuje w modelu konceptualnym, pojawia się dopiero w implementacyjnym modelu relacyjnej bazy danych. K. Bartecki, Inżynieria oprogramowania, V/34

35 Związki nadmiarowe KLIENT # nr klienta * nazwisko * imię : składa składane przez ZAMÓWIENIE # nr zamówienia * data zamówienia * liczba sztuk * kwota zamówienia : dotyczy przedmiotem TOWAR # nr towaru * nazwa towaru * cena towaru : kupuje kupowany przez Związek pomiędzy encjami KLIENT oraz TOWAR jest nadmiarowy, gdyż z nazw ról wynika, iż powiela on informację już zawartą w związkach KLIENT-ZAMÓWIENIE oraz ZAMÓWIENIE-TOWAR K. Bartecki, Inżynieria oprogramowania, V/35

36 Zakładając, że każdemu z KLIENTÓW może być przypisany rabat na jeden, określony TOWAR: KLIENT # nr klienta * nazwisko * imię : składa składane przez ZAMÓWIENIE # nr zamówienia * data zamówienia * liczba sztuk * kwota zamówienia : dotyczy przedmiotem TOWAR # nr towaru * nazwa towaru * cena towaru : posiada rabat na sprzedawany z rabatem dla Tym razem bezpośredni związek pomiędzy encjami KLIENT oraz TOWAR jest uzasadniony, gdyż reprezentuje on informację inną od informacji zawartej w związkach KLIENT-ZAMÓWIENIE oraz ZAMÓWIENIE- TOWAR K. Bartecki, Inżynieria oprogramowania, V/36

37 Normalizacja danych to proces, mający na celu eliminację powtarzających się danych. Dzięki normalizacji uzyskujemy: elastyczność, konieczną do obsłużenia różnych wymagań funkcjonalnych, umożliwienie przeprowadzenia odwzorowania modelu encji w wiele różnych projektów baz danych. W dalszej części omówione zostaną cztery tzw. postaci normalne (PN): zerowa (0PN), pierwsza (1PN), druga (2PN), trzecia (3PN). K. Bartecki, Inżynieria oprogramowania, V/37

38 Zerowa postać normalna (0PN) Każda encja musi mieć zbiór atrybutów (związków), które w sposób unikalny określają jej wystąpienie. Przykład: diagram w 0PN WNIOSKODAWCA # NIP * Nazwisko * Imię * Imię ojca * Kod grupy uposażenia * Stawka wg grupy o Opis grupy uposażenia * Data złożenia wniosku * Treść wniosku * Kod typu wniosku * Opis typu wniosku K. Bartecki, Inżynieria oprogramowania, V/38

39 Ponieważ jeden WNIOSKODAWCA może składać wiele wniosków, więc niektóre z atrybutów mogą przyjmować więcej niż jedną wartość: WNIOSKODAWCA Przykładowe wartości Atrybuty wielowartościowe # NIP * Nazwisko * Imię * Imię ojca * Kod grupy uposażenia * Stawka wg grupy o Opis grupy uposażenia * Data złożenia wniosku * Treść wniosku * Kod typu wniosku * Opis typu wniosku Kowalski Zbigniew Wojciech 1D PLN młodszy referent , Wnioskuję o.., Niniejszym proszę.. C1, C7 Wniosek o zasiłek socjalny, Wniosek o refundację wczasów K. Bartecki, Inżynieria oprogramowania, V/39

40 Pierwsza postać normalna (1PN) Każdy atrybut może mieć tylko jedną wartość dla każdego wystąpienia jego encji w danej chwili czasu. Przejście z 0PN do 1PN: usunięcie atrybutów wielowartościowych i utworzenie dla nich nowej encji, identyfikator starej encji wchodził będzie w skład złożonego identyfikatora nowej encji (związek zależny). K. Bartecki, Inżynieria oprogramowania, V/40

41 Diagram w 1PN WNIOSEK # Kod typu wniosku # Data złożenia wniosku * Treść wniosku * Opis typu wniosku składany przez składa związek zależny wiele do jednego WNIOSKODAWCA # NIP * Nazwisko * Imię * Imię ojca * Kod grupy uposażenia * Stawka wg grupy o Opis grupy uposażenia Z diagramu wynika, że do jednoznacznego zidentyfikowania WNIOSKU konieczne jest podanie: kodu typu wniosku, daty złożenia wniosku, numeru NIP wnioskodawcy. K. Bartecki, Inżynieria oprogramowania, V/41

42 Druga postać normalna (2PN) (dotyczy encji z identyfikatorami złożonymi z kilku atrybutów) Wartość każdego atrybutu encji musi zależeć od całego identyfikatora tej encji (a nie tylko od niektórych atrybutów składających się na ten identyfikator). W naszym przykładzie wartość np. atrybutu Opis typu wniosku w encji WNIOSEK zależy jedynie od Kodu typu wniosku, a nie zależy od Daty złożenia wniosku i NIPu wnioskodawcy. Przejście z 1PN do 2PN: usunięcie wszystkich częściowo zależnych atrybutów i utworzenie dla nich nowej encji, skopiowanie części identyfikatora z encji pierwotnej (od której zależne są usunięte atrybuty) do tej nowej encji). K. Bartecki, Inżynieria oprogramowania, V/42

43 Diagram w 2PN WNIOSEK # Data złożenia wniosku * Treść wniosku składany przez składa WNIOSKODAWCA # NIP * Nazwisko * Imię * Imię ojca jest określonego * Kod grupy uposażenia * Stawka wg grupy o Opis grupy uposażenia klasyfikacją dla TYP WNIOSKU # Kod typu wniosku * Opis typu wniosku K. Bartecki, Inżynieria oprogramowania, V/43

44 Trzecia postać normalna (3PN) Wartość atrybutu encji nie może zależeć od wartości innego atrybutu, nie wchodzącego w skład jej identyfikatora. W naszym przypadku, wartości atrybutów Stawka wg grupy oraz Opis grupy uposażenia w encji WNIOSKODAWCA zależą jedynie od Kodu grupy uposażenia, a nie zależą od wartości atrybutu NIP, będącego identyfikatorem tej encji. Przejście z 2PN do 3PN: należy usunąć atrybuty niezależne od identyfikatora i wstawić je do nowej encji, identyfikatorem nowej encji staje się atrybut, od którego zależą jej pozostałe atrybuty. K. Bartecki, Inżynieria oprogramowania, V/44

45 Diagram w 3PN WNIOSEK # Data złożenia wniosku * Treść wniosku składany przez składa # NIP WNIOSKODAWCA * Nazwisko * Imię * Imię ojca jest określonego przydzielony do określona dla klasyfikacją dla GRUPA UPOSAŻENIA TYP WNIOSKU # Kod grupy uposażenia # Kod typu wniosku * Stawka wg grupy * Opis typu wniosku o Opis grupy uposażenia K. Bartecki, Inżynieria oprogramowania, V/45

46 Intuicyjna normalizacja Dobry analityk potrafi dojść do modelu związków encji w trzeciej postaci normalnej w sposób intuicyjny, tzn. bezpośrednio poprzez zidentyfikowanie encji, ich atrybutów i związków między encjami. K. Bartecki, Inżynieria oprogramowania, V/46

47 Typowe rozmieszczenie elementów diagramu związków encji UWAGA: notacja nieco różni się od omawianej na niniejszym wykładzie K. Bartecki, Inżynieria oprogramowania, V/47

48 Przykładowy diagram związków encji zbudowany w programie PowerDesigner Team Team number Speciality <pi> Division Idtf_5 <pi> Division number Division name Division address Idtf_1 <pi> 1..1 Belongs to <pi> 1..n Employee 0..n Member Employee number First name Last name Employee function Employee salary Idtf_2 <pi> Is member supervises of 1..n 0..1 <pi> 0..n Chief Is manager of 0..1 Is responsible for 0..n Subcontract Subcontract n Customer Customer number Customer name Customer address Customer activity Customer telephone Customer fax Idtf_3 <pi> <pi> Material Material number Material name Material type Idtf_7 <pi> composes composed of 0..n 0..n <pi> 1..1 Works on 0..n Participate Start date (par) End date (par) Is done n by Task 1..1 Belongs to 0..n Project Project number Project name Project label Idtf_4 <pi> <pi> Activity Start date (act) End date (act) Compose Task name Task cost <pi> Idtf_6 <pi> K. Bartecki, Inżynieria oprogramowania, V/48

49 Modelowanie związków encji podsumowanie Wyróżniamy istotne rzeczy (encje), o których informacja powinna być znana i/lub przechowywana. Dla każdej encji wyróżniamy szczegóły informacji (atrybuty), które powinny być znane i/lub przechowywane. Między encjami dodajemy związki, które nazywają istotne i ważne powiązania między nimi. Określamy, jak każde wystąpienie encji może być zidentyfikowane. Służyć może do tego pojedynczy atrybut encji, kilka jej atrybutów lub kombinacja atrybutów i związków. Staramy się, aby model encji był modelem w trzeciej postaci normalnej (normalizacja). K. Bartecki, Inżynieria oprogramowania, V/49

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM

Bardziej szczegółowo

Modelowanie danych, projektowanie systemu informatycznego

Modelowanie danych, projektowanie systemu informatycznego Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym

Bardziej szczegółowo

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji Diagramy związków encji (ERD) 1 Projektowanie bazy danych za pomocą narzędzi CASE Materiał pochodzi ze strony : http://jjakiela.prz.edu.pl/labs.htm Diagramu Związków Encji - CELE Zrozumienie struktury

Bardziej szczegółowo

1 Projektowanie systemu informatycznego

1 Projektowanie systemu informatycznego Plan wykładu Spis treści 1 Projektowanie systemu informatycznego 1 2 Modelowanie pojęciowe 4 2.1 Encja....................................... 5 2.2 Własności.................................... 6 2.3 Związki.....................................

Bardziej szczegółowo

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe

Bardziej szczegółowo

Faza analizy (modelowania) Faza projektowania

Faza analizy (modelowania) Faza projektowania Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań

Bardziej szczegółowo

Systemy informatyczne. Modelowanie danych systemów informatycznych

Systemy informatyczne. Modelowanie danych systemów informatycznych Modelowanie danych systemów informatycznych Diagramy związków encji Entity-Relationship Diagrams Modelowanie danych diagramy związków encji ERD (ang. Entity-Relationship Diagrams) diagramy związków encji

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań

Bardziej szczegółowo

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Modele danych Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl Cele modelowania Strategia informatyzacji organizacji Cele informatyzacji Specyfikacja wymagań użytkownika Model procesów

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska W bazie danych przechowujemy tylko niektóre informacje o świecie rzeczywistym. Wybór właściwych wycinków rzeczywistości i dotyczących ich danych jest bardzo istotny od niego zależy

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej Analiza i projektowanie obiektowe 2017/2018 Wykład 3: Model wiedzy dziedzinowej Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Model wiedzy dziedzinowej

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami

Bardziej szczegółowo

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków

Bardziej szczegółowo

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

Bazy danych TERMINOLOGIA

Bazy danych TERMINOLOGIA Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.

Bardziej szczegółowo

Modelowanie związków encji

Modelowanie związków encji Modelowanie związków encji 1. Cel modelowania - tworzenia związków encji Metoda modelowania tworzenie związków encji (ERD) odnosi się do etapów strategii i analizy cyklu życia systemu informacyjnego. Cykl

Bardziej szczegółowo

Projektowanie Systemów Informacyjnych

Projektowanie Systemów Informacyjnych Projektowanie Systemów Informacyjnych Wykład II Encje, Związki, Diagramy związków encji, Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło

Bardziej szczegółowo

Piotr Kulicki Katolicki Uniwersytet Lubelski Jana Pawła II Instytut Filozofii Teoretycznej Katedra Podstaw Informatyki

Piotr Kulicki Katolicki Uniwersytet Lubelski Jana Pawła II Instytut Filozofii Teoretycznej Katedra Podstaw Informatyki Piotr Kulicki Katolicki Uniwersytet Lubelski Jana Pawła II Instytut Filozofii Teoretycznej Katedra Podstaw Informatyki Modalności w praktyce informatycznej Lublin, 17 listopada 2009 Interesująca opinia

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J. Bazy Danych Wykład II Encja, atrybuty, klucze Związki encji Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło 1 Encja Byt pojęciowy

Bardziej szczegółowo

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1) Modelowanie związków encji Oracle Designer: Modelowanie związków encji Technika określania potrzeb informacyjnych organizacji. Modelowanie związków encji ma na celu: dostarczenie dokładnego modelu potrzeb

Bardziej szczegółowo

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

Bardziej szczegółowo

TECHNIKI MODELOWANIA STRUKTURY INFORMACYJNEJ

TECHNIKI MODELOWANIA STRUKTURY INFORMACYJNEJ 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

Bardziej szczegółowo

Feature Driven Development

Feature Driven Development Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami

Bardziej szczegółowo

Świat rzeczywisty i jego model

Świat rzeczywisty i jego model 2 Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Dom Samochód Osoba Modelowanie 3 Byty i obiekty Byt - element świata rzeczywistego (dziedziny problemu),

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)

Bardziej szczegółowo

Projektowanie bazy danych

Projektowanie bazy danych Projektowanie bazy danych Cel wykładu Umiejętność zamodelowania bazy danych na diagramie Plan wykładu Cel modelowania konceptualnego i modelu ER Etapy modelowania konceptualnego Model ER (związków encji)

Bardziej szczegółowo

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych Modelowanie klas i obiektów Jarosław Kuchta Podstawowe pojęcia (1) Byt, encja (entity) coś co istnieje, posiada własne cechy i wyodrębnioną tożsamość (identity); bytem może być rzecz, osoba, organizacja,

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

Zasady organizacji projektów informatycznych Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych

Bardziej szczegółowo

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych Diagramy związków encji ERD Ćwiczenia w modelowaniu danych dr Lidia Stępień wykład 5 ERD ang. Entity-Relationship Diagram Diagram związków encji Proces konstruowania projektu systemu bazy danych. Abstrakcyjna

Bardziej szczegółowo

Przykłady normalizacji

Przykłady normalizacji Przykłady normalizacji Nr faktury Za okres Nabywca Usługa Strefa czasowa od 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 21113332437 1.11.2007 30.11.2007 Andrzej Macioł,

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Projektowanie BAZY DANYCH

Projektowanie BAZY DANYCH Projektowanie BAZY DANYCH Podstawowe pojęcia Encją jest każdy przedmiot, zjawisko, stan lub pojęcie, czyli każdy obiekt, który potrafimy odróżnić od innych obiektów ( np. pies, rower,upał). Encje podobne

Bardziej szczegółowo

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy Uwaga: 1. Praca powinna być napisana z użyciem formy bezosobowej np. wykonano. Nazwa rozdziału Zawartość Liczba stron 1. Wstęp Rozdział ten powinien zawierać zarys najważniejszych elementów pracy Krótki

Bardziej szczegółowo

Projektowanie bazy danych przykład

Projektowanie bazy danych przykład Projektowanie bazy danych przykład Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeń wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 3 Diagramy przypadków użycia Diagramy przypadków użycia (ang. use case)

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Wrocławska Wyższa Szkoła Informatyki Stosowanej Normalizacja baz danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Normalizacja relacji ma na celu takie jej przekształcenie,

Bardziej szczegółowo

Tworzenie modelu logicznego i fizycznego danych.

Tworzenie modelu logicznego i fizycznego danych. Tworzenie modelu logicznego i fizycznego danych. W celu stworzenia modelu danych wykorzystamy program ata Architect wchodzący w skład pakietu narzędzi CASE Power esigner, który pozwala utworzyć tzw. logiczny

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE PLAN WYKŁADU Modelowanie logiczne Transformacja ERD w model relacyjny Odwzorowanie encji Odwzorowanie związków Odwzorowanie specjalizacji i generalizacji BAZY DANYCH Wykład 7 dr inż. Agnieszka Bołtuć GŁÓWNE

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Modelowanie związków encji Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. II Jesień 2014 1 / 28 Modelowanie Modelowanie polega na odwzorowaniu

Bardziej szczegółowo

WYKŁAD 1. Wprowadzenie do problematyki baz danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1 Charakterystyka oprogramowania obiektowego 1. Definicja systemu informatycznego 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wymagania 4. Problemy z podejściem nieobiektowym

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Posługiwanie się tabelami

Posługiwanie się tabelami Wykład 3 Tabele Posługiwanie się tabelami Przykładowa tabela gromadząca informacje o osobach (Imię, Nazwisko, Data urodzenia) Osoby Imię Nazwisko Data urodzenia Jan Kowalski 1995-01-01 Piotr Nowak 1994-05-22

Bardziej szczegółowo

Projektowanie systemów informatycznych. Diagramy przypadków użycia

Projektowanie systemów informatycznych. Diagramy przypadków użycia Informacje ogólne i przykłady Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski jako narzędzie modelowania wymagań Nazwa use case diagrams. Cel stosowania Określenie wymagań

Bardziej szczegółowo

problem w określonym kontekście siły istotę jego rozwiązania

problem w określonym kontekście siły istotę jego rozwiązania Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego

Bardziej szczegółowo

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji

Bardziej szczegółowo

Podejście obiektowe - podstawowe pojęcia

Podejście obiektowe - podstawowe pojęcia Podejście obiektowe - podstawowe pojęcia Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2003 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Modelowanie obiektowe - Ćw. 3.

Modelowanie obiektowe - Ćw. 3. 1 Modelowanie obiektowe - Ćw. 3. Treść zajęć: Diagramy przypadków użycia. Zasady tworzenia diagramów przypadków użycia w programie Enterprise Architect. Poznane dotychczas diagramy (czyli diagramy klas)

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

Faza Określania Wymagań

Faza Określania Wymagań Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie

Bardziej szczegółowo

APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI

APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI dr inż. Grażyna Hołodnik-Janczura W8/K4 CO SIĘ MOŻE DZIAĆ PODCZAS WYKONYWANIA BIZNESOWEJ FUNKCJI

Bardziej szczegółowo

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model związków encji Opracował: dr inż. Piotr Suchomski Świat rzeczywisty a baza danych Świat rzeczywisty Diagram związków encji Model świata rzeczywistego Założenia, Uproszczenia, ograniczenia

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań Inżynieria oprogramowania Wykład 6 Analiza i specyfikowanie wymagań Proces inżynierii wymagań Feasibility Study Feasibility Report Requirements Analysis System Models Requirements Definition Definition

Bardziej szczegółowo

Literatura. Bazy danych s.1-1

Literatura. Bazy danych s.1-1 Literatura R.Colette, Bazy danych : od koncepcji do realizacji, PWE 1988, S.Forte, T.Howe, J. Ralston, Access2000, HELION 2001, R.J.Muller, Bazy danych, język UML w modelowaniu danych, MIKOM 2000, M.Muraszkiewicz,

Bardziej szczegółowo

Diagramy klas. WYKŁAD Piotr Ciskowski

Diagramy klas. WYKŁAD Piotr Ciskowski Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Normalizacja relacyjnych baz danych. Sebastian Ernst

Normalizacja relacyjnych baz danych. Sebastian Ernst Normalizacja relacyjnych baz danych Sebastian Ernst Zależności funkcyjne Zależność funkcyjna pomiędzy zbiorami atrybutów X oraz Y oznacza, że każdemu zestawowi wartości atrybutów X odpowiada dokładnie

Bardziej szczegółowo

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH ZSE - Systemy baz danych 2 rzeczywistość uzyskanie od użytkowników początkowych informacji i wymagań dotyczących przetwarzania danych analiza

Bardziej szczegółowo

Projektowanie baz danych

Projektowanie baz danych Projektowanie baz danych Etapy procesu projektowania BD Określenie celów, jakim ma służyć baza danych (w kontakcie z decydentem z firmy zamawiającej projekt). Sprecyzowanie zakresu dostępnych danych, kategorii

Bardziej szczegółowo

Bazy danych. Zasady konstrukcji baz danych

Bazy danych. Zasady konstrukcji baz danych Bazy danych Zasady konstrukcji baz danych Diagram związków encji Cel: Opracowanie modelu logicznego danych Diagram związków encji [ang. Entity-Relationship diagram]: zapewnia efektywne operacje na danych

Bardziej szczegółowo

Projektowanie logiki aplikacji

Projektowanie logiki aplikacji Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy

Bardziej szczegółowo

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych Modelowanie przypadków użycia Jarosław Kuchta Podstawowe pojęcia Przypadek użycia jest formalnym środkiem dla przedstawienia funkcjonalności systemu informatycznego z punktu widzenia jego użytkowników.

Bardziej szczegółowo

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Wprowadzenie Modelowanie biznesowe jest stykiem między

Bardziej szczegółowo

Relacyjny model baz danych, model związków encji, normalizacje

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Relacyjne bazy danych. Normalizacja i problem nadmierności danych. Relacyjne bazy danych. Normalizacja i problem nadmierności danych. Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Relacyjne bazy danych Stworzone

Bardziej szczegółowo

Inżynieria oprogramowania wykład IV Faza określenia wymagań

Inżynieria oprogramowania wykład IV Faza określenia wymagań Inżynieria oprogramowania wykład IV Faza określenia wymagań prowadzący: dr inż. Krzysztof Bartecki Faza określenia wymagań Wymagania Projektowanie Implementacja Testowanie Konserwacja Strategiczna Analiza

Bardziej szczegółowo

Informatyzacja przedsiębiorstw WYKŁAD

Informatyzacja przedsiębiorstw WYKŁAD Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl wersja 0.1.0 07.10.2010 Wykład 1 Modelowanie procesów biznesowych Przypomnienie rodzajów narzędzi

Bardziej szczegółowo

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy. Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy. Przejście od modelu związków encji do modelu relacyjnego: odwzorowanie zbiorów encji, odwzorowanie związków encji

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 2/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 2/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 2/15 Specyfikacja wymagań Zanim rozpoczniemy modelowanie, musimy dokładnie określić obszar analizy oraz zrozumieć

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Związki pomiędzy tabelami

Związki pomiędzy tabelami Związki pomiędzy tabelami bazy danych. Stosowanie relacji jako nazwy połączenia miedzy tabelami jest tylko grą słów, którą można znaleźć w wielu podręcznikach ( fachowo powinno się używać związku). Związki

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego PROJEKTOWANIE BAZ DANYCH PRZESTRZENNYCH Zgodne z ogólną metodologią projektowania baz danych Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego Proces budowy bazy danych wymaga

Bardziej szczegółowo

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Zaawansowane Modelowanie I Analiza Systemów Informatycznych Zaawansowane Modelowanie I Analiza Systemów Informatycznych ORM - Kroki 4 (c.d.) i5 mgr. inż. Tomasz Pieciukiewicz tomasz.pieciukiewicz@gmail.com ORM 7 kroków tworzenia schematu 1. Przekształć przykłady

Bardziej szczegółowo

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 4: Model SERM dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Słabości modelu ERD Wraz ze wzrostem złożoności obiektów

Bardziej szczegółowo

Modelowanie danych Model związków-encji

Modelowanie danych Model związków-encji Modelowanie danych Model związków-encji Wykład przygotował: Robert Wrembel BD wykład 3 (1) Plan wykładu Wprowadzenie do modelowania i projektowania systemów informatycznych Model związków-encji encje atrybuty

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE. Wykład 3

TECHNOLOGIE OBIEKTOWE. Wykład 3 TECHNOLOGIE OBIEKTOWE Wykład 3 2 Diagramy stanów 3 Diagram stanu opisuje zmiany stanu obiektu, podsystemu lub systemu pod wpływem działania operacji. Jest on szczególnie przydatny, gdy zachowanie obiektu

Bardziej szczegółowo

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO Biologiczne Aplikacje Baz Danych dr inż. Anna Leśniewska alesniewska@cs.put.poznan.pl REPETYTORIUM Schemat bazy danych zbiór schematów relacji Relacja (tabela)

Bardziej szczegółowo

Przypadki użycia (use cases) Po co są przypadki użycia? Próby definicji Podstawowe pojęcia Notacje Relacje Dokumentacja Kroki metody Przykłady

Przypadki użycia (use cases) Po co są przypadki użycia? Próby definicji Podstawowe pojęcia Notacje Relacje Dokumentacja Kroki metody Przykłady Po co są przypadki użycia? Próby definicji Podstawowe pojęcia Notacje Relacje Dokumentacja Kroki metody Przykłady Po co są przypadki użycia? Gdy projektujemy jakikolwiek system, najważniejszym etapem jest!!!

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

Modelowanie konceptualne model EER

Modelowanie konceptualne model EER Modelowanie konceptualne model EER adeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Model EER rozszerzenie modelu ER 1. Liczne rozszerzenia modelu ER mają przede wszystkim na celu uwzględnienie zależności

Bardziej szczegółowo

Tworzenie warstwy zasobów projektowanie metodą strukturalną

Tworzenie warstwy zasobów projektowanie metodą strukturalną Tworzenie warstwy zasobów projektowanie metodą strukturalną Autor Zofia Kruczkiewicz Programowanie i wdrażanie systemów informatycznych 2011-03-27 1 1. Zasady modelowania wymagań funkcjonalnych systemu

Bardziej szczegółowo