架构设计心得
软件架构的定义
是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计
软件架构方法论
4+1 视图模型 ,通过不同角度不同受众方去架构
逻辑视图
相关方:客户,用户,开发组织管理者
视角:系统的功能元素,以及接口,职责,交互
主要元素:系统,子系统,功能模块,子功能模块,接口
用途:开发组织划分,成本/进度评估
开发视图
相关方:开发相关人员,测试人员
视角:系统如何开发实现
主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,系统平台和相关基础框架
用途:指导开发组织设计和开发实现
物理视图
相关方:系统集成商,系统运维人员
视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置
主要元素:物理节点以及节点的通信
用途:
过程视图
相关方:性能优化,开发相关人员
视角:系统运行时线程,进程的情况
主要元素:系统进程,线程以及处理队列等
用途:
场景视图
相关方:用户,设计和开发人员
视角:概括了架构上最重要的场景(最典型或者最有风险)及其非功能性需求,通过这些场景的实现,阐明了架构的广度或众多架构元素运行的方式
主要元素:
用途:
UML 建模
静态图
用例图
对象图
类图
组件图
包图
部署图
动态图
协作图
序列图
活动图
状态图
UML图使用场景
评论