第一周总结 - 架构文档
软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统的各个方面的设计。
架构元素:服务器、模块、组件、类、中间件等。
元素关系:描述架构够之间的关系,主要分为静态关系(继承)、动态关系(元素间如何交互的,类与类如何交互,组件与组件如何交互)
架构视图:通过绘图工具描述架构元素之间的关系。视图标准有4+1视图方法。
逻辑视图
相关方:客户、用户、开发组织管理者
视角:系统的功能元素,以及他们的接口,职责,交互。
主要元素:系统,子系统,功能模块、子功能模块、接口。
用途:开发组织划分,成本/进度评估
开发视图:
相关方:开发人员、测试人员。
视角:系统如何开发实现。
主要元素:框架、接口、类。
用途:指导开发组织设计和开发实现
过程视图:
相关方:运维、开发人员。
视角:系统运行时线程、进程 的运行情况。
主要元素:系统进程、线程、队列。
物理视图:
相关方:运维
视角:系统逻辑组件到系统物理节点的部署,节点之间的物理配置。
主要元素:物理节点以及节点的通信。
场景视图:
相关方:用户、设计、开发人员
视角:概况了系统中的重要场景(最典型或最有风险)及其非功能性需求,通过这些场景实现,阐明了架构的广度或者众多架构元素的运行方式。
做架构最重要的要明白到底为谁做架构,也就是相关方,相关方可以是程序员、测试人员、需求方、老板,不同的角色关注点不同,所以架构视图也不同。
4+1 视图我的理解是:公司的组织架构图是4+1中的逻辑视图,他定义了一个公司有多少个部门,每个部门的工作场地、电话资源、岗位等等就组成了物理视图,部门之间如何运转对应了过程视图,每个岗位的职责执行对应了开发视图,一个事件怎么经过各个部门合作得以完美解决就是场景视图,这些视图可以用uml绘图工具通过用例图、类图、部署图、组件图、活动图、状态图、序列图进行绘制。
评论