面向对象技术概述ppt课件.ppt

面向对象技术概述ppt课件.ppt

ID:58988579

大小:2.02 MB

页数:57页

时间:2020-09-27

面向对象技术概述ppt课件.ppt_第1页
面向对象技术概述ppt课件.ppt_第2页
面向对象技术概述ppt课件.ppt_第3页
面向对象技术概述ppt课件.ppt_第4页
面向对象技术概述ppt课件.ppt_第5页
资源描述:

《面向对象技术概述ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象技术基本概念1.1软件危机及软件工程○20世纪60年代中期开始爆发软件危机人们认识到大中型软件系统与小型软件系统有本质的不同。○1968年,北大西洋公约组织(NATO)科技委员会在德国Garmisch召开研讨会,商讨摆脱软件危机的办法,第一次提出了“软件工程”的概念。1.1软件危机及软件工程□30多年发展《软件工程》发展软件危机依然存在→更加严重□大量的事实说明软件的质量和生产率问题远没有解决1.1软件危机及软件工程□与30多年前相比,现在的软件在规模、复杂性等方面远超过以前。□大型软件开发中的许多问题:①开发生产率低②产

2、品质量差③产品难以维护④软件可移植性差⑤开发费用超支⑥开发时间超期1.1软件危机及软件工程□国内外软件开发现状:○小型软件系统:有比较好的方法,成功率较高○大型软件系统:情况不尽人意1.1软件危机及软件工程□针对大型软件系统开发中存在的问题人们提出了很多方法:①瀑布式软件开发方法②快速原型方法③螺旋式软件开发方法④变换式软件开发方法……结论:软件危机并没有完全解决软件危机依然存在1.2对软件开发的基本认识大型软件系统的特点:①开发代价高②开发时间长③开发人员多④生命周期长采用传统的方法开发大型软件存在问题:①开发效率低②产品质量差

3、③产品难维护④可移植性差⑤可复用性低1.2对软件开发的基本认识□软件系统的开发①软件开发过程需求分析→总体设计→详细设计→代码实现→测试→交付②软件开发过程中所涉及的各种资源开发人员、硬件资源、软件资源□软件开发中存在问题的原因:两方面控制不当、协调不一致。1.2对软件开发的基本认识□软件工程的目的在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统。○当初提出软件工程,就是希望采用工程的概念、原理、技术和方法,把经过时间考验而证明有效的管理技术和当前最好的技术方法结合起来,以指导计算机软件的开发和维护。1.2对软件

4、开发的基本认识□为了深入理解软件工程,有必要探讨软件的特点。软件是一个逻辑部件。较硬件:①表现形式不同。○硬件:看得见、摸得着○软件:没有颜色、形状,只有在计算机上运行后才知道。1.2对软件开发的基本认识②生产方式不同。○硬件:工业制作○软件:和人的智力活动紧密相关,很多人共同完成一个项目,需要相互交流。1.2对软件开发的基本认识③产品要求不同。○硬件:可以有误差,只要达到精度○软件:不允许有误差。1.2对软件开发的基本认识④维护方式不同。○硬件:使用备用件○软件:没有备用件。修改,修改可能带来新错误,继续修改…1.3软件的固有复

5、杂性□软件的复杂性是固有的原因有五:①计算机的体系结构冯.诺依曼结构②软件开发是智力活动③软件系统中各元素之间相互作用不确定性④软件系统面临不断变化的压力⑤软件系统的生命周期较相应的硬件系统长1.3软件的固有复杂性□传统的工程领域有好的理论帮助其设计○桥梁专家力学理论○硬件设计师微电子学理论○软件设计人员nothing1.3软件的固有复杂性□没有理论指导,导致软件可以具有极大的无序度,使得软件系统难以理解、认识、掌握和控制。○软件设计人员所面临问题的复杂性>>设计一座桥梁,设计一个芯片的复杂性①为自己建立设计与实现的准则②利用这些

6、准则构造符合要求的软件系统1.4控制软件复杂性的基本方法□软件的复杂性大型软件系统的一个固有的本质特征。□固有的=>无法彻底消除这些复杂性因此只能采用控制复杂性的方法尽量减少软件复杂性对软件开发过程的影响,而分解、抽象、模块化、信息隐蔽等是控制软件复杂性的有效方法。1.分解□解决复杂问题:“各个击破”著名的计算机科学家Parnas认为,巧妙地分解系统可以有效地划分系统的状态空间,降低软件系统的复杂性所带来的影响。结论:对于复杂的软件系统逐步分解,直到不能分解为止。这样可以使系统的复杂性,在特定的层次与范围内不会超过人的理解能力。2

7、.抽象□抽象:抽取系统中的基本特征而忽略非基本的特征,以便更充分地注意与当前目标有关的方面。■Miller在一篇经典的文献“神奇的数字7”中提到,人在同一时间里,一般只能集中于7项左右的信息,而不受信息的内容、大小等因素的影响2.抽象过程抽象抽象数据抽象①过程抽象:将处理分解成子步骤②数据抽象:数据类型+操作规定:数据类型的值只能通过这些操作来完成。例:privateintx=0;publicvoidsetX(intx){this.x=x;}publicintgetX(){returnthis.x;}3.模块化□Parnas对模块

8、化的原则有精辟的论述。原则:高内聚、低耦合。①高内聚:指在一个模块中应尽量多地汇集逻辑上相关的计算资源。②低耦合:指的是模块之间的相互作用应尽量少。4.信息隐蔽□信息隐蔽的原则是把模块内的实现细节与外界隔离,用户只需知道模块的功能,而不需了解模块的

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

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

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