Per quanto riguarda le regole aziendali, penso che @Joppe abbia sottolineato l'UML che tutti stavamo pensando.
Use Case Diagrams offre un'eccellente panoramica di come attori / ruoli interagiscono con il sistema e quale sistema fa. Per casi d'uso complessi, informazioni aggiuntive spiegate testualmente aiuteranno molto ( precondizioni , postcondizioni , dipendenze su precedenti esecuzioni UC , ecc. )
Ci sono diagrammi che fanno anche grandi panoramiche del business a diversi livelli:
- Diagramma della macchina a stati se c'è qualche tipo di stato da documentare.
- Diagramma di attività . Per casi complessi, potrebbe essere necessario approfondire i dettagli. Il livello dei dettagli dipende da te e dipende da chi leggerà la documentazione. Questa potrebbe non sembrare una documentazione professionale, ma con il giusto livello di dettagli potrebbe diventare così.
Solo un consiglio, assegna un codice a ciascun caso d'uso (es. UC-1 , UC-n ). Questi saranno utili in seguito, durante la documentazione dell'interfaccia utente.
Per la documentazione dell'interfaccia utente la pratica comune (in questi giorni) è quella di fare wireframe . Abbastanza meglio delle schermate perché sembra più pulito e semplice. Ad esempio, dai un'occhiata a WireframeSketcher
Wireframes potrebbe non essere una documentazione sufficiente, quindi per ogni schermata fai una breve introduzione e descrivi ogni pulsante. Inoltre, fai riferimenti all'UC coinvolto nella schermata ( vedi ora perché i codici UC sono utili ). Ciò renderà coerente la tua documentazione.
Il punto di strumenti come Wireframesketcher è che fanno modelli interattivi. Perfetto per dare qualcosa di interattivo al cliente mentre stai ancora progettando o sviluppando.
Non dimenticare di documentare il piano di navigazione . Nav. Il piano non ha un diagramma UML, ma è possibile utilizzare invece Diagramma macchina a stati. Non è per quello che è stato fatto, ma comunque.
Infine, tieni a mente a chi ti stai rivolgendo.
Tecnico : puoi approfondire i dettagli e utilizzare i tecnicismi.
Non tecnico : evitare i tecnicismi (né relativi al linguaggio né al codice). Cerca di essere chiaro e semplice e usa gli stessi termini / parole usati dal cliente. Pensa come se non avessi idea della programmazione.