第一周 架构方法 - 学习总结
一、4+1架构视图模型:
因为单一的一种视图不足以完全的表达一个系统的架构,并且面对不同的人所关注的架构的面也不同,所以要使用几个视图来表达这个系统架构。
分为:逻辑视图、过程视图、物理视图、开发视图、场景视图:
4+1架构视图,主要是说明了,在描述一个系统架构的时候不应该只使用一种视图,应该使用多种视图,在多个方面来呈现这个系统。在实践中,也不单单局限于以上的几种视图,有可能不合适没用到,也可以加入其他视图来阐述这个系统。一般会使用UML。
二、UML统一建模语言:
1、模型:
1.模型:是一个系统的完整抽象。就是分析业务逻辑,规范这些流程,形成文档,参照这些文档进行设计并编程。
2.领域模型:对领域问题(也就是业务问题)进行抽象(也就是分析这些业务逻辑),形成模型(文档说明)。
3.设计模型:根据领域模型(业务问题文档)做设计,形成设计模型(系统架构设计文档)。
2、通用模型元素:
类、对象、接口、包、状态、用例、节点(一般指服务器节点)、组件、注释。
3、元素之间的关系:
关联:两个元素或对象之间的关系,比依赖更紧密。一般是成员变量。
依赖:两个元素或对象之间的关系,比关联更松散。方法传入某个对象使用。
继承(泛化):
实现:
聚合:多个元素或对象的关系,比组合更加松散。聚合对象不存在了,它的聚合元素还是可以存在的。
组合:多个元素或对象的关系,比聚合更加紧密。组合对象不存在了,它的组合元素也就不存在了。
4、用例图:
描述系统的功能需求,可以不断地对一个用例进行细化。顶层用例图说明了系统的大体内容,核心功能,每一个用例是一个功能模块。然后再在下面对这些功能模块用例详细画一个用例图,如果还不够描述清楚,还可以继续往下画。
5、类图:
描述某一个功能或模块的关键或重要的核心类和接口之间的关系和内部的一些方法。主要是为了做代码落地和实现。
6、包图:
描述系统的代码的模块划分,通过拆分成不同的包,便于管理。
7、时序图:
描述对象之间的动态交互行为,着重体现对象消息传递的时间顺序。这个对象可以是类,对象,组件,子系统,其它系统等
8、活动图:
描述操作(类的方法)的行为,或者用例和对象内部的工作流程,并可用于表示并行过程。
主要用于表示处理流程和处理逻辑。(与流程图类似)。
一个泳道就是一个领域。
9、状态图:
描述一个特定对象的所有可能状态及其引起状态转移的事件。状态和状态转移的事件。
10、组件图:
描述业务组件模块关系的图。组件:物理组件,系统打的包;逻辑组件:系统的功能模块。
11、部署图:
描述的是系统最终的部署情况,组件模块部署在哪些服务器节点上,服务器节点之间的调用依赖关系。是系统最大的一张蓝图。
12、软件设计阶段:
1. 需求分析(产品经理):分析要做一个什么系统,要实现什么功能。
使用的视图:用例图(描述功能),时序图(和第三方系统之间的调用关系),泳道图(主要的 业务处理流程),状态图(复杂业务的状态变迁)。
2. 概要设计(架构师):
使用的视图:时序图(本系统的子系统或者组件之间的调用关系),泳道图(一个功能在需要在 哪些不同的模块中处理,主要是模块区分),类图(核心领域接口或类),组件图(确定系统模块),部署图。
绘制过程:部署图->组件图->组件的时序图->组件里面的类图。
3. 详细设计:
使用的视图:类图,时序图(核心类之间的调用关系),泳道图(详细的一个方法,里面的执行流程)。
三、设计文档:
概述
系统整体设计(部署图、序列图、活动图)
XXX子系统设计(组件图、具体场景序列图、活动图、组件图、类图)
评论 (1 条评论)