Projektowanie Systemów Informatycznych
dr inż. Janusz Jabłońskie-mail [email protected]
Wstęp do Metod Obiektowych – „podej ście” procesowe
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
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
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
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
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
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)
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
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
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)
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
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
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..
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
Projektowanie Systemów Informatycznych
KONIEC