Język UML w modelowaniu systemów informatycznych



Podobne dokumenty
Podstawy modelowania w języku UML

UML w Visual Studio. Michał Ciećwierz

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Podstawy modelowania w j zyku UML

Michał Adamczyk. Język UML

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Podstawy języka UML UML

Dr Katarzyna Grzesiak-Koped

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Unified Modeling Language

UML cz. I. UML cz. I 1/1

Podstawy języka UML UML

Identyfikacja i modelowanie struktur i procesów biologicznych

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Podstawy projektowania systemów komputerowych

WPROWADZENIE DO UML-a

Podstawy programowania III WYKŁAD 4

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Modelowanie i analiza systemów informatycznych

Identyfikacja i modelowanie struktur i procesów biologicznych

STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA

UML. zastosowanie i projektowanie w języku UML

Unified Modeling Language

Rysunek 1: Przykłady graficznej prezentacji klas.

Spis treúci. 1. Wprowadzenie... 13

MODELOWANIE OBIEKTOWE

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela

Inżynieria oprogramowania. Jan Magott

Język UML w modelowaniu systemów informatycznych

Wprowadzenie do UML, przykład użycia kolizja

Podstawy inżynierii oprogramowania

Diagramy UML, przykład problemu kolizji

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Język UML w modelowaniu systemów informatycznych

Podstawy języka UML2 w realnych projektach

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Projektowanie systemów informatycznych. wykład 6

Wykład 1 Inżynieria Oprogramowania

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Podstawy modelowania w języku UML

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Język UML w modelowaniu systemów informatycznych

Diagramy klas. WYKŁAD Piotr Ciskowski

UML cz. II. UML cz. II 1/38

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

Język UML w modelowaniu systemów informatycznych

Diagramy zachowania. Diagramy struktury. Przypadków użycia. Stanów. Przeglądu interakcji widoku interakcji (ang. interaction overview)

Analiza i projektowanie aplikacji Java

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

5.WYBRANE METODY I NARZĘDZIA MODELOWANIA SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM JĘZYKA UML

Diagramy zachowania. Diagramy struktury. przypadki użycia. Stanów. Przeglądu interakcji widoku interakcji (ang. interaction overview)

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela

Diagramy klas. dr Jarosław Skaruz

Rok akademicki: 2012/2013 Kod: IET SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Podstawy modelowania programów Kod przedmiotu

Język UML w modelowaniu systemów informatycznych

Narzędzia CASE dla.net. Łukasz Popiel

Faza analizy (modelowania) Faza projektowania

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Unified Modeling Language. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn

Analiza i projektowanie obiektowe 2016/2017. Wykład 1: Wprowadzenie oraz cykl życia oprogramowania i faza określenia wymagań

Modelowanie obiektowe

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Podstawy języka UML2 w realnych projektach

Podstawy Inżynierii Oprogramowania. Wykład 6 Modele systemu

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

APIO. W5 PRZYPADKI UŻYCIA. SCENARIUSZE PISANIE SCENARIUSZY RÓŻNE PODEJŚCIA RÓŻNE SZABLONY. dr inż. Grażyna Hołodnik-Janczura W8/K4

TECHNOLOGIE OBIEKTOWE. Wykład 3

PRZEWODNIK PO PRZEDMIOCIE

UML [ Unified Modeling Language ]

Inżynieria oprogramowania

UML. dr inż. Marcin Pietroo

INŻYNIERIA OPROGRAMOWANIA. Język UML. Budowa modelu obiektowego i behawioralnego

Modelowanie i analiza systemów informatycznych

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Projektowanie systemów multimedialnych

Inżynieria oprogramowania I

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

UPEDU: Analiza i projektowanie (ang. analysis and design discipline)

UML cz. III. UML cz. III 1/36

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Transkrypt:

Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 1

Cel Język UML to język modelowania systemów informatycznych i ma w inżynierii oprogramowania bardzo duże znaczenie. W trakcie wykładu zostaną przedstawione następujące zagadnienia: Definicja i historia UML Widoki modelu 4+1 Kruchtena Diagramy UML - obecny standard to 2.5. Ćwiczenia bedą realizowane za pomocą narzędzia Umbrello https://umbrello.kde.org/. Przed przystąpieniem do ćwiczeń należy zapozanać się z wykładem.

Literatura - strony, fora, blogi itp. I G. Booch, J. Rumbaugh, I. Jacobson I: The Unified Modeling Language User Guide (2nd Edition). Addison-Wesley Professional, 2005. Eric J. Naiburg, Robert A. Maksimchuk: UML dla zwykłych śmiertelników. PWN, 2007. Strona domowa UML: http://www.uml.org/ Specyfikacja języka: http://www.omg.org/spec/uml/ UML 2.5: http: //www.uml-diagrams.org/uml-25-diagrams.html Tutoriale: http://www.sparxsystems.com/uml-tutorial.html http://wazniak.mimuw.edu.pl/, przedmiot:inżynieria oprogramowania

Literatura - strony, fora, blogi itp. II Notatki AGH: http://brasil.cel.agh.edu.pl/~09sbfraczek/. Autor: Beata Frączek.

Modelowanie - zagadnienia związane Definicja modelu i modelowania Znaczenie modelu

Model, modelowanie - definicja Model przedstawia pewien fragment rzeczywistości w uproszczony, ale formalny i uporządkowany sposób. Model poprzez system założeń (dotyczących wyglądu i zachowania), pojęć (związanych z daną dziedziną i wymaganiami) oraz zależności między nimi pozwala lepiej zrozumieć złożoną rzeczywistość. Modelowanie to proces prowadzący do zdefiniowania/skonstruowania modelu.

Znaczenie modelu Umożliwia odzwierciedlenie/upraszczenie rzeczywistości. Umożliwia przejrzystą prezentację projektu. Pozwala zapanować nad złożonością projektu Umożliwia wychwycenie problemów projektowych, które mogłyby wypłynąć podczas kodowania, znacznie utrudniając pracę, bądź też powodując konieczność przeprojektowania zakodowanej już aplikacji. Ułatwia komunikację pomiędzy klientem i realizatorem (twórcą). Podnosi jakość oprogramowania: niezawodność, adaptacyjność.

Znaczenie modelu Źródło: https://www.flickr.com/photos/hoalit/355398491/

Definicja UML UML znaczy UNIFIED MODELING LANGUAGE, czyli zunifikowany język modelowania. UML to znormalizowany graficzny język modelowania, służący do opisu projektu systemu informatycznego. UML może być stosowany do wizualizacji, specyfikowania, tworzenia, analizy i dokumentowania procesu budowy (obiektowego) systemu informatycznego.

Definicja UML według OMG The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system s blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components.

UML - zastosowania UML znajduje zastosowanie w następujących obszarach: Systemy informatyczne dla przedsiębiorstw Bankowość i usługi finansowe Telekomunikacja Obronność, np. lotnicze systemy bojowe Transport Sprzedaż Nauka i badania Rozproszone usług internetowych itp.

Twórcy UML Grady Booch Ivar Jacobson James Rumbaugh Źródło: https://en. wikipedia.org/ wiki/grady_booch Źródło: https: //en.wikipedia. org/wiki/ivar_ Jacobson Źródło: https://en. wikipedia.org/ wiki/grady_booch

Twórcy UML Grady Booch. Główny szef Rational Corp oraz redaktor magazynu Software Development. Opracował metodę obiektową Object Oriented Analysis and Design (OOAD) zwaną metodą Boocha. Więcej informacji: https://en.wikipedia.org/wiki/grady_booch Ivar Jacobson. Szwedzki naukowiec, informatyk i inżynier oprogramowania, znany jako główny twórca Object Oriented Software Engineering (OOSE) oraz RUP (Objectory, Rational Unified Process). Więcej informacji: https://en.wikipedia.org/wiki/ivar_jacobson James Rumbaugh. Amerykański naukowiec, informatyk i specjalista metodologii obiektowych. Znany jest jako twórca Object Modeling Technique (OMT). Więcej informacji: https://en.wikipedia.org/wiki/james_rumbaugh

Historia UML I Wyczerpujący materiał dotyczący historii UML można znaleźć w książce: James Rumbaugh, Ivar Jacobson, Grady Booch. The Unified Modeling Language Reference Manual. Second Edition. Addison Wesley, 2005. Oto wybrane informacje: połowa lat 1990 - istnieje ponad 50 konkurencyjnych metod obiektowych analizy i projektowania oprogramowania. Powszechnie stosowane metody obiektowe to metody Grady Boocha (metoda OOAD), James Rumbaugha (metoda OMT) oraz Ivara Jacobsona (metoda OOSE): Opracowanie ujednoliconego języka modelowania wydaje się niezbędne.

Historia UML II 1994, 1995 - Grady Booch, Ivar Jacobson oraz James Rumbaugh rozpoczynają pracę w Rational Software Corporation Październik 1994 - firma Rational Software Corporation (od lutego 2003 część IBM) rozpoczęła oficjalne prace nad UML. 1995 - opublikowanie roboczej wersji UML 0.8 1996 - opublikowanie wersji UML 0.9; integracja metod obiektowych Boocha, metody OMT (ang. Object Modeling Technique, J. Rumbaugh), metody OOSE (ang. Object-Oriented Software Engineering, Ivar Jacobsen) oraz elementów innych istniejących metod obiektowych. 1996 - powstaje konsorcjum firm (HewlettPackard, IBM, Microsoft, Oracle, Rational SC). Wynikiem współpracy staje się UML 1.0.

Historia UML III 1997 - UML 1.0 zostaje przekazany grupie Object Management Group (OMG), która do dzisiaj zajmuje się jego rozwojem. Kolejne lata - OMG wypracowuje wersje 1.1, 1.2, 1.3, 1.4, 1.4.2. Wersja 1.4.2 została poddana standaryzacji ISO/IEC 19501 i jest ostatnią wersję z gałęzi 1.x oznaczoną numerem 1.5. Czerwiec 2005 - OMG publikuje UML 2.0 łącząc wysiłki ponad stu organizacji (po raz pierwszy zastosowano konwencję dwóch uzupełniających się specyfikacji: Infastructure i Superstructure, znacznie usprawniono modelowanie dla systemów wbudowanych (ang. embedded system). Sierpień 2007 - OMG wydaje wersje 2.1.1

Historia UML IV Luty 2009 - OMG publikuje UML 2.2. Maj 2010 - OMG publikuje UML 2.3. Sierpień 2011 - OMG publikuje UML 2.4.1. zostaje znormalizowana (ISO/IEC 19505-1 i 19505-2). Październik 2012 - OMG publikuje UML 2.5 jako wersje "In process". Czerwiec 2015 - - OMG publikuje oficjalną wersję UML 2.5.

Narzędzia UML Umbrello - https://umbrello.kde.org/ Poseidon for UML - http://www.gentleware.com produkt komercyjny. Istnieje kilka jego wersji, w tym Community Edition, która jest "prawie" darmowa. BoUml - produkt komercyjny. Pracuje na systemach Windows, Linux (np. Debian, Ubuntu, Mint), MacOS. Obsługuje: C++, Java, IDL, Php, Python. Obecna wersja to 6.8.8. Lista innych narzędzi dostępna jest np. na https://pl.wikipedia.org/wiki/lista_narzędzi_ UML#Narz.C4.99dzia_UML

Model UML systemu Model UML systemu jest wyrażany przy pomocy diagramów przedstawiających rozmaite części i aspekty modelu. Diagramy różnią się: rodzajem - różne typy diagramów odpowiadają różnym sposobom widzenia systemu stopniem szczegółowości - każdy diagram tworzony jest w konkretnym celeu w konkretnej fazie rozwijania oprogramowania; inny poziom szczegółowości zawierać będzie konsultowany z użytkownikami diagram z fazy określania wymagań, a inny diagram mający być szczegółową specyfikacją elementu systemu, przeznaczony do automatycznej generacji kodu na jego podstawie

Model UML systemu Diagramy UML pozwalają na ilustrację rozmaitych aspektów systemu: struktury - diagramy definiujące wyłącznie statyczne aspekty systemu. zachowania - diagramy definiujące wyłącznie dynamiczne aspekty systemu. zachowania z uwzględnieniem struktury - diagramy ilustrujące łącznie aspekty dynamiczne i statyczne.

Obecna specyfikacja UML wyróżnia 13 rodzajów diagramów w następującej hierarchii: Diagramy UML - obecna specyfikacja

Diagramy UML - obecna specyfikacja 2015-10-11 UML... Diagramy UML Diagramy UML - obecna specyfikacja Obecna specyfikacja UML wyróżnia 13 rodzajów diagramów w następującej hierarchii: Omówione będą następujące diagramy: Diagramy strukturalne (ang. Structure Diagram): Diagram klas (ang. class diagram), Diagram obiektów (ang. object diagram), Diagram pakietów (ang. package diagram), Diagram struktur złożonych (ang. composite structure diagram), Diagram komponentów (ang. component diagram), Diagram wdrożenia (ang. deployment diagram).

Diagramy UML - obecna specyfikacja 2015-10-11 UML... Diagramy UML Diagramy UML - obecna specyfikacja Obecna specyfikacja UML wyróżnia 13 rodzajów diagramów w następującej hierarchii: Diagramy dynamiki/zachowania (ang. Behavior Diagram): Diagram przypadków użycia (ang. use case diagram); Diagram aktywności (czynności) (ang. activity diagram); Diagramy maszyny stanowej (ang. state machine diagram); Diagramy interakcji (ang. interaction diagram) - diagram sekwencji (ang. sequence diagram), diagram komunikacji (ang. communication diagram), diagramy czasowe (ang. timing diagram), przeglądowe diagramy interakcji (ang. interaction overview diagrams).

Elementy składowe specyfikacji UML Istnieją cztery części specyfikacji UML 2.x: Superstruktura - definiuje notację i semantykę dla diagramów i elementów ich modelu. Istotna dla każdego, kto modeluje w UML u i chce, aby model był poprawnie rozumiany. Infrastruktura - definiuje metamodel języka UML, na którym opiera się superstruktura. Ważna przede wszystkim dla konstruktorów oprogramowania do modelowania. Język OCL (ang. Object Constraint Language) - określa zasady działania elementów modelu. Interakcja diagramów UML - definiuje współdziałanie pomiędzy układami diagramów UML 2.x.

Perspektywa 4+1 I Autorzy UML rozróżniają pięć perspektyw spojrzenia na system informatyczny i przyporządkowują im odpowiednie rodzaje diagramów UML: perspektywa przypadków użycia (zakres i funkcjonalość systemu) - opisuje funkcjonalność, jaką powinien dostarczać system, widzianą przez jego użytkowników, czyli opisuje zachowanie systemu obserwowane z zewnątrz; diagramy przypadków użycia, diagramy pakietów. perspektywa projektowa (logiczna, budowa systemu) - opisuje sposób realizacji funkcjonalności, strukturę systemu widzianą przez projektanta (tj. klasy, interfejsy, kooperacje); diagramy klas, obiektów, pakietów, struktur złożonych.

Perspektywa 4+1 II perspektywa procesowa (dynamiczna, zachowanie)- zawiera podział systemu na procesy (czynności) i procesory (jednostki wykonawcze) oraz opisuje właściwości pozafunkcjonalne systemu i służy przede wszystkim programistom i integratorom; diagramy aktywności (czynności), maszyny stanowej, pakietów sekwencji, komunikacji, czasowe oraz przeglądowe diagramy interakcji. perspektywa implementacyjna (software) - opisuje poszczególne moduły i ich interfejsy wraz z zależnościami; perspektywa ta jest przeznaczona dla programisty (komponenty i pliki, zarządzanie konfiguracją); diagramy komponentów, diagramy pakietów.

Perspektywa 4+1 III perspektywa wdrożeniowa (rozlokowanie, sprzęt) - definiuje fizyczny podział elementów systemu i ich rozmieszczenie w infrastrukturze, czyli dotyczy fizycznej realizacji sprzętowej systemu; perspektywa taka służy integratorom i instalatorom systemu; diagramy wdrożenia, diagramy pakietów.

Diagram klas Diagramy klas przedstawiają statyczny widok modelu, lub jego części. Diagramy klas przedstawiają strukturę projektowanego systemu, lub jego części jako zbiór klas i interfesów wraz z ich atrybutami, funkcjami, ograniczeniami oraz powiązaniami między nimi.

Diagram klas Definicja Klasa jest elementem, który określa cechy (własności) i zachowanie, które obiekt jest w stanie wygenerować. Zachowanie opisane jest przy pomocy komunikatów wraz z operacjami, które są odpowiednie dla każdego komunikatu. Klasy mogą mieć również definicje ograniczeń, oznaczonych wartości i stereotypów.

Notacja klas Klasa jest reprezentowana przez prostokąt z wydzielonymi przedziałami na: nazwę atrybuty operacje (metody).

Notacja klas Dostępność metod lub atrybutów: + publiczna - element jest widoczny z każdego miejsca w systemie # chroniona - element jest widoczny we własnej klasie i jej podklasach prywatna - element jest widoczny tylko we wlasnej klasie publiczny wewnątrz pakietu - element jest widoczny tylko wewnątrz własnego pakietu

Operacje (metody) Nazwy operacji mogą wyglądać następująco: [widoczność] nazwa [(parametry)] [: typ wartości zwracanej] [{ustawienia}] gdzie parametry: nazwa [: typa parametru] Poprawne nazwy metod to: display +display +display() +getposition : Point +getposition(): Point +setposition(pos: Point) +setposition(pos: Point): void

Interfejs (Klasy abstrakcyjne) Definicja Interfejs to klasa, która posiada jedną lub więcej metod (operacji) nieposiadających ciała, tzw. metod wirtualnych. Metody nieposiadające ciała są jedynie deklaracjami, zapowiedziami, że klasa dziedzicząca po interfejsie (klasie abstrakcyjnej) dostarczy ciała takiej metody, w przeciwnym razie sama też będzie klasą abstrakcyjną. Uwaga! nie można tworzyć instancji (obiektów) klas abstrakcyjnych.

Przykład klasy abstrakcyjnej w C++ I #include <iostream > using namespace s t d ; // Klasa Podstawowa c l a s s Shape { public : // f u n k c j a c z y s t o w i r t u a l n a v i r t u a l i n t getarea ( ) = 0 ; void setwidth ( i n t w) { width = w; } void s e t H e i g h t ( i n t h ) { h e i g h t = h ; } protected : i n t width ; i n t h e i g h t ; } ;

Przykład klasy abstrakcyjnej w C++ II // Klasy wyprowadzone c l a s s R e c t a n g l e : public Shape { public : i n t getarea ( ) { return ( width h e i g h t ) ; } } ; c l a s s T r i a n g l e : public Shape { public : i n t getarea ( ) { return ( width h e i g h t ) / 2 ; } } ;

Przykład klasy abstrakcyjnej w C++ III i n t main ( void ) { R e c t a n g l e Rect ; T r i a n g l e T r i ; Rect. setwidth ( 5 ) ; Rect. s e t H e i g h t ( 7 ) ; cout << " Pole c a l k o w i t e p r o s t o k a t a : " << Rect. getarea ( ) << e n d l ; T r i. setwidth ( 5 ) ; T r i. s e t H e i g h t ( 7 ) ; cout << " Pole c a l k o w i t e t r o j k a t a : " << T r i. getarea ( ) << e n d l ; } return 0 ;

Interfejs (Klasy abstrakcyjne) W UML-u klasy abstrakcyjne niewiele różnią się od normalnych klas. Jedyną widoczną różnica jest ich nazwa, napisana kursywą.

Interfejs Klasy abstrakcyjne mogą być również wizualizowane jako okręgi bez pokazywania jawnych operacji szczegółowych.

Interfejs Interfejs wymaga, aby klasa realizująca (u nas klasa Triangle oraz klasa Rectangle) go dostarczyła implementacji wszystkich określonych w nim operacji. Co więcej, operacje te muszą w klasie mieć takie same nazwy jak w interfejsie. Połączenie pomiędzy Interfejsem a klasą realizującą przedstawiane jest na diagramie za pomocą strzałki z przerywaną linią i niezamalowanym grotem. W przypadku, gdy interfejs prezentowany jest w postaci kuli, związek realizacji pomiędzy klasą a interfejsem przedstawia się za pomocą linii ciągłej.

Związki między klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang. Generalizations) Agregacja (ang. Aggregations) Kompozycja (ang. Composite aggregation) Zagnieżdżenia (ang. Nestings) Realizacja na kolejnym wykładzie...