第2章 面向对象技术和建模基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UML建模实例教程
2.3.2 OOA方法的基本步骤
5个基本步骤
(1)确定对象和类 这里所说的对象是对数据及其处理方式的抽象,它反映了系统保 存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属 性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。 (2)确定结构 结构是指问题域的复杂性和连接关系。类成员结构反映了泛化特化关系,整体-部分结构反映整体和局部之间的关系。 (3)确定主题 主题是指事物的总体概貌和总体分析模型。 (4)确定属性 属性就是数据元素,可用来描述对象或分类结构的实例,可在图 中给出,并在对象的存储中指定。 (5)确定方法 方法是在收到消息后必须进行的一些处理操作。对于每个对象和 结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含 的,而有些则是显示的。
即对象间的共同属性,这就是构成对象类的依据。 面向对象方法学要点之三:认为对已分成类的各个对象,可以通 过定义一组“方法”来说明该对象的功能,即允许作用于该对象上的 各种操作。
UML建模实例教程
2.6 面向对象方法的内涵
面向对象技术
技术“泛指根据生产实践经验和自然科学原理而发展起来的各种
工艺操作方法与技能”;“广义地讲,还包括相应的生产工具和其它 物质设备,以及生产的工艺过程或作业程序、方法”。 近十多年来,除了面向对象的程序设计以外,面向对象方法已发 展应用到整个信息系统领域和一些新兴的工业领域 。
UML建模实例教程
2.7.1 软件建模的概念
什么是模型
模型是对现实存在的实体的抽象和简化,模型提供了系统的蓝图。
模型过虑非本质的细节信息,抽象出的问题本质,使问题更容易理解。 模型是用某种工具对同类或其他工具的表达方式。
为什么要建模
需要为软件系统建立模型是因为开发一个具有一定规模和复杂性 的软件系统和编写一个简单的程序大不一样。其间的差别,借用G. Booch的比喻,如同建造一座大厦和搭一个狗窝的差别。大型的、复
2.6 面向对象方法的内涵
面向对象方法当前的研究领域 (1) 智能计算机的研究。
(2) 新一代操作系统的研究。 (3) 多学科的综合研究。 (4) 新一代面向对象的硬件系统的研究。
UML建模实例教程
课堂实践 1
操作要求
(1)应用面向对象方法中的概念对DVD和播放DVD的情景进行描述。 (2)结合软件开发实践,举例说明OOA、OOD和OOP的具体任务及 相关之间的联系。 (3)举例说明面向对象编程和结构化编程的优缺点。
消息 消息是对象之间进行通信 的一种规格说明。一般它由三 部分组成:接收消息的对象、 消息名及实际变元。
UML建模实例教程
2.2.2 面向对象主要特征
封装性
封装是一种信息隐蔽技术,它体现于类的说明。封装使数据和加工该 数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使
得用户只能见到对象的外特性,而对象的内特性对用户是隐蔽的。
UML建模实例教程
2.1.1 面向对象方法基本思想
面向对象方法
是一种把面向对象的思想应用于软件开发过程中,指导开发活动 的系统方法,简称OO(Object-Oriented)方法。
面向对象方法是建立在“对象”概念基础上的方法学。 对象是由数据和允许在数据上执行的操作组成的封装体,与客观实 体有直接对应关系,一个类定义了具有相似性质的一组对象。
杂的软件系统的开发是一项工程,必须按工程学的方法组织软件的生 产与管理,必须经过分析、设计、实现、测试、维护等一系列的软件
生命周期阶段。
UML建模实例教程
2.7.1 软件建模的概念
建模的必要性
模型是软件开发之根本,无论软件之大小、涉及的范围,还是建 模的本身都是系统化认识所开发软件的一个初步的途径。 现在软件开发的过程必须经历的几个过程是需求分析、系统设计、
80年代后期形成的并发工程,其概念要点是在产品开发初期(即 方案设计阶段)就把结构、工艺、加工、装配、测试、使用、市场等 问题同期并行地启动运行,其实现必须有两个基本条件:一是专家群 体,二是共享并管理产品信息(将CAD、CAE、CIN紧密结合在一 起)。显然,这需要面向对象技术的支持。
UML建模实例教程
继承性 继承性是子类自动共享父类数据和方法的机制,它由类的派生功能体 现。一个类直接继承其它类的全部描述,同时可修改和扩充。 继承具有传递性,继承分为单继承(一个子类只有一父类)和多重继
承(一个类有多个父类)。
UML建模实例教程
2.2.2 面向对象主要特征
多态性
对象根据所接收的消息会产生行动,同一消息为不同的对象接受时可 产生完全不同的行动,这种现象称为多态性。 面向对象方法的优越性
UML建模实例教程
2.4 面向对象设计
OOD阶段主要工作
(1)对象定义规格的求精
在软件系统内设设计各个对象、对象间的关系(如层次关系、继 承关系等)、对象间的通信方式(如消息模式)等 。 (2)数据模型和数据库设计 数据模型的设计需要确定类和对象属性的内容、消息连接的方式、
系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实 到面向对象的库结构模型中 。 (3)优化设计 从另一个角度对分析结果和处理业务过程的整理归纳,优化包括 对象和结构的优化、抽象、集成。
任务目标
了解面向对象软件工程的基本思想和OOA、
OOD和OOP的基本内容。
教学方法 分组教学法 资料查询法
UML建模实例教程
2.1.1 面向对象方法基本思想
对象的含义
胡塞尔认为对象是世界中的物体在人脑中的映象,是人的意识之 所以为意识的反映,是作为一种概念而存在的先念的东西,它还包括
了人的意愿。
UML建模 实例教程
第2章 面向对象技术和建模基础
刘志成 编著
本章学习导航
本章学习导航
UML建模实例教程
本章学习要点
面向对象方法 面向对象的基本概念与特征
面向对象分析 面向对象设计 面向对象实现
面向对象方法的内涵 软件建模概述
建议课时:6课时
UML建模实例教程
任务1
UML建模实例教程
2.3.1 处理复杂问题的原则
抽象
抽象是指为了某一分析目的而集中精力研究对象的某一性质,它
可以忽略其它与此目的无关的部分。抽象机制被用在数据分析方面, 称之为数据抽象。数据抽象是OOA的核心。抽象机制有时也被用在对 过程的分解方面,被称之为过程抽象。
封装
封装即信息隐蔽。是指在确定系统的某一部分内容时,应考虑到 其它部分的信息及联系都在这一部分的内部进行,外部各部分之间的 信息联系应尽可能的少。
UML建模实例教程
2.3.1 处理复杂问题的原则
组织方法
在分析和认识世界时,可综合采用如下三种组织方法: 特定对象与其属性之间的区别 整体对象与相应组成部分对象之间的区别 不同对象类的构成及其区别 比例
比例是一种运用整体与部分原则,辅助处理复杂问题的方法 。
行为范畴 行为范畴是针对被分析对象而言的,它们主要包括: 基于直接原因的行为 时变性行为 功能查询性行为
而继承性是对具有层次关系的类的属性和操作进行共享的一种方式。 所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构 造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
UML建模实例教程
2.1.2 面向对象方法的发展
面向对象方法的发展
(1)50年代后期,ALGOL语言中首次提供封装(保护)的尝试。 (2)60年代中后期,Simula语言提出了对象的概念,并使用了类, 也支持类继承。 (3)70年代,Smalltalk语言诞生,它取Simula的类为核心概念。 (4)1980年,Xerox公司推出商品化的Smalltalk 80,它在系统设计 中强调对象概念的统一,引入对象、对象类、方法、实例等概念和术 语,采用动态联编和单继承机制。 (5)80年代以来,人们将面向对象的基本概念和运行机制运用到其 它领域,获得了一系列相应领域的面向对象的技术。 (6)1986年在美国举行了首届“面向对象编程、系统、语言和应用 (OOPSLA'86)”国际会议,使面向对象受到世人瞩目
UML建模实例教程
2.3.1 处理复杂问题的原则
继承
继承是指能直接获得已有的性质和特征而不必重复定义它们。OOA可
以一次性地指定对象的公共属性和方法,然后再特化和扩展这些属性 及方法为特殊情况,继承者也可以定义自己独有的特性。 相关
相关是指把某一时刻或相同环境下发生的事物联系在一起 。
消息通信
消息通信是指在对象之间互相传递信息的通信方式 。
(1) 强调从现实世界中客观存在的事物(对象)出发来认识问题域 和构造系统。 (2) 运用人类日常的思维方法和原则进行系统开发。 (3) 对象的概念贯穿于开发过程的始终。 (4) 对象概念的一致性。 (5) 对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。 (6) 对象类之间的继承关系和对象的相对独立性,对软件复用提供 了强有力的支持。
UML建模实例教程
2.6 面向对象方法的内涵
面向对象程序设计范型
程序设计范型(以下简称程设范型)具体指的是程序设计的体裁。 过程式程设范型是流行最广泛的程序设计范型(人们平常所使用 的程序设计语言大多属于此类型),这一程设范型的中心点是设计过 程,所以程序设计时首先要决定的是问题解所需要的过程,然后设计
wenku.baidu.com
UML建模实例教程
2.5 面向对象实现
面向对象编程的基本步骤
(1) 分析确定在问题空间和解空间出现的全部对象及其属性。 (2) 确定应施加于每个对象的操作,即对象固有的处理能力。 (3) 分析对象间的联系,确定对象彼此间传递的消息。 (4) 设计对象的消息模式,消息模式和处理能力共同构成对象的 外部特性。 (5) 分析各个对象的外部特性,将具有相同外部特性的对象归为 一类,从而确定所需要的类。 (6) 确定类间的继承关系,将各对象的公共性质放在较上层的类 中描述,通过继承来共享对公共性质的描述。 (7) 设计每个类关于对象外部特性的描述。 (8) 设计每个类的内部实现(数据结构和方法)。 (9) 创建所需的对象(类的实例),实现对象间应有的联系(发 消息)。
面向对象技术 一般指的是解决信息领域内所遇到问题的方法,特别是应用软件 技术来解决问题的方法。 面向对象的分析(Object-Oriented Analysis) 面向对象的设计(Object-Oriented Design) 面向对象的编程(Object-Oriented Programming)
过程的算法。 面向对象程设范型是在以上范型之上发展起来的,它的关键在于 加入了类及其继承性,用类表示通用特性,子类继承父类的特性,并 可加入新的特性。
UML建模实例教程
2.6 面向对象方法的内涵
面向对象方法学
面向对象方法学要点之一:认为客观世界是由各种“对象”所组 成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状 态,每一个对象都属于某个对象“类”,都是该对象类的一个元素。 面向对象方法学要点之二:是通过类比,发现对象间的相似性,
操作提示
(1)以学习小组为单位分组讨论进行讨论,每小组推荐一名成员 进行汇报。 (2)通过上网查阅面向对象方法相关资料进行更为详细的了解。 (3)结合自己的编程实践,进一步理解面向对象的基本思想。
UML建模实例教程
任务2
任务目标 了解软件模型在开发一个软件系统时的重要作用, 理解软件建模的优点。
教学方法 分组教学法 资料查询法 类比学习法
UML建模实例教程
2.2.1 面向对象方法的基本概念
对象
对象是要研究的任何事物。从一本书、一个人、一件商品、一家
图书馆、一家极其复杂的自动化工厂、一架航天飞机都可看作对象, 它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或 事件。
类 类是对象的模板。即类是 对一组有相同数据和相同操作 的对象的定义,一个类所包含 的方法和数据描述一组对象的 共同属性和行为。
初步实现、系统实现、系统运行、系统维护。在这几个阶段,迭代式 的开发模式让我们每个阶段都经历一次系统建模的洗礼。
UML建模实例教程
2.7.2 软件建模的用途
建模的用途
(1)捕获精确和表达项目的需求和应用领域中的知识,以使各方面 的利益相关者能够理解并达成一致。 (2)进行系统设计。
相关文档
最新文档