Pravidlo 25: Počty vstupních a výstupních hran prvků v aktivitě I.

Diagramy aktivit jsou pro začátečníky poměrně náročné, jestliže chtějí modelovat správně, tedy podle pravidel UML. Každý uzel v takovém diagramu má různá pravidla pro příjem a přeposílání tokenů a také omezení na počet vstupních a výstupních hran. V první části se podíváme na počáteční, koncový a rozhodovací uzel.

První dvě pravidla jsou naštěstí vcelku logická. To první, nazvané no_incoming_edges, nařizuje počátečnímu uzlu, aby neměl příchozí hrany. Druhé, nazvané no_outgoing_edges, zase zakazuje koncovému uzlu mít hrany odchozí.

Třetí pravidlo již není na první pohled tak přímočaré. Jmenuje se incoming_outgoing_edges a říká, že rozhodovací uzel má jednu nebo dvě příchozí hrany a alespoň jednu odchozí. Proč tedy jednu nebo dvě příchozí?

S jednou příchozí se setkáváme v drtivém množství případů. Token po ní dorazí a pokračuje dál podle toho, která odchozí hrana splní podmínku na ní obsaženou.

Dvě odchozí hrany jsem v praxi ještě neviděl, ale zkouší se to během certifikační zkoušky OCUP 2 Intermediate a OCUP 2 Advanced. Zjednodušeně řečeno, po té druhé příchozí hraně putují objekty, jejichž vlastnosti se mohou použít při rozhodování, kterou odchozí hranou pokračovat.

Co na to Sparx EA?

Bohužel, i zde dochází k naprosté ignoranci těchto pravidel.

Douška

Celý seriál 30 pravidel UML byl revidován, upraven a knižně vydán. Pokud jej chcete mít k dispozici v papírové podobě, navštivte stránky nakladatelství Elebedial.

About Slávek Rydval 134 Článků
Slávek Rydval začínal jako programátor, ale postupem času se dostal k návrhu softwaru, posléze k integrační architektuře a v současní době pracuje jednak jako architekt řešení a jednak jako školitel UML (základů i příprav k certifikační zkoušce OCUP 2) a nástroje Sparx Enterprise Architect. S UML přišel do styku již na univerzitě, ale opravdu intenzivně se mu věnuje posledních deset let. Na programování však nezanevřel a občas pár řádek kódu napíše.

Buďte první kdo přidá komentář

Napište komentář

Vaše e-mailová adresa nebude zveřejněna.


*