说明一下,我不是在谈论细节建模、综合UML模型或模型驱动开发。这是关于通过一个或多个简单的草图,有效且高效地交流你正在构建的软件的架构。这让你可以:
- 帮助大家理解正在构建的“大局”;
- 在开发团队中建立关于构建的共同愿景;
- 为开发团队提供一个焦点(比如,把草图贴在墙上),让开发团队里每个人都始终关注软件是什么以及如何构建;
- 为那些新功能应该如何实现的技术对话提供一个关注点;
- 提供一个软件开发者可以用来浏览源代码的地图 ;
- 帮助人们了解他们所构建的要如何融入“大局”;
- 帮助你向开发团队以外的人(比如,运营和支持人员、非技术的利益相关者,等等)解释正在构建的是什么;
- 让新加入团队的软件开发者快速上手;
- 为技术提供一个起点,比如风险风暴 。
对于软件架构草图,我的目标是确保大家理解高层次结构,而不是类的设计细节。这是关于创建一个团队中每个人都能理解和做出承诺的愿景。语境、容器和组件图 通常就够了。