Что касается бизнес-правил, я думаю, что @Joppe указал на UML, о котором мы все думали.
Диаграммы вариантов использования дают превосходный обзор того, как субъекты / роли взаимодействуют с системой и что делает система. Для сложного варианта использования дополнительная информация, объясненная в текстовом виде, очень поможет ( предварительные условия , постусловия , зависимости от предыдущих выполнений UC и т. Д. )
Есть диаграммы, которые также делают отличные обзоры бизнеса на разных уровнях:
- Диаграмма конечного автомата, если есть какие-либо состояния, которые должны быть задокументированы.
- Диаграмма деятельности . Для сложного варианта использования вам может понадобиться углубиться в детали. Уровень детализации зависит от вас и зависит от того, кто будет читать документацию. Эта документация может не показаться деловой, но с правильным уровнем детализации она может стать такой.
Просто совет, назначьте код для каждого варианта использования (то есть: UC-1 , UC-n ). Это будет полезно позже, во время документации пользовательского интерфейса.
Для документации пользовательского интерфейса обычной практикой (в наши дни) является создание каркасов . Совершенно лучше, чем скриншоты, потому что это выглядит чище и проще. Например, посмотрите на WireframeSketcher
Для каркасов может быть недостаточно документации, поэтому для каждого экрана сделайте краткое введение и опишите каждую кнопку. Дополнительно, сделайте ссылки на UC, включенные в экран ( теперь посмотрите, почему коды UC полезны ). Это сделает вашу документацию последовательной.
Смысл таких инструментов, как Wireframesketcher, в том, что они делают интерактивные макеты. Идеально для того, чтобы предоставить что-то интерактивное клиенту, пока вы все еще проектируете или разрабатываете.
Не забудьте документировать план навигации . Военно - морской План не имеет диаграммы UML, но вместо этого можно использовать диаграмму конечного автомата . Это не для того, что было сделано, но все же.
Наконец, имейте в виду, к кому вы обращаетесь.
Техник : вы можете углубиться в детали и использовать технические детали.
Не Техник : избегайте технических подробностей (не связанных с языком или кодом). Постарайтесь быть ясными и простыми и использовать те же термины / слова, которые использует клиент. Думай, будто ты не имел понятия о программировании.