Analýza a design na reálném projektu Richard Michalský
Agenda o Role analytika o Dokumentace (analytická) o Sběr a analýza požadavků o Fixace rozsahu
Role analytika o Tvůrce požadavků o Zákazník zná své cíle, ne požadavky o Poučený zákazník často předjímá řešení o Komunikační most mezi zákazníkem a vývojářem o Zákazníka IT většinou nezajímá o Vývojář businessu zákazníka většinou nerozumí o Může být rozděleno mezi business a technického analytika / designéra
Udržovaná analytická dokumentace Requirement Analysis Support Design Deployment Implementation Testing
Vlastnosti dokumentace o Přesná o Aktuální o Drahá o Stručná o Orientovaná na zákazníka o Trasovatelné změny
Aktualizace dokumentace
Forma dokumentace o Upravené UML o Business requirements a rozcestníky o Toky obrazovek o Wireframe obrazovek o Aktivity diagramy o Vyjímečně stavové diagramy o Integrační zprávy o ER diagramy o Orientovaná na zákazníka
Proč UML? o Textový popis snese všechno o Strukturovaný vizuální jazyk občas něco ne o Definované konceptuální pohledy o Vazba na procesy a WBS o Které typy UML pohledů? o Primárně uživatelský a analytický pohled o Testovatelnost o Implementační diagramy se špatně udržují o Necháváme vývojáře dýchat
Co se do UML nevejde o Zadání o Obchodní požadavky o Rozcestníky / struktura o Stav vs. Změna o Big picture o Souvislosti změn!
Obchodní požadavky o Co o Neplést s cíli o Příklad z reálného dokumentu:
Proč obchodní požadavky? o První úroveň fixace scope o V jazyce zákazníka o Cesta ke správnému řešení o Skok rovnou k funkčním požadavkům často zakrývá jiné možnosti o Popis a rozsah změny o I mimo IT
Zadání vs. UML
Obchodní požadavky vs. UML
Popis funkčních změn
Co se osvědčilo o Obrazovky a jejich toky o Výstupy (PDF, e-maily, SMS,...) o Stavové diagramy (vyjímečně) o Aktivity diagramy o Rozhraní o E-R diagramy (DB)
Tok obrazovek
Wireframe obrazovek
Aktivity diagramy
Implementační diagramy o ER diagramy o Rozhraní o Části jiných diagramů o Např. třídy rozhraní ve wireframech o Servisní vrstva / business procesy v aktivitách o Sekvenční diagramy
Co nekreslit (a proč) o Use-cases... zadání, toky o Sekvenční, apod.... neudržovatelné o Třídové, komponentové,...... IDE... jeden a ten samý
Fixace rozsahu o Pro projekt zásadně důležité! o Nejčastější netriviální příčina neúspěchu o Jak fixovat rozsah? o Odkazy na měněné UML diagramy / entity o Funkční body o Stále nabízí mnoho možností interpretace
Fixace rozsahu - ukázky UML FP
Závěr o Neutíkejte před analýzou o Neskákejte hned k návrhu řešení o Formulujte obchodní požadavky o Udržujte stručnou a aktuální dokumentaci (testovatelnost, užitečnost) o Fixujte rozsah (očekávání)
Otázky? Děkuji za pozornost
Metodika o Struktura projektu o Typy diagramů o Vazba mezi vrsvami modelu (Archimate) o Míra detailu o Fáze / role / milníky / WBS o Kontrolní body, testovatelnost modelu o Automatizované testy
Stav vs. změna o Primární popis změny o Fragmentovaná dokumentace o Kde je pravda? o Primární popis stavu o Pouze popis as-is a to-be stavu (Gap Matrix) o Špatně použitelné ve vývoji o Explicitní popis stavu i změny o Samostatné typy diagramů (např. bus. requirements) o Vyžaduje poučené čtenáře (a change spec.)
Aktualizace modelu o Poměr cena/výkon o Testovatelnost o Proces aktualizace modelu o Post-implementation review o Proces s dvojitou kontrolou o Automatizované testy proti jinému zdroji dat o CMDB exporty o MANTA - analýza DB skriptů,... o Jedna pravda o Role metodiky
Faktory úspěchu o Jedna pravda v designu o Trasovatelnost požadavků o Metodika o Testovatelnost... o... a nic více
Metodika
Sledování a revize procesu
Pro koho o Business (zadavatelé) o Vlastníci / správci aplikací o Vývojáři o Testeři o Ostatní systémy o My sami
Struktura dokumentace Vstupují do ní: o Org. Struktura o Navigace o Sdílení entit o Modelovací jazyky o Existující dokumentace o Stav vs. Změna o...