Wykad 2 UML wprowadzenie Ryszard Myhan UML geneza
- Slides: 38
Wykład 2 UML – wprowadzenie Ryszard Myhan
UML – geneza UML (Unified Modeling Language) język modelowania obiektowego systemów i procesów. o Jest syntezą notacji występujących w obiektowych metodykach analizy i projektowania systemów, które pojawiły się w końcu lat 80 -tych i na początku lat 90 -tych. o Powstał w wyniku połączenia metodyk: OODA (Grady Booch), Objectory (Ivar Jacobson) i OMT (James Rumbaugh). Źródło: http: //brasil. cel. agh. edu. p Modelowanie obiektowe UML – wprowadzenie 2
UML – historia • 1994 - prace nad Metodą Zunifikowaną • 1995 - wersja 0. 9 UML Źródło: https: //www. visual-paradigm. com/guide/uml-unified-modeling-language/what-is-uml/ Modelowanie obiektowe UML – wprowadzenie 3
Czym jest UML Zaprojektowany (około połowy lat 90. XX wieku) jako narzędzie do modelowania systemów informatycznych UML jest językiem, który: o o pozwala tworzyć modele różnych systemów; pozwala obrazować, specyfikować, tworzyć i dokumentować elementy systemu; ułatwia wymianę informacji pomiędzy przyszłymi użytkownikami systemu, menadżerami, analitykami, projektantami, programistami i testerami; ułatwia wykorzystanie zalet programowania obiektowego. UML jest językiem modelowania opartym o pojęcia obiektowości (obiekty, klasy, atrybuty, związki, agregacje, dziedziczenie, metody i inne). Modelowanie obiektowe UML – wprowadzenie 4
Czym nie jest UML nie jest językiem programowania - choć generowanie kodu jest możliwe na podstawie niektórych diagramów, rzadko jest to stosowane. UML nie jest narzędziem - choć zawiera specyfikacje dla narzędzi. UML nie jest metodyką - nie definiuje procesu tworzenia oprogramowania. UML nie jest sposobem na analizę i projektowanie systemów. W odróżnieniu od metodyk obiektowych, które oprócz notacji ustalają także postępowanie w każdej fazie projektu, UML jest tylko zestawem pojęć i notacji. Modelowanie obiektowe UML – wprowadzenie 5
Czym jest UML Źródło: http: //wazniak. mimuw. edu. pl/images/7/76/Io-5 -wyk. pdf Modelowanie obiektowe UML – wprowadzenie 6
UML – język modelowania UML powstał na bazie wieloletnich doświadczeń analityków i projektantów. o Jego zadaniem jest definiowanie, konstruowanie, obrazowanie i dokumentowanie części składowych dowolnego systemu. o Jest to język modelowania, a wiec opisuje, co system ma robić, a nie jak go zaimplementować. UML dostarcza mechanizmów ułatwiających efektywną wymianę informacji i przekazywanie projektów innym. UML zawiera wiele elementów graficznych grupowanych w postaci diagramów. o Celem diagramów jest pokazanie wielu perspektyw systemu, zestaw perspektyw stanowi model. Modelowanie obiektowe UML – wprowadzenie 7
UML – wiele perspektyw Analizując dowolne zadanie dotyczące inżynierii, można uwzględnić wiele różnych punktów widzenia: o sposób rozwiązania zadania (będącego przedmiotem systemu) – płaszczyzna projektowa; o funkcjonalność (co system ma robić) – płaszczyzna przypadków użycia; o procesy, jakie zachodzą w systemie - płaszczyzna procesowa; o sposób połączenia wszystkich części systemu w spójną całość – płaszczyzna implementacyjna; o sprzęt potrzebny do uruchomienia systemu – płaszczyzna wdrożeniowa. Modelowanie obiektowe UML – wprowadzenie 8
UML – wiele perspektyw Modelowanie obiektowe UML – wprowadzenie 9
UML – wiele zastosowań UML może być z powodzeniem stosowany nie tylko w modelowaniu systemów informatycznych, ale też innych procesów i struktur, np. : o o o o o Usługi bankowe i finansowe Transport i telekomunikacja Przemysł obronny i lotniczy Sprzedaż detaliczna Elektronika i medycyna Zarządzanie i administracja Bezpieczeństwo Nauka. . Modelowanie obiektowe UML – wprowadzenie 10
Podstawowe elementy UML v Główne kwalifikatory Ø Ø Ø Ø v v v Kwalifikatory to byty modelu mogące posiadać egzemplarze. Klasa (Class) Obiekt (Object) Interfejs (Interface) Komponent (Component) Węzeł (Node) Aktor (Actor) Przypadek Użycia (Use Case) Relacje Ø Ø Zależność (Dependency) Asocjacja (Association) Generalizacja (Generalization) Realizacja (Realization) Komentarze (Note) Rozszerzanie UML Modelowanie obiektowe UML – wprowadzenie 11
Główne kwalifikatory – klasa v Klasa (Class) w modelu UML jest reprezentowana przez prostokąt z umieszczoną wewnątrz nazwą klasy. v Oddzielona część prostokąta pod nazwą klasy może zawierać atrybuty klasy, czyli metody (funkcje), właściwości (properties) lub pola (zmienne). o v Każdy atrybut pokazywany jest przynajmniej jako nazwa, opcjonalnie także z typem, wartością i innymi cechami. Metody klasy mogą znajdować się w osobnej części prostokąta. o Każda metoda jest pokazywana przynajmniej jako nazwa, a dodatkowo także ze swoimi parametrami i zwracanym typem. Modelowanie obiektowe UML – wprowadzenie 12
Główne kwalifikatory – klasa v Atrybuty oraz metody mogą mieć też oznaczoną widoczność (zakres znaczenia ich nazw) jak następuje: § § "+" (public) – publiczny, dostęp globalny; "#" (protected) – chroniony, dostęp dla pochodnych klasy; "−" (private) – prywatny, dostępny tylko w obrębie klasy; "~" (package) – pakiet, dostępny w obrębie danego projektu. Nazwa Klasy - prywatne. Pole : int& # chronione. Pole : char* ~ pakietowe. Pole : boolean[1. . *] + publiczne. Pole : double[10] {unique} - poczatkowe. Pole : int = 42 {read. Only} + statyczna. Metoda() : void {pusty typ danych} + metoda(in parametr 1 : char*, parametr 2 : int = 10) : int* Modelowanie obiektowe UML – wprowadzenie 13
Główne kwalifikatory – obiekt v Obiekt (Object) w modelu UML (podobnie jak klasa) jest reprezentowana przez prostokąt, lecz reprezentuje konkretne wystąpienie (instancję) danej klasy. v Obiekt jest bytem, który posiada swój stan i zbiór zdefiniowanych operacji działających na tym stanie. o o v Stan jest reprezentowany jako zbiór atrybutów (attributes) obiektu. Operacje (operations) skojarzone z obiektem służą do oferowania usług innym obiektom (klientom), które mogą żądać tych usług, gdy potrzebują wyników ich działania. Obiekt reprezentuje: o o realizację dla pewnego konkretnego systemu (gdy system jest statyczny), lub stan systemu w pewnej określonej chwili czasu (gdy system jest dynamiczny). Modelowanie obiektowe UML – wprowadzenie 14
Główne kwalifikatory – obiekt Klasa Obiekty – instancje klasy Pracownik 125 : Pracownik + nazwisko : string + nazwisko = Kowalski + imie : string + imie = Jan + data. Urodzenia : Date + data. Urodzenia = 23. 12. 1985 + wynagrodzenie : integer = 0 + wynagrodzenie = 2560 + stan : {zatrudniony, zwolniony, emeryt} + stan = zatrudniony - numer. Pracownika : integer {unique}) - numer. Pracownika : 125 + zatrudnij() 022 : Pracownik + zwolnij() + nazwisko = Antonina + przejdźNa. Emeryturę() + imie = Maria + daj. Podwyzke(kwota) # sprawdz. Poprawnosc. Numeru. PESEL() + data. Urodzenia = 11. 01. 1955 + wynagrodzenie = 0 + stan = emeryt - numer. Pracownika : 22 Modelowanie obiektowe UML – wprowadzenie 15
Główne kwalifikatory – interfejs v Interfejs (Interface) – jest to zbiór operacji specyfikujący pewien "wycinek" zachowania danego elementu modelu. o W UML interfejsy są zestawem operacji, które wyznaczają usługi oferowane przez klasę i sposobem na przejrzystą prezentację projektu. o Interfejs zawiera jedynie specyfikację metod, bez ich implementacji. o Do oznaczenia interfejsu w UML stosuje się stereotyp «interface» , który na diagramie klas poprzedza (jak każdy interfejs) nazwę klasy. Modelowanie obiektowe UML – wprowadzenie 16
Główne kwalifikatory – interfejs Osoba (abstrakt) imię <<interface>> IPracownik nazwisko ……. . data urodzenia ……. . policz wiek + zmień pensję Pracownik pensja stanowisko zmień pensję Firma • Diagram przedstawia interfejs o nazwie IPracownik oraz klasę Pracownik, która zawiera implementacje metod wyspecyfikowanych w tym interfejsie. • Związek pomiędzy interfejsem a klasą implementującą metody zaznaczano za pomocą symbolu realizacji (przerywana linia zakończona pustym trójkątem). • Związek pomiędzy interfejsem a klasą, która korzysta z tego interfejsu, zaznaczany jest za pomocą symbolu zależności, (przerywana linia zakończona grotem). Modelowanie obiektowe UML – wprowadzenie 17
Główne kwalifikatory – komponent v Komponent (Component) to wymienny, wykonywalny fragment systemu o hermetyzowanych szczegółach implementacyjnych. o Komponenty służą do ponownego wykorzystania poprzez połączenie ich z innymi komponentami. Źródło: http: //brasil. cel. agh. edu. pl/~09 sbfraczek/images/komponent/9. png Modelowanie obiektowe UML – wprowadzenie 18
Główne kwalifikatory – węzeł v Węzły pozwalają wyrazić strukturę przepływów: o o węzeł początkowy(initial node) – rozpoczynający przepływy w momencie wywołania czynności; węzeł końcowy (activity finale node) – element kończący aktywność; węzeł rozwidlenia (fork node) – element, który pozwala na wykonywanie czynności współbieżnych; węzeł scalenia (join node) – łączy i synchronizuje wchodzące przepływy; Modelowanie obiektowe UML – wprowadzenie 19
Główne kwalifikatory – węzeł v Węzły pozwalają wyrazić strukturę przepływów (cd. ): o węzeł decyzyjny (decision node) – to element, który umożliwia dokonanie wyboru pomiędzy kilkoma możliwościami. § § o Umieszczenie węzła decyzyjnego na diagramie oznacza, że nie ma jednej ścieżki wykonywania poszczególnych aktywności (istnieją ścieżki alternatywne). Węzeł decyzyjny może mieć jedno wejście dla przepływu sterującego i minimalnie dwa wyjścia przepływów. węzeł łączący (merge node) – łączy różne przepływy pochodzące z wyboru (tylko jeden może być realizowany) Modelowanie obiektowe UML – wprowadzenie 20
Główne kwalifikatory – zdarzenie czasowe v Zdarzenia czasowe (time event) – służą do modelowania zdarzeń zależnych od czasu o o o Zdarzeń czasowych używa się do modelowania okresu oczekiwania oraz przepływów cyklicznych (tj. przepływów rozpoczynających się w określonych momentach). Okres oczekiwania podaje się w postaci określonej daty lub też w postaci względnej (liczba dni, godzin, minut, itp. ) Zdarzenia czasowe mogą się pojawiać w dowolnym miejscu czynności, w tym również w miejsce węzła początkowego. Modelowanie obiektowe UML – wprowadzenie 21
Główne kwalifikatory – aktor v Aktor (Actor) – obiekt, który prowadzi interakcję z systemem jednak sam do niego nie należy. Modelowanie obiektowe UML – wprowadzenie 22
Główne kwalifikatory – aktor v Aktor o o inicjuje wykonanie funkcji systemu; wymaga dostępu do systemu; reprezentuje punkt widzenia na system; jest osobą fizyczną, rolą w systemie lub systemem zewnętrznym. Aktor Modelowanie obiektowe UML – wprowadzenie 23
Główne kwalifikatory – aktor v Aktor w UMLu jest klasą (nie obiektem) o nadanym stereotypie Actor. o Klasyczny symbol aktora może być stereotypowany aby rozróżnić między różnymi typami aktorów. klasyczny (człowiek) Modelowanie obiektowe system zewnętrzny UML – wprowadzenie urządzenie czas 24
Główne kwalifikatory – przypadki użycia v Przypadki użycia (Use Case) odwzorowują strukturę systemu tak, jak ją widzą jego użytkownicy. o v Ich głównym celem jest odwzorowanie funkcji projektowanego systemu w taki sposób, w jaki będą je widzieć jego użytkownicy. Przypadek użycia specyfikuje zachowanie systemu lub jego części. o Jest to opis zbioru ciągów akcji (i ich wariantów) wykonywanych przez system w celu dostarczenia określonemu aktorowi godnego uwagi wyniku. o Jest to zbiór scenariuszy powiązanych ze sobą wspólnym celem (użytkownika) Modelowanie obiektowe UML – wprowadzenie 25
Główne kwalifikatory – przypadki użycia v Przypadki użycia modeluje się w granicach budowanego systemu. o o Nazwę, która powinna jasno i precyzyjnie określać cel, jaki aktor chce osiągnąć, umieszcza się w elipsie. Następnie łączy aktorów z przypadkami użycia, w których będą brali udział. Źródło: http: //owymaganiach. pl/? s=przypadek+użycia Modelowanie obiektowe UML – wprowadzenie 26
Główne kwalifikatory – przypadki użycia v Przypadek użycia reprezentuje kompletną funkcję dostępną dla aktora. v Przypadki użycia mogą być powiązane zależnościami: o Uszczegółowienie – specjalizowana wersja przypadku użycia. o Rozszerzanie – dodatkowa funkcjonalność przypadku użycia. o Zawieranie – wykonanie. Modelowanie obiektowe UML – wprowadzenie 27
Główne kwalifikatory – przypadki użycia Źródło: http: //wazniak. mimuw. edu. pl/images/7/76/Io-5 -wyk. pdf Modelowanie obiektowe UML – wprowadzenie 28
Relacje v Relacje (relationship) to związki zachodzący miedzy klasami lub obiektami. v Relacje to fizyczny lub pojęciowy związek między obiektami, odwzorowujący związek istniejący między odpowiednimi bytami w analizowanej dziedzinie przedmiotowej. o Współpraca klas jest definiowana poprzez tzw. relacje, reprezentowane przez linie (krawędzie) z odpowiednim zakończeniem. o Podstawowe związki to: § § Asocjacja (association) Uogólnienie (generalisation) Zależność (dependence) Realizacja (realisation) Modelowanie obiektowe UML – wprowadzenie 29
Podstawowe związki – asocjacje v Asocjacje (association) oznaczają istnienie powiązania pomiędzy klasami. o o o Obiekty związane asocjacją są od siebie niezależne. Asocjacje oznaczane są za pomocą odcinków łączących obiekty (na odcinkach umieszcza się nazwy asocjacji). Asocjacje: § § posiadają liczność (krotność) wiążą 1 lub więcej klas mogą być nazwane i posiadać role mogą mieć własności i ograniczenia Modelowanie obiektowe UML – wprowadzenie 30
Podstawowe związki – asocjacje v Asocjacje mogą być wyposażone w oznaczenia liczności (mullttiiplliiciitty) – krotności związku. o Liczność oznacza, ile obiektów danej klasy jest równocześnie związana z obiektami innej klasy o Zwykle określa się to poprzez parę liczb (znaków), oznaczającą minimalną i maksymalną liczbę takich obiektów. każde państwo posiada dokładnie jedną stolicę; każda stolica jest stolicą dokładnie jednego państwa firma zatrudnia dowolną liczbę pracowników; pracownik pracuje w dokładnie jednej firmie; osoba może, ale nie musi, mieć przypisany adres; do danego adresu może być przypisanych wiele osób w firmie pracuje co najmniej jedna osoba; osoba pracuje dla dokładnie jednej firmy Modelowanie obiektowe UML – wprowadzenie 31
Podstawowe związki – asocjacje v Asocjacja może mieć przypisaną nazwę, która określa istotę danego związku. o v Aby uniknąć niejednoznaczności, można podać kierunek odczytu w postaci trójkątnego znacznika umieszczonego za nazwą. Asocjacja może mieć przypisane role (role), które określają zarówno funkcję, jaką klasa pełni w asocjacji, jak i kierunek nawigowania. Modelowanie obiektowe UML – wprowadzenie 32
Podstawowe związki – asocjacje v Dla asocjacji (podobnie jak dla klasy) można zdefiniować opisujące ją atrybuty, tzw. atrybuty asocjacji. o o W języku UML atrybuty asocjacji są umieszczane w specjalnej klasie, zwanej klasą asocjacji, która jest połączona z asocjacją za pomocą przerywanej linii. Oprócz atrybutów, klasa asocjacji, tak jak każda "zwykła" klasa, może posiadać takie własności, jak asocjacje, metody itd. Źródło: http: //edu. pjwstk. edu. pl/wyklady/pri/scb/index 60. html Modelowanie obiektowe UML – wprowadzenie 33
Podstawowe związki – agregacja v Agregacja reprezentuje związek typu całość-część. o Występuje tutaj relacja posiadania — co oznacza, że elementy mogą należeć do większej całości, jednak również mogą istnieć bez niej. o Na diagramie agregację oznacza się za pomocą linii zakończonej pustym rombem. agregacja częściowa agregacja całkowita Źródło: http: //brasil. cel. agh. edu. pl/~09 sbfraczek/diagram-klas, 1, 11. html Modelowanie obiektowe UML – wprowadzenie 34
Podstawowe związki – generalizacja v Generalizacja-specjalizacja jest związkiem łączącym pewną klasę, tzw. nadklasę, z innymi klasami, tzw. podklasami, przy czym nadklasa modeluje byty bardziej ogólne niż byty modelowane przez podklasy. o Podklasa posiada wszystkie własności swojej nadklasy; poza tym podklasa może posiadać (i zazwyczaj posiada) także pewne dodatkowe własności. Modelowanie obiektowe UML – wprowadzenie 35
Podstawowe związki – realizacja v Realizacja (Realization) jest to związek między klasyfikatorami, z których jeden określa kontrakt (specyfikację), natomiast drugi zapewnia wywiązanie się (realizację) kontraktu. o Relacja realizacji łączy logiczny byt z bardziej konkretnym bytem, który go realizuje. Obiekt danych Dane rozliczenia realizuje obiekt Usługa aplikacji Rozliczanie jest realizowana przez komponent aplikacji Aplikacja finansowa. Modelowanie obiektowe biznesowy Faktura UML – wprowadzenie 36
UML – ograniczenia i komentarze v Ograniczenia służą do specyfikowania restrykcji nakładanych na elementy modelu. o Ograniczenia można zapisywać w języku naturalnym, w języku (pół)formalnym (np. języku OCL będącym częścią standardu UML), w postaci formuł matematycznych lub fragmentów kodu (czy też pseudokodu). Język angielski Język polski {complete} {podział całkowity} {incomplete} {podział częściowy} {disjoint} {podział rozłączny} {overlapping} {podział nierozłączny} {or} {lub} (suma logiczna) {xor} {albo} (różnica) {ordered} {uporządkowane} {subset} {podzbiór} {bag} {wielozbiór} {hierarchy} {hierarchia} Modelowanie obiektowe UML – wprowadzenie 37
UML – ograniczenia i komentarze v Komentarze, podobnie jak ograniczenia, są umieszczane w prostokącie z zagiętym rogiem, ale w przeciwieństwie do ograniczeń nie stosuje się do nich nawiasów klamrowych. o Główna różnica polega jednak na tym, że komentarze nie mają wpływu na semantykę modelu. Modelowanie obiektowe UML – wprowadzenie 38
- Obrzedy wstepne mszy sw
- Geneza nazwy romantyzm
- Plan prezentacji multimedialnej
- Mds metoda dobrego startu
- Gimp wprowadzenie
- Programowanie imperatywne
- Wprowadzenie do systemów baz danych
- Wygląd eunice
- Geneza zarządzania zasobami ludzkimi
- Henryk sienkiewicz epoka
- Geneza utworu syzyfowe prace
- Geneza utworu balladyna
- Geneza utworu wesele
- Geneza społeczeństwa obywatelskiego
- Emmanuelle walkowiak
- Pregiel
- Ryszard walkowiak
- Ryszard przymus wikipedia
- Ryszard bugajski
- Ośrodek mowy w mózgu
- Polska ryszard przymus
- Piotr pietraszek pwr
- Riedel ryszard biografia
- Ryszard dobrołowicz
- Unik podparty
- Ryszard jadach
- Ryszard szarfenberg
- Ryszard riedel rysunki
- Ryszard siwiec
- Ryszard walkowiak
- Podpór łukiem leżąc bokiem
- Interaction overview diagram
- Kullanıcı senaryosu diyagramı
- Powertype uml
- Abstract factory uml
- Uml
- Logic design uml
- Uml interfaces are used to:
- Uml cardinalidad