Sedm smrtelných hříchů uživatelů UML

Slávek Rydval
Slávek RydvalBusiness Analyst, Solution Architect, Consultant
Sedm smrtelných hříchů
uživatelů UML
Slávek Rydval
30. ledna 2015
Proč nebýt hříšný
• Vzájemná ohleduplnost k ostatním uživatelům vašich modelů je fajn.
• Nemusíte se tak stále učit „dialekty“ ostatních.
• Je lepší diagramy číst, nežli přemýšlet, co chtěl autor vlastně sdělit.
30. 1. 2015 http://www.ocup.cz
1. Porušování pravidel z neznalosti
• Mnozí uživatelé naletěli falešné intuitivnosti UML a nástroje
Enterprise Architect a neověřují si, zda jejich model je správný, a
zarputile používají špatné návyky.
• Jsem líný změnit své chování a něco se naučit.
• Typické prohřešky:
• Kde hledat informace:
• Toky v aktivitách (a hrany)
• Asociace
• Závislosti
• Assembly
Dej si pivo
Další?
System A
System B
[ano]
[Ne]
30. 1. 2015 http://www.ocup.cz
2. Zbytečné vymýšlení nových pravidel
• UML je robustný a mocný nástroj.
• Každý element má svou sémantiku, pokud mi nevyhovuje, zjistím, zda
neexistuje jiný, který by odpovídal mé potřebě.
System A
System B
Použiju-li toto:
System A
System B
System A
System B
FTP
System A
FTP
System B
FTP
WS
System A
WS
System B
Nezamýšlel jsem ve sktutečnosti použít něco z tohoto?
FTP
WS
«flow»«use»
30. 1. 2015 http://www.ocup.cz
3. EA přeci pravidla UML neporušuje!
• Ale ano, porušuje!
• UML validace v EA
• Bude něco lepšího? Snad ano.
• Co s tím?
• Znát UML, učit se
• Nevěřit EA
Class1 Class A
Class B
Class C
Aktivita A
Action1
Aktivita B
Use Case1 Use Case2
«include»
«include»
30. 1. 2015 http://www.ocup.cz
4. Aktivity versus akce
• Jedna z nejčastěji dělaných chyb a to včetně autorů EA!
• A co když chceme i připravit dopis a obojí donést panu řediteli?
Udělej čaj
Dej do
konvice
vodu
Dej vařit
vodu
Dej sáček s
čajem do
hrnku
Počkej, až
se voda
uvaří
Nalej vodu
do hrnku
30. 1. 2015 http://www.ocup.cz
4. Aktivity versus akce
Udělej čaj
Dej do
konvice
vodu
Dej vařit
vodu
Dej sáček s
čajem do hrnku
Počkej, až se
voda uvaří
Nalej vodu
do hrnku
Připrav návrh
dopisu pro
představenstvo
Přines vše
řediteli
Pozor, uvedený zápis je
proti pravidlům UML!
30. 1. 2015 http://www.ocup.cz
4. Aktivity versus akce
Udělej čaj
Dej do
konvice
vodu
Dej vařit
vodu
Dej sáček s
čajem do
hrnku
Počkej, až
se voda
uvaří
Nalej vodu
do hrnku
Připrav návrh
dopisu pro
představenstvo
Přines vše
řediteli
černý čaj: Udělej čaj
30. 1. 2015 http://www.ocup.cz
4. Aktivity versus akce – metamodel
Activity
+ isReadOnly: Boolean
+ isSingleExecution: Boolean
ActivityEdgeActivityNode
+source
1
+outgoing
*
+activity
0..1
{subsets owner}
+edge
*
{subsets
ownedElement}
+activity
0..1
{subsets owner}
+node
*
{subsets
ownedElement}
+target
1
+incoming
*
Activity
ActivityEdge ActivityNode
Action
Behavior
RedefinableElement
ExecutableNode
Classifier
NamedElement
Class
EncapsulatedClassifier
BehavioredClassifierStructuredClassifier
CallBehaviorAction
CallAction
InvocationAction
30. 1. 2015 http://www.ocup.cz
5. Asociace versus závislost
Auto
Motor
+ Výkon: int
Auto
+ motor: Motor
Math
+ sečti(double, double): double
+ umocni(double, double): double
+ vynásob(double, double): double
Finanční výpočty
+ budoucníHodnota(double, double): double
+motor
10..1
30. 1. 2015 http://www.ocup.cz
6. Nekreslíme, modelujeme
• Proč stokrát vytvářet komponentu pro týž systém?
• Ukázka v EA:
• Znovupoužití
• V kterých diagramech se prvek nachází?
• Kde je prvek v Project Browseru?
• Mám nějakou vazbu na jiný prvek, jak ho dostanu na diagram?
30. 1. 2015 http://www.ocup.cz
7. Zbytečné prvky na diagramu
• Pravidlo 8 až 10 prvků v diagramu – dekomponujte
• Složitý diagram je leda na zeď pro samolibou ukázku, kolik jsme toho udělali a
jak máme složité systémy
• Ve skutečnosti jsou jednoduché, jen jsme to špatně zaznamenali
• Nepoužívat legendy tam, kde pomůžou stereotypy (Stereotypová
omalovánka)
• Příklad v EA
30. 1. 2015 http://www.ocup.cz
Drobný test
30. 1. 2015 http://www.ocup.cz
30. 1. 2015 http://www.ocup.cz
Analytik
Se učit, se učit, se
učit!
Doporučená
literatura
+ Odkaz: URI
:Doporučená literatura
Odkaz = http://www.ocup.cz
:Doporučená literatura
Odkaz = http://www.uml.org
«instanceOf»«instanceOf»
Závěrečné doporučení
1 of 14

More Related Content

Featured(20)

How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC4.1K views
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy82.1K views
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani30.3K views
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking6.9K views
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K views
I Rock Therefore I Am. 20 Legendary Quotes from PrinceI Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from Prince
Empowered Presentations142.8K views
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views

Sedm smrtelných hříchů uživatelů UML

  • 1. Sedm smrtelných hříchů uživatelů UML Slávek Rydval 30. ledna 2015
  • 2. Proč nebýt hříšný • Vzájemná ohleduplnost k ostatním uživatelům vašich modelů je fajn. • Nemusíte se tak stále učit „dialekty“ ostatních. • Je lepší diagramy číst, nežli přemýšlet, co chtěl autor vlastně sdělit. 30. 1. 2015 http://www.ocup.cz
  • 3. 1. Porušování pravidel z neznalosti • Mnozí uživatelé naletěli falešné intuitivnosti UML a nástroje Enterprise Architect a neověřují si, zda jejich model je správný, a zarputile používají špatné návyky. • Jsem líný změnit své chování a něco se naučit. • Typické prohřešky: • Kde hledat informace: • Toky v aktivitách (a hrany) • Asociace • Závislosti • Assembly Dej si pivo Další? System A System B [ano] [Ne] 30. 1. 2015 http://www.ocup.cz
  • 4. 2. Zbytečné vymýšlení nových pravidel • UML je robustný a mocný nástroj. • Každý element má svou sémantiku, pokud mi nevyhovuje, zjistím, zda neexistuje jiný, který by odpovídal mé potřebě. System A System B Použiju-li toto: System A System B System A System B FTP System A FTP System B FTP WS System A WS System B Nezamýšlel jsem ve sktutečnosti použít něco z tohoto? FTP WS «flow»«use» 30. 1. 2015 http://www.ocup.cz
  • 5. 3. EA přeci pravidla UML neporušuje! • Ale ano, porušuje! • UML validace v EA • Bude něco lepšího? Snad ano. • Co s tím? • Znát UML, učit se • Nevěřit EA Class1 Class A Class B Class C Aktivita A Action1 Aktivita B Use Case1 Use Case2 «include» «include» 30. 1. 2015 http://www.ocup.cz
  • 6. 4. Aktivity versus akce • Jedna z nejčastěji dělaných chyb a to včetně autorů EA! • A co když chceme i připravit dopis a obojí donést panu řediteli? Udělej čaj Dej do konvice vodu Dej vařit vodu Dej sáček s čajem do hrnku Počkej, až se voda uvaří Nalej vodu do hrnku 30. 1. 2015 http://www.ocup.cz
  • 7. 4. Aktivity versus akce Udělej čaj Dej do konvice vodu Dej vařit vodu Dej sáček s čajem do hrnku Počkej, až se voda uvaří Nalej vodu do hrnku Připrav návrh dopisu pro představenstvo Přines vše řediteli Pozor, uvedený zápis je proti pravidlům UML! 30. 1. 2015 http://www.ocup.cz
  • 8. 4. Aktivity versus akce Udělej čaj Dej do konvice vodu Dej vařit vodu Dej sáček s čajem do hrnku Počkej, až se voda uvaří Nalej vodu do hrnku Připrav návrh dopisu pro představenstvo Přines vše řediteli černý čaj: Udělej čaj 30. 1. 2015 http://www.ocup.cz
  • 9. 4. Aktivity versus akce – metamodel Activity + isReadOnly: Boolean + isSingleExecution: Boolean ActivityEdgeActivityNode +source 1 +outgoing * +activity 0..1 {subsets owner} +edge * {subsets ownedElement} +activity 0..1 {subsets owner} +node * {subsets ownedElement} +target 1 +incoming * Activity ActivityEdge ActivityNode Action Behavior RedefinableElement ExecutableNode Classifier NamedElement Class EncapsulatedClassifier BehavioredClassifierStructuredClassifier CallBehaviorAction CallAction InvocationAction 30. 1. 2015 http://www.ocup.cz
  • 10. 5. Asociace versus závislost Auto Motor + Výkon: int Auto + motor: Motor Math + sečti(double, double): double + umocni(double, double): double + vynásob(double, double): double Finanční výpočty + budoucníHodnota(double, double): double +motor 10..1 30. 1. 2015 http://www.ocup.cz
  • 11. 6. Nekreslíme, modelujeme • Proč stokrát vytvářet komponentu pro týž systém? • Ukázka v EA: • Znovupoužití • V kterých diagramech se prvek nachází? • Kde je prvek v Project Browseru? • Mám nějakou vazbu na jiný prvek, jak ho dostanu na diagram? 30. 1. 2015 http://www.ocup.cz
  • 12. 7. Zbytečné prvky na diagramu • Pravidlo 8 až 10 prvků v diagramu – dekomponujte • Složitý diagram je leda na zeď pro samolibou ukázku, kolik jsme toho udělali a jak máme složité systémy • Ve skutečnosti jsou jednoduché, jen jsme to špatně zaznamenali • Nepoužívat legendy tam, kde pomůžou stereotypy (Stereotypová omalovánka) • Příklad v EA 30. 1. 2015 http://www.ocup.cz
  • 13. Drobný test 30. 1. 2015 http://www.ocup.cz
  • 14. 30. 1. 2015 http://www.ocup.cz Analytik Se učit, se učit, se učit! Doporučená literatura + Odkaz: URI :Doporučená literatura Odkaz = http://www.ocup.cz :Doporučená literatura Odkaz = http://www.uml.org «instanceOf»«instanceOf» Závěrečné doporučení

Editor's Notes

  1. Důraz na aktivní znalost či schopnost informaci dohledat
  2. Nová pravidla vytvořená na základě neznalosti UML vede k tomu, že používáme element špatně, ačkoliv pro náš záměr bychom mohli použít správný element, o kterém však dosud nemáme znalost.
  3. Ukázat příklad přímo v EA, jak se model validuje.
  4. Na závěr příklad v EA, jak to tvoří špatně.
  5. Použiju komponentu S-Cube na novém diagramu. Použiju k tomu ISTS.