Class Diagrams.

Slides:



Advertisements
Podobné prezentace
Kapitola 1: Popisná statistika jednoho souboru2  Matematická statistika je věda, která se zabývá studiem dat vykazujících náhodná kolísání.  Je možno.
Advertisements

Systém správy dokumentace akreditované zkušební laboratoře Bc. Jan Randl, 4912.
Programování v jazyce C++ Dědičnost a polymorfismus.
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast:Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Analytické myšlení Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Milan Pobořil, Ph.D.. Slezské gymnázium, Opava, příspěvková organizace.
Práce se spojnicovým diagramem Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín Tematická oblastMATEMATIKA - Finanční matematika a statistika.
Autor: Předmět: Ročník: Název: Označení: DUM vytvořen: Mgr. Hana Němcová Matematika, seminář diferenciální a integrální počet Osmý ročník víceletého gymnázia.
Krok za krokem ke zlepšení výuky automobilních oborů CZ.1.07/1.1.26/ Švehlova střední škola polytechnická Prostějov.
Funkce Lineární funkce a její vlastnosti 2. Funkce − definice Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny.
STYL Ke stylu se užívá:Typické slovní prostředky: Věty: 1. HOVOROVÝ v běžných rozhovorech každodenního života slova a obraty hovorové, výrazy z obecné.
OneNote. Co to je?  OneNote patří k produktům Microsoftu, nyní je ke stažení zdarma  jde o aplikaci pro rychlou, snadnou a přehlednou správu různých.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
AUTOR: Mgr. Hana Vrtělková NÁZEV: VY_32_INOVACE_M_20_Rovinné útvary
Financováno z ESF a státního rozpočtu ČR.
ŠKOLA: Městská střední odborná škola, Klobouky u Brna,
Projekt 1 Databázové systémy I
Číslo projektu CZ.1.07/1.5.00/ Číslo materiálu
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Evaluace předmětů studenty (Anketky)
Rozhodování 1.
Obsahy rovinných útvarů
Lineární funkce - příklady
Řešení nerovnic Lineární nerovnice
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
ČÍSLO PROJEKTU CZ.1.07/1.5.00/ ČÍSLO MATERIÁLU 1 – Množiny – teorie
Algoritmizace - opakování
Programování v jazyce C++
Přístupový systém aneb kontrola vstupů
Financováno z ESF a státního rozpočtu ČR.
VY_32_INOVACE_2C_19_ZIVOTOPIS Životopis dubna 2012
Vlastnosti trojúhelníku
TÉMA: Počítačové systémy
Výukový materiál zpracován v rámci projektu
Základní jednorozměrné geometrické útvary
Grafika Prostředí picture
Komanditní společnost
Zlomky Složené zlomky..
pedagogických pracovníků.
2.2 Kvadratické rovnice.
SEMINÁŘ OZO Ladislav Hejný
Kvadratické nerovnice
Cvičení 4 Dědičnost objektů.
Pseudosekce: P-T fázový diagram v jednoduchém systému Al2SiO5 s demonstrací postupu při tvorbě pseudosekce.
Řešení nerovnic Lineární nerovnice
Informatika pro ekonomy přednáška 8
Pravděpodobnost a statistika
Rovnice s absolutními hodnotami
Tresty a ochranná opatření ( trestní sankce)
Typy Oken, Zobrazení a Konfigurace
Zlomky Sčítání zlomků..
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Teorie chyb a vyrovnávací počet 1
Algebraické výrazy: lomené výrazy
Diagramy stavů Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML®, Second Edition, Pearson – Prentice Hall, 2005.
MS Access Tabulka letní semestr 2013.
Lomené výrazy (2) Podmínky řešitelnost
Vítáme vás! Název společnosti.
ÚVOD DO GEOMETRIE Tato práce je šířena pod licencí CC BY-SA 3.0. Odkazy a citace jsou platné k datu vytvoření této práce. Materiál je určen pro bezplatné.
Matematika + opakování a upevňování učiva
Výuka matematiky v 21. století na středních školách technického směru
SKLADBA SKLADEBNÍ DVOJICE Jabloň před domem krásně rozkvetla.
Informatika pro ekonomy přednáška 8
K-mapa: úvod a sestavení
Funkce v jazyce C = „množina“ operací, která provádí nějakou činnost s různými vstupy odstranění vícenásobného psaní či vkládání téhož kódu a lepší přehlednost.
Martin VLASTNÍK, vedoucí oddělení politiky nerostných surovin
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Teorie chyb a vyrovnávací počet 2
Bridge.
Tečné a normálové zrychlení
Transkript prezentace:

Class Diagrams

Třída Atributy Operace

Třída Třída je jakýsi prototyp objektů. Za třídou si můžeme představit množinu jejích instancí. Každý objekt dané třídy má stejnou množinu atributů (proměnných) a operací (metod). Tzv. abstraktní třída nedefinuje imlementaci (algoritmus) jedné nebo více metod. Je-li třída abstraktní, není možno vytvořit její instanci.

Dědičnost (Inheritance) 1 Abstraktní třída Abstraktní metoda

Dědičnost Třída B, která dědí od třídy A, má všechny atributy a operace jako třída A (a možná nějaké navíc). Třída B je specializací třídy A. Třída A je zobecněním třídy B. Pokud třída A definuje implementaci nějaké operace (metody) a, pak tato implementace operace a bude použita i pro třídu B, ledaže by třída B tuto operaci předefinovala (overriding).

Polymorfismus Dědí-li třída B od třídy A, pak všechny instance třídy B mohou vystupovat rovněž jako instance třídy A. Instance třídy B jsou tedy „mnohotvaré“ (polymorfní), mají tvar definovaný třídou B i třídou A. Dědičnost je transitivní. Tedy, dědí-li C od B a B od A, dědí i C od A. V roli instanci třídy A může vystupovat každá instance tříd B nebo C

Atributy-operace třídy/instance Atributy/operace třídy mohou být použity, aniž by existovala jediná instance této třídy. Jsou to vlastnosti této třídy jako celku, nikoliv jednotlivých instancí. Atributy instance jsou vlastnostmi této instance a mohou mít instance od instance rozdílné hodnoty. Operace instance jsou prováděny pro danou instanci a proto tato instance musí v okamžiku vyvolání operace existovat.

Dědičnost (Inheritance) 2 Generalization Set Name

Multiplicita atributů Osoba jmeno: String [1] adresa: String [1 .. * ] telefon: String [ 0 .. * ] datumNarozeni: Date [0 .. 1]

Dědičnost (Inheritance) 3 Generalization Set Constraint disjoint/overlapping complete/incomplete

Asociace 1 Asociace

Asociace 2 Multiplicita Multiplicita

Asociace 3 Asociace Class Diagram Link Object Diagram

Asociace 4

Asociace 5 Chybný model Správný model

Asociace 6

Asociace 7

Asociace 8

Navigovatelnost * * * * 1 Není specifikována ani v jednom směru Banka BankovniUcet 1 * Asociace je navigovatelná v jednom směru, ve druhém není navigovatelnost specifikována Banka BankovniUcet 1 * Asociace je navigovatelná v jednom směru, ve druhém navigovatelná není. Banka BankovniUcet 1 * Asociace není navigovatelná v žádném směru. Banka BankovniUcet

Asociační třída 1

Asociační třída 2 Předchozí model je ekvivalentní tomuto modelu:

Kvalifikovaná asociace 1 Banka BankovniUcet 1 0..1 cisloUctu

Kvalifikovaná asociace 2 Banka BankovniUcet 1 0..1 cisloUctu Lze přepsat bez použití kvalifikovaé asociace takto: BankovniUcet Banka 1 * cisloUctu

Co je toto? ...

... Objektový diagram reprezentující čtverec

... Objektový diagram reprezentující čtverec Instance Link (nikoliv asociace)

Umíte nakreslit diagram tříd (class diagram) k tomuto diagramu objektů (object diagram)?

Umíte nakreslit diagram tříd (class diagram) k tomuto diagramu objektů (object diagram)?

Agregace 1 Agregace je zvláštním případem asociace, kdy jedna třída má ve vztahu výsadnější postavení než druhá třída. Typickým příkladem jsou asociace typu celek-součást. Součást Celek Class diagram na předchozím obrázku by byl teady asi lépe vyjádřen takto:

Agregace 2 Agregace je zvláštním případem asociace, kdy jedna třída má ve vztahu výsadnější postavení než druhá třída. Typickým příkladem jsou asociace typu celek-součást. Class diagram na předchozím obrázku by byl teady asi lépe vyjádřen takto: Agregace

Agregace 3 Agregace je relace: transitivní: Je-li B součástí celku A a C součástí celku B, pak C je součástí celku A. antisymetrická: Je-li B součástí A, pak A není součástí B.

Agregace 4 Kdy asociaci modelovat jako agregaci? Je třeba zodpovědět násůledující otázky: Vystihuje podstatu asociace fráze „je částí celku“ ? Jsou některé operace celku aplikovatelné na jeho součásti? Propagují se hodnoty některých atributů z celku na všechny nebo aspoň některé části? Je asociace asymetrická (popř. transitivní)?

Agregace 5 Důležité pravidlo: Nejste-li si jisti, zda je daná asociace agregací, modelujte ji raději pouze jako prostou asociaci (nic zásadního se nepokazí).

Kompozice 1

Kompozice 2 Kompozice je forma agregace s dvěma dodatečnými omezeními: Součást může patřit maximálně do jednoho celku (oddělení nemůže být sdíleno více divizemi) Jakmile je součást zařazena do celku, je její životní cyklus určen životním cyklem celku (zanikne-li společnost, zaniknou i všechny její divize).

Kompozice 3 Důležité pravidlo: Modelujeme-li agregaci jako prostou asociaci, nic podstatného se nestane. Namodelujeme-li kompozici jako prostou asociaci nebo jako agregaci, ztrácíme důležitou informaci o dvou omezeních – (i) nesdílení součásti mezi celky a (ii) determinace životního cyklu součásti životním cyklem celku.

Definice omezení pro asociace Multiplicita (kardinalita množiny) Kvalifikovaná asociace Uspořádanost instancí na * konci ( {ordered}, {sequence}, {bag} ) Explicitně vyjádřené omezeni clen * Osoba 1 Výbor {subset} * predseda 0,1

Definice omezení pro objekty 1 vedouci Zamestnanec 0 ..1 hrubaMzda * {hrubaMzda < vedouci.hrubaMzda}

Definice omezení pro objekty 2 Okno delka sirka { 0.8 ≤ delke/sirka ≤ 1.5 }

Definice omezení pro objekty 3 Osoba vek: int {vek je neklesajici }

Viditelnost Osoba + vek: int - vyska: float # vaha: float ~ povolani: String Aplikovtelné na: atributy operace asociace + .. public - .. private # .. protected ~ .. package

Scope (vlastnosti instancí nebo tříd) zpravaNaZaznamníku maximalniDelkaZpravy maximalniDobaUchovani datumNahrani casNahrani priorita zprava

Sudoku