Я настоятельно рекомендую использовать диаграммы/UML как инструмент связи в отличие от спецификации (см http://martinfowler.com/bliki/UmlMode.html и http://fragmental.tw/2008/11/07/trying-to-write-architecture-specs-that-dont-suck-much-part-i-the-spec/).
Это говорит о том, что мне часто приходится представлять диаграммы для большей аудитории с помощью слайдов PowerPoint или Keynote. В презентациях очень важно помнить, что публика, которую вы представляете, уже знает об архитектуре и технологии и что вам нужно, чтобы они поняли.
Если вы представляете группу руководителей, сообщение должно быть абстрагировано, и, вероятно, ваши диаграммы должны использовать очень простую обозначение ящиков и стрелок. Если вы представляете в своей локальной группе пользователей, вы, вероятно, можете использовать в своих диаграммах больше семантических конструкций - например, скопления и наследование - но вам, вероятно, потребуется абстрагировать большинство вещей, характерных для вашей компании и людей извне не знаю (например, замените модуль под названием «XPTO 1.0» на «Legacy Billing System»).
Как только вы знаете, какой уровень детализации вы должны использовать, вы можете получить инструмент. я бы рекомендовал простые графические инструменты, такие как OmniGraffle или Visio.Если вы хотите больше возможностей UML, чем эти инструменты, вы можете попробовать JudeUML, он создает совершенно чистые диаграммы, которые можно легко редактировать в правильном графическом редакторе.
Я также рекомендую Dan Roam's «The Back of the Napkin» (http://amzn.to/c5khDx). Это очень интересная книга о том, насколько эффективны более простые графические модели.
«Настоящий», я думаю, я имел в виду «инженерное» - я думаю (возможно, как вы это делаете), что хорошая диаграмма (для поддержки четкой коммуникации) действительно важна. Что касается инженерии, иногда полезно моделировать требования и использовать случаи против частей системы (для отслеживания); Кроме того, он помогает вам управлять зависимостями и сложными отношениями, поскольку ваши корпоративные модели растут сверхурочно. –
Спасибо, Адриан. Да, прослеживаемость - большая победа, однако трудно сохранить прослеживаемость по диаграммам. Идеально должно быть как вики со ссылками еще на моделях. – Chands
Да - вы не можете управлять отслеживаемостью только с помощью диаграмм, вам нужен инструмент моделирования, который позволяет вам искать модели для компонентов, а также отслеживать отношения между объектами. Один из подходов состоит в том, чтобы иметь большую неприятную диаграмму, которая фиксирует все/большинство отношений в вашей модели (эта диаграмма будет трудно понять для новичков проекта), а затем ваши другие диаграммы могут сосредоточиться на связи; таким образом, вы можете отделить формальное моделирование от диаграмм, которые больше подходят для общения. –