欢迎来到天天文库
浏览记录
ID:56719388
大小:152.00 KB
页数:14页
时间:2020-07-06
《软件工程(自编教材)习题集答案解析.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《软件工程》习题参考答案周兵1.1教材:《软件工程》方木云主编,清华大学,20161.2参考书目:1.《Softwareengineering》8thEditionIanSommervile,PearsonEducation,机械工业,20062.《软件工程》,王忠群主编,中国科学技术大学, 20093.《软件工程导论》(第4版),海藩编著,清华大学,20074、《Softwareengineering:apractitioner'sapproach》RogerS.Pressman.6thed.Pressman,Ro
2、gerS.ChinaMachinePress, 20081.3说明:斜体部分是可选讲授容,带星号的习题为可选。第1章软件工程学概述1.1习题A.1什么是软件?软件可以分为哪些类?p11答:软件是程序、数据及相关文档的完整集合。软件可分为通用软件和定制软件。A.2*什么是软件危机及其表现?p11答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。具体地说,软件危机主要有以下一些典型表现。(1)对软件
3、开发成本和进度的估计常常很不准确。(2)用户对“已完成的”软件系统不满意的现象经常发生。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例逐年上升。(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。A.3什么是软件工程?p11答:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地
4、开发出高质量的软件并有效地维护它,这就是软件工程。A.4什么是软件过程?p20答:软件过程由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。第1章软件过程模型1.1习题A.1什么是瀑布型方法?p20答:按照时间顺序依次进行可行性分析、项目计划、需求分析、概要设计、详细设计、编码与单元测试、集成测试、确认验证、运行与维护等几个阶段进行软件开发。A.2什么是快速原型方法?p28答:所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能
5、的一个子集。强调过程的多次反复,对文档的要求不高。A.3什么是增量方法?说说它产生的原因和适用的围。P43答:增量模型也称为渐增模型,是快速原型法的一种;使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。使用增量模型可以:在较短时间向用户提交可完成部分工作的产品;客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验;项目总体性失败的风险比较低。A.4什么是面向复用方法?说说它产生的原因和适用的围。P43答:面向复用的方法使用可复用软件组件以及能集成这些组件的框架来构建和开发新的
6、软件;有时,这些组件本身就是一个独立的能满足某种需要的系统。使用这种方法可以节省大量的重复劳动,加快开发速度。存在大量可以重用的构件的时候,可以使用这种方法。A.5什么是形式化方法?说说它产生的原因和适用的围。P43答:形式化系统开发是一个类似瀑布模型的软件开发方法,但其开发过程基于的是用形式化数学转换来将系统描述转换成一个可执行程序。因为使用这种方法可以大大提高软件的可靠性,以及节省测试成本;这种方法主要用于可靠性要求很高的软件。第1章可行性研究第2章需求分析2.1习题A.1为什么要进行软件需求分析?请叙述软件需求
7、分析的主要过程。P66答:软件需求分析在软件开发过程中具有举足轻重的地位,它是开发出正确的、高质量的软件系统的重要保证。有数据表明,更正需求分析阶段的一个错误所花费的工作量是更正测试阶段的一个错误的一百倍。软件需求分析的主要过程:获取用户需求、分析用户需求、编写需求文档、进行需求评审A.2软件需求规格说明书由哪些部分组成?p66答:软件需求规格说明书由引言、任务概述、需求规定、运行环境规定四个部分组成。第3章概要设计(总体)3.1习题A.1什么是模块?什么是模块化?。P75答:模块是由边界元素限定的相邻程序元素(例如
8、,数据说明,可执行的语句)的序列,而且有一个总体标识符代表它。过程、函数、子程序和宏等,都可作为模块。面向对象方法学中的对象是模块,对象的方法(或称为服务)也是模块。模块是构成程序的基本构件。模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使
此文档下载收益归作者所有