E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz

Slides:



Advertisements
Podobne prezentacje
Piotr Czekalski, ZMiTAC, Politechnika Śląska 2003
Advertisements

Projektowanie aplikacji równoległych Jarosław Kuchta.
Modelowanie aktywności
Diagramy stanów i diagramy aktywności
Modelowanie przypadków użycia
Modelowanie klas i obiektów
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Projektowanie systemów informacyjnych
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Język UML (Unified Modelling Language)
Projektowanie systemów informacyjnych
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
Projektowanie Aplikacji Komputerowych
Projektowanie Aplikacji Komputerowych
UML Unified Modeling Language
Propozycja metodyki nauczania inżynierii oprogramowania
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
Tomasz Jabłoński Michał Ziach
Projektowanie systemów informacyjnych
Projektowanie systemów informacyjnych
UML - Unified Modeling Language
Diagramy klas w języku UML
Diagram czynności (Activity Diagrams)
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Projektowanie - wprowadzenie
Projektowanie dynamiki - diagramy interakcji
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 3 Analiza i projektowanie strukturalne
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)
Infrastruktura języka UML w wersji 2.2
Nadstruktura języka UML w wersji 2.2
Modelowanie w Visual Studio 2010
UML 2.x Robert Pająk.
Model przestrzenny Diagramu Obiegu Dokumentów
MDA – Model Driven Architecture
Programowanie obiektowe 2013/2014
Modelowanie obiektowe Diagramy czynności
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Modelowanie obiektowe Diagramy sekwencji
Unified Modeling Language - Zunifikowany Język Modelowania
Wprowadzenie do UML dr hab. inż. Kazimierz Subieta profesor PJWSTK.
Modelowanie obiektowe Diagramy klas
Specyfikacje publiczne komponentów operacyjnych Programu e-Cło
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram przypadków użycia
Diagram klas Kluczowymi elementami są: klasy (class)
Modelowanie obiektowe - system zarządzania projektami.
Infrastruktura języka UML w wersji 2.2 Część VI Pakiet Core::Constructs (diagramy: bazowy, przestrzeni nazewniczych, klasyfikatorów, wyrażeń, ograniczeń)
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
Modelowanie model związków encji
Wstęp do systemów informatycznych Model przypadków użycia.
E. Stemposz. UML i Analiza obiektowa, Wykład 6, Slajd 1/18 Wykład 6 Model obiektowy (4) dr inż. Ewa Stemposz
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
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
MAS Rafał Hryniów. Agenda  Zasady  Referaty  Projekt  Kolosy.
Inżynieria systemów informacyjnych
Zapis prezentacji:

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 2/24 Zagadnienia Wprowadzenie do UML:  Historia zmian  Modele i diagramy  Mechanizmy rozszerzalności  Klasyfiktory a wystąpienia  Rodzaje związków między elementami modelowania

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 3/24 UML , styczeń wrzesień 1996 UML 1.0, styczeń 1997, przesłany do OMG UML 1.1, koniec 1997, zatwierdzony jako składnik standardu OMG UML 1.3, kwiecień 1999 UML 1.4 wrzesień 2001 oficjalna specyfikacja UML 1.5 marzec 2003 oficjalna specyfikacja UML 2.* Połączone siły trzech znanych metodologów oprogramowania: Grady Booch Ivar Jacobson James Rumbaugh Dokumentacja on line Unified Modeling Language (UML)

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 4/24 Historia zmian UML (1) wersja UML 1.4, wrzesień 2001 oficjalna specyfikacja wersja UML 2.0, wyznaczona przez OMG pod koniec roku 2001 jako oficjalny kierunek zmian wyodrębniono 4 specyfikacje: - infrastruktura UML; metamodel pozwalający na definiowanie i rozwijanie superstruktury - superstruktura UML; specyfikująca podstawowe elementy wykorzystywane w tworzeniu diagramów, tzw. kategorie modelowania - OCL; język specyfikacji ograniczeń - mechanizm przenaszalności diagramów UML pomiędzy różnymi narzędziami wersja UML 1.5, marzec 2003 oficjalna specyfikacja

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 5/24 Historia zmian UML (2) wersja UML 2.0 sierpień 2003; bardzo znacząca rewizja - zakres dostępnych diagramów rozszerzono do 13-tu - szereg nowych kategorii modelowania w diagramach istniejących w wersji poprzedniej Metaskładnia MOF (Meta Object Facility) XMI (XML Metadata Interchange); standard wymiany dokumentów zgodnych z UML, oparty o MOF CWM (Common Warehouse Metamodel); standard wymiany metadanych pomiędzy hurtowniami danych, systemami zarządzania wiedzą, itd. W pracach OMG nad UML uczestniczy około 800 informatycznych i biznesowych organizacji

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 6/24 Model a diagram Model: pewna abstrakcja projektowanego systemu, widziana z określonej perspektywy, na określonym poziomie szczegółowości. Diagram: środek służący do opisu modelu. Model może być opisany przy pomocy wielu diagramów. Dany element modelu może pojawiać się na wielu diagramach jednego modelu. Dwa najważniejsze modele w UML, wykorzystywane w fazie analizy, to:  Model przypadków użycia: opisuje system widziany z perspektywy przyszłych użytkowników (diagramy przypadków użycia).  Model obiektowy: przedstawia statyczną budowę, czyli strukturę systemu (diagram klas i diagram obiektów). Diagram klas może zawierać obiekty. Diagram obiektów zawiera wyłącznie obiekty (nie zawiera klas). Głównym zadaniem pomocniczego modelu dynamicznego (zachowań) jest wypełnienie diagramu klas metodami wynikłymi z analizy zachowania systemu w trakcie wykonywania zadań, gdzie zadaniem może być np. realizacja przypadku użycia czy też jednego konkretnego scenariusza danego przypadku użycia.

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 7/24 Diagramy definiowane w UML 1.5 Diagramy przypadków użycia (use case) Diagramy klas i diagramy obiektów Diagramy dynamiczne (behavior):  Diagramy stanów  Diagramy aktywności  Diagramy interakcji: Diagramy sekwencji Diagramy współpracy (collaboration) Diagramy implementacyjne:  Diagramy komponentów  Diagramy wdrożeniowe (deployment) Diagramy te zapewniają uzyskanie wielu perspektyw projektowanego systemu w trakcie jego budowy. Diagramy pakietów

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 8/24 Diagramy w UML 2.* (1) DiagramCharakterystykaWyróżnik (ang.) Diagram klas (ang. Class Diagram) Pokazuje kolekcję elementów struktury systemu, jak np. klasy i ich relacje cld Diagram obiektów (ang. Object Diagram) Pokazuje kolekcję obiektów w danym punkcie w czasie od Diagram pakietów (ang. Package Diagram) Wykorzystywany do organizowania kolekcji elementów w pakiety pd Diagram (opisu?) struktur złożonych (ang. Composite Structure Diagram) Diagram składowych? Diagram struktur połączonych? Wykorzystywany do opisu wewnętrznej budowy struktur złożonych csd Diagram komponentów (ang. Component Diagram) Rodzaj diagramu wdrożeniowego?cod

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 9/24 Diagramy w UML 2.* (2) DiagramCharakterystykaWyróżnik (ang.) Diagram wdrożeniowy (ang. Deployment Diagram) Diagram wdrożenia? Diagram rozlokowania? Wykorzystywany do opisu rozmieszczenia elementów systemu w czasie run time’u dd Diagram przypadków użycia (ang. Use Case Diagram) Wykorzystywany do specyfikowania funkcjonalności systemu ud Diagram aktywności (ang. Activity Diagram) Diagram czynności? Wykorzystywany do opisu procesów biznesowych czy przepływu sterowania w trakcie realizowania funkcjonalności ad Diagram maszyny stanowej (stanów?) (ang. State Machine Diagram) Wykorzystywany do opisu zachowań instancji klasyfikatorów w odpowiedzi na przychodzące zdarzenia sm

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 10/24 Diagramy w UML 2.* (3) DiagramCharakterystykaWyróżnik (ang.) Diagram sekwencji (ang. Sequence Diagram) Rodzaj diagramu interakcji; opis współpracy uczestników interakcji sd Diagram komunikacji (ang. Communication Diagram) (diagram współpracy) Rodzaj diagramu interakcji; izomorficzny z diagramem sekwencji cd Diagram następstwa (stanów?) (ang. Timing Diagram) Diagram harmonogramowania? Rodzaj diagramu interakcji; wykorzystywany do prezentowania na osi czasu następstwa stanów dla instancji klasyfikatora biorącego udział w interakcji td Diagram opisu interakcji (ang. Interaction Overview Diagram) Diagram sterowania interakcją? Rodzaj diagramu interakcji; wykorzystywany do opisu przepływu sterowania pomiędzy grupą logicznie powiązanych diagramów; budowany z wykorzystaniem diagramów aktywności iod

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 11/24 Użyteczność diagramów (1) DiagramUżyteczność w procesie rozwoju oprogramowania Diagram klaswysoka Diagram obiektówniska Diagram pakietówśrednia (?) Diagram struktur złożonych niska Diagram komponentówśrednia (?) Diagram wdrożeniowyśrednia (?) Diagram przypadków użycia średnia (?)

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 12/24 Użyteczność diagramów (2) DiagramUżyteczność w procesie rozwoju oprogramowania Diagram aktywnościwysoka Diagram stanówśrednia Diagram sekwencjiwysoka Diagram komunikacjiniska Diagram następstwa stanów niska Diagram opisu interakcjiniska

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 13/24 Użyteczność diagramów – lista uporządkowana (1) DiagramUżyteczność w procesie rozwoju oprogramowania Diagram klaswysoka Diagram aktywnościwysoka Diagram sekwencjiwysoka Diagram przypadków użycia średnia (?) Diagram pakietówśrednia (?) Diagram komponentówśrednia (?) Diagram wdrożeniowyśrednia (?)

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 14/24 Użyteczność diagramów – lista uporządkowana (2) DiagramUżyteczność w procesie rozwoju oprogramowania Diagram stanówśrednia Diagram obiektówniska Diagram struktur złożonych niska Diagram komunikacjiniska Diagram następstwa stanów niska Diagram opisu interakcjiniska

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 15/24 Stereotypy; komentarze (1) Stereotypy: są jednym z mechanizmów rozszerzalności UML. Dają możliwość definiowania nowych elementów, co ułatwia przystosowanie UML do specyficznego procesu, do preferencji użytkownika oraz pozwala na uszczegóławianie semantyki modelu:  Stereotypy umożliwiają metaklasyfikację elementów modelu.  Istnieje lista stereotypów dla każdego rodzaju elementów UML.  Element modelu może mieć co najwyżej jeden stereotyp (?).  Są stereotypy predefiniowane, ale użytkownicy mogą też definiować własne. Notacja: Przykłady stereotypów: P1P2 «include» P3 P4 «extend» «nazwa stereotypu» lub ikona

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 16/24 Stereotypy; komentarze (2) Komentarze: mechanizm rozszerzalności UML. Komentarze są wykorzystywane do wprowadzania do diagramu adnotacji przypisanych do fragmentu modelu. tekst adnotacji Notacja: pole podstawy wysokość Bryła policz objętość {abstract} objętość = pole podstawy * wysokość Przykład wykorzystania adnotacji:

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 17/24 Przykłady stereotypów Diagram przypadków użycia: Rejestruj sprzedaż Rejestruj sprzedaż Diagram komponentów: «component» Obsługa zmówień Obsługa zamówień Obsługa zmówień «component» Obsługa zmówień

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 18/24 Wartości etykietowane Wartości etykietowane są kolejnym z mechanizmów rozszerzalności UML. Wartość etykietowaną stanowi ciąg znaków o postaci: słowo kluczowe = wartość. Listę wartości etykietowanych (oddzielonych przecinkami) umieszcza się w {}. Dowolny element modelu może być skojarzony z listą wartości etykietowanych. {autor = “Jan Nowak”, termin zakończenia = “31 Maja 1999”, status = analiza} Przykład listy wartości etykietowanych: W ten sposób można na diagramach umieścić dowolną dodatkową informację. Zakłada się, że narzędzia CASE umożliwią odszukanie odpowiedniego elementu na podstawie słowa kluczowego i skojarzonej z nim wartości. Uwaga: wartości etykietowane powinny być wykorzystywane do opisu pojedynczego elementu modelu a nie do metaklasyfikcji (patrz: stereotypy).

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 19/24 Ograniczenia Ograniczenia specyfikują restrykcje nakładane na elementy modelu. Mogą stanowić wyrażenia języka naturalnego czy języka formalnego (np. OCL w UML), mogą też przyjmować postać formuły matematycznej lub fragmentu kodu (czy też pseudokodu). Notacja: Ograniczenia są zawarte wewnątrz {} i umieszczane w pobliżu tego elementu, którego dotyczą. Ograniczenia można też umieszczać w kopercie adnotacji. Pracownik imię nazwisko pensja {<=10 000} {<=10 000} W przypadku ograniczenia dynamicznego – w przeciwieństwie do ograniczenia statycznego – interesuje nas poprzedni stan elementu, dla którego wyspecyfikowano ograniczenie. Czy powiedzie się próba zmiany pensji z 2500 na 5500, przy ograniczeniach jak powyżej? Pracownik imię nazwisko pensja zmień pensję (nowa) ograniczenie statyczne ograniczenie dynamiczne {pensja nie wzrasta o więcej niż 300}

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 20/24 Klasyfikatory; wystąpienia klasyfikatorów (1) Klasyfikator: kategoria modelowania UML, stanowiąca uogólnienie grupy bytów o podobnych własnościach; pojęcie klasyfikatora odnosi się do każdego rodzaju diagramów UML. Notacja: zależna od rodzaju diagramów Wystąpienie klasyfikatora (instacja klasyfikatora): odpowiada konkretnemu bytowi z grupy bytów charakteryzowanych przez klasyfikator Notacja: zazwyczaj zgodna z notacją klasyfikatora; różnice występują głównie w nazwach wystąpień: nazwa_własna_danego_bytu : nazwa_klasyfikatora nazwisko : string wiek : integer Osoba nazwisko = ” Nowak” wiek = 45 O-Nowak : Osoba klasyfikatorwystąpienie klasyfikatora

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 21/24 Klasyfikatory; wystąpienia klasyfikatorów (2) Informacje opisujące wystąpienie klasyfikatora nie muszą być kompletne – liczba detali jest uzależniona od celu czy semantyki danego diagramu. ” Nowak” 43 : Osoba nazwisko : String = ” Nowak” wiek = 43 : Osoba s[k] : U Przykłady wystąpień: s : U, V:Osoba:Firma OsobaFirma 1..* * klasyfikator: asocjacjawystąpienie klasyfikatora: powiązanie

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 22/24 Związki pomiędzy elementami modelowania (1) Na diagramach UML występują cztery rodzaje związków pomiędzy elementami modelowania: uogólnienie, asocjacja, zależność, realizacja. Uogólnienie (generalizacja): występuje pomiędzy klasyfikatorem ogólnym a klasyfikatorem specjalizowanym Notacja: Asocjacja: opisuje powiązania pomiędzy wystąpieniami klasyfikatorów (również pomiędzy różnymi wystąpieniami tego samego klasyfikatora) Notacja: klasyfikator ogólny klasyfikator specjalizowany klasyfikator

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 23/24 Związki pomiędzy elementami modelowania (2) Zależność: jest związkiem pomiędzy takimi dwoma elementami modelowania, dla których zmiana jednego elementu (dostawcy usług) może skutkować koniecznością wprowadzenia zmian do elementu drugiego (klienta usług) Notacja: Realizacja: to związek pomiędzy klasyfikatorami, gdzie jeden z klasyfikatorów opisuje kontrakt), a drugi określa sposób realizacji tego kontraktu Notacja: dostawca usług klient usług klasyfikator określający sposób realizacji kontraktu klasyfikator opisujący kontrakt Co?Jak?

E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 24/24 Prezentowanie diagramów nagłówek Diagramy mogą być prezentowane w formie: - nieobramowanej - obramowanej, gdzie diagram jest otoczony prostokątną ramą zawierającą nagłówek = ( ) { } rodzaj – wyróżnik diagramu nazwa – odzwierciedlająca merytoryczną zawartość diagramu parametr – parametr kluczowy dla danego diagramu Nazwa jest obligatoryjnym elementem składowym nagłówka; rodzaj i parametry są elementami nieobligatoryjnymi.