软件工程第五版课后习题答案-第七章
软件工程导论第五版第七章
第7章实现7。
1编码7。
1。
1选择程序设计语言7.1。
2编码风格1。
程序内部的文档2。
数据说明3。
语句构造4。
输入输出5。
效率7。
2软件测试基础7。
2。
1软件测试的目标7。
2.2软件测试准则7。
2。
3测试方法7。
2.4测试步骤1。
模块测试2. 子系统测试3. 系统测试4。
验收测试5。
平行运行7。
2。
5测试阶段的信息流图7。
1测试阶段的信息流7.3单元测试7.3。
1测试重点1. 模块接口2. 局部数据结构3. 重要的执行通路4. 出错处理通路5。
边界条件7.3.2代码审查7.3.3计算机测试图7.2正文加工系统的层次图7。
4集成测试7.4。
1自顶向下集成图7.3自顶向下结合7.4.2自底向上集成图7。
4自底向上结合7.4.3不同集成测试策略的比较7.4。
4回归测试7.5确认测试7。
5.1确认测试的范围7。
5。
2软件配置复查7.5。
3Alpha和Beta测试7.6白盒测试技术7。
6.1逻辑覆盖1。
语句覆盖图7.5被测试模块的流程图2. 判定覆盖3。
条件覆盖4. 判定/条件覆盖5. 条件组合覆盖6。
点覆盖7. 边覆盖8。
路径覆盖7。
6.2控制结构测试1. 基本路径测试图7。
6求平均值过程的流图2. 条件测试3. 循环测试图7。
73种循环7。
7黑盒测试技术7。
7。
1等价划分7。
7。
2边界值分析7.7。
3错误推测7.8调试7。
8.1调试过程图7。
8调试过程7.8。
2调试途径1。
蛮干法2。
回溯法3. 原因排除法7.9软件可靠性7。
9.1基本概念1. 软件可靠性的定义2. 软件的可用性7.9。
2估算平均无故障时间的方法1。
符号2。
基本假定3。
估算平均无故障时间4。
估计错误总数的方法7.10小结习题71。
下面给出的伪码中有一个错误。
仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。
字频统计程序的伪码如下:2。
研究下面给出的伪码程序,要求:(1) 画出它的程序流程图.(2)它是结构化的还是非结构化的?说明理由。
软件工程(第五版)--习题及答案
打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了A。
A、软件危机 B、软件工程
C、程序设计革命 D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括D。
A、数据集成 B、控制集成
没有尽早停止没有可行解决方案的开发项目就会造成时间、资金、人力、物力的浪费。为
了降低软件开发失败的可能性需要进行软件可行性研究。可行性研究要从经济可行性、技
术可行性、运行可行性和法律可行性四方面进行。 2、简述可行性研究的步骤。
答1审核系统的规模和目标2分析研究现行系统3设计新系统的高层逻辑模
5、×文字处理软件Word属于系统软件。 应用软件 6、√原型是软件的一个早期可运行的版本它反映最终系统的部分重要特性。
7、√软件开发过程中一个错误发现得越晚为改正它所付出的代价就越大。
8、×快速原型模型对软件开发人员的水平要求不高。
9、√喷泉模型适合于面向对象的软件开发。
10、×面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种C。
A、程序 B、数据 C、逻辑产品 D、物理产品
2、软件开发方法是A。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想
2、软件可行性研究的目的是C。
软件工程(第五版)--习题及答案
一、判断题1、(√)详细设计也称模块设计。
2、(×)在数据代码设计时,应尽量让一条代码代表多个信息。
3、(×)在数据代码设计时,应可能设计字母和数字混合代码。
4、(×)在输出界面设计时,要尽可能使用代码或缩写,以求简洁。
5、(×)详细设计评审应尽可能和概要设计评审一同进行。
二、选择题1、软件详细设计的主要任务是确定每个模块的(A )。
A 、算法和使用的数据结构、算法和使用的数据结构 B 、外部接口、外部接口 C 、功能、功能 D 、程序、程序2、借助于软件工具,可将(C )容易地转换为高级语言源程序。
)容易地转换为高级语言源程序。
A 、程序流程图、程序流程图 B 、N-S 图 C 、PAD 图 D 、判定表、判定表3、不属于详细设计工具的是(A )。
A 、DFD 图B 、PAD 图C 、PDlD 、N-S 图 4、程序的三种基本结构是(C )。
A 、过程、子过程和子程序、过程、子过程和子程序 B 、递归、堆栈和队列、递归、堆栈和队列 C 、顺序、选择和重复、顺序、选择和重复 D 、调用、返回和转移、调用、返回和转移 5、下面描述中,符合结构化程序设计风格的是(A )。
A 、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 、模块只有一个入口,可以有多个出口C 、注重提高程序的执行效率、注重提高程序的执行效率D 、不使用goto 语句 三、简答题1、软件的详细设计阶段完成的主要任务是什么? 答:(1)算法设计;(2)数据结构设计;(3)模块接口细节设计;(4)测试用例设计;(5)数据库物理设计;(6)数据代码设计;(7)其他设计;(8)编写详细设计说明书并进行评审。
编写详细设计说明书并进行评审。
2、数据输入界面设计的主要原则有哪些?答:在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;尽可能减少输入量并实现自动输入; 对共同的输入设置默认值;对共同的输入设置默认值; 使用代码或缩写;缩写; 自动填入已输入过的内容;列表式输入; 数据分组输入。
软件工程(第5版课后答案)
f(作者姓名)
系统搜索指定的作者姓名,并在屏幕上显示该作者的著作的索引号,同时把这些索引存入文件。
设计测试数据以全面测试系统正常操作。 设计测试数据以测试系统的非正常操作。
P175 5
P175 5 参考答案
划分等价类(略) 全面测试系统正常操作 B BS BSD F FD
B:输入关键字,看是否输出约20个加了行号的字,是否与关键字完全相同的字约在屏幕中央。 输入:“计算机” 预期输出:约20个加行号的字 BS:输入关键字,选取屏幕上行号,是否生成包含索引号的文件。 输入:“计算机”;12 预期输出:约20个加行号的字;文件 BSD:输入关键字,选取屏幕上行号,检索索引号有关信息,是否显示文件中索引信息。 输入:“计算机”;12;3 预期输出:约20个加行号的字;文 件;文件中索引信息。 F:输入作者姓名,是否在屏幕上显示该作者的著作的索引号,是否将这些索引存入文件。 输入:“金庸” 预期输出:该作者著作的索引号 FD:输入作者姓名,检索索引号有关信息,是否现实文件中索引信息。 输入:“金庸”;3 预期输出:该作者著作索引号;文件中 索引信息
单击此处可添加副标题
P23 7参考答案
增量模型 缺点: 至始至终开发者和客户纠缠在一起,直到完全版本出来。 优点: 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。 具有一定的市场。 适合于软件需求不明确、设计方案有一定风险的软件项目。
习题1第6题
什么是软件过程?它与软件工程方法学有何关系?
P23 6
P23 6参考答案
软件工程_第七章_面向数据流的设计方法
第七章面向数据流的设计方法面向数据流的设计方法,即通常所说的结构设计法(简称SD方法),是根据需求阶段对数据流的分析(一般用数据流图和数据字典表示)设计软件结构。
数据流图主要描绘信息在系统内部加工和流动的情况,面向数据流的设计方法根据数据流图的特性定义两种“映射”,这两种映射能机械地将数据流图转换为程序结构。
该方法的目标是为软件结构设计提供一个系统化的途径,使设计人员对软件有一个整体的认识。
本章所述技术用于软件的概要设计描述,包括模块、界面和数据结构的定义,这是所有后续开发工作的基础。
每种软件设计方法都有长处和不足,先用哪种方法首先应考虑它适用的范围。
任何软件系统都可以用数据流图表示,理论上,面向数据流的设计方法可用于任一种软件系统的开发。
然而,该方法对那些顺序处理信息且不含层次数据结构的系统最为有效,例如过程控制、复杂的数值分析过程、以及科学与工程方面的应用,等等。
当SD方法用于完全的数据处理时,即使系统中作用层次数据也同样行之有效。
从系统设计的角度出发,软件设计方法可以分为三大类。
第一类是根据系统的数据流进行设计,称为面向数据流的设计或者过程驱动的设计,以结构化设计方法为代表。
第二类是根据系统的数据结构进行设计,称为面向数据结构的设计或者数据驱动的设计,以LCP(程序逻辑构造)方法、Jackson 系统开发方法和数据结构化系统开发(DSSD)方法为代表。
第三类设计方法即面向对象的设计。
第一节基本概念和设计过程面向数据流设计方法是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。
该方法实施的要点是:①建立数据流的类型。
②指明流的边界。
③将数据流图映射到程序结构。
④用“因子化”方法定义控制的层次结构。
⑤用设计测量和一些启发式规则对结构进行细化。
一、在系统结构图(SC)中的模块在系统结构图中不能再分解的底层模块为原子模块。
如果一个软件系统的全部实际加工(数据计算或处理)都由底层的原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是完全因子分解的系统。
软件工程(第五版)习题及答案第七章
1一、选择题一、选择题1、汽车有一个发动机,汽车和发动机之间地关系是(B )关系.A 、一般具体B 、整体部分C 、分类关系D 、is a2、火车是一种陆上交通工具,火车和陆上交通工具之间地关系是(D )关系.A 、组装B 、整体部分C 、has aD 、一般具体、一般具体、一般具体 3、面向对象程序设计语言不同于其他语言地最主要特点是(C ).A 、模块B 、抽象性C 、继承性D 、共享性、共享性4、软件部件地内部实现与外部可访问性分离,这是指软件地(A ).A 、封装性B 、抽象性C 、继承性D 、共享性、共享性5、面向对象分析阶段建立地三个模型中,核心模型是(C )模型.A 、功能B 、动态C 、对象D 、分析、分析6、对象模型地描述工具是(C ).A 、状态图B 、数据流图C 、对象图D 、结构图、结构图7、动态模型地描述工具是(A ).A 、状态图B 、结构图C 、对象图D 、流程图、流程图8、在只有单重继承地类层次结构中,类层次结构是(A )层次结构.A 、树型B 、网状型C 、星型D 、环型、环型9、(C )模型表示了对象地互相行为.A 、功能B 、动态C 、对象D 、分析、分析1010、、在确定类时,所有(A )是候选地类.A 、名词B 、形容词C 、动词D 、代词、代词1111、、面向对象分析地原则不包括(C ).A 、抽象B 、封装C 、依赖D 、继承、继承1212、、常用动词和动词词组来表示(C ).A 、对象B 、类C 、关联D 、属性、属性1313、、在确定属性时,所有(B )是候选地属性.A 、名词B 、修饰性名词词组C 、动词D 、词组、词组1414、、在面向对象方法中,信息隐藏是通过对象地(A )来实现地.A 、封装性B 、分类性C 、继承性D 、共享性、共享性1515、、面向对象设计地准则不包括(D ).A 、模块化B 、抽象C 、信息隐藏D 、强耦合、强耦合二、简答题二、简答题1、面向对象分析通常要建立哪三种模型?它们分别描述系统地哪些方面?、面向对象分析通常要建立哪三种模型?它们分别描述系统地哪些方面?答:面向对象分析通常要建立三种模型面向对象分析通常要建立三种模型,,分别是对象模型、动态模型和功能模型其中:其中:对象模型描述系统地数据结构对象模型描述系统地数据结构,,它是用来描述系统包含地对象及对象之间关系地模型;它是用来描述系统包含地对象及对象之间关系地模型;动态模型描述系统地控制结构动态模型描述系统地控制结构,,它是用来确定各个对象之间交互及整体地控制结构地模型;型;功能模型描述系统地功能功能模型描述系统地功能,,它是用来描述系统要实现地功能地模型它是用来描述系统要实现地功能地模型..2、对象模型有哪五种层次?、对象模型有哪五种层次?答:复杂问题复杂问题((大型系统大型系统))地对象模型由5个层次组成个层次组成,,即主题层、类即主题层、类--&-对象层、结构层、属性层和服务层属性层和服务层. .(1)类)类-&--&--&-对象层:定义类和属性对象层:定义类和属性对象层:定义类和属性..在这个层次将分析与待开发软件对应地各个现实世界地实体界地实体,,并从中抽象出类和对象并从中抽象出类和对象. .(2)结构层:定义对象和类之间地层次结构关系结构层:定义对象和类之间地层次结构关系,,如一般如一般--特殊结构(即继承结构)、整体-部分结构(即组合结构)部分结构(即组合结构). .(3)属性层:定义属性定义属性..为类和对象层中抽取出来地各个类和对象设计静态属性和它们之间地关系之间地关系. .(4)服务层:定义对象和类地动态属性以及对象之间地消息通信)服务层:定义对象和类地动态属性以及对象之间地消息通信. .(5)主题层:主题是指导读者理解大型、复杂模型地一种机制定义若干个主题定义若干个主题,,把有关地对象分别划归不同地主题关地对象分别划归不同地主题,,每个主题构成一个子系统每个主题构成一个子系统. .3、建立对象模型地基本过程是什么?、建立对象模型地基本过程是什么?答:建立对象模型地基本过程如下:建立对象模型地基本过程如下:确定对象和类à确定结构à确定主题à确定服务和消息确定服务和消息三、应用题1、写出图书管理系统中“办理还书”用例地用例描述、写出图书管理系统中“办理还书”用例地用例描述. .略.2、分析图书管理系统中“查询个人借阅”用例相关地实体类、控制类和边界类控制类和边界类,,绘制出该用例地相关类图例地相关类图,,并设计该模块地用户界面并设计该模块地用户界面. .略.版权申明版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
软件工程导论----张海藩(第五版)课后习题答案
《软件工程导论》课后习题答案第三章需求分析习题答案1.需求分析的描述工具有哪些?有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier 图、IPO图和需求描述语言等。
2.需求分析的基本任务是什么?准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
3.怎样建立目标系统的逻辑模型?要经过哪些步骤?建立目标系统的逻辑模型的过程也就是数据流图的分解过程。
它的导出过程如图:10.某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。
房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。
(1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。
在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。
(2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。
(3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。
(4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。
房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。
用数据流图描绘该系统的功能需求;在数据字典中给出主要的数据流、文件和加工说明。
第四章总体设计习题答案9. 比较层次方框图与结构图是的异同?(1) 层次方框图描绘数据的层次结构, 结构图描绘的是软件结构。
软件工程导论(第五版)课后习题答案
《软件工程导论》课后习题答案第一章软件工程概论1-11.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.软件危机有那些典型表现?(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对“已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
3.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
4.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
软件工程概论(第5版)课后习题解答
(4)找出并改正程序中逻辑中的错误。
COMMENT:PROGRAM SEARCHES FOR FIRST N REFERENCES TO A TOPIC IN AN INFORMATION RETRIEVAL SYSTEM WITH T TOTAL ENTRIES INPUT N IF N>0 THEN INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE I<T I=I+1 IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END IF MATCH=N
√ √ √ √
待维修人员来排除故障,故障排除后回到闲置状态。 请用状态转换图描绘复印机的行为。 解: 从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺 纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命 令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。
软件工程简答题答案 第五版
软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程课后练习答案
第一章软件工程概述软件工程的基本原则是什么?1,抽象:采用分层次抽象,自顶向下逐层细化的办法控制软件开发过程的复杂性。
2,模块化:模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。
3,信息隐蔽:将模块化设计成“黑箱”,实现的细节隐蔽在模块内部,不让模块的使用直接访问,这就是信息封装。
4,局部化:保证模块之间具有松散的耦合,模块内部具有较强的内聚,这有助于控制模块的复杂性5,一致性:整个软件系统使用一致的概念符号和术语。
6,完整性:软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。
7,不可验证性:易于检查、测试、评审,确保系统的正确性。
第二章可行性研究选择题1,研究开发所需要的成本和资源属于可行性研究中(经济可行性)研究的一方面。
2,可行性分析研究的目的是(项目值得开发与否)。
3,软件分析的第一步要做的工作在于(分析系统开发的可行性)。
4,可行性研究目的主要在于(用最小的代价确定问题定义阶段所确定的目标和规模是否可实现,可解决)。
5,软件可行性分析是着重确定系统的目标和规模。
对功能,性能及约束条件的分析应属于下列(技术可行性分析)。
简答题简述可行性研究的步骤?1,复查系统规模和目标2,研究目前正在使用的系统3,导出新系统的高层逻辑模型4,重新定义问题5,导出和评价供选择方案6,推荐一个方案并说明理由7,推荐行动方针8,书写计划任务书9,提交审查应用题设计一个软件的开发成本为5万元,寿命为3年。
未来3年的每年收益预计为22000元,24000元,26620元,银行年利率为10%。
试对此项目进行成本效益分析,以决定其经济可行性。
答:设银行的年利率是10%,则下列出每年的收益第一年:22000/1.1=20000第二年:24000/1.21=19834.71第三年:26620/1.331=20000因此:现有值收益为20000+19834.71+20000=59834.71投资回收期2+10165/20000=2.51纯收入59835-50000=9834.71第三章需求分析需求分析的原则有哪些?1.需求分析方法应该容易被用户理解。
软件工程第7章习题
5. 软件测试用例主要由输入数据和( 成 A 测试计划 C 预期输出结果 B 测试规则
)两部分组
D 以往测试记录分析 答案: C )
6. 成功的测试是指运行测试用例后( A 未发现程序错误 C 证明程序正确
B 发现了程序错误 D 改正了程序错误 答案: B
7. 下列几种逻辑覆盖标准中, 查错能力最强的是( 答案: D
8. 在黑盒测试中, 着重检查输入条件组合的方法是 ( ) A 等价类划分法 C 错误推测法 B 边界值分析法 D 因果图法 )
)
A 语句覆盖 B 判定覆盖 C 条件覆盖 D 条件组合覆盖
答案: D 9. 软件测试过程中的集成测试主要是为了发现( 阶段的错误 A 需求分析 B 概要设计 C 详细设计 D 编码 答案: B
4. 在单元测试时, 需要为被测试模块设计( 答案: 驱动模块与桩模块 5. 在集成测试时有两种测试方法, 它们是( 答案: 渐增式和非渐增式 6. 软件测试是为了( )而执行程序的过程 )
)
答案: 发现错误 7. 运行被测试程序的方法称为( 答案: 动态 )测试
8. 动态测试中, 主要测试软件功能的方法称为( 答案: 黑盒
12. 集成测试中的具体方法是(
)
答案: 渐增式和非渐增式测试方法 二. 选择题 1. 软件测试中, 白盒法是通过分析程序的( 设计测试用例的 A 应用范围 B 内部逻辑 C 功能 答案: B 2 . 黑盒法是根据程序的( A 应用范围 B 内部逻辑 ) 来设计测试用例的 C 功能 D 输入数据 )来
D 输入数据
答案: C
3. 为了提高软件测试的效率, 应该(
A 随机地选取测试数据 B 取一切可能的输入数据作为测试数据 C 在完成编码以后制定软件的测试计划
软件工程第5版课后答案28页PPT
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头1、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝福 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-- 马钉路 德。
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
软件工程第五版课后全答案准确对应书山
软件工程第五版课后全答案准确对应书山答案一:软件工程概述软件工程是一门研究如何以系统化、规范化、可定量化的方法开发和维护软件的学科。
它包括软件开发的理论、方法和工具,以及软件工程实践中的管理过程。
答案二:软件工程的原则和概念1. 软件工程的原则:- 适应性原则:软件工程应适应不断变化的需求和环境。
- 开发可验证性:软件开发过程应可验证和检验。
- 风险管理:软件开发中应采取风险管理策略。
- 可扩展性:软件应具备可扩展性,以适应未来的发展和变化。
2. 软件工程的概念:- 软件生命周期:指软件从提出需求到废弃的整个过程。
- 开发过程模型:指将软件开发过程分为一系列可管理的阶段和活动。
- 软件需求:用户对软件的功能、质量和性能等方面的要求和期望。
- 软件设计:确定软件系统的体系结构和组件之间的关系,并编写详细的规格说明。
- 软件测试:验证软件是否符合需求,并发现和修复软件中的缺陷。
- 软件维护:对已经交付使用的软件进行错误修复、性能优化等活动。
答案三:软件过程和项目管理1. 软件过程:- 软件过程定义:软件过程是指为实现软件的开发和维护需要采取的一系列方法和活动。
- 软件过程模型:包括瀑布模型、迭代模型、增量模型等。
- 软件过程改进:通过评估现有过程并采取相应的改进措施,提高软件开发效率和质量。
2. 项目管理:- 项目管理概述:项目管理是指将规划、组织、指导、控制和评估项目活动的过程。
- 项目管理知识体系:包括项目范围管理、项目时间管理、项目成本管理等多个方面。
- 项目管理过程:包括项目启动、规划、执行、监控和收尾等阶段。
答案四:需求分析与规格说明1. 需求工程:需求分析是软件开发的重要阶段,它涉及对用户需求的收集、分析和规格说明等活动。
- 需求获取:通过面谈、问卷调查等方式,从用户和相关人员中获取需求。
- 需求分类和排序:将获取的需求进行分类和排序,以便进一步分析和规格说明。
2. 需求分析模型:在需求分析过程中,可以使用不同的模型来表示需求,常用的模型有数据流图、用例图等。
软件工程 第七章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
第七章测验一、单选题(共40.00分)1. 面向对象的动态模型中,每张状态图表示()的动态行为。
A. 某一个类B. 有关联的若干类C. 一系列事件D. 一系列状态正确答案:A2. 以下哪项不是类间关系?()A. 关联B. 继承C. 实现D. 通信正确答案:D3. 在建立动态模型的过程中,脚本是指系统在某一执行期间内出现的一系列()。
A. 事件B. 消息C. 动作D. 对象正确答案:A4. 大多数分析模型都不是一次完成的,必须进行()。
A. 多次回溯B. 多次迭代C. 多次评审正确答案:B二、多选题(共33.00分)1. 组成复杂问题(大型系统)对象模型的5个层次包括()。
A. 结构层B. 说明层C. 服务层D. 主题层正确答案:A C D2. 需求陈述的内容包括()。
A. 问题范围B. 功能需求C. 性能需求D. 应用环境及假设条件正确答案:A B C D3. 以下哪些工具可用于描述面向对象动态模型?()A. UML类图B. UML状态图C. UML顺序图D. UML活动图正确答案:B C D三、判断题(共27.00分)1. 顺序图描述对象之间的交互关系,重点描述对象间消息传递的时间顺序。
()A. 正确B. 错误2. 面向对象方法是以类作为最基本的元素,类是分析问题和解决问题的核心。
()A. 正确B. 错误正确答案:B3. 关联既可以描述问题域的静态结构,又可以描述瞬时事件。
()A. 正确B. 错误正确答案:B。
软件工程第五版习题及答案
《软件工程》(第五版)习题参考答案第1章一、判断题1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。
应用软件6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题1、软件是一种(C)。
A、程序B、数据C、逻辑产品D、物理产品2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定B、软件开发的步骤C、软件开发的技术D、软件开发的思想3、软件生存周期中花费最多的阶段是(D)。
A、详细设计B、软件编码(最少)C、软件测试D、软件维护4、软件工程的三要素不包括(D)。
A、工具B、过程C、方法D、环境5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计B、详细设计(怎么做)C、可行性研究(能不能做)D、需求分析6、瀑布模型本质上是一种(A)模型。
A、线性顺序B、顺序迭代C、线性迭代D、能及早见到产品的7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法B、程序语言C、平台D、用户需求8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型B、喷泉模型C、快速原型模型D、螺旋模型9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清B、用户不能参与开发C、用户对计算机不了解D、开发人员对业务知识不熟悉10、快速原型的主要优点不包括(D)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(c)盒图在下下页。 (4)错误有:1.while 循环条件应该不应该是 I<=T,而应该是 I<T 2.最后一个 if 判断条件不应该是 N=0,而应该是 MATCH=0
BEGIN
N
F T
F T
F T F T
INPUT N INPUT KEYWORDS FOR TOPIC I=0
MATCH=0 I≤T I=I+1
4(1)模块测试集中测试软件设计的最小单元——模块,使得每一个模块能够正 确完成自身的功能。 特点:模块测试主要使用白盒测试,而且对多个模块的测试可以并行地进行。 集成测试是测试和组装软件的系统化技术,主要目标是发现与接口有关的问题。 特点: 有渐增式测试和非渐增式测试两种方法,其中渐增式又分为自顶向下集成 和自底向上集成。测试技术介于黑盒和白盒之间。 (2)由教材得知,单位长度里的错误数近似为常数。每 1000 条指令中大约有 5-20 个错误。所以题目中程序大约有 25—100 个错误。 (3)语句覆盖用例: (6,11,16),(4,9,14) 路径覆盖用例:共 8,11,14), (6,9,16), (6,9,14), (4,11,16),(4,11,14), (4,9,16), (4,9,14),
2.(1)流程图在下一页 (2)是非结构化的。因为使用了 GOTO 语句,使得循环体不止有一个出口。 (b)改造后的伪代码如下: INPUT N INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE I ≤T I=I=1 IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END IF MATCH=N THEN CALL SUBROUTINE TO PRINT BUFFER INFORMATION I=T+1 END END IF N=0 THEN PRINT “NO MATCH” END
MTTF
测试时间
10.(1)用分别测试法公式计算,������0 =
(2)先解出 K:10
������2 ������1 ������������
= 80。所以原来有 80 个错误。
=
24000 ������ × 80 −20
,K = 40
然后令 MTTF = 60 解得剩余错误数为 10. 也就是说一共要改 80-10 = 70 个错误。 而现在已经发现了 20+24-6 = 38 个错误。所以还要改正 32 个错误。假设甲的工 作效率不变,则他还需要一个半月左右。 (3)如下图所示:
习题 7
1.答:该伪代码语法上较为严格,以全大写的英文单词开头,具体操作用小写英 文单词。代码是结构化的,有些接近于高级程序设计语言(如 C 语言) 。词汇上 使用一般的英语,通俗易懂。 代码第三行的循环条件有错误,写的和内层循环条件一样了。第三行应该改为 DO WHILE there are more records in the text.
6.答:可以使用等价划分、边界分析、错误推测三种类型的测试用例。从题目分 析,输入用例可以表示为(出发点,目的地,天气,型号,飞行高度) 等价划分:出发点和目的地可以分成跨省型、跨国型、跨洲型三类,天气可分为 晴、多云、阴、雨、雪、雾等类型。型号可分为小型机、中型机、大型机等。飞 行高度可按海报高度分类。分好类型后,每个类型选择代表用例,然后组合后进 行输入。 边界分析:用几个边界情况作为输入进行测试。比如高度输入为 0,出发点和目 的地重合,用这些特殊情况去测试程序,考察其鲁棒性。 错误推测:用一些会出错的例子作为测试输入。比如输入高度为负数,出发点和 目的地输入不存在的城市,型号输入一个不存在的,等等。
F
WORD=KEYWORD
T
MATCH=MATCH+1 STORE IN BUFFER
F
MATCH=N
T
CALL SUBROUTINE TO PINT BUFFER INFORMATION I=T+1
F
N=0
T
PRINT”NO MATCH”
3.(1)N<=0 时不合理,这样无意义。N>T 时不合理,这样无法满足条件。 KEYWORD 输入要是有意义的自然语言(如英文单词) ,输入乱码则无意义。 (2)若 N<=0,则程序会误判断出“无匹配” 。若 N>T,则永远无法达成输出条件。 KEYWORD 若输入无意义词,则无论 N 值如何,必然“无匹配” 。 (3)在程序的前面部分加一个 while 判断 N 的合理性: WHILE (N<=0 || N>T) INPUT N; 编制一个子程序,判断 KEYWORD 只出现英文字母,不出现别的字符。