PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH 2010/2011 MGR DOROTA MIROWSKA



Podobne dokumenty
koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Projektowanie Systemów Informatycznych 2011/2012

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.

UML. dr inż. Marcin Pietroo

Diagramy sekwencji. wymienianych między nimi

UML w Visual Studio. Michał Ciećwierz

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

Michał Adamczyk. Język UML

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Diagramy klas. WYKŁAD Piotr Ciskowski

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

Diagramy czynności. sekwencyjnych i współbieŝnych. pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów

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

Modelowanie i analiza systemów informatycznych

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

Diagramy czynności. Widok logiczny. Widok fizyczny

Język UML w modelowaniu systemów informatycznych

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Diagram sekwencji. Komunikaty mogą być opisane w sposób sformalizowany. poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista)

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

UML - zarys 2007/2008

Podstawy programowania III WYKŁAD 4

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

Modelowanie obiektowe - Ćw. 3.

Rysunek 1: Przykłady graficznej prezentacji klas.

Inżynieria oprogramowania

Wykład 1 Inżynieria Oprogramowania

Modelowanie obiektowe - Ćw. 6.

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

Modelowanie obiektowe

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

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

Modelowanie i Programowanie Obiektowe

Podstawy języka UML UML

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

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów

Jêzyk UML 2.0 w modelowaniu systemów informatycznych

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

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

Unified Modeling Language

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

Język UML w modelowaniu systemów informatycznych

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

UML. zastosowanie i projektowanie w języku UML

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

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Podstawy modelowania programów Kod przedmiotu

Język UML w modelowaniu systemów informatycznych

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

WPROWADZENIE DO UML-a

Świat rzeczywisty i jego model

Diagramy przypadków użycia

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

Podstawy inżynierii oprogramowania

Faza analizy (modelowania) Faza projektowania

Podstawy języka UML2 w realnych projektach

PRZEWODNIK PO PRZEDMIOCIE

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

TECHNOLOGIE OBIEKTOWE. Wykład 3

Procesowa specyfikacja systemów IT

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

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

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

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

Diagramy klas. dr Jarosław Skaruz

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

Narzędzia CASE dla.net. Łukasz Popiel

Podstawy projektowania systemów komputerowych

Język UML w modelowaniu systemów informatycznych

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Podstawy języka UML2 w realnych projektach

Egzamin / zaliczenie na ocenę*

KARTA MODUŁU KSZTAŁCENIA

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

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

Inżynieria oprogramowania. Jan Magott

Modelowanie i analiza systemów informatycznych

Charakterystyka oprogramowania obiektowego

Modelowanie i analiza systemów informatycznych Spis treści

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Projektowanie interakcji. Jarosław Kuchta

Oprogramowanie o wysokiej jakości to oprogramowanie spełniające następujące kryteria:

Język UML w modelowaniu systemów informatycznych

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Programowanie obiektowe - 1.

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

Diagramy czynności Na podstawie UML 2.0 Tutorial

Projekt systemu informatycznego

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

PRZEWODNIK PO PRZEDMIOCIE

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

Informatyzacja przedsiębiorstw WYKŁAD

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Język programowania. Andrzej Bobyk

Transkrypt:

PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH 2010/2011 MGR DOROTA MIROWSKA

Kontakt E-mail: dmirowska@wne.uw.edu.pl - w tytule proszę wpisać: PSI i nr grupy, do której Student uczęszcza - mail powinien zawierać: imię i nazwisko Studenta Dyżur: piątek 9.45-11.15 s.3 Strona: coin.wne.uw.edu.pl/dmirowska

Projektowanie systemów Dwa podejścia do projektowania systemów: - strukturalne - obiektowe wiele metodyk i notacji z nimi związanych wojny metodologiczne w latach 80-tych Lata 80-te dominacja podejścia strukturalnego problemy unifikacyjne rozwój innych podejść m.in. obiektowego

Podejście obiektowe Lata 90-te - modele obiektowe w centrum zainteresowania twórców i użytkowników systemów jako mogące sprostać wyzwaniom: - gospodarce opartej na wiedzy: e-business, e- health, e-government, e-learning powszechność aplikacji internetowych S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Podejście obiektowe - globalizacja gospodarki integracja systemów informatycznych w telekomunikacji, bankowości, edukacji, transporcie, turystyce; - powszechność i dostępność aplikacji m.in. internetowych dla potrzeb społeczeństwa informacyjnego; - multimedialny charakter aplikacji wykorzystujący dźwięk, głos, grafikę, film. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Podejście obiektowe Cel: tworzenie oprogramowania będącego odbiciem fragmentu rzeczywistości Każdy MO opiera się na pewnych podstawowych pojęciach i kategoriach: - obiekt egzemplarz klasy, każdy byt (rzecz lub pojęcie) - klasa ogólna kategoria obiektów mających te same atrybuty i operacje, J. Schmuller, UML dla każdego, Helion, Gliwice 2003

Podstawowe pojęcia obiektowości - dziedziczenie obiekt dziedziczy atrybuty i operacje swojej klasy, klasa może dziedziczyć od innej klasy, - polimorfizm operacja może w różnych klasach mieć tę samą nazwę i oznaczać w poszczególnych przypadkach inne działanie, - komunikat żądanie wykonania operacji przez współpracujące ze sobą obiekty, - J. Schmuller, UML dla każdego, Helion, Gliwice 2003

Podstawowe pojęcia obiektowości - hermetyzacja różnicowanie dostępu do obiektu; obiekt ukrywa to co robi przed innymi obiektami i światem zewnętrznym, - interfejs twarz obiektu konieczna by zainicjować operację; ma go każdy obiekt, pozwala innym obiektom lub ludziom wykonywać jego określone operacje. J. Schmuller, UML dla każdego, Helion, Gliwice 2003

Obiektowość jest podstawą teoretyczną UML, pomaga w tworzeniu programów przez rozpoczynanie od poznawania składowych systemu tworzenie klas i następnie rozbudowywanie go.

Co to jest UML? Unified Modeling Language Zunifikowany Język Modelowania to: graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania składników systemów informatycznych (def. OMG) rozwój metod i analizy projektowania obiektowego na przełomie lat 80 i 90 spory nad standaryzacją metod, 1995 r. pierwsza wersja UML G. Booch, I. Jacobson, J. Rumbaugh,

Historia UML 1996 r. - Konsorcjum UML (HP, IBM, Microsoft, Oracle) -> UML 1.0, 1997 r. Object Management Group zajmuje się rozwojem UML, 1.1, 1.2, 1.3, 1.4, 1.4.2, 1.5, 2005 r. 2.0, 2009 r. najnowsza wersja 2.2.

UML pozwala pośredniczyć między tym, co przeciętny człowiek rozumie przez działanie programu a jego fizyczną realizacją w postaci kodu, jest graficzną reprezentacją tworzonego systemu, składającą się z logicznie powiązanych ze sobą diagramów, jest czymś w rodzaju zapisu nutowego dla muzyków, czy matematycznych symboli dla wszystkich ludzi. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Do czego to potrzebne? mając zmodelowany system, łatwiej i szybciej można go zaprogramować ułatwienie pracy programistów, system zrozumiały np. dla programisty, który go nie tworzył a chce wprowadzić modyfikacje bez modelu musi przejrzeć wszystkie źródła oszczędność czasu oszczędność pieniędzy

Do czego to potrzebne? Dzięki UML modele są zrozumiałe dla klientów, zleceniodawców, analityków, programistów, użytkowników; kody zazwyczaj tylko dla programistów. Modele powinny być ciągle unowocześniane wraz z rozwojem firmy i systemu.

Model i diagram Model abstrakcja zawierająca wszystkie elementy potrzebne do opisania modelowanego zjawiska lub zagadnienia. Diagram sposób obserwacji zjawiska; sposób patrzenia na część lub całość modelu; zbiór bytów. Element modelowania pojawiający się tylko raz w modelu może pojawić się na kilku diagramach. R.A. Maksimchuk, E.J. Nalburg, UML dla zwykłych śmiertelników, Mikom, Warszawa 2007

Rodzaje diagramów Diagramy struktury odnoszą się do statycznej struktury elementów w systemie - diagram klas, - diagram pakietów, - diagram komponentów, - diagram wdrożeniowy, - diagram struktur połączonych.

Rodzaje diagramów Diagramy zachowań odnoszą się do dynamicznego zachowania elementów w systemie - diagram przypadków użycia, - diagram stanów, - diagram czynności (aktywności).

Rodzaje diagramów Diagramy interakcji są częścią diagramów zachowań - diagramy sekwencji, - diagramy kooperacji (współdziałania, komunikacji), - diagram przebiegów czasowych.

Perspektywy Scenariuszy: funkcjonalność systemu z perspektywy zewnętrznej d. przypadków użycia Logiczna: modelowanie poszczególnych części systemu i sposób współpracy między nimi d. klas, pakietów, interakcji, maszyny stanowej Konstrukcji: organizacja części systemu w moduły i komponenty d. pakietów i komponentów Procesów: wizualizacja przypadków, które muszą zajść w systemie d. czynności Fizyczna: jak jest wdrażany system d. wdrożenia

Narzędzia CASE CASE: Computer-Aided-Software/System- Engineering to: narzędzia wspierające wytwarzanie i utrzymywanie oprogramowania Częściej narzędzia wspierające, obejmujące wspomaganie specyfikacji wymagań, analizę, projektowanie i implementację systemów. Definicje z: S. Szejko (red.), Metody wytwarzania oprogramowania, Mikom, Warszawa 2002

Rodzaje narzędzi CASE narzędzia wspomagające weryfikację, walidację i testowanie, narzędzia wspomagające zarządzanie projektami, wspomagające zarządzanie konfiguracją oprogramowania, wspomagające metodologie obiektowe, itd. S. Szejko (red.), Metody wytwarzania oprogramowania, Mikom, Warszawa 2002

Zalety narzędzi CASE Narzędzia CASE wspomagające proces tworzenia systemu prowadzą m.in. do: - redukcji czasu i kosztów, - wyższej jakości systemu, - zapewnienia semantycznej poprawności diagramów i modelu, - niektóre pozwalają na automatyczne generowanie szkieletowego kodu źródłowego, - pozwalają na generowanie dokumentacji. S. Szejko (red.), Metody wytwarzania oprogramowania, Mikom, Warszawa 2002

Narzędzia CASE dla użytkowników UML ArgoUML, Enterprise Architect, Objecteering, IBM Rational Rose, Poseidon for UML, Borland Together, StarUML inne

Uwaga! nie wszystkie programy obsługują wszystkie wersje UML, nie wszystkie programy pozwalają na generowanie kodu w preferowanym przez nas języku. Można sprawdzić na stronie: http://www.oose.de/service/umlwerkzeuge.html

Diagramy przypadków użycia przedstawiają wykorzystanie systemu widziane z perspektywy zewnętrznej (aktorów) np. użytkowników lub systemów zewnętrznych, pokazują funkcjonalność systemu i jego interakcje ze światem zewnętrznym, opisują co robi system z punktu widzenia zewnętrznego obserwatora, przedstawiają co robi system, nie jak to robi ani z jakich zasobów systemowych korzysta, S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Przypadek użycia pojedyncze zadanie lub cel, specyfikacja ciągu akcji, które system może wykonać przez interakcje z aktorami, nazwa PU polecenie wykonania funkcji w systemie sformułowane w trybie rozkazującym, np.: Dokonaj rezerwacji, S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Aktor zbiór ról odgrywanych przez użytkowników PU w trakcie interakcji z tym PU, może być osobowy lub nieosobowy, odzwierciedla role pełnione przez obiekty będące instancją klasy, może inicjować PU, użytkować realizowane przez PU funkcjonalności, dostarczać dane nazwa aktora rzeczownik lub wyrażenie rzeczownikowe w l.poj., np. Dział sprzedaży, Termin płatności, Bank, Recepcjonista S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Zależności między elementami DPU Aktor może użytkować jeden lub więcej PU. Jeden PU może być użytkowany przez więcej niż jednego aktora. Każdy aktor musi być bezpośrednio powiązany z co najmniej jednym PU i każdy PU z co najmniej jednym PU. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005 Związki Przypadki użycia integruje się za pomocą związków: asocjacji, uogólnienia, zależności, realizacji.

Dokumentacja i scenariusze scenariusz określony ciąg akcji dokumentujący zachowanie, scenariusze główne i alternatywne, precyzyjny opis funkcjonalności przypadku użycia dzięki scenariuszom głównym i alternatywnym S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Funkcje DPU identyfikacją oraz dokumentacja wymagań, analiza dziedziny przedmiotowej, opracowanie projektu przyszłego systemu, zrozumiała platforma komunikacji, kontrakt co do zakresu i funkcjonalności systemu, podstawa testowania funkcji systemu na dalszych etapach. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Etapy tworzenia DPU 1. Identyfikacja aktorów, 2. Identyfikacja przypadków użycia, 3. Opracowanie związków, 4. Dokumentacja przypadków użycia. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Modelowanie architektury Architektura sposób organizacji i integracji komponentów komputera lub systemu komputerowego. Architektura systemu - pokazuje jak powinien wyglądać system, by spełniał biznesowe potrzeby przedsiębiorstwa. a) logiczna b) fizyczna R.A. Maksimchuk, E.J. Nalburg, UML dla zwykłych śmiertelników, Mikom, Warszawa 2007

Architektura logiczna część architektury, która nie zależy od stosowanej technologii, jest interpretacją tego jak powinna wyglądać architektura, nie pokazuje sposobu implementowania oprogramowania, jest metodą jego opisu. R.A. Maksimchuk, E.J. Nalburg, UML dla zwykłych śmiertelników, Mikom, Warszawa 2007

Diagramy klas służą projektowaniu architektury logicznej, opisuje typy obiektów (elementów dziedziny przedmiotowe) w systemie i rodzaje statycznych relacji, które między nimi zachodzą

Obiekt i klasa obiekt jest instancją (wystąpieniem) klasy, klasa uogólnienie zbioru obiektów mających takie same atrybuty i operacje, znaczenie i związki, klasa zawiera zestaw informacji istotnych z punktu widzenia kontekstu systemu. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Atrybuty i operacje wszystko co wiadomo o obiekcie jest opisane przez wartości jego atrybutów, a jego zachowanie w operacjach określających usługi, które oferuje, zainicjowanie operacji prowadzi do użytkowania/modyfikacji danych reprezentowanych przez wartości atrybutów. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Widoczność różne wymagania względem dostępu do operacji i atrybutów klas, możliwość pełniej ochrony danych czy ograniczenia dostępu do nich poziomy widoczności: publiczny, prywatny, chroniony, pakietowy reguła: atrybuty prywatne, operacje publiczne S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Asocjacje i klasy asocjacyjne asocjacje: nazwy, role, nawigacja, liczebność klasa asocjacyjna pozwala na opisanie asocjacji w postaci klasy, każda asocjacja może mieć tylko jedną klasę asocjacyjną, przykład: towar i nabywca, klasa asocjacyjna transakcja określa stosunek między towarem i nabywcą. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Zależności zależności niezależna (docelowa) klasa wykorzystuje klasę zależną (źródłową); jeśli zmieni się docelowa, to zmieni się źródłowa; jeśli zmieni się źródłowa, to docelowa nie zmieni się, np.: Dostawa - - -> Towar S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Agregacja związek całość-część między klasami a) całkowita obiekty segmenty nie mogą samodzielnie funkcjonować bez agregatu (całości), wypełniony romb b) częściowa usunięcie agregatu nie powoduje usunięcia segmentów, pusty romb S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Interfejsy i realizacje jedna strona związku wskazuje na klasyfikator określający kontrakt, a druga wywiązanie się z niego, związek między interfejsem i klasą, interfejs - zestaw operacji, które określają pewien aspekt zachowania klasy i związany z tym zbiór operacji, które klasa udostępnia innym klasom, interfejs jest zbiorem operacji wykonywanych przez klasę, J. Schmuller, UML dla każdego, Helion, Gliwice 2003

Interfejsy i realizacje klasa jest związana z interfejsem poprzez realizację oznaczaną linią przerywaną z niewypełnionym grotem wskazującym na interfejs. Klasa realizuje zachowania interfejsu. J. Schmuller, UML dla każdego, Helion, Gliwice 2003

Uogólnienie i klasy abstrakcyjne klasa abstrakcyjna nie ma konkretnych instancji obiektów, stanowi uogólnienie konkretnych obiektów znajdujących się na niższych poziomach hierarchii, nazwy klas abstrakcyjnych piszemy kursywą, klasy potomkowie dziedziczą atrybuty i operacje klas przodków S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Proces tworzenia diagramu klas 1. Identyfikacja i nazwanie klas 2. Połączenie z wykorzystaniem asocjacji 3. Identyfikacja i nazwanie atrybutów i operacji 4. Wyspecyfikowanie asocjacji 5. Opracowanie innych związków 6. Opcjonalnie: opracowanie diagramów obiektów S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy systemowe o dużej liczbie równoległych czynności i sytuacji decyzyjnych, - operacje, - algorytmy. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Podstawowe pojęcia czynność - określone zachowanie złożone z logicznie uporządkowanych ciągów podczynności, przepływ sterowania relacja między dwoma czynnościami, wskazująca, że po wykonaniu źródłowej sterowanie zostaje przekazane do docelowej, początek punkt rozpoczęcia przepływu sterowania i danych inicjujący funkcjonowanie diagramu czynności, S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Podstawowe pojęcia koniec punkt zatrzymania przepływów sterowania na diagramie czynności, zakończenie przepływu punkt zatrzymania wybranego przepływu sterowania, pokazuje zatrzymanie sekwencji czynności przed jej całkowitym, zaplanowanym zrealizowaniem S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Przepływy decyzyjne rzadko czynności uporządkowane są w sposób sekwencyjny, wiele przepływów alternatywnych, uzależnionych od spełnienia warunków czy wykonania iteracji, bloki decyzyjne mające charakter decyzji lub złączenia lub integracji decyzji i złączenia S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Decyzja Wyjście stanowią dwa lub więcej przepływów sterowania, z których tylko jeden może zostać zrealizowany. Wybór jednego z przepływów determinowany jest przez wynik warunku, umieszczonego w nawiasie kwadratowym; warunki muszą się wzajemnie wykluczać. Jeden z przepływów można oznaczyć else ; przepływ ten zostanie zrealizowany tylko w przypadku gdy warunki dla wszystkich innych przepływów dotyczących danej decyzji nie zostaną spełnione. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Złączenie zawiera szereg przepływów wejściowych i jeden wyjściowy, nie ma charakteru synchronizacyjnego każdy przepływ będący wejściem do złączenia pociąga za sobą wykonanie wyjściowego przepływu sterowania, można specyfikować decyzję i złączenie alternatywnych przepływów w ramach jednego bloku decyzyjnego. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Przepływy współbieżne przybierają postać rozwidlenia lub scalenia, rozwidlenie jeden wejściowy przepływ oraz co najmniej dwa wyjściowe, scalenie przekazanie sterowania z wielu przepływów wejściowych do jednego wyjściowego, w punkcie scalenia równoległe procesy ulegają synchronizacji. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Partycje/Tory Istnieje możliwość uwzględnienia miejsca realizacji czynności czy wskazanie instancji klasyfikatora odpowiedzialnej za jej funkcjonowanie. zmiana układu graficznego wprowadzenie torów, tor mechanizm grupowania elementów diagramu czynności powiązanych przepływami sterowania i przepływami danych, pełniących określoną, wspólną rolę na diagramie, wyznaczany w postaci pionowego lub poziomego toru, w którym pomiędzy dwoma liniami występują poszczególne elementy. Każdy tor jest jednoznacznie identyfikowany przez swoją nazwę. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Obszar przerwania grupa czynności, w obrębie której w wyniku działania przepływu przerwania realizacja wszystkich czynności jest bezzwłocznie przerwana, początek przepływu przerwania zaczyna się w obrębie obszaru a koniec poza nim, graficzna postać - czynność z krawędziami w postaci linii przerywanych, przepływ przerwania błyskawica. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Sygnał asynchroniczny bodziec inicjujący czynność lub akcję; w ciągu czynności może zdarzyć się wysłanie sygnału, przyjęcie sygnału powoduje wykonanie czynności, symbolem wysyłania jest pięciokąt wypukły a otrzymania pięciokąt wklęsły. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Przepływ danych niektóre czynności są wykonywane z udziałem obiektów, można to pokazać wprowadzając przepływ danych pomiędzy danym obiektem a czynnościami mającymi wpływ na ten obiekt. Kiedy to robimy? Gdy: wskazujemy odpowiedzialność obiektu, zmieniany jest stan obiektu, obrazowany jest przepływ obiektu. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Diagramy czynności rozbudowane schematy blokowe pozwalają stosować procesy współbieżne, dobre narzędzie do modelowania przepływu zadań i programowania wielowątkowego, obrazują kolejne kroki operacji i procesów biznesowych, nie pokazują związków między obiektami a czynnościami -> diagramy interakcji S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Diagramy maszyny stanowej obiekty w systemie zmieniają swoje stany w odpowiedzi na zdarzenia lub wraz z upływem czasu, pokazują zachowanie się obiektów w zakresie jednego lub kilku przypadków użycia maszyna stanowa zachowania zachowanie systemu, nie pojedynczego obiektu protokołowa maszyna stanowa - pozwala na prześledzenie zachowania się obiektu w jednym lub kilku przypadków użycia, czyli jego stanów i przejść między nimi. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Protokołowa maszyna stanowa Nie przedstawia się operacji, które nie generują przejścia obiektu w inny stan (nie ma wewnętrznych czynności stanów) Przedstawia się tylko operacje dotyczące przejść między stanami Składnia przejścia: [warunek wstępny] nazwa operacji / [warunek końcowy]

Maszyna stanowa zachowania Pokazuje przejścia między stanami obiektów w kontekście zachowania systemu Składnia przejścia: zdarzenie [warunek] / czynność Zdarzenie (bodźce wysyłane przez inne obiekty) inicjuje przejście Warunek przejście może zostać zrealizowane tylko po jego spełnieniu Czynność czynność wykonywana w czasie przejścia

Stany stan okoliczność lub sytuacja, w jakiej się obiekt/system znajduje, sekcja nazwy, sekcja czynności wewnętrznych czynności wykonywane w trakcie przyjmowania określonego stanu, rodzaje czynności wewnętrznych: entry, exit, do. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Rodzaje stanów proste nie zawiera podstanów ani obszarów współbieżnych, złożone albo zawiera podstan albo jest podzielony na dwa lub więcej obszarów współbieżnych, podstany: sekwencyjne albo współbieżne. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Podstany sekwencyjne, współbieżne niektóre ze stanów są aktywowane współbieżnie, obszary współbieżne znajdują się w nich podstany i przejścia między nimi; poziome części stanu złożonego; wszystkie muszą być wykonane aby stan mógł być zakończone S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Przejścia relacja między dwoma stanami, etykieta przejścia: zdarzenie [dozór] / akcja, jeśli nie ma zdarzenia, to dochodzi do przejścia w kolejny stan zaraz po zakończeniu poprzedniego stanu, dozór to warunek, który musi zostać spełniony jeśli ma zajść określone przejście; z danego stanu można wybrać tylko jedno przejście więc warunki powinny się wykluczać (lub zastosowanie bloku decyzyjnego) S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Przejścia zdarzenia zewnętrzne, zdarzenie czasowe np. after (3 sek.), zdarzenie zmiany stanu np. when ( ) S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Diagramy maszyny stanowej pokazują jakie zachowania występują w systemie, nie pokazują dynamicznych szczegółów zachowań, dzięki nim nie trzeba zgadywać, co obiekt powinien robić, tylko dla ciekawych klas, gdy chcemy lepiej zrozumieć co się dzieje. S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Modelowanie analityczne model analityczny etap pośredni między wymaganiami a projektem, pozwala na dekompozycję niebanalnych przypadków użycia, sprecyzowanie środowiska, w którym system będzie pracował zasada uproszczonego modelowania pominięcie środowiska programistycznego, tylko wymagania funkcjonalne

Klasy analityczne w realizacji przypadków użycia biorą udział klasy: boundary control entity graniczna sterująca przechowująca

Klasy analityczne w każdej relacji aktora z systemem pośredniczy obiekt klasy boundary na jeden przypadek użycia przypada jedna klasa sterująca

Kolejność 1. diagram przypadków użycia 2. diagram klas analitycznych 3. diagram sekwencji na klasach analitycznych

Dozwolone połączenia Może łączyć się z Aktor Graniczna Sterująca Przechowująca Aktor - + - - Graniczna + - + - Sterująca - + + + Przechowująca - - + -

Diagramy interakcji interakcja wymiana bodźców, impulsów i komunikatów między instancjami klasyfikatorów w systemie, zazwyczaj dotyczą jednego przypadku użycia, pokazują jak współpracują ze sobą obiekty w systemie, zawierają obiekty i wymieniane komunikaty, diagramy sekwencji i komunikacji S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Diagramy sekwencji pokazuje interakcje między obiektami w postaci sekwencji komunikatów, które między sobą wymieniają, wyznaczone zostają miejsce i kolejność wykonania operacji S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Rodzaje diagramów sekwencji konceptualny szybkie i ogólne naszkicowanie zakresu i zawartości i interakcji; implementacyjny wyższy poziom precyzji, obejmuje przepływy główne i alternatywne, przekazywane programistom jako dokumentację projektową; wystąpieniowy wystąpienie diagramu w odniesieniu do konkretnego scenariusza S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Podstawowe elementy obiekt, linia życia powiązana z konkretnym obiektem, pokazuje długość życia tego obiektu, komunikat specyfikacja wymiany informacji między obiektami, zawierająca polecenie wykonania określonej operacji, umieszcza się je pomiędzy liniami życia S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Komunikaty porządkowane są według kolejności ich występowania, im później występuje wysłanie komunikatu, tym niżej umieszczony jest na diagramie, można je numerować, można wysyłać komunikaty to obiektów nie znajdujących się w bezpośrednim sąsiedztwie z nadawcą S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Komunikaty linia życia reprezentuje okres życia obiektu, w niektórych momentach życia obiekt jest w stanie czuwania, a w innych jest aktywowany poprzez komunikaty, przejmując sterowanie interakcją i podejmując zlecone działania, po wykonaniu zleconych operacji i wysłaniu komunikatów wynikowych obiekt przechodzi z powrotem w stan czuwania S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Ośrodek sterowania ośrodek sterowania specyfikacja wykonywania czynności w ramach interakcji; przyjmuje postać prostokąta na linii życia obiektu, inicjowany aktywacją a przejście w stan czuwania dezaktywacją, na jednej linii życia może być kilka niezależnych ośrodków sterowania S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Rodzaje komunikatów komunikaty mogą różnić się pod względem funkcjonalności, specyfika rodzajów komunikatów wyrażana jest graficznie komunikaty kompletne znany jest nadawca i odbiorca komunikaty niekompletne jedna z instancji nie jest znana S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Komunikaty kompletne synchroniczny, asynchroniczny, zwrotny nie należy go nadużywać, opcjonalny, oczekujący S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Komunikaty niekompletne utracony odbiorca jest nieznany; stosowany w modelowaniu złożonych interakcji na wczesnych etapach kiedy nie można jednoznacznie określić odbiorcy komunikatu przesyłanego między fragmentami interakcji, znaleziony nadawca jest nieznany; wysyłany spoza danego diagramu (impuls typu dym, hałas, ogień) S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Tworzenie i niszczenie poszczególne instancje mogą za pośrednictwem operacji tworzyć i niszczyć obiekty, obiekt utworzony w wyniku przesłania komunikatu <<create>> i umieszczane poniżej pierwotnie istniejących obiektów, obiekt zniszczony wraz z odebraniem komunikatu <<destroy>> oraz oznaczony zdarzeniem niszczącym X S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Samowywołanie oznacza sytuację, w której dana instancja wywołuje własną operację; zagnieżdżenie określa logicznie powiązany ciąg komunikatów wywołujących się wzajemnie w ustalonej kolejności S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Fragment wyodrębniony wyodrębniony obszar interakcji charakteryzujący się specyficznymi właściwościami określonymi przez operator interakcji, umożliwia bardziej precyzyjne pokazanie istoty interakcji, obramowanie z nagłówkiem, składa się z jednego lub wielu operandów interakcji S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Operatory interakcji alt alternatywa, opt opcja, loop pętla, par współbieżność, assert formuła, strict ścisłe uporządkowanie, seq słabe uporządkowanie, neg funkcjonalność nieprawidłowa

Operandy operandy interakcji subfragmenty fragmentu wyodrębnionego, oddzielone seperatorami, fragment wyodrębniony składa się z jednego lub wielu operandów interakcji, opt, loop, neg tylko jeden operand, alt może być wiele, ale realizowany tylko jeden w zależności od spełnienia warunku, alt, opt warunek w obszarze operandu par wszystkie operandy wykonywane jednocześnie, S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Diagram komunikacji (kooperacji/kolaboracji) Diagram sekwencji przebieg interakcji w czasie; uporządkowanie w czasie Diagram komunikacji otoczenie i organizacja obiektów biorących udział w interakcji; uporządkowanie w przestrzeni jest rozszerzeniem diagramu obiektów, poza asocjacjami między obiektami pokazuje również wymieniane między nimi komunikaty J. Schmuller, UML dla każdego, Helion, Gliwice 2003

Diagramy komunikacji diagramy komunikacji i diagramy sekwencji są izomorficzne, to znaczy jednoznacznie wzajemnie przekształcalne S. Wrycza, B. Marcinkowski, K. Wyrzykowski, Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005

Komunikaty strzałki umieszczane nad liniami powiązań zwrócone w stronę odbiorcy komunikatu, muszą być numerowane, musi być wskazany rodzaj komunikatu

Źródła Fowler M., Scott K., UML w kropelce, LTP, Warszawa, 2002, Maksimchuk R.A., Naiburg E.J., UML dla zwykłych śmiertelników, Mikom, Warszawa, 2007, Szejko S. (red.), Metody wytwarzania oprogramowania, Mikom, Warszawa, 2002, Schmuller J., UML dla każdego, Helion, Gliwice, 2003, Wrycza S., Marcinkowski B., Wyrzykowski K., Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Warszawa 2005.