当前位置:文档之家› 面向对象分析与建模

面向对象分析与建模


3
面向对象的基本概念
❖类
类是对象的抽象。一个类定义了大体上相似的一组对象。 类是对象的定义和描述。一个类所包含的方法和数据是 用来描述一组对象的共同行为和属性。通过类来抽象一 个个对象的共同特点、描述一个个对象的相似属性,存 贮一个个对象的一致行为,是面向对象技术最重要的特 征。从形式和定义说明上看,类很像传统程序设计中的 结构,但类同时包含了传统程序设计中数据定义和功能 实现的构造。
2020/7/11
4
面向对象的基本概念
❖ 消息
消息是对象之间的通信机制,是访问类中所 定义的行为的手段。当一个消息发送给某一 个对象时,即要求该对象产生某些行为。所 要求产生的行为包含在发送的消息中。对象 接收到消息后,给予解释并产生响应。这种 通信过程叫消息传递(Message Passing)。
2020/7/11
6
面向对象的基本概念
❖ 继承性
当两个类产生继承关系后,原有的类被称为
父类(Parent Class),新定义的类被称作子 类(Children Class)。若子类只继承一个父类, 则称为“单重继承”(Single Inheritance); 若一个子类从继承多个父类,则称为“多重 继承”(Multiple Inheritance)。继承性是面 向对象语言区别于与其它语言最主要的特点。
的开发过程中,往往采用统一过程(RUP)
2020作/7/11为过程管理的模型。
11
面向对象分析的任务
面向对象分析(Object-Oriented Analysis, OOA)是在系统开发过程中完成了系统业务 调查以后,按照面向对象的思想来分析问题。 面向对象的分析是面向对象的系统开发的重 要环节。
2020/7/11
15
面向对象分析的方法
❖ Grady Booch是面向对象方法最早的倡导者 之一,他提出了面向对象软件工程的概念。 1993年,Booch将面向Ada的工作扩展到面 向对象设计领域。Booch 1993比较适合于系 统的设计和构造。
2020/7/11
9
面向对象的基本概念
❖ 封装 封装是指对象可以拥有内部变量和处理,并将内部实现细节 隐藏起来的能力。封装将对象封闭起来,管理着对象的内部 状态。因而封装的实质是信息隐藏,它的基本单位是对象。 它和抽象是处理对象的两个相反的方面。抽象一般用来描述 对象所具有的外部特征,包括对象的外部接口和外部功能等。 外部接口将对象的封装与抽象联系起来。在一般的面向对象 系统中,封装是通过类的定义说明来实现的。
2020/7/11
5
面向对象的基本概念
❖ 继承性 继承性是不同类层次之间共享数据和方法的手段,是软件重 用的一种机制。继承性使软件开发不必都从头开始。对一个 新的类的定义和实现,可以建立在已有类的基础上。把已经 存在类中的数据和方法作为自己的内容,并加入自己特有的 新内容。类的层次结构在概念分析上源于对事物不同层次的 抽象,而在具体实现上却依赖继承机制。
2020/7/11
13
面向对象分析的原则
❖ (1) 抽象 ❖ (2) 封装 ❖ (3) 继承 ❖ (4) 分类 ❖ (5) 聚合
(6) 关联 (7) 消息传递 (8) 粒度控制 (9) 行为分析
2020/7/11
14
面向对象分析的方法
❖ 20世纪80年代末至90年代中期,面向对象分 析和设计方法出现了一个蓬勃发展的时期, 主要的面向对象分析和设计建模语言都出现 在这个时期。在10年左右的时间内,其数量 达到50多种。其中最引人注目的是Booch 1993、OOSE和OMT-2等。
OOA的主要任务是:通过对问题空间的分析, 识别并确定其中(问题空间)的对象和属性, 建立其中对象之间的类别联系和层次关系。
2020/7/11
12
面向对象分析的任务
❖ 面向对象的分析方法进行分析大致应完成如 下五个方面的基本内容
(1) 确定对象和类 (2) 确定结构 (3) 确定主题 (4) 确定属性 (5) 确定方法和消息关联
2020/7/11
7
面向对象的基本概念
❖ 多态 多态是指具有多种形式。不同对象在收到同 一消息后产生不同的结果,这一现象叫多态。 在使用多态时,系统发出一个通用消息,而 实现的细节由收到消息的对象自行决定。这 样,同一消息就可产生不同的调用方法。
2020/7/11
8
面向对象的基本概念
❖ 多态 多态的实现受到继承性和动态联编的支持, 利用类继承的层次关系,把具有通用功能的 消息放在高层次,而不同的实现这一功能行 为放在较低的层次,在这些层次上生成的对 象能够给通用消息以不同的响应。
2020/7/11
10
面向对象的系统开发过程
❖ 面向对象的软件系统开发及生命周期与传统 软件生命周期基本上一致,也可分为分析、 设计、实现、测试和维护几个过程。
❖ 各阶段的工作以类核心,对对象、类进行
分析和设计,各阶段的区别就在于对类的细
化程度不同,从最开始分析阶段的类,到最
后设计和实现阶段的类。同时,在面向对象
面向对象分析
❖ 对象 所谓对象,即客观世界中所存在的实体。一 张桌子,一个人或一本书都可被认为是一个 对象。为用计算机解决客观世界中的问题, 软件系统将它们映射为程序中的部件,并继 续称之为对象。
2020/7/11
1
面向对象分析
❖ 对象
对象在面向对象系统中具有双重含义。对象首先是构成
程序的基本要素,即程序系统中一个模块,它包括所解
2020/7/11
2
面向对象分析
❖ 对象
从另一层含义来看,对象是类的实例 (Instance),即是一个有特定状态的具体 化的类,它可以被理解为程序运行时内存空 间的一个基本运行实体,即按相应定义所占 用的一块内存空间,就像传统程序设计中变 量被定义后在内存中占据相应的空间一样。
2020/7/11
决问题的数据类型(数据的属性和数据结构)和这些数
据所具有的行为(对这些数据的施加的操作)。对象是
所求解的问题空间中某个事物的化身(即抽象),对象
中的数据部分用以刻画该事物的静态属性,对象中的行
为部分用以描述该事物的动态特征,即对问题的处理过
程。对象的行为特征(即操作过程)在面向对象程序设
计中被称作方法(Method),通过对象,一个事物的 属性和行为被封装成一个整体,形成一个构造部件。
相关主题