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

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

Michał Adamczyk. Język UML

UML w Visual Studio. Michał Ciećwierz

Podstawy programowania III WYKŁAD 4

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

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

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

Unified Modeling Language

Język UML w modelowaniu systemów informatycznych

Podstawy inżynierii oprogramowania

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

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

Rysunek 1: Przykłady graficznej prezentacji klas.

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

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

Wykład 1 Inżynieria Oprogramowania

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

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

Podstawy projektowania systemów komputerowych

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

Modelowanie obiektowe - Ćw. 3.

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

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

Diagramy klas. WYKŁAD Piotr Ciskowski

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

Faza analizy (modelowania) Faza projektowania

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

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

Modelowanie i analiza systemów informatycznych

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

Modelowanie obiektowe

UML. dr inż. Marcin Pietroo

Język UML w modelowaniu systemów informatycznych

Diagramy czynności. Widok logiczny. Widok fizyczny

Opis. Liczba godzin zajęć dydaktycznych z

Diagramy przypadków użycia

Komunikacja i wymiana danych

Diagram przypadków użycia

Modelowanie i Programowanie Obiektowe

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Modelowanie i analiza systemów informatycznych.

Diagramy UML, przykład problemu kolizji

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

Język UML w modelowaniu systemów informatycznych

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

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

TECHNOLOGIE OBIEKTOWE. Wykład 3

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Wprowadzenie do UML, przykład użycia kolizja

Podstawy modelowania programów Kod przedmiotu

Podstawy języka UML UML

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

STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

Modelowanie i analiza systemów informatycznych Spis treści

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

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

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

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

Diagramy przypadków uŝycia. związków między nimi

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Świat rzeczywisty i jego model

Projektowanie logiki aplikacji

MODELOWANIE STRUKTURY

Spis treści. Część I Diagramy języka UML Wstęp 7. Rozdział 1. Studia przypadków 13. Rozdział 2. Diagramy przypadków użycia 29

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

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Technologie obiektowe

DIAGRAMY IMPLEMENTACYJNE

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

Modelowanie obiektowe - Ćw. 6.

Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

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

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Zasady organizacji projektów informatycznych

Inżynieria Programowania - Projektowanie architektoniczne

Programowanie współbieżne i rozproszone

Inżynierski Projekt Zespołowy

Modelowanie danych, projektowanie systemu informatycznego

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

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Język UML w modelowaniu systemów informatycznych

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Procesowa specyfikacja systemów IT

Wprowadzenie do programowania aplikacji mobilnych

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

problem w określonym kontekście siły istotę jego rozwiązania

Jarosław Żeliński analityk biznesowy, projektant systemów

Wykład I. Wprowadzenie do baz danych

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Analiza i projektowanie aplikacji Java

Język UML w modelowaniu systemów informatycznych

Narzędzia CASE dla.net. Łukasz Popiel

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Transkrypt:

45. UML, jego struktura i przeznaczenie. Przeznaczenie UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. Pozwala obrazować, specyfikować, tworzyć i dokumentować elementy systemu, takie jak jego funkcje, typy użytkowników i ich zachowania, procesy biznesowe, schematy bazy danych, obiekty, komponenty systemu. Wysoki poziom abstrakcji gwarantuje całkowitą niezależność od platformy i języka programowania projektu. Ułatwia wymianę informacji pomiędzy przyszłymi użytkownikami systemu, menadżerami, analitykami, projektantami, programistami i testerami UML jest jedynie językiem modelowania używanym w procesie analizy i projektowania systemów komputerowych, nie jest językiem programowania, nie pozwala też na zdefiniowanie procesu wytwarzania oprogramowania. Zakres zastosowania: tworzenie systemów informacyjnych przedsiębiorstw, usługi bankowe i finansowe, telekomunikacja, transport, przemysł obronny i lotniczy, sprzedaż detaliczna, elektronika i medycyna, rozproszone usługi internetowe Struktura Najnowsza wersja to wersja 2.2 UML składa się z pewnych elementów graficznych, i słów kluczowych powiązanych ze sobą w diagramy, które pokazują modele rzeczywistości, które później zostaną oprogramowane. Diagram to uproszczona reprezentacja graficzna pewnych pomysłów, idei, konstrukcji, zależności, danych statystycznych. 1

Rodzaje diagramów: Diagramy strukturalne Diagramy dynamiki Diagram klas Diagram obiektów Diagram pakietów Diagramy wdrożeniowe: (rodzaje: diagram komponentów, diagram rozlokowania). Diagram struktur połączonych Diagram czynności Diagram przypadków użycia Diagram maszyny stanowej Diagram interakcji (rodzaje: diagram sekwencji, komunikacji, diagram sterowania interakcją, diagram harmonogramowania) Diagram profili Diagram klas Przedstawia strukturę systemu w modelach obiektowych przez ilustrację struktury klas i zależności między nimi. Pola i notacja: Nazwa klasy. Sposób zapisu nazwy - NazwaKlasy, Nazwa. Atrybutów. Sposób zapisu: [dostępność] nazwaatrybutu/nazwa/nazwakolejnegoatrybutu [: typ][liczebność][ = wart_poczatkowa][właściwość]. 2

Właściwość: changeable bez ograniczeń addonly gdy liczebność jest większa niż jeden, można dodawać nowe wartości, ale raz dodane nie mogą być zmieniane readonly, frozen nie ma możliwości zmiany. Np.: # suma: Integer[0..*] = 750{changeable}. Metod. Sposób zapisu: [dostępność] nazwa()/nazwametody()/nazwakolejnejmetody()[(lista_parametrów)][ : typ_wartosci_zwracanej][właściwość] Właściwość: leaf funkcja niepolimorfliczna (nie może być nadpisana) isquerry funkcja nie zmieniająca obiektu sequential, guarded, concurrent mają zastosowania przy operacjach współbieżnych Np.: + obliczplatnosc(pozycja :Byte = 50, obnizka :Boolean) : Long publiczna metoda obliczplatnosc typu Long, zawiera atrybuty pozycja typu Byte o wartości początkowej 50 oraz obnizka typu Boolean. Dostępność: + publiczna - prywatna # chroniona ~ zakres pakietu Obowiązkowe jest jedynie pole nazwy klasy. Jeśli już zdecydujemy się na pola atrybutów i metod to obowiązkową pozycją są jedynie ich nazwy, reszta jest opcjonalna. Dwie lub więcej klas może być połączonych ze sobą w związki zwane asocjacjami, opisującymi powiązania między klasami: a) asocjacja binarna: 3

b) asocjacja n-arna: Diagram obiektów Przedstawia egzemplarze elementów z diagramu klas odwzorowujące strukturę systemu w wybranym momencie jego działania. Stosuje się go np. wtedy, gdy diagram klas jest bardzo skomplikowany. Diagram pakietów W miarę wzrostu wielkości modelowanego systemu, rośnie liczba wykorzystywanych elementów (klas, interfejsów, komponentów...). Można grupować modelowane byty w pakietach powiązanych znaczeniowo. Składnikami pakietu mogą być różne elementy, przykładowo klasy, interfejsy, operacje, przypadki użycia, diagramy, inne pakiety, komponenty itd., lecz najczęściej są to klasy. 4

Diagram komponentów Komponent, to hermetyczny, wymienny, wykonywalny fragment systemu, realizujący określone jego usługi, za pośrednictwem interfejsów. Komponent reprezentuje jeden fizyczny moduł kodu. Często jest to jeden pakiet, ale nie zawsze istnieje taka jednoznaczna odpowiedniość. Komponenty z natury służą do ponownego wykorzystania poprzez połączenie ich z innymi komponentami, zwykle poprzez ich skonfigurowanie, bez potrzeby rekompilacji. Interfejs zestaw operacji, które wyznaczają usługi oferowane przez klasę lub komponent. Interfejsy udostępniające przez które komponenty oferują swoje usługi (IRaporty, IPrzelewy, IListaPłac) Interfejsy pozyskujące przez które komponenty korzystają z usług innych komponentów (IGodzinyWykonane, IPracownik). Powyżej komponent Płace.exe, będący częścią większego systemu księgowego, umożliwiające rozliczanie płac. Pozyskuje od innych komponentów informacje o przepracowanych godzinach i danych pracowników a umożliwia tworzenie raportów, list płac i zlecanie przelewów. 5

W UML zdefiniowane są następujące stereotypy komponentów: executable - określa komponent, który można wykonać na węźle; library - określa dynamiczną lub statyczną bibliotekę obiektów; table - określa komponent reprezentujący tabelę bazy danych; subsystem - podsystemy service komponent przetwarzający Diagram rozlokowania Po wykonaniu w języku UML logicznej specyfikacji systemu niezbędne jest udokumentowanie jego fizycznego rozlokowania. Diagramy wdrożenia przedstawiają powiązania między oprogramowaniem (artefaktami) i sprzętem (węzłami). Dzięki diagramom rozlokowania język UML pozwala na wyspecyfikowanie rozmieszczenia modułów użytkowanej aplikacji (artefaktów) na poszczególnych węzłach. Stronę sprzętową reprezentują węzły, czyli poszczególne urządzenia obliczeniowe, komunikacyjne i przechowujące, powiązane ścieżkami komunikacyjnymi (serwery, urządzenia wejścia-wyjścia takie jak drukarki czy monitory, routery, bramy, switche i inne urządzenia sieciowe). Artefakty: pakiety oprogramowania, bazy danych, arkusze kalkulacyjne, skrypty. 6

Diagram struktur połączonych Diagram struktur połączonych pokazuje związki istniejące pomiędzy częściami systemu, które współpracując dostarczają pewnej funkcjonalności. Na poniższym rysunku wspomnianą funkcjonalnością jest możliwość licytacji towarów na portalu aukcyjnym: Diagram konceptualny: W praktyce w systemie: Rolę Lictującego spełnia obiekt klasy Kupujący, rolę Oferującego obiekt klasy Sprzedający, rolę ListyAsortymentu interfejs IOfertaAukcji Diagram implementacyjny: 7

Diagram czynności Diagram czynności to graficzne przedstawienie sekwencyjnych i/lub współbieżnych przepływów sterowania pomiędzy ciągami akcji bądź obiektów składających się na wykonanie pewnej czynności. Pokazują aktywności bez pokazywania bytów, realizujących daną aktywność. Diagramy czynności umożliwiają określenie tego, w jaki sposób system będzie osiągał zamierzony cel, czyli wykonywał daną czynność: jakie będzie wykonywał akcje i jak te akcje są ze sobą połączone. Czynność rodzaj zachowania systemu, składający się z przynajmniej jednej akcji. Akcja pojedyncza, niepodzielna operacja. Na powyższym rysunku czynnością jest Przetwarzanie sprzedaży a akcjami Pobranie opłaty i Wysyłka. Diagram przypadków użycia Określają wymagania funkcjonalne danego systemu oraz sposób komunikowania się użytkowników i klientów (tzw. aktorów) z systemem. Przypadek użycia to specyfikacja ciągu akcji i ich wariantów, które system (lub inna jednostka), może wykonać poprzez interakcje z aktorami tego systemu. Aktor jest to spójny zbiór ról odgrywanych przez użytkowników danego przypadku użycia w czasie interakcji z tym przypadkiem użycia. Mogą być osobowi (osoba, zespół, dział, instytucja) bądź nieosobowi (np. inny system, czas, urządzenia). Aktorzy i przypadki użycia połączeni są ze sobą związkiem zwanym asocjacją, który opisuje powiązania między nimi. Przedstawiają usługi świadczone aktorom bez skazywania konkretnych rozwiązań technicznych. 8

Diagram przypadków użycia systemu obsługi hurtowni: Diagram maszyny stanowej Maszyna stanowa to zachowanie określające sekwencję stanów, przez które przechodzi dany obiekt w odpowiedzi na dane zachowania. Diagram maszyny stanowej przedstawia skokowo takie stany i przejścia między nimi. 9

Diagram sekwencji Diagramy sekwencji - opisują interakcje pomiędzy częściami systemu w postaci sekwencji komunikatów wymienianych między nimi. Sprawdzanie stanu konta za pośrednictwem bankomatu: Diagram komunikacji Diagram komunikacji również przedstawia sposób wymiany komunikatów pomiędzy obiektami uczestniczącymi w interakcji. Diagramy sekwencji pokazywały sekwencję komunikatów wymienianych między obiektami, umieszczoną w odpowiedniej kolejności na osi czasu, diagramy komunikacji pokazują zaś jak te obiekty są połączone (co może pomóc zrozumieć interakcje), dlatego, by pokazać ich kolejność, konieczne jest numerowanie. 10

Diagram sterowania interakcją Diagramy sterowania interakcją udostępniają wysokiego poziomu widok wzajemnej współpracy kilku interakcji wykorzystywanych w celu implementacji pewnej części systemu, na przykład danego przypadku użycia. Diagramy sekwencji, komunikacji oraz harmonogramowania koncentrują się na określonych szczegółach związanych z komunikatami, które tworzą interakcję. Natomiast diagramy sterowania interakcją wiążą ze sobą kilka różnych interakcji w pojedynczy kompletny obraz interakcji obejmujących pewien określony obszar systemu Taki diagram wygląda bardzo podobnie do diagramu czynności, z tą różnicą, że każda z akcji została zastąpiona samą interakcją. ref przywoływane wystąpienie interakcji, czyli odwołanie do jednego z diagramów interakcji, oznaczonego nazwą wymienioną w przywołaniu. sd diagram sekwencji 11

Diagram harmonogramowania Prezentuje na osi czas zmiany dopuszczalnych stanów, w jakie wchodzi obiekt biorący udział w interakcji. 12