软件架构是一种无法以简单的一维方式进行说明的复杂实体。 -Paul Clements 《软件架构编档》 确定了这个问题之后,再来了解架构视图有哪些维度和组成要素: 1. 架构视图 最经典的当属4+1视图: 逻辑视图 开发视图 过程视图 物理视图 场景视图 4+1视图提出后,业界也有其它的观点提出,诸如SEI(模块视图、组建和连接件视图、分配视图)、西门子4种视图(概念、模块、代码、执行视图)、以及RM-ODP(企业视图、信息视图、计算视图、工程师图)等。 常见的视图除了上述4+1视图外还包括:数据视图、安全视图、实现视图等。 2. 了解架构视图的四要素 图示化主要元素和元素之间的关系 具有明确的图例、定义和说明元素 每个元素具备明确的接口和行为规范 设计原理和设计决策的信息 3. 简单说一下几个视图针对的角色和维度: 逻辑视图一般针对客户、用户、业务人员、开发组织,主要从系统的功能元素、以及它们的接口、职责、交互维度入手。主要元素包括系统、子系统、功能模块、子功能模块、接口等。 开发视图一般针对开发和测试相关人员,主要描述系统如何开发实现;主要元素包括描述系统的分层、分区、框架、系统通用服务、业务通用服务、类和接口、系统平台和大基础框架。用途是知道开发设计和实现。 物理视图一般针对系统运维人员、集成人员,它是系统逻辑组件到物理节点的映射,节点与节点间的物理网络配置等,主要关注非功能性需求,诸如性能(吞吐量)、可伸缩性、可靠性,可用性等,从而得出相关的物理部署结构图。 4. 了解这些,确定了你的受众和切入的维度后,你就可以决定你要用什么样的视图和视图组合来表达你的内容,挑选一个你得心应手的工具去实施就可以了。 在我看来,用白板和团队一起画出来是一件极美的好玩的事情。 方法: 用剥洋葱的方法,一层一层来 |
|