软件工程课后题答案大全(详细).doc

上传人:hw****26 文档编号:2417300 上传时间:2019-05-12 格式:DOC 页数:11 大小:243.50KB
下载 相关 举报
软件工程课后题答案大全(详细).doc_第1页
第1页 / 共11页
软件工程课后题答案大全(详细).doc_第2页
第2页 / 共11页
软件工程课后题答案大全(详细).doc_第3页
第3页 / 共11页
软件工程课后题答案大全(详细).doc_第4页
第4页 / 共11页
软件工程课后题答案大全(详细).doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 软件工程习题解答 第一章 概述 3.什么是软件危机?其产生的原因是什么? 软件危机: 软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软 件产品本身的特点以及开发软件的方式、方法、技术和人员引起的: a.软件的规模越来越大,结构越来

2、越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。 d.软件开发技术落后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。 4.什么是软件工程?它的目标和内容是什么? 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程的目标是 成功的建造一个大型软件系统 ,所谓成功是要达到以下几个目标: a.付出较低的开发成本 ; b.面到要求的软件功能 ; c.取得较好的软件性能 ; d.开发 的软件易于移植 ; e.需要较低的维护费用 ; f.能按时完成开发任务,及时交付使用 ; g.开发的软件可靠性高 ; 软件工程的内容: ) 软件开发技术:软件开发方法、

3、软件开发过程、软件开发工具和环境。 ) 软件开发管理:软件管理学、软件经济学、软件心理学。 6.什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等 . 7.什么是软件生存周期模型? 有哪些主要模型? 软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。) 软件生存周期主要模型: 瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型

4、和基于知识的模型等 第三章 需求分析 1.什么是需求分析?需求分析阶段的基本任务是什么? 需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约 (需求规格 说明 )的过程。 需求分析阶段的基本任务是: (1) 问题识别:双方对问题的综合需求: a.功能需求 b.性能需求 c.环境需求 d.用户界面需求 . (2) 分析与综合,导出软件的逻辑模型 . (3) 编写文档 4.什么是数据流图 ?其作用是什么 ?其中的基本符号各表示什么含义 ? 数据流图:简称 DFD,是 SA(结构化分析 )方法中用于表示

5、系统逻辑模型的一种工具,是一种功能模型。 作 用:它以图形的方式描绘数据在系统中流动和处理的过程 ,反映系统必须完成的逻辑功能 . 基本符号有四种: ,箭头 ,表示 数据流 ; ,圆或椭圆 ,表示加工 ; =,双杠 ,表示数据存储 ; ,方框 ,表示数据的源点或终点 . 5.画数据流图应该注意什么事项 ? 画数据流图注意事项: a.命名 .不论是数据流数据存储还是加工,合适的命名使人们易于理解基含义 b.画数据流而不是控制流 c.一般不画物质流 d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果 e.编号 f.父图与子图的平衡 g.局部数据存储 h.提高数据流

6、图的易理解性 7.描述加工逻辑有哪些工具? a,结构化语言 b,判定表 c.判定树 10.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统 ,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用 DFD 和 IDEF0 描绘该功能的需求,并建立相应的数据字典。 (1)数据流条目: 数据流名称:存款单 别 名:无 简 述:储户存款时填写的项目 来 源:储户 去 向:记帐 数据 流 量:未知 组 成:姓名 +住址 +存款类型 +存款日期 +利率 数据流名称:取款单 别 名:无 简 述:储户 取款时填写的项目

7、来 源:储户 去 向:统计 数据 流 量:未知 组 成:姓名 +住址 +取款类型 +取款日期 +利率 数据流名称:清单 别 名:无 简 述:储户取款后得到的项目 来 源:记录 去 向:储户 数据 流 量:未知 组 成:姓名 +住址 +取款类型 +取款日期 +利率 +余额 (2)数据存储条目: 数据存储名称:账单 别 名:无 简 述:存放储户信息及其账目 组 成:姓名 +住址 +余额 +存款类型 +最后修改日期 +利率 组 织 方 式:未知 查 询 要 求:能立即查询 (3)数据项条 目: 未知 (4)加工条目: 加工 名:分类检查 编 号:无 激发条件:接收到存 /取款单 优 先 级:优先 输

8、 入:存 /取款单 输 出:存 /取款单 加工逻辑: IF 存款单 THEN 把存款单输出到统计 ELSE 把取款单输出到统计 ENDIF 加工 名:统计 编 号:无 激发条件:取款单 优 先 级:无 输 入:取款单 输 出:清单 加工逻辑:根据账单检查此储户是否存在,不存在输出错误 IF 取款数 =40 If 中学文化 Then 材料员 else if 大学文化 Then 技术员 endif endif endif 储户分类并检查储户记录统计存款单取款单存款单取款单清单帐单存单表单处理1处理存款2处理取款3存款单取款单储户表单Until 没有剩余未分配员工 判定表 1 2 3 4 5 6 7

9、 8 9 10 11 年龄 C C D D D D D E E E 文化 G H H G G H I G H I 性别 - - M M F F - - - - 脱产学习 电工 钳工 车工 技术员 材料员 条件取值表 条件名 取值 符号 取值数 年龄 20, =40 E 文化程度 中学 G M2=3 高中 H 大学 I 性别 男 M M3=2 女 F 附加题: 1、 自学考试报名过程中有个“记录报名单” 的加工。该加工主要是根据报名表 (姓名、 性别、身份证号、课程名 )和开考课程 (课 程名、开考时间 )、经校核,编号、填写、 输出准考证给报名者,同时记录到考生名 册中 (准考证号、姓名、课程

10、 )。请绘制该加 工的 DFD 图,并写出数据词典中的数据 流条目。 答: 数据流词典 数据流条目: 报名单 = 姓名 + 性别 + 身份证号 + 课程名 开考课程 = 课程名 + 开考时间 考生名册 = 准考证号 + 姓名 + 课程 2、 “决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生 “项目参加者” ,如下图所示 ,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出这三个数据流条目。 答: 运动员名单队名运动员号姓名 项目 项目项目名 项目参加者项目名 运动员号 3、 某旅馆的电话服务如下: 可以拨分机号和外线号码。分机号是从 7201至 7299

11、。外线号码先拨 9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从 100到 300中任意的数字串。市话号码是以局号和分局号组成。局号可以是 455, 466, 888, 552中任意一个号码。分局号是任意长度为 4的数字串。 要求:写出在数据字典中,电话号码的数据条目的定义 (即组成 )。 答: 电话号码 =分机号外线号码 分机号 =7201.7299 外线号码 =9+市话号码长话号码 长话号码 =区号 +市话号码 区号 =100.300 市话号码 =局号 +分局号 局号 = 455 466 888 552 分局号 =4数字 4 第四章 概要设计 1.什么是软件概要设计?

12、该阶段的基本任务是什么? 软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现 ,即把软件需求转换为软件包表示的过程。 基本任务: (1)设计软件系统结构(简称软件结构) a.采用某种设计方法 ,将一个复杂的系统按功能划分成模块(划分) b.确定模块的功能。 (功能) c.确定模块之间的调用关系。 (调用) d.确定模块之间的接口,即模块之间传递的信息。 (接口) e.评价模块结构的质量。 (质量) (2)数据结构及数据库设计 a.数据结构设计 b.数据库设计:(概念设计、逻辑设计、物理设计) (3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、

13、用户手册、修订测试计划) (4)评审 2.软件设计的基本原理包括哪些内容? 软件设计的基本原理: (1)模块化(四个属性:接口、功能、逻辑、状态) (2)抽象 (3)信息隐蔽 (4)模块立性 (两个定性的度量标准:耦合性与内聚性 ) 3.衡量模块独立性的两个标 独 准是什么?它们各表示什么含义? 两个定性的度量标准:耦合与内聚性 耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。 内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。 4.模

14、块间的耦合性有哪几种?它们各表示什么含义? 耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合 无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。 (无直接关系) 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。 (数据值 ) 标记耦合:指两个模块之间传递的是数据结构。 (数据结构 ) 控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量 ) 公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。 (一个公式数据环境

15、) 内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部 (内部数据 ) 5.模块的内聚性有哪几种?各表示什么含义? 模块间的内聚性有 6 种:偶然内聚、逻 辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。 偶然内聚:一个模块内的各处理元素之间没有任何联系。 逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。 时间内聚:把需要同时执行的动作组合在一起。 通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。 顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元

16、素的输出是下一功能元素的输入。 功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不 可。 6.什么是软件结构?简述软件结构设计优化准则。 软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。 软件结构设计优化准则: a.划分模块时,尽量做到高内聚 ,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。 b.一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近 c.软件的深度、宽度、扇入、扇出应适当。 D.模块的大小要适中。 E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。 8

17、.什么是 “变换流 “?什么是 “事务流 “?试将相应形式的数据流图转换成软件结构图。 变换流由输入、变换(或处理)、输出三部分组成。某个加工将它的输入流分离成许多发散 的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的 DFD 称为事物流。 9.试述 “变换分析 “, “事务分析 “的设计步骤。 变换分析: a.确定 DFD 中的变换中心。 b.设计软件结构的顶层和第一层 -变换结构。 c.设计中下层模块。 (输入模块下属模块的设计,输出模块下属模块的设计 ,变换模块下属模块的设计,设计的优化 ) 事务分析: a.确定 DFD 中的事务中心和加工路径。 b.设计软件结构的

18、顶层和第一层 -事务结构。(接收、发送给支) c.事务结构中、下层模块的设计、优化工作同变换结构。 附加: 2、 已知模块 C 中的一个判定影响到模块 B,如图所示,它违反了 SD 的设计原则。试问 : 可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。 6、 在结构化设计过程中,要将数据流图 (DFD)映射成系统结构图 (SC),分别画出变换型数据流和事物型数据流的映射方式。 答: 变换 型 事务型 第七章 软件测试 1、软件测试的目的是?测试中要注意那些原则? 软件测试 答:软件测试的目的是的发现软件中存在错误的活动。好的测试用例可以发现至今没有发现的错误、好的测试用例可以

19、发现至今没有发现的错误测试。要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。 2、什么是白盒法?有那些覆盖标准?比较他们的检错能力。 答:将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例 来测试。有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断 /条件覆盖、条件组合覆盖、路径覆盖) 3、什么是黑盒法?有那些测试方法?特点? 答:将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。等价类划分、边界值分析、因果图、错误推测。 4、软件测试要经过那些步骤?这些步

20、骤和开发那些阶段对应? 答:单元测试对应详细设计和编码、集成测试对应概要设计、确认测试对应需求分析。 5、单元测试有那些内容? 答:测试模块的接口、数据结构、重要的执行路径、错误处理、边界条件。 6、什么是集成测试 ?非渐增式和渐增式有什么区别?渐增式如何组装模块? 答:将模块组合起来成为一个完整的系统对其进行测试。非渐增式是将模块先进行单元测试然后组装在一起进行测试。渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、

21、渐增式测试比较彻底。 渐增式组装模块有自顶向下和自底向上两种组装方式。 7、什么是确认测试?该阶段有那些工作? 答:按照需求规格 说明书中的确定指标对系统进行功能与性能的测试。进行确认测试(对照需求规格说明书用黑盒法进行测试)、软件配置检查。(文档的完整性、正确性,发现遗漏和错误及时补充和修改) 8、 调试的目的是什么?调试的技术有那些? 答:调试的目的是发现错误的位置并改正错误。简单调试、演绎调试、递归调试、回溯调试。 附加题: 1、 对下列子程序进行调试: procedure example(y,z: real; var x: real) begin if (y1) and (z=0) t

22、hen x:=x/y; if (y=2) or ( x=l) then x:=x+l; end. 该子程序接受 x, y, z的值,并将计算结果 x的值返回给调用程序。答题要求: (1)画出流程图。 (2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。 答: ( 1)流程图 ( 2)用白盒法中条件组合覆盖设计测试用例: y=2, z=0, x=4; y=2, z=1, x=1; y=1, z=0, x=2; y=1, z=1, x=1. 2、 某报表处理系统要求用户输入处理报表的日期,日期限制在 2003 年 1 月至 2008 年 12 月,即系统只能对该段期间内的

23、报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的 6 位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。 答: 输入条件 测试用例说明 测试数据 报表日期的 1个数字字符 5 类型及长度 5个数字字符 20035 7个数字字符 2003005 有 1个非数字字符 2003.5 全部是非数字字符 MAY- 6个数字字符 200305 日期范围 在有效范围 200301 边界上选取 200812 数据 200300 200813 月份范围 月份为 1月 200301 月份为 12月 200312 月份 12 200313 3、 对以

24、下程序进行测试: PROCEDURE EX( A, B: REAL; VAR X: REAL); BEGIN IF( A=3) OR( B 1) THEN X: =A B IF( A2) AND( B=0) THEN X: =A 3 END 先画出程序流程图。 再按不同逻辑覆盖法设计一种(写出名称)测试数据。 答: 语句覆盖 A=3 B=0 4、程序功能说明书指出,某程序的输入条件为:每个学生可以选修 1至 3门课程,试用黑盒法设计测试用例。 (1)按等价分类法设计测试用例(要求列出设计过程) (2)按边缘值分析法设计测试用例。 答: 1)合理等价类 选修 1门 选修 2门 选修 3门 不合理等价类 没选课 选 3门以上 测试用例 选修 2 选修 0 选修 3 2) 边缘值法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。