34
Projektowanie Systemów Informatycznych dr inż. Janusz Jabłoński e-mail [email protected] Wstęp do Metod Obiektowych – „podejście” procesowe

Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Embed Size (px)

Citation preview

Page 1: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

dr inż. Janusz Jabłońskie-mail [email protected]

Wstęp do Metod Obiektowych – „podej ście” procesowe

Page 2: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 1

Narzędzia implementacji a metodyki projektowania SI

Koncepcja (model) każdego systemu powstaje w umyśle człowieka

Języki proceduralne(programista - projektantem)

metodyki strukturalne

czas

Języki obiektowe (programista – projektantem ?)

metodyki obiektowe

Oparte na takich koncepcjach jak:

☺ abstrakcja (klasyfikacja),☺ enkapsulacja (modularność)☺ polimorfizm (wielopostaciowość),☺ dziedziczenie (hierarchia),

Systemy predykatywneekspertowe

Page 3: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Model przedsi ębiorstwa – metodyki strukturalne

Zamierzenia i cele

Funkcje (procedury)realizowane przez

Zdarzenia

przetwarzanie

Informacje (Dane)

post ęp mierzalny przez

Zdarzenia

Page 4: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Abstrakcja > Koncepcje > urzeczywistnienie > obiekty

2

Koncepcje to pojęcia abstrakcyjne będące intuicją na podstawie których staramy się

sklasyfikować postrzegane otoczenie (zjawiska),dotycz ą zjawisk istniej ących lub nie mogą mie ć ró Ŝne reprezentacje lub jeszcze nie

natomiast urzeczywistnienia koncepcji to jej reprezentacje, które nazywane są obiektami.

Naturalne postrzeganie Świata, jako OBIEKTY i powiązania pomiędzy nimi

Koncepcja 1

Koncepcja 2

Koncepcja 3

Elementy w świecie rzeczywistym

Page 5: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Koncepcje, obiekty – Zale żności

3

Nie może istnieć obiekt (XYZ_Transport) nie mający powiązania z żadną koncepcjąKażdy postrzegany obiekt, którego istnienia jesteśmy świadomi musi być kwalifikowany(np. jako element nie znanego przeznaczenia), czyli musi być powiązany z jakąś koncepcją

Naturalne powiązania (zależności) pomiędzy obiektami

� dźwi ęk samolotu� szum drzew� zapach kwiatów

Koncepcja Obiekt

Odrzutowiec

F-116

Urządzenie latające

Curtiss P-40 TomahawkProdukt Amerykański

Ford Mustang

Wehikuł czasu XYZ-Transport

Koncepcjasamolot

ObiektBoeing 747Mig-29Mi- 19

Page 6: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Funkcjonalno ść - Zaprogramowane działanie - Metody

4

Do danych nie można dostać się bezpośrednio, (nagrywanie, odtwarzanie lub wyjęcie kasety z magnetowidu)

w tym celu należy wywołać odpowiedniąmetodę (wybrać odpowiednią funkcję)

Komunikacja użytkownika z obiektem odbywa się poprzez wysyłanie żądania

Pilot Odbiornik

RegulatorNapędEkran

PozycjonerŜądania

obiekty metody

wł ącz odbiornik ustaw czaszmie ń kanał

śądania argumenty

: 18 30

: TVP1

Obiekt chroni dane oraz mechanizmy na nich operuj ąceprzed niepowołanym dost ępem – analogia z Obudową urządzenia

Page 7: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Rozbudowa – dziedziczenie cech

5

Chcąc zmienić funkcjonalność obiektu nie muszę rozpoczynać projektu od podstaw

Wykorzystuj ąc dziedziczenie mo Ŝna nadawa ć nowe cechy obiektom lub zmienia ć cechy ju Ŝ istniej ące

A1A2…An

M1

M2

Mn

Strojenie (automatyczne)

Strojenie (ręczne)

A1A2…An…As

M1

M2

Mn

DM

wspomaganie(kierownicy)

Pola odziedziczonewraz z metodami

(cechami)

Page 8: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

dziedziczenie – generalizacja, specjalizacja

6

Hierarchia klas przedstawia proces, etapy tworzenia, lub „przechodzenie” od klas prostych do złożonych albo wyspecjalizowanych

Wykorzystuj ąc dziedziczenie mo Ŝna nadawa ć nowe cechy obiektom lub zmienia ć cechy ju Ŝ istniej ące

specjalizacja

generalizacjaprodukt

Urządzenie do latania

Odrzutowiec

podtypy

Rejestratorobrazu

Aparat Fotograficzny

Rejestrator dźwięku

Magnetofon Magnetowid

Produkt

Page 9: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 7

Polimorfizm - wielopostaciowo ść

MagnetowidOdtwarzaczdoPrzodu doPrzodu

Polimorfizm - wielopostaciowość która w informatyce umożliwia wirtualizację operacji; dynamiczne (późne) wiązanie nazwy operacji z wieloma metodami w różnych klasach

pozostających w relacji dziedziczenia.

class Bazowa {public void msg(){

System.out.println(”Metoda klasy bazowej");}

}class Wywiedziona extends Bazowa {

public void msg(){ System.out.println(”Metoda klasy wywiedzionej");

}}

Tak więc definicja metody o danej sygnaturze w superklasiemoże być przesłonięta przez definicję metody o tej samejsygnaturze w podklasie. Możliwe jest również przeciążanie operatorów (polimorfizmad hoc)

Metoda(doPrzodu)

doPrzodu

Metoda(doPrzodu)

Klasa, zbiór obiektów,które mają wspólne atrybuty i metody

Polimorfizm ad hoc Polimorfiym uniwersalny przeciążenie polimorf. parametrycznykoercja polimorf. inkluzyjny

Page 10: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Kapsułkowanie – Hermetyzacja (ang. encapsulation)

8

Zamknięcie bytu programistycznego (obiektu, modułu, typu danych) w "kapsule" odobrze zdefiniowanych granicach.

Hermetyzacja pozwala ukryć szczegóły, które nie posiadają zasadniczego znaczenia.Na zewnątrz udostępniane są tylko niezbędne metody działania na obiekcie.

metody

dane

f(1)

f(2)

f(i)

komunikatObiekt

„Skorupka” reprezentuje sygnaturę publicznie widzianych operacji. Interfejs „skorupki” ukrywaimplementację funkcji i struktur danych

Problem „powielania” w przypadku gdy funkcje wielu obiektów korzystaj ą z tych samych danych

Właściwości obiektów:Atrybuty – parametry, dane Metody - procedury, funkcje lub usługi

Zasady widoczności - określają zasięg, w którym obiekt jest widzialny: public, private, protect

(publiczne, prywatne, chronione)

Page 11: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 9

Podejście procesowe

Obraz zewnętrzny traktuje przedsi ębiorstwo jak „czarną skrzynkę” , o zdefiniowanej roli i miejscu w otaczającym nas świecie

Struktura wewnętrzna – budowa organizacjipozwalająca na pełnienie określonej roli w środowisku

Wypełnienie Celu i misjiorganizacji związane są z jakościąi budową zachodzących w niej procesów (organizacją, zarządzaniem)

Proces – zbiór działań (czynności) zmierzających do osiągnięcia konkretnego efektu

1. Procesy, dostarczające określonej wartości klientom spoza firmy – zewnętrzne procesy biznesowe) 2. Procesy, o zasięgu wewnętrznym i służące przede wszystkim jako wspomagane dla tych pierwszych

Proces biznesowy – zbiór działań wewnątrz firmy, których celem jest dostarczenie klientowi konkretnej usługi lub produktu

Page 12: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 10

Podejście procesowe

Nazwa przedsiębiorstwa Procesy w nim zachodzące

1. Sprzedaż – dostarczenie klientowi

produktu, którym jest zamówiony towar

2. Zakup –dostarczenie klientowi (dostawcy)wartości pieniężnej za zakupione przezsklep towary

Sklep

3. Naprawa –dostarczenie klientowi usługi,którą jest naprawa uszkodzonego sprzętu

Proces biznesowy– specyficzne uporządkowanie działań w czasie i przestrzeni, z dobrze określonymi danymi i wynikami oraz jasno zdefiniowanymi wejściem i wyjściem Dawenport93

Restauracja 1. Serwowanie posiłków –dostarczenie klientowiproduktu którym jest zamówiony posiłek

2. Zakup produktów –dostarczenie klientowi(dostawca) wartości pieniężnej (produkt)za zakupione przez restauracje towary

3. Organizowanie przyjęć okolicznościowychdostarczenie klientowi grupowemu produktu którym jest organizacja przyjęcia

Proces biznesowy– zbiór działań wewnątrz firmy, wykonywanych w celu dostarczenia klientowi konkretnej usługi lub produktu

Hammer, Champy92

Page 13: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 11

Podejście procesowe

Nazwa przedsiębiorstwa Procesy w nim zachodzące

1. Sprzedaż urządzeń – wejście: klient zgłaszapotrzebę zakupu komputera; wyjście: dostarczenie komputera (zestawu)

2. Zakup podzespołów –wejście: zamówienie na podzespoły; wyjście: przyjęcie zakupionych elementów do magazynu

Sklep komputerowy

3. Naprawa urządzeń – wejście: żądanie naprawyprzez klienta; wyjście: naprawienie sprzętu

Restauracja 1. Serwowanie posiłków –wejście: gość zgłasza potrzebę spożycia posiłku; wyjście: dostarczenie zamówionego posiłku

2. Zakup produktów –wejście: zamówienie na produkty żywnościowe; wyjście: przyjęcie dostarczonych towarów do magazynu

3. Organizowanie przyjęć okolicznościowychwejście: zamówienie przyjęcia przez klienta; wyjście: realizacja organizacji imprezy

Proces biznesowy– przebieg ma charakter dynamiczny, jego realizacja jest rozciągnięta w czasie, angażując różnorodne zasoby dostępne w przedsiębiorstwie: ludzi, materiały, kapitał, itp..

Page 14: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 12

Podejście procesowe – zadania działów

Nazwa Dział Zadania działu służące wykonaniu Procesu przedsięb. Procesu

Sprzedażurządzeń

pozyskanie klienta, przyjęcie zamówienia, złożenie zamówienia montowni, sporządzenie dokumentów

sprzedaży

Zapłacenie za części

Słabe strony struktury funkcjonalnej– podejmowanie rozbieżnych decyzji przez kierownictwo działów– niekontrolowane opóźnienia (dokumenty, towary) pomiędzy działami– brak odpowiedzialności za jakość obsługi klientów

Sprzedaż

Księgowość

Montownia Złożenie zamówionych zestawów

Magazyn Dostarczenie elementów do montażu zestawów

Zakuppodzesp.

Zgłoszenie zapotrzebowania na podzespołySprzedaż

Księgowość

Magazyn Przyjęcie podzespołów do magazynu

Zbadanie zdolności kredytowej klientaNaprawaurządzeń

Sprzedaż Przyjęcie urządzeń do naprawy, wydanie naprawionego sprzętu klientowi

Serwis Wykonanie naprawy

Page 15: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 13

Podejście procesowe – analiza i projektowanie obiektowe

Procesy biznesowe– teoretycznie są niewidoczne i najczęściej obejmują kilka działów firmy, a wykonanie ich angażuje pracowników z wielu działów

Działmarketingu

Firma(dyrektor)

Działsprzeda ży

Księgowo ść ProdukcjaSerwis

Działreklamy

Działpromocji

Produkt A Produkt B

Dział A Dział B Dział C

Procesy biznesowe

Wzmocnienie niekorzystnych cech struktur funkcjonal nych:duŜe organizacje (kilka, kilkana ście) poziomów zarz ądzaniaobecnie klient posiada indywidualne cechy

Page 16: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

sprzeda ż zestawów

14

Podejście procesowe

Wyodrębnienie procesów biznesowych oraz ich właścicieli, odpowiedzialnych za koordynację i prawidłowe wykonanie czynności składających się na proces,

staje się nową formą organizacji przedsiębiorstw

Firma(dyrektor)

Serw

is

Magazyn

Montow

nia

Księgow

ość

Sprzeda

ż

zakup podzespołów

naprawa zestawów

Właściciele procesów

biznesowych

Charakterystyczne cechy podej ścia procesowego:jedna osoba podejmuje decyzjepłynno ść czynno ści ukierunkowana na realizacja zada ń

okre ślona odpowiedzialno ść za przebieg procesów

Page 17: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Modelowanie procesów biznesowych – Metoda Jacobsona

15

Do opisu przedsięwzięcia biznesowego, w metodzie Jacobsona, przygotowywane sądwa modele: diagram przypadków użycia1 oraz diagram obiektów2

Dążenie do stworzenia systemu informatycznego, który będzie wspierałzachodzące w przedsiębiorstwie zmiany

� nowa struktura i filozofia funkcjonowania organizacji w ramach procesu reorganizacji (ang. Business Process Reeinginering)

� poprawa funkcjonowania firmy bez wprowadzania radykalnych zmian(ang. Buisness Process Improvement)

Aktor

(nazwa przypadku użycia)

extends

uses

1. Opis procesów (wewnątrz organizacji) z perspektywy zaspakajania potrzeb klienta2. Opis wewnętrznej struktury PB, pokazuje miejsce i sposób ich wykonania

Magazynier

ZaopatrzeniowiecDostawca

Podzespół

Dokument dostawy

Zamówienie podzespołów

Page 18: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Model obiektów – Sklep komputerowy

16

Zamówienie zestawu

Zestaw Podzespół

Dokumentsprzedaży

Dot.[1..m]

Wystaw.[1..m]

Składa się [1..m]

Formularz naprawy

opisuje uszkodzenie

Rachunek

Gwarancja

Dokumentdostawy

Zamówienie podzespołów

Dziedziczy z

Dot.[1..m]

Potw. Dostawę [1..m]

Monter Magazynier

Serwisant

ZaopatrzeniowiecSprzedawca

Dostawca towaru

Page 19: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 17

Przegląd Metod

1985 – Booch G.

1991 – Martin J., Odell J. (event–driven)

1991 – Coad P., Yourdon E.

1991 – Shlaer S., Mellor S.J

1991 – Rumbaugh J. (Object Modeling Technique)

1992 – Jacobson J. (scenario–driven: use–case)

1994 – Booch G synteza rozwiązań (oparta na OMT)

Metody obiektowe (od lat 80 - tych)

W przeciwieństwie do metodyk strukturalnych dane i procesy są modelowane łącznie Całość dostosowana jest do obiektowego złożonego modelu danych

Page 20: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 18

Przegląd Metodyk

1995 – propozycja standaryzacji 1997 – UML został uznany przez OMG

(Object Managment Group)za standard notacji dla obiektowej metodyki projektowania.

Język UML (ang. Unified Modeling Language), Ujednolicony Język Modelowania -stworzony w Rational Corporation jest notacjąmodelowania systemów biznesowych

i komputerowych.

UML pozwala na opisywanie, projektowanie i tworzenie złożonych systemów informatycznych.

Za jego pomocą można koncentrować się na detalach, nie tracąc przy tym obrazu całości.

Page 21: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 19

Różne perspektywy projektowanego systemu

Perspektywa projektowa

Perspektywa projektowa

Perspektywa procesowa

Perspektywa procesowa

Perspektywa implementacyjna

Perspektywa implementacyjna

Perspektywa wdrożeniowa

Perspektywa wdrożeniowa

Perspektywa Przypadków u życia

Perspektywa Przypadków u życia

Zachowanie

Słownictwo funkcjonalnośćUsługi,

Scalanie systemuZarządzanie konfiguracjąpliki, komponenty

Opracowanie układu RozmieszczenieDostarczenieInstalacja

Sprzęt

EfektywnośćSkalowalność

Przepustowość

AktywnośćProcesy, Wątki

modelowanie

logiczne fizyczne

Struktura

Page 22: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Podstawowe diagramy UML

DiagramOpisuDynamiki

DiagramPrzypadkówU życia DiagramInterakcjiDiagramMaszynyStanów

DiagramSekwencji DiagramKomunikacji DiagramOpisuInterakcji DiagramNast ępstwa

DiagramCzynno ści

DiagramOpisuStruktury

DiagramStruktury DiagramSkładowych DiagramWdro żenia

DiagramKlas DiagramObiektów DiagramPakietów DiagramKomponentów

20

Page 23: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

diagramy struktury w UML

DiagramOpisuStruktury

DiagramStruktury DiagramSkładowych DiagramWdro żenia

DiagramKlas DiagramObiektów DiagramPakietów DiagramKomponentów

Diagram klas Diagram Obiektów Diagram PakietówDiagram Komponentów

Diagram Składowych

Diagram Wdro żenia

klasa

klasa

klasa

związek

związek

związek

:Obiekt

:Obiekt

:Obiekt:Obiekt

OsobyRej

Pojazd

«instnce» «instnce» «instnce» «instnce»

Ob Kom

Kom

IPisz

ICzyt ICzyt

«instnce»«instnce»

Samochód

k:koła{4}

S:Silnik

p:podwozie

21

Page 24: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 22

Diagramy w UML

Statyczne aspekty (elementy struktury) systemu obrazują:

� diagram klas, znajdują się na nim klasy, interfejsy, kooperacjei związki między nimi

� diagram obiektów, przedstawia zrzut pewnych egzemplarzyelementów występujących na diagramie klas

� diagram komponentów, obrazuje zbiór komponentów i związki między nimi

� diagram wdrożeniaobrazuje zbiór węzłów i związki między nimi

Page 25: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 23

Diagramy w UML

Dynamiczne części systemu (zachowanie) obrazuje:

� diagramów przypadków użyciaumożliwia uporządkowanie zachowania systemu

� diagramów przebiegukładzie nacisk na kolejność wysyłania komunikatów w czasie

� diagramów kooperacji kładzie nacisk na strukturalną organizację obiektów, które wysyłają i odbierają komunikaty

� diagramów stanów kładzie nacisk na zmiany stanów spowodowane zdarzeniami

� diagramów czynnościkładzie nacisk na przepływ sterowania od czynności do czynności

Page 26: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 24

Diagram przypadków u życia – ( use case )

Klient indywidualny

Zrealizuj transakcj ękartą

Rozlicz transakcj ę

Uzgodnij transakcj ę

Prowad ź rachunek klienta

System weryfikacji kart kredytowych

Klient instytucjonalny

Klient

Jednostka handlu

detalicznego

Sponsorująca organizacja finansowa

uogólnienia

Komunikacja aktora z

przypadkami użycia

Weryfikacja kart kredytowych

Realizacja transakcji kartą

Rozliczenie transakcji klienta

Uzgodnienie transakcji

Prowadzenie rachunku klienta

R1

R2

R3

R4

Page 27: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

A1…An

M1

205

Diagram klas

Przedsiębiorstwo

DziałNazwa: naz

Działadres: string

telefon: numer

siedziba

1..* 1..*

CentralaOsoba

nazwisko: Nazwastanowisko: stringIDzatrud: Integer

OdczytDanych()OdczytAdresy()OdtwórzMowe()

AdresyKontaktoweadres: string

DziałNIP

Wynagrodzenieoperacje

{podzbiór}

1..* 1pracownik kierownik

zależność

uogólnienie

agregacja

interfejs

IPoufneInformacje

Modelowanie (estetyczne przedstawienie):słownictwa systemu (ściany,podłogi)prostych kooperacjischematu logicznego bazy danych

ograniczeniaPracownik

ImięNazwiskoPłaca

Ustal PłacęZwolnijPrzyjmij

PRACOWNIK

Page 28: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Równoważne – lecz każdy z nich może przedstawiać byty, których nie ma na drugim diagramie

Uwypuklają różne aspekty systemu

26

Diagram Interakcji

Modelowanie dynamicznych aspektów systemu

struktura obiektów wymieniających komunikaty

K : Klient

: Transakcja : PełnomocnikODBC

1: <<create>>2: UstalAkcje(a, d, o)3: <<destroy>>

wiązanie

2.1 : NadajWartość(d 3:4)2.2 : NadajWartość(a, „CO”)

Diagram kooperacji

komunikat

{transient}

<<global>>

obiekt

egzemplrz

kolejność komunikatów w czasie

K : Klient

: Transakcja

NadajWartość(a, „CO”)

NadajWartość(d 3:4)

: PełnomocnikODBC

Zatwierdzono

UstalAkcje(a, d, o)

<<create>>

{transient}

Diagram przebiegu

<<destroy>>

linia życia

Page 29: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 27

Diagram czynno ści

Wybierz działkę

Wynajmij architekta

Opracuj plan

Zaproponuj cenę robót

Wykonaj roboty wykończeniowe

Wykonaj roboty budowlane

Zakończ budowę

ProtokółodbioruKońcowego[podpisany]

Stan początkowy

Stany akcji

Rozwidlenie spółbieżne

Page 30: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 28

Diagramy realizacji

Program doharmonogramów

Program doplanowania

Interfejsgraficzny

Pokazują zależności pomiędzy komponentami oprogramowania, włączając komponenty kodu źródłowego, kodu binarnego oraz kodu wykonywalnego

Poszczególne komp. mogą istnieć w różnym czasie: kompilacji, konsolidacji, wykonania

Diagram komponentów – odnosi się do statycznych aspektów perspektywy wdrożeniowej

Page 31: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

Diagramy realizacji - diagram wdro żenia

11

: serwer regionalny

: serwer regionalny

: serwer regionalny

: serwer krajowy

: serwer dziennika

: Internet

: konsola

: konsola : konsola

Serwery krajowe sąpołączone ze sobą

przez prywatną siećprzedsiębiorstwa

System rozproszony

Page 32: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 29

Cele i zakres UML

� Modelowanie systemów z użyciem pojęć obiektowych

� Ustanowienie bezpośredniego połączenia zarówno do wytworów pojęciowych jak i wykonywalnych programów

� Objęcie zagadnień związanych ze skalą problemu

� Utworzenie języka do modelowania zarówno dla ludzi jak i dla maszyn

� Specyfikacja, konstrukcja, wizualizacja i dokumentacja systemów intensywnie wykorzystujących oprogramowanie

� Wysiłek autorów skoncentrowany jest na stworzenie wspólnego metamodelu (unifikacji semantyki) i wspólnej notacji

(odbioru semantyki wśród ludzi)

� Promowany jest proces, który jest napędzany przez przypadki użycia, skoncentrowany na architekturze, iteracyjny i przyrostowy

Page 33: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych 30

Podsumowanie

UML nie jest metodyką projektowania

Jest notacją, która może być użyta w dowolnej metodyce

Notacja opierającą się o podstawowe pojęcia obiektowości

UML jest standardem, który wprowadza wiele (być może za wiele) modeli i oznaczeń, które w założeniu mają przykry ć wszystkie

istotne aspekty modelowanych systemów

Page 34: Projektowanie Systemów Informatycznych - staff.uz.zgora.plstaff.uz.zgora.pl/jjablons/wyk/ProcesUML.pdf · Projektowanie Systemów Informatycznych Funkcjonalno ść - Zaprogramowane

Projektowanie Systemów Informatycznych

KONIEC