Diagramy klas. WYKŁAD Piotr Ciskowski

Podobne dokumenty
Rysunek 1: Przykłady graficznej prezentacji klas.

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Modelowanie obiektowe

Diagramy klas. dr Jarosław Skaruz

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

Podstawy projektowania systemów komputerowych

UML w Visual Studio. Michał Ciećwierz

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

UML. dr inż. Marcin Pietroo

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Podstawy programowania III WYKŁAD 4

Michał Adamczyk. Język UML

Świat rzeczywisty i jego model

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

Język UML w modelowaniu systemów informatycznych

MAS dr. Inż. Mariusz Trzaska

TECHNOLOGIE OBIEKTOWE. Wykład 3

Projektowanie obiektowe oprogramowania Wykład 2 - UML Wiktor Zychla 2016

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Podstawy języka UML UML

Podstawy języka UML UML

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Podstawy języka UML2 w realnych projektach

UML. zastosowanie i projektowanie w języku UML

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

Modelowanie i analiza systemów informatycznych

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

UML - zarys 2007/2008

Inżynieria Oprogramowania. UML Schematy klas

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

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

Podstawy języka UML2 w realnych projektach

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

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

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Charakterystyka oprogramowania obiektowego

Projektowanie logiki aplikacji

Oprogramowanie o wysokiej jakości to oprogramowanie spełniające następujące kryteria:

Modelowanie obiektowe - Ćw. 3.

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Modelowanie obiektowe systemów

Podstawy inżynierii oprogramowania

Modelowanie danych, projektowanie systemu informatycznego

Modelowanie i analiza systemów informatycznych.

Podstawy modelowania w języku UML

MODELOWANIE OBIEKTOWE Z UML

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

Diagramy klas - MS Visual Studio - Enterprise Architect

MODELOWANIE OBIEKTOWE

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

Modelowanie i Programowanie Obiektowe

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Język UML w modelowaniu systemów informatycznych

Faza analizy (modelowania) Faza projektowania

Język UML w modelowaniu systemów informatycznych

MAS dr. Inż. Mariusz Trzaska

Technologie obiektowe

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

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

Podstawy Programowania Obiektowego

Enterprise Architect - narzędzie do modelowania

Język UML. dr inż. Piotr Szwed C3, pok

Enkapsulacja, dziedziczenie, polimorfizm

UML [ Unified Modeling Language ]

Modelowanie i analiza systemów informatycznych Spis treści

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Inżynieria oprogramowania. Część 5: UML Diagramy klas

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

Diagramy przypadków użycia

Unified Modeling Language

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Język UML w modelowaniu systemów informatycznych

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Analiza i projektowanie aplikacji Java

Programowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:

Wykład 1 Inżynieria Oprogramowania

1 Projektowanie systemu informatycznego

4. Język UML Alfabet

Programowanie aplikacji WWW.

Diagramy klas i obiektów

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

Jêzyk UML 2.0 w modelowaniu systemów informatycznych

Cel drugiego wykładu

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Diagramy przypadków użycia - MS Visio

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Transkrypt:

Diagramy klas WYKŁAD Piotr Ciskowski

przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz klasy uogólnienie, typ związki

OBIEKT - KLASA

obiekt - klasa obiekt - każdy byt (osoba, stworzenie, pojęcie lub rzecz) mający znaczenie w kontekście rozwiązywanego problemu - budowa, cechy statyczne atrybuty, własności, pola - zachowanie operacje, usługi, metody - obiekt jest instancją klasy - obiekt ma tożsamość klasa - uogólnienie zbioru obiektów, które mają te same atrybuty, operacje, związki i znaczenie

klasa nazwa: rzeczownik symbol: prostokąt różne stopnie szczegółowości: (Wrycza, Visual Studio)

klasa klasa - typ, rodzaj, zbiór obiektów - nazwa: rzeczownik, z dużej litery atrybuty własności, cechy obiektów tej klasy - statyka, struktura - nazwa: z małej litery operacje - czynności - usługi - komunikaty - dynamika, zachowanie - nazwa: z małej litery

różny poziom szczegółowości (Wrycza, Visual Studio)

klasa - obiekt jakiejś klasy: (UML dla każdego,, Visual Studio)

STEREOTYPY

przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi stereotypy, zobowiązania: (UML dla każdego)

KONCEPTUALNY - IMPLEMENTACYJNY

Poziom szczegółowości: konceptualny - podstawowe elementy analityczny - przystępne nazewnictwo klas, atrybutów i operacji implementacyjny - <<implementation class>> wdrożeniowy - dodatkowo: typy danych zobowiązania widoczność statyczność klasy asocjacyjne kwalifikacje uogólnienia zależności realizacje

DODATKI

Dodatkowe elementy: ograniczenia - warunki, zastrzeżenia związane z danym obiektem - tekst, wzór, pseudokod ew. język OCL (Object Constraint Language) - w nawiasach klamrowych UML dla każdego

Dodatkowe elementy: notatki: UML dla każdego

Dodatkowe elementy: ograniczenia i notatki: UML dla każdego, Visual Studio

Dodatkowe elementy: ograniczenia i notatki: UML dla każdego, Visual-Paradigm for UML

Dodatkowe elementy: ograniczenia i notatki: UML dla każdego, Enterprise Architect

Dodatkowe elementy: zobowiązania - pomocniczo - po wstępnej analizie scenariuszy, przed pełną koncepcją klasy (atrybuty, operacje) - wysokopoziomowy opis zadań klasy - kontrakt, odpowiedzialność klasy Wrycza, Enterprise Architect

Dodatkowe elementy: widoczność + publiczny - prywatny # chroniony ~ pakietowy Wrycza, Enterprise Architect, Visual Studio, Visual Paradigm

Dodatkowe elementy: statyczność - atrybuty i operacje: - egzemplarzowe - statyczne - podkreślone

NAZEWNICTWO

Nazewnictwo klas, atrybutów, operacji: poziom konceptualny - klasy: aukcja sesja giełdowa żądanie poziom implementacyjny: Aukcja SesjaGieldowa Zadanie

Nazewnictwo klas, atrybutów, operacji: poziom konceptualny atrybuty: pojemność karty SIM adres salonu firmowego numer telefonu komórkowego poziom implementacyjny: pojemnosckartysim adressalonu nrtelkom, nrtelefonukomorkowego

Nazewnictwo klas, atrybutów, operacji: poziom konceptualny operacje: zablokuj kartę SIM zmień aktualne stawki taryf wyślij esemesa poziom implementacyjny: zablokujkartesim() zmienstawkitaryf() wyslijsms()

Notacja atrybutów na poziomie implementacyjnym: [<widoczność: + - ~ # >] [ / ] <nazwa atrybutu> [ : <typ> ] [ [ <liczebność> ] ] [ = <wartość początkowa> ] [ { <właściwość> } ] / - atrybut pochodny (od innych) - wzór zwykle obok w notatce właściwości: ordered, [not] unique, readonly itp. Notacja operacji na poziomie implementacyjnym: [ <widoczność: + - ~# > ] <nazwa operacji> [ ( <lista parametrów> ) ] [ : <właściwość> ] lista parametrów po przecinku Notacja parametrów na poziomie implementacyjnym: [ kierunek: in out inout return] <nazwa atrybutu> [ : <typ> ] [ [ <liczebność> ] ] [ = <wartość początkowa> ] [ { <właściwość> } ]

Notacja atrybutów, operacji, parametrów na poziomie implementacyjnym: Wrycza, Enterprise Architect

ZWIĄZKI - ASOCJACJE

Rodzaje związków: asocjacja uogólnienie zależność realizacja

Rodzaje związków: asocjacja - powiązania między elementami - związek znaczeniowy między klasami - binarne - n-narne n-argumentowe - nazwy - role - nawigacja - liczebność - agregacja

Rodzaje związków: asocjacja - powiązania między elementami - związek znaczeniowy między klasami - nienazwane - nazwane Wrycza, Enterprise Architect, UML dla każdego

Rodzaje związków: asocjacja - powiązania między elementami - opcja: kierunek (interpretacji) - kierunek przesyłania komunikatów - mogą być inne drogi (pośrednie) - opcja: role - powinność jednej klasy względem drugiej Wrycza, Enterprise Architect

Rodzaje związków: asocjacja - powiązania między elementami - opcja: kierunek (interpretacji) - kierunek przesyłania komunikatów - mogą być inne drogi (pośrednie) - opcja: role - powinność jednej klasy względem drugiej - opcja: liczebność - dopuszczalny zakres 1 1..* 0..1 * 0..* n 1..n 0..n n..m n..* n,p,q

Asocjacje: wielokrotne zwrotne kwalifikowane

Asocjacje kwalifikowane: do wyszukiwania kwalifikator od strony klasy dokonującej wyszukiwania

Dodatkowe elementy: liczebność

Klasy asocjacyjne: precyzyjny opis związku między klasami asocjacja = klasa: nazwa atrybuty operacje

ZWIĄZKI - AGREGACJE

Rodzaje związków: agregacja - związek całość część - agregat segment - agregacja całkowita - częściowa kompozycja silna, składowa słaba, współdzielona zniszczenie agregatu segmenty są samodzielne = zniszczenie części

Rodzaje związków: agregacja - związek całość część - agregat segment - agregacja całkowita częściowa UML dla każdego

ZWIĄZKI - UOGÓLNIENIA

Rodzaje związków: uogólnienie hierarchia klas dziedziczenie klasa podstawowa klasa pochodna klasy abstrakcyjne korzeń klasy pośrednie liście obiekt klasy pochodnej jest rodzajem obiektu klasy podstawowej jeśli nie - raczej asocjacja Wrycza, Enterprise Architect

Rodzaje związków: uogólnienie ograniczenia: {complete} - {disjoint} - {incomplete} {overlapping} dyskryminatory

ZWIĄZKI - ZALEŻNOŚCI - INTERFEJSY

Inne związki: zależność - jedna klasa zależy od drugiej - zmiany w niezależnej zmieniają tę zależną - gdy w sygnaturze operacji jednej klasy jest obiekt drugiej klasy - gdy obiekty jednej klasy wysyłają komunikaty do obiektów innej klasy - gdy obiekty jednej klasy zawierają w swoich danych obiekty innej klasy - pokazuje skalę zmian w systemie

Inne związki: zależność realizacja klasa interfejs interfejs - zestaw operacji usługi oferowane przez klasę klasa abstrakcyjna nie ma obiektów interfejs nie ma implementacji

DIAGRAM OBIEKTÓW

diagram obiektów - migawka diagramu klas - struktura systemu w pewnym momencie działania

PODSUMOWANIE

Rady: nie przesadzać oszczędnie z notacją od ogółu do szczegółu wiele diagramów różne potrzeby, perspektywy, poziomy szczegółowości niekoniecznie wszystkie klasy struktura + zachowanie biznesowe techniczne

Etapy powstawania DK: 1. zidentyfikowanie i nazwanie klas 2. określenie zobowiązań klas 3. połączenie klas związkami asocjacji 4. zidentyfikowanie i nazwanie atrybutów operacji 5. specyfikacja asocjacji: nazwy role nawigacja liczebność agregacja kwalifikacja 6. inne związki: uogólnienia zależności realizacje 7. pełna, precyzyjna specyfikacja atrybutów operacji 8. diagramy obiektów

Tworzenie DK: po rozmowie z klientem : wyszukać rzeczowniki klasy atrybuty wyszukać czasowniki operacje podstawowa lista klas - do czego służą zobowiązania