week1 架构方法总结
软件设计的关键是:模型
从领域问题中抽象出领域模型,针对领域模型分析出设计模型,给出最终的解决方案
软件架构设计要同时做 领域模型设计和系统设计
UML 可以用来描述:领域问题、构思中的软件设计、已完成的软件实现
常用的 UML 模型图有 7 种:类图、用例图、组件图、部署图、时序图、活动图、状态图
另外 3 种:包图、协作图、对象图很少使用
6 种关系:关联 聚合 组合 依赖 继承 实现
成员对象:关联关系
成员方法内的局部变量:依赖关系
组合是比聚合更强的关系,成员不能独立存在,聚合可以,比如汽车和车轮
组合:人和手
用例图:描述业务功能
软件开发中软件设计可以分为三个阶段:需求分析、概要设计、详细设计
需求分析阶段产生的架构图:用例图,用于描述系统的功能
详细设计阶段产生的图:类图,主要的类,及类之间的关系,进行代码落地和代码实现的。
包图画的比较少,因为包图是组件一级的,有必要会画组件图。
在运行期,要通过动态建模来描述运行期互相调用和依赖的关系
时序图:描述对象之间的动态交互,在三个阶段都可以使用,最常见,可以画对象时序图,也可以画组件时序图
UML 中没有流程图,想表达流程信息时可以用活动图
活动图:主要用来描述处理流程和处理逻辑,也被称为泳道图,三个阶段都可以画
状态图:描述对象的复杂状态变迁,开发时状态一般对应整形或者枚举值
合作图可以由时序图生成,是一种没有时序的时序图。
组件图:物理组件 逻辑组件;打包的 jar 属于物理组件
部署图:软件的概要设计时画的,通常为软件设计的第一张图
部署图->组件图->组件的时序图(描述组件的动态时序关系)->组件中的类图
评论