一、UML 导论
1.1 软件模型
1.2 分析模型和设计模型
分析模型不涉及要开发的系统的任何特性,而是力求捕捉“现实世界”中业务的某些方面和特性,描述业务的过程,形成设计阶段的输入;
设计模型包含分析模型中未表现出来的底层细节,创建支持分析模型中规定的特性和要求的结构。
面向对象通过对分析和设计使用同样的模型和建模概念,将两者之间明显的差别消除了。
1.3 方法学
方法学是:一些成功的或者广泛适用的开发软件策略。
方法学定义了语言和过程。语言定义了使用的模型和表示这些模型的表示法。过程定义了如何以及何时产生各种不同的模型。
-
结构化方法:典型模型是数据流图,描述系统中数据如何在不同的处理之间传递。
- 适用于设计数据丰富的系统。
- 面向对象的方法
UML 是一种表达面向对象设计模型的语言,不是一个完整的方法学。
1.4 UML
UML 以若干个视图来描述一个系统,这些视图从多个不同角度表示系统的特性并与不同的用途相关。视图用模型来表示,模型定义了若干个模型元素、它们的特性和相互之间的关系。模型中包含的信息用各种图以图形的形式来交流。
1.4.1 视图
系统的结构可以通过五个视图来描述,其中用例视图具有将其他四个视图的内容结合在一切的特殊作用。
- 用例视图:定义了系统的外部行为。定义了系统的需求,因此约束了描述系统设计和构造的某些方面的所有其他视图,这是用例视图具有中心作用的原因,也是通常所说的用例驱动开发过程。
- 设计视图:描述了支持用例视图中规定的功能需求的逻辑结构。它由程序构件的定义,主要是类、类所持有的数据、类的行为以及类之间交互的说明组成。如何实现系统功能的细节都在这个视图中描述。
- 实现视图:描述构造系统的物理构件。这些构件包括如可执行文件、代码库和数据库等内容。
- 进程视图:涉及系统中并发性的问题。
- 部署视图:描述物理构件如何在系统运行的实际环境(如计算机网络)中分布。
1.4.2 模型
与各个视图相关的信息记录在 UML 定义的各种模型中。
一个模型由一组模型元素组成,UML 定义了各种不同类型的模型元素,包括类、操作和函数调用等。
1.4.3 图
图是一组模型元素的图形化表示。
不同类型的图表示不同的信息,一般是它们描述的模型元素的结构或行为。
| 图 | 视图 |
|---|---|
| 用例图 | 用例视图 |
| 对象图 | 用例和设计视图 |
| 顺序图 | 用例和设计视图 |
| 协作图 | 用例和设计视图 |
| 类图 | 设计视图 |
| 状态图 | 设计和进程视图 |
| 活动图 | 设计和进程视图 |
| 构件图 | 实现视图 |
| 部署图 | 部署视图 |
1.5 软件开发过程
- 瀑布模型
- 迭代模型
分析-》设计-》开发-》测试-》部署