第4讲面向对象的动态模型和功能模型
面向对象的概念与模型(精)

面向对象开发模式的特点
面向对象系统中的对象是数据抽象 与过程抽象的综合。 系统的状态保存在各个数据抽象的 所定义的数据存储中。 控制流包含在各个数据抽象中的操 作内。 在面向对象体系结构。消息从一个 对象传送到另一个对象。算法被分 布到各种实体中。
8
3.2 面向对象的软件开发方法
Rumbaugh方法
占线
接通中
已接通
振铃
受话人回话
信息播完
通话
受话人挂断电话
断线
27
存款业务的系统状态图
28
3.5 功能模型
数据流图:功能模型可由多个数据 流图组成,它们指明从外部输入, 通过操作和内部存储,直到外部输 出,这整个的数据流情况。 用例图: UML 提供的用例图也是进 行需求分析和建立功能模型的强有 力工具。在 UML 中把用用例图建立 起来的系统模型称为用例模型。
9
Booch方法 Jacobson方法
WirfsBrock方法
统一的OOA方法(UML)
统一的建模语言(UML)已经在企业中广泛使 用,它把Booch、Rumbaugh和Jacobson等各自 独立的OOA和OOD方法中最优秀的特色组合成 一个统一的方法。 UML允许软件工程师使用由一组语法的语义 的实用的规则支配的符号来表示分析模型。
10
6.3 对象模型
作用:描述系统的静态结构。
构成系统的类和对象,它们的属性
和操作。
类和对象之间的关系。
11
12
类与类之间的关系叫做关联。
关联代表一组存在于两个或多个对
象之间的、具有相同结构和含义的
具体连接。关联可以是物理的,也
面向对象方法学

表示类的图
4.2 表示关系的符号
如前所述,类图由类及类与类之间的关系组成。定 义了类之后就可以定义类与类之间的各种关系了。 类与类之间通常有关联、泛化(继承)、依赖和细 化等4种关系。 1. 关联
关联表示两个类的对象之间存在某种语义上的联系。 例如,作家使用计算机,我们就认为在作家和计算 机之间存在某种语义连接,因此,在类图中应该在 作家类和计算机类之间建立关联关系。
(3) 实例(instance)
实例就是由某个特定的类所描述的一个具体的对 象。类是对具有相同属性和行为的一组相似的对象 的抽象,类在现实世界中并不能真正存在。实际上 类是建立对象时使用的“样板”,按照这个样板所 建立的一个个具体的对象,就是类的实际例子,通 常称为实例。当使用“对象”这个术语时,既可以 指一个具体的对象,也可以泛指一般的对象,但是, 当使用“实例”这个术语时,必然是指一个具体的 对象。
(1) 普通关联
普通关联是最常见的关联关系,只要在类与类之间 存在连接关系就可以用普通关联表示。普通关联的 图示符号是连接两个类之间的直线。通常,关联是 双向的,可在一个方向上为关联起一个名字,在另 一个方向上起另一个名字(也可不起名字)。为避 免混淆,在名字前面(或后面)加一个表示关联方 向的黑三角。
面向对象方法学的优点
1. 与人类习惯的思维方法一致 传统的程序设计技术是面向过程的设计方法,这
种方法以算法为核心,把数据和过程作为相互独立 的部分,数据代表问题空间中的客体,程序代码则 用于处理这些数据。
2. 稳定性好
传统的软件开发方法以算法为核心,开发过程基 于功能分析和功能分解。用传统方法所建立起来的 软件系统的结构紧密依赖于系统所要完成的功能, 当功能需求发生变化时将引起软件结构的整体修改。 事实上,用户需求变化大部分是针对功能的,因此, 这样的软件系统是不稳定的。
面向对象分析方法

面向对象分析方法1/2面向对象分析方法(Object-Oriented Analysis,OOA),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。
OOA与结构化分析有较大的区别。
OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。
在这种方法中定义了两种对象类之间的结构,一种称为分类结构,一种称为组装结构。
分类结构就是所谓的一般与特殊的关系。
组装结构则反映了对象之间的整体与部分的关系。
OOA在定义属性的同时,要识别实例连接。
实例连接是一个实例与另一个实例的映射关系。
OOA在定义服务的同时要识别消息连接。
当一个对象需要向另一对象发送消息时,它们之间就存在消息连接。
OOA 中的5个层次和5个活动继续贯穿在OOD(画向对象的设计)过程中。
OOD模型由4个部分组成。
它们分别是设计问题域部分、设计人机交互部分、设计任务管理部分和设计数据管理部分。
一、OOA的主要原则。
(1)抽象:从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征,就叫作抽象。
抽象是形成概念的必须手段。
抽象原则有两方面的意义:第一,尽管问题域中的事物是很复杂的,但是分析员并不需要了解和描述它们的一切,只需要分析研究其中与系统目标有关的事物及其本质性特征。
第二,通过舍弃个体事物在细节上的差异,抽取其共同特征而得到一批事物的抽象概念。
抽象是面向对象方法中使用最为广泛的原则。
抽象原则包括过程抽象和数据抽象两个方面。
过程抽象是指,任何一个完成确定功能的操作序列,其使用者都可以把它看作一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。
数据抽象是根据施加于数据之上的操作来定义数据类型,并限定数据的值只能由这些操作来修改和观察。
面向对象分析模型总结

2
主要原则
(1)抽象 什么叫抽象? OO方法广泛地运用抽象原则,例如: ·系统中的对象是对现实世界中事物的抽象, ·类是对象的抽象, ·一般类是对特殊类的进一步抽象, ·属性是事物静态特征的抽象, ·操作是事物动态特征的抽象。 过程抽象 任何一个完成确定功能的操作序列,其使用者都 可把它看作一个单一的实体,尽管实际上它可能 是由一系列更低级的操作完成的。 数据抽象 根据施加于数据之上的操作来定义数据类型,并 限定数据的值只能由这些操作来修改和观察。
汽车
奖杯
钟表
操作员 职员
天平 楼房 飞机
起重机
23
如何发现参与者 ——考虑人员、设备、外系统
人员—— 系统的直接使用者 直接为系统服务的人员 设备—— 与系统直接相联的设备 为系统提供信息 在系统控制下运行 不与系统相连的设备 × 计算机设备 × 外系统—— 上级系统 子系统 其它系统
24
用况(use case)
7
基本模型——类图 面向对象的建模中最重要、最基本的模型图 集中而完整地体现了面向对象的概念 为面向对象的编程提供了直接、可靠的依据 可以从三个层次来看
对象层
需求模型——用况图 每个用况是一项系统功能使用情况的 说明,把每一类参与者对每一项系统 功能的使用情况确切地描述出来,便 全面地定义了系统的功能需求
数据接口部分设计
构件化与系统部署
向OOP输出OOD模型
12
OOA与OOD的关系
一致的概念与表示法 OOA和OOD采用一致的概念和表示法,从而不存在分析与 设计之间的鸿沟。 不同的内容、目标和抽象层次
OOA:研究问题域和用户需求,运用面向对象的观点发现 问题域中与系统责任有关的对象,以及对象的特征和相互 关系。目标是建立一个直接映射问题域,符合用户需求的 OOA模型。 OOD:在OOA模型基础上,针对选定的实现平台进行系统 设计,按照实现的要求进行具体的设计,目标是产生一个 能够在选定的软硬件平台上实现的OOD模型。 OOA模型:抽象层次较高,忽略了与实现有关的因素 OOD模型:抽象层次较低,包含了与实现平台有关的细节
面向对象的分析过程

面向对象的分析过程摘要分析了面向对象技术应用于仿真领域的种种优点,亦即我们选择采用面向对象的方法进行改造的原因。
一些面向对象方法存在的不足。
关键词:仿真,面向对象,岸边集装箱起重机,训练器面向对象的开发方法是以对象作为最基本的元素,它是分析问题、解决问题的核心。
面向对象=对象(Object)+分类(classification)+继承(inheritance)+通过消息的通信(communication with messages)从下图中我们可以看出,面向对象的开发方法明显不同。
面向对象的仿真为仿真人员提供了开发模块化可重用的仿真模型的工具,它把系统看成由相互作用的对象所组成,而对象则往往表示现实系统中的真实实体。
从而提高了仿真模型的可理解性、可扩充性和模块性,并且便于实现仿真与计算机图形和人工智能的结合。
采用面向对象的方法,原因如下:1.可理解性面向对象仿真对设计者、实现者,以及最终用户来说都改进了仿真的可理解性。
因为仿真系统中的对象往往直接表示现实系统中的真实实体,这些实体在面向对象的仿真系统中可以用外观上类似于人们熟悉的实际系统的对象的图形或图像来表示,用户可以通过图形界面与仿真模型进行交互,利用图形或图像来直接建立仿真模型,这对于熟悉实际系统的用户来说是很容易理解的。
2.可重用性和可扩充性在面向对象的仿真中,可以建立起一个模型库用以保存以前建立的模型,模型库中的模型可以作为建立新模型的可重用构件,通过面向对象技术内在的继承机制可以容易地和系统地修改现有的对象(类)以创建新的对象。
并且可以加入现有的类库中。
类库提供了仿真建模所需要的一般设施。
通过修改现有的类,可以建立各种应用中所需要的特殊对象。
3.模块性面向对象的仿真是模块化,特殊的过程来寻找相应的信息,不会影响其它的对象。
4.图形用户界面对象作为模块,对象的所有信息都保存在该对象中,在面向对象的仿真系统中往往表示实际系统中的真实实体,因而在系统中可以用相似的图形或图像来表示,因此更便于建立非常直观的图形用户界面,用户可以直接在屏幕上建立系统的图形概念,直观地构造仿真模型。
面向对象设计模型

面向对象设计模型引言面向对象设计模型是软件工程中一种常用的设计方法,通过将事物抽象为对象,然后通过对象之间的交互来解决问题。
面向对象设计模型有助于构建可维护、可重用和可扩展的软件系统。
本文将介绍面向对象设计模型的基本概念,以及如何应用它来设计高质量的软件系统。
什么是面向对象设计模型面向对象设计模型是一种软件设计方法,它将事物抽象为对象,对象之间通过消息传递来进行通信和协作。
面向对象设计模型的核心概念包括封装、继承和多态。
•封装:封装是将数据和行为组合到一个对象中,并对外部隐藏对象的内部细节。
通过封装,可以将复杂的系统拆分为多个简单的对象,每个对象只需关注自身的责任和行为。
•继承:继承是一种机制,允许在现有的类基础上创建新的类,并且继承原有类的属性和方法。
通过继承,可以实现代码的复用,减少重复编写类似的代码。
•多态:多态是指同一种方法可以根据接收到的不同对象所属的类而表现出不同的行为。
通过多态,可以提高代码的灵活性和可扩展性。
面向对象设计模型的目标是创建易于理解、可重用、可扩展和可维护的软件系统。
它强调将系统分解为小而简单的对象,每个对象都有明确的职责和行为。
通过对象之间的交互,可以实现系统的功能。
面向对象设计模型的设计原则面向对象设计模型遵循一些设计原则,这些原则有助于创建高质量的软件系统。
下面介绍几个常用的设计原则:1.单一职责原则(SRP):一个类应该只有一个责任,在软件设计中,应该将不同的职责分离到不同的类中。
这样可以提高类的内聚性和代码的可读性。
2.开放封闭原则(OCP):软件系统的设计应该对扩展开放,对修改关闭。
这意味着通过添加新的代码来扩展系统的功能,而不是修改已有的代码。
这样可以减少系统的风险,提高可维护性。
3.里氏替换原则(LSP):子类型必须能够替换掉它们的父类型。
这意味着在使用继承时,子类不应该破坏父类的特性和约束。
这样可以使得系统更加灵活,可扩展。
4.接口隔离原则(ISP):使用多个专门的接口,而不是一个总接口。
信息系统项目管理师考试辅导教程(第3版)第4章面向对象方法

信息系统项目管理师考试辅导教程(第3版)第4章面向对象方法第4章面向对象方法结构化分析和设计方法在一定葙度上缓解了“软件危机”。
但随着人们对软件提出的要求越来越高,结构化方法己经无法承担快速高效开发复杂软件系统的重任。
2 0世纪80年代逐渐成熟的面向对象方法学,使软件开发者对软件的分析、设计和编程等方面都有了全新的认识。
由于“对象”概念的引入,将数据和方法封装在一起,提高了模块的聚合度,降低了模块的耦合度,更大程度上支持了软件重用,从而十分有效地降低了软件的复杂度,提高了软件开发的生产率。
目前,面向对象方法学已成为软件开发者的第一选择。
根据考试大纲,本章要求考生掌握以下知识点:面向对象的基本概念;统一建模语言UML;可视化建模;面向对象系统分析;面向对象系统设计。
4.1面向对象的基本概念为了讨论面向对象(Object-Oriented,0 0)的技术和方法,必须首先明确什么是“面向对象”?为什么要讨论面向对象的方法?什么是对象?对于这些问题,有许多不同的看法。
其中Booch、Coad/Y ourdon和Jacobson的方法在面向对象软件开发界得到了广泛的认可。
特别值得一提的是统一建模语言(UML,Unified Modeling Language),该方法结合了Booch、OMT和Jacobson方法的优点,统一了符号体系,并从其他的方法和工程实践中吸收了许多经过实践检验的概念和技术。
Peter Coad和Edward Y ourdon曾提出了下列等式:面向对象=对象(Objects)+类(Classes)+继承(Inheritance)+消息通信(Communication with Messages)4.1.1对象与封装对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。
面向对象的软件系统是由对象组成的,复杂的对象由比较简单的对象组合而成。
也就是说,面向对象方法学使用对象分解取代了传统方法的功能分解。
功能模型,结构模型,行为模型的关系

功能模型,结构模型,行为模型的关系
总体来说设计模型分为三大类:
1.创建型功能模型,共五种:工厂方法模型、抽象工厂模型、单例模型、建造者模型、原型模型。
2、结构型模型,共七种:适配器模型、装饰器模型、代理模型、外观模型、桥接模型、组合模型、享元模型。
3、行为型模型,共十一种:策略模型、模板方法模型、观察者模型、迭代子模型、责任链模型、命令模型、备忘录模型、状态模型、访问者模型、中介者模型、解释器模型。
创建型模型、结构型模型和行为型模型之间的关系
1、创建型模型
软件设计的过程是循序渐进的,一步一步来的。
在软件设计中对象的创建和对象的使用是分开的,因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模型要探讨的问题。
这里就提供了多种创建型模型进行选择使用。
2、结构型模型
在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖
关系会影响到后续程序的维护性、代码的健壮性、耦合性等。
所以也有多种结构型模型可供开发人员选择使用。
3、行为型模型
在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类
❖ 把具有相同特征(属性)和行为(操作)的对 象归在一起就形成了类 (如班级) 。
❖ 类的定义包括一组数据属性和在数据上的一组 合法操作。
❖ 在一个类中,每个对象都是类的实例 (例证) , 它们都可使用类中的函数。
❖ 类定义了各个实例所共有的结构,使用类的构 造函数,可以在创建该类的实例时初始化这个 实例的状态。
按下 饮料 选择 按钮
取出饮料 结算找零 扣减存量 完成交易
饮料 售空 灯亮
回到就绪状态 回到就绪状态
3. 功能模型
❖ 功能模型由数据流图组成,指明从外部输入到 外部输出,数据在系统中传递和变换的情况。
顾客
输入:投币、按选 择按钮、取消交易
输出饮料
自动 售 货机
售空灯亮
投币金额 显示屏
顶层数据流图
目录
文件名
文件
关联类
❖ 关联本身有一些属性,则引入一个关联类
队列
电梯控制器
电梯
* 按钮
UML类间关系(聚合)
❖ 聚合,表示类间的包含,组成关系 ❖ 共享聚合,组成课题组的人,可以是另一个
课题组成员。
*
课题组
1..* 人
组合聚合
❖ 组成类率属于整体类,整体类不存在,不分 类也不存在。
文本框
包含
窗口
UML类间关系(关联)
普通关联:只要类之间存在连接关系
* 作家
使用 1..*
被使用
0..1 表示0-1个对象 0..* 或* 表示0-多个对象 1+ 或1..* 表示1到多个对象 1..15表示1到15个对象 3 表示3个对象
计算机
关联的角色
❖ 关联双方可以标明角色
妻子 人
结婚
丈夫
限定关联
❖ 通过限定,将关联重数由一对多,或多对多, 简化为一对一或多对一
个对象。算法被分布到各种实体中。通过执行消 息传递和对象中的操作实现算法的功能。
面向对象的特点
❖ 抽象性:对象的数据抽象和行为抽象; ❖ 封装性:信息隐蔽; ❖ 共享性:
❖同一类中所有实例共享数据结构和行为特征; ❖同一应用中所有实例通过继承共享数据结构
和行为特征; ❖不同应用中所有实例通过复用共享数据结构
消息
❖ 消息是一个实例与另一个实例之间传递的信息, 要求该实例执行类中定义的某个操作。
❖ 消息的使用类似于函数调用,消息中指定了某一 个实例,一个消息名(操作名),和一个参数表 (可能是空的) 。
❖ 接收消息的实例执行消息中指定的操作,并将形 式参数与参数表中相应的值结合起来。
封装
❖ 1对象有一个清晰的边界。私有数据和操作外面 不能访问
多态
❖ 多态性指同名的函数或操作可在不同层 次的对象中有各自相应的实现。
❖ C++的虚函数,在类的不同层次有不 同的实现,动态联编时,在运行时根据 对象决定使用哪个实现。
重载
❖ 在一个对象内,若干个参数不同的函数 可以同名。这是在静态编译时通过参数 特征加以区分。
❖ 操作符的重载,根据操作数的类型不同, 分别实现。
第4讲 面向对象的方法学
❖ 客观世界中的问题,是由实体以及实体之间的关系 构成,实体就是对象。问题空间的对象是丰富多彩 的。
❖ 计算机系统求解客观世界中的问题,借助程序设计 语言中的实体,如变量,函数,数组等处理,这些 都是非常简单和呆板的行为。用简单呆板的元素处 理丰富的问题关系,需要复杂的算法和数据结构, 存在“语义断层”
信息 ❖ 可选操作流 程: ❖ 商品管理员输入商品名称和信息->系统无法根据条件得到对应商品信息,
系统提示商品管理员重新输 入条件 ❖ 业务规则: ❖ 1.在提取商品信息的时候必须满足不能提取“安全锁”类型的商品 ❖ 后置条件: ❖ 1. 被提取的商品其状态全部变成“已查看”状态的商品 ❖ 相关用例: ❖ 扩展的用例:打印商品信息、更新商品信息 ❖ 被包含的用例:获取商品单价
显示投 币金额
选择按 钮灯亮
选择按 钮灯
售空灯
顾客
按下选 择按钮
投入 硬币
饮料按
钮灯亮
顾客
判断何 种饮料
饮料编号 存量非零
判断 存量为
零否
送出饮料 找零
计算 扣减存量
找零
数据流图
存量为零 售空 灯亮
UML用例功能模型
❖ 数据流图 ❖ 用例图-系统,行为者,用例,
用例间的关系 ❖ 系统是提供用例的黑盒子,方
面向对象方法学的优点
❖ 2 稳定性好 ❖ 传统方法的软件结构,依赖于功能,当功
能发生变化时,会引起软件整体的修改。 ❖ 面向对象的软件,模拟的是现实世界,现
实世界是稳定的,故软件系统也是稳定的, 功能的变化只是涉及少数的对象类。
[参考资料]:
概述 面向对象技术
面向对象开发范型的特点
❖ 系统中的对象是数据抽象与过程抽象的综合。 ❖ 系统的状态保存在各个对象的数据存储中。 ❖ 控制流包含在各个对象中的操作内。 ❖ 在面向对象体系结构消息从一个对象传送到另一
❖ 在OMT中,类与类之间的关系叫做关联。关 联代表一组存在于两个或多个对象之间的,具 有相同结构和含义的具体连接。关联可以是 物理的,也可以是逻辑的。
类名
UML 类
属性
❖ 命名
操作
使用标准术语。便于理解
使用具有确切意义的名字。发动机>动力设备
必要时用短语,是含义更确切。“男教师”
❖ 名字应该是简洁,无二义
数据与处理之间的关系
❖ 传统的程序设计方法,定义数据,在定义函 数,数据与函数是独立的;
❖ 而问题域的对象,既具有本身的属性,同时 也有主动的行为。用传统的程序设计方法求 解问题,无法利用对象的这种性质,增加了 处理和理解的难度。
面向对象的方法学
❖ 提供在解空间中设计对象的思路,用解空间 的对象,模拟问题空间的对象,从而得出问 题空间的解,减少了语义断层。
顾客按 退币杆
饮料编号 价格
投入硬币 送出饮料 显示金额 按下按钮 按退币杆 显示售空
属于
属于
购买
顾客
姓名 硬币
顾客按 下按钮
饮料编号 存量 递减
显示售空 重置
选择按钮 按钮状态
按钮灯亮 按钮灯灭 售空灯亮 按下按钮
投入硬币 取出饮料
2. 动态模型
❖ 动态模型着重于系统的控制逻辑,它包括两个 图,一是状态图,一是事件追踪图。
面向对象的建模
❖ 系统模型是在需求分析阶段建立,用来检验 对系统的理解。在后续开发过程中不断完善, 直至用程序实现。
❖ 面向对象的方法开发系统模型包括:
描述数据结构的对象模型 描述控制结构的动态模型 描述功能的功能模型 (结构化方法-ER图,状态图,数据流图)
1. 对象模型
❖ 是三个模型中最关键的一个模型,它的作用 是描述系统的静态结构,包括构成系统的类 和对象,它们的属性和操作,及它们之间的 关系。
和行为特征
对象
❖ 对象是系统中用Байду номын сангаас描述客观事物的一个实体, 是构成系统的一个基本单位,由一组属性和一 组对属性进行操作的服务组成。
❖ 属性一般只能通过执行对象的操作来改变。 ❖ 操作(方法或服务)描述了对象执行的功能,
若通过消息传递,还可以为其他对象使用。 ❖ 对象是以数据为中心,主动的,实现了数据封
❖ 找到行为者后,寻找用例
❖ 行为者需要系统提供哪些功能
❖ 行为者是否需要访问信息
❖ 系统发生的事件需要通知行为者, 行为者需要通知系统某些事情, 这些事件能做什么
❖ 行为者的日常工作因新系统而简 化
❖ (系统输入输出,当前系统存在 什么问题)
用例描述
❖ 参与者:商品管理员 ❖ 前置条件: ❖ 1. 商品管理员登陆XXX系统后拥有能够操作该用例的权限 ❖ 2. 商品信息的名称、生产日期可以被商品管理员获取作为条件 ❖ 基本操作流 程: ❖ 商品管理员输入商品名称和信息->系统提取对应的商品并显示所有商品
❖ 类中定义的方法,是所有对象所公用的 ❖ (有的类,具有所有对象所公用的数据)
面向对象方法学的四个要点
❖ 3 类之间存在父类和派生类的关系,从而形 成一个层次结构。子类拥有上层类相同的属 性,子类可以对属性重新描述,增加属性等。
❖ 这种属性叫继承性
面向对象方法学的四个要点
❖ 4 对象直接通过消息互相联系。对象的私有 数据,外界不能直接处理,只能通过发送消 息,有对象自身的操作来处理。
面向对象方法学的四个要点
❖ 1 客观世界由对象组成,复杂对象有简单对 象组合而成
❖ 软件系统由全部由对象组成,java.. ❖ 对系统以对象分解,取代传统方法的功能
的分解。
面向对象方法学的四个要点
❖ 2 将所有对象划分成类,每个类定义数据和 方法。建立对象实例时,每个实例具有专用 的数据,表示该对象的状态属性。
三种模型之间的关系
❖ 对象模型是最基本最重要的 ❖ 类的动态模型,描述了实例的生命周期 ❖ 状态转换驱使行为发送,在数据流图中映射为处理,
在用例图中映射为用例, ❖ 用例对应类图中的服务 ❖ 数据流图中的数据存储,对应对象 ❖ 数据流,对应属性值 ❖ 行为者可能是对象 ❖ 处理,产生动态模型中的事件
❖ 2 有确定的接口,只能通过发送消息使用
继承
❖ 如果某几个类之间具有共性的东西 (信息结构和 行为),抽取出来放在一个泛化类中,将各个类的 特有东西放在特殊类中分别描述,则可建立起 特殊类对泛化类的继承。
❖ 继承是使用已有的类定义做为基础建立新类的 定义技术。
❖ 已有的类可当做基类来引用,则新类相应地可 当做派生类来引用。
❖ 这种属性叫封装性。