Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza...

78
Bazy Danych dr inż. Roman Ptak Katedra Informatyki Technicznej [email protected]

Transcript of Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza...

Page 1: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Bazy Danych

dr inż. Roman Ptak

Katedra Informatyki Technicznej

[email protected]

Page 2: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Plan wykładu 2.

• Modelowanie danych (ERD)

• Normalizacja relacyjnych baz danych

• Modelowanie obiektowe (UML)

• Narzędzia CASE

2

Page 3: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

WPROWADZENIE

3

Page 4: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Inżynieria oprogramowania

Niestrukturalizowane tworzenie

oprogramowania

„Kryzys oprogramowania”

Nowy dział informatyki: Inżynieria

oprogramowania (ang. Software

engineering)

1. Projektowanie

2. Implementacja

Inżynieria baz danych

4

Page 5: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Utrzymanie

Wdrożenie

Implementacja

Projektowanie

Analiza

Cykl projektowy systemu informatycznego

5

Page 6: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

1. Kaskadowy

2. Typu V

3. Przyrostowy (ewolucyjny)

4. Szybkie prototypowanie (makietowanie)

5. Model spiralny

Modele procesu tworzenia oprogramowania

6

Page 7: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Model kaskadowy

Wymagania i specyfikacja

Projektowanie

Programowanie

Testowanie

Integracja

7

Page 8: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Paradygmaty programowania

• programowanie proceduralne

• programowanie strukturalne

• programowanie funkcyjne

• programowanie imperatywne

• programowanie obiektowe

• programowanie uogólnione

• programowanie sterowane zdarzeniami

• programowanie logiczne (np. Prolog)

• programowanie aspektowe (np. AspectJ)

• programowanie deklaratywne

• programowanie agentowe

• programowanie modularne

8

Page 9: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Obecnie stosowane są dwie główne

metodologie tworzenia systemów

informatycznych:

• Podejście strukturalne – starsze ale

mające wiele zastosowań praktycznych

• Podejście obiektowe – nowsze, znajdujące

coraz większą popularność

Metodologie tworzenia systemów

9

Page 10: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Język modelowania UML

• Mapowanie obiektowo-relacyjne (ORM)

Obiektowy model danych

10

Page 11: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

MODELOWANIE ERD

11

Page 12: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Testowanie systemu

Tworzenie aplikacji

Opracowanie modelu fizycznego

Opracowanie modelu logicznego

Opracowanie konceptualnego modelu danych

Analiza wycinka rzeczywistości

Sformułowanie problemu

Etapy projektowania systemów bazodanowych

12

Page 13: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Faza analizy

1. Analiza wycinka rzeczywistości

2. Analiza wymagań funkcjonalnych

3. Analiza wymagań niefunkcjonalnych

Model konceptualny

I. Projektowanie (modelowanie)

konceptualne

13

Page 14: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

1. Analiza wycinka rzeczywistości

• Wywiad z ekspertem dziedzinowym

14

Page 15: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Należy zidentyfikować i opisać funkcje,

np.:

– Wprowadzenia, modyfikowanie, usuwanie

danych – operacje CRUD (od ang. Create, Read,

Update i Delete),

– Wyszukiwanie danych,

– Przetwarzanie danych,

– Sporządzanie statystyk,

– Przygotowywanie raportów.

2. Analiza wymagań funkcjonalnych

15

Page 16: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Na tym etapie opisujemy wszystkie

pozostałe aspekty związane z

opracowywana bazą danych

3. Analiza wymagań niefunkcjonalnych

16

Page 17: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Tryb pracy (np. graficzny)

• Czy program ma pracować w sieci?

• Platforma sprzętowa (np. procesor Intel i7)

• Platforma systemowa (np. Windows 7)

• Środowisko implementacyjne BD (np. MySQL)

• Środowisko programistyczne (Visual C++)

• Rodzaj bazy danych (np. relacyjna)

• Oszacowanie liczby danych wejściowych,

tempo przyrostu danych

Analiza wymagań niefunkcjonalnych (2)

17

Page 18: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

ERD – ang. Entity Relationship Diagram

• ERD jest graficznym odpowiednikiem modelu związków encji ERM

ERM – ang. Entity Relationship Model

EER – ang. Enhanced Entity–Relationship

• ERD pozwala na graficzne zamodelowanie struktur danych oraz relacji pomiędzy nimi.

• Mając diagram ERD korzystając z systemów CASE często mamy możliwość wygenerowania gotowej bazy danych.

Diagram Związków Encji

18

Page 19: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

19

Przykład diagramu ERD

19

Page 20: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Encja – jest „rzeczą”, która w

modelowanym środowisku jest

rozpoznawana jako istniejący niezależnie

obiekt, zdarzenie lub pojęcie

• Związek – reprezentuje powiązania między

encjami, wynikające z opisu

modelowawnego fragmentu rzeczywistości

– Opcjonalność związków

– Krotność związków

ERD – podstawowe pojęcia

20

Page 21: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• 1:1 – jeden do jeden encji odpowiada dokładnie jedna encja

• 1:N – jeden do wiele encji odpowiada jedna lub więcej encji

• N:M – wiele do wiele jednej lub więcej encjom odpowiada jedna lub więcej encji

• W przypadku związków N:M należy dokonać normalizacji diagramu, która polega na dodaniu encji pośredniczącej i zastąpienie związku N:M dwoma związkami 1:N z nową encją.

Liczebność związków:

21

Page 22: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Przykłady diagramów ERD w różnych

notacjach

źródło: pl.wikipedia.org/wiki/Diagram_zwi%C4%85zk%C3%B3w_encji 22

Page 23: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Model logiczny jest modelem świata

rzeczywistego, wyrażony za pomocą reguł

pewnego architektonicznego modelu

danych.

– Relacyjny model danych

• Transformacja modelu konceptualnego do

modelu logicznego

II. Projektowanie logiczne

23

Page 24: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

• Modelowanie fizyczne obejmuje

konstruowanie modelu świata

rzeczywistego wyrażonego za pomocą

struktur danych i mechanizmów dostępu

istniejących w wybranym SZBD.

• Wybór konkretnego SZBD.

III. Projektowanie fizyczne

24

Page 25: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

NORMALIZACJA RELACYJNYCH

BAZ DANYCH

25

Page 26: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Normalizacja baz danych

• Proces modyfikacji wybranej relacyjnej

bazy danych według ustalonych zasad.

• Proces ten polega na modyfikacji

schematu bazy danych, a nie na usuwaniu

danych.

• Mówimy o tzw. postaciach normalnych

(ang. Normal Form, NF).

26

Page 27: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

W jakim celu normalizujemy?

• Bazy danych normalizujemy w celu

uniknięcia anomalii:

– Redundancji danych – dane powtarzają się w

kilku krotkach,

– Modyfikacji niespójność danych – dana

zostanie zmodyfikowana tylko w jednej

krotce,

– Problemów z dołączaniem i usuwaniem danych

– np. usuwając krotkę możemy stracić pewne

informacje. 27

Page 28: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Etapy normalizacji

28

Page 29: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Pierwsza postać normalna – 1NF

• „Najsłabsza” postać.

• Pierwsza postać normalna mówi o atomowości

danych.

• Wprowadza także pojęcie istnienia klucza

głównego identyfikującego bezpośrednio każdy

unikalny rekord.

• Dziedziny atrybutów elementarne.

• Rozbicie atrybutów na mniejsze czynniki.

29

Page 30: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

1NF - przykład

• Brak normalizacji (UNF):

• Zastosowanie 1NF:

Imię i nazwisko Adres

Andrzej Kowalski Wrocław, 54-203, Legnicka 23

Adrian Tomaszewski Gdańsk, 75-400, Traugutta 8

Imię Nazwisko Miasto Kod Ulica Numer

Andrzej Kowalski Wrocław 54-203 Legnicka 23

Adrian Tomaszewski Gdańsk 75-400 Traugutta 8

30

Page 31: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Druga postać normalna (2NF)

• Każdy atrybut, który nie jest kluczowy, jest

w pełni funkcyjnie zależny od każdego

potencjalnego klucza głównego

(kandydującego).

31

Page 32: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

2NF - przykład

Imię Nazwisko Płeć Stanowisko Płaca

Antoni Gal Męska Tokarz 2200

Natalia Holender Żeńska Sekretarka 2500

Karolina Gal Żeńska Sekretarka 2500

Antoni Polak Męska Frezer 2300

Imię Nazwisko Stanowisko Płaca

Antoni Gal Tokarz 2200

Natalia Holender Sekretarka 2500

Karolina Gal Sekretarka 2500

Antoni Polak Frezer 2300

Imię Płeć

Antoni Męska

Natalia Żeńska

Karolina Żeńska

1NF

2NF

32

Page 33: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Trzecia postać normalna (3NF)

•Nie występują żadne pola, które nie zależą

od klucza głównego encji.

•Normalizacja do tej postaci polega na

przeniesieniu wszystkich pól niezależnych

od klucza do osobnej encji.

33

Page 34: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

3NF - przykład

NrFaktury NazwaKlienta Miasto Kod Ulica Numer

100 Animex Wrocław 54-203 Legnicka 32

101 Animex Wrocław 54-203 Legnica 32

102 Betard Gdańsk 80-827 Długa 3

NrFaktury Nazwa Klienta

100 Animex

101 Animex

102 Betard

NazwaKlienta Miasto Kod Ulica Numer

Animex Wrocław 54-203 Legnicka 32

Betard Gdańsk 80-827 Długa 3

2NF

3NF

34

Page 35: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Wyższe postacie normalne

• 3,5 NF - Postać normalna Boyce’a-Codda

• 4 NF

• 5 NF

35

Page 36: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Wady normalizacji

• Zwiększenie ilości tabel = zmniejszenie

wydajności, poprzez konieczność

wykonywania złączeń przez RDBMS.

• Więc czasami decydujemy się na

denormalizację danych.

• Hurtownia danych jest przykładem

zdenormalizowanej postaci danych.

36

Page 37: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

JĘZYK UML

Modelowanie obiektowe

37

Page 38: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Modelowanie obiektowe

• Modelowania systemów informacyjnych z wykorzystaniem podejścia obiektowego i języka UML.

• Zastosowania języka UML w różnych obszarach, od projektowania systemów czasu rzeczywistego poprzez projektowanie baz danych aż po modelowanie systemów biznesowych.

38

Page 39: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Klasa a obiekt klasy

• Obiekt – konkretne wystąpienie abstrakcji

– byt o dobrze określonych granicach i tożsamości

– obejmuje stan i zachowanie

– egzemplarz klasy

• Klasa – opis zbioru obiektów, które mają takie same atrybuty, operacje,

związki i znaczenie

– częściowa lub całkowita definicja dla obiektów

– zbiór wszystkich obiektów mających wspólną strukturę i zachowanie

39

Page 40: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Definicja klasy wraz z kilkoma

obiektami (instancjami klasy)

Źródło: http://www.egrafik.pl/kurs-c-plus-plus/6.1.php 40

Page 41: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

UML

• UML (ang. Unified Modeling Language) -

Ujednolicony Język Modelowania

• Aktualna wersja: 2.4.1

41

Page 42: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

UML

• Graficzny język do obrazowania, specyfikowania,

tworzenia i dokumentowania elementów

systemów informatycznych.

• Diagramy UML to schematy przedstawiające

zbiór bytów i związków między nimi.

42

Page 43: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Literatura (wybór)

• G. Booch, J. Rumbaugh, I. Jacobson, UML

przewodnik użytkownika, WN-T, Warszawa

2002.

• R. A. Maksimchuk, E. J. Naiburg, UML dla

zwykłych śmiertelników, Warszawa 2007.

• http://www.uml.org/

• http://www.omg.org/spec/UML/

43

Page 44: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Historia UML

• Modelowanie obiektowe w latach 70 i 80

• 1996 r. – dokumentacja wersji 0.9

• 1997 r. – UML 1.0 w gestii Object

Management Group (OMG)

• Wersje: 1.1, 1.2, 1.3, 1.4, 1.4.2 (ta została

poddana standaryzacji ISO/IEC 19501), 1.5, 2.1.1,

2.1.2

• 2012 r. – najnowsza wersja: 2.4.1 (ISO/IEC 19505-1 i 19505-2)

44

Page 45: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

45

Zastosowania

• tworzenie systemów informacyjnych przedsiębiorstw,

• usługi bankowe i finansowe,

• przemysł obronnym i lotniczy,

• rozproszone usługi internetowe,

• telekomunikacja,

• transport,

• sprzedaż detaliczna,

• elektronika w medycynie,

• nauka.

45

Page 46: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy UML

• Diagramy struktury

• Diagramy zachowania (dynamiki)

46

Diagramy UML

Diagramy struktury Diagramy zachowania

Diagramy klas

Diagramy obiektów

Diagramy wdrożenia

Diagramy komponentów

Diagramy przypadków użycia

Diagramy stanów

Diagramy czynności

Diagramy interakcji

Diagramy przebiegu Diagramy kooperacji

Page 47: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy struktury UML

• Klas

• Obiektów

• Wdrożeniowy

– Komponentów

– Rozlokowania

• Pakietów

• Struktur połączonych

47

źródło: http://www.erudis.pl/pl/node/93

Page 48: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy dynamiki UML

• Przypadków użycia

• Czynności

• Interakcji

– Sekwencji

– Komunikacji

– Harmonogramowania

– Sterowania interakcją

• Maszyny stanowej

48 źródło: http://www.erudis.pl/pl/node/93

Page 49: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Zastosowania w projektowaniu

systemów informatycznych • Projektując system informatyczny, rozpoczyna się

przeważnie od tworzenia diagramów w następującej kolejności: – Przypadków użycia,

– Klas,

– Czynności,

– Sekwencji.

• Są to najczęściej wykorzystywane diagramy. Pozostałe z nich bywają pomijane, zwłaszcza przy budowaniu niedużych systemów informatycznych.

49

Page 50: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy przypadków użycia

(Use Case Diagrams) • Definicja:

Diagramy służące do modelowania zachowania systemu. Opisują co system powinien robić z punktu widzenia obserwatora z zewnątrz. Przedstawiają scenariusze realizacji określonych zachowań (funkcji systemu).

• Zawartość: – przypadki użycia (ang. use case) - opisy zdarzeń,

– aktorzy - osoby/rzeczy inicjujące zdarzenia,

– powiązania między aktorami i przypadkami użycia,

– zależności, uogólnienia i powiązania między przypadkami użycia,

– pakiety, notatki i ograniczenia.

• Zastosowania: – modelowanie zachowania bytów - opis ciągu akcji zmierzających do realizacji

danej funkcji systemu,

– modelowanie otoczenia systemu - definiowanie aktorów i ich ról,

– modelowanie wymagań stawianych systemowi – określenie co system powinien robić,

– testowanie systemu.

50

Page 51: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

51 51

Page 52: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy klas (Class Diagrams)

• Definicja:

Schemat przedstawiający zbiór klas, interfejsów, kooperacji oraz związki między nimi.

• Używa się ich do modelowania struktury systemu.

• Stanowią bazę wyjściową dla diagramów komponentów i diagramów wdrożenia.

• Szczególnie przydatne do tworzenia systemów (inżynieria do przodu i wstecz).

• Zawartość: – klasy,

– interfejsy,

– kooperacje,

– zależności, uogólnienia, powiązania,

– notatki, ograniczenia, pakiety, podsystemy.

• Zastosowania: – modelowanie słownictwa systemu (struktura systemu),

– modelowanie prostych kooperacji,

– modelowanie schematu logicznej bazy danych.

52

Page 53: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

53

Page 54: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy czynności

(Activity Diagrams)

• Definicja:

Diagramy czynności (schematy blokowe) przedstawiają przepływ sterowania od czynności do czynności. Większość diagramów czynności przedstawia kroki procesu obliczeniowego.

• Zawartość: – stany akcji i stany czynności,

– przejścia,

– obiekty,

– notatki i ograniczenia.

• Zastosowania: – modelowanie przepływu czynności

– Modelowanie operacji

54

Page 55: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

55

Page 56: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy interakcji

• Definicja:

Diagramy interakcji (ang. Interaction Diagrams) służą do modelowania zachowania systemu. Ilustrują kiedy i w jaki sposób komunikaty przesyłane są pomiędzy obiektami.

• Diagramy przebiegu (ang. Sequence Diagrams)

• Diagramy kooperacji (ang. Collaboration Diagrams)

56

Page 57: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Diagramy interakcji

Na diagramie przebiegu uwypukla się kolejność wysyłania komunikatów w czasie.

Na diagramie kooperacji kładzie się nacisk na związki strukturalne między obiektami wysyłającymi i odbierającymi komunikaty.

Zawartość: – obiekty,

– wiązania,

– komunikaty,

– notatki i ograniczenia.

• Zastosowania: – modelowanie przepływu sterowania z uwzględnieniem

kolejności

– komunikatów w czasie,

– modelowanie przepływu sterowania z uwzględnieniem organizacji strukturalnej obiektów 57

Page 58: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

58

Page 59: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Wybrane aplikacje wspomagające

tworzenie diagramów (darmowe) • ArgoUML - napisany w Javie, zaawansowane generowanie

kodu i podpowiedzi, ciągle tworzony,

• StarUML - środowiska modelowania pod platformę Windows,

• Dia - ogólne narzędzie do rysowania diagramów,

• UML Sculptor - prosty, łatwy w użyciu program do tworzenia diagramów klas,

• Umbrello - program dla Linuksa, część KDE,

• UMLpad,

• JUDE Community,

• NetBeans.

59

Page 60: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Wybrane aplikacje wspomagające

tworzenie diagramów (komercyjne)

• Borland Together - rodzina programów integrujących się z różnymi IDE, jest wersja darmowa,

• Poseidon for UML - zaawansowane narzędzie bazujące na ArgoUML, darmowa edycja Community,

• Enterprise Architect - Profesjonalne narzędzie w przystępnej cenie o wygodnym interfejsie działające na platformach Windows i Linux. Wspiera UML 2.0,

• Rodzina programów iGrafx - narzędzia począwszy od iGrafx FlowCharter wspierają tworzenie diagramów UML. Wersja testowa na witrynie iGrafx,

• Visual Paradigm for UML,

• IBM Rational Rose,

• Telelogic Tau G2,

• Visio. 60

Page 61: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Przykłady

• Stanisław Wrycza (red.), UML 2.1,

Ćwiczenia, Helion 2006.

61 61

Page 62: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

DPU (ang. Use Case)

62

Page 63: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

63

Page 64: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

64

Page 65: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

65

Page 66: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

66

Page 67: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

NARZĘDZIA DO MODELOWANIA

BAZ DANYCH

CASE (ang. Computer-Aided Software Engineering)

67

Page 68: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Wybrane narzędzia do modelowania

• Oracle MySQL Workbench

• Oracle SQL Developer Data Modeler

• SAP Sybase PowerDesigner DataArchitect

• IBM Rational Data Architect

• Microsoft Visio

68

Page 69: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Oracle MySQL Workbench

• Narzędzie do zarządzania i modelowania baz

danych MySQL

• Wsparcie dla projektowania baz na poziomach

koncepcyjnym, logicznym i fizycznym

• Wsparcie dla procesów reverse-engineeringu

• Możliwość generowania skryptów SQL

• Wersja: 6.2.5.0

• Licencja: GNU GPLicense lub zamknięta EULA

• http://www.mysql.com/products/workbench

69

Page 70: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

MySQL Workbench

70

Page 71: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Oracle SQL Developer Data Modeler

• Zintegrowane środowisko programistyczne

dla użytkowników zajmujących się

programowaniem baz firmy Oracle

• Wersja: 4.0.3.853

• Licencja: zamknięta • http://www.oracle.com/technetwork/developer-

tools/datamodeler/overview/index.html

• http://www.oracle.com/technetwork/developer-

tools/datamodeler/downloads/datamodeler-087275.html

71

Page 72: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Oracle SQL Developer Data Modeler

72

Page 73: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

SAP Sybase PowerDesigner DataArchitect

• Narzędzie do modelowania systemów: baz

danych, hurtowni danych, modelowanie

obiektowe, modelowanie procesów

biznesowych i in.

• Wersja: 16.5

• Licencja: zamknięta

• Cena: ~2000 € - ~10000 € źródło: www.powerdesigner.de/en/pricing/

73

Page 74: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

SAP Sybase PowerDesigner DataArchitect

74

Page 75: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Porównanie narzędzi

Sebastian Łacheciński, Analiza porównawcza Wybranych narzędzi CASE

do modelowania danych w procesie projektowania relacyjnych baz

danych, (w:) Informatyka Ekonomiczna Business Informatics, nr 1 (31),

2014, s. 239-258.

http://www.dbc.wroc.pl/dlibra/doccontent?id=25198

75

Page 76: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Testom poddane zostały:

• ER Studio XE5 Data Architect 9.7

• CA ERWin 9.5 Workgroup

• SAP Sybase Power Designer 16.5 Data Architect RE

• Oracle SQL Developer Data Modeler 4.0.1

• MySQL Workbench 6.1.4

• MS Visio 2010/2013 Professional

• IBM InfoSphere Data Architect 9.1 76

Page 77: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

Wyniki

• Najlepszy: SAP Sybase PowerDesigner 16.5

• Dla darmowych narzędzi najlepszy wynik

osiągnął: Oracle SQL Developer Data

Modeler v. 4

• Dla wdrożeń w oparciu o serwer MySQL

rozsądnym wyborem jest: MySQL

Workbench 6.1.4.

77

Page 78: Internetowe Bazy Danychroman.ptak.staff.iiar.pwr.wroc.pl/BD_wyklad_1.pdf · •Stanisław Wrycza (red.), UML 2.1, Ćwiczenia, Helion 2006. 61 61 . DPU (ang. ... Informatyka Ekonomiczna

DZIĘKUJĘ ZA UWAGĘ

Pytania?