好文档 - 专业文书写作范文服务资料分享网站

软件工程习题解答第一章概述

天下 分享 时间: 加入收藏 我要投稿 点赞

5、什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

答:程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。

第七章 软件测试

1、软件测试的目的是?测试中要注意那些原则? 软件测试

答:软件测试的目的是的发现软件中存在错误的活动。好的测试用例可以发现至今没有发现的错误、好的测试用例可以发现至今没有发现的错误测试。要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。

2、什么是白盒法?有那些覆盖标准?比较他们的检错能力。

答:将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例来测试。有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖) 3、什么是黑盒法?有那些测试方法?特点?

答:将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。等价类划分、边界值分析、因果图、错误推测。

4、软件测试要经过那些步骤?这些步骤和开发那些阶段对应?

答:单元测试对应详细设计和编码、集成测试对应概要设计、确认测试对应需求分析。 5、单元测试有那些内容?

答:测试模块的接口、数据结构、重要的执行路径、错误处理、边界条件。 6、什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?

答:将模块组合起来成为一个完整的系统对其进行测试。非渐增式是将模块先进行单元测试然后组装在一起进行测试。渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、渐增式测试比较彻底。

渐增式组装模块有自顶向下和自底向上两种组装方式。 7、什么是确认测试?该阶段有那些工作?

答:按照需求规格说明书中的确定指标对系统进行功能与性能的测试。进行确认测试(对照需求规格说明书用黑盒法进行测试)、软件配置检查。(文档的完整性、正确性,发现遗漏和错误及时补充和修改)

8、 调试的目的是什么?调试的技术有那些?

答:调试的目的是发现错误的位置并改正错误。简单调试、演绎调试、递归调试、回溯调试。 附加题:

1、对下列子程序进行调试:

procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) then 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月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。 答: 输入条件 测试用例说明 测试数据 报表日期的 1个数字字符 5 类型及长度 5个数字字符 20035 7个数字字符 2003005 有1个非数字字符 2003.5 全部是非数字字符 MAY--- 6个数字字符 200305 日期范围 在有效范围 200301 边界上选取 200812 数据 200300 200813 月份范围 月份为1月 200301 月份为12月 200312 月份<1 200300 月份>12 200313 3、对以下程序进行测试:

PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN

IF(A=3)OR(B> 1)THEN X:=A×B IF(A>2)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) 边缘值法 0,1,3,4

5、设被测试的程序段为: begin s1 ;

if (x=0) and (y>2) then s2;

if (x<1) or (y=1) then s3 ; s4 ; end

可供选择的测试数据组为: x y Ⅰ 0 3 Ⅱ 1 2 Ⅲ -1 2 Ⅳ 3 1

找出实现(1)语句覆盖;(2)条件覆盖;(3)判定覆盖至少要选择的数据组。 答:(1)Ⅰ (2) Ⅰ,Ⅳ (3) Ⅰ,Ⅱ

第八章 软件维护

1、软件维护有哪些内容?

a、校正性维护b、适应性维护c、完善性维护d、预防性维护 2.软件维护的特点是什么? a、非结构化维护和结构化维护 b、维护的困难性 c、软件强维护的费用

3.软件维护的流程是什么?

a、制定申请维护报告b、审查申请报告并批准c、进行维护并作详细记录d、覆审 4.软件维护的副作用有哪些? 编码、数据、文档副作用

5.什么是软件的可维护性?可维护性的度量的特性是什么?

软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。

可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

6.提高可维护性的方法有哪些?

A、建立明确的软件质量目标。B、利用先进的软件开发技术和工具。 C、建立明确的质量保证工作。D、选择可维护的程序设计语言。 E、改进程序文档。

第九章

1、 渐增模型有那几种?特点?

答:增量构造和演化提交。增量构造是瀑布模型的基础上在一些的阶段中采用增量开发一些阶段整体开发。演化提交是在瀑布模型的基础上所有阶段都使用增量开发也就是不紧使用增量开发也使用增量提交。

2、 快速原形有那几种?特点?

答:探索型、试验型、演化型。探索型:在需求阶段帮助明确理解需求用完抛弃。试验型:在设计阶段考核现行方案是否合适用完抛弃。演化型:及早的向用户展示一个系统的原形包含主要的功能得到用户的认可后将原形不断的扩充直到系统完成。 3、 快速原形开发的步骤?

答:快速开发、需求、构造原形、原形、运行原形、评价原形、修改意见。 4、 评价快速原形的优缺点?

答:可以更清楚的理解用户的需求、开发阶段可以用原形解决局部的困难,通过原形的开发可以让用户看见系统的初步功能的实现有利与用户的开发人员更好的交流,及早的解决存在的问题减少开发的风险。

缺乏好的管理工具和开发环境、缺乏管理机制、对开发人员的技术要求高、更新文档比较困难。 5、 对比瀑布模型和增量模型,指出增量模型的新思路。

答:瀑布模型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误出现,那么延伸到以下的各个阶段错误就会放大。增量模型是非整体开发的模型它采用渐增模型和原形模型,软件的开发是用增量开发和增量提交。

第十章 面向对象技术

1、 说明对象、类、类结构、消息的基本概念?

答:对象:是客观实体在问题域中的抽象。 类:具有相似或相同性质的对象的抽象就是类。

类结构:类的结构通常有一般----具体(分类结构)整体---抽象(组装结构) 消息:对象之间通信的构造。 2、 面向对象的特征和要素?

答:特征:一致性、多态性、分类性、继承性。要素:共享、封装、抽象。 3、 说明对象模型的特征?

答:对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系,模型主要关心系统中对象的结构、属性和操作使用对象图来描述。 4、 说明动态模型的特征。

答:动态模型描述了与时间和变化有关的系统性质,描述的是系统的控制结构,表示了瞬间的系统控制性质,它关心系统的控制,操作顺序,从对象的状态角度出发表现对象的相互行为。 5、 功能模型的特征。

答:功能模型描述了系统的所有计算。 6、 三种模型的关系?

答:功能模型描述发生了什么,动态模型确定什么时候发生,对象模型确定发生的客体。 7、 三种模型的建立过程?

答:对象模型:确定类、准备数据字典、确定联系、确定属性、完善对象模型。 动态模型:准备脚本、准备事件跟踪、构造状态图。 功能模型:确定输入输出值、建立DFD。 附加题:

1、 一本书有一个封面、一个目录、一个前言、若干章、每章有若干节、每节有若干段每段

有若干句子、每节有0个或多个插图,还有0个或多个表格,最后有一个附录。试建立该书的对象模型。 答:

第十一章 软件质量保证

1、 软件质量与质量保证的含义?

答:软件质量:与确定的功能和性能需求一致、与成文的开发标准相一致、与所有专业开发的软件所期望的隐含特性相一致。质量保证:向社会和用户提供满意高质量的产品确保软件从诞生到消亡为止的所有阶段的质量的活动。 2、 影响软件质量的因素有那些?

答:可以直接度量的因素、只能间接度量的因素。

3、 什么是软件质量保证的策略?软件质量保证的主要任务是什么?

答:策略:检测为重、过程管理为重、开发新产品为重。任务:正确定义用户要求、技术方法的使用、提高软件的工程能力、充分发挥开发人员的能力、提高计划和管理质量、软件复用。 5、程序复杂性的度量方法有那些? 答:代码行度量法、环路度量法。

软件工程习题解答第一章概述

5、什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?答:程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。第七章软件测试1、软件测试的目的是?测试中要注意那些原则?软件测试
推荐度:
点击下载文档文档为doc格式
1jte357aqa38ccg96mxg8n6j4879as00bv9
领取福利

微信扫码领取福利

微信扫码分享