technologie obiektowe


Technologie obiektowe Technologie obiektowe
Literatura

Brett D. McLaughlin, Gary Pollice, David West
 Head First Object-Oriented Analysis and Design

Martin Fowler
 UML Distilled ( UML w kropelce )
Technologie obiektowe

Grady Booch, James Rumbaugh, Ivar Jacobson
 UML  przewodnik użytkownika
Marek Kisiel-Dorohinicki

James Martin, James J. Odell
 Podstawy metod obiektowych
Materiały wykładowe

Peter Coad, Edward Yourdon
 Analiza obiektowa
(c) 1997 2008 AGH

Bertrand Meyer
 Programowanie zorientowane obiektowo

Kazimierz Subieta
 Obiektowość w projektowaniu i bazach danych
Technologie obiektowe Technologie obiektowe
Podstawy modelowania obiektowego Podstawy modelowania obiektowego
Modelowanie Modelowanie obiektowe
Modelowanie Modelowanie obiektowe
opanowywanie złożoności problemu opiera się na powszechnie
model = uproszczona reprezentacja czegoś
(choć nie zawsze świadomie) stosowanych zasadach:

rozróżnianie i opisywanie poszczególnych obiektów  ich

odzwierciedla zdolność do abstrakcji (pomijania
cech i możliwości wykorzystania
nieistotnych szczegółow)

klasyfikowanie obiektów i definiowanie pojęć

pomaga lepiej zrozumieć złożoność problemu lub jego

określanie relacji między obiektami (powiązania)
rozwiązania (systemu)

znajdowanie zależności między pojęciami (skojarzenie)

ułatwia wizualizację, specyfikację i dokumentację
i wyprowadzanie nowych (generalizacja)
Technologie obiektowe Technologie obiektowe
Podstawy modelowania obiektowego Podstawy modelowania obiektowego
Modelowanie obiektowe Przykład modelu obiektów i pojęć
Istota modelowania obiektowego
Przykładowy opis sytuacji...

hermetyzacja stanu i zachowań jednostek
Mieszkanie rodziny Kowalskich składa się z trzech
pomieszczeń: kuchni, pokoju oraz łazienki. W pokoju stoi

które ze sobą współpracują poprzez wykorzystanie
biurko, regał z książkami, lampa i inne meble. Jaś Kowalski
udostępnianych usług
siedzi przy biurku i czyta komiksy z regału.

w realizacji określonych scenariuszy działania
...i jej model obiektowy
Dwie warstwy modelowania:
1. obiekty i relacje między nimi (model wybranej sytuacji 
 migawka z życia systemu)
2. pojęcia i relacje między nimi (model dziedziny  ogólna
struktura systemu)
Technologie obiektowe Technologie obiektowe
Podstawy modelowania obiektowego Podstawy modelowania obiektowego
Przykład modelu obiektów i pojęć Zasady modelowania obiektowego
Zasady modelowania obiektowego
Przykładowy opis sytuacji...
Mieszkanie rodziny Kowalskich składa się z trzech
abstrakcja ignorowanie tych aspektów przedmiotu, które nie
pomieszczeń: kuchni, pokoju oraz łazienki. W pokoju stoi
są istotne z punktu widzenia bieżącego celu;
biurko, regał z książkami, lampa i inne meble. Jaś Kowalski
pomijanie szczegółow, które nie są ważne
siedzi przy biurku i czyta komiksy z regału.
w bieżącym kontekście
skala taka organizacja systemu aby dowolnie duża
...i jej model pojęciowy
składowa była przejrzysta dla obserwatora;
rezygnacja ze szczegółów przy prezentowaniu
całości złożonego problemu
hermetyzacja zamykanie szczegółow implementacji za
interfejsem zdefiniowanym w kategoriach
dostarczanych usług  pozwala na ukrywanie
informacji o składowych tak, aby zamykały one
w sobie możliwie jedną decyzję projektową
Technologie obiektowe Technologie obiektowe
Podstawy modelowania obiektowego Podstawy modelowania obiektowego
Podstawowe elementy modelu obiektowego Podstawowe elementy modelu obiektowego
Podstawowe jednostki abstrakcji Własności obiektów
pojęcie idea lub wybrażenie z dziedziny problemu atrybut określona cecha obiektu danej klasy; nazwana
posiadająca swoją nazwę i znaczenie struktura danych obiektu wraz ze zbiorem
możliwych wartości
obiekt jednostka z jednoznaczną identyfikacją,
posiadająca pewien stan i przejawiająca określone usługa określona funkcjonalność jakiej dostarcza obiekt
zachowanie; egzemplarz pojęcia danej klasy; nazwane zachowanie obiektu jakie
jest on zobowiązany przejawić
klasa opis grupy obiektów o podobnych własnościach,
relacjach i znaczeniu; implementacja pojęcia własność = atrybut lub usługa
stan sytuacja w trakcie życia obiektu, kiedy spełniony
jest określony warunek, który wpływa na
zachowanie obiektu
komunikat zlecenie wykonania usługi zawierające potrzebne
ku temu informacje (parametry)
Technologie obiektowe Technologie obiektowe
Podstawy modelowania obiektowego Analiza obiektowa
Podstawowe elementy modelu obiektowego Modelowanie klas
Podstawowe relacje Od pojęć do klas

powiązanie relacja między obiektami wyrażająca fakt ich pojęcia jako klasy
współdziałania

pojęcia jako atrybuty
agregacja silna forma powiązania z wyróżnieniem obiektów

pojęcia jako usługi
całości i ich składowych (części)

pojęcia jako skojarzenia
skojarzenie relacja między pojęciami lub klasami posiadająca
określone znaczenie
generalizacja wyrażanie podobieństwa między pojęciami przy
pomocy hierarchii uszczegółowiania i uogólniania
dziedziczenie mechanizm pozwalający elementom bardziej
specyficznym na wykorzystanie struktury
i zachowania elementów bardziej ogólnych
Technologie obiektowe Technologie obiektowe
Analiza obiektowa Analiza obiektowa
Modelowanie klas Podstawowe diagramy UML
Kryteria poprawności klasy Podstawowe diagramy UML

1. Spełnione wymagania dziedziny problemu modelowanie wymagań  diagramy przypadków użycia

2. Pamiętane informacje  obecność atrybutów modelowanie struktury  diagramy klas

3. Wymagane zachowania  obecność usług modelowanie zachowań (obiektów)  diagramy interakcji
(sekwencji, komunikacji)
4. Złożony stan  wielość atrybutów
5. Więcej niż jeden obiekt w klasie lub jej specjalizacjach
6. Zastosowanie wszystkich atrybutów i usług w obiektach
klasy
7. W analizie nie specyfikujemy rezultatów pochodnych
Technologie obiektowe Technologie obiektowe
Analiza obiektowa Analiza obiektowa
Podstawowe diagramy UML Podstawowe diagramy UML
Modelowanie wymagań  przypadki użycia Modelowanie struktury  diagram klas
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
Uzytkownik
nazwa
dane_osobowe
data_rejestracji
Uzytkownik
Komentarz Sprzedajacy Kupujacy
czy_pozytywny punkty
system aukcyjny
opis 1
1
Licytuj Wyszukaj przedmiot wystawia
licytuje
*
<>
Kupujacy Sprzedajacy *
Przedmiot Aukcja
Kategoria Oferta
nazwa data_rozpoczecia
wystawiony na
{ordered}
nazwa kwota
Wystaw komentarz Wystaw przedmiot opis czas_trwania
opis 1 0..1 liczba_sztuk
liczba_sztuk cena_wywolawcza
cena_minimalna
Technologie obiektowe Technologie obiektowe
Analiza obiektowa Analiza obiektowa
Podstawowe diagramy UML Podstawowe diagramy UML
Modelowanie zachowań  diagram sekwencji Modelowanie zachowań  diagram komunikacji
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
: Aukcja : Przedmiot : Sprzedajacy
: Przedmiot
Kupujacy
5: zaktualizujPunkty
1: wystawKomentarz
3: ktoWystawil
<>
: Komentarz
2: new
1: wystawKomentarz 4: dodajKomentarz
: Aukcja : Sprzedajacy
3: ktoWystawil
Kupujacy
4: dodajKomentarz <>
2: new
5: zaktualizujPunkty
: Komentarz
Technologie obiektowe Technologie obiektowe
Analiza obiektowa Analiza obiektowa
Prosta metodyka modelowania Prosta metodyka modelowania
Analiza obiektowa a modelowanie wymagań Przykład...

dziedzina: działalność firmy handlowej (sklepu)
prosta metoda postępowania:

przypadek użycia: wystawienie dokumentu sprzedaży

modelowanie pojęć dziedziny
(faktury)

modelowanie przypadków użycia
w kolejności:

modelowanie struktur klas

modelowanie współdziałania obiektów
Technologie obiektowe Technologie obiektowe
Analiza obiektowa Analiza obiektowa
Prosta metodyka modelowania Prosta metodyka modelowania
Pojęcia Przypadek użycia
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology) Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
Data sprzedazy Forma platnosci Obroty
Adres
Numer
Wystaw fakture
Sprzedawca
NIP
Rabat Faktura Klient
Klasy
Nazwa
Wartosc Wartosc podatku Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
Klient Faktura Pozycja Produkt
dotyczy
nazwa numer ilosc nazwa
Cena
adres data_sprzedazy cena
obliczWartosc()
Ilosc Pozycja Produkt
NIP forma_platnosci stawka_podatku
obliczPodatek()
dotyczy
rabat
obliczObroty()
obliczWartosc()
Stawka podatku
obliczPodatek()
obliczRabat()
Technologie obiektowe Technologie obiektowe
Analiza obiektowa Podejście obiektowe w inżynierii oprogramowania
Prosta metodyka modelowania Wprowadzenie do inżynierii oprogramowania
Czym jest inżynieria oprogramowania
Współdziałanie obiektów w realizacji przypadku użycia
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
wiedza techniczna dotycząca wszystkich aspektów
: Klient : Produkt wybrany : Klient : Faktura : Pozycja
produkcji oprogramowania
Sprzedawca
1: szukaj()

inżynieria oprogramowania a informatyka (dostarcza teorii
2: new(klient) nowa : Faktura i metod do opisu systemów komputerowych)

traktuje oprogramowanie jako produkt:
loop
3: szukaj()

inny od tradycyjnych produktów konsumpcyjnych
4: new(produkt,faktura) nowa : Pozycja
nieuchwytny (trudny do opisu i oceny), niepowtarzalny i
5: dodaj
łatwo poddający się zmianom, słabo rozpoznany (a przez to
nieautomatyzowalny) proces produkcyjny
opt
celem jest uzyskanie jego wysokiej jakości
6: obliczRabat loop
7: obliczObroty() loop
zgodność z wymaganiami użytkownika, niezawodność,
8: obliczWartosc()
9: obliczWartosc()
efektywność, ergonomia użycia, łatwość konserwacji
Technologie obiektowe Technologie obiektowe
Podejście obiektowe w inżynierii oprogramowania Podejście obiektowe w inżynierii oprogramowania
Wprowadzenie do inżynierii oprogramowania Wprowadzenie do inżynierii oprogramowania
Żródła złożoności oprogramowania Zakres inżynierii oprogramowania

1. dziedzina problemu (ogromna liczba wzajemnie techniki realizacji systemów: metodologie analizy i
uzależnionych aspektów i problemów) projektowania, technologie i środowiska implementacji,
metody testowania, przygotowywanie dokumentacji
2. środki i technologie informatyczne (rosnąca złożoność
technicznej i użytkowej
sprzętu i narzędzi programowych)

prowadzenie przedsięwzięć informatycznych: techniki
3. zespół projektowy (ograniczenia percepcji, pamięci,
planowania i harmonogramowania, szacowania kosztów,
komunikacji)
monitorowania i oceny postępów, zarządzania ryzykiem
4. potencjalni użytkownicy (ergonomia, błędy i nadużycia,

techniki pracy zespołowej i czynniki psychologiczne
tajność i prywatność)
wpływające na efektywność pracy

narzędzia CASE = Computer-aided software engineering
etc.
Technologie obiektowe Technologie obiektowe
Podejście obiektowe w inżynierii oprogramowania Podejście obiektowe w inżynierii oprogramowania
Proces wytwórczy Proces wytwórczy
Klasyczny model budowy systemu komputerowego Analiza a projektowanie

celem analizy jest rozwiązaniu problemu, zaś celem
projektowania jest konstrukcja systemu
Określanie wymagań


analiza koncentruje się na modelu dziedziny tworząc zręby
Analiza modelu logicznego
projektowanie koncentruje się na modelu systemu (dla
Projektowanie konkretnej architektury, narzędzi i sprzętu) prowadząc
w kierunku modelu implementacyjnego

Implementacja
rozdzielenie analizy i projektowania spowodowane jest

różnicami w historycznie stosowanych metodologiach
Testowanie

Integracja
Technologie obiektowe Technologie obiektowe
Podejście obiektowe w inżynierii oprogramowania Podejście obiektowe w inżynierii oprogramowania
Proces wytwórczy Metody analizy i projektowania
Proces wytwórczy Metody analizy i projektowania

proces kaskadowy a iteracyjny (prototypowy, przyrostowy, metoda (metodyka) ustala pojęcia, modele, techniki
spiralny, ewolucyjny, etc.) i scenariusze postępowania

planowanie według wymagań i z uwzględnieniem ryzyka  notacja jest często powiązana (ale nie tożsama)
predykcyjne i adaptacyjne z określoną metodą

zorientowanie na architekturęe, rola testów jednostkowych narzędzia CASE najczęściej nie narzucają metody, raczej
i refaktoryzacji związane są z wykorzystywaną notacją

procesy  klasyczne i lekkie (ang. agile)  formalizacja, nie ma metod uniwersalnych, najlepszych  najistotniejsze
struktura zespołu, dynamika planowania jest doświadczenie i kompetencje zespołu

określenia  strukturalne czy  obiektowe nie oznaczają
jeszcze konkretnej metody
Technologie obiektowe Technologie obiektowe
Podejście obiektowe w inżynierii oprogramowania Podejście obiektowe w inżynierii oprogramowania
Rys historyczny Rys historyczny

powstanie dużej różnorodności metod i notacji analizy
Podejście obiektowe  rys historyczny
i projektowania (Shlaer/Mellor, Booch, Coad/Yourdon,

koncepcje obiektów w systemach symulacyjnych oraz
Jacobson, Rumbaugh i inne)
aktorów w sztucznej inteligencji

obiektowość w systemach rozproszonych i bazach danych,

pierwsze języki programowania wykorzystujące koncepcje
rosnąca rola narzędzi CASE
klas oraz przesylania komunikatów (Simula, Smalltalk)

standaryzacja  ANSI (CLOS), ISO (C++), OMG (Corba,

wpływ koncepcji graficznych interfejsów użytkownika
UML)

problemy związane z wydajnością, persystencją,

koncetracja na procesie, podejście komponentowe
współbieżnością, etc.  nowe języki obiektowe (Eiffel) i
hybrydowe (rozszerzenia języków Ada, C, Pascal)
Technologie obiektowe Technologie obiektowe
Podejście obiektowe w inżynierii oprogramowania Unified Modeling Language
Zalety podejścia obiektowego Wprowadzenie do UML
Potencjalne zalety podejścia obiektowego Unified Modeling Language
1. Bezpośrednie odwzorowanie dziedziny (problemu) na system
graficzny język obiektowego modelowania systemów
(rozwiązanie) bardziej ambitne dziedziny zastosowań.
(oprogramowania), pozwalający na reprezentację różnych
2. Metody organizacji wzorowane na myśleniu człowieka lepsze perspektyw (aspektów) modelowania
zrozumienie użytkownika i eksperta.

rodzina notacji oparta na jednym metamodelu
3. Traktowanie danych (atrybutów) i procesów (usług) jako
graficzna notacja wspomaga komunikację
naturalnej całości zwiększenie spójności modelu.
i dokumentację

odwołanie do wspólnego metamodelu pozwala na
4. Jawna reprezentacja wspólnych cech (dziedziczenie)
specyfikację oprogramowania
uproszczenie modelu.

rozbudowany aparat formalny jest efektem kompromisów
5. Ukrywanie cech nietrwałych (hermetyzacja) łatwość
związanych ze standaryzacją  w praktyce
modyfikacji i rozszerzania systemu.
wykorzystujemy 20% języka, które pozwala nam wykonać
6. Modele odpowiadające rzeczywistości, takie same metody
80% pracy
organizacji wielokrotne wykorzystanie wyników.
7. Ciągłość reprezentacji w kolejnych etapach budowy systemu
łatwy powrót do wcześniejszych etapów.
Technologie obiektowe Technologie obiektowe
Unified Modeling Language Unified Modeling Language
Wprowadzenie do UML Rys historyczny
Zastosowania UML UML  rys historyczny

w projektowaniu systemów (forward/reverse engineering) połaczenie metod:

jako opis koncepcji (szkic)  mniej formalny, obejmuje 1. metoda Boocha  nacisk na projektowanie i tworzenie
wybrane aspekty, ma charakter poznawczy, dynamicznie systemów oprogramowania, słaba w analizie
sie zmienia, nie wymaga zaawansowanych narzędzi 2. metoda Rumbaugh (ang. OMT = Object Modeling

jako specyfikacja (projekt) systemu  sformalizowany, Technique)  nacisk na analize systemów; słaba w
kompletny (ze szczegółami realizacji), specjalizowane projektowaniu
narzędzia CASE 3. metoda Jacobsona (Objectory)  nacisk na modelowanie
biznesowe i analizę wymagań

do konstrukcji systemów

MDA = Model-Driven Architecture (Platform-Independent Rational Software prezentuje pierwsze wersje UML
Model Platform Specific Model)

w 1997 OMG publikuje wersje 1.0 standardu, potem kilka

xUML = executable UML
kolejnych wydań aż do najważniejszej wersji 1.4 (2001)
pózniej zaakceptowanej przez ISO (2005)

duże zmiany w strukturze języka od wersji 2.0 (2003)
Technologie obiektowe Technologie obiektowe
Unified Modeling Language Unified Modeling Language
Specyfikacje UML Specyfikacje UML
Założenia projektowe infrastruktury UML Specyfikacje UML

1. modularność  organizacja metaklas w pakiety, np.: UML Infrastructure  podstawa definicji języka UML
(metamodel)

UML Superstructure  ukierunkowane na użytkownika
kategorie modelowania: wszystkie typy diagramów i ich
2. budowa warstwowa (4-poziomowa hierarchia metamodeli) składowe
3. rozszerzalność:
UML Diagram Interchange  sposoby przechowywania

nowe dialekty definiowane przez profile
informacji o układzie graficznym diagramów i sposobach

nowe języki definowane poprzez redefinicję
wymiany tej informacji

Object Constraint Language (OCL)  formalny język
4. wielokrotne użycie  wspólny metamodel dla różnych
(tekstowy) pozwalający na jednoznaczne określanie
specyfikacji
warunków nakładanych na elementy modeli w UML-u
Technologie obiektowe Technologie obiektowe
Unified Modeling Language Unified Modeling Language
Specyfikacje UML Struktura UML
Inne istotne specyfikacje OMG Diagramy UML
Visual Paradigm for UML Standard Edition(AGH University of Science and Technology)
Diagram

MOF (Meta Object Facility)  pojęciowo zgodny z UML
(może być traktowany jako jego podzbiór), służy
Diagram strukturalny Diagram zachowania
definiowaniu innych metamodeli oraz konstrukcji
ustandaryzowanych repozytoriów metadanych,
Diagram klas Diagram obiektow Diagram przypadkow uzycia Diagram stanów
pozwalających przechowywać ich wystąpienia
Diagram pakietow Diagram struktury Diagram interakcji Diagram czynnosci

XMI (XML Metadata Interchange)  oparty na MOF
standard XML-owego zapisu modeli (UML lub innych
Diagram komponentow Diagram wdroenia Diagram sekwencji Diagram harmonogramowania
zdefiniowanych w terminach MOF)
Diagram komunikacji Diagram sterowania interakcja
Technologie obiektowe
Unified Modeling Language
Struktura UML
Podstawowe założenia UML
1. graficzna reprezentacja = specyfikacja

2. opcjonalne właściwości  ozdobniki
3. rozszerzalność:

stereotypy (graficzne i tekstowe)

znaczniki (ang. tagged values)

ograniczenia


Wyszukiwarka

Podobne podstrony:
Technologie Obiektowe z opisami klas
Technologiczna kolejność realizacji obiektu
TECHNOLOGIA WYTŁACZANIA TWORZYW SZTUCZNYCH
Zagadnienia z fizyki Technologia Chemiczna PolSl 2013
Projektowanie robót budowlanych w obiektach zabytkowych
30 technologia nieorganiczna
Modemy i technologie Dial Up
Obiektyw
Technologia spajania 04 SAW
NiBS 3 Rozklad trojkatny Modele Starzenie obiektow nieodnawianych
WYMAGANIA BHP DOTYCZACE OBIEKTOW BUDOWLANYCH I TERENU ZAKLADU czesc II drogi
drukarki technologie
l obiektow unesco WSG
Technologie uzdatniania wody
Technologia xDSL
Technologia kontroli umysłów

więcej podobnych podstron