Wykład 5 UML - Unified Modeling Language

Slides:



Advertisements
Podobne prezentacje
Związki w UML.
Advertisements

Projektowanie aplikacji równoległych Jarosław Kuchta.
Modelowanie przypadków użycia
Projektowanie w cyklu życia oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Zaawansowane metody programowania – Wykład V
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli
Język UML (Unified Modelling Language)
UML rozszerzenie Seminarium magisterskie
Projektowanie Aplikacji Komputerowych
UML Unified Modeling Language
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
UML Zunifikowany język modelowania
Projektowanie systemów informacyjnych
Diagramy klas w języku UML
Diagram czynności (Activity Diagrams)
Projektowanie systemów informacyjnych
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Analiza i ocena procesów wdrożeniowych systemów klasy MRP/ERP w firmie
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie - wprowadzenie
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
C.d. wstępu do tematyki RUP
Unified Modeling Language graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.
Nadstruktura języka UML w wersji 2.2 Część V Wdrożenie (pakiet UML::Deployments)
Inżynieria Oprogramowania
UML 2.x Robert Pająk.
Wykład 1 – część pierwsza
MDA – Model Driven Architecture
Podsumowanie metodologii OMT
Programowanie obiektowe – język C++
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
(Unified Modeling Language)
Unified Modeling Language - Zunifikowany Język Modelowania
Wprowadzenie do UML dr hab. inż. Kazimierz Subieta profesor PJWSTK.
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
1 (21) Modelowanie i opis wymagań Bogdan Bereza – blogomocja.blogspot.com –
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
Komputerowe wspomaganie projektowania
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Modelowanie obiektowe - system zarządzania projektami.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Unified Modeling Language
Dokumentacja programu komputerowego i etapy tworzenia programów.
Wstęp do systemów informatycznych Model przypadków użycia.
E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz
E. Stemposz. Rational Unified Process, Wykład 10, Slajd 1 wrzesień 2002 Powrót Studia Podyplomowe IT w Biznesie Rational Unified Process Wykład 10 Przepływ.
E. Stemposz. UML, Diagramy komponentów i wdrożeniowe, Wykład 11, Slajd 1/24 Wykład 11 Diagramy komponentów i wdrożeniowe dr inż. Ewa Stemposz
Inżynieria systemów informacyjnych
Projektowanie wspomagane komputerem
Inżynieria Oprogramowania Laboratorium
Modele wg Jacobsona Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające.
Wykład 1 – część pierwsza
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie systemów informatycznych Wykład 1 - Wprowadzenie
Zapis prezentacji:

Wykład 5 UML - Unified Modeling Language

Treść wykładu wprowadzenie do UML cele UML zakres UML diagramy definiowane przez UML diagramy klas oraz diagramy pakietów diagramy przypadków użycia diagramy sekwencji diagramy współpracy diagramy stanów diagramy wdrożeniowe

UML - wprowadzenie Rational Software Corporation Grady Booch, Ivar Jacobson, James Rumbaugh wykorzystanie metodyk OOAD - Booch OMT - Rambaugh Fusion - Coleman OOSE - Jacobson

UML - wprowadzenie c.d. nie jest metodyką analizy i projektowania nie definiuje procesu rozwoju oprogramowania nie jest wyłącznie składnicą diagramów jest językiem specyfikacji, konstruowania, wizualizacji i dokumentowania dla systemów wykorzystujących oprogramowanie

Wady i zalety metodyk poprzedzających UML OMT - Rumbaugh dobre modelowanie dziedziny przedmiotowej nie modelowane są aspekty użytkowników systemu oraz aspekty implementacji OOAD - Booch dobrze rozwiązane kwestie projektowania, konstrukcji oraz związki z implementacją nie obejmowane są aspekty fazy analizy oraz wymagań użytkowników OOSE - Jacobson dobrze rozwiązane modelowanie związane z użytkownikami oraz zagadnienia związane z cyklem życia systemu nie obejmowane są aspekty związane z z modelowaniem dziedziny przedmiotowej oraz aspekty implementacyjne

Cele UML podstawowym celem jest modelowanie systemów z użyciem pojęć obiektowych język modelowania użyteczny zarówno dla ludzi jak i „maszyn” jest notacją pośrednią pomiędzy ludzkim rozumieniem struktury i działania programów a właściwym kodem programów notacja pośrednia jest wymagana do specyfikacji, konstrukcji, wizualizacji i dokumentacji działań związanych z systemami wykorzystującymi oprogramowanie

Cele UML c. d. diagramy UML stanowią bezpośrednie powiązanie modelu konceptualnego z wykonywalnymi programami duża skala problemu, modelowanie systemów złożonych utworzenie języka podobnego do języka programowania

Zakres UML specyfikacja, konstrukcja, wizualizacja i dokumentacja działań związanych z systemami wykorzystującymi oprogramowanie łączy metodyki Boocha, OMT i OOSE w postaci wspólnego, szeroko stosowanego języka dla użytkowników tych i poprzednich metod systemy współbieżne i rozproszone skupia się na standardzie języka do modelowania a nie na standardzie procesów tworzenia oprogramowania wspólny metamodel unifikacji semantyki oraz wspólna notacja odbioru semantyki przez ludzi

Diagramy definiowane przez UML wiele perspektyw spojrzenia na projektowany system diagram przypadków użycia - use case diagramy klas oraz diagramy pakietów diagramy zachowania - behaviour diagramy stanów diagramy aktywności diagramy sekwencji diagramy współpracy - collaboration diagramy implementacyjne diagramy komponentów diagramy wdrożeniowe - deployment

Metamodel oraz semantyka UML duża uwaga na semantykę notacji wada poprzednich modeli analitycznych wyobrażenie niż formalna konstrukcja modele odwołujące się do wyobrażenia nie mogą być precyzyjne UML wprowadza składnię ograniczenia topologiczne klasyfikację pojęć związki pomiędzy pojęciami

UML - stereotypy nazwy umożliwiające meta-klasyfikacje modelu wspólne nazwy własności klas deklaracja meta-klasy wewnątrz modelu element modelu może mieć co najwyżej jeden stereotyp dla każdego rodzaju elementu UML istnieje lista stereotypów istnieją predefiniowane stereotypy stereotypy mogą mieć implikacje semantyczne tj. ograniczenia

Stereotypy - przykłady klasy i obiekty zdarzenie, wyjątek, interfejs, metaklasa, typy obiektów obiekt istniejący, obiekt sterujący, interfejs zadania proces wątek węzły pakiety

Diagram hierarchii procesów – Select Enterprise

Diagram wątków procesów

Diagram wątków procesów c.d.

Diagramy klas odmiana klasycznych diagramów encji podstawowe oznaczenia klasa - prostokąt hierarchia dziedziczenia - strzałki związki asocjacji - linie związki agregacji - romby oznaczenia przejęte z OMT wprowadzone są rozszerzenia poprawiające czytelność dla konkretnej dziedziny przedmiotowej w postaci stereotypów

Wykorzystanie diagramu klas opis modelu konceptualnego reprezentacja pojęć w dziedzinie przedmiotowej nie musi być związany z oprogramowaniem sformalizowana specyfikacja danych i metod dotyczy oprogramowania zewnętrzny opis interfejsów bez szczegółów implementacyjnych - hermetyzacja określenie zewnętrznych obiektów programistycznych oraz metod implementacja graficzny środek reprezentujący szczegóły implementacji

Konstruowanie diagramu klas identyfikacja obiektów i klas przygotowanie słownika danych identyfikacja związków między obiektami identyfikacja atrybutów obiektów zorganizowanie klas w hierarchie dziedziczenia analiza ścieżek dla zapytań grupowanie klas w moduły

Diagram klas

Diagramy pakietów zestawy elementów modelu wraz z zachodzącymi między nimi zależnościami odwzorowują przekazywanie informacji z pakietu do pakietu istotne dla dużych projektów składających się z wielu modułów funkcjonalnych ze złożonymi właściwościami między modułami pakiety mogą być zagnieżdżane pakiety mogą być traktowane jako obiekty należące do swoich klas, podlegają związkom dziedziczenia

Diagramy pakietów - przykład

Diagramy przypadków użycia przedstawienie użycia systemu będącego przedmiotem projektowania odwzorowują strukturę systemu jak go widzą użytkownicy sprecyzowanie celów tworzenia systemu utworzenie pomostu między użytkownikami a projektantami systemu weryfikacja poprawności i kompletności projektu przedstawienie strukturalnych i funkcjonalnych własności systemu ustalenie składowych systemu i związanego z nim planu budowy systemu podstawa do sporządzenia planu testów systemu

Diagram przypadków użycia c. d. dostarcza abstrakcyjnego poglądu na system tak jak go używają aktorzy nie włącza szczegółów co pozwala wnioskować o systemie na bardzo ogólnym poziomie

Dodatkowe elementy diagramu przypadków użycia jak przypadek użycia się rozpoczyna, jak kończy i w którym momencie opis interakcji przypadku użycia z aktorami, kiedy interakcja ma miejsce i co jest przesyłane kiedy i do czego przypadek potrzebuje danych z systemu a w którym momencie zapamiętuje dane w systemie opis wyjątków przy przepływie zdarzeń jak i kiedy używane są pojęcia z dziedziny przedmiotowej

Dokumentacja przypadków użycia krótki opis przypadku użycia nieformalny opis zdarzeń w systemie opis związków pomiędzy przypadkami użycia obiekty uczestniczące w przypadku użycia specjalne wymagania np. czas odpowiedzi, wydajność obrazy interfejsu użytkownika diagram powiązań przypadków użycia diagramy interakcji dla każdego aktora

Wyszukiwanie aktorów na podstawie wymagań funkcjonalnych grupa użytkowników wspomagana przez system wymagani użytkownicy aby system realizował funkcje z jakim z zewnętrznych źródeł powinien korzystać system aby sprawnie wykonywał swoje funkcje

Diagram przypadków użycia – przykład

Modele i diagramy dynamiczne diagramy uwzględniające czas, zdarzenia, następstwo czynności, synchronizację czynności, transakcje, stany procesów, interakcje systemu z otoczeniem, dialogi stosowane notacje diagramy przepływu sterowania diagramy automatów skończonych sieci Petrie’ego powiązane są z innymi modelami poprzez wspólne oznaczenia obiektów oraz procesów uzupełnienie diagramu klas

Diagramy sekwencji podobne do diagramów sekwencji zdarzeń rozbudowane o możliwość wprowadzenia ograniczeń czasowych oraz skali czasowej brak precyzji języków programowania słaby środek specyfikowania programów

Diagram sekwencji - przykład

Diagram sekwencji – przykład c. d.

Diagram sekwencji – przykład c. d.

Diagramy współpracy przedstawienie przepływów komunikatów pomiędzy obiektami współpraca między obiektami struktura uczestniczących obiektów sekwencja komunikatów wymienianych między obiektami nie odwzorowywany jest czas lecz powiązania pomiędzy obiektami

Diagram współpracy - przykład

Diagram stanów automat skończony stany pewnego procesu istotne z punktu widzenia modelu konceptualnego tego procesu powiązanie pomiędzy stanami wymuszane przez pewne zdarzenia stany są wzbogacone o akcje wykonywane wewnątrz stanów zdarzenia mogą być wykonywane pod pewnymi warunkami

Diagram stanów - przykład

Diagramy implementacyjne pokazują niektóre aspekty implementacji systemu informacyjnego struktura kodu źródłowego struktura czasu wykonywania diagram komponentów (component diagram) struktura fizyczna kodu widziana jako komponenty komponent zawiera informację o klasach w nim zaimplementowanych zależności pomiędzy komponentami oprogramowania włączając komponenty kodu źródłowego, kodu binarnego oraz kodu wykonywalnego przeznaczony głównie dla programistów

Diagramy implementacyjne c.d. diagramy organizacji fizycznej (deployment diagram) fizyczne rozmieszczenie komponentów systemu w konkretnych węzłach – komputerach lub innych urządzeniach używanych przez system łączny aspekt systemu opisujący programy i sprzęt końcowe stadium prac projektowych prowadzące do wdrożenia systemu struktura systemu dla czasu wykonywania konfiguracja elementów czasu wykonania: komponentów sprzętowych, komponentów oprogramowania, procesów i związanych z nimi obiektów graf, w którym węzły są elementami czasu wykonywania, połączone poprzez linie odwzorowujące ich połączenia komunikacyjne

Proces projektowania aplikacji - SELECT