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