面向对象分析与设计复习提要

面向对象分析与设计复习提要

ID:8459673

大小:212.00 KB

页数:12页

时间:2018-03-28

面向对象分析与设计复习提要_第1页
面向对象分析与设计复习提要_第2页
面向对象分析与设计复习提要_第3页
面向对象分析与设计复习提要_第4页
面向对象分析与设计复习提要_第5页
资源描述:

《面向对象分析与设计复习提要》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《面向对象分析与设计》复习提要第一部分面向对象技术的基本概念和基本方法1.1软件开发方法的发展计算机诞生之后,计算机技术一直处于高速发展状态,计算机科学技术的发展由原来只依靠硬件的发展逐渐变为更多地依靠软件的发展。事实上,软件技术的发展经历了多代历程。l第一代(20世纪50-60年代),是以FORTRAN和ALGOL等编程语言为标志的算法技术时代。那时,程序设计全靠人们发挥创造才能,全靠技巧和窍门。基于这种算法技术的软件生产率非常低,程序很难看懂,甚至程序员自己写的程序过一段时间后自己也看不懂,

2、这给软件的修改、维护带来极大的困难。于是60年代末出现了“软件危机”。l第二代(20世纪70年代末开始到80年代盛行的),以PASCAL、COBOL等编程语言和关系数据库管理系统为标志的结构化系统分析和设计技术。为了克服软件危机,人们主要从如下两个方向做了努力:l一是从管理的角度改进软件开发方法,提出了软件工程方法,大大改善了软件的质量与可维护性。l二是侧重于对软件开发过程中分析与设计方法的研究和改进。这方面的重要成果就是在70年代出现了风靡一时的结构化开发方法—结构化系统分析和设计技术。l。l

3、为了改进基于算法技术的软件开发方法,人们提出了软件工程方法,使软件开发工作从只考虑程序的编写技巧转变到利用软件工程的方法,使软件系统的生产过程遵循一系列的规范化步骤:计划→需求分析→设计→编码→测试→运行维护每个阶段都有其明确的任务,任务完成后都将交付给下一阶段一定规格的文档,作为下一阶段开发的依据。这种开发过程直观上就像一级一级的瀑布,所以系统开发生命周期也称为“瀑布模型”。软件工程方法大大改善了软件的质量与可维护性。•瀑布模型的缺点:1)在项目各个阶段之间极少有反馈。只有在项目生命周期的后期

4、才能看到结果。 2)由于软件开发过程是一个非常复杂的过程,在软件开发的每一阶段都有可能留下隐患和错误,如果等到系统已经开发完毕,在测试阶段发现了重大问题,这时的返工就会造成人力、物力、财力及时间上的巨大浪费。当软件需求不明确或不准确时容易出现问题。l其他模型:Ø原型模型Ø增量模型Ø螺旋模型。第三代(80年代开始至今还盛行的)以Smalltalk、C++等为代表的面向对象软件开发方法(OO)。(问题1:面向对象软件开发方法发展的动因是什么?) 传统的结构化程序设计以算法为核心,把本来密切相关的数据

5、和对数据的操作分离开来,很难保持数据和操作的一致性,其软件开发方法也不符合人们的自然思维习惯,设计出来的软件系统其解空间与问题空间不一致,致使程序难以理解、修改和扩充,最终导致程序复杂性问题和软件危机。为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。(问题2:面向对象软件开发方法的优点有哪些?)面向对象开发方法一改过去传统的以功能分析和功能分解为基础的面向过程的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的集合,其面

6、向对象的设计又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它已成为成熟的广为采用的软件开发方法。到20世纪末,面向对象软件工程逐渐发展

7、成熟,特别是统一建模语言(UML)标准的形成和广泛使用,使面向对象软件开发方法已成为软件开发的主流技术。1.2面向对象的基本概念(1)对象:对象是客观实体的抽象表示,是由描述对象的属性数据和对这些数据进行的操作行为两部分组成。(2)类l类是具有相同属性和行为的对象集合的抽象描述;l类的内部包括属性和行为两个主要部分。(3)实例:类是对具有相同属性和行为的一组对象的抽象描述。因此,类可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的实际例子,通常称为实例。(4)

8、消息消息就是请求某个对象执行它所包含的某项处理操作的指令信息。实质是对某个类对象的操作函数的调用,即方法的调用。例如,studentS1;S1.display()是一个消息。一个消息一般由三部分组成:接收消息的对象名、操作函数名、函数的参数。(5)面向对象技术的三个基本特征l封装性l继承性l多态性(6)封装性所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。(7)继承性如果在一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。