《面向对象系统分析与设计》
面向对象分析与设计
《面向对象系统分析与设计》
第一章 面向对象方法概述
1.1 面向对象方法学
⒈ 什么是面向对象?
面向对象(object oriented, OO)是一种风范(paradigm),是认识系统和描述系统的一种方法论。该方法认为,系统是由一系列相互联系、相互作用的对象(object)组成的。
⒉ 为什么要面向对象?
⑴ 面向对象技术将带来软件生产方式的根本改变。
⑵ 面向对象技术对提高软件的质量和生产效率效果显著。
《面向对象系统分析与设计》
⒊ 面向对象方法的特征
① 类(class)
② 继承(inheritance)
③ 多态性
④ 一般性
⑤ 对象标识
⑥ 状态保持
⑦ 消息
⑧ 信息/实现隐藏
⑨ 封装
《面向对象系统分析与设计》
1.2 面向对象方法学的发展历史
1.2.1 OOPL
对面向对象程序设计语言的产生影响较大的语言有:
· Simula 67;
· CLU, Pascal, Ada, Modula-2;
· SmallTalk
· Objective-C,
Object Pascal, Eiffel;
·C++;
· Java.
《面向对象系统分析与设计》
1.2.2 几种流行的面向对象方法
Booch
Grady Booch
OMT:对象建模技术(Object Modeling Technique, OMT)
James Rumbaugh
OOSE (object oriented software engineering)
Ivar Jacobson
Fusion
Hewlett-Packard (D.Colema, 1994)
OOA/OOD
Coad/Yourdon
《面向对象系统分析与设计》
1.3 UML简介
统一建模语言(Unified Modeling Language, UML)
UML 是一种基于面向对象的可视化图形建模语言,用于对软件系统进行说明、构造和文档建立。
1.3.1 UML的发展过程
第一阶段:专家的联合行动
1994年,Grady Booch 和James Rumbaugh 在Rational 软件公司开始创建UML的工作。
1995年,OOSE 方法的创建者Ivar Jacobson 加入。
UML 0.9形成。
第二阶段:公司的联合行动
1996年,许多组织加入Rational软件公司,形成UML合作联盟。
1997年1月,发布UML 1.0版本。然后形成UML 1.1。
《面向对象系统分析与设计》
第三阶段:在OMG控制下的修订与改进
1997年11月4日,UML被OMG采纳。
经不断修订,产生UML 1.2版、1.3版、1.4版和1.5版。
后来OMG又正式批准了UML 2.0版。
1.3.2 UML的特点
UML的主要特点有:
⑴ 统一标准
⑵ 面向对象
⑶ 可视化、表示能力强大
⑷ 独立于过程
⑸ 容易掌握使用
1.3.3 UML的用途
UML的作用:系统建模。
《面向对象系统分析与设计》
第二章 UML概述
UML包括以下几个不同部分:
· 视图
(View)
· 图
(Diagram)
(Model element)
(General mechanism) · 模型元素 · 通用机制
2.1 视图
· 用例视图
(Use-case view)
(Logical view) · 逻辑视图
·
组件(实现)视图 (Component view)
(Concurrency view) · 并发(进程)视图
· 部署视图
(Deployment view)
《面向对象系统分析与设计》
UML可以使用的视图还有:静态–动态视图、逻辑–物理视图、工作流程视图,以及其他视图等。
2.1.1 用例视图
用例视图显示外部参与者(actor)观察到的系统功能。
使用者:客户、设计人员、开发人员以及测试人员。
用例视图利用用例图进行描述,偶尔也会用活动图来描述。
2.1.2 逻辑视图
逻辑视图从系统的静态结构和动态行为角度显示如何实现系统的功能。
使用者:设计人员和开发人员。
系统的静态结构在类图和对象图中进行描述,而动态行为则在状态图,以及交互图和活动图中描述。
《面向对象系统分析与设计》
2.1.3 实现(组件)视图
组件视图显示的是代码组件的组织结构
使用者:开发人员。
实现(组件)视图由组件图组成。
2.1.4 进程(并发)视图
并发视图显示的是系统的并发性,解决在并发系统中存在的通信和同步问题。
使用者:开发人员和系统集成人员。
进程(并发)视图由动态图(状态图、交互图,以及活动图)和实现图(交互图和部署图)组成。
2.1.5 部署视图
部署视图显示的是系统的具体部署(物理部署)。
使用者:开发人员、系统集成人员和测试人员。
部署视图由部署图表示。
《面向对象系统分析与设计》
2.2 图
⒈ 用例图 (Use-case Diagram)
⒉ 类图 (Class Diagram)
⒊ 对象图 (Object Diagram)
⒋ 状态图 (State Diagram)
⒌ 交互图 (Interaction Diagram)
⒍ 活动图 (Activity Diagram)
⒎ 组件图 (Component Diagram)
⒏ 部署图 (Deployment Diagram)
⒐ 复合结构图(Composite Structure Diagram)
《面向对象系统分析与设计》
2.3 模型元素
UML 中常见的模型元素有:类、对象、状态、节点、包和组件。
关系也是模型元素,用于将其他模型元素相互连接。UML定义的不同类型的关系有:
· 关联
(Association)
(Generalization)
(Dependency)
(Aggregation) · 泛化 · 依赖 · 聚合
其他的UML模型元素还有:消息、动作和构造型(Stereotype)。
2.4 通用机制
UML在所有的图中都使用一些通用机制来描述图的附加信息。
《面向对象系统分析与设计》
2.4.1 修饰
图2-1 修饰为一个元素符号添加信息
2.4.2 注解
2.4.3 规格说明