Objektově orientované technologie. Daniela Szturcová

Podobné dokumenty
Objektově orientované technologie

OOT Objektově orientované technologie

3 druhy UML diagramů

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy

Diagramy tříd - základy

PV167 Projekt z obj. návrhu IS. 26. března 2008

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Objektově orientované technologie. Daniela Szturcová

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

OOT Objektově orientované technologie

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

OOT Objektově orientované technologie

Objekty, třídy, vazby 2006 UOMO 30

Objektově orientované technologie. Daniela Szturcová

DBS Konceptuální modelování

Analýza. Pracovní postup Analýza

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Úvod do principů objektově orientovaného programování

7.5 Diagram tříd pokročilé techniky

UML. Unified Modeling Language. Součásti UML

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Analýza problémové domény

Obsah. Zpracoval:

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

7.5 Diagram tříd pokročilé techniky

6 Objektově-orientovaný vývoj programového vybavení

1. Dědičnost a polymorfismus

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

8 Přehled OO metodik (metod, metodologií)

Třída. Atributy. Operace

8 Přehled OO metodik (metod, metodologií)

Vyřešené teoretické otázky do OOP ( )

Profilová část maturitní zkoušky 2013/2014

Unifikovaný modelovací jazyk UML

Principy UML. Clear View Training 2005 v2.2 1

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Dalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd.

Profilová část maturitní zkoušky 2017/2018

Analýza a modelování dat. Helena Palovská

Metodika návrhu databáze

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

Analýza dat a modelování. Přednáška 2

MBI - technologická realizace modelu

TÉMATICKÝ OKRUH Softwarové inženýrství

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Databázové systémy. Vztahy a relace. 3.přednáška

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

DUM 06 téma: Tvorba makra pomocí VBA

1. Programování proti rozhraní

Vývoj IS - strukturované paradigma II

TÉMATICKÝ OKRUH Softwarové inženýrství

IS pro podporu BOZP na FIT ČVUT

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Programovací techniky

Jazyk UML VST (Velmi stručný tutorial) verze 1.0

Objektově orientované programování v jazyce Python

Diagram tříd (class diagram)

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Objektově orientované programování v jazyce Python

Konceptuální datové modely používané při analýze

Analýza Hledáníanalytických tříd

Maturitní témata Školní rok: 2015/2016

OBSAH 1. ÚVOD STRUKTURA A ÚROVNĚ PROCESNÍHO MODELU KONVENCE PRO MODELOVÁNÍ PROCESŮ KONVENCE PRO MODELOVÁNÍ ORGANIZAČNÍCH STRUK

PB161 Programování v jazyce C++ Přednáška 7

Diagram sekvencí (sequence diagram)

Analýza a modelování dat. Přednáška 4

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Dolování v objektových datech. Ivana Rudolfová

PB161 Programování v jazyce C++ Přednáška 7

Informační systém pro podporu organizace dětských táborů

Základy objektové orientace I. Únor 2010

Programování v C++ 2, 4. cvičení

Business Process Modeling Notation

Modelování IS Strukturovaný a objektově orientovaný přístup (UML)

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Zpracování deklarací a přidělování paměti

Diagram případu užití. Use Case Diagram

Tvorba informačních systémů

Stručný obsah. Část I Úvod do jazyka UML a metodiky Unified Process 25. Část II Požadavky 71. Část III Analýza 135.

Diagramy chovaní jazyka UML

Možnosti tisku v MarushkaDesignu

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Programování II. Návrh programu I 2018/19

S M Ě R N I C E č. 6/2014 ministra financí

S KONFIGURACÍ POVOLENÝCH KOMBINACÍ DĚDICŮ

Metody popisu systému, základy UML

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

Transkript:

Objektově orientované technologie Cvičení 5 - Tvorba třídního diagramu Daniela Szturcová 1

5 Tvorba třídního diagramu Cíl cvičení Vyhledat třídy, jejich atributy a operace. Navrhnout vazby mezi třídami. Vytvořit třídní diagram. 5.1 Teoretický základ Diagram tříd zachycuje strukturu systému, patří mezi statické diagramy. Znázorňuje třídy a jejich vztahy. Třídu chápeme jako kategorii nebo skupinu věcí, které mají podobné vlastnosti (atributy) a vykazují stejné nebo podobné chování (operace/metody). 5.1.1 Syntaxe diagramu tříd Třídní diagram lze vnímat jako graf složený z uzlů a hran. Uzly jsou reprezentovány třídami a hrany představují vztahy mezi nimi. Používané symboly a jejich význam jsou zachyceny na obrázku 1. Obrázek 1: Obrázek symbolů aktivitního diagramu (vytvořeno v akademické licenci Visual Paradigm). Třída se zachycuje pomocí obdélníku, který může být rozdělen do tří částí. Název třídy (povinná část) má korespondovat s jejím účelem, atributy (nepovinná část) charakterizují vlastnosti třídy (objektů), 2

operace (nepovinná část), kde každá operace specifikuje změnu stavu cílového objektu nebo dotaz (ten vrací návratovou hodnotu volajícímu objektu). Operace specifikuje výsledek chování volaného objektu, chování jako takové je specifikováno metodou (kódem). Atributy jsou popsány svým názvem, dále může být uveden datový typ a viditelnost. U operací uvádíme název, případně argumenty operace a návratové typy pro lepší pochopení modelované struktury. Vztahy mezi třídami jsou specifikovány několika způsoby, podle charakteru vztahu: asociace obecný vztah mezi třídami, specifikuje vazbu mezi jejich instancemi (objekty tříd propojených asociací si mohou posílat zprávy), agregace asociace, která zachycuje vztah celek část, komponenta může existovat i bez celku, případně se může stát součástí jiného celku, kompozice silnější vazba než agregace - zrušením celku automaticky zaniká i komponenta, komponenta patří právě do jednoho celku, dědičnost (generalizace) hierarchický vztah tříd, kdy potomek (subclass, podtyp) dědí atributy a operace svého předka (superclass, nadtyp), potomek může mít navíc proti zděděným atributům a operacím své vlastní, zděděné pak mohou u potomka modifikovány, závislost vztah mezi třídami (obecně ovšem mezi dvěma prvky modelu systému), kdy změna jedné třídy (nezávislé) ovlivní druhou třídu (závislou), asociační třída třída, která má vztah nikoli k jiné konkrétní třídě, ale k asociaci mezi třídami. Vztahy navíc upřesňujeme pomocí multiplicity (kardinality). Vyhledávání analytických tříd Zápis Význam 0..* 0 a více 0 a více 0..1 0 nebo 1 1..* 1 a více 1..1 právě 1 8..11 8 a 11 4,6,12,20 4,6,12 nebo 20 7..* 7 a více K vyhledání tříd je možné použít různé postupy, jako jsou například: návrh tříd na základě znalosti domény, uspořádat interview se zadavatelem a uživateli a zaznamenat jejich názory, 3

pomocí textové analýzy z textových podkladů nalézt kandidáty na třídy, atributy a operace, metodou brainstormingu analytického týmu a doménových expertů vytvořit karty CRC (Class-Responsibility-Collaboration, třída-zodpovědnost-spolupráce). 5.2 Doporučený postup Použijeme postup, který s pomocí textové analýzy hledá kandidáty tříd, atributů a jejich operace z pohledu zodpovědnosti každé třídy. 1. Textovou specifikaci systému procházíme a slova splňující vlastnost kandidáta na třídu, atribut či operaci označíme barevně. 2. Sloučíme k sobě pojmy, které mají stejný význam (synonyma). 3. Kandidáty setřídíme a vytvoříme sadu pojmů, které spolu vytvářejí kostru třídy. 4. K prvotnímu návrhu doplníme atributy či operace, které vyplývají z předešlých modelovacích činností (UC, scénáře,...). 5. Přeneseme elementy z předchozí práce do grafického editoru a vytvoříme první verzi třídního diagramu. 5.3 Úkoly Vytváření diagramu 1. V textovém editoru budeme zpracovávat specifikaci systému postupně procházíme text a slova splňující vlastnost kandidáta označíme barevně. Podstatné jméno jako kandidát na třídu červeně. Podstatné jméno jako kandidát na atribut modře. Sloveso jako kandidát na operaci zeleně. Obrázek 2: Ukázka postupu textové analýzy. 2. Synonyma v této stručné specifikaci nejsou. 4

3. Sloučíme k sobě nalezené významy, které znamenají kandidáta na třídu, případně i s jeho atributy a operacemi vytvoříme základ pro třídu. Třída: Nabídka Atributy: Operace: zobrazitnabidku Třída: Napoj Atributy: oznaceninapoje, druhnapoje, cena Operace: 4. Doplníme kandidáty o další atributy či operace. Z předešlé dokumentace doplníme další adepty na třídy, včetně dříve navrhnutých odpovědností. Třída: Nabídka Atributy: Operace: zobrazitnabidku Třída: Napoj Atributy: oznaceninapoje, druhnapoje, cenanapoje Operace: vratcenu Spoluprace: ZasobnikNapoju Třída: ZasobnikNapoju Atributy: pocetnapoju Operace: jedruhkdispozici, vhoditnapojvydejniku Spoluprace: Napoj, Nabidka Třída: Zakaznik Atributy: Operace: zvolitnapoj, vhoditminci, odebratnapoj, odebratpreplatek Spoluprace: Napoj, Nabidka, Mince 5. Spustíme grafický editor, zvolíme tvorbu třídního diagramu. Vytvoříme třídy, které jsme nadefinovali. 6. Mezi třídami vytvoříme vazby a doplníme multiplicitu, případně označíme vazby pomocí názvů vztahů či pojmenováním rolí prvků. Podrobný popis tvorby třídního diagramu v prostředí Visual Paradigm je umístěn na webových stránkách http://www.visual-paradigm.com/support/documents/vpuserguide/ 94/2576/7190_creatingclas.html. 5

Obrázek 3: Třídní diagram pro nápojový automat ukázka jednoho z možných řešení struktury systému. Samostatná práce 1. Dotvořte třídní diagram pro Nápojový automat. Doplňte do první verze diagramu třídy pro ProvozovateleAutomatu, Zasobovace(DoplnovaceNapoju), Pokladnika. Bude mezi nimi specifická vazba? Z dokumentace převezměte další adepty na třídy a doplňte je do třídního diagramu včetně vztahů. 2. Vytvořte třídní diagram pro systém Taxis. 6