软件工程导论课件之第9章面向对象方法学引论(第五版)(张海(精)

合集下载

软件工程电子课件第9章 面向对象设计

软件工程电子课件第9章 面向对象设计

11
9.2 启发规则
3.设计简单的类
应该尽量设计小而简单的类,以便于开发和管理。当类比较 庞大的时候,要记住它的所有服务是非常困难的。为保持类的 简单,应该注意以下几点。 ➢ (1)避免包含过多的属性
属性过多通常表明这个类过分复杂了,它所完成的功能可能太多了。
➢ (2)有明确的定义
为了使类的定义明确,分配给每个类的任务应该简单,最好能用一 两个简单语句描述它的任务。
➢ (1)交互耦合
如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。 为使交互耦合尽可能松散,应该遵守下述准则。
• ◇ 尽量降低消息连接的复杂程度。应该尽量减少消息中包含的参数个数,降低参数的复 杂程度。
• ◇ 减少对象发送(或接收)的消息数。Βιβλιοθήκη 2021/1/176
9.1 面向对象设计的准则
使用面向对象方法开发软件时,在分析与设计之间并没有明确的分界线, 对于问题域子系统来说,情况更是如此。
通过面向对象分析所得出的问题域精确模型,为设计问题域子系统奠定 了良好的基础,建立了完整的框架
使用面向对象方法学开发软件,能够保持问题域组织框架的稳定性,从 而便于追踪分析、设计和编程的结果。在设计与实现过程中所做的细 节修改(如增加具体类,增加属性或服务),并不影响开发结果的稳 定性,因为系统的总体框架是基于问题域的。
➢ (2)类内聚
设计类的原则是,一个类应该只有一个用途,它的属性和服务应 该是高内聚的。类的属性和服务应该全都是完成该类对象的任务所必 需的,其中不包含无用的属性或服务。
➢ (3)一般/特殊内聚
设计出的一般/特殊结构,应该符合多数人的概念,更准确地说, 这种结构应该是对相应的领域知识的正确抽取。

软件工程导论第章面向象方法学引论

软件工程导论第章面向象方法学引论

第9章面向对象方法学引论传统地软件工程方法学曾经给软件产业带来巨大进步,部分地缓解了软件危机,使用这种方法学开发地许多中、小规模软件工程都获得了成功。

但是,人们也注意到当把这种方法学应用于大型软件产品地开发时,似乎很少取得成功。

在20世纪60年代后期出现地面向对象编程语言Simdla_67中首次引入了类和对象地概念,自20世纪80年代中期起,人们开始注重面向对象分析和设计地研究,逐步形成了面向对象方法学。

到了20世纪90年代,面向对象方法学已经成为人们在开发软件时首选地范型。

面向对象技术已成为当前最好地软件开发技术。

9.1面向对象方法学概述9.1.1 面向对象方法学地要点面向对象方法学地出发点和基本原则,是尽可能模拟人类习惯地思维方式,使开发软件地方法与过程尽可能接近人类认识世界解决问题地方法与过程,也就是使描述问题地问题空间(也称为问题域)与实现解法地解空间(也称为求解域)在结构上尽可能一致。

客观世界地问题都是由客观世界中地实体及实体相互间地关系构成地。

我们把客观世界中地实体抽象为问题域中地对象(object)。

因为所要解决地问题具有特殊性,因此,对象是不固定地。

一个雇员可以作为一个对象,一家公司也可以作为一个对象,到底应该把什么抽象为对象,由所要解决地问题决定。

从本质上说,用计算机解决客观世界地问题,是借助于某种程序设计语言地规定,对计算机中地实体施加某种处理,并用处理结果去映射解。

我们把计算机中地实体称为解空间对象。

显然,解空间对象取决于所使用地程序设计语言。

例如,汇编语言提供地对象是存储单元;面向过程地高级语言提供地对象,是各种预定义类型地变量、数组、记录和文件等等。

一旦提供了某种解空间对象,就隐含规定了允许对该类对象施加地操作。

从动态观点看,对对象施加地操作就是该对象地行为。

在问题空间中,对象地行为是极其丰富多彩地,然而解空间中地对象地行为却是非常简单呆板地。

因此,只有借助于十分复杂地算法,才能操纵解空间对象从而得到解。

软件工程导论第五版全套课件

软件工程导论第五版全套课件

第1章软件工程学概述1.1软件危机1.1.1软件危机的介绍1.1.2产生软件危机的原因图1.1引入同一变动付出的代价随时间变化的趋势1.1.3消除软件危机的途径1.2软件工程1.2.1软件工程的介绍1. 软件工程关注于大型程序的构造2. 软件工程的中心课题是控制复杂性3. 软件经常变化4. 开发软件的效率非常重要5. 和谐地合作是开发软件的关键6. 软件必须有效地支持它的用户7. 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品2软件工程导论(第五版) 1.2.2软件工程的基本原理1. 用分阶段的生命周期计划严格管理2. 坚持进行阶段评审3. 实行严格的产品控制4. 采用现代程序设计技术5. 结果应能清楚地审查6. 开发小组的人员应该少而精7. 承认不断改进软件工程实践的必要性1.2.3软件工程方法学1. 传统方法学2. 面向对象方法学1.3软件生命周期1. 问题定义2. 可行性研究3. 需求分析4. 总体设计5. 详细设计6. 编码和单元测试7. 综合测试8. 软件维护软件工程导论(第五版) 3 1.4软件过程1.4.1瀑布模型图1.2传统的瀑布模型1. 阶段间具有顺序性和依赖性2. 推迟实现的观点3. 质量保证的观点4软件工程导论(第五版)图1.3实际的瀑布模型1.4.2快速原型模型图1.4快速原型模型软件工程导论(第五版) 5 1.4.3增量模型图1.5增量模型图1.6风险更大的增量模型6软件工程导论(第五版) 1.4.4螺旋模型图1.7简化的螺旋模型软件工程导论(第五版) 7图1.8完整的螺旋模型8软件工程导论(第五版) 1.4.5喷泉模型图1.9喷泉模型1.4.6 Rational统一过程1. 最佳实践2. RUP软件开发生命周期软件工程导论(第五版) 9图1.10 RUP软件开发生命周期1.4.7敏捷过程与极限编程1. 敏捷过程2. 极限编程图1.11 XP项目的整体开发过程10软件工程导论(第五版)图1.12 XP迭代开发过程1.4.8微软过程1. 微软过程准则2. 微软软件生命周期图1.13微软软件生命周期阶段划分和主要里程碑3. 微软过程模型图1.14微软过程的生命周期模型1.5小结习题11. 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?2. 假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?3. 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?4. 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。

软件工程课件 第九章(面向对象方法学引论)

软件工程课件 第九章(面向对象方法学引论)

例:发货单类的属性“管理员”的描述形式为: -管理员:String=“未定”
3. 定义服务(方法)
UML描述操作的语法格式:
可见性 操作名(参数表):返回值类型{性质串}
参数的语法:
参数名:类型名=默认
-Show(x:integer=0, y :integer, z :integer):integer
基本概念之继承
• 电视和DVD都要遥控器,但里面的按键不同,功 能也有不同,但是它们都是用来遥控的,所以我 抽象出一个抽象父类,抽象的功能就是遥控,而 电视的遥控器和DVD的遥控器就是继承了抽象父 类的遥控功能,至于怎么遥控由具体的子类来实 现,这就是继承的思想。
基本概念
• 当一个类从多个父类继承时,我们称之为 “多重继承”。
9.4 面向对象建模(掌握)
用面向对象方法开发软件,通常需要建立三
种形式的模型,它们分别是:
(1)对象模型:描述系统的数据结构;
(2)动态模型:描述系统的控制结构;
(3)功能模型:描述系统的功能。
3种模型必不可少,其重要程度不同,对象模型是最 基本、最重要的。
9.4 对象模型(描述系统的静态结构)
课题组
*
成员
1…*
教师
图9.10 共享聚集示例
2)组合聚集
部分类完全隶属于整体类,部分与整体共存,整体不存
在了部分也随之消失。
例子:
教材
包含
1+
封面
前言
目录

1+ 节
包含
习题
描绘教材结构的对象模型(组合聚集)
3. 泛化(继承)
1)普通泛化
抽象类:描述子类
的公共属性和行为,

9面向对象方法学引论PPT课件

9面向对象方法学引论PPT课件
面向对象的方法是一种运用对象、类、继承、 封装、聚合、消息传送、多态性等概念来构造系 统的软件开发方法。
9.1.1 面向对象方法学的要点
什么是面向对象 根据Coad和Yourdon的定义,按照以下4个概念 设计和实现的系统,称为是面向对象的。 面向对象=对象 (object)
+类 (classification) +继承(inheritance) +通信 (communication with messages)
一组数据和方法。 (3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把
若干个对象类组成一个层次结构的系统(也称为类等级)。 (4) 对象彼此之间仅能通过传递消息互相联系。
面向对象=对象 (object) +类 (classification) +继承(inheritance) +通信 (communication with messages)
9.2 面向对象的概念
理解面向对象的基本概念对于学习和掌握面向对象的开 发方法是十分重要的。
第9章 面向对象方法学引论
传统方法数 据与过程是 分离的
对象把数据 和处理数据 的方法封装 成一个单元
第9章 面向对象方法学引论
传统方法 系统是过程的集合 过程与数据实体交互 过程接受输入并产生输出
面向对象方法 系统是交互对象的集合 对象与人或其他对象交互 对象发送与响应消息
第9章 面向对象方法学引论
第9章 面向对象方法学引论
传统的软件工程方法是面向过程的,将数据和 处理过程分离,求解过程是先对应用领域(问题 空间)进行分析,建立起问题空间的逻辑模型, 再通过一系列复杂的转换和算法,构造计算机系 统,获得解空间。

软件工程 第9章 面向对象方法学引论

软件工程 第9章 面向对象方法学引论


面向对象方法学:到了20世纪90年代,面向对 象方法学已经成为人们在开发软件时首选的 范型。面向对象技术已成为当前最好的软件 开发技术。
向过程开发模式中优先考虑的是过程抽 象,在面向对象开发模式中优先考虑的是实 体(问题论域的对象)。 在面向对象开发模式中,把标识和模型化问 题论域中的主要实体做为系统开发的起点, 主要考虑对象的行为而不是必须执行的一系 列动作。
9.1 面向对象方法学概述
9.1.1 面向对象方法学的要点

出发点和基本原则是尽可能模拟人类习 惯的思维方式,使开发软件的方法与过 程尽可能接近人类认识世界解决问题的 方法与过程,也就是使描述问题的问题 空间与实现解法的解空间在结构上尽可 能一致。
面向对象方法学的四个要点
认为客观世界是由各种对象组成的,任何 事物都是对象,复杂的对象可以由比较 简单的对象以某种方式组合而成。 面向对象方法用对象分解取代了传统方法 的功能分解。
从动态角度或对象的实现机制来看,对象是一台自 动机。具有内部状态S,操作fi(i=1,2,…,n),且与 操作fi对应的状态转换函数为gi(i=1,2,…,n)的一个 对象,可以用图9.3所示的自动机来模拟:
图9.3 用自动机模拟对象
3 对象的特点
1、以数据为中心。操作围绕对其数据所需做的处 理来设置,而且操作的结果往往与当时的所处的 状态(数据值)有关。 2、对象是主动的。程序不能直接从外部直接加工 它的私有数据。 3、实现了数据封装。数据对外隐藏,不可见。 4、本质上是并行的。不同对象各自独立地处理自 身的数据,彼此通过发消息传递信息完成通信。 5、模块独立性好。对象内部各种元素彼此结合得 很紧密,内聚性相当强。对象的元素(数据和方 法)基本上都被封装在对象内部,与外界的联系 少,对象之间的耦合较松。

软件工程第9章 面向对象方法引论(简版)PPT课件

软件工程第9章 面向对象方法引论(简版)PPT课件
OO方法的继承机制是人类自然辩证法和哲学思想的直接 体现:
下篇:面向对象方法学:面向对象方法学: 面向对象方法学:面向对象方法学:面向 对象方法学:面向对象方法学:面向则以功能分解为结构的软件结构也易变;
对象稳定则由对象组成的系统也稳定;
下篇:面向对象方法学:面向对象方法学: 面向对象方法学:面向对象方法学:面向 对象方法学:面向对象方法学:面向对象
方法学
单9.1.击2 面此向对处象方编法学辑的优母点 版标题样 式1. 与人类习惯的思维方法一致
用对象表达现实世界中的事物或实体是最完美、最自然、 最习惯的思维和表达方式;
面向对象的解空间(软件)是模拟问题空间的最自然、 最习惯的思维和表达方式:
2) 对象类或类:类是对相似对象的抽象和描述,每个类都定义了 一类相似对象的一组数据和一组方法,用于标识和划分各种不 同类型的对象。人以群分,物以类聚。
3) 继承是一种先进的思想和机制:继承就是子类获取或共享父类 信息属性和行为特征的一种机制;继承关系形成了一个类层次 结构,是抽象、归纳和演绎的完美体现和实现。
下篇:面向对象方法学:面向对象方法学: 面向对象方法学:面向对象方法学:面向 对象方法学:面向对象方法学:面向对象
方法学
单击此处编辑母版标题样 4) 对象彼此之间仅能通过传递消息互相联系:对象实现了信息的隐藏 式和封装。对象彼此之间必须通过消息机制实现通信,即一个对象必须
通过给另一个对象发送消息,请求它执行其内部的某个处理对其私有 数据进行操作,并给出结果,而绝不能从外界直接对其它对象的私有 数据进行操作。 面向对象的方法学可以用下列方程来概括: OOM=objects+classes+inheritance+communication with messages

软件工程第九讲--面向对象引论

软件工程第九讲--面向对象引论

The only way to reach the attributes is to go through one of the methods
[ destination, operation, parameters]
Taylor’s notation
A class is a generalized description of a collection of similar objects.
id RM DS CS ds B 通讯地址,是定义1中Oid的具体化 消息集 ReqM + FinM 数据结构集 通信状态集idle+wait 数据DS初始值 对象行为
(2)对象的特点
数据为中心 主动的 数据封装 并行性 模块独立性好
2. 类(Class)
输出
fi ( x,S )
转换:新状态S'= gi ( x,S )
定义1

Object: :=(Oid, DS, OS, MI)
Oid 对象名称(标识) DS={d1,d2,…,dn} 数据结构集 OS={o1,o2,…,om} 操作集 MI={m1,m2,…,mk} 消息名称集
定义2 Ojbect: :=(id, RM, DS, CS, ds, B)
Coad & Yourdon OOM = ① + ② + ③ + ④
相关方法
基于对象的方法 ① + ④ = Object-based
基于类的方法 ① + ④ + ② = Class-based 面向对象方法 ① + ④ + ② + ③ = Object-oriented

《软件工程》第九章 面向对象方法学引论PPT课件

《软件工程》第九章 面向对象方法学引论PPT课件

感谢观看
The user can demonstrate on a projector or computer, or print the presentation and make it into a film
第9章 面向对象方法学引论
整体概况
+ 概况1
您的内容打在这里,或者通过复制您的文本后。
概况2
+ 您的内容打在这里,或者通过复制您的文本后。
概况3
+ 您的内容打在这里,或者通过复制您的计类
提问与解答环节
Questions and answers
结束语 CONCLUSION
感谢参与本课程,也感激大家对我们工作的支持与积极的参与。课程 后会发放课程满意度评估表,如果对我们课程或者工作有什么建议和 意见,也请写在上边,来自于您的声音是对我们最大的鼓励和帮助, 大家在填写评估表的同时,也预祝各位步步高升,真心期待着再次相 会!

软件工程导论(第9章)

软件工程导论(第9章)

与传统程序的“调用/返回”所不同的是,
对于传来的消息,对象可以返回相应的回答
信息,也可以不返回。
一个消息由三个部分组成:
1)接收信息的对象;
2)信息选择符(即消息名);
3)零个或多个变元(参数)。
如:MyCircle.Show(GREEN);
4、方法(Method)
方法,是对象所能执行的操作。
C++中把方法称为成员函数,如Circle类中
丈夫
结婚 图9.7 关联的角色 上图是一个递归关联的例子。
这种情况下,标明角色名有助于理解类图。
3)限定关联
目录
保存 被保存 普通关联 1…*
文件
目录
文件名
文件
图9.8 限定关联
利用限定词把一对多关系简化成了一对一关系。
4)关联类
队列 电梯控制器 4 电梯
*
按钮 图9.9 关联类示例
控制器对象和电梯对象之间的连接,对应着一个队列 (对象),它存储着控制器和电梯内部按钮的请求信息。
2)运算符重载 指同一运算符可以施加于不同类型的操作数 上面。当被操作数类型不同时,运算符的含义
是不同的。
编译时根据被操作数的类型,决定使用算符
的哪种语义。
另外,在实现一个类成员函数时,必须通过用类名
限定函数名来告诉编译器这个函数属于哪个类。
如,编写qput( )函数:
Void Queue :: qput (int i) { if (sloc = =100) {cout << “Queue if full” ; return; }
层次的类中,虚函数实现算法不同,在运行时根据
接收消息的对象所属于的类来决定执行虚函数的版 本,称为动态联编。

矿产

矿产

矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。

如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。

㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。

(2 列出开发利用方案编制所依据的主要基础性资料的名称。

如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。

对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。

二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。

2、国内近、远期的需求量及主要销向预测。

㈡产品价格分析
1、国内矿产品价格现状。

2、矿产品价格稳定性及变化趋势。

三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。

2、矿区矿产资源概况。

3、该设计与矿区总体开发的关系。

㈡该设计项目的资源概况
1、矿床地质及构造特征。

2、矿床开采技术条件及水文地质条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UML历史: 1994年,Booch 和Rumbaugh在 Grady Booch James Rumbaugh Ivar Jacobson Rational开始了 UML的工作,当时目标是创建一个“统一方法”。 他们把Booch93和OMT2统一起来,与95年发布了 UM0.8(Unified Method)。 1995年OOSE的创始人Jacobson加入到这个联盟中, 开始把工作重点放到创建一种标准建模语言, UML—— Unified Modeling Language。 他们以Booch方法、OMT方法、OOSE方法为基础, 吸收了其他流派的长处,于96年6月、10月、97年1月、 11月分别推出了UML0.9、0.91、1.0和1.1。

1. 对象的形象表示 一个对象很像一台录音机。当在软件中使用一 个对象的时候,只能通过对象与外界的界面来 操作它。 使用对象时只需知道它向外界提供的接口形式 而无须知道它的内部实现算法。
2. 对象的定义 定义1:对象是具有相同状态的一组操作的集 合。 定义2:对象是对问题域中某个东西的抽象, 这种抽象反映了系统保存有关这个东西的信息 或与它交互的能力。 定义3:对象∷=〈ID,MS,DS,MI〉。其中,ID 是对象的标识或名字,MS是对象中的操作集 合,DS是对象的数据结构,MI是对象受理的 消息名集合(即对外接口)。
9.3 面向对象建模

用面向对象方法开发软件,通常需要建立3种 形式的模型:

对象模型——描述系统数据结构; 动态模型——描述系统控制结构; 功能模型——描述系统功能。


3种模型都涉及到数据、控制和操作等共同的 概念,只不过每种模型描述的侧重点不同。 3种模型各自从不同侧面反映了系统的实质性 内容,综合起来则全面地反映了对目标系统的 需求。
相互独立的小产品来处理,这就不仅降低了开
发的技术难度,而且也使得对开发工作的管理
变得容易多了。
5. 可维护性好

面向对象的软件稳定性比较好。 面向对象的软件比较容易修改。 面向对象的软件比较容易理解。 易于测试和调试。
9.1.3 喷泉模型


一般说来,使用面向对象方法学开发软件时, 工作重点应该放在生命周期中的分析阶段。 “喷泉”这个词体现了面向对象软件开发过程 迭代和无缝的特性。
4. 方法(method):方法就是对象所能执行的操作, 也就是类中所定义的服务。 5. 属性(attribute):属性就是类中所定义的数据, 它是对客观世界实体所具有的性质的抽象。 6. 封装(encapsulation):在面向对象的程序中, 把数据和实现操作的代码集中起来放在对象内 部。
7. 继承(inheritance):在面向对象的软件技术中, 继承是子类自动地共享基类中定义的数据和方 法的机制。 8. 多态性(polymorphism):多态性是指子类对象 可以像父类对象那样使用,同样的消息既可以 发送给父类对象也可以发送给子类对象。 9. 重载(overloading):函数重载是指在同一作用 域内的若干个参数特征不同的函数可以使用相 同的函数名字;运算符重载是指同一个运算符 可以施加于不同类型的操作数上面。
9.2 面向对象的概念 9.2.1 对象

在应用领域中有意义的、与所要解决的问题有 关系的任何事物都可以作为对象,它既可以是 具体的物理实体的抽象,也可以是人为的概念, 或者是任何有明确边界和意义的东西。 面向对象方法学中的对象是由描述该对象属性 的数据以及可以对这些数据施加的所有操作封 装在一起构成的统一体。

面向对象方法的发展史: (1) 雏形阶段 1972年Palo Alno研究中心(PARC)发布了 Smalltalk-72,正式使用“面向对象”这个术 语。 Smalltalk的问世标志着面向对象程序设计方法 的正式形成。 (2) 完善阶段 PARC先后发布了Smalltalk-72,76,78等版 本,直至1981年推出该语言最完善的版本 Smalltalk-80。 Smalltalk-80是第一个完善的、能够实际应用 的面向对象语言。

对象固有的封装性和信息隐藏机制,使得对象
的内部实现与外界隔离,具有较强的独立性。

对象是比较理想的模块和可重用的软件成分。
4. 较易开发大型软件产品

用面向对象方法学开发软件时,构成软件系统 的每个对象就像一个微型程序,有自己的数据、 操作、功能和用途。

可以把一个大型软件产品分解成一系列本质上
9.1 面向对象方法学概述

面向对象方法学的出发点和基本原则,是尽可 能模拟人类习惯的思维方式,使开发软件的方 法与过程尽可能接近人类认识世界解决问题的 方法与过程。
也就是使描述问题的问题空间(也称为问题域) 与实现解法的解空间(也称为求解域)在结构上 尽可能一致。

传统方法学的解空间:
问题空间 公司 雇员 算法 解空间 变量 数组
(3) 繁荣阶段 自20世纪80年代中期到90年代,是面向对象语 言走向繁荣的阶段。 其主要表现是大批比较实用的OOPL的涌现, 例如 C++、Objective-C等。 (4) 当前的状况 20世纪90年代,面向对象的分析与设计方法多 达数十种,这些方法各有所长,现在趋于统一。 统一建模语言UML,其推荐的方法是 USDP(Unified Software Development Process); UML是一种面向对象的建模语言,在软件产 业界获得了很大的支持。
9.2.2 其他概念
1. 类(class):“类”就是对具有相同数据和相同 操作的一组相似对象的定义。 2. 实例(instance):实例就是由某个特定的类所 描述的一个具体的对象。 3. 消息(message):消息就是要求某个对象执行 在定义它的那个类中所定义的某个操作的规格 说明。通常,一个消息由下述3部分组成:接 收消息的对象;消息选择符(也称为消息名); 零个或多个变元。
UML要素: Method 方法告诉使用者做什么、怎么做、什么时候 做、为什么做(特定活动的目的),方法包 括模型。 Modeling 模型用来描述使用某种方法的结果,例如, 通过不同角度的简化视图,描述对象系统的 设计与实现结果,模型用建模语言来表达。 Language 建模语言由记号(模型使用的符号)和一组 规则(语法、语义等)组成。
对象模型
属性、操作、协作者
功能模型
类/对象
对象-功能 使用 实例
对象-行为
动态模型



对任何大系统来说,上述3种模型都是必不可 少的。 在不同的应用问题中,这3种模型的相对重要 程度会有所不同,对象模型始终都是最重要、 最基本、最核心的。 在整个开发过程中,3种模型一直都在发展、 完善。





UML概述: Unified Modeling Language (统一建模语言)是国际对象 管理组织OMG制定的一个通 用的、可视化建模语言标准。 用于描述(specify)、可视化(visualize)、构造 (construct)和记载(document)软件密集型系统 的各种工件。 UML提供了一系列建模元素、概念、关系以及 规则,应用于软件开发活动。
9.1.2 面向对象方法学的优点
1. 与人类习惯的思维方法一致 面向对象的软件技术以对象为核心,软件系统 由对象组成。 对象由数据,以及可以对这些数据施加的操作, 封装在一起所构成的统一体。对象之间通过传 递消息互相联系。 面向对象的设计方法强调模拟现实世界中的概 念而不强调算法。 面向对象方法学的基本原则是按照人类习惯的 思维方法建立问题域的模型。
2. 稳定性好

面向对象的软件系统的结构是根据问题领域的 模型建立起来的,而不是基于对系统应完成的 功能的分解。

当对系统的功能需求变化时并不会引起软件结 构的整体变化,往往仅需要作一些局部性的修 改。
以对象为中心构造的软件系统是比较稳定的。

3. 可重用性好

在面向对象方法所使用的对象中,数据和操作 正是作为平等伙伴出现的。因此,对象具有很 强的自含性。
面向对象方法具有4个要点: 对象:客观世界是由各种对象组成,任何事物 都是对象,复杂的对象可以由简单的对象以某 种方式组合而成。对象分解取代功能分解。 类:把所有对象都划分成各种对象类,每个对 象类都定义了一组数据和一组方法。数据用于 表示对象的静态属性,是对象的状态信息。 继承:按照子类(或称为派生类)与父类(或称为 基类)的关系,把若干个对象类组成一个层次 结构的系统(也称为类等级)。 消息:对象之间仅能通过传递消息互相联系。 对象是进行处理的主体。
部门
文件
对象是客观世界中的实体 对象不固定 行为丰富多彩 既有静态属性又有动态行为
对象是计算机中的实体 取决于程序设计语言 行为简单呆板 仅描述静态实体属性,必须 从外部施加操作才能模拟行为
面向对象方法的解空间: 面向对象方法学所提供的“对象”概念,是让 软件开发者自己定义或选取解空间对象,然后 把软件系统作为一系列离散的解空间对象的集 合。 这些解空间对象与问题空间对象尽可能一致。 这些解空间对象彼此间通过发送消息而相互作 用,从而得出问题的解。 每个对象就像一个微型程序,有自己的数据、 操作、功能和目的。
分析过程中,构造完全独立于实现的应用域模型; 设计过程中,把求解域的结构逐渐加入到模型中; 实现阶段,把应用域和求解域的结构都编成程序代 码并进行严格的测试验证。
9.4 对象模型

对象模型表示静态的、结构化的系统的“数据”性质。 它是对模拟客观世界实体的对象以及对象彼此间的关 系的映射,描述了系统的静态结构。 面向对象方法强调围绕对象而不是围绕功能来构造系 统。对象模型为建立动态模型和功能模型,提供了实 质性的框架。 1996年6月出现统一建模语言UML 0.9。1997年11月, 国际对象管理组织OMG批准把UML 1.1作为基于面 向对象技术的标准建模语言。
相关文档
最新文档