Para las reglas comerciales, creo que @Joppe señaló el UML que todos estábamos pensando.
Use Case Diagrams ofrece una excelente descripción de cómo los actores / roles interactúan con el sistema y qué hace el sistema. Para casos de uso complejos, la información adicional explicada textualmente será de gran ayuda ( condiciones previas , condiciones posteriores , dependencias de ejecuciones UC anteriores , etc. )
Hay diagramas que también ofrecen excelentes descripciones del negocio en diferentes niveles:
- Diagrama de máquina de estados si hay algún tipo de estado que se debe documentar.
- Diagrama de actividad . Para casos de uso complejos, es posible que deba profundizar en los detalles. El nivel de los detalles depende de usted y depende de quién va a leer la documentación. Puede que esta no parezca una documentación empresarial, pero con el nivel adecuado de detalles podría serlo.
Solo un consejo, asigne un código a cada caso de uso (es decir: UC-1 , UC-n ). Estos serán útiles más adelante, durante la documentación de la interfaz de usuario.
Para la documentación de UI, la práctica común (en estos días) es hacer wireframes . Bastante mejor que las capturas de pantalla porque se ve más limpio y simple. Por ejemplo, eche un vistazo a WireframeSketcher
Las estructuras alámbricas pueden no ser suficiente documentación, por lo tanto, para cada pantalla, haga una breve introducción y describa cada botón. Además, haga referencias a la UC involucrada en la pantalla ( vea ahora por qué los códigos UC son útiles ). Esto hará que su documentación sea coherente.
El punto de herramientas como Wireframesketcher es que hacen maquetas interactivas. Perfecto para dar algo interactivo al cliente mientras todavía está diseñando o desarrollando.
No olvide documentar el plan de navegación . Nav. Plan no tiene diagrama UML, pero en su lugar se puede usar el diagrama de máquina de estado . No es por lo que fue hecho, pero aún así.
Finalmente, tenga en cuenta a quién se dirige.
Técnico : puede profundizar en los detalles y utilizar tecnicismos.
No técnico : evite tecnicismos (ni relacionados con el idioma ni el código). Trate de ser claro y simple y use los mismos términos / palabras que usa el cliente. Piensa como si no tuvieras idea de la programación.