Diagram nebo text? Miroslav Benešovský,
Diagram nebo text? Jaká je role analytika při vývoji SW? Most mezi zákazníkem a vývojáři Jaké má analytik prostředky? Diagramy, vizuální modelování Jaká je zkušenost s čitelností modelů? Rozdrobenost modelu: Rozbití popisu do řady jednoduchým a nesouvisejících textů. Důraz na formální popis: diagram více než 000 slov. Podceňování textové stránky modelu: viz. Výuka. Nestandardní používání symbolů. Někdy méně je více: předstírání analýzy. Co řeší zodpovědný analytik? Abstraktní diagramy nejsou jazyk zákazníka. Sladění textové a diagramatické stránky modelu. 2
Literate Modeling Literate Modeling: organické propojení textu a diagramů. Jim Arlow, Ila Neustat: Enterprise patterns and MDA: Building Better Software with Archetype Patterns and UML, Addison-Wesley, 2003, ISBN 0-32230-X: Kap.3: Literate Modeling. Donald Knuth, Literate programming, The Computer Journal, 27:97-, 984. Srovnání srozumitelnosti různých modelů Viz. Tabulka Jim Arlow, Wolfgang Emmerich, John Quinn: Literate Modeling Capturing Business Knowledge with the UML, in http://xml.coverpages.org/. 3
Srozumitelnost UML diagramů Manager User Domain Expert Analyst Designer Programmer Use Case Descr. 4 6 6 6 3 2 Use Case Diagr. 3 5 5 6 4 3 Sequence Diagr. 2 2 4 6 5 4 Collaboration Diagr 3 6 6 5 Class Diagr. 2 6 6 5 State Diagrams 0 0 0 4 6 5 Škála: 0 nejnižší porozumění, 6 nejvyšší 4
Business Kontext Popis Kontextu: obecná charakteristika dané oblasti, napsaný jako tzv. story. Standardy: seznam případně odkazy na standardy, definice, zákony a nařízení, které jsou uplatňovány v dané oblasti. UML diagramy: vztahující ke Kontextu. Free form diagramy: vztahující se ke Kontextu <věc>: popisný text popisující věc strukturovaný popis věci (například atributy, omezení, ). <věc2>:. 5
Doporučení pro Business Kontext Stylisticky a strukturálně zdařilý. Maximálně používat příklady. Psát jako příběh (story). Zvolit správnou míru podrobnosti (focus) čitelnost a udržovatelnost moc podrobnosti může být na škodu. Standardizace textů: fráze, obraty, tzv. fragmenty. Následuje příklad: systém µgps. 6
Systém µgps/poplatky:motivace Systém µgps (MeziGenerační Platební Systém) slouží pro elektronické provádění finančních transakcí mezi e- Accounty klientů různých generací. Převod probíhá ze zdrojového na cílový e-account. e-accounty mohou být typu: Junior, Senior a Občan pro rozlišení různých věkových kategorií klientů. Každá finanční transakce je zpoplatněna na základě pravidla, které stanoví výši poplatku pro převod mezi určitými typy e-accountů. Zdrojová a cílová strana finanční transakce může platit poplatky v různé výši. Pro každou transakci lze uplatnit v daném časovém okamžiku jen jeden poplatek. Pro daný e-account mohou být zavedeny zvláštní poplatky. Tyto poplatky mají při zpoplatnění finanční transakce přednost před ostatními poplatky. 7
Systém µgps/poplatky:diagram class Finanční transakce +Cíl e-account 0..* +zdroj +cíl 0..* 0..* Finanč ní transakce * «enumeratio... Typ Fin anční transakce Platba Inkaso +Zdroj «enumeratio... Typ e-accountu Junior Obč an Senior +Cíl +Zdroj Poplatek - Fix: int - Plati_Do: int - Plati_Od: int - Proc: int..* 0..* 0..* Typový Poplatek konk rétní poplatek 0..* 0..* 8
Systém µgps/poplatky:business Kontext V systému MGPS existují poplatky dvou druhů: Typové poplatky, které jsou definovány pro převody mezi různými typy e-accountů Konkrétní poplatky, které jsou definovány pro konkrétní e-account a typy e-accountů Každý typový poplatek je charakterizován datem platnosti, od kterého je platný. Datum ukončení platnosti není stanoveno. Ukončení platnosti typového poplatku nastane zavedením nového poplatku stejného typu. Typové poplatky nemohou být měněny ani rušeny. Při vyhodnocení poplatku pro finanční transakci se nejprve aplikují konkrétní poplatky a pokud neexistují aplikuje se platný typový poplatek. 9
Systém µgps/poplatky:popis entit Entita: e-account: Virtuální elektronický účet. Entita: Finanční transakce: Platební operace mezi dvěma e-accounty Entita: Poplatek: Pravidlo zpoplatnění finanční transakce v daném časovém okamžiku. Entita:
Pár poznámek I Literate modeling pro další diagramy Případy užití Aktivity diagramy Zdroje dalších informací: Alistair Cockburn: Writing Effective Use Cases, Addison-Wesley, 200, ISBN 0-20-70225-8 Jacobson: textové fragmenty Rational Rose: články o využití Literate Modeling TM Forum: SID model Agilní metody
Pár poznámek II Výzvy: Pro velké organizace: pravidla pro analytické dokumenty Pro školy: naučit/vést studenty ke schopnosti vyjádřit se Doplnit doporučení i pro další diagramy, např. use case Další možné akce: Praktické vyzkoušení na reálném projektu Další zkušenosti, agile drawing
Závěr Děkuji za pozornost Dotazy? 3