UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie.

Slides:



Advertisements
Podobne prezentacje
7. Metody analizy i modelowania strukturalnego SI
Advertisements

Projektowanie Aplikacji Komputerowych
Modelowanie przypadków użycia
Projektowanie bazy danych
Modelowanie klas i obiektów
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Część 2 OiZPI Iteracyjny przyrostowy model cyklu życiowego Rational Unified Process™ w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów.
Modelowanie procesów biznesowych
Język UML (Unified Modelling Language)
UML rozszerzenie Seminarium magisterskie
Projektowanie Aplikacji Komputerowych
UML Unified Modeling Language
Internet Communication Engine
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
Modelowanie i język UML
Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej UML- Unified Modeling Language Ujednolicony Język Modelowania UML jest standardowym.
UML – Unified Modeling Language (2)
Projektowanie obiektowe
UML Zunifikowany język modelowania
Inżynieria Oprogramowania dla Fizyków
Projektowanie systemów informacyjnych
Wykład 8 Wojciech Pieprzyca
Diagramy klas w języku UML
Enteprise Java Beans Emil Wcisło.
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
BPMN Business Process Modeling Notation
Projektowanie - wprowadzenie
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
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)
Nadstruktura języka UML w wersji 2.2
Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki,
UML 2.x Robert Pająk.
Wykład 1 – część pierwsza
OMT - Model obiektów, cz.3.
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
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 - 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.
Service Oriented Architecture
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
Diagram przypadków użycia
Diagram klas Kluczowymi elementami są: klasy (class)
Diagram klas Diagramy klas służą do obrazowania statycznych aspektów projektowanych systemów jako: Projekt struktury logicznej baz danych Projekt składników.
OCL.
Diagram przypadków użycia
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Unified Modeling Language
Wstęp do systemów informatycznych Model przypadków użycia.
Wstęp do systemów informatycznych Diagramy klas. Odbiór świata  Myślenie o dziedzinie problemu powinno być możliwie zbliżone do myślenia o systemie 
E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz
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
Asocjacja,Kompozycja,Agregacja
Inżynieria systemów informacyjnych
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Wykład 1 – część pierwsza
Modelowanie i analiza systemów informatycznych
Zapis prezentacji:

UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie Obiektowe, Ian Sommerville Agile modeling:

UML – Unified Modeling Language  Graficzny język do analizy i projektowania obiektowego  Standaryzuje kilka metod graficznej reprezentacji UML jest językiem – posiada składnię (notacja graficzna) i semantykę (znaczenie symboli graficznych) Diagramy  4 strukturalne (klas, obiektów, komponentów, wdrożeń)  5 do modelowania zachowania (przypadków użycia, sekwencji, aktywności, współpracy / kolaboracji, stanów)  3 do zarządzania modelem (pakiety, podsystemy, modele) Historia  UML 1.1 – 1997  UML 1.3 – listopad 1999  UML 1.4  UML 1.5  Obecnie – UML 2.0 – znaczne zmiany Wstęp

Elementy modelu (klasy, interfejsy, komponenty, przypadki użycia, etc.) Relacje pomiędzy nimi (powiązania, generalizacja, zależności, etc.) Diagramy (diagramy klas, diagramy przypadków użycia, diagramy interakcji, etc.) Zasadnicze składniki UML

Przykład diagramu klas

Przykład diagramu obiektów (instancji klas)

Modele struktury

Modelowanie struktury Model systemu, który podkreśla strukturę obiektów, powiązania między klasami, ich atrybuty i operacje Rodzaje diagramów:  Statyczne diagramy struktury Klas, obiektów  Diagramy implementacji Komponentów, wdrożeń

Model struktury – zasadnicze elementy

Model struktury – podstawowe relacje

Statyczne diagramy struktury Diagram klas Diagram obiektów – instancji klas

Klasy: przykład tatus: {current, left, retired} taxCode: integer... join () leave () retire () changeDetails ( Pracownik nazwisko : string adres : string dataUrodzenia : Date numerPracownika : integer PESEL : string dział : Dział przełożony : Pracownik wynagrodzenie : integer stan : {zatrudniony, zwolniony, emerytowany} NIP : integer... dołącz() opuść() przejdźNaEmeryturę() zmieńSzczegóły()

Diagram klas – przykład

Hierarchia uogólnień – przykład Pracownik Kierownik zarządzaneBudżety dataPrzyjęcia Programista przedsięwzięcie językiProg Kierownik Przedsięwzięcia przedsięwzięcie Kierownik Działu dział Kierownik Strategiczny obowiązki

Powiązania – przykład Kierownik DziałPracownik jest-członkiem jest-zarządzany-przez zarządza

Powiązania – jedno i dwukierunkowe

Agregacja i kompozycja Agregacja i kompozycja – obiekt składa się z innych obiektów Agregacja – zespół składa się z pracowników Kompozycja – samolot składa się z części Reguła: kompozycja jest "silniejszą" formą agregacji – jeśli całość jest niszczona, to jej części także, w przypadku agregacji tak nie jest.

Generalizacja-specjalizacja – przykład: taksonomia obiektów

Interfejsy: notacja skrótowa Fig. 3-29, UML Notation Guide

Interfejsy: notacja rozszerzona Fig. 3-29, UML Notation Guide

Diagram obiektów

Diagramy implementacji Pokazują takie aspekty implementacji jak struktura kodu źródłowego, oraz struktura podczas wykonywania się systemu Rodzaje  Diagram komponentów  Diagram wdrożeń (deployment)

Komponenty i wdrożenia: przykład

Fig. 3-99, UML Notation Guide Komponenty – przykłady

Fig. 3-95, UML Notation Guide Diagram komponentów – przykład

Diagram wdrożeń – przykład Fig. 3-97, UML Notation Guide

Projektowanie oparte o interfejsy

Projektowanie oparte o interfejsy (interface-based design) Skupia się na specyfikacji interfejsów systemu Oddziela się specyfikację operacji jakiejś usługi (interfejsy) od ich realizacji (implementacja) Przykład: CORBA IDL (Interface design language) jako projektowanie aplikacji rozproszonych oparte o interfejsy  IDL definiuje interfejsy obiektów bez nakładania ograniczeń na ich implementację  Definiuje strukturę aplikacji rozproszonej  Nie pozwala na specyfikowanie zachowania obiektów lub relacji pomiędzy klasami poza generalizacją

Przykład: punkt sprzedaży (point of sale) module POS { typedef long POSId; typedef string Barcode; interface InputMedia { typedef string OperatorCmd; void barcode_input(in Barcode item); void keypad_input(in OperatorCmd cmd); }; interface OutputMedia { boolean output_text(in string string_to_print ); };... Generic IDL Point of Sale (POS) example. [Siegel 00]

Przykład punkt sprzedaży (c.d.)... interface POSTerminal { void login(); void print_POS_sales_summary(); void print_store_sales_summary(); void send_barcode(in Barcode item); void item_quantity(in long quantity); void end_of_sale(); }; #endif /* _POS_IDL_ */

From [Kobryn 00].

Przypadki użycia

Fig. 3-53, UML Notation Guide Diagram przypadków użycia

Relacje pomiędzy przypadkami użycia Generalizacja (uogólnienie)  Jeden przypadek użycia jest uogólnieniem innego Dołączanie (include)  Zachowanie dołączanego przypadku użycia jest dołączane do podstawowego przypadku użycia Rozszerzenie (extend)  Zachowanie rozszerzającego przypadku użycia jest dołączane do podstawowego przypadku użycia w ściśle określonym miejscu (określanym przez tzw. extension point) >

Extend vs. include >  Używa się wtedy, gdy dołączany przypadek użycia musi być wykonany >  Używa się, gdy rozszerzający przypadek użycia może lecz nie musi być wykonany  Przez zdefiniowanie tzw. extension points określa się w którym dokładnie miejscu może być wykonany rozszerzający przypadek użycia

Diagram przypadków użycia – przykład

Fig. 3-55, UML Notation Guide Relacje pomiędzy aktorami

Opis przypadku użycia n Actors: traveler, client account db, airline reservation system n Preconditions:  Traveler has logged on to the system and selected ‘change flight itinerary’ option n Basic course (podstawowy przebieg)  System retrieves traveler’s account and flight itinerary from client account database  System asks traveler to select itinerary segment she wants to change; traveler selects itinerary segment.  System asks traveler for new departure and destination information; traveler provides information.  If flights are available then  …  System displays transaction summary. n Alternative courses (gdy wystąpi jakaś sytuacja wyjątkowa)  If no flights are available then …

Opis przypadku użycia – tabela

Dalsza lektura Ian Sommerville, Inżynieria oprogramowania, r  Artifacts, UML 2