软件工程(第二版)课后习题

更新时间:2023-12-09 21:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

dìyīzhāng第一章 1.什么是软件危机?为什么会产生软件危机? dáruǎnjiànwēijīshìzhǐzàijìsuànjīruǎnjiàndekāifāh?w?ihùguòch?ngzhōngyùdàosh?nmeshìruǎnjiànwēijīwaish?nmehuìchǎnshēngruǎnjiànwēijī答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢

2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?

答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方

式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时

间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济 地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产 方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。

(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。

4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。

答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计

算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就

重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了

编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行

软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软

件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能 运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。

答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。 例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。

6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。

答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。

答:按规模分为极小、小、中、大、甚大、极大。 (1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。

(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。 8. 什么是形式化软件开发方法?实现这类开发的困难和出路在哪里?

答:它是一种基于数学的开发技术,主要采用数学的方法来描述系统的性质(例如程序变换和程序验证等)。形式化的方法加上自动化的开发环境,可能是解决这一难题的出路。 第二章 1.什么是软件生存周期?把生存周期划分为阶段的目的是什么?

答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小

的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因

为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。 2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点?

答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。 3.说明文档和复审对于软件质量的控制的作用。

答:每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务

。软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人

员之间互相通信的媒介,也是运行时期对软件进行维护的中要依据。每一阶段都要

对已完成的文档进行复审,以便尽早发现问题,消除隐患。愈是早期潜伏下来的故

障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。及时复审是保证软件

质量,降低开发成本的重要措施。 4.什么是快速原型法?其快速表现在哪里?

答:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概

貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。然后将原型改进,最

终建立完全符合用户要求的新系统。它的快速表现在能够缩短开发周期的语言和工

具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。

5.实现快速原型法的最终系统可以有几种方法?请说明并加以比较。

答:原型系统仅包括未来系统的主要功能,以及系统的重要接口。为了尽快向用户

提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。最终系统的

形成可以采用原型废弃不用,另一方法是补充修改模型获得最终系统。方法一不包

括系统的细节。后一种方法在实际工作中,由于原型系统使用的语言往往存在效率

不高等原因,除了少数简单的事务系统外,大多数原型都废弃不用,仅把建立原型

本文来源:https://www.bwwdw.com/article/kgc5.html

Top