第八章 面向对象的分析与设计

合集下载

软件工程 第八章 面向对象的设计方法

软件工程 第八章 面向对象的设计方法

第八章面向对象的设计方法本章采用基于UML的面向对象设计方法的将分析模型转换为设计模型。

如第五章所述,面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。

为完成这一转换过程,设计人员必须处理以下任务:(1)针对分析模型中的用例,设计实现方案。

实现方案用UML交互图表示。

(2)设计技术支撑设施。

在大型软件项目中,往往需要一些技术支撑设施来帮助业务需求层面的类或子系统完成其功能。

这些设施本身并非业务需求的一部分,但却为多种业务需求的实现提供公共服务。

例如,数据的持久存储服务、安全控制服务和远程访问服务等。

在面向对象设计中,需要研究这些技术支撑设施的实现方式以及它们与业务需求层面的类及子系统之间的关系。

(3)设计用户界面。

(4)针对分析模型中的领域概念模型以及第(2)、(3)两个步骤引进的新类,完整、精确地确定每个类的属性和操作,并完整地标示类之间的关系。

此外,为了实现软件重用和强内聚、松耦合等软件设计原则,还可以对前面形成的类图进行各种微调,最终形成足以构成面向对象程序设计的基础和依据的详尽类图。

面向对象的软件设计过程如图8-1-1所示。

图8-1-1 面向对象的软件设计过程第一节设计用例实现方案UML 的交互图(顺序图、协作图)适于用例实现方案的表示。

因此,本节首先介绍交互图的语言机制,然后探讨用例实现方案的设计方法。

该设计方法包含如下3个步骤:(1)提取边界类、实体类和控制类;(2)构造交互图;(3)根据交互图精华类图。

一、顺序图顺序图用来描述对象之间动态的交互关系,着重表现对象间消息传递的时间顺序。

在顺序图中,参与交互的对象位于顶端的水平轴上,垂直轴表示时间,时间推移的方向是自上而下的。

顺序图中的对象一般以“对象名:类名”的方式标识,但也可以仅采用缩写形式“对象名”或者“:类名”。

面向对象分析与设计

面向对象分析与设计

面向对象分析与设计在软件开发过程中,面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种重要的方法论。

通过OOAD,开发者可以将现实世界中的概念和问题转化为软件系统的结构和行为。

一、什么是面向对象分析与设计?面向对象分析与设计是一种以对象为核心的开发方法。

它强调将问题领域的实体、关系和行为抽象为对象、类和方法。

面向对象的分析阶段主要关注问题领域的需求和约束,而设计阶段则更关注如何将需求转化为可执行的软件系统。

二、面向对象分析与设计的优势1. 模块化:面向对象的方法将复杂的系统拆分为多个独立的对象,每个对象都有清晰的职责和接口。

这种模块化可以提高代码的可维护性和可复用性。

2. 继承与多态:继承是面向对象编程中的重要特性,它允许新的类继承已有类的属性和方法。

多态则允许对象在不同上下文中表现出不同的行为。

这些特性使得代码更加灵活和易于扩展。

3. 封装与信息隐藏:面向对象的方法将数据和操作封装在对象内部,外界只能通过对象的接口进行交互。

这种封装和信息隐藏可以保护数据的完整性和安全性。

4. 规范化的开发流程:面向对象的分析与设计有一套规范的开发流程,包括需求分析、概念设计、详细设计和实现等阶段。

这种流程可以提高开发效率,并减少错误和重复工作。

三、面向对象分析与设计的过程1. 需求收集与分析:在这个阶段,开发者与用户密切合作,收集和分析系统的业务需求。

通过访谈、文档分析等方法,确定系统的功能、性能和约束等方面的要求。

2. 概念设计:在概念设计阶段,开发者将业务需求转化为概念模型。

通过绘制用例图、类图、状态图等工具,描述系统的结构和行为。

3. 详细设计:在详细设计阶段,开发者将概念模型进一步细化,确定具体的类和接口。

同时,还需要考虑系统的性能、安全和可维护性等方面的问题。

4. 编码与测试:在编码阶段,开发者根据详细设计的要求,使用具体的编程语言实现系统。

软件工程面向对象的分析与设计

软件工程面向对象的分析与设计
软件的质量和开发效率
-
THANKS!
XX生活即将结束,在此,我要感谢所有教导我的老师和陪 伴我一齐成长的同学,他们在我的大学生涯给予了很大的帮助。本论 文能够顺利完成,要特别感谢我的导师XXX老师,XXX老师对该论文从选题,构
思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计! 最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位
识别类和继承
通过类和继承,我们可以组织具有相似属性和行为的对象。类 定义了一组对象的通用属性和行为,而继承则允许我们从一个 类派生出另一个类,从而共享和扩展其属性和行为
定义接口
接口定义了类或对象之间的交互方式。它描述了对象需要提供 的方法和需要遵守的协议
面向对象的分析
通过面向对象的分析, 我们可以更准确地理 解和描述软件系统的 需求,为后续的设计 和实现打下坚实的基 础
2
面向对象的 设计
面向对象的设计
面向对象的设计(Object-Oriented Design,OOD)是软件工程过程中的一个关键阶段 ,其目标是基于面向对象的分析结果,设计出满足系统需求的软件结构
识别类和对象:根据面向对象的分析结果,识别出系统中的主要类和对象。这些类和 对象应该能够准确地反映问题域的特征和需求
和操作方式
设计数据库:根据系统的数 据需求,设计出合适的数据 库结构。数据库应该能够有 效地存储和管理系统的数据
设计系统架构:根据系统的 功能需求和性能要求,设计 出合适的系统架构。系统架 构应该能够支持系统的可扩 展性、可维护性和可重用性
面向对象的设计
通过面向对象的设计,我们可 以设计出结构清晰、易于理解 和实现的软件系统,从而提高
面向对象的分析

面向对象的系统分析与设计(山东联盟)智慧树知到答案章节测试2023年山东财经大学

面向对象的系统分析与设计(山东联盟)智慧树知到答案章节测试2023年山东财经大学

第一章测试1.下面关于功能分解法的优点描述错误的是A:与模块化编程结合使用后,使开发效率有很大提高B:以系统需要提供的功能为中心组织系统C:删除了GoTo语句,使软件能得到有效维护D:具有较强的应对需求变化的能力答案:D2.下面的开发方法能够兼顾功能和数据的是A:面向对象方法B:信息建模法C:结构化方法D:功能分解法答案:A3.结构化方法采用数据流、加工进行建模,需求变化极易引起两者的变动,进而引起其他数据流和加工的变化A:错B:对答案:B4.功能分解法以功能作为系统的构造块,数据组织能力强。

A:错B:对答案:A5.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。

因此面向对象方法有许多特征,如软件系统是由对象组成的;();对象彼此之间仅能通过传递消息互相联系;层次结构的继承。

A:强调需求分析重要性B:把对象划分成类,每个对象类都定义一组数据和方法C:对既存类进行调整D:开发过程基于功能分析和功能分解答案:B第二章测试1.下列关于UML叙述正确的是()。

A: UML仅是一组图形的集合B: UML仅适用于系统的分析与设计阶段C: UML是一种语言,也是系统设计的方法D:在信息系统开发过程方面,UML是一种建模语言,不是对开发过程的细节进行描述的工具答案:D2.UML的最终产物就是最后提交的可执行的软件系统和()。

A: 类图B: 动态图C: 用户手册D: 相应的软件文档资料答案:D3.UML提供了4种静态图用于对系统的静态方面进行可视化、详述、构造和文档化。

其中()是面向对象系统建模中最常用的图,用于说明系统的静态设计视图。

A: 部署图B: 组件图C: 对象图D: 类图答案:D4.UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。

其当需要显示代码物理结构,并用于实际的编程时,应该选择()。

面向对象分析与设计方法

面向对象分析与设计方法

面向对象分析与设计方法引言:面向对象分析与设计方法是一种软件开发的方法论,它强调将问题领域的实体和行为抽象成对象,并通过对象之间的交互来解决问题。

本文将探讨面向对象分析与设计方法的特点、应用场景以及其中涉及的主要概念和步骤。

一、面向对象分析与设计方法的特点1. 抽象与封装:面向对象方法将问题领域的实体和行为抽象成对象,通过封装对象的属性和方法,实现了信息隐藏和模块化。

2. 继承与多态:继承机制使得对象可以从已有的类派生出新的类,减少了重复设计的工作量。

多态使得同一种行为可以在不同的对象上具有不同的实现方式。

3. 消息传递与对象交互:对象通过消息传递进行通信,通过对象之间的交互来实现问题解决。

这种方式使得系统具有良好的灵活性和可扩展性。

4. 高内聚与低耦合:面向对象方法通过将相关属性和方法封装在同一个对象中,实现了高内聚;同时,对象之间的交互通过接口进行,实现了低耦合。

二、面向对象分析与设计方法的应用场景1. 软件系统设计:面向对象方法适用于各种规模的软件系统设计,可以帮助开发者理清系统的模块划分和功能实现。

2. 数据库设计:面向对象方法可以将数据库中的实体和关系映射到对象之间,方便进行数据库设计和操作。

3. 网络应用开发:面向对象方法适用于网络应用开发,如网站、移动应用等。

通过抽象出各个功能模块的对象,实现系统的灵活和可扩展。

三、面向对象分析与设计方法的主要概念和步骤1. 概念:- 类:表示一组具有相同属性和行为的对象的抽象。

类包含属性和方法。

- 对象:类的实例化。

每个对象都有一组属性和对应的方法。

- 属性:对象的特征,用于描述对象的状态。

- 方法:对象能够执行的操作。

- 关联:不同对象之间的关系。

- 继承:通过派生机制,实现类的复用和扩展。

- 多态:同一种行为在不同的对象上具有不同的实现方式。

2. 步骤:- 需求分析:了解问题领域,确定系统需求和功能。

- 概念设计:识别和分析问题领域中的实体、关系和行为,形成概念模型。

面向对象的分析和设计

面向对象的分析和设计
5 面向对象分析与设计 23
5.1.4 面向对象的开发方法
1.Booch方法 . 方法
• Booch认为软件开发是一个螺旋上升的过程,上升的每 Booch认为软件开发是一个螺旋上升的过程, 认为软件开发是一个螺旋上升的过程 个周期有固定的步骤, 个周期有固定的步骤, • 首先发现应用领域的对象和类,然后确定其含义,找 首先发现应用领域的对象和类,然后确定其含义, 出类之间的关系,说明界面和实现。 出类之间的关系,说明界面和实现。 • 这些步骤完成之后,又开始发现新的对象和类等。 这些步骤完成之后,又开始发现新的对象和类等。
5 面向对象分析与设计 6
传统软件工程与面向对象软件工程
• 传统软件工程
问题域 需求分析 自然语言 分析与设计的鸿沟 总体设计 详细设计 编程 测试 计算机
5 面向对象分析与设计 7
OOSE面向对象软件工程 面向对象软件工程
问 域 题 OOA 自 语 然 言 OOD 面向对象的 编 语 程 言 OOP OOT 计 机 算
5 面向对象分析与设计 8
5.1.2面向对象的软件工程方法
1.面向对象的分析 OOA) .面向对象的分析(
OOA强调针对问题域中客观存在的各种事物 OOA 强调针对问题域中客观存在的各种事物 建立OOA模型中的对象。 OOA模型中的对象 建立OOA模型中的对象。并保留了问题域中 事物之间关系 2.面向对象的设计 . OOD则是针对系统的一个具体的实现运用 则是针对系统的一个具体的实现运用 OO方法。 方法。 方法
5 面向对象分析与设计 15
5.1.3 面向对象的基本概念和特征
• 特征 .继承性 特征4.
继承 是在一个已存有的类的基础上建立一个新 的类。并将已存在的类称为--基类或父类; --基类或父类 的类。并将已存在的类称为--基类或父类; 新建立的类称为—派生类或子类 派生类或子类。 新建立的类称为 派生类或子类。

软件工程中的面向对象分析和设计

软件工程中的面向对象分析和设计面向对象分析和设计(OOAD)是软件工程中的一种方法论,它强调在软件开发过程中必须将“对象”作为思考和处理的核心概念。

本文将从面向对象分析和设计的定义、原则、流程和工具等方面进行阐述。

一、定义面向对象分析和设计(OOAD)是一种针对于对象的方法,通过把现实世界建模为软件世界中的对象,来确保软件能够更好地解决业务需求。

它主要解决软件问题的复杂性,可用于多种类型的软件开发。

本方法包括对要开发的系统进行分析和设计两个阶段。

面向对象分析(OOA)阶段着重于确定系统所要控制、管理、处理和维护的对象,而面向对象设计(OOD)阶段则涉及如何以对象为核心来设计系统。

二、原则面向对象分析和设计的主要原则包括:1.面向对象:以对象为中心,将系统分解为一系列相互协作的对象,而非由一组基本算法或数据结构来定义。

2.开放封闭原则:开放封闭原则,即软件中的对象应该对扩展开放(即增加一些新的功能),而对修改关闭(即不需修改已经得到的代码)。

3.继承:通过继承机制建立对象之间的关系,共享类之间的属性和方法。

4.封装:数据和函数封装在对象的封闭空间中,仅提供与其他对象交互的公共接口。

5.多态:多态是指在运行时选择对象的行为方式。

同一个消息给不同的对象可以导致不同的行为。

三、流程面向对象分析和设计具有一定的工作流程,如下图:1.确定业务需求;2.分析业务需求,建立一个现实世界模型;3.分析模型,确定系统中的对象,建立对象模型;4.设计对象间的关系,建立关系模型;5.根据对象和关系模型建立系统模型;6.设计系统架构;7.设计类实现;8.生成代码。

四、工具在面向对象分析和设计中,常用的工具有:1. UML(统一建模语言):一种建立系统模型的标准化语言,可以方便快速地进行面向对象分析和设计。

2. Rational Rose:一种基于UML的可视化建模工具,支持用例分析、状态图设计、类图和对象间关系设计。

3. Visual Paradigm for UML:可视化的UML工具,用以支持面向对象的分析和设计。

面向对象分析与设计的方法探讨

面向对象分析与设计的方法探讨随着计算机技术的发展,软件开发已经成为了我们生活中不可或缺的一部分。

而面向对象分析与设计是软件开发过程中最为重要的一环节之一。

在这篇文章中,我们将对面向对象分析与设计的方法进行探讨。

第一部分:面向对象分析面向对象分析(Object-Oriented Analysis,OOA)是一种基于对象的分析方法,它以对象为中心,分析问题的整体和组成部分之间的关系,从而得到相应的需求。

面向对象分析的核心在于对象,即将问题领域的实体看作是拥有属性和行为的对象。

面向对象分析的方法论源自于著名的Booch方法。

根据Booch方法,面向对象分析应该包含三个主要的步骤:确定问题领域,识别对象和建立对象关系。

首先,我们需要对问题领域进行全面而详细的了解,包括了解问题领域的特性,范围和限制等方面。

其次,我们需要识别出问题领域中的重要对象,并确定它们的属性和行为。

最后,我们需要建立对象之间的关系,确定之间的依赖关系和协作关系。

面向对象分析的优点在于它能够更好地反映问题领域的实际情况,以及更为灵活的模块化设计方式。

通过面向对象分析,我们可以更好地应对复杂的软件系统设计和开发过程。

第二部分:面向对象设计面向对象设计(Object-Oriented Design,OOD)是在面向对象分析的基础上进行的,旨在构建一个完整而可行的软件方案。

面向对象设计是一个复杂而艰巨的过程,它需要考虑到诸多因素:系统的可维护性、可扩展性、可移植性和性能等方面。

因此,面向对象设计需要有一定的规范和方法,以保证设计的高质量和可行性。

面向对象设计的核心概念包括继承、多态、封装和抽象。

继承是指一个子类可以继承父类的属性和方法;多态是指允许一个对象对其他对象具有不同的行为;封装是指将数据和操作封装在一个类中,并对外提供接口;抽象是指将对类的描述和具体实现分离。

面向对象设计的方法主要包括建模和设计两个部分。

建模是将分析的结果转化为能够实际实现的模型。

面向对象分析与设计

面向对象分析与设计第三章UML是一种建模语言,用于对软件系统制品进行规约。

可视化构造和文档化,也可以用于业务建模以及其他非软件系统的建模。

因此他只是一种建模语言,而不是一种建模方法UML用于建立系统的分析模型和设计模型,而不是用于编程UML的主题部分并不是一种形式化语言,它只是部分的采用了形式化语言的定义方式,而且也不是严格的形式化第四章抽象是面向对象方法中使用最为广泛的原则:1:系统中的对象是对现实世界中事物的抽象2:类是对象的抽象3:一般类是对特殊类的抽象4:属性是事物静态特征的抽象5:操作是事物动态特征的抽象粒度控制:人在面对一个复杂的问题时,不可能在同一时刻纵观全局,又能洞察秋毫。

因此需要控制自己的视野;考虑全局时,注重其大的组成部分;暂时不去详细考察每一部分的具体细节;考虑某个部分的细节时暂时撇开其余部分和宏观上的问题,这就是粒度控制。

行为分析:采用如下行为分析原则,以控制行为的复杂性:以对象为单位描述系统中的各种行为;通过消息描述对象之间的行为依赖关系认识行为的起因,区分主动行为和被动行为认识系统的并发行为用况图:把用况、参与者以及它们之间的关系用一些图形符号进行可视化表示,便得到用况图(use case diagram)用况图是直接描述需求的,因此它是一个需求模型模型图中表达不尽的信息,需要以文字和表格等方式做进一步描述,这就是模型规约。

OOA与OOD的关系:不同的目标、内容和抽象层次:通过OOA和OOD所得到的系统模型分别成为OOA模型和OOD 模型,它们都是对系统的抽象描述,但是属于不同的抽象层次。

OOA的主要内容是研究问题域和系统责任,运用面向对象的观点发现问题域中与系统责任有关的对象,认识对象的内部特征和各类对象之间的关系,目标是建立一个直接映射问题域,符合用户需求的OOA模型。

OOD的主要内容是以OOA为基础,针对选定的实现平台进行系统设计,目标是产生一个能够在选定的软硬件平台上实现的OOD模型。

面向对象的分析和设计.ppt

23
子系统的设计准则是: (1) 子系统应具有定义良好的接口,通过接口 和系统的其它部分通信; (2) 除了少数的“通信类” 外,子系统中的类 应只和该子系统中的其它类协作; (3) 子系统的数量不宜太多; (4) 可以在子系统内部再次划分,以降低复杂 性。
24
2) 标识问题本身的并发性,并为子系统分配 处理器 通过对对象--行为模型的分析,可发现系 统的并发性。如果对象(或子系统)不是同时 活动的,则它们不需并发处理,此时这些对象 (或子系统)可以在同一个处理器上实现。反 之,如果对象(或子系统)必须对一些事件同 时异步地动作,则它们被视为并发的,此时, 可以将并发的子系统分别分配到不同的处理器, 或者分配在同一个处理器,而由操作系统提供 并发支持。
15
5. 多态性(polymorphism) 多态性是指同一个操作作用于不同的对象 上可以有不同的解释,并产生不同的执行结 果。例如“画”操作,作用在“矩形”对象 上,则在屏幕上画一个矩形,作用在“圆” 对象上,则在屏幕上画一个圆。也就是说, 相同操作的消息发送给不同的对象时,每个 对象将根据自己所属类中定义的这个操作去 执行,从而产生不同的结果。
16
6. 动态绑定(dynamic binding) 动态绑定是指在程序运行时才将消息所请 求的操作与实现该操作的方法连接起来。 传统的程序设计语言的过程调用与目标 代码的连接(即调用哪个过程)放在程序运 行前(即编译时)进行(称为静态绑定), 而动态绑定则是把这种连接推迟到运行时才 进行。 动态绑定是一种在运行时确定被执行代 码的技术。
模型元素指模型中的实体以及实体间相互连接的关系
类 属性 操作 主动类 属性 操作 对象:类 属性 操作
用况
结点
状态
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象的发展历史-程序设计语言 初始阶段 1960’s: Simula编程语言 1970’s: Smalltalk编程语言 发展阶段 1980’s:理论基础,许多OO 编程语言(如C++, Objective-C等) 成熟阶段 1990’s:面向对象分析和设计方法(Booch, OMT, OOSE等), Java 语言 1997: OMG 组织的统一建模语言(UML) 逐渐替代了传统的结构化方法
面向对象的基本概念 对象 属性 服务 封装 类 消息 继承 多态性 动态联接
主讲教师 包琼
湖北经济学院 软件工程系
对象 对象(Object)是系统中描述客观事物的一个实 体,它是构成系统的一个基本单位,由一组属性 和对这组属性进行操作的一组服务组成。
主讲教师 包琼
主讲教师 包琼 湖北经济学院 软件工程系
类 类(Class)是具有相同属性和服务的一组对象的 集合,它为属于该类的全部对象提供了统一的抽 象描述,其内部包括属性和服务两个主要部分。 类代表一个抽象的概念或事物,对象是在客观世 界中实际存在的类的实例。 类体现了人们认识事物的基本思维方法:分类
第八章 面向对象的分析与设计
教学目的与要求 了解面向对象的基本概念 掌握面向对象分析和设计的过程 掌握使用UML进行系统分析与设计的方法 掌握用况建模的方法和UML的用例图 掌握静态建模的方法和UML的类/对象图 掌握动态建模的方法和UML的状态机图/活动图/顺 序图/协作图 重点掌握(UML核心图集):用例图、类图、顺序图、 状态图
主讲教师 包琼
湖北经济学院 软件工程系
主要内容
1 2 3 4 5
面向对象的基本概念 面向对象分析和设计的过程 UML概述 用况建模/静态建模/动态建模 物理体系结构建模
主讲教师 包琼
湖北经济学院 软件工程系
主要内容
1 2 3 4 5
面向对象的基本概念 面向对象分析和设计的过程 UML概述 用况建模/静态建模/动态建模 物理体系结构建模
主讲教师 包琼
湖北经济学院 软件工程系源自件开发的常见问题 需求的错误 不完整、不一致、不明确 开发人员和用户无法以同样的方式说明需求 需求的变化 需求在整个项目过程中始终发生变化 设计后期发生改变 持续的变化 系统功能不断变化 许多变化出现在项目后期 维护过程中发生许多变化 系统结构的崩溃 系统在不断的变化中最终变得不可用
主讲教师 包琼 湖北经济学院 软件工程系
以上问题导致 软件重用性差 软件可维护性差 开发出的软件不能满足用户需要
主讲教师 包琼
湖北经济学院 软件工程系
问题的解决方法 解决方法 严格的需求和规划阶段 设计系统结构使其适应变化 分析 问题域相对而言是稳定的 银行系统:帐户、客户、ATM 系统功能和数据表示极有可能发生变化 银行系统:帐户的可选项、ATM 的不同界面 “建造软件系统应该基于问题域,而不是实现域”
主讲教师 包琼
湖北经济学院 软件工程系
面向对象方法学 面向对象分析(Object Oriented Analysis,OOA) 分析和理解问题域,找出描述问题域和系统责 任所需的类及对象,分析它们的内部构成和外 部关系,建立OOA 模型。 面向对象设计(Object Oriented Design,OOD) 将OOA 模型直接变成OOD 模型,并且补充与一 些实现有关的部分,如人机界面、数据存储、 任务管理等。 面向对象编程(Object Oriented Programming, OOP) 用一种面向对象的编程语言将OOD 模型中的各 个成分编写成程序,由于从OOA→OOD→OOP实现 了无缝连接和平滑过渡,因此提高了开发工作 的效率和质量。
主讲教师 包琼 湖北经济学院 软件工程系
面向对象方法学(续) 面向对象测试(Object Oriented Testing,OOT) OOT指对于运用OO技术开发的软件,在测试过程 中继续运用OO技术进行以对象概念为中心的软 件测试。 以类作为基本测试单位,集中检查在类定义之 内的属性、服务和有限的对外接口,大大减少 错误影响范围。 面向对象软件维护(Object Oriented Software Maintenance) 在面向对象方法中,各阶段采用的表示是一致 的,从而大大降低了理解的难度,无论是从程 序中的错误追溯到问题域,还是需求的变化都 要从问题域追溯到程序,整个过程都是平坦的。 另外,对象的封装性使得一个对象的修改对其 他对象的影响很小,不至于牵一发而动全身。 主讲教师 包琼 湖北经济学院 软件工程系
主讲教师 包琼 湖北经济学院 软件工程系
面向对象模型更接近于问题域 以问题域中的对象为基础建模 以对象、属性和操作对问题进行建模 反复细化高层模型直到可以实现的程度 努力避免在开发过程中出现大的概念跳变 将模型组织成对象的集合 真实世界中的具体事物 • 驾驶执照、信用卡、飞机等 逻辑概念 • 操作系统中的分时策略、军事训练中的冲突 解决规则等 主讲教师 包琼 湖北经济学院 软件工程系
湖北经济学院 软件工程系
对象 属性是用来描述对象静态特征的一个数据项。 服务是用来描述对象动态特征(行为)的一个 操作序列。
主讲教师 包琼
湖北经济学院 软件工程系
对象 可见性是指对象的属性和服务允许对象外部存 取和引用的程度。
主讲教师 包琼
湖北经济学院 软件工程系
对象 封装是把对象的属性和服务结合成一个独立的 系统单位,并尽可能隐藏对象的内部细节。 封装的作用 • 使对象形成两个部分:接口(可见)和实现 (不可见) • 信息隐藏将所声明的功能(行为)与内部实 现(细节)分离 • 封装可以保护对象,避免用户误用;也可以 保护客户端,其实现过程的改变不会影响到 相应客户端的改变。
相关文档
最新文档