欢迎来到天天文库
浏览记录
ID:47003422
大小:294.16 KB
页数:18页
时间:2019-12-03
《面向对象的设计思想课后学习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象的设计思想课后学习第二章软件设计概述软件设计是一个将人类思维物化为计算机思维的过程,通过这个过程计算机获得一定程度的独立加工甚至思维的能力,从而将人类思维推向更高层次。关于软件设计的概念和方法的研究是随着计算机应用的深入和所处理问题的复杂化而不断加深的2软件危机软件危机首次爆发于二十世纪六十年代。在大型程序设计中,人们发现投入大量的人力、物力、时间开发出的软件,其成本、效率、质量等方面却处于失控状态,尤其软件维护异常困难。程序的修改扩充往往需要大量重复性投入。软件危机产生的原因主要有三个:软件开发者不熟悉用户问题的领域
2、,或没有理解用户需求,软件产品与要求不一致。软件是一种逻辑产品而非物理产品,软件的开发过程本质上是人的思考过程。人的智力在面对越来越复杂的问题时,处理问题的效率会越来越低。3软件工程2-1软件危机的出现迫使人们重新认识软件和软件开发过程。大型软件开发也应该借鉴建筑、机械等行业的发展过程,由“手工方式”向“工程化”方向发展。1968年在北大西洋公约组织(NATO)的年会上首次提出软件工程的概念,此后又逐步提出软件生命期的概念。4软件工程2-2软件是程序、方法、规则、相关文档以及在计算机上运行所必需的数据的集合。软件工程是开发、运
3、行、维护软件的系统方法。软件生命期指从开始研制到废弃不用的整个期间,可划分为五个阶段:需求分析、设计、编程、测试和运行维护。软件的质量标准:正确性、健壮性、可维护性、可用性、可重用性、效率等5正确性和可维护性正确性软件的正确性指的是软件系统在正常条件下能够正确工作,完成规定功能。这是软件的首要指标。例如:要求设计程序,输入一批数据,计算它们的累加和。在这里,正确性就是正确能正确计算累加和。可维护性软件的维护包括发现并改正软件的错误,以及由于软件运行环境发生变化或软件功能扩充而对软件进行的改动。软件的可维护性指的是软件容易维护的
4、程度。一般地说,软件的可读性好,容易理解,维护起来也就比较容易。因此可读性是可维护性的基础。6健壮性软件的健壮性指的是在意外情况下(如输入数据不合理或某些硬件故障),软件系统仍能适当地工作,并对意外情况进行适当处理,而不致于导致错误结果甚至系统的瘫痪或死机。例如:要求设计程序,根据输入的三边a、b、c的长度判别三角形类型。现有如下设计思想:若a、b、c中只有两个量相等,则为等腰三角形,若三个量均相等,则为等边三角形,否则为一般三角形。如果输入为(-2,-2,-2)时,程序输出为:等边三角形。这个结果显然是错误的。这是由于程序对
5、不合理数据不能进行适当处理,我们就说这个程序的健壮性不好。7面向过程2-1上世纪六十年代中后期软件危机发生之后,面向过程(procedure-oriented)的结构化程序设计(structuredprogramming,SP)成为主流。结构化程序设计的提出与发展是伴随软件日益庞大和复杂进行的。但是当软件复杂到一定的程度后,结构化程序设计也不能满足需要。当软件规模超过一定的尺度后,采用结构化程序设计,其开发和维护就越来越难控制。其根本的原因就在于面向过程的结构化程序设计的方法与现实世界(包括主观世界和客观世界)往往都不一致,结
6、构化程序设计的思想往往很难贯彻到底。8面向过程2-2在结构化程序设计中,采用的是“自顶向下,逐步细化(divideandconquer,stepwiserefinement)”的思想。它的具体操作方法是模块化,是按功能来分的,所以也称功能块。也就是从一般事物中抽象出来的操作,在C++中称为一个函数,一个函数解决一个问题,即实现一个功能或一个操作。当程序规模和复杂性达到一定程度时不可避免地引入大量的全局变量,优良的模块化没法坚持到底。在模块化的思想中已经出现了封装的概念,这个封装是把数据封装到模块中,即局部变量。但这是很不彻底的
7、,因为模块是功能的抽象,而数据则是具有其个性的,一但发生那怕是一点变化,抽象的功能模块就不再适用了。如一个管理软件,管理规则变化了,则管理模块以及所有与之有联系的模块都必须更改,必须重新进行功能抽象,必须重新建立模块间联系的规则。可维护性差成了制约结构化程序设计应用的瓶颈。9从面向过程到面向对象对象的概念是面向对象技术的核心所在。面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。比如你所拥有的一部移动电话,它是现实世界中的一个实体。它由天线、发射部件、接收部件、显示屏、按键、专用集成电路芯片及外壳
8、组成;它有着其实在的功能,可以打电话,可以发短消息,可以存储、输入和编辑各种个人信息,甚至可以上网。这样一个实体可以在计算机世界中映射为一个计算机可以理解、可以操纵、具有前面所叙述的属性和操作的对象。又如你们所拥有的一辆自行车,它由车架、车轮、脚踏和传动机构、变速机构等组成,
此文档下载收益归作者所有