Odpověď na dotaz ohledně asociační třídy v modelu měření



Podobné dokumenty
Odpověď na dotaz ohledně asociační třídy v modelu měření

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

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í

Problém identity instancí asociačních tříd

JEDNODUCHÁ A PRAKTICKÁ METODA ODHADU PRACNOSTI PROJEKTU (S UTILITOU KE STAŽENÍ ZDARMA)

Druhá část odpovědi na mail ohledně zpracování případů užití

NAUČTE SE MALOVAT SI INSTANCE!

Jak funguje element deep history v UML

Proč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů

Jak správně psát scénáře k případům užití?

Šumperský efekt rozmnožení případů užití

Čtvrtá část odpovědi aneb jak je to vlastně s interakcí <<include>>

ROZDÍL MEZI VZTAHEM EXTEND A INCLUDE V USE CASE DIAGRAMECH

VYHLEDÁVÁNÍ PRVKŮ ACTOR A PROCESNÍ MODELOVÁNÍ

Jedna z velmi častých a závažných chyb při návrhu IS aneb jak vznikají tzv. molochální systémy

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

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

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

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D.

Cestovní zpráva. Program akce: Průběh akce. O Anopress

Jiří Mašek BIVŠ V Pra r ha

MS SQL Server 2008 Management Studio Tutoriál

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

2. Konceptuální model dat, E-R konceptuální model

Nutnost použití vzoru OBSERVER pro zamezení nepříjemných efektů zpětných funkcionálních vazeb mezi objekty

Kurz Postupy návrhu IS pomocí UML a OOP (5 dnů, in-house)

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

Plug-in pro správu požadavků a sledování postupu vývoje

Rady pro tvorbu USE CASE MODELU, rada první: Jak pracovat s pojmy ve scénářích UC

Možné způsoby práce se sklady

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

O JEDNÉ ČASTÉ CHYBĚ PŘI ROZKLADU PROCESŮ PODNIKU ANEB KDY MÁME UKONČIT ROZKLAD PROCESŮ PODNIKU?

Pracovní list - Žárovka a zářivka

Vytváříme prezentaci její strukturu a celkový vzhled

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

Při vytváření šablony vytváříte soubor (POTX), ve kterém jsou zaznamenány všechny úpravy kombinace předlohy

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Několik rad pro psaní článku na Wikipedii

TAXexpert5 modul Kartotéka II.

Objektově orientované technologie. Daniela Szturcová

7.5 Diagram tříd pokročilé techniky

PROTOKOL O EXPERIMENTU slouzi k ziskani NOVYCH poznatku. ŠKOLNÍ PROTOKOL slouzi k procviceni latky a ziskani experimentalni dovednosti

Django Urls, views, templates

Vývoj IS - strukturované paradigma II

Metodologie práce dětí a mládeže na vědeckých a technických projektech

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Elektronizace správních řízení a jejich příprava na základní registry

LABORATORNÍ PROTOKOLY

Případy užití (use case) Projektování SW systémů

Informatika a výpočetní technika 1. Ing. Ladislav Nagy Technická univerzita v Liberci FT / KOD / 2011

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Modelování procesů s využitím MS Visio.

7.5 Diagram tříd pokročilé techniky

Programování II. Objektová dekompozice Třída jako objekt 2018/19

SMĚRNICE. Podmínky a způsob poskytování informací podle zákona číslo 106/1999 Sb., o svobodném přístupu k informacím, ve znění pozdějších předpisů

Procesy, procesní řízení organizace. Výklad procesů pro vedoucí odborů krajského úřadu Karlovarského kraje

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

Registr práv a povinností. Metodika pro definici údajů vedených v agendě

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

Návrh funkcí webových služeb (WS) pro komunikaci mezi Informačním systémem datových schránek (ISDS) a spisovými službami (SS)

1. Dědičnost a polymorfismus

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

SOFTWAROVÉ INŽENÝRSTVÍ 1

QAD CRM. Vladimír Bartoš. konzultant

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

4 ARCHITEKTURA PODNIKOVÝCH PROCESŮ S ARISEM

STATUTÁRNÍ MĚSTO PARDUBICE RADA MĚSTA

Vzor OBSERVER a jeho zajímavá varianta v kombinaci se vzorem ADAPTER Část 2

Proces marketingového výzkumu - jednotlivé fáze, význam, stručná charakteristika. Výběr a formulace výzkumného problému. Vztahy mezi proměnnými.

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Analytické modelování informačních systémů

Personální audit. Audit informačního systému. Audit SW a HW

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í.

ŠABLONA A PRACOVNÍ PROSTŘEDÍ - PŘÍPRAVA - PŘENOS - TIPY A TRIKY

Co je nového 2018 R2

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

10 Balíčky, grafické znázornění tříd, základy zapozdření

Poskytování informací podle zákona č. 106/1999 Sb. o Sb., o svobodném přístupu k informacím, v platném znění.

Vztah typu Extend v UML a jeho zvláštnosti

Odpověď na dotazy k výběrovému řízení na veřejnou zakázku malého rozsahu na služby

Postupy práce se šablonami IS MPP

Nastavení zabezpečení

3PA321 Employer Brand Management

Pokročilé schopnosti OOP

OOT Objektově orientované technologie

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Kontrola nenavázaných adresních míst na stavební objekty s vchody

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Skupina oborů: Elektrotechnika, telekomunikační a výpočetní technika (kód: 26)

Hodnoticí standard. Servisní technik ve strojírenství (kód: M) Odborná způsobilost. Platnost standardu

EXTRAKT z mezinárodní normy

V Z O R SMLOUVA O POSKYTOVÁNÍ VÝŽIVOVÉHO PORADENSTVÍ

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

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

Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.

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

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ


Transkript:

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 s.r.o.

Odpověď na dotaz ohledně asociační třídy v modelu 4.část Úvod V předešlých článcích se díky konzultacím dospělo již k určitým závěrům. Nyní se pokusíme provést jakési první shrnutí myšlenek a vytvoříme tedy o něco jako první nástřel modelu, který by se následně podrobil oponentuře a dále doplnil (resp. celý předělal ). Jinak řečeno pokusme se střípky poznatků z minulých článků shrnout do nějaké jediné konzistentní logické konstrukce, aby se dalo nad ní diskutovat. Možná řešení se šablonami - použití vzoru TEMPLATES - ŠABLONY Nejprve navrhněme varianty se šablonami. Před samotným m musí uživatel systému nejprve definovat šablony protokolů, které jsou povoleny. Následně se pro dané konkrétní zakládá protokol s příslušností k určité šabloně. Díky tomu nemusíme u se stejnými vlastnostmi (například elektroměrů) určovat parametry (např. veličiny a jednotky) znovu a znovu. Znamená to, že například pro skupinu elektroměrů se bude používat tatáž šablona. Existuje několik možných variant, jak využít šablony, například varianta s uspořádáním v sadě hodnot takto: strana 2

Odpověď na dotaz ohledně asociační třídy v modelu 4.část Šablona protokolu měrení {ordered}..* Šablona hodnot současných Sada hodnot současných {ordered} obrázek Použití šablony s uspořádáním prvků v sadě hodnot Princip použití šablony je zde logicky jednoduchý: Šablona definuje veličiny a jednotky (pozor záleží na pořadí, viz CONSTRAINT {ordered}!) a následně protokol používá tyto veličiny a jednotky (neboli šablony hodnot, viz diagram) v daném stejném pořadí. Dohoda je zde tedy v pořadí. Opět si to vysvětlíme na instancích: Konkrétní šablona XY (použitelná například pro elektroměry) má tyto veličiny a jednotky v tomto pořadí:. spotřeba činné energie, Wh, 2. jalová energie, Varh, 3. činný výkon, W a 4. jalový výkon, Var (viz mail z minulého článku). Při jsou v sadě hodnot současného (viz již protokol) zaznamenány hodnoty a ty jsou v pořadí v dané sadě současných odpovídajícím této šabloně, tj. první je činné energie, druhá je jalová energie atd. Předešlý obrázek není nic jiného, než model tříd pro takovýto postup evidence. Poznámka: Uvnitř prvku je atribut value, není znázorněno. Druhou variantou je, že nebude učiněna dohoda ohledně pořadí, ale každá naměřená si ukáže na svou šablonu hodnoty : strana 3

Odpověď na dotaz ohledně asociační třídy v modelu 4.část Šablona protokolu měrení..* Šablona hodnot současných Sada hodnot současných obrázek 2 a měrná je dána odkazem na šablonu hodnoty V tomto případě jsou vlastnosti naměřené hodnoty (s výjimkou samotné naměřené hodnoty neboli value a časové značky) dány odkazem do šablony hodnoty. Třetí možností je použití šablony tak, že prvky hodnoty převezmou ze šablony jako kopii příslušné odkazy na jednotku a veličinu, tedy samy si budou ukazovat na měrnou jednotku a veličinu, protože si tyto odkazy ze šablony zkopírovaly: strana 4

Odpověď na dotaz ohledně asociační třídy v modelu 4.část Šablona protokolu měrení..* Šablona hodnot současných generate from Sada hodnot současných obrázek 3 převezme ze šablony veličinu a měrnou jednotku a sama si na ně drží odkazy Varianta řešení bez šablon Existuje i možné řešení bez šablon. V tom případě by se přicházející hodnoty současného prostě zaznamenaly tak, jak přicházejí s tím, že v těchto přicházejících datech bude udáno co a v čem se měří vždy nějak s každou hodnotou (například měrné jednotky a veličiny kódem v měřených datech). V tomto řešení by to, co se měří a v čem, bylo budováno v samotném vyhledáním veličin a vyhledáním jednotek v číselnících přes přicházející kódy v datech (de facto ad hoc s každým m). Model by se sice zjednodušil takto (nejsou v něm šablony): strana 5

Odpověď na dotaz ohledně asociační třídy v modelu 4.část Sada hodnot současných obrázek 4 Řešení bez šablon ale asi tušíme problém. Hodnoty sice jednoduše udávají svými odkazy co a v čem se měří, ale tyto informace vznikají ad hoc bez kontroly vůči předpokládané šabloně. Navíc informace co vše se má měřit u elektroměrů typu XY není dáno jednou šablonou bokem, ale až naživo naměřenými mi v protokolech těchto elektroměrů. Varianta s šablonou jako kontrolním předpisem Nedostatek předešlé varianty (budování hodnot s veličinami a mi ad hoc bez šablon) spočívá v tom, že neexistuje kontrola co se má měřit a navíc, že nemáme jednu informaci co se má měřit, tj. máme k dispozici jen a pouze informaci co se již měřilo. Tento nedostatek bychom mohli odstranit zvláštní variantou použití šablony nikoliv pro generaci prvků, ale pro kontrolní mechanismy. Už to není šablona v pravém slova smyslu, je to spíše kontrolní předpis. Model bude velice podobný modelu se šablonou s kopírováním (viz obrázek 3), ale dynamika generace hodnot bude jiná. Hodnoty se budou generovat skutečně ad hoc jako v předešlé variantě bez ohledu na šablonu (žádné kopírování) a odkazy na veličinu a jednotku tedy budou v přicházejících datech a ad hoc vyhledávat. Příklad: přišlá data (kod=32, kod=25, 000,2) znamená například spotřebu činné energie (kod 32) ve Wh (kod 25) v hodnotě 000,2. Je jasné,že v datech se může omylem objevit kód neodpovídající danému. Proto následně (resp. kdykoliv) lze spustit kontrolní mechanismus vůči šabloně, tedy strana 6

Odpověď na dotaz ohledně asociační třídy v modelu 4.část přesněji vůči kontrolnímu předpisu a přiřazovat naměřené hodnoty k předpokládaným předpisům (původně šablonám). U některých se to nemusí podařit a to jsou divná nepodléhající předpisu a tedy šabloně. Závěrem - kterou variantu vybrat? Zatím jsme našli tyto varianty analytického návrhu: Použití šablony s uspořádanými prvky (dohoda pořadí šablon hodnot a samotných hodnot) Použití šablony s odkazem hodnoty na šablonu hodnoty Šablona s generováním prvků hodnot (převzetí odkazů) Generování hodnot bez šablon - ad hoc Generování hodnot bez šablon - ad hoc, ale následně verifikace vůči kontrolnímu předpisu Navíc se dá předpokládat, že můžeme najít další možná řešení! Mohlo by se zdát, že otázka nyní zní: Které řešení je to správné? Takto formulovaná otázka je tak trochu zavádějící. Správně by otázka měla znít: Které z těchto řešení je nejvýhodnější pro to, co potřebujeme? Dá se s trochou nadsázky říci, že právě v této otázce jsou skryty opravdu bezesné noci analytika. Každé řešení má totiž svoje pro a proti a z toho důvodu se musíme rozhodovat a vybírat z několika možných řešení. Co je přitom důležité - samozřejmě se rozhodujeme při znalosti všech podrobností detailů a záludností daného problému, což nyní nemáme a ani to není předmětem a smyslem tohoto článku. Chtěl jsem hlavně ukázat sílu jazyka UML pro vyjádření myšlenek, nad kterými se dá následně diskutovat. Modely v UML jsou srozumitelné, jasné, logicky vysvětlené, což neznamená, že jsou vždy nejvýhodnější pro řešení! V každém případě však je možné tyto návrhy velmi přísně oponovat a to ve velmi ve tvrdých diskusích, protože si všichni rozumí. Mimochodem, k tomuto postupu oponentur vždy rád směřuji cvičení ve školeních OOP a UML, která jsou tímto opravdu živá a někdy v diskusi i hodně temperamentní. Můžeme se totiž přít, které řešení bude kdy a pro co výhodnější, můžeme se dokonce i odborně hádat nad řešením, ale pokud nemáme dobrý srozumitelný a jasný logický společný jazyk, diskuse prostě končí, tedy přesněji řečeno, diskuse ani nenastane. Myslím, že v tom je hlavní síla použití jazyka UML při modelování IS. *** konec článku *** strana 7