如何画好架构图
重新定义架构:4R架构
软件架构指软件系统的顶层结构(Rank),它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)。- 顶层结构(Rank),架构的分层;系统一般使用自动向下,逐步细化的过程,可以分L0架构(顶层)、L1架构(1层)、L2架构(2层);
- 角色(Role),系统包含哪些角色;
- 角色关系(Relation),角色之间的关系;
- 运作规则(Rule),角色如何协作完成系统功能;
总结 Rank+Role+Relation = 静态架构图(客户端架构、系统架构、应用架构、部署架构) Rule = 动态架构图(系统序列图)
4+1视图介绍
1995年,Philippe Kruchten在《IEEE Software》上发表了题为《The 4+1 View Model of Architecture》的论文,引起了业界的极大关注,并最终被RUP采纳; 逻辑视图:系统提供给用户的功能,对应UML的class和state diagrams; 处理视图:系统的处理过程,对应UML的sequence和activity diagrams; 开发视图:程序员角度看系统的逻辑组成,对应UML的package diagrams; 物理视图:系统工程师角度看系统的物理组成,对应UML的deployment diagrams; 场景视图:用户角度看系统需要实现的需求,对应UML的use case diagrams;国内企业较
