PRI W3 UML

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 1

marzec 2001

Projektowanie systemów informacyjnych

Ewa Stemposz, Kazimierz Subieta

Instytut Podstaw Informatyki PAN,
Warszawa

Polsko-Japońska Wyższa Szkoła
Technik Komputerowych, Warszawa

Wprowadzenie do UML

Wykład 3

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 2

marzec 2001

Zagadnienia

Cykl życiowy produktu informatycznego

Modelowanie pojęciowe

Metodyka

UML:

Krótka charakterystyka

Modele i diagramy

Mechanizmy rozszerzalności

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 3

marzec 2001

Cykl życiowy produktu

informatycznego

Faza strategiczna

Faza specyfikacji i analizy wymagań --> projektowanie (modelowanie)
pojęciowe

Faza projektowania --> projektowanie logiczne

Faza konstrukcji (implementacji) --> projektowanie fizyczne

Faza testowania

Faza konserwacji

czas

Fazy cyklu życiowego produktu informatycznego:

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 4

marzec 2001

Modelowanie pojęciowe

Pojęcia: modelowanie pojęciowe (conceptual modeling) oraz
model pojęciowy (conceptual model) odnoszą się do procesów
myślowych,

do

wyobrażeń

towarzyszących

pracy

nad

oprogramowaniem.

Projektant, programista, itd. muszą dokładnie wyobrazić sobie
problem oraz metodę jego rozwiązania. Zasadnicze procesy
tworzenia oprogramowania zachodzą więc w ludzkim umyśle i
nie są związane z jakimkolwiek językiem programowania czy
jakimkolwiek narzędziem w ogóle.

Modelowanie pojęciowe może być (i powinno być) wspomagane
przez środki wzmacniające ludzką pamięć i wyobraźnię, służące
do opisu odwzorowywanej rzeczywistości w postaci: struktur
danych, operacji na danych czy zachodzących procesów.

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 5

marzec 2001

Metodyka (1)

Metodyka (metodologia) – w inżynierii oprogramowania jest
zestawem pojęć, oznaczeń, języków, modeli, diagramów, technik i
sposobów postępowania wspierających proces konstruowania
systemu (realizacji projektu).

Metodyka jest wykorzystywana zarówno do projektowania
pojęciowego
, jak i logicznego czy fizycznego.

 role uczestników projektu,

 scenariusze postępowania,

 reguły przechodzenia do następnej fazy,

 modele, które powinny być wytworzone,

 dokumentację, która powinna powstać,
 język/notację, którą należy używać.

Metodyka ustala fazy realizacji projektu, a ponadto dla
każdej z faz projektu wyznacza:

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 6

marzec 2001

Metodyka (2)

Dana notacja może być wykorzystywana w wielu metodykach.

Szczególne znaczenie mają notacje graficzne, ich zalety
potwierdzają

badania

psychologiczne.

Inżynieria

oprogramowania wzoruje się tu na innych dziedzinach techniki,
takich jak np. elektronika czy mechanika.

Rodzaje
notacji:

tekstowa

specyfikacje - ustrukturalizowany zapis tekstowy i numeryczny

notacje graficzne

Notacja, czyli zbiór oznaczeń, jest
wykorzystywana do dokumentowania
wyników poszczególnych faz projektu
pośrednich i końcowych. Notacja służy
jako

środek

wspomagający

ludzką

pamięć i wyobraźnię, a także jako środek
ułatwiający komunikację zarówno między
członkami zespołu projektowego, jak i
między zespołem projektowym a
klientem.

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 7

marzec 2001

Język do modelowania

Język do modelowania, jak każdy inny język, oprócz notacji,
semantyki
i składni posiada jeszcze jeden ważny aspekt:
pragmatykę.

Semantyka określa, co należy rozumieć pod przyjętymi
oznaczeniami (notacją).

Pragmatyka określa, w jaki sposób należy używać przyjętych
oznaczeń, jak do konkretnej sytuacji dopasować pewien wzorzec
notacyjny zgodnie z intencją autorów języka.

Składnia określa, jak wolno łączyć ze sobą przyjęte
oznaczenia.

Język niewiele znaczy bez znajomości sposobów wykorzystywania go
w procesie wytwarzania produktu programistycznego. W
metodykach pragmatyka stosowanego języka jest sprawą
podstawową
. Jest ona zazwyczaj trudna do objaśnienia: można to robić
wyłącznie na przykładach przypominających realne sytuacje. Niestety,
realne sytuacje są zazwyczaj bardzo skomplikowane, czego efektem jest
pewien infantylizm przykładów zamieszczanych w podręcznikach.

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 8

marzec 2001

RATIONAL SOFTWARE CORPORATION

UML 0.8-0.9, styczeń 1995 - wrzesień 1996
UML 1.0,

styczeń 1997, przesłany do OMG

UML 1.1,

koniec 1997, zatwierdzony jako składnik standardu OMG

UML 1.3,

kwiecień 1999

UML 1.4 listopad 2000
UML 1.5

2003

UML 1.6 ? UML 2.0 ?

Połączone siły trzech znanych metodologów
oprogramowania:

Grady Booch Ivar Jacobson
James Rumbaugh

http://www.rational.com/uml
(dokumentacja on line)

Unified Modeling Language (UML)

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd 9

marzec 2001

UML: Krótka charakterystyka (1)

 Notacja UML, która opiera się o podstawowe pojęcia obiektowości
może być wykorzystana w dowolnej metodyce.
 Pojęcia UML, wynikające z doświadczenia jej twórców, mają w
założeniu przykrywać większość istotnych aspektów modelowanych
systemów.
UML jest składową standardu OMG (CORBA).
 Nie wszyscy są zachwyceni UML. Niektórzy specjaliści uważają go za
twór przereklamowany: niestabilny, zbyt ciężki, źle
zdefiniowany
. UML ma konkurentów w postaci metodyki i notacji
OPEN, “design by contracts” oraz innych.

UML cieszy się aktualnie bardzo dużą popularnością.
Prawdopodobnie przez wiele najbliższych lat będzie dominował w
obszarze analizy i projektowania.
UML jest metodyką projektowania ?

Definicja podana przez Rational: "The Unified Modeling
Language (UML) is a language for specifying, constructing,
visualizing, and documenting the artifacts of a software-
intensive system."

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
10

marzec 2001

UML: Krótka charakterystyka (2)

OOSE (Jacobson): dobrze podchodzi do kwestii modelowania
użytkowników i cyklu życiowego systemu. Nie przykrywa dokładnie
ani aspektu modelowania dziedziny przedmiotowej ani aspektu
implementacji (konstrukcji).

OMT (Rumbaugh): dobry do modelowania dziedziny przedmiotowej.
Nie przykrywa dostatecznie dokładnie ani aspektu użytkowników
systemu, ani aspektu implementacji (konstrukcji).

OOAD (Booch): zajmuje się kwestią modelowania dziedziny
przedmiotowej, implementacją (konstrukcją) i związkami ze
środowiskiem implementacji. Nie przykrywa dostatecznie dobrze fazy
rozpoznania i analizy wymagań użytkowników.

Wady i zalety metodyk, których autorami są twórcy UML:

Istnieje wiele aspektów projektowania systemów, które nie zostały
przykryte przez żadną z wyżej wymienionych metodyk, np. włączenie
prototypowania w cykl życiowy, rozproszenie i komponenty,
przystosowanie notacji do preferencji projektantów i inne. Celem UML
jest przykrycie również tych aspektów.

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
11

marzec 2001

Diagramy definiowane w UML

Diagramy przypadków użycia (use case)
Diagramy klas
Diagramy dynamiczne (
behavior):

 Diagramy stanów

 Diagramy aktywności

 Diagramy interakcji:
Diagramy sekwencji
Diagramy współpracy (collaboration)

Diagramy implementacyjne:

 Diagramy komponentów

 Diagramy wdrożeniowe (deployment)

Diagramy te zapewniają uzyskanie wielu perspektyw
projektowanego
systemu w trakcie jego budowy.

Diagramy pakietów

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
12

marzec 2001

Model a diagram; modele w UML (1)

Model: pewna abstrakcja projektowanego systemu, widziana z
określonej perspektywy, na określonym poziomie szczegółowości.
Diagram: środek służący do opisu modelu. Dany model może być
opisany przy pomocy wielu diagramów. Dany element modelu może
pojawiać się na wielu diagramach jednego modelu.

Dwa najważniejsze modele w UML, wykorzystywane w fazie analizy, to:

Model przypadków użycia opisujący system widziany z
perspektywy

jego

przyszłych

użytkowników

(za

pomocą

diagramów przypadków użycia).

Model obiektowy przedstawiający statyczną budowę (strukturę
systemu) za pomocą diagramów klas i diagramów obiektów.
Diagram klas może zawierać obiekty. Diagram obiektów nie
zawiera klas, ale wyłącznie obiekty.

Głównym

zadaniem

pomocniczego

modelu

dynamicznego

(zachowań) jest wypełnienie diagramu klas metodami wynikłymi z
analizy zachowania systemu w trakcie wykonywania zadań, gdzie
zadaniem może być np. realizacja przypadku użycia czy też jednego
konkretnego scenariusza danego przypadku użycia.

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
13

marzec 2001

Model a diagram; modele w UML (2)

Główny obszar

działania

Model

Diagramy

Podstawowe

pojęcia

struktura

model obiektowy

diagram klas

diagram obiektów

model przypadków
użycia

diagramy przypadków
użycia

klasa, obiekt, asocjacja,
generalizacja, zależność,
realizacja, interface

aktor, przypadek użycia,
«include», «extend»,
generalizacja

model
implementacji

diagramy
komponentów

diagramy
wdrożeniowe

komponent, interface,
zależność, realizacja

węzeł, komponent,
zależność, lokacja

dynamika

model dynamiczny

diagramy stanu

stan, zdarzenie, przejście,
akcja, aktywność

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
14

marzec 2001

Model a diagram; modele w UML (3)

Główny obszar

działania

Model

Diagramy

Podstawowe

pojęcia

dynamika, c.d.

model dynamiczny,
c.d.

diagramy aktywności

diagramy interakcji

stan, aktywność, fork,
join, romb decyzyjny

interakcja, współpraca,
komunikat, aktywacja

model
zarządzania

diagramy
pakietów

pakiet, podsystem

rozszerzalnośćwszystkie modelewszystkie diagramy

stereotyp, własność
etykietowana,
ograniczenie

zarządzanie

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
15

marzec 2001

Stereotypy (1)

Stereotypy

stanowią

pierwszy

z

trzech

mechanizmów

rozszerzalności UML. Jak każdy mechanizm rozszerzalności, dają
możliwość

definiowania

nowych

elementów,

co

wspomaga

przystosowanie UML do modelowania specyficznych procesów, do
specyficznych

preferencji

użytkownika

czy

też

pozwala

na

uszczegóławianie semantyki modelu:

 Stereotypy są wyrażeniami językowymi umożliwiającymi
metaklasyfikację elementów modelu.
 Istnieje lista stereotypów dla każdego rodzaju elementów modelu w
UML.
 Element modelu może mieć co najwyżej jeden stereotyp (?).
 Są stereotypy predefiniowane, ale użytkownicy mogą też definiować
własne stereotypy.
 Stereotypy mogą mieć implikacje semantyczne (podobnie jak
ograniczenia).

Notacja:

«

nazwa stereotypu

»

lub ikona.

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
16

marzec 2001

Stereotypy (2)

Przykłady stereotypów:

P1

P2

«include»

P3

P4

«extend»

«aktor»

Klient

Klient

jest równoważne

background image

E. Stemposz, Inżynieria Oprogramowania, Wykład 3, Slajd
17

marzec 2001

Wartości etykietowane

Wartości etykietowane stanowią kolejny mechanizm
rozszerzalności UML.
 Pojedynczą wartość etykietowaną stanowi ciąg znaków o postaci:
słowo kluczowe = wartość.
 Listę wartości etykietowanych (oddzielonych przecinkami)
umieszcza się w {}.
 Dowolny element modelu może być skojarzony z listą wartości
etykietowanych.

{autor = “Jan Nowak”, termin zakończenia = “31 Maja 1999”, status = analiza}

Przykład listy wartości etykietowanych:

W ten sposób można na diagramach umieścić dowolną dodatkową
informację. Zakłada się, że narzędzia CASE umożliwią odszukanie
odpowiedniego elementu na podstawie słowa kluczowego i
skojarzonej z nim wartości.

Uwaga! Wartości etykietowane służą raczej do opisu
pojedynczego elementu modelu niż do metaklasyfikcji (patrz:
stereotypy).


Document Outline


Wyszukiwarka

Podobne podstrony:
PRI W3 UML
PRI W11b UML 2 0
PRI W7 UML
PRI W10 UML
PRI W11b UML 2 0
PRI W1 UML 2 0
PRI W11 UML

więcej podobnych podstron