Kompozice a agregace

Kompozice a agregace se v praxi používají, když chceme v případě binárních asociací zdůraznit princip celku a jeho částí: motor je součástí auta, procesor je součástí počítače, firma je složena z jednotlivých oddělení apod.

Poznámka: Text tohoto článku můžete považovat za ukázku z připravované knihy UML pro analytiky, která vyjde na přelomu února a března příštího roku. Pokud nechcete čekat a dozvědět se více, pak 6. a 7. prosince 2018 můžete navštívit mé školení stejného názvu, kde mj. dostanete aktuální podobu textu s příslibem výtisku zdarma.

Z pohledu UML o agregaci hovoříme ve chvíli, kdy je nějaká instance použita k tomu, aby seskupila dohromady množinu jiných instancí. Tato agregace je dvojího druhu: sdílená (anglicky shared) a složená (anglicky composite). Aby to nebylo tak jednoduché, tak modelovací žargon používá termín agregace pro sdílenou agregaci a kompozice pro složenou agregaci. Jelikož je to natolik zaběhnuté, budu to používat také. Pokud tedy v následujícím textu bude uvedena pouze agregace bez bližší specifikace, je tím myšlena sdílená agregace.

UML nám říká, že sémantiku pro sdílenou agregaci definuje autor modelu, případně vyplývá z toho, pro jakou doménu tvoříme náš model. Kompozice je pak přísnější agregace, která vyžaduje, aby část jsoucí v celku, byla v jednu dobu právě v jednom takovém celku. A dále dodává, že pokud je rušen celek, nejprve jsou rušeny všechny jeho části (případně tyto části mohou být z celku vyňaty, dává-li to smysl, a tedy se neruší. Upozorňuji, že se stále jedná o sémantiku danou UML standardem. Část lidí pracující s UML zarputile tvrdí, že to nejde.).

Sdílená agregace se zakresluje prázdným kosočtvercem na konci asociace u celku, kompozice pak plným (černým) kosočtvercem tamtéž.

Příklady agregace a kompozice

Na uvedeném příkladu je vidět, že jedna třída je definovaná jako část, ale současně může být celkem (v našem případě je to třída Kraj). Tento postup však nesmí být cyklický. Dále z podmínky, že v případě kompozice smí být část maximálně v jednom celku, plyne, že násobnost konce asociace u celku může být pouze 1 nebo 0..1 (viz následující obrázek).

Kompozice auta a lodě s motorem

U sdílené agregace toto samozřejmě neplatí. Tam může být část v jeden okamžik součástí více celků. Na prvním uvedeném příkladu vidíme, že se studijní program skládá z předmětů, ale jeden předmět může být součástí více studijních programů (např. čeština bude na středních školách ve všech studijních programech). Násobnost tedy může být dle následujícího obrázku.

Násobnost v případě sdílené agregace

Dále platí pravidlo, že agregace i kompozice je asymetrický vztah, tedy že pouze jeden konec binární asociace smí být označen jako celek.

Mezi uživateli UML se občas (bohužel) vyskytne zbytečná debata o tom, zda v případě kompozice je možné část dát do jiného celku nebo zda může existovat sama o sobě. Jeden tábor horlivě tvrdí, že ne a jako argument používá příklad, že strom má listy a ty nelze převěsit na jiný strom. Druhá skupina, která říká, že část lze dát do jiného celku, zase používá argument podobný tomu na obrázku s motorem. Motor přeci lze přehodit z jednoho auta do druhého, případně ho mít na skladě jako náhradní díl. Kde je pravda? UML na to bohužel neodpovídá (resp. říká, jak již bylo řečeno, že lze část z celku vyjmout, ale již se nic neříká o vložení do jiného celku).

Zkusme to ale celé pojmout rozumně. Kompozice lze v principu rozdělit do šesti základních skupin (podrobněji se o tom můžete dozvědět na této stránce):

  • Kompozice komponent: auto má motor, kniha má kapitoly, diskuse má příspěvky.
  • Kompozice materiálů: kapučíno se skládá z mléka a kávy, chleba je z části obilí, auto je částečně z kovu.
  • Kompozice porcí/dílů: chleba lze rozdělit na krajíce, tunu lze rozdělit na kilogramy.
  • Územní kompozice: Radotín je částí Prahy, pokutové území je součástí hřiště, úpatí je součástí hory.
  • Kompozice typu člen skupiny: strom je součástí lesa, cyklista je součástí pelotonu, zabrušovač Míla Rozner je členem nacistické organizace SPD.
  • Partnerská kompozice: Jan Werich byl součástí umělecké dvojice V+W.

Zkuste si přestavit situace, kdy z každého typu kompozice odeberete část. Někdy můžeme dál mluvit o celku, někdy nikoliv. Pokud v diskusi smažu jeden příspěvek, stále to může být diskuse, leckdy přínosnější, ale příspěvek sám o sobě význam nemá. Z kapučína mléko už asi jednoduše nedokážu dát pryč, ale pokud se mi to povede, tak mléko samo o sobě fungovat může. Odeberu-li byť jediné kilo z tuny, už to není tuna. Cyklista, který se vydá do úniku, již není součástí pelotonu, leč peloton funguje nadále a cyklista také. Skvělá dvojice V+W by bez Voskovce či bez Wericha nebyla dvojicí (Podobně např. sdružení ANO by bez bývalého estébáka, současného fašisty a usvědčeného podvodníka a lháře Babiše zaniklo stejně, jako se to stalo VeVerkám.). Pokud se tedy nad tím zamyslíme, někdy můžeme prvek z celku odebrat, případně jej vložit do jiného celku, nebo ho necháme úspěšně fungovat samotného, jindy to prostě dělat nebudeme.

Problém může nastat ve chvíli, kdy špatně určíme typ kompozice. Pak může docházet ke komickým závěrům ve chvíli, kdy předpokládáme, že kompozice je bez výjimky transitivní relací.

Transitivní relace je taková relace, kdy platí, že pokud a je v relaci s b a současně b v relaci s c, pak a je v relaci s c. Např. relace „porovnání větší než“ transitivní určitě je: a > b a b > c, pak i a > c. Naopak např. relace „je rodič“ není transitivní. Pokud Petr je rodič Jany a Jana je rodič Pavla, tak určitě neplatí, že Petr je rodič Pavla.

Ukažme si to opět na příkladu. Na následujícím obrázku vidíme, že auto se skládá z motoru a motor z pístů. Zde relace určitě transitivní je, neboť docházíme ke správnému tvrzení, že auto se skládá z pístů.

Transitivita auto, motor, píst

Ovšem v případě kombinací typů kompozice můžeme dojít sice k úsměvnému, leč špatnému tvrzení. Podívejte se na další obrázek. Asi budete se mnou souhlasit, že rameno nějaké osoby určitě není členem nějaké zájmové skupiny. Přesto z pohledu UML jsou všechny typy kompozice zakreslovány shodně.

Netransitivní kompozice

Zkusme si to shrnout:

  • Část lze v některých případech přehodit z jednoho celku do jiného, v jiných ne (nedává to smysl nebo je to nemožné). UML to však nezakazuje, tedy to můžeme ve smysluplných případech používat.
  • V některých případech může část fungovat i sama o sobě bez toho, aby byla v nějakém celku.
  • Je třeba si uvědomit typ kompozice a dle toho aplikovat, nebo naopak neaplikovat transivitu.
Rubriky: Nezařazené | Štítky: | Napsat komentář

Druhé setkání uživatelů Sparx EA – 23. října 2018

Od začátku září, kdy jsem vyhlašoval termín druhého setkání, bylo vytvořeno jistě již mnoho diagramů, ovšem pro nás se nic nezměnilo kromě jednoho bodu programu (viz dále). Takže vše je víceméně jen připomenutí.

23. října budete od 18 hodin očekávání v prostorách malého salonku Restaurantu Club MAT v Praze na Karlově náměstí.

A co nás čeká?

  1. RAS neboli Reusable Asset Service (30minutový úvod, přednáším já) – co to je, jak to nakonfigurovat, jak to používat a na co si dát pozor, abyste si nepřepsali data.
  2. Simulace business procesů (30minutová ukázka, přednáší Ivana Šabatová) – co to je simulace procesů a jak, případně zda je na to Sparx řádně připraven.
  3. Networking (všichni) – povídání si o všem možném i nemožném, ať už spojeném s éáčkem nebo s čímkoliv jiným.

Jste srdečně zváni, těším se na viděnou.

Rubriky: Nezařazené | Štítky: , | Napsat komentář

Co mě bavilo v roce 2018 #ukažcoděláš

Zkouším zkracovat interval povídání o tom, na čem pracuji, co se mi již povedlo a co je k zamyšlení. Poslední report jsem psal po roce a půl letos v lednu, tedy teď je to již „jen“ po osmi měsících. Na čem jsem tedy trávil svůj čas?

Nakladatelství Elebedial

To, že jsem vytvořil vlastní nakladatelství Elebedial, to jsem již psal v posledním reportu. Ostatně i vy si tam nakupujete především učebnice pro přípravu k certifikačním zkouškám, ale i kozlíka Líška.

V současné době dokončujeme práci na nové knížečce pro zlepšení nálady a pro potěchu dětí i dospělých nazvanou Kapustňák Eda. Půjde opět o ilustrace mé ženy a naše společné básničky. Do 15. října musí vše být připravené pro tisk a pak do týdne bude vše v papírové podobě. Jestliže si budete chtít prohlédnout nejen knihu, ale i předlohy (plus mnohé další), budete moci navštívit výstavu radotínských výtvarníků ve dnech 11.-16. listopadu v prostorách Kulturního střediska „U Koruny“ na náměstí Osvoboditelů 44/15 v Radotíně. Na vernisáži se tam můžeme potkat.

Druhou knihu, kterou již delší dobou slibuji, je UML pro analytiky. Přiznávám se bez mučení, že plán vydat ji letos v dubnu selhal. Nakonec mě ale poměrně náročné školení UML na Slovensku donutilo s textem pohnout do takové míry, že mi chybí již jen jedna kapitola (diagram aktivit), a první verze textu bude hotová. Na druhou stranu to bude mít příznivý vliv na kvalitu textu, neboť mi účastníci školení dávají užitečnou zpětnou vazbu (díky všem za vaši pozornost po celou dobu mých školení, za dotazy a hlavně diskuse). Během října chci text dopsat a nechat projít alespoň dvěma revizemi. Poté přijde na řadu jazyková a stylistická korektura, sazba a tisk. Uvidím, jak to bude vycházet, zda se knihy dočkáme pod stromeček, na Tři krále, nebo až na Hromnice. Později však ne.

UML

Když vynecháme zmínku o knize UML pro analytiky, tak stojí za zmínku to, že na jejím základě je již připravené plnohodnotné školení stejného názvu. První termín je ve dnech 11.-12. října 2018 a jak název napovídá, jde o školení pro uživatele UML, kteří chtějí vědět, jak správně zaznamenat svou práci. Objednávat si ho můžete zde.

Sparx Enterprise Architect

V oblasti éáčka jsem nejvíce pyšný na to, že podařilo nastartovat setkávání uživatelů tohoto nástroje. Na základě ohlasů prvního setkání je připravené druhé. To, co mě na tom těší, je i zájem účastníků něco sdělit ostatním. Ostatně se můžete přesvědčit sami, jste srdečně zváni.

Dále se mi povedlo spojit Sparx EA s nástrojem JIRA. Po dlouhých peripetiích tak můžete své storky vidět i v éáčku a pracovat s nimi jako s každým jiným požadavkem.

V červnu jsem byl na setkání uživatelů v Londýně a přivezl jsem si kromě jiného spousty podnětů. Některé jsem již „ventiloval“, některé teprve budu. Rozhodně to ale stálo za to.

Konečně posledním bodem je má firma Capricorn Pro, která je oficiálním distributorem jednak nástroje Sparx EA jako takového, tak i dokumentačního addinu pro EA nazvaného eadocx. Pokud tedy potřebujete novou licenci nebo její obnovu, budu rád, pokud mne poptáte. Jak jistě víte, prodej licencí jsem zavedl hlavně z toho důvodu, abych se stal oficiálním školitelem EA. Neznamená to ale, že by to byla bokovka, nebo že bych zapomněl na původní cíl. Pracuji na obojím.

Co mě čeká v následujících měsících

Před sebou toho mám opravdu hodně. Ještě letos chci:

  • dokončit knihu o kapustňákovi Edovi a UML.
  • setkat se s vámi, uživateli Sparx EA v říjnu.
  • napsat ještě alespoň dva naučné články k EA a/nebo k UML.
  • proškolit vás a to ať v oblasti UML, tak i EA (seznam školení a termínů je na této stránace).
  • Chtěl bych více číst. Letošní jedna kniha za měsíc je málo.

Začátek roku se zdá vždy takový rozpačitý, firmy ladí rozpočty na školení apod., ale pro mě to bude konečně čas oddechu a práce mj. na dvou věcech:

  • Nové funkčnosti konektoru na JIRA server,
  • dokončení nástroje na poměrně sofistikované hlídání uživatelsky definovaných pravidel v EA a
  • generování dokumentace na Confuence.

K obojímu zatím nechci říkat víc či něco slibovat, vše se může měnit, na druhou stranu, pokud vám dané téma něco říká, klidně se ozvěte, můžeme to prodiskutovat.

No, a to je vše. Bude mi potěšením, pokud se uvidíme na setkání uživatelů EA v říjnu. A pokud nedorazíte, tak přeji zajímavý konec roku.

Rubriky: Nezařazené | Štítky: , , , , , , , , , , | Napsat komentář

Druhé setkání uživatelů Sparx EA – říjen 2018

Na základě ohlasů účastníků prvního setkání uživatelů oblíbeného (a/či proklínaného) nástroje Sparx Enterprise Architect vyhlašuji naše společné druhé setkání a to na 23. října tohoto roku od 18 hodin, tentokrát v prostorách malého salonku Restaurantu Club MAT v Praze na Karlově náměstí.

O čem si budeme povídat? To záleží jen na vás. Pokud chcete přispět svým povídáním, budu rád. Povídání by mělo být ukázat něco z praxe, s čím jste bojovali, jak jste to nakonec vyřešili, nebo např. nějaké tipy a triky. Cokoliv, co obohatí praktické používání nástroje, je vítané. Podobně jako minule, i tentokráte bychom udělali dvě povídání, jedno na nejvýše 30 minut.

Za sebe dávám ke zvážení tyto dva bloky:

  1. RAS neboli Reusable Asset Service – co to je, jak to nakonfigurovat, jak to používat a na co si dát pozor, abyste si nepřepsali data.
  2. Dvě desetiminutovky s prostorem pro otázky v jednom bloku: udělejte si svůj první plugin pro EA za deset minut a co to je Sparx Cloud a jak jej začít používat během deseti minut.

Do komentářů prosím dávejte své nápady, které byste chtěli přednést vy. Na základě toho vás pak o tématech opět nechám hlasovat, abyste se dozvěděli to, co se dozvědět chcete.

Na viděnou v říjnu.

Rubriky: Nezařazené | Štítky: , | Napsat komentář

UML pro analytiky

Představuji naprosto nové, z praxe vycházející a na praxi zaměřené školení UML pro analytiky. První běh je naplánován na 11. a 12. října v Praze. Neváhejte, načtěte si o něm více a přihlašte se.

Rubriky: Nezařazené | Štítky: , | Napsat komentář

Novinky v oddělení Sparx EA

Někdo si užívá zaslouženou dovolenou, někoho třeba teprve čeká, ale lidé v oddělení Sparx EA pracují stále. Někdy je to ke škodě uživatelů, někdy to jsou zase příjemné zprávy. Co je tedy nového?

Začnu tou nepříjemnou zprávou, ale poté uvedu snad tři pozitivní. Od 1. srpna Sparx přešel na – pro zákazníka dražší – licenční model, co se množství týče. Až do konce července byly množstevní slevy odstupňované 1-4 licence, 5-19 licencí, 20-100 licencí a konečně 100+ licencí. To platilo jak pro nové licence, tak pro jejich obnovu. Nyní Sparx poskytuje množstevní slevy až od 50 licencí výše (tj. 1-49 licencí za plnou cenu, pak 50-100 licencí a nakonec 101+), a to pouze v případě nových licencí. Pokud jde o obnovu licencí, tak množstevní slevy již neposkytuje vůbec.

Další změna je v čase, který máte na obnovu licence. Dříve vám Sparx dával pět let, nyní pouze tři roky. Na úvodní stránce produktu se stále píše, že se tato změna zvažuje, ovšem na stránce věnované odpovědím při prodeji jsou již zmíněné tři roky natvrdo.

I přes tuto nepříjemnost to neznamená, že vám při větším odběru licencí nemůžu poskytnout nějakou slevu sám za sebe. Možnosti nákupu jsou na stránkách e-shopu nebo mi napište.

A nyní k tomu lepšímu:

  • 21. září 2018 pořádám školení Enterprise Architect pro (nejen) mírně pokročilé, takže pokud máte zájem, přihlaste se. Kromě jiného se naučíte, jak správně v EA modelovat, nikoliv jen kreslit.
  • Ve spolupráci se společností Anywhere pořádáme 30. srpna od 9 hodin cca dvouhodiné povídání na téma Efektivní modelování pomocí UML a Sparx EA. Je to zdarma, registrovat se můžete na stránkách Anywhere.
  • Na říjen plánuji uspořádat další setkání uživatelů EA. Na přelomu srpna a září k tomu napíšu více včetně nabídky přednášek. Jestliže sami chcete přijít s vlastním tématem, nebojte se toho, napište mi (nebo to sdělte níže v komentářích). Budu rád, když to i napodruhé bude povídání více lidí.

Přeji vám pěkný zbytek srpna a těším se na viděnou na libovolné z výše uvedených akcí.

Rubriky: Nezařazené | Štítky: , , | Napsat komentář

Rozšiřuji své služby o konzultaci a prodej nástroje eaDocX

Je to pár dní, co jsem se stal (resp. má firma Capricorn Pro) oficiálním partnerem společnosti ability engineering, která mj. dodává populární nástroj eaDocX. Jedná se o vyspělé dokumentační rozšíření Sparx Enterprise Architecta, které dokáže výrazně více, než – a to si přiznejme – nepříliš povedené generování reportu v EA.

V rámci své činnosti tedy nabízím nejen prodej licencí, ale samozřejmě také konzultace a posuzování, která edice společně s EA vaše potřeby dokáže naplnit nejlépe. Díky tomu, že jsem i autorizovaným prodejcem licencí Sparx EA, tak dobře zvolený tandem s eaDocX může v mém podání fungovat lépe, než když si mnohé věci děláte na koleně sami. Neváhejte mě tedy kontaktovat s dotazy, přáními či žádostmi o nějaké představení.

Rubriky: Nezařazené | Štítky: , | Napsat komentář

Pozvánka na školení „Rozšiřte si Sparx Enterprise Architect dle vlastních potřeb“

Zvu Vás na jednodenní školení Rozšiřte si Sparx Enterprise Architect dle vlastních potřeb, které se koná 20. července 2018 od 9 hodin v Praze v sabi µHUBu.

Provede vás od základů až po pokročilé možnosti a skryté funkce oblíbeného nástroje. Vše bude demonstrováno pomocí jazyka C# a nástroje Microsoft Visual Studio, který je v edici Community za poměrně příznivých podmínek k dispozici zdarma a přitom poskytuje vše, co pro tvorbu rozšíření potřebujete.

Oblasti:

  • Základní funkce pro zobrazení pluginu v EA
  • Instalace rozšíření
  • Vytváření dialogů a práce s elementy
  • Používání výstupního okna
  • Přidávání vlastních nástrojových oken
  • Přidávání vlastních záložek
  • Vyvolání standardních dialogů EA
  • Dotazování se do modelu
  • Použití vlastních tabulek v podkladové databázi
  • Taje uložení informací o prvcích v modelu

Předpoklady pro účastníky:

  • zkušenost s nástrojem Sparx Enterprise Architect,
  • zkušenost s nástrojem Microsoft Visual Studio,
  • znalost programovacího jazyka C#,
  • vlastní počítač s nainstalovaným Sparx EA a Visual Studiem .NET.

Pokud chcete přijít, rád Vás přivítám. Objednávejte se na stránce společnosti Capricorn Pro.

Rubriky: Nezařazené | Štítky: , , | Napsat komentář

Jaké bylo první setkání uživatelů Sparx EA v ČR?

Než na to odpovím, rád bych začal přípravou. Plánování takového setkání mi totiž na první pohled připadlo jednoduché a časově nenáročné. Osloví se lidi, navrhnou se témata a pak se vybere vhodné místo, kde se všichni sejdeme. Inu, nebylo to tak jednoduché.

První chybou bylo, že jsem nejprve vybral termín a až poté sháněl místo. Ukázalo se, že nalézt restauraci se salonkem, kde si navíc můžu něco promítat na zdi, je úkol nelehký. Obvolal jsem možná na dvacet podniků, vždy s nepořízenou: buďto v daném termínu bylo obsazeno, nebo salonek byl zrušen, nevyhovující, případně cena pronájmu byla vysoká. Nakonec jsem našel smíchovskou hospůdku Tradice, kde mi vyšli vstříc.

Než přijdou… (setkání bylo tak příjemné, že jsem zapomněl udělat fotku při plném obsazení)

V daný den jsem přišel raději o hodinu dřív, abych si vše vyzkoušel nanečisto. Díky tomu jsem zjistil, že ne všude mají prodlužovačku, takže jsem narychlo ještě volal kolegovi, ať jednu cestou koupí. Povedlo se a pár minut po šesté jsme mohli začít.

První povídání se týkalo postřehů z podobné konference v Londýně, druhé pak zkušeností s generováním reportů na středně velkém projektu v takové podobě, aby byly použitelné. Pro mě bylo asi nejdůležitější sdělení, které potvrzovalo, co jsem si myslel dávno: bez postprocessingu nebo správného nástroje pěkný report nebude. Níže jsou uvedeny prezentace k oběba přednáškám.

Po oficiální části již následovalo volné povídání na různá témata, ve mně určitě stále ještě rezonují (Pro) Cloud Server, správa uživatelů a využívání BPMN v praxi (simulace). Přínosné také byly tři různé pohledy na totéž. Je vidět, že svět enterprise architektů, solution designerů a business procesářů si stále potřebuje nalézt k sobě cestu tak, aby se rozumně domluvili.

Za sebe jsem moc rád, že jsme se setkali a určitě naplánuji něco dalšího, odhadem na říjen. Přijdete?

 

Zkušenosti s generováním reportů Autor Jaromír Kuželka
Rubriky: Nezařazené | Štítky: | Napsat komentář

Setkání uživatelů Sparx EA – úplné informace

Časově náročné shánění místa pro naše setkání je u konce. Máme ho! Přináším tedy úplné informace.

Datum: 27. června 2018

Čas: 18:00

Místo: salonek restaurantu TRADICE (http://tradiceandel.cz), který se nachází kousek od metra Anděl (výstup Na knížecí) na ulici Radlická 806/18.

Vstupné nulové.

Program:

  • 18:00 Zahájení (Slávek Rydval)
  • 18:05 Novinky v EA 14 + co zaujalo na setkání uživatelů EA v Londýně (Slávek Rydval)
  • 18:35 Zkušenosti s generováním reportů (Jaromír Kuželka)
  • od 19:00 Volné pokračování u piva a jídla, networking. (všichni)

Salonek má ještě nějakou rezervu, takže můžete přijít i vy další, kteří jste účast nepotvrdili.

Rubriky: Nezařazené | Štítky: , | Napsat komentář