Projektowanie Systemów Informatycznych Wstęp do Metod Obiektowych podejście procesowe



Podobne dokumenty
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

UML w Visual Studio. Michał Ciećwierz

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Podstawy Programowania Obiektowego

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Podstawy programowania III WYKŁAD 4

Modelowanie i Programowanie Obiektowe

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie obiektowe - 1.

Unified Modeling Language

Spis treúci. 1. Wprowadzenie... 13

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

WPROWADZENIE DO UML-a

Rysunek 1: Przykłady graficznej prezentacji klas.

Technologie obiektowe

Wykład 1 Inżynieria Oprogramowania

Projektowanie systemów informatycznych. wykład 6

Diagramy klas. WYKŁAD Piotr Ciskowski

Programowanie obiektowe

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Język programowania. Andrzej Bobyk

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Podstawy inżynierii oprogramowania

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

Diagramy czynności Na podstawie UML 2.0 Tutorial

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Podstawy modelowania programów Kod przedmiotu

Paweł Kurzawa, Delfina Kongo

Michał Adamczyk. Język UML

Technologie i usługi internetowe cz. 2

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

1 Projektowanie systemu informatycznego

Modelowanie danych, projektowanie systemu informatycznego

Wprowadzenie do systemów informacyjnych

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

UML cz. III. UML cz. III 1/36

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Faza analizy (modelowania) Faza projektowania

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

TECHNOLOGIE OBIEKTOWE. Wykład 3

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

UML. dr inż. Marcin Pietroo

Projekt systemu informatycznego

Język UML w modelowaniu systemów informatycznych

Modelowanie obiektowe

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Modelowanie obiektowe - Ćw. 3.

Charakterystyka oprogramowania obiektowego

Programowanie obiektowe

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Inżynieria oprogramowania. Część 5: UML Diagramy klas

Inżynieria oprogramowania. Jan Magott

Podstawy języka UML UML

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Projektowanie logiki aplikacji

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2

UML cz. II. UML cz. II 1/38

Diagramy klas. dr Jarosław Skaruz

Wprowadzenie do UML, przykład użycia kolizja

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela

Inżynieria oprogramowania

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

PRZEWODNIK PO PRZEDMIOCIE

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Modelowanie i analiza systemów informatycznych

Podstawy języka UML2 w realnych projektach

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Wprowadzenie. Dariusz Wawrzyniak 1

UML cz. I. UML cz. I 1/1

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Języki Programowania Obiektowego

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Język UML w modelowaniu systemów informatycznych

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Transkrypt:

Projektowanie Systemów Informatycznych Wstęp do Metod Obiektowych podejście procesowe dr inż. Janusz Jabłoński e-mail j.jablonski@wmie.uz.zgora.pl

Narzędzia implementacji a metodyki projektowania SI Koncepcja (model) każdego systemu powstaje w umyśle człowieka Języki proceduralne Języki obiektowe (programista - projektantem) (programista projektantem?) metodyki strukturalne metodyki obiektowe Systemy predykatywne ekspertowe Oparte na takich koncepcjach jak: abstrakcja (klasyfikacja), enkapsulacja (modularność) polimorfizm (wielopostaciowość), dziedziczenie (hierarchia), czas Projektowanie Systemów Informatycznych 1

Zamierzenia i cele Model przedsiębiorstwa metodyki strukturalne realizowane przez Funkcje (procedury) Zdarzenia Zdarzenia przetwarzanie Informacje (Dane) postęp mierzalny przez Projektowanie Systemów Informatycznych

Abstrakcja > Koncepcje > urzeczywistnienie > obiekty Naturalne postrzeganie Świata, jako OBIEKTY i powiązania pomiędzy nimi Koncepcja 1 Koncepcja 2 Koncepcja 3 Elementy w świecie rzeczywistym 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. Projektowanie Systemów Informatycznych 2

Koncepcje, obiekty Zależności dźwięk samolotu szum drzew zapach kwiatów Naturalne powiązania (zależności) pomiędzy obiektami Koncepcja Obiekt Koncepcja samolot Obiekt Boeing 747 Mig-29 Mi- 19 Odrzutowiec Urządzenie latające Produkt Amerykański F-116 Curtiss P-40 Tomahawk Ford Mustang Wehikuł czasu XYZ-Transport 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ą Projektowanie Systemów Informatycznych 3

Funkcjonalność - Zaprogramowane działanie - Metody Pilot Odbiornik Ŝądania Pozycjoner obiekty Ekran Napęd Regulator metody Komunikacja użytkownika z obiektem odbywa się poprzez wysyłanie żądania śądania włącz odbiornik ustaw czas zmień kanał argumenty : 18 30 : TVP1 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ę) Obiekt chroni dane oraz mechanizmy na nich operujące przed niepowołanym dostępem analogia z Obudową urządzenia Projektowanie Systemów Informatycznych 4

Rozbudowa dziedziczenie cech Chcąc zmienić funkcjonalność obiektu nie muszę rozpoczynać projektu od podstaw A1 A2 An M1 M2 Mn Strojenie (automatyczne) Pola odziedziczone wraz z metodami (cechami) A1 A2 An As M1 M2 Mn DM wspomaganie (kierownicy) Strojenie (ręczne) Wykorzystując dziedziczenie moŝna nadawać nowe cechy obiektom lub zmieniać cechy juŝ istniejące Projektowanie Systemów Informatycznych 5

dziedziczenie generalizacja, specjalizacja Hierarchia klas przedstawia proces, etapy tworzenia, lub przechodzenie od klas prostych do złożonych albo wyspecjalizowanych produkt generalizacja Produkt Urządzenie do latania Rejestrator dźwięku Rejestrator obrazu specjalizacja Odrzutowiec Magnetofon podtypy Magnetowid Aparat Fotograficzny Wykorzystując dziedziczenie moŝna nadawać nowe cechy obiektom lub zmieniać cechy juŝ istniejące Projektowanie Systemów Informatycznych 6

Polimorfizm - wielopostaciowość Odtwarzacz doprzodu Magnetowid doprzodu 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. Klasa, zbiór obiektów, które mają wspólne atrybuty i metody class Bazowa { public void msg(){ Metoda System.out.println( Metoda klasy bazowej"); (doprzodu) } } class Wywiedziona extends Bazowa { public void msg(){ System.out.println( Metoda klasy wywiedzionej"); Metoda } (doprzodu) } Tak więc definicja metody o danej sygnaturze w superklasie może być przesłonięta przez definicję metody o tej samej sygnaturze w podklasie. Możliwe jest również przeciążanie operatorów Polimorfizm ad hoc (polimorfizm ad hoc) przeciążenie koercja Polimorfiym uniwersalny polimorf. parametryczny polimorf. inkluzyjny Projektowanie Systemów Informatycznych 7

Kapsułkowanie Hermetyzacja (ang. encapsulation) Zamknięcie bytu programistycznego (obiektu, modułu, typu danych) w "kapsule" o dobrze zdefiniowanych granicach. Obiekt komunikat f(1) f(2) f(i) dane metody Skorupka reprezentuje sygnaturę publicznie widzianych operacji. Interfejs skorupki ukrywa implementację funkcji i struktur 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) Problem powielania w przypadku gdy funkcje wielu obiektów korzystają z tych samych danych 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. Projektowanie Systemów Informatycznych 8

Podejście procesowe Obraz zewnętrzny traktuje przedsiębiorstwo jak czarną skrzynkę, o zdefiniowanej roli i miejscu w otaczającym nas świecie Wypełnienie Celu i misji organizacji związane są z jakością i budową zachodzących w niej procesów (organizacją, zarządzaniem) Struktura wewnętrzna budowa organizacji pozwalająca na pełnienie określonej roli w środowisku 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 9

Podejście procesowe Nazwa przedsiębiorstwa Restauracja Sklep Procesy w nim zachodzące 1. Sprzedaż Serwowanie dostarczenie posiłków klientowi dostarczenie klientowi produktu, produktu którym którym jest jest zamówiony zamówiony posiłek towar 2. Zakup produktów dostarczenie klientowi dostarczenie (dostawcy) klientowi (dostawca) wartości pieniężnej wartości za pieniężnej zakupione (produkt) przez za sklep zakupione towary przez restauracje towary 3. Naprawa Organizowanie dostarczenie przyjęćklientowi okolicznościowych usługi, którą dostarczenie jest naprawa klientowi uszkodzonego grupowemu sprzętu produktu którym jest organizacja przyjęcia Proces biznesowy specyficzne zbiór działańuporządkowanie wewnątrz firmy, działań wykonywanych w czasie i w przestrzeni, celu z dostarczenia dobrze określonymi klientowi danymi konkretnej i wynikami usługi lub oraz produktu jasno zdefiniowanymi wejściem i wyjściem Hammer, Champy92 Dawenport93 Projektowanie Systemów Informatycznych 10

Podejście procesowe Nazwa przedsiębiorstwa Restauracja Sklep komputerowy Procesy w nim zachodzące 1. Serwowanie Sprzedaż urządzeń posiłków wejście: wejście: klient gość zgłasza zgłasza potrzebę spożycia zakupu komputera; posiłku; wyjście: dostarczenie zamówionego komputera (zestawu) posiłku 2. Zakup podzespołów produktów wejście: zamówienie na na produkty podzespoły; żywnościowe; wyjście: przyjęcie wyjście: przyjęcie zakupionych dostarczonych elementów towarów do magazynu 3. Naprawa Organizowanie urządzeń przyjęć wejście:żądanie okolicznościowych naprawy przez wejście: klienta; zamówienie wyjście: naprawienie przyjęcia przez sprzętu 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 11

Podejście procesowe zadania działów Nazwa Dział Procesu przedsięb. Sprzedaż Zakup urządzeń podzesp. Naprawa urządzeń Sprzedaż Sprzedaż Sprzedaż Księgowość Księgowość Montownia Serwis Magazyn Magazyn Zadania działu służące wykonaniu Procesu pozyskanie klienta, przyjęcie zamówienia, złożenie zamówienia montowni, sporządzenie dokumentów Zgłoszenie sprzedaży zapotrzebowania na podzespoły Przyjęcie urządzeń do naprawy, Zbadanie wydanie naprawionego zdolności kredytowej sprzętu klienta klientowi Zapłacenie za części Złożenie zamówionych zestawów Wykonanie naprawy Przyjęcie podzespołów do magazynu Dostarczenie elementów do montażu zestawów 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 Projektowanie Systemów Informatycznych 12

Podejście procesowe analiza i projektowanie obiektowe Firma (dyrektor) Dział marketingu Dział sprzedaży Księgowość Serwis Produkcja Dział reklamy Dział promocji Procesy biznesowe Produkt A Produkt B Dział A Dział B Dział C Procesy biznesowe teoretycznie są niewidoczne i najczęściej obejmują kilka działów firmy, a wykonanie ich angażuje pracowników z wielu działów Wzmocnienie niekorzystnych cech struktur funkcjonalnych: duŝe organizacje (kilka, kilkanaście) poziomów zarządzania obecnie klient posiada indywidualne cechy Projektowanie Systemów Informatycznych 13

Podejście procesowe Firma (dyrektor) zakup podzespołów sprzedaż zestawów Serwis Montownia Magazyn Księgowość Sprzedaż Właściciele procesów biznesowych naprawa zestawów 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 Charakterystyczne cechy podejścia procesowego: jedna osoba podejmuje decyzje płynność czynności ukierunkowana na realizacja zadań określona odpowiedzialność za przebieg procesów Projektowanie Systemów Informatycznych 14

Modelowanie procesów biznesowych Metoda Jacobsona 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) Dążenie do stworzenia systemu informatycznego, który będzie wspierał zachodzące w przedsiębiorstwie zmiany extends Magazynier Podzespół Aktor (nazwa przypadku użycia) uses Dostawca Zaopatrzeniowiec Dokument dostawy Zamówienie podzespołów Do opisu przedsięwzięcia biznesowego, w metodzie Jacobsona, przygotowywane są dwa modele: diagram przypadków użycia 1 oraz diagram obiektów 2 1. Opis procesów (wewnątrz organizacji) z perspektywy zaspakajania potrzeb klienta 2. Opis wewnętrznej struktury PB, pokazuje miejsce i sposób ich wykonania Projektowanie Systemów Informatycznych 15

Model obiektów Sklep komputerowy Zamówienie zestawu Dokument sprzedaży Dziedziczy z Rachunek Sprzedawca Zaopatrzeniowiec Wystaw.[1..m] Gwarancja Dot.[1..m] Dostawca towaru Składa się [1..m] Potw. Dostawę [1..m] Serwisant Zestaw Podzespół Dokument dostawy opisuje uszkodzenie Dot.[1..m] Monter Magazynier Formularz naprawy Zamówienie podzespołów Projektowanie Systemów Informatycznych 16

Przegląd Metod 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 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) Projektowanie Systemów Informatycznych 17

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 18

Różne perspektywy projektowanego systemu Słownictwo funkcjonalność Usługi, Perspektywa projektowa modelowanie Scalanie systemu Zarządzanie konfiguracją pliki, komponenty Perspektywa implementacyjna Zachowanie Perspektywa Przypadków użycia Struktura Efektywność Skalowalność Przepustowość Aktywność Procesy, Wątki Perspektywa procesowa logiczne fizyczne Perspektywa wdrożeniowa Opracowanie układu Rozmieszczenie Dostarczenie Instalacja Sprzęt Projektowanie Systemów Informatycznych 19

Podstawowe diagramy UML DiagramOpisuStruktury DiagramStruktury DiagramSkładowych DiagramWdrożenia DiagramKlas DiagramObiektów DiagramPakietów DiagramKomponentów DiagramOpisuDynamiki DiagramPrzypadkówUżycia DiagramInterakcji DiagramCzynności DiagramMaszynyStanów DiagramSekwencji DiagramKomunikacji DiagramOpisuInterakcji DiagramNastępstwa Projektowanie Systemów Informatycznych 20

diagramy struktury w UML DiagramOpisuStruktury DiagramStruktury DiagramSkładowych DiagramWdrożenia «instnce» Diagram Składowych «instnce» k:koła{4} S:Silnik Samochód p:podwozie Diagram Wdrożenia DiagramKlas DiagramObiektów DiagramPakietów DiagramKomponentów «instnce» «instnce» «instnce» «instnce» Diagram klas klasa Diagram Obiektów :Obiekt Diagram Pakietów Pojazd Diagram Komponentów Kom klasa związek związek związek klasa :Obiekt :Obiekt :Obiekt Osoby Rej ICzyt ICzyt Ob IPisz Kom Projektowanie Systemów Informatycznych 21

Diagramy w UML Statyczne aspekty (elementy struktury) systemu obrazują: diagram klas, znajdują się na nim klasy, interfejsy, kooperacje i związki między nimi diagram obiektów, przedstawia zrzut pewnych egzemplarzy elementów występujących na diagramie klas diagram komponentów, obrazuje zbiór komponentów i związki między nimi diagram wdrożenia obrazuje zbiór węzłów i związki między nimi Projektowanie Systemów Informatycznych 22

Diagramy w UML Dynamiczne części systemu (zachowanie) obrazuje: diagramów przypadków użycia umożliwia uporządkowanie zachowania systemu diagramów przebiegu kł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ści kładzie nacisk na przepływ sterowania od czynności do czynności Projektowanie Systemów Informatycznych 23

Diagram przypadków użycia (use case) Weryfikacja kart kredytowych R1 Realizacja transakcji kartą R2 Rozliczenie transakcji klienta R3 Komunikacja aktora z przypadkami użycia System weryfikacji kart kredytowych Uzgodnienie transakcji R4 Zrealizuj transakcję kartą Prowadzenie rachunku klienta Klient Rozlicz transakcję Jednostka handlu detalicznego uogólnienia Uzgodnij transakcję Prowadź rachunek klienta Klient indywidualny Klient instytucjonalny Sponsorująca organizacja finansowa Projektowanie Systemów Informatycznych 24

Diagram klas pracownik Dział Nazwa: naz {podzbiór} 1..* 1 Osoba Przedsiębiorstwo 1..* 1..* siedziba ograniczenia kierownik agregacja Dział adres: string telefon: numer Centrala Modelowanie (estetyczne przedstawienie): słownictwa systemu (ściany,podłogi) prostych kooperacji schematu logicznego bazy danych uogólnienie Pracownik Imię Nazwisko Płaca M1 PRACOWNIK A1 An operacje nazwisko: Nazwa stanowisko: string IDzatrud: Integer OdczytDanych() OdczytAdresy() OdtwórzMowe() zależność AdresyKontaktowe adres: string Dział NIP Wynagrodzenie Ustal Płacę Zwolnij Przyjmij interfejs IPoufneInformacje Projektowanie Systemów Informatycznych 205

Diagram Interakcji Modelowanie dynamicznych aspektów systemu Diagram przebiegu Diagram kooperacji K : Klient <<create>> {transient} obiekt : Transakcja K : Klient : PełnomocnikODBC UstalAkcje(a, d, o) Zatwierdzono <<destroy>> NadajWartość(d wiązanie 3:4) 1: <<create>> 2: UstalAkcje(a, d, o) 3: <<destroy>> NadajWartość(a, CO ) komunikat egzemplrz <<global>> : Transakcja : PełnomocnikODBC linia życia {transient} 2.1 : NadajWartość(d 3:4) 2.2 : NadajWartość(a, CO ) Uwypuklają różne aspekty systemu kolejność komunikatów struktura w czasie obiektów wymieniających komunikaty Równoważne lecz każdy z nich może przedstawiać byty, których nie ma na drugim diagramie Projektowanie Systemów Informatycznych 26

Diagram czynności Stan początkowy Wybierz działkę Wynajmij architekta Opracuj plan Stany akcji Zaproponuj cenę robót Rozwidlenie spółbieżne Wykonaj roboty budowlane Wykonaj roboty wykończeniowe Zakończ budowę ProtokółodbioruKońcowego [podpisany] Projektowanie Systemów Informatycznych 27

Diagramy realizacji Program do harmonogramów Program do planowania Interfejs graficzny Diagram komponentów odnosi się do statycznych aspektów perspektywy wdrożeniowej 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 Projektowanie Systemów Informatycznych 28

Diagramy realizacji - diagram wdrożenia System rozproszony : konsola : konsola : konsola : Internet : serwer regionalny Serwery krajowe są połączone ze sobą przez prywatną sieć przedsiębiorstwa : serwer regionalny : serwer regionalny : serwer krajowy : serwer dziennika Projektowanie Systemów Informatycznych 11

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 29

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 30

Projektowanie Systemów Informatycznych KONIEC