软件工程(自编教材) 习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》习题参考答案
周兵
1.1教材:《软件工程》方木云主编,清华大学出版社,2016
1.2参考书目:
1、《Software engineering》8th EditionIan Sommer vile,Pearson Education, 机械工业出版社,2006
2、《软件工程》,王忠群主编, 中国科学技术大学出版社,20
09
3、《软件工程导论》(第4版), 张海藩编著, 清华大学出版社, 2007 4、《Software engineering : a practitioner's app roach》RogerS、Pressman、 6th ed、 Pressman, RogerS、China Machine Press, 2008
1.3说明:ﻩ
斜体部分就是可选讲授内容,带星号得习题为可选。
第1章软件工程学概述
1.1习题
A.1什么就是软件?软件可以分为哪些类?p11
答:软件就是程序、数据及相关文档得完整集合。软件可分为通用软件与定制软件。
A.2*什么就是软件危机及其表现?p11
答:软件危机就是指在计算机软件得开发与维护过程中所遇到得一系列严重问题。软件危机包含下述两方面得问题:如何开发软件,以满足对软件日益增长得需求;如何维护数量不断膨胀得已有软件。
具体地说,软件危机主要有以下一些典型表现。
(1)对软件开发成本与进度得估计常常很不准确。
(2) 用户对“已完成得”软件系统不满意得现象经常发生。
(3) 软件产品得质量往往靠不住。
(4) 软件常常就是不可维护得。
(5)软件通常没有适当得文档资料。
(6)软件成本在计算机系统总成本中所占得比例逐年上升。
(7)软件开发生产率提高得速度,远远跟不上计算机应用迅速普及深入得趋势。
A.3什么就是软件工程?p11
答:软件工程就是指导计算机软件开发与维护得一门工程学科。采用工程得概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确得管理技术与当前能够得到得最好得技术方法结合起来,以经济地开发出高质量得软件并有效地维护它,这就就是软件工程。
A.4什么就是软件过程?p20
答:软件过程由软件定义、软件开发与运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
第2章软件过程模型
2.1习题
A.1什么就是瀑布型方法?p20
答:按照时间顺序依次进行可行性分析、项目计划、需求分析、概要设计、详细设计、编码与单元测试、集成测试、确认验证、运行与维护等几个阶段进行软件开发。
A.2什么就是快速原型方法?p28
答:所谓快速原型就是快速建立起来得可以在计算机上运行得程序,它所能完成得功能往往就是最终产品能完成得功能得一个子集。强调过程得多次反复,对文档得要求不高。
A.3什么就是增量方法?说说它产生得原因与适用得范围。P43
答:增量模型也称为渐增模型,就是快速原型法得一种;使用增量模型开发软件时,把软件产品作为一系列得增量构件来设计、编码、集成与测试。
使用增量模型可以:在较短时间内向用户提交可完成部分工作得产品;客户可以将早期得增量作为原型,从中获得对后面系统增量得需求经验;项目总体性失败得风险比较低。
A.4什么就是面向复用方法?说说它产生得原因与适用得范围。P43
答:面向复用得方法使用可复用软件组件以及能集成这些组件得框架来构建与开发新得软件;
有时,这些组件本身就就是一个独立得能满足某种需要得系统。
使用这种方法可以节省大量得重复劳动,加快开发速度。存在大量可以重用得构件得时候,可以使用这种方法。
A.5什么就是形式化方法?说说它产生得原因与适用得范围。P43
答:形式化系统开发就是一个类似瀑布模型得软件开发方法,但其开发过程基于得就是用形式化数学转换来将系统描述转换成一个可执行程序。
因为使用这种方法可以大大提高软件得可靠性,以及节省测试成本;这种方法主要用于可靠性要求很高得软件。
第3章可行性研究
第4章需求分析
4.1习题
A.1为什么要进行软件需求分析?请叙述软件需求分析得主要过
程。P66
答:软件需求分析在软件开发过程中具有举足轻重得地位,它就是开发出正确得、高质量得软件系统得重要保证。有数据表明,更正需求分析阶段得一个错误所花费得工作量就是更正测试阶段得一个错误得一百倍。
软件需求分析得主要过程:获取用户需求、分析用户需求、编写需求文档、进行需求评审
A.2软件需求规格说明书由哪些部分组成?p66
答:软件需求规格说明书由引言、任务概述、需求规定、运行环境规定四个部分组成。
第5章概要设计(总体)
5.1习题
A.1什么就是模块?什么就是模块化?。P75
答:模块就是由边界元素限定得相邻程序元素(例如,数据说明,可执行得语句)得序列,而且有一个总体标识符代表它。过程、函数、子程序与宏等,都可作为模块。面向对象方法学中得对象就是模块,对象内得方法(或称为服务)也就是模块。模块就是构成程序得基本构件。
模块化就就是把程序划分成独立命名且可独立访问得模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定得功能满足用户得需求。模块化就是为了使一个复杂得大型程序能被人得智力所管理。
A.2衡量模块独立性得两个标准就是什么?它们各表示什么含
义?P75
答:模块得独立程度可以由两个定性标准度量,这两个标准分别称为内聚与耦合。耦合就是对一个软件结构内不同模块之间互连程度得度量。内聚标志一个模块内各个元素彼此结合得紧密程度,它就是信息隐藏与局部化概念得自然扩展。
第6章界面设计
6.1习题
A.1界面设计得原则就是什么?P88
答: