Diagram nebo text ? Miroslav Benešovský, BenSoft s.r.o
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ž 1000 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.
BenSoft s.r.o
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 032111230-X: Kap.3: Literate Modeling. Donald Knuth, Literate programming, The Computer Journal, 27:97-111, 1984. 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/.
BenSoft s.r.o
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 1
1
3
6
6
5
Class Diagr.
1
1
2
6
6
5
State Diagrams
0
0
0
4
6
5
• Škála: 0 nejnižší porozumění, 6 nejvyšší
BenSoft s.r.o
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
: • popisný text popisující věc 1 • strukturovaný popis věci 1 (například atributy, omezení, …). : …. BenSoft s.r.o
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. BenSoft s.r.o
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 eAccounty 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. BenSoft s.r.o
7
Systém µGPS/Poplatky:diagram class Finanční transakce
+zdroj
e-Account
+Cíl 1
1+cíl
0..*
1
0..*
«enumeratio... Typ Finanční transakce
Finanč ní transakce *
0..*
1
Pla tba Inkaso
1 1
1
+Zdroj 1
1
«enumeratio... Typ e-Accountu
Poplatek
Junior Obč an Senior +Cíl +Zdroj 1
-
1
Typov ý Poplatek 0..*
Fix: int Plati_Do: int 1. .* Plati_Od: int Proc: int
konk rétní poplatek
0..* 0..* 0..*
BenSoft s.r.o
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. BenSoft s.r.o
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: … BenSoft s.r.o
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, 2001, ISBN 0-201-70225-8 Jacobson: textové fragmenty Rational Rose: články o využití Literate Modeling TM Forum: SID model Agilní metody
BenSoft s.r.o
11
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 BenSoft s.r.o
Závěr
Děkuji za pozornost Dotazy?
BenSoft s.r.o
13