GRASP * : Návrh Objektů se Zodpovědnostmi. * Genenal Responsibility Assignment Software Patterns
|
|
- Martina Vávrová
- před 6 lety
- Počet zobrazení:
Transkript
1 GRASP * : Návrh Objektů se Zodpovědnostmi * Genenal Responsibility Assignment Software Patterns 1
2 Doménový Model 0..1 Contained-in Paid-by Payment amount Sales LineItem quantity * 1 Sale date time * Product Described-by Product Catalog Specification Contains description price 1 1..* 1 1..* * Used-by itemid Describes Store Item 1 address Stocks * Logs-completed * name 1 * 1 Houses Captured-on 1..* POS Manager 1 1 Started-by Initiated-by 1 Customer 1 Records-sales-on 1 1 Records-sale-of Cashier
3 Zodpovědnosti a Metody Záměrem objektového návrhu je identifikace tříd a objektů, rozhodnutí které metody patří kam a kde a jak tyto objekty spolupracují. Zodpovědnosti mají vztah k závazku objektu ve smyslu jeho chování. Dva typy zodpovědností: q Doing: q Sám něco dělá (e.g. creating an object, doing a calculation) Spouští akci na jiném objektu. Kontroluje a koordinuje aktivity na jiných objektech. Knowing: Má znalost privátních zapouzdřených dat. Má znalost o vztazích objektů. Zná vše potřebné k derivaci, kalkulaci. 3
4 Zodpovědnosti a Metody Zodpovědnosti jsou přiřazeny třídám v objektovém návrhu. Např: q q a Sale is responsible for creating SalesLineItems (doing) a Sale is responsible for knowing its total (knowing) Zodpovědnosti s vztahem k knowing jsou často odvozeny z Doménového Modelu (because of the attributes and associations it illustrates) 4
5 Zodpovědnosti a Metody Překlad zodpovědností do tříd a metod je ovlivněno granularitou zodpovědnosti. q For example, provide access to relational databases may involve dozens of classes and hundreds of methods, whereas create a Sale may involve only one or few methods. Zodpovědnost není to samé jako metoda, nýbrž metody jsou implementovány k naplnění zodpovědností. Metody buď pracují sami nebo spolupracují s dalšími metodami a objekty. 5
6 Zodpovědnosti a Diagramy Interakce :Sale makepayment( ) create( ) :Payment V UML artefaktech, obecný kontext, kde jsou tyto zodpovědnosti (implemented as methods) uvažovány je při tvorbě diagramů interakce. Sale objekt má zodpovědnost k vytvoření Payments, skrze metodu makepayment. 6
7 Vzory Zdůrazníme tyto principy (expressed in patterns) jako průvodce voleb, kam přiřadit zodpovědnosti. Vzor je pojmenovaný popis problému a řešení, které může být aplikováno na nové kontexty; poskytuje radu, jak aplikovat řešení v různých situacích. Např: q Pattern name: Information Expert q Problem: What is the most basic principle by which to assign responsibilities to objects? q Solution: Assign a responsibility to the class that has the information needed to fulfil it. 7
8 Information Expert (or Expert) Problem: co je obecný princip přiřazení zodpovědnosti objektům? Solution: přiřaď zodpovědnosti danému Expertu, tedy třídě co má informace k naplnění zodpovědnosti V NextGen POS aplikaci, kdo je zodpovědný za to znát celkový součet ceny (grand total) prodeje(sale)? Dle Information Expert se díváme po třídě která má informace k určení celkového součtu. 8
9 Information Expert (or Expert) Kam se budeme dívat abychom analyzovali třídy které mají dané informace? Do Domain Modelu, nebo Design Modelu..? Do obou! Můžeme předpokládat, že nemáme žádný či jen minimální Design Model. Určitě budeme hledat i v Domain Modelu daného information experta. 9
10 Information Expert (or Expert) Sale date time Contains 1..* SalesLineItem quantity * Described-by 1 Product Specification description price itemid Musíme znát o všech SalesLineItem instancích příslušných k sale a sečíst jejich mezisoučty (subtotals). Sale instance toto vše obsahuje, i.e. it is an information expert for this responsibility. 10
11 Information Expert (or Expert) t := gettotal() Toto je částečný diagram interakce. :Sale 11
12 Information Expert (or Expert) t := gettotal() :Sale 1 *: st := getsubtotal() :SalesLineItem Jaké informace jsou třeba k určení mezisoučtu položky (line item subtotal)? q quantity and price. SalesLineItem by mělo určit mezisoučet (subtotal). To znamená že Sale pošle getsubtotal() zprávu do každé SalesLineItem a sečte výsledky. 12
13 Information Expert (or Expert) Jaké informace jsou třeba k určení mezisoučtu položky (line item subtotal)? q quantity and price. SalesLineItem by mělo určit mezisoučet (subtotal). To znamená že Sale pošle getsubtotal() zprávu do každé SalesLineItem a sečte výsledky. 13
14 Information Expert (or Expert) t := gettotal() :Sale 1 *: st := getsubtotal() :SalesLineItem 1.1: p := getprice() K naplnění zodpovědnosti knowing and answering jaký je mezisoučet (subtotal), SalesLineItem musí znát cenu produktu (price). ProductSpecification je information expert na poskytnutí své ceny. :ProductSpecification 14
15 Information Expert (or Expert) K naplnění zodpovědnosti knowing and answering jaký je mezisoučet (subtotal), SalesLineItem musí znát cenu produktu (price). ProductSpecification je information expert na poskytnutí své ceny. 15
16 Information Expert (or Expert) Class Responsibility Sale Knows Sale total SalesLineItem Knows line item total ProductSpecification Knows product price K naplnění zodpovědnosti knowing and answering sale s total, 3 zodpovědnosti byly přiřazeny 3 design třídám K naplnění zodpovědnosti je často třeba informací rozprostřených po mnoha třídách a objektech. To znamená že je mnoho částečných expertů kteří budou spolupracovat v daném úkolu. 16
17 Creator Problem: Kdo by měl být zodpovědný za vytvoření nové instance nějaké třídy? Solution: Přiřaď třídě B zodpovědnost za vytvoření nové instance třídy A, pokud je jedna či více podmínek splněno: B aggregates A objects. B contains A objects. B records instances of A objects. B has the initializing data that will be passed to A when it is created (thus B is an Expert with respect to creating A). 17
18 Creator Sale date time Contains 1..* SalesLineItem quantity * Described-by 1 Product Specification description price itemid V POS aplikaci, kdo je zodpovědný a vytvoření SalesLineItem instance? Sale obsahuje mnoho SalesLineItem objektů, Creator pattern tedy dle podmínek označuje Sale jako kandidáta. 18
19 Creator :Sale makelineitem(quantity) Toto přiřazení zodpovědnosti požaduje že metoda makelineitem bude definována nad Sale. create(quantity) :SalesLineItem 19
20 Low Coupling Coupling: je míra jak silně je jeden element spojen, má znalost či spoléhá na dalších elementech. Třída mající high coupling je závislá na mnoha dalších třídách (libraries, tools). Problémy spojené s návrhem s high coupling: q Changes in related classes force local changes. q Harder to understand in isolation; need to understand other classes. q Harder to reuse because it requires additional presence of other classes. Problem: Jak podpořit co možná nejnižší závislosti, minimální dopad změn a zvýšit reuse/recyklaci? Solution: Přiřaď zodpovědnosti, tak že coupling zůstane malý. 20
21 Low Coupling Je třeba vytvořit instanci Payment a asociovat se Sale. :Register :Payment :Sale Jaká třída by za to měla být zodpovědná? Dle Creatoru, Register je kandidát. 21
22 Low Coupling makepayment() 1: create() :Register 2:addPayment(p) p:payment :Sale Register pak může poslat addpayment zprávu do Sale, a předat nový Payment jako parametr. Přiřazení zodpovědnosti coupluje Register class do znalosti Payment class. Sale also coupled to knowledge of a Payment. 22
23 Low Coupling makepayment() 1: makepayment() :Register 1.1. create() :Sale Alternativa řešení je vytvořit Payment a asociovat se Sale. No coupling between Register and Payment. :Payment 23
24 Low Coupling Kde se vyskytuje coupling: q Attributy: X has an attribute that refers to a Y instance. q Metody: e.g. a parameter or a local variable of type Y is found in a method of X. q Podtřída: X is a subclass of Y. q Typy: X implements interface Y. Není specifické měření couplingu, ale obecně, třídy které jsou generické (šablony) a snadné na reuse/ recyklaci mají low coupling. Vždy bude existovat nějaký coupling mezi objekty, jinak by nemohla být spolupráce mezi objekty. 24
25 High Cohesion Cohesion: je míra toho jak silně přísluší a účelově se zaměřují zodpovědnosti daného elementu. Třída s low cohesion dělá mnoho nesouvisejících aktivit nebo toho dělá až příliš. Problémy z důvodu návrhu s low cohesion: q q q q Hard to understand. Hard to reuse. Hard to maintain. Delicate, affected by change. Problem: Jak udržet složitost snadno ovladatelnou? Solution: Přiřaď zodpovědnosti tak, že cohesion zůstane high. 25
26 High Cohesion :Register makepayment() create() p:payment addpayment(p) :Sale Potřebujeme vytvořit Payment instanci a asociovat ji se Sale. Jaká třída za to má být zodpovědná? Dle Creatoru, Register je kandidát. Register se ale může stát vyžraný, pokud mu budeme přidávat další a další systémové operace. 26
27 High Cohesion :Register :Sale makepayment() makepayment() create() :Payment Alternativní návrh deleguje zodpovědnost vytvoření Payment na Sale Toto má higher cohesion v Registeru. Tedy tento návrh podporuje high cohesion a low coupling. 27
28 High Cohesion Scénáře ilustrující různé stupně funkční cohesion 1. Very low cohesion: třída zodpovědná za mnoho věcí v mnoha různých oblastech. q e.g.: a class responsible for interfacing with a data base and remote-procedure-calls. 2. Low cohesion: třída zodpovědná za složitý úkol ve funkční oblasti. q e.g.: a class responsible for interacting with a relational database. 28
29 High Cohesion 1. High cohesion: třída má mírnou zodpovědnost v jedné funkční oblasti a spolupracuje s dalšími třídami k naplnění úkolu. q e.g.: a class responsible for one section of interfacing with a data base. Hrubý odhad: třída s high cohesion má relativně málo metod, s hodně příbuznou funkčností, a nedělá toho moc. Spolupracuje a deleguje. 29
30 Low coupling VS. High Cohesion Low Coupling Jak moc jsem zavislý na mamince Jak jsem samostatný High cohesion V práci jsem zodpovědný za programování v C, kafe, management týmu V práci jsem zodpovědný za programování perzistence, znám SQL, DB, JPA, JDBC 30
31 Controller Problem: Kdo je zodpovědný za řízení vstupních systémových událostí? Solution: Přiřaď zodpovědnost k obdržení a zpracování systémové události do třídy reprezentující jedno z následujících: q Represents the overall system (facade controller). q Represents a use case scenario (use case handler). q Represents from a real world (role controller). q Controller je ne-user interface objekt, který definuje metodu pro systémovou operaci. q Note that windows, applets, etc. typically receive events and delegate them to a controller. 31
32 Controller V POST aplikaci je mnoho systémových operací Kdo by za ně měl být zodpovědný?
33 Controller Pomocí Controller pattern, jsou volby: o POST celkový system o Store colkový business/organizace o Cashier real-world entita zapojená do úkolů o BuyItemsHandler umělý handler všech systémových operací pro use case
34 Controller Správná volba je závislá na dalších faktorech (jako coupling a cohesion) ale doporučení jest: Použij façade kontroléry pokud jsou se jedná o pár systémových událostí UseCaseHandler je vhodný pokud máme mnoho systémových událostí mezi různými procesy a façade kotrolery by se staly přeplněné Použij role kontroléry opatrně. o Je snadné přiřadit veškerou práci person-like objektům na místo delegátů Note: Presentation layer does not handle system events
35 Controller
36 Controller Důsledek větší potenciál pro reuse = jako MVC možné úvahy o stavu use case o pokud UseCaseHandler užit pro veškeré systémové události náležící use casu, je možné zajistit systémové operace, tak abych se vyskytly jen v legální sekvenci
37 Polymorfismus Záměr Pokud se alternativy liší typem, přiřaď zodpovědnosti za chování - pomocí polymorfních operací typům pro které se chování liší Pozor, netestuj typ objektu ale použij podmínku k vybrání alternativy Problém Jak řešit alternativy dle typu Pokud program používá podmínky k výběru a nová variace znamená změnu těchto podmínek
38 Polymorfismus V POST aplikaci, kdo je zodpovědný za autorizace různých plateb? Akceptovat lze cash, check, credit či debit platby a autorizace je pokaždé různá. Z Polymorphismu, přiřadíme zodpovědnost každému typu Payment (inherit interface from abstract Payment class)
39 Polimorfismus
40 Polymorfismus Důsledek Snadné rozšíření Podobné Malá závislost Podobné GoF Command, Strategy a State
41 Pure fabrication Záměr Přiřaď kohezní množinu odpovědností do umělé třídy, která nic nereprezentuje v dané doméně. To potom umožní podporu pro high cohesion, low coupling, and reuse. Only do when desperate? We are often desperate! Problém OO je charakteristické implementací SW tříd jako konceptů reálného světa. Co ale pokud přiřazení odpovědností do doménových tříd znaméná špatnou kohezi veliké spárování (tight coupling)?
42 Pure fabrication Sale instance jsou uloženy v databázi. Pomocí Experta by Sale měl být za toto zodpovědný. Ale: Tento úkol požaduje veliké množství operací pro spojení s DB, žádná z nich nemá vztah ke konceptu Sale (incohesive) Sale class musí být spárovaná (coupled) s rozhraním DB - tedy coupling roste a to není do jiného doménového objektu! Ukládání objektů do DB je obecná úloha kterou využije více tříd. Přiřazením zodpovědnosti do Sale znamená špatný reuse a noho duplokace v dalších třídách Řešení: vytvoř třídu zodpovědnou jen za ukládání objektů do DB
43 Pure fabrication Důsledek Reuse, low coupling, high cohesion Podobné GoF Adapter, Visitor, Observer
44 Indirection Záměr Přiřaď zodpovědnosti do prostředníka aby zprostředkovával komunikaci mezi komponentami servisy, tak aby nebyli přímo spárované Problém Jak odpárovat objekty, tak že low coupling zůstane a reuse je zvýšen
45 Indirection V POST aplikaci, terminal musí používat modem k odeslání plateb. OS poskytne low-level API pro přístup k modemu. Třída CreditAuthorizationService je zodpovědná za komunikaci s modemem. ALE, pro propojení nechceme aby detaily modemu byly zaneseny do do doménové třídy (highly coupled to OS). Raději, přidáme prostředníka, třídu Modem, která bude reprezentovat rozhraní do doménové třídy. Také známé jako proxy.
46 Indirection Důsledek Low coupling Podobné GoF: Mediator, Adapter, Facade, Observer
47 Don t talk to strangers Záměr Přiřaď zodpovědnosti do klientského přímého objektu, ta aby spolupracoval s nepřímím objektem. Tak, že klient neví nic o nepřímém objektu Umísťuje omezení na to jaké objekty mohou odesílat zprávy uvnitř metody. Ty by měly být odeslány pouze na: Sebe, či vlastní atribut nebo vlastní kolekci Parametr metody Objekt vytvořen uvnitř metody Problém Pokud objekt má znalosti vnitřní struktury jiného objektu, potom trpí s high coupling. Pokud klientský objekt musí použít servis k obdržení informací z nepřímého objektu, jak toho může docílit bez spárování do znalosti vnitřní struktury jeho přímého serveru či nepřímého objektu
48 Don t talk to strangers V POST app, POST instance obsahuje atribut referující na Sale, a ten má atribut referující na Payment. POST instance podporují operaci paymentamount, ta vrací aktualní hodnotu předloženou k platbě. Sale instance podporují operaci payment, ta vrací Payment instanci asociovánu se Sale.
49 Don t talk to strangers Jedna možnost je
50 Don t talk to strangers Lepší volba je přidat zodpovědnost do přímého objektu (Sale), aby vrátil Payment amount do POST Známé jako promoting the interface
51 Don t talk to strangers Proti zákonu Jako každý zákon, někdy se musí porušit Pokud je broker či object server zodpovědný za návrat jiných objektů na bázi vyhledání, pak je možné získat viditelnost do těchto objektů skrze broker a zaslat jim zprávu přímo. Podobné Indirection, Chain of Responsibility
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
Principy objektového návrhu. Přednáška 8, LS 2013/2014
Principy objektového návrhu Přednáška 8, LS 2013/2014 Principy objektového návrhu Cílem je vytvořit kvalitní návrh, který bude předcházet vzniku symptomů jako: Ztuhlost - změna SW je obtížná Křehkost -
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.
Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu
Introduction to MS Dynamics NAV
Introduction to MS Dynamics NAV (Item Charges) Ing.J.Skorkovský,CSc. MASARYK UNIVERSITY BRNO, Czech Republic Faculty of economics and business administration Department of corporate economy Item Charges
Návrhové vzory OMO, LS 2014/2015
Návrhové vzory OMO, LS 2014/2015 Motivace Cílem objektového návrhu je strukturu aplikace navrhnout tak, aby splňovala následující kritéria: snadná rozšiřitelnost účelnost testovatelnost dokumentovatelnost
UP - fáze rozpracování (Elaboration) I. J. Zendulka (s využitím obrázků a tabulek z knihy C.Larmana)
UP - fáze rozpracování (Elaboration) I J. Zendulka (s využitím obrázků a tabulek z knihy C.Larmana) Obsah Případová studie NextGen POS Podstata fáze rozpracování Model domény Systémový diagram sekvencí
Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2009 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 25
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2009 Radek Kočí Seminář Java Návrhové vzory 1/ 25 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin
Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin (nově AllFusion Data Modeller a Process Modeller ) Doc. Ing. B. Miniberger,CSc. BIVŠ Praha 2009 Tvorba datového modelu Identifikace entit
Principy OOP při tvorbě aplikací v JEE. Michal Čejchan
Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích
Budování architektury pomocí IAA
Budování architektury pomocí IAA Jaromír Drozd jaromir_drozd@cz.ibm.com Vysoká škola ekonomická 23.března 2007 Seminář Architektury informačních systémů 23.3.2007 Agenda 1. Představení Insurance Application
Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz
Design Patterns Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Základní návrhové vzory Kategorie Creational Patterns starají se o vytváření instancí Structural Patterns struktura komponent v
ČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33
Stručný obsah Část 1: Zahřívací kolo Kapitola 1 Co je a k čemu je návrhový vzor 33 Kapitola 2 Zásady objektově orientovaného programování 39 Kapitola 3 Co konstruktor neumí (Jednoduchá tovární metoda Simple
Problém identity instancí asociačních tříd
Problém identity instancí asociačních tříd Autor RNDr. Ilja Kraval Ve školeních a také následně po jejich ukončení se stále častěji objevují dotazy, které se týkají tzv. identity instancí asociační třídy.
2 Axiomatic Definition of Object 2. 3 UML Unified Modelling Language Classes in UML Tools for System Design in UML 5
Contents Contents 1 Semestrální práce 1 2 Axiomatic Definition of Object 2 3 UML Unified Modelling Language 2 3.1 Classes in UML............................ 3 4 Tools for System Design in UML 5 5 Student
Postup objednávky Microsoft Action Pack Subscription
Postup objednávky Microsoft Action Pack Subscription DŮLEŽITÉ: Pro objednání MAPS musíte být členem Microsoft Partner Programu na úrovni Registered Member. Postup registrace do Partnerského programu naleznete
Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2008 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 24
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Návrhové vzory 1/ 24 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
EURO přeshraniční platba
EURO přeshraniční platba EURO přeshraniční platba je platební příkaz splňující následující kriteria: Je předložen elektronicky Je požadováno standardní provedení (tj. nikoliv urgentní nebo expresní) Částka
6 Objektově-orientovaný vývoj programového vybavení
6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).
POPIS TUN TAP. Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky. (Chci si ujasnit o kterem bloku z toho schematu se mluvi.
Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky POPIS TUN TAP (Chci si ujasnit o kterem bloku z toho schematu se mluvi.) VAS MODEL OpenVPN MUJ MODEL funkce virtuálního sítového rozhrani
Objekty, třídy, vazby 2006 UOMO 30
Objekty, třídy, vazby 2006 UOMO 30 Osnova Vymezení pojmu objekt Objekt a základní objektové koncepty Třídy, třída vs. objekt Vztahy mezi objekty, vazby mezi třídami Polymorfismus 2006 UOMO 31 Vymezení
Čipové karty Lekařská informatika
Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány
GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA
GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA What is an FTP client and how to use it? FTP (File transport protocol) - A protocol used to transfer your printing data files to the MAFRAPRINT
2. Začlenění HCI do životního cyklu software
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 VÍTKOVICE STEEL, a.s. vitkovicesteel.com
1/ 11 User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 2/ 11 Contents 1. MINIMUM SYSTEM REQUIREMENTS... 3 2. SŘHV ON-LINE WEB INTERFACE... 4 3. LOGGING INTO SŘHV... 4 4. CONTRACT
SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři
CeMaS, Marek Ištvánek, 22.2.2015 SenseLab z / from CeMaS Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři Open Sensor Monitoring, Device Control, Recording and Playback
Systém pro správu experimentálních dat a metadat. Petr Císař, Antonín Bárta 2014 Ústav komplexních systémů, FROV, JU
Systém pro správu experimentálních dat a metadat Petr Císař, Antonín Bárta 2014 Ústav komplexních systémů, FROV, JU BioWes Systém pro správu experimentálních dat a meta Hlavní cíl Vytvoření systému usnadňujícího
Převod prostorových dat katastru nemovitostí do formátu shapefile
GIS Ostrava 2009 25. - 28. 1. 2009, Ostrava Převod prostorových dat katastru nemovitostí do formátu shapefile Karel Janečka1, Petr Souček2 1Katedra matematiky, Fakulta aplikovaných věd, ZČU v Plzni, Univerzitní
Základy objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
Introduction to Navision 4.00 Jaromír Skorkovský, MS., PhD.
Introduction to Navision 4.00 Jaromír Skorkovský, MS., PhD. ESF MU, Czech Republic 1 1 Distribution channels Microsoft Development, new versions, technology, languages.. Country HQ 1 legislation, sales
Efektivní provoz koncových stanic
Efektivní provoz koncových stanic Jan Vávra SSP Datacenter Trendy a výzvy Trend a situace Více starostí Co chtějí uživatelé Překvapivě více pracovat. IT. Co udělá? Musí reagovat. Různorodá zařízení, mobilita,
Jak efektivně ochránit Informix?
Jak efektivně ochránit Informix? Jan Musil jan_musil@cz.ibm.com Informix CEE Technical Sales Information Management Jsou Vaše data chráněna proti zneužití? 2 Ano, pokud... 3 Nepoužitelné Steve Mandel,
Vazba (volná, těsná) - míra znalosti jedné třídy*komponenty o druhé.
Návrhové vzory. Komponentový návrh, volná vazba versus těsná vazba. Oddělení politiky od mechanismu. Návrh distribuovaných systémů s použitím webových služeb a servisně orientované architektury (SOA).
Database systems. Normal forms
Database systems Normal forms An example of a bad model SSN Surnam OfficeNo City Street No ZIP Region President_of_ Region 1001 Novák 238 Liteň Hlavní 10 26727 Středočeský Rath 1001 Novák 238 Bystřice
VY_32_INOVACE_06_Předpřítomný čas_03. Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace
VY_32_INOVACE_06_Předpřítomný čas_03 Autor: Růžena Krupičková Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace Název projektu: Zkvalitnění ICT ve slušovské škole Číslo projektu: CZ.1.07/1.4.00/21.2400
UP - fáze rozpracování II (návrh) J. Zendulka (s využitím obrázků z knihy C.Larmana a L.A.Maciaszka)
UP - fáze rozpracování II (návrh) J. Zendulka (s využitím obrázků z knihy C.Larmana a L.A.Maciaszka) Obsah Logická architektura Závislosti balíčků Architektonické vzory OO návrh - úvod OO návrh - modelovací
Windows na co se soustředit
Windows na co se soustředit Lukáš Křovák Manažer divize Windows 1 Agenda Čemu se obchodně věnovat před uvedením Windows 8 Jak se mění trh počítačů Správa počítačů s Windows Intune Internet Explorer 9 Doplňkové
- 1 2 1 2 3 4 3 4 5 5 For further information please contact your local Epson office or visit www.epson-europe.com EPSON Europe B.V. Otto-Hahn-Str. 4 D-40670 Meerbusch Tel. +49 (0)1805/377661 All features
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
(item and value entries and related G/L Entries) J.Skorkovský, KPH,ESF MU Brno
ERP Basic and very simplified Principle (item and value entries and related G/L Entries) J.Skorkovský, KPH,ESF MU Brno Simplified diagram of ERP usage ERP Transaction = Entries Partners DB ERP Enterprise
Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o
Diagram nebo text? Miroslav Benešovský, Diagram nebo text? Jaká je role analytika při vývoji SW? Most mezi zákazníkem a vývojáři Jaké má analytik prostředky? Diagramy, vizuální modelování Jaká je zkušenost
WORKSHEET 1: LINEAR EQUATION 1
WORKSHEET 1: LINEAR EQUATION 1 1. Write down the arithmetical problem according the dictation: 2. Translate the English words, you can use a dictionary: equations to solve solve inverse operation variable
POWERSHELL. Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE lukas@brazda.org
POWERSHELL Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE lukas@brazda.org Obsah přednášky Úvod Základní komponenty DSC Demo Úvod Desired State Configuration? S DSC se nestaráte o konfiguraci
BPM_09. Hodnotové modelování podnikových procesů
BPM_09 Hodnotové modelování podnikových procesů Luca Pacioli otec účetnictví Debit (dluh) z italského debito dlužit vlastníkovi (má dáti) Credit (úver) z italského credito půjčený od vlastníka (dal) BOOKS:
Instalace Pokyny pro instalaci v operačním systému Windows XP / Vista / Win7 / Win8
Instalace Pokyny pro instalaci v operačním systému Windows XP / Vista / Win7 / Win8 1. Stáhněte si instalační program HOST makro engine z oficiálního webu IABYTE. 2. Spusťte instalační program a postupujte
PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES
PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES Použité pojmy Platební systém Elektronický platební příkaz Účetní
Obsah. October 2, Polymorfizmus. Typologie testování. Problém polymorfizmu. Vady/Anomálie. Vazební sekvence ČVUT FEL, K13132
OO testování Radek Mařík ČVUT FEL, K13132 October 2, 2014 Radek Mařík (marikr@fel.cvut.cz) OO testování October 2, 2014 1 / 55 Obsah 1 Kĺıčové OO vlastnosti Dědičnost Řízení přístupu Polymorfizmus 2 Testování
Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.
Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost. Projekt MŠMT ČR Číslo projektu Název projektu školy Klíčová aktivita III/2 EU PENÍZE ŠKOLÁM CZ.1.07/1.4.00/21.2146
Transportation Problem
Transportation Problem ١ C H A P T E R 7 Transportation Problem The transportation problem seeks to minimize the total shipping costs of transporting goods from m origins (each with a supply s i ) to n
Agile leadership in Czech Rep. Agilia Conference 2011 Brno
Agile leadership in Czech Rep. Agilia Conference 2011 Brno Aguarra, s.r.o., Lisabonská 2394/4, 190 00 Praha 9, www.aguarra.cz 2 Aguarra, s.r.o., Lisabonská 2394/4, 190 00 Praha 9, www.aguarra.cz 3 Aguarra,
CASE nástroje. Jaroslav Žáček
CASE nástroje Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within
Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
Správa a sledování SOA systémů v Oracle SOA Suite
Správa a sledování SOA systémů v Oracle SOA Suite Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro IOA 7. října 2014 Marek Rychlý Správa
KIV/ASWI 2007/2008 Metody získávání a zachycení požadavků. Postupy a UML modely Zachycení požadavků Model užití Popis problémové oblasti
KIV/ASWI 2007/2008 Metody získávání a zachycení požadavků Postupy a UML modely Zachycení požadavků Model užití Popis problémové oblasti Objektová analýza a návrh Sběr požadavků, analýza: co se chce objektový
CASTING HAND PRODUCTION USING MOULDS
Second School Year CASTING HAND PRODUCTION USING MOULDS 1. Casting Casting is a production method for complicated components. A melted metal or other material is casted into a mould. There are two basic
Karta předmětu prezenční studium
Karta předmětu prezenční studium Název předmětu: Objektově orientovaná analýza a návrh (OOAN) Číslo předmětu: 548-0040 Garantující institut: Garant předmětu: Institut geoinformatiky RNDr. Daniela Szturcová,
CzechPOINT@office a konverze na úřadech Martin Řehořek
CzechPOINT@office a konverze na úřadech Martin Řehořek Novell Professional Services ČR, s.r.o. mrehorek@novell.com Agenda CzechPOINT@office Lokální administrátor Autorizovaná konverze na žádost Autorizovaná
Project Life-Cycle Data Management
Project Life-Cycle Data Management 1 Contend UJV Introduction Problem definition Input condition Proposed solution Reference Conclusion 2 UJV introduction Research, design and engineering company 1000
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
11 Návrh programového vybavení
11 Návrh programového vybavení - technické jádro procesu vývoje programového systému, existuje u všech modelů životního cyklu - Jackson: Začínající moudrost programátora (softwarového inženýra) spočívá
aktuality, novinky Ing. Martin Řehořek
CzechPOINT@office aktuality, novinky Ing. Martin Řehořek Novell Professional Services ČR, s.r.o. mrehorek@novell.com Agenda CzechPOINT@office Aktuality z provozu KzMU statistiky Mám zájem o konverzi Kde
valid from 1st November 2011
Client format Payment cards statement valid from 1st November 2011 The file is created every 11th day of the month. In case the 11th day is a holiday or SAT or SUN, the file will be created on the following
MVC (Model-View-Controller)
MVC vs PAC MVC (Model-View-Controller) Architektonický vzor zabývající se uživatelským rozhraním Odděluje doménovou (bussiness) logiku a uživatelské rozhraní do tří nezávislých komponent: Model View Controller
Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.
Czech Republic EDUCAnet Střední odborná škola Pardubice, s.r.o. ACCESS TO MODERN TECHNOLOGIES Do modern technologies influence our behavior? Of course in positive and negative way as well Modern technologies
Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT
Škola: Střední škola obchodní, České Budějovice, Husova 9 Projekt MŠMT ČR: EU PENÍZE ŠKOLÁM Číslo projektu: CZ.1.07/1.5.00/34.0536 Název projektu školy: Výuka s ICT na SŠ obchodní České Budějovice Šablona
Petr Vlk KPCS CZ. WUG Days října 2016
Petr Vlk KPCS CZ WUG Days 2016 8. října 2016 Jednoduchá správa Zařízení Jednotné přihlašování Windows Server Active Directory Další systémy a aplikace Uživatelské jméno Azure Veřejný Cloud SaaS Office
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35 Konceptuální
Dolování v objektových datech. Ivana Rudolfová
Dolování v objektových datech Ivana Rudolfová Relační databáze - nevýhody První normální forma neumožňuje vyjádřit vztahy A je podtypem B nebo vytvořit struktury typu pole nebo množiny SQL omezení omezený
AIC ČESKÁ REPUBLIKA CZECH REPUBLIC
ČESKÁ REPUBLIKA CZECH REPUBLIC ŘÍZENÍ LETOVÉHO PROVOZU ČR, s.p. Letecká informační služba AIR NAVIGATION SERVICES OF THE C.R. Aeronautical Information Service Navigační 787 252 61 Jeneč A 1/14 20 FEB +420
CASE. Jaroslav Žáček
CASE Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? Definice dle SEI A CASE tool is a computer-based product aimed at supporting one or more software engineering activities
Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny?
Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny? Robert Havránek Channel Audience Manager Microsoft Partner Network a jeho výhody
7.5 Diagram tříd pokročilé techniky
7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem
Lukáš Brodský www.gisat.cz. Praha 2008. Osnova. Objektový přístup Verze 4, 5, 6 / 7 Developer7 -funkčnost, nové vlastnosti HW
Nové možnosti objektověorientované klasifikace v Definiens Lukáš Brodský www.gisat.cz GISAT Praha 2008 Osnova Objektový přístup Verze 4, 5, 6 / 7 Developer7 -funkčnost, nové vlastnosti HW Objektový přístup
ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy
ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow
7.6 Další diagramy UML
7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI
filtrační polomasky disposable respirators
filtrační polomasky disposable respirators 347-351 respirátory REFIL respirators REFIL 352 masky a polomasky 3M masks and halfmasks 3M 353-362 respirátory a masky JSP respirators and masks JSP 363-366
Michal Hroch Server Product Manager Microsoft Česká republika
Michal Hroch Server Product Manager Microsoft Česká republika Proč by vás Platforma měla vůbec zajímat? záruka spolehlivosti potenciál pro nové příležitosti Performance Point server 6 Point of Sale Retail
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ UML UML není metodikou ani programovacím jazykem, je to pouze vizuální modelovací nastroj pro objektově orientované systémy.
Sociální sítě jako Velký bratr. Martin Klubal AEC a.s.
Sociální sítě jako Velký bratr Martin Klubal AEC a.s. Sociální sítě Sociální sítě Facebook LinkedIn Google+ Instagram Twitter Tumblr Orkut Sociální sítě Aktivní uživatelé v milionech (2015) 230 300 288
Instrukce pro vzdálené připojení do učebny 39d
Instrukce pro vzdálené připojení do učebny 39d Každá skupina má k dispozici jedno sdílené připojení, prostřednictvím kterého se může vzdáleně připojit do učebny 39d a pracovat na svých semestrálních projektech
CAL (CAN Application Layer) a CANopen
CAL (CAN Application Layer) a CANopen J. Novák České vysoké učení technické v Praze Fakulta elektrotechnická Katedra měření Průmyslový distribuovaný systém na bázi sběrnice CAN Pressure sensor Stepper
George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu
A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,
7.6 Další diagramy UML
7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI
Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)
Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control) Problém HMVC úvod MVC v určitých aplikacích nedostačující Příklad: webová stránka s widgety Např. kalendář, hodnocení,
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trochu historie neuškodí Do roku 1994 chaos ve světě objektově orientovaných metod (několik jazyků pro vizuální modelování,
Vypsání závodu / Notice of Race strana/page 1/5. Compotech Cup. v lodních třídách / in classes. D-One, 7P CTL 161315
Vypsání závodu / Notice of Race strana/page 1/5 Compotech Cup v lodních třídách / in classes D-One, 7P CTL 161315 Datum / date: 04.06.2016 05.06.2016 místo konání : Kemp Jestřábí 1, Lipno Černá v Pošumaví
Digitální učební materiál
Digitální učební materiál Projekt Šablona Tématická oblast DUM č. CZ.1.07/1.5.00/34.0415 Inovujeme, inovujeme III/2 Inovace a zkvalitnění výuky prostřednictvím ICT (DUM) Anglický jazyk pro obor podnikání
Microsoft System Center Configuration Manager 2012. Jan Lukele
Microsoft System Center Configuration Manager 2012 Jan Lukele Rodina System Center 2012 System Center Configuration Manager System Center Endpoint Protection System Center Operations Manager System Center
Od Czech POINTu k vnitřní integraci
Od Czech POINTu k vnitřní integraci Radek Novák Direct Account Manager Co mají společné??? - Czech POINT - Datové schránky (ISDS) - Vnitřní integrace úřadu 2 Projekt Czech POINT - 28.3.2007 zahájen pilotní
Metody inventarizace a hodnocení biodiverzity stromové složky
ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE Fakulta lesnická a dřevařská Metody inventarizace a hodnocení biodiverzity stromové složky Methods for inventory and biodiversity evaluation of tree layer SBORNÍK ZE
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.
X33EJA Web Services Martin Ptáček, KOMIX s.r.o. ptacek@komix.cz Copyright 2007 KOMIX Copyright s.r.o. 2007 KOMIX s.r.o. 1. Obsah Historie Co jsou Web Services? Co je to SOA? JAX-WS (Java API for XML Web
Litosil - application
Litosil - application The series of Litosil is primarily determined for cut polished floors. The cut polished floors are supplied by some specialized firms which are fitted with the appropriate technical
Risk management in the rhythm of BLUES. Více času a peněz pro podnikatele
Risk management in the rhythm of BLUES Více času a peněz pro podnikatele 1 I. What is it? II. How does it work? III. How to find out more? IV. What is it good for? 2 I. What is it? BLUES Brain Logistics
Připojení internetového modulu econet300 Do regulátoru ecomax 810P3-L TOUCH.
Připojení internetového modulu econet300 Do regulátoru ecomax 810P3-L TOUCH. Connection of econet300 internet module to ecomax 810P3-L TOUCH Controller. Prosím ověřte verzi softwaru vašeho modulu ecomax.
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í.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
Zpracoval: houzvjir@fel.cvut.cz
Zpracoval: houzvjir@fel.cvut.cz 15. Návrhové vzory. Komponentový návrh, volná vazba versus těsná vazba. Oddělení politiky od mechanismu. Doménově specifické jazyky (DSL). (A7B36OMO) Obsah Návrhové vzory...
Kartografické modelování V Topologické překrytí - Overlay
Kartografické modelování V Topologické překrytí - Overlay jaro 2017 Petr Kubíček kubicek@geogr.muni.cz Laboratory on Geoinformatics and Cartography (LGC) Institute of Geography Masaryk University Czech
2011 Jan Janoušek BI-PJP. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE TRANSFORMACE GRAMATIK NA LL(1) GRAMATIKU. TABULKA SYMBOLŮ. VNITŘNÍ REPREZENTACE: AST. JAZYK ZÁSOBNÍKOVÉHO POČÍTAČE. RUNTIME PROSTŘEDÍ. 2011 Jan Janoušek BI-PJP Evropský
Konceptuální datové modely používané při analýze
Konceptuální datové modely používané při analýze Abstraktní datové typy jako definice domén atributů ADT (Abstraktní datový typ) zapouzdření datového typu lidský mozek je schopen řešit úlohy jen do určité