Podstawy modelowania w języku UML

Podobne dokumenty
Język UML w modelowaniu systemów informatycznych

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

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

Podstawy modelowania w języku UML

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

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Unified Modeling Language

Podstawy modelowania w j zyku UML

Dr Katarzyna Grzesiak-Koped

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

Podstawy języka UML UML

Podstawy projektowania systemów komputerowych

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Identyfikacja i modelowanie struktur i procesów biologicznych

WPROWADZENIE DO UML-a

Podstawy języka UML UML

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

Unified Modeling Language

Modelowanie i analiza systemów informatycznych

Podstawy programowania III WYKŁAD 4

STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA

Inżynieria oprogramowania. Jan Magott

MODELOWANIE OBIEKTOWE

Język UML w modelowaniu systemów informatycznych

Wprowadzenie do UML, przykład użycia kolizja

Identyfikacja i modelowanie struktur i procesów biologicznych

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Rysunek 1: Przykłady graficznej prezentacji klas.

Diagramy UML, przykład problemu kolizji

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

Podstawy języka UML2 w realnych projektach

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

Język UML w modelowaniu systemów informatycznych

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

UML. zastosowanie i projektowanie w języku UML

Podstawy inżynierii oprogramowania

Wykład 1 Inżynieria Oprogramowania

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

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

Diagramy klas. dr Jarosław Skaruz

Język UML w modelowaniu systemów informatycznych

Projektowanie systemów informatycznych. wykład 6

Analiza i projektowanie aplikacji Java

Diagramy klas. WYKŁAD Piotr Ciskowski

Narzędzia CASE dla.net. Łukasz Popiel

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

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

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

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

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

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

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

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

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

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

Podstawy modelowania programów Kod przedmiotu

Język UML w modelowaniu systemów informatycznych

Modelowanie obiektowe

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

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

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

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

Faza analizy (modelowania) Faza projektowania

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

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

PRZEWODNIK PO PRZEDMIOCIE

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

TECHNOLOGIE OBIEKTOWE. Wykład 3

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

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

Inżynieria oprogramowania I

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)

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Analiza i projektowanie obiektowe w UML Kod przedmiotu

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

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

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

Podstawy języka UML2 w realnych projektach

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

UML. dr inż. Marcin Pietroo

UML [ Unified Modeling Language ]

Programowanie obiektowe

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

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

Inżynieria oprogramowania (Software Engineering)

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

Programowanie obiektowe - 1.

Inżynieria oprogramowania

Transkrypt:

Podstawy modelowania w języku UML dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie 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.1; https://www.omg.org/spec/uml/2.5.1/ Ćwiczenia bedą realizowane za pomocą narzędzia: Visual Paradigm Community Edition Osiąglany z http://www.visual-paradigm.com/ 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.1: https://www.omg.org/spec/uml/2.5.1/ Tutoriale: http://www.sparxsystems.com/uml-tutorial.html Zasoby AGH: http://zasoby.open.agh.edu.pl/ ~10sdczerner/page/uml.html.

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ść.

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.

Historia UML III 1996 - powstaje konsorcjum firm (HewlettPackard, IBM, Microsoft, Oracle, Rational SC). Wynikiem współpracy staje się UML 1.0. 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. 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 Grudzień 2017 - OMG publikuje oficjalną wersję UML 2.5.1

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 2019-03-01 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 2019-03-01 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

Definicja Interfejs (Klasy abstrakcyjne) Interfejs to klasa, która posiada jedną lub więcej metod (operacji) nieposiadających ciała, tzw. metod abstrakcyjnych (wirtualnych). Klasa, w której przynajmniej jedna metoda jest abstrakcyjna musi być zadeklarowana jako abstrakcyjna. 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 Java I Oto dobrze znany kod dr hab. Andrzeja Zbrzeznego, prof. UJD z "Podstaw programowania w Javie". import j a v a. u t i l. ; p u b l i c c l a s s TestOsoba { p u b l i c s t a t i c v o id main ( S t r i n g [ ] a r g s ) { Osoba [ ] l u d z i e = new Osoba [ 2 ] ; l u d z i e [ 0 ] = new Pracownik ( " Jan K o w a l s k i ", 5 0 0 0 0 ) ; l u d z i e [ 1 ] = new Student ( " Maria Nowak", " i n f o r m a t y k a " ) ; f o r ( Osoba p : l u d z i e ) { System. out. p r i n t l n ( p. getnazwisko ( ) + " : " + p. g e t O p i s ( ) ) ; } } } a b s t r a c t c l a s s Osoba { p u b l i c Osoba ( S t r i n g n a z w i s k o ){ t h i s. n a z w i s k o = n a z w i s k o ; } p u b l i c a b s t r a c t S t r i n g g e t O p i s ( ) ;

} Przykład klasy abstrakcyjnej w Java II p u b l i c S t r i n g getnazwisko ( ) { r e t u r n n a z w i s k o ; } p r i v a t e S t r i n g n a z w i s k o ; c l a s s Pracownik extends Osoba { p u b l i c Pracownik ( S t r i n g nazwisko, double pobory ) { super ( n a z w i s k o ) ; t h i s. pobory = pobory ; } p u b l i c double getpobory ( ) { r e t u r n pobory ; } p u b l i c S t r i n g g e t O p i s ( ) { r e t u r n S t r i n g. format ( " p r a c o w n i k z p e n s j ą %.2 f z ł ", pobory ) ; } p r i v a t e double pobory ; }

Przykład klasy abstrakcyjnej w Java III c l a s s Student extends Osoba { p u b l i c Student ( S t r i n g nazwisko, S t r i n g k i e r u n e k ){ super ( n a z w i s k o ) ; t h i s. k i e r u n e k = k i e r u n e k ; } p u b l i c S t r i n g g e t O p i s ( ) { r e t u r n " k i e r u n e k s t u d i ów : " + k i e r u n e k ; } p r i v a t e S t r i n g k i e r u n e k ; }

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 z użyciem stereotypu «interface»

Interfejs Interfejs wymaga, aby klasa realizująca (u nas klasa Osoba) 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...