NAUČTE SE MALOVAT SI INSTANCE!
|
|
- Zuzana Beranová
- před 8 lety
- Počet zobrazení:
Transkript
1 NAUČTE SE MALOVAT SI INSTANCE! část 2. RNDr. Ilja Kraval, září ÚVOD V předešlém článku jsme otevřeli jeden ze základních problémů, který musí analytik řešit: Jak vypadá skladba informace v informačním systému. Uvedli jsme, že pomocí někdy až hektických konzultací s budoucím zákazníkem - zadavatelem analytik dospěje nakonec k určité představě, jak mají být informace v systému spravovány a v jakém jsou vztahu. Přitom však musí použít (ať už vědomky nebo nevědomky) základní vzor analytického návrhu Dichotomie třída instance na analytické úrovni. Upozornili jsme na to, že tento vzor se prolíná všemi úrovněmi abstrakce a jeho nasazení nalezneme v libovolné technologii. Na analytické úrovni abstrakce laik tomuto vzoru dobře rozumí a chápe jej, jenom o něm explicitně neví. Závěrem jsme uvedli, že práce s instancemi jako s příklady možné evidence je nezastupitelnou částí analytických postupů a je tedy třeba velmi dobře znát, jak se má s instancemi vlastně pracovat. Proto je na našich školeních této problematice věnována velká pozornost (například nepřehlédněte blížící se školení Návrh IS pomocí UML v Praze zde). Existují základní dvě situace, kdy práce s instancemi vystupuje do popředí: 1. Při vyhledávání vztahů mezi informacemi v systému 2. Při vyhledávání logických chyb ve stávajícím řešení O obou postupech pojednává tento článek. VYHLEDÁVÁNÍ VZTAHŮ MEZI INFORMACEMI V SYSTÉMU POMOCÍ INSTANCÍ Při hledání vztahů mezi evidovanými informacemi a tedy vyhledávání analytických tříd musíme vždy nejprve uvažovat na úrovni instancí jako o příkladech evidence, poté teprve provedeme zobecnění do meta vzorce, tj. modelu tříd. Tento postup provádíme zákonitě vždy a nevyhneme se mu nikdy. Nikdo totiž ještě totiž nevymyslel vzorec metodou ad hoc bez znalosti příkladů, které vedou ke znalosti tohoto vzorce.
2 strana 2 V některých opravdu jednoduchých příkladech evidence je však matoucí to, že tento postup logického uvažování od instancí ke třídám bývá opravdu dílem okamžiku, tj. několika málo desetin sekundy našeho přemýšlení a to aniž bychom si to uvědomovali. Například pokud zavedeme tzv. číselníkovou vazbu Každé auto má svou barvu z číselníku barev takto: Auto +mb 1 Barv a Obrázek 1 Každé auto má svou barvu z číselníku barev tak v tomto případě vidíme ihned v duchu evidované instance několik aut na straně jedné a seznam barev na straně druhé, přičemž každá instance auta má odkaz na jednu instanci barvy ze seznamu barev - přitom je díky povaze této vazby žádoucí, aby dvě instance auta, které mají tutéž barvu, ukázaly na tutéž instanci barvy. V takovýchto případech není nutné malovat si instance, protože je vidíme zřetelně a logika jejich vztahů po jejich zrození je jasná a transparentní. Jiná situace nastane, pokud je problém sám o sobě složitější a není na první pohled vidět. ZNÁZORNĚNÍ INSTANCÍ PŘI SLOŽITÉ LOGICE PROBLÉMU Jako příklad bych uvedl situaci v jedné firmě, která vyrábí informační systémy pro evidenci úvěrů, půjček a podobných finančních produktů. Jednou z opravdových lahůdek pro analytika je v takovém systému vymyslet logiku fungování splátkových kalendářů pro všechny typy úvěrů s následnou generací pokynů pro převody peněz z účtu klienta. V takovémto případě je umění malovat si instance nezastupitelné. Existuje totiž příliš mnoho typů splátek, generovaných pokynů atd., které s daným produktem mohou souviset (splátky jistiny, splátky úroků, poplatky ze služby, sankční splátky a spousta dalších). Následují další požadavky na logiku, například možnost nastavení pořadí priorit splátek (např. pořadí splátek sankce, poplatky, úroky, jistina anebo sankce, úroky, poplatky, jistina apod.). Poté přidáme skutečnou analytickou delikatesu tzv. rollback splátkového kalendáře, například když se má vyřešit příchod opožděné platby. Znamená to mimo jiné, že již vygenerované sankce přestanou být platnými, ale už byly zaplaceny apod. Výsledkem je situace, kdy pokusy o nalézání tříd bez znázornění instancí jako příkladů evidence musejí nutně selhat a na 99 procent budou obsahovat logické chyby a nedostatky. strana 2
3 strana 3 ZNÁZORNĚNÍ INSTANCÍ PŘI VYHLEDÁVÁNÍ VZTAHU GENERALIZACE Dalším případem, kdy je třeba malovat si instance, je vyhledávání vztahu Generalizace. Zde bych rád upozornil na jednu obzvlášť nebezpečnou chybu, které se může analytik dopustit při vyhledávání vztahu generalizace. Tato chyba je natolik rozšířená, navíc se bohužel hojně vyskytuje i v literatuře týkající se OOP anebo modelování v UML. Její záludnost spočívá v tom, že model tříd se zavedeným vztahem Generalizace vypadá sice pěkně, ale není logicky správný a systém je navržen chybně. Tuto chybu bych nazval vyhledávání vztahu Generalizace metodou buldozer. Prohlédněme si nejprve příklad vztahu Generalizace znázorněný takto: - a1 - a2 A B C - b1 - b2 - c1 - c2 Obrázek 2 Vztah generalizace (slangově dědičnost) Uvedený obrázek ukazuje, že třída B používá třídu A ve vztahu generalizace a stejně tak třída C také používá třídu A ve vztahu generalizace. Díky generalizaci tyto třídy spolu interagují jako dva předpisy, tedy třída B (jako předpis) použije třídu A (jako předpis tedy pozor, zde není řeč o vztahu mezi instancemi!). Třídě, která je v generalizaci použita (zde A), se říká předek, a třídě, která používá (zde B a C), se říká potomek. Vrchní třída je třídou více obecnou a třída potomek je třídou více speciální. Generalizace v tomto případě znamená, že třída B použila třídu A ještě před vznikem instancí. Nejedná se tedy o interakci mezi instancemi, ale o interakci přímo mezi třídami, tedy o interakci, kdy jeden předpis použije rovnou a přímo druhý předpis, když rodí svou instanci. Důsledkem Generalizace na obrázku je, že když požádáme třídu B o vznik instance, tak třída B se kromě svého předpisu podívá přes interakci Generalizace také na předpis třídy A a vydá instanci, která bude mít vlastnosti podobné situaci, jako kdybychom obě třídy (tedy předpisy obou tříd) slili dohromady. Totéž platí samozřejmě i pro třídu C. Tuto skutečnost strana 3
4 strana 4 bychom mohli znázornit pomocí dalšího obrázku, kde si namalujeme také instance vzniklé z těchto tříd: Obrázek 3 Vznik instancí z tříd, které interagují přes generalizaci Chybná metoda vyhledávání generalizace jako Metoda generalizačního buldozeru vychází z tohoto obrázku (a vřele ji nedoporučuji). Uvedená metoda spočívá v tomto postupu: Hledáme nejprve jako příklady instance a nalezneme pomocí rozhovoru se zákazníkem strukturu instance B1 jako (a1, a2, b1, b2). Třídy nyní ještě neznáme a zkusíme jako řešení zavést třídu B, která bude definovat tyto atributy. Poté hovoříme o instanci C1 a zjistíme, že instance má strukturu (a1, a2, c1, c2). Zavedeme tedy třídu C, která zavádí tyto atributy, a přitom si ověříme, že analyticky je a1 a a2 v obou případech totéž. To samozřejmě musíme vyřešit. Rozhodneme se tedy o vytknutí společného a zavedeme proto společného předka A, do něj dáme společnou strukturu. Dostaneme tak zmíněný předešlý obrázek s generalizací, kde A je předek. strana 4
5 strana 5 Vypadá to sice jako postup pěkně, když jsme dostali stejný obrázek. Ale v úvaze je bohužel jedna hrubá chyba spočívající v otočení implikace. Z předešlého obrázku generalizace správně vyplývá, že pokud vznikne instance ze třídy B, potom má vlastnosti (a1, a2, b1, b2) a stejně tak relevantně má instance z C atributy (a1, a2, c1, c2). Z toho ale vůbec neplyne opačná implikace: Jestli totiž nalezneme, že instance B1 umí atributy (a1, a2, b1, b2) a C1 umí (a1, a2, c1, c2), ještě z toho neplyne, že musíme použít generalizaci, abychom dosáhli tohoto efektu. V mnoha případech (a dokonce ve většině!) se to společné vyřeší pomocí skládání instancí, tedy to společné se vloží do instance, která se kompozicí vloží do prvku B i C. Vznikne tak jiné a mnohdy lepší řešení, které řeší to společné (a1, a2) : B - b1 - b2 1 A 1 - a1 - a2 C - c1 - c2 Obrázek 4 Možné a mnohdy lepší řešení společné části informace A Jako příklad bych uvedl tvrzení, že pokud evidovaný prvek typu X obsahuje IČO a evidovaný prvek jiného typu Y také obsahuje IČO (a jsou to prvky z různých tříd), vůbec to neznamená, že kvůli tomu musí mít společného předka. IČO lze totiž do obou prvků vložit jako kompozit ku jedné. Otázkou tedy je, jak se správně hledá Generalizace, když tato metoda není správná? Ke správnému nalezení vztahu Generalizace slouží jiný postup založený na hlavní vlastnosti Generalizace a tou je tak zvaná zástupnost rolí neboli pojmů zespodu nahoru. Namalujeme si ji jako pomyslnou šipku takto: strana 5
6 strana 6 - a1 - a2 A B C - b1 - b2 - c1 - c2 Obrázek 5 Zástupnost rolí a pojmů zespodu nahoru Prakticky se tato vlastnost projeví v efektu tzv. heterogenního linku mezi instancemi. To si nyní vysvětlíme nejčastěji používaném analytickém vzoru, který zavádí generalizaci. VZOR HETEROGENNÍ SEZNAM Vzor si vyjádříme pomocí následujícího obrázku: X A * B C Obrázek 6 Vzor heterogenní seznam strana 6
7 strana 7 Všimněte si, že na straně kompozice ku N je jako třída vlastněného uvedena abstraktní třída A. Z ní nikdy nebudou vznikat instance. Třídy B a C již nejsou abstraktní, tedy jsou konkrétní. Nyní je dobré si představit namalovanou zelenou šipku ve vlastnosti zástupnosti rolí zespodu nahoru. Ta funguje tak, že instance ze tříd B a C vstupují do vztahů linků z kompozice na straně vlastněných (jako by se vtělovaly do pozice v třídě A na konci kompozice) a jsou to tedy ony, kdo tento vztah v instancích realizují. Možný instanční model by mohl tedy vypadat například takto: B1 B2 X1 C1 C2 B3 Obrázek 7 Heterogenní seznam v instancích Všimněte si, že prvek X1 drží v seznamu instance z různých tříd (tedy z B i z C), ale přitom všechny linky v tomto vztahu jsou chápány jako instanční realizace jednoho jediného vztahu kompozice ku N v modelu tříd. Tuto situaci bychom pro vysvětlení mohli znázornit takto: strana 7
8 strana 8 jeden vztah kompozice ku N v modelu tříd B1 B2 X1 C1 C2 B3 Obrázek 8: Několik linků do prvků z různých tříd, ale přitom se jedná o jeden vztah v modelu tříd A nyní se vrátíme k tématu článku: Dokud si nemalujeme tyto instance anebo si je dobře nepředstavíme v duchu, nejsme schopni heterogenní linky vidět a nalézt správným způsobem vztah Generalizace, tj. model pak obsahuje logické chyby. (poznámka: Této problematice je proto věnována velká pozornost na školeních viz například blížící se školení Návrh IS pomocí UML v Praze zde). ZÁVĚR Práce s instancemi jako s příklady možné evidence je nezastupitelnou částí analytických postupů a proto je dobré velmi dobře znát, jak se má s instancemi vlastně pracovat. Bez nich totiž nebude model tříd v pořádku. Jednak hrozí zavlečení logických chyb do modelu a kromě toho bez znázornění instancí můžeme zavést vztah Generalizace chybně se všemi nepříjemnými důsledky. Konec článku Věnujte pozornost cenově výhodnému školení Návrh IS pomocí UML (termín ). Koná se přímo v Praze, pouze jeden termín v tomto roce! strana 8
S KONFIGURACÍ POVOLENÝCH KOMBINACÍ DĚDICŮ
VZOR HETEROGENNÍ SEZNAM S KONFIGURACÍ POVOLENÝCH KOMBINACÍ DĚDICŮ RNDr. Ilja Kraval, září 2008 http://www.objects.cz ÚVOD Jak známo, v CLASS DIAGRAMU se dělí vztahy do dvou základních typů: Buď se jedná
VíceÚvod do principů objektově orientovaného programování
OBSAH DISTANČNÍHO E-LEARNINGOVÉHO KURZU PROFESNÍ RŮST ANALYTIKA OD ZÁKLADŮ (BASE) ÚVOD DO TECHNOLOGIÍ INFORMAČNÍCH SYSTÉMŮ Jak funguje počítač na základní úrovni Základy HTML Skripty ve webovských technologiích
VíceOdpověď na dotaz ohledně asociační třídy v modelu měření
Odpověď na dotaz ohledně asociační třídy v modelu Část 4. Tento článek navazuje na předešlé články jako jejich pokračování autor RNDr. Ilja Kraval, http://www.objects.cz září 2007 firma Object Consulting
VíceDruhá část odpovědi na mail ohledně zpracování případů užití
Druhá část odpovědi na mail ohledně zpracování případů užití Autor RNDr. Ilja Kraval leden 2008 www.objects.cz Úvod Tento článek navazuje jako pokračování na článek předešlý. Minule jsme si vysvětlili,
VíceTřetí část odpovědi na mail ohledně zpracování případů užití, aneb jak je to s číslováním pořadí případů užití
Třetí část odpovědi na mail ohledně zpracování případů užití, aneb jak je to s číslováním pořadí případů užití autor RNDr. Ilja Kraval leden 2008 www.objects.cz Úvod Tento článek navazuje jako pokračování
VíceJak správně psát scénáře k případům užití?
Jak správně psát scénáře k případům užití? Autor RNDr. Ilja Kraval 2007 http://www.objects.cz K napsání tohoto článku mne inspiroval tento mail: Dobrý den pane Kravale, chci Vás poprosit o radu, která
VíceProč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů
Proč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů Část 1 autor RNDr. Ilja Kraval, http://www.objects.cz březen 2007 firma Object Consulting s.r.o. Úvod V reakci
VíceJEDNODUCHÁ A PRAKTICKÁ METODA ODHADU PRACNOSTI PROJEKTU (S UTILITOU KE STAŽENÍ ZDARMA)
JEDNODUCHÁ A PRAKTICKÁ METODA ODHADU PRACNOSTI PROJEKTU (S UTILITOU KE STAŽENÍ ZDARMA) 2. část autor: RNDr. Ilja Kraval, červenec 2010 http://www.objects.cz ÚVOD V minulém článku bylo pojednáno o složitosti
Více1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
VíceVYHLEDÁVÁNÍ PRVKŮ ACTOR A PROCESNÍ MODELOVÁNÍ
VYHLEDÁVÁNÍ PRVKŮ ACTOR A PROCESNÍ MODELOVÁNÍ Část 3 Tento článek je pokračováním předešlých článků RNDr. Ilja Kraval, duben 2009 http://www.objects.cz ÚVOD V předešlých článcích jsme se seznámili s použitím
VíceJak funguje element deep history v UML
Jak funguje element deep history v UML autor RNDr. Ilja Kraval, http://www.objects.cz březen 2007 firma Object Consulting s.r.o. Úvod Již několikrát jsem v internetových diskusích a při školeních narazil
VíceROZDÍL MEZI VZTAHEM EXTEND A INCLUDE V USE CASE DIAGRAMECH
ROZDÍL MEZI VZTAHEM EXTEND A INCLUDE V USE CASE DIAGRAMECH 3. část RNDr. Ilja Kraval, srpen 2009 http://www.objects.cz ÚVOD Tento článek je pokračováním předešlých článků. Článek vysvětluje použití vztahu
VíceOtázka: V internetovém obchodě jste si zakoupili ipod, ale po týdnu jste zjistili, že Vám nevyhovuje. Je možné zboží vrátit, aniž nemá závadu?
Mgr. Zuzana Válková Otázka: V internetovém obchodě jste si zakoupili ipod, ale po týdnu jste zjistili, že Vám nevyhovuje. Je možné zboží vrátit, aniž nemá závadu? Odpověď: Ano, zboží vrátit můžeme, dokonce
VíceNutnost použití vzoru OBSERVER pro zamezení nepříjemných efektů zpětných funkcionálních vazeb mezi objekty
Nutnost použití vzoru OBSERVER pro zamezení nepříjemných efektů zpětných funkcionálních vazeb mezi objekty autor RNDr. Ilja Kraval, http://www.objects.cz únor 2007 firma Object Consulting s.r.o. Úvod V
VíceOdpověď na dotaz ohledně asociační třídy v modelu měření
Odpověď na dotaz ohledně asociační třídy v modelu měření Část 3. Tento článek navazuje na předešlé články jako jejich pokračování autor RNDr. Ilja Kraval, http://www.objects.cz srpen 2007 firma Object
VíceMatice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.
Matice přechodu Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např. u příkladu 7 (v ) dostaneme: Nyní bychom mohli postupovat jako u matice homomorfismu
VíceLingebraické kapitolky - Analytická geometrie
Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V
VíceŠumperský efekt rozmnožení případů užití
Šumperský efekt rozmnožení případů užití Ilja Kraval, 2007 http://www.objects.cz Článek pojednává o jednom velmi nepříjemném efektu bobtnání projektu. 1. Odhad velikosti a rozsahu informačního systému
Více16. Goniometrické rovnice
@198 16. Goniometrické rovnice Definice: Goniometrická rovnice je taková rovnice, ve které proměnná (neznámá) vystupuje pouze v goniometrických funkcích. Řešit goniometrické rovnice znamená nalézt všechny
Více2.7.6 Rovnice vyšších řádů
6 Rovnice vyšších řádů Předpoklady: 50, 05 Pedagogická poznámka: Pokud mám jenom trochu čas probírám látku této hodiny ve dvou vyučovacích hodinách V první probíráme separaci kořenů, v druhé pak snížení
VíceO JEDNÉ ČASTÉ CHYBĚ PŘI ROZKLADU PROCESŮ PODNIKU ANEB KDY MÁME UKONČIT ROZKLAD PROCESŮ PODNIKU?
O JEDNÉ ČASTÉ CHYBĚ PŘI ROZKLADU PROCESŮ PODNIKU ANEB KDY MÁME UKONČIT ROZKLAD PROCESŮ PODNIKU? RNDr. Ilja Kraval, říjen 2008 http://www.objects.cz AKTÉROVÁ ŠKOLA Jak známo, informační systémy obsahují
VíceVyřešené teoretické otázky do OOP ( )
Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika
VíceVZOROVÝ TEST PRO 1. ROČNÍK (1. A, 3. C)
VZOROVÝ TEST PRO. ROČNÍK (. A, 3. C) Zjednodušte daný příklad. (a 2 3 b 3 4) 2 (a 2 b 3 8) 3 max. 3 body 2 Ve které z následujících možností je uveden správný postup usměrnění daného zlomku a správný výsledek?
VíceJazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken
Jazyk UML - přehled Unified Modeling Language jazyk pro popis objektově orientované analýzy a návrhu aplikací slouží k vzájemné komunikaci mezi zadavatelem a návrhářem systému má několik částí, není nutné
VíceDalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd.
1. Zapouzdření Cíl látky Tento blok nejdříve přiblíží zásadu zapouzdření a odpoutání kódu a po té na relacích, jako jsou asociace, agregace a kompozice, vysvětlí jak lze objektový zdrojový kód zapouzdřovat
VíceCopyright Jiří Janda ISBN 978-80-260-3716-3
1 Copyright Jiří Janda ISBN 978-80-260-3716-3 2 Mojí nejskvělejší manželce Lucii a všem mým studentům 3 PŘEDMLUVA" 4 CO JE TO KONDICIONÁL A PROČ JE V ANGLIČTINĚ POTŘEBA" 6 PRVNÍ KONDICIONÁL" 9 DRUHÝ KONDICIONÁL"
Více3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
VíceProblé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.
VíceMocniny. Nyní si ukážeme jak je to s umocňováním záporných čísel.
Mocniny Mocnina je matematická funkce, která (jednoduše řečeno) slouží ke zkrácenému zápisu násobení. Místo toho abychom složitě psali 2 2 2 2 2, napíšeme jednoduše V množině reálných čísel budeme definovat
VíceVýroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).
Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před
VíceM - Kvadratické rovnice a kvadratické nerovnice
M - Kvadratické rovnice a kvadratické nerovnice Určeno jako učební tet pro studenty dálkového studia. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase.
VícePředpovídejte snadno a rychle
Předpovídejte snadno a rychle Newsletter Statistica ACADEMY Téma: Časové řady, exponenciální vyrovnávání Typ článku: Příklad Dnes se budeme zabývat situací, kdy chceme předpovídat, jak se bude v čase vyvíjet
Více2.7.6 Rovnice vyšších řádů
6 Rovnice vyšších řádů Předpoklady: 50, 05 Pedagogická poznámka: Pokud mám jenom trochu čas probírám látku této hodiny ve dvou vyučovacích hodinách V první probíráme separaci kořenů, v druhé pak snížení
VíceÚloha - rozpoznávání číslic
Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání
Více2.7.6 Rovnice vyšších řádů (separace kořenů)
76 Rovnice vyšších řádů (separace kořenů) Předpoklady: 00507, 00705 Přehled rovnic: Řád rovnice Tvar Název způsob řešení (vzorec) ax + b = 0 lineární b a 0, x = a ax + bx + c = 0 kvadratická ± a 0, x,
VíceJčU - Cvičení z matematiky pro zemědělské obory (doc. RNDr. Nýdl, CSc & spol.) Minitest MT4
ŘEŠENÍ MINITESTŮ JčU - Cvičení z matematiky pro zemědělské obory (doc. RNDr. Nýdl, CSc & spol.) Minitest MT4. Z daných tří soustav rovnic o neznámých x, x vyberte právě všechny ty, které jsou regulární.
VíceObjekty, 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í
VíceProgramování II. Úvod do dědičnosti 2018/19
Programování II Úvod do dědičnosti 2018/19 Osnova přednášky Co řeší dědičnost? Příklad. Dědičnost základní princip. Co řeší dědičnost? Co se řeší? Znovu-použitelnost Nechceme znovu opisovat (kopírovat)
VícePříklad z učebnice matematiky pro základní školu:
Příklad z učebnice matematiky pro základní školu: Součet trojnásobku neznámého čísla zvětšeného o dva a dvojnásobku neznámého čísla zmenšeného o pět se rovná čtyřnásobku neznámého čísla zvětšeného o jedna.
VíceLomené výrazy sčítání a odčítání lomených výrazů
VY_32_INOVACE_M-Ar 8.,9.15 Lomené výrazy sčítání a odčítání lomených výrazů Anotace: Prezentace připomene sčítání a odčítání zlomků. Žák použije poznatky zopakované při počítání se zlomky u zjišťování
VíceGoniometrické rovnice
Goniometrické rovnice Funkce Existují čtyři goniometrické funkce sinus, kosinus, tangens a kotangens. Výraz číslo, ze kterého je daná funkce v obecném tvaru je to x se nazývá argument. Argument může u
VícePředsmluvní formulář pro standardní informace o spotřebitelském úvěru
Předsmluvní formulář pro standardní informace o spotřebitelském úvěru 1. Údaje o Věřiteli/zprostředkovateli spotřebitelského úvěru Věřitel: FINFAST s.r.o., IČO: 24286168 Telefonní číslo: +420 733 787 200
VíceKurz Postupy návrhu IS pomocí UML a OOP (5 dnů, in-house)
Kurz Postupy návrhu IS pomocí UML a OOP (5 dnů, in-house) přednáší RNDr. Ilja Kraval pořádá firma OBJECT CONSULTING Obsah: Kurz Efektivní postupy návrhu IS pomocí UML a OOP (5 dnů, in-house)... 1 1. Jak
VíceÚvod do řešení lineárních rovnic a jejich soustav
Úvod do řešení lineárních rovnic a jejich soustav Rovnice je zápis rovnosti dvou výrazů, ve kterém máme najít neznámé číslo (neznámou). Po jeho dosazení do rovnice musí platit rovnost. Existuje-li takové
VíceVývoj IS - strukturované paradigma II
Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 05 1/18 Vývoj IS - strukturované paradigma II Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních
Více10. Soustava lineárních rovnic - substituční metoda
@112 10. Soustava lineárních rovnic - substituční metoda Jedna z metod, která se používá při řešení soustavy lineárních rovnic, se nazývá substituční. Nejlépe si metodu ukážeme na příkladech. Příklad:
VíceBusiness Media CZ, s. r. o., člen skupiny Docu Group Company
1 Domovská stránka Hlavní lišta! POZOR! od posledního přihlášení. Pokud je v závorkách 0 neznamená to, že by pro Vás nebyl k dispozici žádný projekt. Hyperlinkové odkazy na příslušné projekty Grafické
VíceFormální systém výrokové logiky
Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)
VíceV exponenciální rovnici se proměnná vyskytuje v exponentu. Obecně bychom mohli exponenciální rovnici zapsat takto:
Eponenciální rovnice V eponenciální rovnici se proměnná vyskytuje v eponentu. Obecně bychom mohli eponenciální rovnici zapsat takto: a ( ) f ( ) f kde a > 0, b > 0 b Příkladem velmi jednoduché eponenciální
VíceČtvrtá část odpovědi aneb jak je to vlastně s interakcí <<include>>
Čtvrtá část odpovědi aneb jak je to vlastně s interakcí autor RNDr. Ilja Kraval leden 2008 www.objects.cz Úvod Tento článek navazuje jako pokračování na články předešlé. Minule jsme si zde
VíceČasová hodnota peněz (2015-01-18)
Časová hodnota peněz (2015-01-18) Základní pojem moderní teorie financí. Říká nám, že peníze svoji hodnotu v čase mění. Díky časové hodnotě peněz jsme schopni porovnat různé investiční nebo úvěrové nabídky
VíceObjektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného
VíceBarevné formy zebřiček a jejich genetika - část II. příklady
Barevné formy zebřiček a jejich genetika - část II. příklady Tyto příklady se váží k předchozímu článku o obecných zákonitostech genetiky. K napsaní těchto detailů mne inspiroval jeden dotaz, který určuje
VíceJedna z velmi častých a závažných chyb při návrhu IS aneb jak vznikají tzv. molochální systémy
Jedna z velmi častých a závažných chyb při návrhu IS aneb jak vznikají tzv. molochální systémy Část druhá autor RNDr. Ilja Kraval, http://www.objects.cz červenec 2006 (pozn.: článek navazuje na první část
VíceVýběr báze. u n. a 1 u 1
Výběr báze Mějme vektorový prostor zadán množinou generátorů. To jest V = M, kde M = {u,..., u n }. Pokud je naším úkolem najít nějakou bázi V, nejpřímočařejším postupem je napsat si vektory jako řádky
VíceTento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
Více3. Optimalizace pomocí nástroje Řešitel
3. Optimalizace pomocí nástroje Řešitel Rovnováha mechanické soustavy Uvažujme dvě různé nehmotné lineární pružiny P 1 a P 2 připevněné na pevné horizontální tyči splývající s osou x podle obrázku: (0,0)
VíceObjektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Základní pojmy objektově orientovaného programování Objekt vychází z reálného světa. Má dva charakteristické rysy. Všechny objekty mají stav Všechny objekty
VíceZvyšování kvality výuky technických oborů
Zvyšování kvality výuky technických oborů Klíčová aktivita VI.2 Vytváření podmínek pro rozvoj znalostí, schopností a dovedností v oblasti finanční gramotnosti Výukový materiál pro téma VI.2.1 Řemeslná
Více12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
VíceUML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007
UML úvod Kapitola má seznámit se základy modelovacího jazyka UML. Klíčové pojmy: UML, CASE nástroje, procesní modelování, případy užití, role, diagram tříd, diagram objektů, sekvenční diagramy, digram
VíceDiferenciální rovnice 1
Diferenciální rovnice 1 Základní pojmy Diferenciální rovnice n-tého řádu v implicitním tvaru je obecně rovnice ve tvaru,,,, = Řád diferenciální rovnice odpovídá nejvyššímu stupni derivace v rovnici použitému.
VícePříklad 1. Řešení 1a Máme určit obsah rovinné plochy ohraničené křivkami: ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 14. a) =0, = 1, = b) =4, =0
Příklad Určete obsah rovinné plochy ohraničené křivkami: a) =0,=,= b) =4,=0 c) =,=,=3,=0 d) =+, =0 e) + )=,= f) = +4,+= g) =arcsin,=0,= h) =sin,=0, 0; i) =,=,=4,=0 j) =,= k) = 6,= +5 4 l) =4,+=5 m) = +
VíceVšeobecná rovnováha 1 Statistický pohled
Makroekonomická analýza přednáška 4 1 Všeobecná rovnováha 1 Statistický pohled Předpoklady Úspory (resp.spotřeba) a investice (resp.kapitál), kterými jsme se zabývali v minulých lekcích, jsou spolu s technologickým
Více1 Řešení soustav lineárních rovnic
1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty
Vícep ACD = 90, AC = 7,5 cm, CD = 12,5 cm
Úloha Je dán pravoúhlý trojúhelník ACD s pravým úhlem při vrcholu C, AC = 7,5 cm, CD =,5 cm. Na přímce CD určete bod B tak, aby AB = BD Řešení: Úlohu vyřešíme nejprve geometrickou konstrukcí. a) Z rozboru
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
VíceVýroková logika dokazatelnost
Výroková logika dokazatelnost Ke zjištění, zda formule sémanticky plyne z dané teorie (množiny formulí), máme k dispozici tabulkovou metodu. Velikost tabulky však roste exponenciálně vzhledem k počtu výrokových
VícePřípady užití (use case) Projektování SW systémů
Univerzita Pardubice Fakulta elektrotechniky a informatiky Případy užití (use case) Projektování SW systémů Matěj Trakal Poslední úprava: 24. ledna 2012, 17:06 INPSW 2011 (Šimerda) OBSAH Obsah 1 Co jsou
VíceVzor OBSERVER a jeho zajímavá varianta v kombinaci se vzorem ADAPTER Část 2
Vzor OBSERVER a jeho zajímavá varianta v kombinaci se vzorem ADAPTER Část 2 autor RNDr. Ilja Kraval, http://www.objects.cz únor 2007 firma Object Consulting s.r.o. Úvod V předešlé části článku jsme si
VíceKvadratické rovnice (dosazení do vzorce) I
.. Kvadratické rovnice (dosazení do vzorce) I Předpoklady: 000 Rovnicí se nazývá vztah rovnosti mezi hodnotami dvou výrazů obsahujícími jednu nebo více neznámých. V této kapitole se budeme zabývat pouze
VíceSlovní úlohy o pohybu I
.2. Slovní úlohy o pohybu I Předpoklady: 0024 Př. : Běžec na lyžích se pohybuje na celodenním výletu průměrnou rychlostí km/h. Jakou vzdálenost ujede za hodinu? Za hodiny? Za hodin? Za t hodin? Najdi vzorec,
VíceKvadratické nerovnice Předpoklady: Př. 1: Úvaha: Pedagogická poznámka:
..10 Kvadratické nerovnice Předpoklady: 01, 0, 0, 07 Př. 1: Vyřeš nerovnici 0. 0 - mohu rozložit na součin není to nic nového + 1 0 ( )( ) Hledám nulové body: 0 ( ) = = ( ) ( ; 1) ( 1; ) ( ; ) ( ) - -
VíceO JEDNÉ ZÁLUDNOSTI INTERAKCE «INCLUDE» V MODELU PŘÍPADŮ UŽITÍ
O JEDNÉ ZÁLUDNOSTI INTERAKCE «INCLUDE» V MODELU PŘÍPADŮ UŽITÍ 2. část RNDr. Ilja Kraval, květen 2010 http://www.objects.cz ÚVOD V předešlém článku jsme nastínili problém, který vzniká v souvislosti s hledáním
Více1.2.9 Usměrňování zlomků
9 Usměrňování zlomků Předpoklady: 0008 Pedagogická poznámka: Celá hodina by měla být naplňováním jediné myšlenky Při usměrňování rozšiřujeme zlomek tím, co potřebujeme Fakt, že si příklad upravíme, jak
VíceRady pro tvorbu USE CASE MODELU, rada první: Jak pracovat s pojmy ve scénářích UC
Rady pro tvorbu USE CASE MODELU, rada první: Jak pracovat s pojmy ve scénářích UC Úvod Před nedávnem jsem obdržel trochu delší mail tohoto znění: Dobrý den pane Kravale, před časem jsem absolvoval vaše
VícePB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
VíceKapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy
- 2.1 - Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit Množiny vztahů Otázky návrhu Plánování mezí Klíče E-R diagram Rozšířené E-R rysy Návrh E-R databázového schématu Redukce
VíceExcel COUNTIF COUNTBLANK POČET
Excel Výpočty a vazby v tabulkách COUNTIF Sečte počet buněk v oblasti, které odpovídají zadaným kritériím. Funkce je zapisována ve tvaru: COUNTIF(Oblast;Kritérium) Oblast je oblast buněk, ve které mají
Více7.2.1 Vektory. Předpoklady: 7104
7..1 Vektory Předpoklady: 7104 Některé fyzikální veličiny (například rychlost, síla) mají dvě charakteristiky: velikost, směr. Jak je znázornit? Jedno číslo (jako například pro hmotnost m = 55kg ) nestačí.
Více( ) Jako základ mocnin nemusíme používat jen 10. Pokud není jasné, že číslo je uvedeno v desítkové soustavě, píšeme jej takto: ( 12054 ) 10
.. Číselné soustavy I Předpoklady: základní početní operace Pedagogická poznámka: Tato a následující hodina není součástí klasické gymnaziální sady. Upřímně řečeno nevím proč. Jednak se všichni studenti
VíceVážení klienti, vážení spolupracovníci, Co jsou služby obecného hospodářského zájmu (SOHZ) a koho se týkají?
Nová pravidla pro veřejnou podporu v oblasti financování veřejných služeb hospodářské povahy (tzv. služeb obecného hospodářského zájmu) Vážení klienti, vážení spolupracovníci, rádi bychom Vás informovali
VícePB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
VíceManuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější
Manuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější Obsah Registrace... 2 Přihlášení a odhlášení... 2 Správa profilu... 2 Domovská stránka... 3 Hledání zakázek... 4 Výsledky hledání...
VíceRPSN (Roční Procentní Sazba Nákladů) (2015-01-18)
RPSN (Roční Procentní Sazba Nákladů) (2015-01-18) Zkratkou RPSN se označuje takzvaná roční procentní sazba nákladů. Udává, kolik procent z původní dlužné částky musí spotřebitel za jeden rok zaplatit v
VíceObsah. Zpracoval:
Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 23. Otázka : Problematika analýzy a návrhu softwarového systému. Sestavení UML diagramů popisující statickou i dynamickou část díla. Problematika návrhových
Více1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele.
1. Vstup do aplikace Na adrese: http://i.statnisprava.cz 2. První stránka aplikace 1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele. 2. Poté budete přesměrováni na stránku
VíceDodatečné informace I. k veřejné zakázce malého rozsahu na služby s názvem: CRM systém pro potřeby PK KV
Dodatečné informace I. k veřejné zakázce malého rozsahu na služby s názvem: CRM systém pro potřeby PK KV Identifikační údaje zadavatele Název: Projektová kancelář Kraje Vysočina, příspěvková organizace
VíceObjektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová
Objektově orientované technologie Logická struktura systému Objektový diagram Pavel Děrgel, Daniela Szturcová Osnova Modelování objektů objektový diagram Struktura a vazby mezi objekty Dobré zvyky při
VíceAnalýza spreadů zemědělských komodit
Analýza spreadů zemědělských komodit Ing. Václav Janoušek Část I.: Pšenice (wheat) Oddíl 3: Analýza spreadu Mar Jul (WHxxNxx) 3.1 Základní charakteristiky pšeničného spreadu březen červenec Stejně jako
VíceŘešení slovních úloh pomocí lineárních rovnic
Řešení slovních úloh pomocí lineárních rovnic Řešení slovních úloh představuje spojení tří, dnes bohužel nelehkých, úloh porozumění čtenému textu (pochopení zadání), jeho matematizaci (převedení na rovnici)
Více3. Podmíněná pravděpodobnost a Bayesův vzorec
3. Podmíněná pravděpodobnost a Bayesův vzorec Poznámka: V některých úlohách řešíme situaci, kdy zkoumáme pravděpodobnost náhodného jevu za dalších omezujících podmínek. Nejčastěji má omezující podmínka
VíceLogaritmická rovnice
Ročník:. Logaritmická rovnice (čteme: logaritmus z x o základu a) a základ logaritmu x argument logaritmu Vzorce Použití vzorců a principy počítání s logaritmy jsou stejné jako u logaritmů základních,
VíceAnalytické myšlení TSP MU výroková logika II.
Analytické myšlení TSP MU výroková logika II. Lehký úvod do výrokové logiky pro všechny, kdo se hlásí na Masarykovu univerzitu Tento materiál vznikl v rámci realizace projektu: Globální vzdělávání pro
VíceCvičení 5 - Inverzní matice
Cvičení 5 - Inverzní matice Pojem Inverzní matice Buď A R n n. A je inverzní maticí k A, pokud platí, AA = A A = I n. Matice A, pokud existuje, je jednoznačná. A stačí nám jen jedna rovnost, aby platilo,
VíceVÍŠ, CO JE TO BANKA?
VÍŠ, CO JE TO BANKA? Plán vyučovací hodiny (č. 5) TÉMA VYUČOVACÍ HODINY: Víš, co je to banka? VĚK ŽÁKŮ: využití podle úrovně žáků (doporučení 6. až 8. třída) ČASOVÁ DOTACE: 45 minut POTŘEBNÉ MATERIÁLY:
VíceČSOB LEASING AGRO Finance. Jan Kulhánek
ČSOB LEASING AGRO Finance Jan Kulhánek ČSOB Leasing, a.s. Trh: Stroje a zařízení + Agro v roce 2016 ČSOB Leasing je leaderem segmentu trhu strojů s tržním podílem v roce 2016 větším než 24 % ČSOB Leasing
Více5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
Více