Język UML (Unified Modelling Language)
Przyczyny opracowania języka UML Różnorodność modeli stosowanych w metodach obiektowych, tworzonych w latach 90-ych. Konieczność ujednoliconego modelowania modelowania aspektu statycznego i dynamicznego modelu (systemu) Dostarczenie narzędzia do modelowania tak problemu jak i tworzonego rozwiązania.
Źródła języka UML Metoda OBJECTORY (Jacobson) OMT (Raumbough) Metoda Boocha
Cele języka UML Modelowanie (sformalizowany opis) problemu Specyfikacja wymagań użytkowników (prezentacja modelu nowego rozwiązania) Prezentacja projektu nowego rozwiązania (składniki technologiczne) Możliwość dogodnego przekształcania modeli na kod języków programowania obiektowego. Dokumentowanie prac nad rozwiązaniem informatycznym
Artefakty możliwe do prezentacji przez UML Wymagania Architektura Projekt (jego składniki) Kod źródłowy Testy Prototypy Kolejne wersje rozwiązania
Podstawowe pojęcia języka UML Obiekt Klasa Atrybut Operacja – usługa, której można zażądać od obiektu Metoda – implementacja operacji w klasie obiektów, zawierająca algorytm Relacja – zależność występująca pomiędzy klasami w modelu klas Interfejs – deklaracja operacji, służących do realizowania usługi przez obiekt
Abstrakcyjna klasa UML Służy do klasyfikowania obiektów (stereotypów) na podstawie struktury lub zachowania Są to: Typy Interfejsy (aplikacji) Klasy Podsystemy Pakiety Bazy danych Tabele bazy danyc, itd..
Diagramy modelowania i projektowania struktury SI Diagram klas Diagram obiektów (egzemplarzy klas) Diagramy komponentów Diagramy wdrożenia
Przykład diagramu klas Liczność obligatoryjna Zamówienie Klient 1..1 Data przyjęcia przygotowane numer cena o..* Nazwa adres 1 ocenakredytowa() asocjacja Do realizacji() Zamknij() Klient - osoba Klient - firma Linia pozycji Reguła Integ- ralności Pozycja zamówienia Nazwisko kontaktu Wskaźnik kredytu Limit kredytu Karta kredyt * Ilość cena zrealizowanny Przypomnij() Rachunek za miesiąc ocenakredytowa()=‘słaba’ 1..* 0..* 1 Przedstawiciel handlowy Liczność opcjonalna 0..1 Pracownik Produkt
Cele diagramów komponentów Prezentacja rozwiązań przyjmowanych w trakcie realizacji projektu informatycznego Przedstawiają architekturę sytemu informatycznego
Przykład diagramu komponenetów Przetwarzanie biznesowe Interfejs użytkownika Baza danych Procedury bezpieczeństwa
Przykład diagramu grupowania Podsystem „Planowanie” Reklama Harmonogramowanie Podsystem „Biuro” Kartoteka klientów Dokumentowanie Sprzedaży Ewidencja sprzedaży
Diagramy modelowania dynamiki (procesów przetwarzania) Diagram przypadków użycia Diagramy interakcji: sekwencji czyności współdziałania Diagramy przekształceń stanów Diagram czynności
Diagram przypadków użycia Analiza zamówienia Dział zamówień Przygotowanie wysyłki Kasa Składanie zamówienia Realizacja płatności Klient fakturowanie Księgowość
Cele diagramu sekwencji czynności Wskazanie obiektów i użytkowników biorących udział w przypadku oraz sposobu ich komunikowania się. Ujęcie chronologiczne przesyłanych komunikatów i wywoływanych przez nie czynności w obiektach.
Diagram sekwencji czynności Anonimowy klient :Pozycja towarowa :Rachunek :Zamówienie Utwórz() Rezerwuj(data, rachunek Obciąż(koszt) Bonus(data,rach.) powrót Potwierdź realizację Likwidacja
Cele diagramu współdziałania (kolaboracji) Reprezentacja powiązań pomiędzy obiektami (klasami) Podstawa do wyznaczenia pakietów (modułów, podsystemów)
Pojęcia definiowania interakcji obiektów i ich notacja graficzna Interakcja – wymiana komunikatów między obiektami w określonym celu Komunikat – specyfikacja łączności pomiędzy metodami pryporzadkowanymi klasom obiektów
Diagram współdziałania - analiza zamówienia :Formularz wprowadzania zamówienia 1:Przygotuj() :Zamówienie 5: Konieczne do zamówienia () 2: Przygotuj linię zamówienia() Specjalna linia :Linia zamówienia Specjalny zapas : Pozycja magazynowa 3:Sprawdź() 4: [Sprawdż=prawda] Zmniejsz zapas() 7: [Sprawdź=prawda] nowa() 6: nowa() :Pozycja wysyłki :Pozycja zamówiona
Cele diagramów przekształceń stanów Reprezentują one tak zwane maszyny stanowe Maszyna stanowa określa ciąg stanów przyjmowanych przez obiekt w czasie jego życia, a także reakcje obiektu na te zdarzenia Maszyna stanowa może być dodatkowo reprezentowana przez diagramy czynności – reprezentując przepływ sterowania od czynności do czynności.
Podstawowe pojęcia maszyny stanowej Otoczenie – obiekty odbierające i emitujące komunikaty do obiektu naszego zainteresowana Stan – okoliczność lub sytuacja, w której obiekt znajduje się w trakcie swego życia Stan początkowy i końcowy Przejścia Zdarzenie uruchamiające Warunek dozoru – wyrażenie logiczne określające przejście z jednego do drugiego stanu obiektu Akcja – niepodzielna procedura obliczeniowa, wywołana pzez zdarzenie uruchamiające
Diagram przekształceń stanów początkowy Stan Końcowy Zamówienie przyjęte Pozycje niezrealizowane Zamówienie zapłacone Zamówienie Zrealizowane częściowo Zamówienie analizowane Uregulowana płatność Zamówienie fakturowane Wysyłka Niektórych pozycji Zakończenie analizy Zamówienie przyjęte do realizacji Zamówienie zrealizowane całkowicie Wysłana faktura Wysyłka Wszystkich pozycji
Diagramy przekształceń stanów Zagnieżdżone współbieżne
Przykład zagnieżdżonego diagramu przekształceń stanów Zegarek elektroniczny ustaw Wyświetl Ustaw ustaw Wyświetl czas Wyświetl datę Wyświetl alarm Ustaw czas Ustaw datę Ustaw alarm
Przykład diagramu współbieżnego przekształcania stanów Stanowisko pracy Komputer Lampka Zegarek Lampka Komputer Zegarek Wyłączona Włączona
Diagram czynności (aktywności) Cel: Reprezentowanie przypadku użycia lub grupy przypadków użycia jako sieci działań Określenie obiektów i ich stanów związanych z czynnościami występującymi w przypadku użycia
Przykład diagramu czynności (obsługa zamówienia) Dział sprzedaży Klient Magazyn Zamówienie rejestrowane Przyjmij Zamówienie Żądaj obsługi Zamówienie przyjęte Płać Zamówienie przygotowane Wystaw fakturę Przygotuj zamówienie Zamówienie wysłane Dokonaj wysyłki Ewidencjonuj zamówienia zrealizowane Zamówienie archiwowane
Wersja 2.0 Model systemu składa się z 4 komponentów: Superstructura Infrastruktura Język reguł obiektowych (OCL) Diagram wymiany (Interchange diagram)
3 Nowe diagramy Diagram strukturalny (Composite structure diagram ) Diagram harmonogramowania (Timing Diagram) Diagram przeglądu interakcji (Interaction Overview Diagram)
Diagramy struktury Klas (ang. class diagram) Obiektów (object diagram) Pakietów Struktur połączonych (złożonych) Wdrożeniowe (diagram abstrakcyjny): Komponentów Rozlokowania
Diagramy dynamiki Przypadków użycia (use case) Czynności (activity) Maszyny stanowej (przekształceń stanów obiektu) Interakcji (diagramy abstrakcyjny) Sekwencji Komunikacji Harmonogramowania (lub Zależności czasowych) Sterowania interakcją
Mechanizmy rozszerzania definicji języka UML 4- poziomowa architektura metamodelowania Stereotypy
Architektura języka Warstwa meta-metamodelu (poziom M3): Definicje pojęć Warstwa metamodelu (poziom M2): Definicje metaklas – ich atrybutów, operacji, itp.. Warstwa modelu (poziom M1): definicje klas ich atrybutów itp.. Realizowane przez analityków dla konkretnego problemu Warstwa użytkownika (poziom M0): definicje konkretnych obiektów, wartości atrybutów
Stereotypy Nowe typy elementów modelujących w języku Są one definiowane poprzez pokazanie związków z innymi z metaklasami języka UML Przykład: <<Metaklasa>> Klasa obiektów <<stereotyp>> Projekt