CLASS DIAGRAM2


1.1.

Geneza OBD

Czemu szukano nowego modelu danych ?

Słabości modelu relacyjnego:

Prostota vs obiektów złożonych

Brak abstrakcyjnych typów danych

Brak agregacji i generalizacji

Języki baz danych różnią się od języków programowania

Brak transakcji długotrwałych

Dominacja obiektowych metod analizy i projektowania

Problemy z danymi multimedialnymi

Czemu trafiono na model obiektowy ?

Trendy w oprogramowaniu

Oczekiwania:

oddzielenie specyfikacji od implementacji

mechanizmy kompozycji i dekompozycji

ponowne użycie

Efekty:

niezawodność

testowalność

rozszerzalność

łatwa pielęgnacja

szybkie prototypowanie

współdziałanie

przenaszalność

Jak trafiono na model obiektowy:

0x01 graphic

Jak doszło do obiektowych baz danych:

0x01 graphic

1.2.

Cechy OBD

Obligatoryjne cechy

(mandatory)

  • Obiekty złożone

  • Identyfikacja obiektów

  • Hermetyzacja

  • Typy i klasy

  • Dziedziczenie

  • Polimorfizm

  • Kompletność obliczeniowa

  • Rozszerzalność

  • Trwałość

  • Obsługa BDBD

  • Współbieżny dostęp

  • Odtwarzanie

  • Zapytania Ad-Hoc

Opcjonalne (optional)

  • Dziedziczenie wielokrotne

  • Wersje

  • Długie transakcje

  • Rozproszoność

Otwarte (open)

  • Wielojęzykowość

  • Ortogonalność typów

  • Unifikacja postaci obiektu

  • Reprezentacja obiektów

1.3.

Zawodnicy

Obiektowo relacyjne:

Nazwa

Język

Platforma

Dziedziny

Orientacja

obiektowa

IRIS

C, LISP, OSQL

HP68000, Workstations

OIS, CAD/CAM, Knowledge Bases

strukturalna

Illustra

C,.C++,Visual C++, Visual Basic, ODBC

Sun OS, Solaris, Dec Alpha PSF1, SGI Irix, HP-UX, Windows NT/3.1

CAD/CAM, OIS,GIS

strukturalna

Orion

C, LISP, C++

SUN3, Apollo, HP, SGI, DEC

CAD/CAM, OIS, AI, multimedia

behawioralna

Starburst

C, C++

RISC 6000,

IBM PC / UNIX

CAD/CAM, AI, systemy ekspertowe

operacyjna

Statice

Common LISP

LISP-Machines

-

operacyjna

UniSQL

C++, Smalltalk, C, ODBC, SAG CLI, ANSI SQL, Object SQL, PowerBuilder

Access

Sun PARCstation, SGI, HP 9000,

IBM RS/6000,

DEC Alpha AXP, Windows NT

-

strukturalna

Obiektowo zorientowane:

Nazwa

Język

Platforma

Dziedziny

Orientacja obiektowa

ENCORE

C

SUN3, SUN4/Unix

SUN,DEC / VMS

CAD

-

KIWI

OOPS+

SUNVIEW

Systemy z bazami wiedzy

behawioralna

O2

C, C++, CO2, SQL, O2Query

SUNWorkstation/ OS4.0

CAD/CAM, GIS, OIS

behawioralna

ObjectStore

MVC++,Java, SmallTalk

SUN, DEC, HP, Apollo; Win 3.1/95/NT,

Unix, OS2, VMS

CAD/CAM, CAP, CASE, OIS, CAE, GIS

behawioralna

Ontos

C++

SUN3, SUN4, Apollo, OS/2, DEC, VAX, VMS

CAD/CAM

behawioralna

Poet

C, C++, ODBC OQL

Windows 3.1, Novell, NT Macintosh, OS/2, NextStep, Sun OS, SCO Solaris, SGI,HP, AIX

CAD, Informacja multimedialna

behawioralna

Versant

C/C++

SUN3, SUN4 /OS4.0

CAD/CAM

behawioralna

Obiektowe:

Nazwa

Język

Platforma

Dziedziny

Orientacja obiektowa

AVANCE

PAL (podobny do SmallTalk)

-

VLSI,CAD, CASE, OIS

behawioralna

EXODUS

E (rozszerzenie C++)

-

-

behawioralna

GemStone

OPAL, C, C++, Topaz, SmallTalk

SUN3,SUN4,DEC Apple, IBM, PC Tektronix /

VAX, VMS

CAD, OIS, bazy wiedzy, CAM

behawioralna

Dziedziny wykorzystania

2.Obiektowy model danych

Klasa:

Wszystkie obiekty, które mają ten sam zbiór atrybutów i metod, mogą być zgrupowane w jednej klasie. Obiekt należy tylko do jednej klasy, jako instancja tej klasy. Klasa jest również obiektem; w szczegolności klasa jest instancją metaklasy.

Klasa służy jako wzorzec do tworzenia nowych obiektów.

Obiekt:

Każda encja pochodząca z rzeczywistego świata jest obiektem z którym jest skojarzony systemowy, jednoznaczny identyfikator. Przykłady: osoba, konto bankowe, wiatr, kolor czerwony.

Tożsamość:

Obiekt jest wyróżniany w otaczającym nas świecie poprzez swoje istnienie, nie poprzez jakąkolwiek wartość, która go odróżnia od innych obiektów.

Atrybuty + Metody:

Obiekt charakteryzuje się jednym lub więcej atrybutami i jedną lub więcej metodami, które operują na wartościach tych atrybutów. Wartość atrybutu obiektu jest również obiektem. Atrybut obiektu może przyjmować pojedynczą wartość lub zbiór wartości. Wartości atrybutów obiektu tworzą stan obiektu, a metody związane z obiektem działają na stanie obiektu.

Atrybuty klasowe wyrażają wspólne cechy obiektów danej klasy. (średnia ocen grupy)

Atrybuty obiektów charakteryzują cechy obiektu, stanowiące jego stan statyczny. (nazwisko, wiek, kolor)

Dziedziczenie:

Dziedziczenie pozwala na zdefiniowanie nowej wyspecjalizowanej klasy na podstawie klasy nuż istniejącej.

Dziedziczenie pozwala na utworzenie bardziej ogólnej klasy z klas bardziej wyspecjalizowanych poprzez wyciągnięcie wspólnych dla nich cech.

Dziedziczenie jednokrotne - gdy klasa dziedziczy atrybuty i metody od tylko jednej klasy.

Dziedziczenie wielokrotne - gdy klasa dziedziczy atrybuty i metody od więcej niż jednej nadklasy.

Hermetyzacja:

Nie ma innej drogi dostępu do obiektu (jego atrybutów i metod) oprócz ogólnie dostępnego interfejsu który jest dla niego określony.

Polimorfizm (przesłanianie):

Właściwość pozwalająca aby ta sama nazwa była używana do różnych zmiennych czy funkcji.

3.Modelowanie OBD z użyciem jezyka uml

Diagram klas :

Diagram klas pokazuje klasyczne struktury modelu w szczególności, rzeczy które istnieją (klasy, typy) ich wewnętrzne struktury, ich relacje z innymi rzeczami.

Diagram klas nie pokazujeczasowych informacji jednakże może zawierać .....wystąpienia rzeczy które, mają lub opisują czasowe zachowania.

Diagram klas jest grafem elementów klasyfikatora połaczonych rożnymi statycznymi relacjami.

Diagram klas może zawierać również interfejsy pakiety relacje, czy nawet instancje takie jak obiekty i linki.

Diagram przypadków użycia:

Pokazuje elementy z modelu przypadków użycia. Model przypadków użycia reprezentuje funkcjonalność systemu lub klasy jako ..... do zewnętrznych interaktorów z systemem.

Diagram przypadków użycia jest grafem aktorów, zestawem przypadków użycia otoczonym przez granice systemu, komunikacja skojarzona pomiędzy aktorami i przypadkami użycia, i uogólnienia pomiędzy przypadkami użycia.

4.1. Zmiany podstawowe:

Rodzaje zmian schematu:

4.2. Niezmienniki:

1.Niezmiennik hierarchii klas:

2.Niezmiennik nazwy:

3.Niezmiennik pochodzenia:

4.Niezmiennik pełnego dziedziczenia:

Reguły modyfikacji:

Reguły rozwiązywania konfliktów:

REGUŁA 1:

jeśli nowy atrybut/metoda zdefiniowana lokalnie dla klasy pozostaje w konflikcie z atrybutem/metodą zdefiniowaną wcześniej, to nowy atrybut/metoda zostaje odrzucony/a

REGUŁA 2:

REGUŁA 3:

Reguły dziedziczenia:

REGUŁA 4:

REGUŁA 5:

REGUŁA 6:

Reguły hierarchii klas:

REGUŁA 7:

jeśli nowa, dodana klasa nie ma zdefiniowanych nadklas, to jej domyślną nadklasą będzie klasa CLASS;

REGUŁA 8:

REGUŁA 9:

REGUŁA 10:

wreszcie sam węzeł A.

Reguły & pojedyncze/wielokrotne dziedziczenie:

0x08 graphic

5. Fizyczna realizacja OBD

5.1.

5.2. Zasady grupowania obiektów

Definicja ogólna

Grupowanie - wyznaczenie podobnych obiektów

na podstawie ściśle sformułowanych kryteriów

Definicja z analizy skupień

Grupowanie - porządkowanie oraz dzielenie na

klasy danego zbioru obiektów na podstawie

matematycznie sformułowanych kryteriów

Definicja z baz danych

Grupowanie - rozmieszczenie obok siebie w

pamięci zewnętrznej tych obiektów bazy danych,

które są logicznie powiązane, co wyraża się w

ich wspólnym wykorzystaniu w operacjach

Kryteria grupowania

Wady grupowania statycznego

Algorytmy grupowania

0x08 graphic

0x08 graphic
Metody aglomeracyjne

Efektywność grupowania

5.3.

Indeksowanie w OBD

Niekombinatoryczne

Kombinatoryczne

Podziału

Aglomeracyjne

Algorytmy niehierarchiczne

0x01 graphic

Algorytmy hierarchiczne

Analiza skupień

cluster analysis

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Laboratorium Class Diagram
Tutorial How To Make an UML Class Diagram In Visio
Diagram komunikacji
Sieć działań(diagram strzałkowy) v 2
8(45) Diagramy klas cz2
Diagram Ellinghama
Diagramy w UML
Dawning Star Terraformer 01 Daybringer Prestige Class
Diagram%d
4 Diagram DPU
diagramy procentowe id 135538 Nieznany
Matlab Class Chapter 1
block diagram

więcej podobnych podstron