Vztah typu Extend v UML a jeho zvláštnosti
|
|
- Štefan Vítek
- před 8 lety
- Počet zobrazení:
Transkript
1 Vztah typu Extend v UML a jeho zvláštnosti RNDr. Ilja Kraval 2007 Object Consulting s.r.o. objects@objects.cz Do diskusního fóra na Pandoře ( přišel následující dotaz: Zdravim, rad bych si objasnil nasledujici vec. Vychazim z toho ze vazba Extend mezi dvema prvky UseCase vyjadruje podminene pouziti. Pokud je prvek A "extendovan" prvkem B a sipka je ve smeru od B k A. Prvek A je zavisly na B. Pokud jsou prvky v samostatnych packages pak package prvku B nemuze znat package prvku A. Proc to vlastne resim? Pokud v EA u packages zavedu rizeni verzi pomoci (napriklad Visual SourceSafe) a upravuji prvek A ktery ma byt extendovan prvekm B pak musim provest check out u package B. Coz se mi moc nelibi protoze B by melo byt jedno kdo ji pouziva. U Include to funguje spravne. Co si o tom myslite? Je to chyba v EA? Nebo spatne chapu vyznam Extend? Diky Marek B. Zkusíme se tedy blíže podívat na specifikaci vztahu typu Extend. Uvedeme si, jak je definován přímo v UML. Avšak hned na začátku bych si dovolil drobně poopravit větu z dotazu: vazba Extend mezi dvema prvky UseCase vyjadruje podminene pouziti " která je pravdivá pouze částečně. Navíc kromě existující podmínky extenze (v bodě nazývaném jako Extension Point) je třeba ještě dodat, že prvek typu Use Case, který rozšiřuje, má povahu nějakého rozšíření, tj. něco jako přívěsek, dodatek k
2 rozšiřovanému prvku typu Use Case. Nejedná se tedy o klasické podmíněné if else ve smyslu toku v programování, ale o aditivní extenzi. Problém, o kterém se v dotazu píše, je již takříkajíc přímo v definici jazyka UML. Podívejme se přesně, jak je vztah typu Extend v UML přesně definován a rozeberme si jeho definici i s příkladem, který je ve specifikaci také uveden. Poznámka: všechny texty ze specifikace UML jsou převzaty z dokumentu označeném jako Unified Modeling Language: Superstructure, version 2.0 formal/ , který je volně ke stažení na adrese K datu vydání tohoto článku se jedná o nejaktuálnější verzi specifikace UML staženou aktuálně z uvedené pozice. Specifikace jazyka UML definuje vztah typu Extend takto (kapitola , překlad): Vztah typu Extend Jedná se o vztah ve směru od rozšiřujícího prvku typu Use Case k rozšiřovanému prvku typu Use Case, který specifikuje jak a kdy bude chování rozšiřujícího prvku typu Use Case vloženo do rozšiřovaného chování prvku typu Use Case. Všimněme si jedné velmi důležité okolnosti v textu definice. Hovoří se o vložení chování prvku rozšiřujícího (v textu dotazu označen jako prvek B typu Use Case) do rozšiřovaného (v textu dotazu prvek A typu Use Case). Znamená to, že dovnitř prvku A je vloženo chování prvku B a to nějakým specifickým způsobem (podmíněně) a tím prvek B za určitých podmínek rozšiřuje prvek A. strana 2
3 Znázorníme si situaci ještě na obrázku: A «extend» B obrázek 1 Prvek B typu Use Case "extenduje", tedy rozšiřuje prvek A, ale chování prvku B je vloženo za určitých podmínek do prvku A Na obrázku je podle definice znázorněno, že prvek A je rozšiřovaný prvek typu Use Case, dále že prvek B je rozšiřující prvek typu Use Case a navíc podle definice obrázek znázorňuje, že chování prvku B je vloženo za určitých podmínek do chování prvku A. V další části popisu se lze dočíst ve specifikaci UML následující popis: Popis Tento vztah specifikuje, že chování případu užití může být rozšířeno o chování dalšího (obvykle doplňkového) případu užití. Toto rozšíření se koná v jednom nebo více specifických bodech rozšíření definovaných v rozšiřovaném případu užití. Všimněte si nicméně, že rozšiřovaný případ užití je definován nezávisle na rozšiřujícím případu užití a je významově nezávislý na rozšiřujícím případu užití. Na druhé straně rozšiřující případ užití typicky definuje chování, které nutně nemusí být smysluplné samo o sobě. Rozšiřující případ užití definuje sadu modulárních přírůstků chování, což rozšiřuje průběh rozšiřovaného případu užití za nějakých specifických podmínek. Všimněte si, že tentýž rozšiřující případ užití může rozšiřovat více než jeden případ užití. Navíc rozšiřující případ užití může být dále rozšířen. Zde si všimněme poněkud překvapivého tvrzení, že rozšiřovaný případ užití je definován nezávisle na rozšiřujícím případu užití a je významově nezávislý na strana 3
4 rozšiřujícím případu užití K tomuto bodu se ještě vrátíme, protože zde je uschováno jádro pudla našeho dotazu. Další částí specifikace vztahu Extend je vysvětlení sémantiky tohoto vztahu, což je velmi zajímavé: Koncept "umístění rozšíření" (tj.- umístění bodu extenze) je úmyslně ponechán blíže nespecifikovaným, protože případy užití jsou typicky specifikovány v různých idiosynkratických formátech (pozn. překl.: různorodých a výstředních), jako je přirozený jazyk, tabulky, stromy, atd. Proto není snadné zachytit jeho strukturu přesně nebo obecněji nějakým formálním modelem. Intuitivní představu o umístění rozšíření si nejlépe můžeme vytvořit pomocí příkladu u textového popisu případu užití. Obvykle se případ užití s rozšiřujícími body sestává ze sady jemnějších granulovaných zlomků textových popisů chování, které jsou vykonány v sekvenci po sobě. Toto rozdělené členění textu případu užití umožňuje, aby původní popis chování byl rozšířen slučováním doplňkových fragmentů popisů chování ve vhodných místech vložení mezi originálními fragmenty (body rozšíření). Takto se rozšiřující případ užití (tj. ten, co rozšiřuje) typicky sestává z jednoho nebo více zlomků popisů chování, které jsou vloženy do vhodných bodů rozšiřovaného případu užití (tj. do toho, který je rozšiřován). Pokud je v době dosažení prvního lokace bodu extenze podmínka rozšíření "true", pak všechny odpovídající fragmenty chování z rozšiřujícího případu užití budou také vykonány. Pokud je podmínka "false", rozšíření nenastane. Jednotlivé zlomky jsou vykonány, jakmile jsou dosaženy odpovídající body extenze z rozšiřujícího případu užití. Poté, co je daný zlomek dokončen, exekuce pokračuje v chování rozšiřovaného případu užití následně po bodu rozšíření. Všimněte si, že třebaže jsou zapojeny vícenásobně případy užití, existuje pouze jediné chování běhu případu užití. Nyní již můžeme učinit první závěry z těchto definic a vysvětlení. Jestliže jsme uvedený text uvedený v předešlém odstavci pochopili správně, potom je z hlediska vzájemného použití (kdo koho používá, neboli jak se píše v dotazu kdo o kom ví ) evidentní, že případ užití A, který je extendován, používá případ užití B, který jej extenduje a to tak, že existuje nějaká podmínka, která pokud je splněna, tak v odpovídajících bodech odskoku se provedou fragmenty případu užití B (jak vyplývá z textu, nemusí se jednat pouze jeden fragment!). Z hlediska chápání závislosti v tomto pojetí, tj. kdo koho používá, je evidentně A závislé na B, protože v A musíme v textu definovat body odskoku a definovat, že v těchto bodech se jedná o konkrétní vykonání případu užití B. Jinak řečeno, ten, kdo strana 4
5 píše text v případu užití A, se v tomto textu evidentně nějak odvolává na případ užití B. Co se týče toho, jak je závislost vysvětlena ve specifikaci UML, tj. píše se, že případ užití A je nezávislý na případu užití B, tak zde se zřejmě má na mysli ta skutečnost, že případ užití A je významově nezávislý na B, tj. jeho sekvence textů v A funguje nezávisle na tom, zda bude zapnuta nebo nebude zapnuta extenze a vložené aditivní fragmenty se uskuteční nebo ne. Fragmenty jsou pouze doplňkem navíc, tj. doplňkovou extenzí případu užití A a neovlivňují tak původní funkcionalitu definovanou bez vložení. K tomuto důležitému bodu se ještě vrátíme. Uveďme si příklad, který je uveden přímo ve specifikaci UML: Condition: {customer selected HELP} extension point: Selection Perform ATM Transaction Extension points: Selection «extend» On-Line Help obrázek 2 Příklad na vztah typu Extend uvedený přímo ve specifikaci UML Ve specifikaci UML je tento diagram vysvětlen takto (doslovný překlad z originálu): V diagramu nahoře případ užití Perform ATM Transaction" má svůj extension point (bod rozšíření) "Selection". Tento případ užití je extendován přes tento extension point případem užití On-Line Help vždy tam, kde se běh případu užití "Perform ATM Transaction" vyskytne v umístění onoho bodu extenze Selection a zákazník přitom vybere klávesu Help. Všimněte si, že případ užití Perform ATM Transaction" je definován nezávisle na případu užití On-Line Help. strana 5
6 Tolik doslovný překlad. Co se týče poslední věty, je třeba ji opět chápat tak, že má význam v tom smyslu, že funkcionalita případu užití Perform ATM Transaction" je pouze rozšířena v bodě extenze a tedy původní funkcionalita není rozšířením ovlivněna a je pouze doplněna. To je však je pouze logika věci ve smyslu vložení aditivní funkcionality a nikoliv otázkou změnového řízení. Pokud totiž vložíme aditivní funkcionalitu, tak samo toto vložení musí nutně vést k překopání původního případu užití aspoň tím, že musíme do něj vložit bod extenze a v textu definovat uvedené odskoky extenze (uvedené fragmenty textů) v daných bodech toku případu užití. Změnové řízení a práce se systémem pro řízení verzí podléhá složitějším zákonitostem. Představme si, že máme dvě funkcionality ve dvou modulech (resp. ve dvou prvcích typu Package), a nechť první funkcionalita F1 v prvním modulu (v prvku Package) volá druhou funkcionalitu F2 v druhém modulu (v druhém prvku Package). Pro názornost si klidně můžeme představit, že se jedná o funkce nazvané jako F1 a F2 ve dvou modulech. Stejně tak si můžeme představit dva případy užití ve dvou prvcích typu Package. Pro check out může nastat hned několik variant podle toho, co vlastně měníme: 1. Pokud měníme funkci F1 (volající) a to bez změny funkce F2, potom nemusíme provést check out modulu u funkce F2, ta se totiž nemění. 2. Pokud měníme funkci F2 uvnitř bez změny rozhraní této funkce (tj. funkce F1 nepocítí žádné změny), potom nemusíme provést check out modulu u volající F1. 3. Pokud měníme F2 a měníme rozhraní, musíme překopat všechny funkcionality, které tuto funkcionalitu volají (používají) včetně F1 a tedy musíme provést check out modulu s funkcí F1. Podobně tomu bude i v případech užití. Zkusme si předešlý příklady na uvedeném diagramu s transakcí na bankomatu rozvést jakoby dále do další přesnější podoby i se specifikací textů a budeme si všímat, jak se oba případy užití chovají vzhledem ke změnovému řízení. Vyjděme tedy z uvedeného diagramu, kdy případ užití Perform ATM Transaction" je extendován o případ užití On-Line Help (viz předešlý obrázek). Připomenu, že pod tímto obrázkem je také vysvětlení tohoto diagramu. Nechť navíc platí, že případ užití Perform ATM Transaction" je v jednom prvku typu Package a druhý případ užití On- Line Help je v druhém prvku typu Package. Jak budou vypadat operace check out? První varianta je, že se změní funkcionalita extendovaného případu užití Perform ATM Transaction", aniž by to ovlivnilo poskytovaný help, například se jedná o opravu nějaké drobnosti bez zásahu do helpu. V tom případě by se teoreticky měl provést strana 6
7 check out pouze u prvku Package prvního extendovaného případu užití Perform ATM Transaction" a logicky vzato by se na prvek typu Package případu užití On- Line Help nemusel vůbec použít check out, protože se tento případ užití nemění. Druhý případ odpovídá situaci, kdy se něco změní uvnitř helpu, ale případ užití Perform ATM Transaction" toto nepocítí. Jako příklad bychom mohli uvést opravy chybných anebo nepřesných textů v helpu bez změny logiky helpu. V tom případě stačí provést check out prvku typu Package s případem užití On-Line Help. Třetí případ svědčí o tom, kdo je na kom závislý z hlediska použití. Představme si, že help funguje tak, že při jeho vyvolání se nějak přebere název kroku (realizace v designu například přes vstupní parametr, pomocí globální proměnné apod.), kde se právě v toku případu užití zákazník nachází (názvy kroků jsou například zasunutí karty, zadání pinu, výběr jazyka atd.). Text v rozšiřovaném případu užití Perform ATM Transaction" vypadá potom nějak takto: Use Case Scenario Perform ATM Transaction......a zákazníkovi se nabídne zadání PIN. Vsunuto via Extension Point Selection Pokud zákazník vyvolá Help, nastaví se název kroku na zadání PIN a vyvolá se Help (viz extend od UC On-Line Help) Konec vsunutí via Extension Point Selection Zákazník zadá PIN, provede se verifikace zadaného čísla PIN vůči kartě, pokud nesouhlasí...(atd.)... Takovýchto vsuvek je v textu více pro každé vyvolání helpu s různým názvem kroku v různých částech původního scénáře. Tyto vsunuté texty neovlivňují původní funkcionalitu, jsou to pouze vsuvky do původní funkcionality. Jak vidět, tak v tomto příkladu se uvnitř případu užití On-Line Help pracuje s převzatým názvem kroku a podle něj se vyvolává odpovídající část helpu, například přes klasický switch. Pokud však překopeme případ užití On-Line Help tak, že nebude pracovat s názvem kroku, ale změníme tento parametr například na číslo kroku, potom budeme díky této změně muset předělat také případ užití Perform ATM Transaction" a tato změna se pochopitelně projeví až do úrovně abstrakce programování. V tomto ohledu je případ užití Perform ATM Transaction" na případu užití On-Line Help samozřejmě závislý! Závěry Z uvedených tří příkladů na check out prvků typů Package s uvedenými případy užití ve vztahu Extend je zřejmé, že vztah Extend neznamená vskutku totální nezávislost extendovaného případu užití A na extendujícím případu užití B (tj. nezávislost ve smyslu kdo koho používá ). Jedná se pouze o nezávislost strana 7
8 významovou, tj. o aditivní vsunutí částí funkcionalit neměnící kostru běhu extendovaného případu užití (jako vsunuté odskoky ). Osobně se domnívám, že z uvedeného vyplývá, že pro řízení verzí při modelování nemusí platit automatická logika co check out a co ne check out. Je otázkou, zda je tedy vždy vhodné se opřít o již zabudované funkcionality v nástrojích, nebo zda je lepší provádět tyto a podobné operace s nástrojem pro řízení verzí ručně anebo zda není ještě lepší napsat si svou vlastní jednoduchou utilitu podle vlastních potřeb. Konec dokumentu strana 8
ROZDÍ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í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í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í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í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í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íceUML. Unified Modeling Language. Součásti UML
UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje
VíceObjektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová
Objektově orientované technologie Business proces Diagram aktivit Daniela Szturcová Osnova Bysnys proces pojmy metody, specifikace pomocí diagramů Modelování pomocí aktivitního diagramu prvky diagramu
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ícePokročilé typové úlohy a scénáře 2006 UOMO 71
Pokročilé typové úlohy a scénáře 2006 UOMO 71 Osnova Interní model typové úlohy Vazby include a extend Provázanost typových úloh na firemní procesy a objekty Nejčastější chyby 2006 UOMO 72 Interní model
VíceCommunist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.
Jan Smolík UML UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj: Wikipedia Unified modelling language Neproprietární
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í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íceS 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í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íceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
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íce7.2 Model použití (jednání) (Use Case)
7.2 Model použití (jednání) (Use Case) - při analýze požadavků často popis typických interakcí uživatele, nedokumentované Jacobson model použití (1992) Scénář Posloupnost kroků popisujících interakci mezi
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íceObjektová tvorba SW, Analýza požadavků 2006 UOMO 53
Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Osnova Základní principy tvorby SW Fáze tvorby SW v předmětu UOMO Analýza požadavků Modelování typových úloh 2006 UOMO 54 Tvorba SW Dříve umění vyvolených
VíceNAUČTE SE MALOVAT SI INSTANCE!
NAUČTE SE MALOVAT SI INSTANCE! část 2. RNDr. Ilja Kraval, září 2009 http://www.objects.cz Ú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
VíceKapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
VíceÚvod do MS Access. Modelování v řízení. Ing. Petr Kalčev
Úvod do MS Access Modelování v řízení Ing. Petr Kalčev Postup při tvorbě aplikace Vytvoření tabulek Vytvoření relací Vytvoření dotazů Vytvoření formulářů Vytvoření sestav Tabulky Slouží k definování polí,
VíceUnifikovaný modelovací jazyk UML
Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li
VíceUML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W
UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram
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íce7.2 Model použití (jednání) (Use Case)
7.2 Model použití (jednání) (Use Case) - při analýze požadavků často popis typických interakcí uživatele, nedokumentované Jacobson model použití (1992) Scénář Posloupnost kroků popisujících interakci mezi
Více1. Matematická logika
Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1. Matematická logika Základem každé vědy (tedy i matematiky i fyziky) je soubor jistých znalostí. To, co z těchto izolovaných poznatků
Více7.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
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íceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 22. Otázka : Úvodní fáze rozpracování softwarového projektu. Postupy při specifikaci byznys modelů. Specifikace požadavků a jejich rozpracování pomocí
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íce7.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
VíceOOT Objektově orientované technologie
OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include a extend) Shrnutí
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íceModelování řízené případy užití
Modelování řízené případy užití kompletní proces od UC po implementaci, robustnost 2005 Radek Ošlejšek, Jiří Sochor FI MU Brno oslejsek@fi.muni.cz http://www.fi.muni.cz/~oslejsek/pa103 30. 3. 2005 PA103:
VíceAssembler - 5.část. poslední změna této stránky: Zpět
1 z 5 19.2.2007 7:52 Assembler - 5.část poslední změna této stránky: 9.2.2007 1. Pseudoinstrukce a direktivy Zpět Kromě instrukcí můžete v Assembleru psát také další konstrukce, které se obšem nepřekládají
VíceFunkce, podmíněný příkaz if-else, příkaz cyklu for
Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto
VíceUsuzování za neurčitosti
Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích
Více8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
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íceTÉ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
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íceObjektově orientované technologie. Daniela Szturcová
Objektově orientované technologie Cvičení 3 - Tvorba diagramu případů užití Daniela Szturcová 1 3 Tvorba diagramu případů užití Cíl cvičení Vyhledat aktéry, hranice systému a pro každého aktéra jeho případy
VíceObjektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová
Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Osnova Modelování interakcí mezi objekty modelování zpráv (mapování zpráv na operace), vytváření a
VíceOOT Objektově orientované technologie
OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová, Pavel Děrgel Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include
VíceVyužití SysML pro tvorbu modelů v systémovém inženýrství
Využití SysML pro tvorbu modelů v systémovém inženýrství Antonín Srna, Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, xsrna2@mendelu.cz Abstrakt Článek se zaobírá univerzálním
VíceOperátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
VíceModelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda
Modelování informačních systémů s využitím jazyka UML Jaroslav Šmarda Využití jazyka UML při vývoji IS na příkladu jednoduché aplikace pro evidenci knih Model IS Modelování případů užití Diagram případů
Více10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření 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 příkazům balíčkům, grafickému
VícePODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2
PI JE JEDNODUCHÝ IMPERATIVNÍ PROGRAMOVACÍ JAZYK OBSAHUJE PODPORU ANOTACÍ NEOBSAHUJE NĚKTERÉ TYPICKÉ KONSTRUKTY PROGRAMOVACÍCH JAZYKŮ JAKO JSOU REFERENCE, UKAZATELE, GLOBÁLNÍ PROMĚNNÉ PODOBÁ SE JAZYKU C
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íceDiskrétní matematika. DiM /01, zimní semestr 2016/2017
Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2016/2017 O tomto souboru Tento soubor je zamýšlen především jako pomůcka
Více7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
VíceModelování procesů s využitím MS Visio.
Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo
VíceUnity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.
Unity a Objekty Programování 2 (NMIN102) RNDr. Michal Žemlička, Ph.D. Větší programy Časté problémy: Ve více programech by se nám hodilo využít stejné řešení nějakého podproblému dalo by se vyřešit překopírováním
VícePrincipy UML. Clear View Training 2005 v2.2 1
Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat
VíceUML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz
UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,
VícePracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů
Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a datových modelů Obsah Seznam tabulek... 1 Seznam obrázků... 1 1 Úvod... 2 2 Metody sémantické harmonizace... 2 3 Dvojjazyčné katalogy objektů
VíceInformační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika
2 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk UML, základní modely, diagramy aktivit, diagramy entit.
VíceVzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec
StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak
VíceMicrosoft. Word. Automatické nástroje pro práci s textem. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie
Microsoft Word Automatické nástroje pro práci s textem Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Automatické nástroje pro práci s textem Word nabízí mimo jiné následující automatické
VíceNegativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1
Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit
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ícePřehledový manuál aplikace GABVAR (verze )
Základní informace: Vývojová skupina Gabvar byla založena v roce 2007. Náplní skupiny je vývoj aplikací pro podporu procesů v oblasti managmentu, údržby a logistiky. Jsme skupinou pracovníků s praxí na
VíceAsymptoty funkce. 5,8 5,98 5,998 5,9998 nelze 6,0002 6,002 6,02 6, nelze
Asymptoty funkce 1 Asymptota bez směrnice 6 Máme dvě funkce f 1 : y a 3 f : y 3 Člověk nemusí být matematický génius, aby pochopil, že do předpisu obou funkcí lze dosadit za libovolné reálné číslo kromě
VíceMQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Část 2
MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Část 2 Vítejte v šesté lekci mého kurzu MQL 4. Doufám, že se vám předchozí lekce líbily. V předchozí lekci jsme se bavili o smyčkách.
Více7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
Více1. Matematická logika
MATEMATICKÝ JAZYK Jazyk slouží člověku k vyjádření soudů a myšlenek. Jeho psaná forma má tvar vět. Každá vědní disciplína si vytváří svůj specifický jazyk v úzké návaznosti na jazyk živý. I matematika
VíceModelování webových služeb v UML
Modelování webových služeb v UML Jaromír Šveřepa LBMS, s.r.o. Abstrakt: Tento příspěvek se zaměřuje na praktický postup pro identifikaci potřeby webové služby, modelování způsobu jejího použití, popřípadě
VíceInformač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í.
VícePožadavky Pokročilé modelování případů užití
Požadavky Pokročilé modelování případů užití Požadavky - Část 3 Clear View Training 2005 v2.2 1 5.1 Více relací Budeme se věnovat některým pokročilým aspektům modelování případů užití a popíšeme všechny
VíceVlastnosti dokumentu/stránky
Vlastnosti dokumentu/stránky Formát stránky papíru pro tisk V záložce Rozložení stránky na pásu karet najdeme vše potřebné pro přípravu dokumentu před tiskem. 1) Záložka Rozložení stránky 2) Změna Orientace
VíceSOFTWAROVÉ INŽENÝRSTVÍ 1
Metodický list č. 1 Název tématického celku: Úvod do softwarového inženýrství Základním cílem tohoto tematického celku je vysvětlení smyslu discipliny nazývané softwarové inženýrství. Tematický celek zahrnuje
Vícetypová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
VíceMatematická analýza pro informatiky I. Limita posloupnosti (I)
Matematická analýza pro informatiky I. 3. přednáška Limita posloupnosti (I) Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 25. února 2011 tomecek@inf.upol.cz
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íceDiskrétní matematika. DiM /01, zimní semestr 2018/2019
Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2018/2019 O tomto souboru Tento soubor je zamýšlen především jako pomůcka
VíceEXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě.
EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy (ITS) Označení poloh pro geografické databáze Část 3:
VíceZÁKLADY POŘIZOVÁNÍ TEXTU
Úvod do problematiky ZÁKLADY POŘIZOVÁNÍ TEXTU Na začátku psaní je vhodné nastavit vzhled stránky. Důležitá je především orientace stránky. Můžeme si vybrat mezi uspořádáním textu na výšku stránky (většinou
Více6 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).
VíceModelování požadavků
Modelování požadavků Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové inženýrství
VíceANOTACE vytvořených/inovovaných materiálů
ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a
VíceInfrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů
Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,
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íceEXTRAKT z mezinárodní normy
EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním ICS 03.220.01; 35.240.60 materiálem o normě. Inteligentní dopravní systémy Požadavky na ITS centrální datové
Více10 Metody a metodologie strukturované analýzy
10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího
VíceDiagnostika regrese pomocí grafu 7krát jinak
StatSoft Diagnostika regrese pomocí grafu 7krát jinak V tomto článečku si uděláme exkurzi do teorie regresní analýzy a detailně se podíváme na jeden jediný diagnostický graf. Jedná se o graf Předpovědi
VíceSada 2 CAD2. 2. CADKON 2D 2011 Vkládání dveří
S třední škola stavební Jihlava Sada 2 CAD2 2. CADKON 2D 2011 Vkládání dveří Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace
VíceZáklady programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP
Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................
VíceModelování podnikových procesů
Modelování podnikových procesů Co je to podnikový proces? Činnost za účelem splnění určitého podnikového cíle (business goal) Provádění časově ohraničeno Vstupní podmínky Při realizaci probíhají vzájemně
Více6 Příkazy řízení toku
6 Příkazy řízení toku 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 příkazům pro řízení toku programu. Pro všechny tyto základní
VíceAlgoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
VícePascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
VíceVývoj informačních systémů. Přehled témat a úkolů
Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení
VíceMATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
Více