Проблема, которая побудила меня спросить об этом, - это веб-форма, которая не сохраняла данные так, как я ожидала. Это расплывчато, но суть в том, что вы хотели бы сделать, чтобы смоделировать состояние, поток данных и т. Д.
UML имеет 2 диаграммы, которые могут быть полезны
Диаграммы состояний для моделирования состояния.
Диаграммы действий для моделирования потока данных.
Белая доска, но будьте знакомы с диаграммами UML. Мне очень повезло с диаграммами последовательности - они хорошо описывают взаимодействие между частями системы.
Я видел, как люди используют диаграммы состояний, но они не содержат так много подробной информации - диаграммы последовательности чертовски впечатлили меня, когда я впервые их увидел.
Я добавлю второй ответ на доске и добавлю, что объясняется, что предполагается происходит, после чего я озвучиваю, что код на самом деле делает, наряду с базовой графикой: очень полезно для любого проекта.
Я думаю, что типичные модели работают нормально:
например - диаграммы состояний
http://en.wikipedia.org/wiki/State_diagram
Я второй пользуюсь доской. Они не имеют себе равных в работе над состоянием, потоком и т. Д.
Graphviz - отличный инструмент для построения диаграмм конечных автоматов (после того, как вы разработали их на доске).
Я поставлю свой очевидный (для меня) ответ, который заключается в использовании доски. Люблю доску.