Czy wiesz że…? Na poprzednich zajęciach poznaliśmy diagramy przypadków użycia, sekwencji, klas, aktywności ? Diagram obiektów Diagram obiektów przedstawia egzemplarze elementów z diagramu klas. Obrazuje zbiór obiektów i ich związków w danej chwili. Często nazywany jest diagramem instancji (przedstawia instancje klas a nie same klasy). Zawiera na ogół: obiekty, wiązania, notatki, ograniczenia, pakiety, podsystemy, klasy. Diagram obiektów dotyczy realizacji dla pewnego konkretnego systemu (gdy system jest statyczny) lub dla stanu systemu w pewnej określonej chwili czasu (gdy system jest dynamiczny). Diagram obiektów Na diagramach obiektów przedstawione są: • symbole obiektów (opcjonalnie nazwa obiektu i opcjonalnie typ obiektu (klasa do której należy) – jedna z opcji musi być zrealizowana) • powiązania między obiektami, będące egzemplarzami powiązań między klasami tworzy się aby wykazać możliwość ich wzajemnej komunikacji i współdziałania. Podobnie jak diagram klas, odnosi się do statycznych aspektów perspektywy projektowej lub procesowej. Korzystając z niego bierze się jednak pod uwagę przypadki rzeczywiste lub prototypowe. Diagram obiektów Każdy obiekt może być opisany przy pomocy trzech elementów: tożsamości, stanu i zachowania. Tożsamość jest cechą wyróżniającą obiekt, przedstawiając go jako indywidualną jednostkę. Określa się ją przy pomocny unikatowej i indywidualnej cechy obiektu, która nigdy nie ulega zmianie. Stan jest zbiorem wszystkich wartości i właściwości obiektu, które każdy z nich posiada i jest przez nie wyróżniany. Obiekt posiada zawsze zestaw właściwości. Ich wartości przez cały okres istnienia obiektu mogą się zmieniać. Zachowanie jest zbiorem usług, które mogą być wykonane przez obiekt na rzecz innych obiektów. Ukazuje dynamikę występującą w modelu, dzięki czemu w łatwy sposób możemy przedstawić relację występujące pomiędzy obiektami lub czynności które dopiero mają zostać wykonane. Diagram obiektów Diagram obiektów Diagram obiektów Diagram komponentów Diagramy komponentów pokazują podział systemów programowych na mniejsze podsystemy. Komponent to wymienialny, wykonywalny fragment systemu, z ukrytymi szczegółami implementacyjnymi (np. plik .dll, podprogram). Grupują one wykonywane często wspólnie funkcje i oddzielają te, które współpracują rzadziej. Diagram komponentów Komponenty przedstawiane za pomocą dużego prostokąta, z dwoma mniejszymi z jego lewej strony oraz z etykietą w środku. Komponenty mogą być przedstawiane zarówno jako klasy jak i instancje. Klasa oznacza elementy systemu istniejące podczas jego działania (np. interfejs użytkownika czy dane). Konkretne instancje precyzują o jaki element chodzi (np. okno programu będące częścią interfejsu). Węzły są to zasoby sprzętowe dostępne podczas działania systemu. Obrazowane są za pomocą prostopadłościanów. Diagram komponentów Komponenty wymieniają dane między sobą za pomocą interfejsów. Interfejsy służą komponentom do komunikacji – definiują formaty dostarczanych i wymaganych danych. Wyróżnić możemy dwa rodzaje interfejsów: Interfejs dostarczany – umożliwia pozyskanie danych z komponentu Interfejs wymagany – wymaga dostarczenia określonych danych do wykonania operacji Udostępniane interfejsy są zaznaczone kółkami, podczas gdy interfejsy, których dany komponent wymaga do swojego działania, są oznaczone półokręgiem – gniazdem. Diagram komponentów Mamy 2 typy widoków: Zewnętrzny (external, black box) – przedstawia komponenty z ukrytymi szczegółami Wewnętrzny (internal, white box) -przedstawia komponenty wraz z ich wewnętrzną budową Diagram komponentów Diagram komponentów Diagram komponentów Diagram komponentów Diagram komponentów Diagram wdrożenia Diagramy wdrożenia przedstawiają powiązania między oprogramowaniem (artefaktami) i sprzętem (węzłami). Są stosowane przy modelowaniu dużych systemów. Jednostki oprogramowania są reprezentowane przez artefakty (czyli skompilowane wersje komponentu, który można uruchomić), dane i biblioteki. Stronę sprzętową reprezentują węzły, czyli poszczególne urządzenia obliczeniowe, komunikacyjne i przechowujące, powiązane ścieżkami komunikacyjnymi (np. połączeniem TCP/IP). Diagram wdrożenia W węzłach realizuje się oprogramowanie stanowiące system. Węzły połączone są liniami komunikacyjnymi.
Diagramy te są rzadko używane przy modelowaniu mniejszych i
średnich systemów, dlatego zwykle ich rola jest ograniczona. Diagramy wdrożenia istotną rolę odgrywają przy wdrażaniu dużych, rozproszonych systemów. Diagram wdrożenia Diagram wdrożenia Diagram wdrożenia Diagram pakietów Diagram pakietów służy do tego, by uporządkować strukturę zależności w systemie, który ma bardzo wiele klas, przypadków użycia itp. W pakiecie można umieścić praktycznie dowolne elementy: klasy, komponenty, przypadki użycia, a także inne pakiety. W ten sposób przedstawiają one drzewiastą strukturę elementów modelu. Diagram pakietów Pakiet jest przedstawiany w postaci dużego prostokąta z małym prostokątem, zwanym "etykietą”. Jeżeli zawartość pakietu nie jest pokazana, wówczas nazwa pakietu jest wpisana do większego prostokąta; w przeciwnym przypadku nazwa pakietu jest umieszczana w etykiecie. Pakiet (klient), który odwołuje się do elementu w innym pakiecie (dostawcy informacji), może wykorzystać pakiet zawierający ten element, używając zależności typu «import» albo «access» (będących rodzajami zależności typu «usage»). Główną cechą różniącą oba rodzaje zależności jest odmienny sposób traktowania nazw elementów. Diagram pakietów Diagram pakietów Pakiety doskonale nadają się do wizualizacji podstawowych zależności pomiędzy częściami systemu, dzięki czemu łatwo ocenić jakość i stopień powiązań pomiędzy nimi. Dobra struktura pakietów, w której zależności są jasno uporządkowane oraz nie występują (lub występują tylko na niskim poziomie) zależności cykliczne, wspiera późniejszą rozbudowę systemu. W szczególności przydają się w dużych aplikacjach, podzielonych na wiele podsystemów, ponieważ w prosty sposób obrazują podstawowe zależności pomiędzy nimi. Diagram struktur złożonych Diagram struktur złożonych (composite structure diagram) pokazuje związki istniejące pomiędzy częściami systemu, które współpracując dostarczają pewnej funkcjonalności. Prezentuje on hierarchicznie wewnętrzną strukturę złożonego obiektu z uwzględnieniem punktów interakcji z innymi częściami systemu, a więc jego poziom szczegółowości jest znacznie wyższy niż w przypadku np. diagramu klas i obiektów, skupiających się jedynie na całych klasach. Diagram struktur złożonych Diagramy struktur złożonych mogą zawierać: struktury - zespoły powiązanych elementów oraz konektory - łącza komunikacyjne (ich typ nie jest określony). Aby pokazać funkcje realizowane przez daną strukturę, ale bez podawania szczegółów ich realizacji można korzystać z portów i interfejsów (dostarczanych/wymaganych) Diagram struktur złożonych Obiekt złożony składa się z części, które reprezentują poszczególne składowe obiektu realizujące poszczególne funkcje obiektu. Komunikacja pomiędzy obiektem, a jego środowiskiem przebiega poprzez port (oznaczany jako mały prostokąt umieszczony na krawędzi obiektu). Porty są połączone z częściami obiektu, które są odpowiedzialne za realizacje tych funkcji. Diagramy struktur złożonych mogą także zawierać interfejsy wewnętrzne (równoważne klasom w pełni abstrakcyjnym) i interfejsy udostępnione (widoczne na zewnątrz obiektu). Diagram struktur złożonych Diagram profili UML Profile to mechanizm, dzięki któremu można dostosować język modelowania do potrzeb projektowych. Profile zawierają kompletny i spójny zestaw elementów dedykowanych do modelowania określonej dziedziny, np. systemów czasu rzeczywistego, baz danych, logiki biznesowej. Zdefiniowane i zaakceptowane profile pozwalają uniknąć różnorodnych rozszerzeń dokonywanych przez użytkowników na własną rękę, co znacznie zmniejszało czytelność i komunikatywność model. Diagram profili Profil UML bazuje na stereotypach. Stereotypy rozszerzają notację UML, dzięki ich wykorzystaniu można rozszerzyć informacje dotyczące klasy. Oznacza to, że profil zawiera definicje dla określonych stereotypów, które są przypisywane standardowym typom elementów lub relacji UML.
Na przykład dla elementu typu Class można zdefiniować stereotypy:
• biznes - oznaczający byt mający znaczenie z biznesowego punktu widzenia, • web page - oznaczający byt, który jest związany z interfejsem użytkownika, • control - oznaczający byt, który kontroluje zachowanie i cykl życia bytów biznesowych, których zmiana inicjowana jest przez użytkownika. Diagram profili Diagram profili Diagram czynności Diagram czynności/aktywności jest diagramem interakcji, który służy do modelowania dynamicznych aspektów systemu. Służy do modelowania czynności i zakresu odpowiedzialności elementów bądź użytkowników systemu. Jego zasadniczą funkcją jest przedstawienie sekwencji kroków, które są wykonywane przez modelowany fragment systemu. Diagram czynności Czynność może być interpretowana różnie, w zależności od perspektywy: jako zadanie do wykonania i to zarówno przez człowieka, jak i przez komputer (z perspektywy pojęciowej) czy też np. jako pojedyncza metoda (z perspektywy projektowej).
Akcja reprezentuje wykonanie pojedynczej operacji, której nie można
rozbić na mniejsze jednostki na diagramie. Na przykład akcjami mogą być funkcje matematyczne. Diagram czynności Diagram czynności Diagram czynności Diagramy stanów Diagramy stanów opisują wszystkie możliwe stany, do których może przejść dany obiekt, a także to, jak zmienia się stan obiektu pod wpływem zdarzeń do niego docierających. Dzięki temu możliwe jest: • odkrycie brakujących informacji, • kontrola kompletności wymagań (związanych z danymi i zachowaniem), • wyjaśnianie niejasności, • identyfikacja konfliktów wymagań i ich rozstrzyganie. Diagramy stanów Stosując diagramy stanów, nie należy rysować ich dla każdego systemu. Mimo że jest to czasami stosowane, to prawie zawsze jest stratą czasu. Diagramy stanów stosuje się tylko kiedy występuje interesujące zachowanie, i tam, gdzie narysowanie diagramu stanów pomoże zrozumieć, jak zachodzi dany proces. Diagramy stanów W diagramie stanów występują również zdarzenia. Zdarzenia są opisane jako te, które pojawiają się w wewnętrznym przedziale przejściowym stanu lub na przejściu między stanami. Zdarzenie jest chwilą, która może być znacząca na zachowanie obiektów w dalszym procesie. Diagramy stanów Występują cztery typy zdarzeń: Zdarzenie wywołania - polegające na wywołaniu operacji. Zdarzenie sygnałowe – reprezentuje nazwany obiekt, asynchronicznie wysyłany przez jeden obiekt i odbierany przez drugi. Zdarzenie zmiany - występuje, gdy określony warunek zostanie. spełniony. Zdarzenie czasowe - występuje po upływie określonego czasu. Diagramy stanów Diagram komunikacji Diagram komunikacji jest jednym z diagramów interakcji. Przedstawia sposób wymiany komunikatów pomiędzy obiektami uczestniczącymi w interakcji zgodnie ze scenariuszem przypadków użycia. Celem stosowania diagramów komunikacji jest określenie komunikatów wymienianych pomiędzy obiektami, wskazanie relacji pomiędzy obiektami, ustalenie kolejności wysyłania komunikatów, ułatwienie zrozumienia interakcji. Diagramów komunikacji używa się w sytuacji, gdy autor koncentruje się na połączeniach pomiędzy uczestnikami danej interakcji. Diagram komunikacji Diagram interakcji Przeglądowy diagram interakcji jest swego rodzaju połączeniem diagramu aktywności i diagramów pokazującym dynamikę systemu. Każda z czynności została zastąpiona samą interakcją. Zadaniem tego diagramu jest wizualizacja współpracy ze sobą diagramów interakcji. Bazują na istniejącym diagramie klas i opisują one sposób w jaki obiekty współpracują ze sobą w celu zrealizowania konkretnej funkcji systemu (przypadku użycia lub scenariusza danego przypadku użycia). Pozwalają na lepsze zrozumienie zdarzeń zachodzących pomiędzy nimi. Diagram interakcji Diagram przeglądu interakcji ma notację bardzo podobną do notacji diagramu aktywności (czynności), z tą różnicą, że zaokrąglone prostokąty, które reprezentowały zadania wykonywane przez system, są zastąpione przez zwykłe prostokąty, które mogą mieć dwie postacie: Prostokąt zawiera jakiś diagram interakcji – diagram współpracy (komunikacji), diagram przebiegu, diagram przebiegów czasowych lub inny diagram przeglądu interakcji. Prostokąt zawiera odnośnik do już istniejącego diagramu interakcji. Obecność odnośnika jest zaznaczona słowem ref w lewym górnym rogu diagramu Diagram interakcji Diagram interakcji Diagram czasowy, harmonogramowania Diagram czasowy, przebiegów czasowych reprezentuje na osi czasu zmiany dopuszczalnych stanów, jakie może przyjmować uczestnik w interakcji. Wykorzystywane są do przedstawiania zmian stanu lub wartości jednego lub więcej elementów w czasie. Mogą również pokazywać interakcje pomiędzy zdarzeniami czasowymi a czasem oraz ograniczeniami ich czasu trwania. Diagram przebiegów czasowych obrazuje zachowanie obiektu z naciskiem na dokładne określenie czasu, w którym obiekt jest poddawany jakimś zmianą lub sam wykonuje jakieś działanie. Diagram czasowy, harmonogramowania Diagram sterowania interakcją Diagramy sterowania interakcją udostępniają widok wzajemnej współpracy kilku interakcji wykorzystywanych w celu implementacji pewnej części systemu, na przykład danego przypadku użycia. Diagramy sterowania interakcją mogą zawierać sekwencje, komunikacje, opis interakcji oraz diagramy zależności czasowych. Większość notacji dla tych diagramów jest taka sama jak dla diagramów czynności. Jednakże wprowadzają one dwa nowe elementy: interakcję występowania oraz elementy interakcji. Diagram sterowania interakcją Diagram sterowania interakcją Diagram rozlokowania Diagram rozlokowania przedstawia sieć węzłów połączonych ścieżkami komunikowania (węzły reprezentują przede wszystkim sprzęt komputerowy i sieciowy), z osadzonymi na nich artefaktami. Węzeł to fizyczny lub logiczny zasób przetwarzający, na którym osadzone są artefakty użytkowanego systemu. Może on przyjmować formę określonego rodzaju sprzętu ICT, jak również platform użytkowania systemu, którymi mogą być m.in. systemy operacyjne, platformy e-learningowe (np. Moodle), systemy ERP, CRM, systemy zarządzania bazami danych. Diagram rozlokowania Diagram rozlokowania pozwala na modelowanie rozmieszczenia infrastruktury oraz platform użytkownika systemu. Diagramy rozlokowania identyfikują sprzęt informatyczny użytkowany w systemie, na którym wyspecyfikowane wcześniej komponenty oprogramowania systemu są zainstalowane. Zakłada się, że diagramy rozlokowania będą prezentować finalną postać infrastruktury sprzętowej, niezbędną do implementacji systemu zgodnie z przyjętymi wymaganiami funkcjonalnymi i pozafunkcjonalnymi. Diagram rozlokowania Ważne! Twórz tylko potrzebne diagramy Łatwość tworzenia diagramów może prowadzić do niepotrzebnego ich budowania i zaciemnienia modelu!