1 / 82
文档名称:

C++程序设计课件第8章.ppt

格式:ppt   大小:1,124KB   页数:82页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C++程序设计课件第8章.ppt

上传人:孔乙己 2022/5/20 文件大小:1.10 MB

下载得到文件列表

C++程序设计课件第8章.ppt

文档介绍

文档介绍:C++程序设计课件第8章
外部对象不能直接操作对象的属性,只能使用对象提供的接口。具有封装性的条件如下:
有一个清晰的边界。所有私有数据和实现操作的代码都被封装在这个边界内,从外面看不见更不能直接访问。
有确定的接口(即协议)。接口建模概念结合起来,增强了模型的可理解性和表达能力。
对象模型还表示了类/对象之间的结构关系。类/对象之间的关系一般可概括为关联、归纳(继承)、组合(或聚集)三类。
面向对象的模型
Date
16
面向对象的模型
2. 动态模型表示瞬间的、行为化的系统“控制”性质,它规定了对象模型中对象状态的合法变化序列。
对象有自己的生命周期,它由多个阶段组成,每个特定阶段都有规范该对象行为的一组运行规则。
对象的状态是对象属性的一种抽象,事件是某个特定时刻发生的一个系统行为是引起对象状态转换的控制信息。对象对事件的响应,取决于当时的状态,响应包括改变自己的状态,或者是形成一个新的触发行为(事件)。
动态模型描绘对象的状态,触发状态转换的事件,以及对象行为(对事件的响应),即基于事件共享而互相关联的一组状态集合构成了系统的动态模型。
Date
17
3. 功能模型指明了系统应该“做什么”,直接地反映了用户对目标系统的需求。面向对象的功能模型由一组用例组成,用例模型描述的是外部执行者(Actor)所理解的系统功能。
用例模型描述了待开发系统的功能需求
用例模型将系统看作黑盒,从外部执行者的角度来理解系统
用例模型驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和 UML 的各个模型。
在UML中,一个用例模型由若干个用例图描述,用例图主要元素是用例和执行者。
面向对象的模型
Date
18
传统程序设计方法的主要思想是自顶向下逐步分解。整个系统由分层的子程序集合构成。这要求程序设计师必须对系统的调用关系非常清楚,这对于开发大型系统来讲是是非困难的,而且构建的系统稳定性较差,任何上层子程序的修改都会引整个系统的改变。
而面向对象得程序设计方法提供一种崭新的系统设计方案,就是将系统看成一系列相关联的对象的集合,而对象之间是通过消息传递的方法相互作用来完成任务,每个对象用自己的方法管理数据。
本节就介绍这种软件开发的方法,它将软件开发过程分为3个阶段:面向对象的分析、面向对象的设计、面向对象的实现。不同阶段则使用不同的模型来描述。
面向对象程序设计过程
Date
19
面向对象的分析
面向对象分析的任务是确定系统能够做什么?谁来使用这个系统?同时建立用例模型,并定义系统中的问题领域类,主要由系统用户和开发人员合作完成。
1.需求分析
分析的第一步是定义用例,以描述所开发系统的外部功能需求。用例模型的主要构件是用例、角色和系统边界。用例用于描述系统所有功能需求,系统边界用于界定系统功能的范围,而角色用于描述与系统功能有关的外部实体,它可以是用户,也可以是外部系统。
Date
20
使用面向对象程序设计方法时,在本阶段不需要严格的系统规格说明书,可以使用图表(如用例图)来描述系统的功能,除了用用例图描述系统需求外,还可以用文字(或活动图)对每个用例进行需求说明,更具体地描述该用例与角色的交互。例如电梯模拟系统的用例图如下:
面向对象的分析
Date
21
面向对象的分析
乘 客
处理电梯呼叫
标示移动方向
处理楼层呼叫
标示电梯位置
电梯模拟系统
移动停止电梯
开关门
触发紧急处理器
电梯模拟系统用例图
Date
22
2.特定领域类分析
分析阶段的另一项工作是特定领域分析,以列出系统中的特定领域类。我们可以通过阅读规格说明、用例以及寻找系统处理的"概念"来进行特定领域分析,也可以通过用户和领域专家的讨论,以识别出要处理的所有关键类及它们的相互关系。这里的特定领域是指具体的商业领域,而不是整个系统领域。
在本实例中,可以确定电梯模拟系统中特定领域类为电梯、调度、门、按钮、楼层等,并使用类图来描述系统领域类及其关系。
面向对象的分析
Date
23
需要强调的是,这一阶段对特定领域类的描述具有一定的素描性质,也就是说特定领域类的操作和属性不一定与最终实现时的定义一致。因为此时还没有涉及到系统功能的具体实现,不可能准确、完整地定义它们。有一些操作需要在设计阶段细化时才能确定。
此外,为了描述问题领域中类的动态行为,可以使用UML中的任何一种动态图(如顺序图、活动图、协作图