软件工程练习题.docx
- 文档编号:28041926
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:17
- 大小:320.27KB
软件工程练习题.docx
《软件工程练习题.docx》由会员分享,可在线阅读,更多相关《软件工程练习题.docx(17页珍藏版)》请在冰豆网上搜索。
软件工程练习题
软件工程练习题
一.简答题
1.《用户需求报告》和《需求分析规格说明书》是需求分析阶段的两份重要文档,二者有何异同,有何联系?
答:
《用户需求报告》是站在用户的角度、使用他们可以看懂的语言编写的,内容包括系统的运行环境、业务流程、业务功能、业务性能和业务接口。
它是需求分析阶段产生的第一份文档,是用户、项目开发者、项目测试者和项目管理者四方共同工作的基础,是用户测试和验收目标的依据。
《需求分析规格说明书》是使用开发者的语言编写的,目的是为概要设计和详细设计的依据,内容是对系统的业务模型、功能模型、数据模型和接口模型的进一步定量描述。
2.什么是三层结构?
三层结构与三个模型有何关系?
三层结构有何优点?
答:
所谓的三层结构是指将软件在体系结构上划分为表示层、中间层和数据层三个层次,各个层之间通过对外接口互相访问。
其中,表示层通常采用图形化的用户界面,在客户机上运行。
从三个模型的思想来看,系统内部支持表示层的模型是功能模型。
中间层,也称为业务层或应用层,由许多构件或组件组成,完全体现了用户的业务逻辑和业务规则,从三个模型的思想来看,系统内部支持业务层的模型是业务模型。
数据层包括数据库管理系统和数据库两部分,与三个模型中的数据模型相对应。
三层结构的优点如下:
三层之间低耦合,互不干扰;减少了客户机的工作量,提高了网络系统的运行效率;有利于系统的维护和升级,各个层的维护,互不影响。
3.简述软件测试与软件调试的区别。
答:
软件测试与软件调试的目的和任务不同,进行的方法也不同。
软件测试是程序的执行过程,目的在于发现错误;软件调试是在进行了成功的测试之后才开始的工作。
它与软件测试不同,调试的任务是进一步诊断和改正程序中潜在的错误。
4.简述业务模型、功能模型和数据模型的含义。
答:
功能模型实质上是用户需求模型,用来描述系统做什么,即对系统的功能、性能、接口和界面进行定义。
业务模型,实质上是业务逻辑模型,用于描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤和流程,即对系统的业务流程进行定义。
数据模型,实质上是褓或类的状态关系模型,用于描述系统工作前的数据来自何处,工作中的数据暂存于何处,工作后的数据存于何处,以及这些数据的状态及相互关联,即对系统的数据结构进行定义。
5、什么是黑盒测试?
黑盒技术设计测试用例有哪几种方法?
答案:
黑盒测试注重于测试软件的功能需求,因此设计测试用例时,需要研究需求规格说明书和概要设计说明中的有关程序功能或输入输出之间的关系等信息,从而与测试后的结果进行分析比较。
用黑盒技术设计测试用例的方法一般有以下4种,等价类划分、边界值分析、错误推测和因果图。
但没有一种方法能提供一组完整的测试用例,以检查程序的全部功能,在实际测试中应该把各种方法结合起来使用。
6.什么是白盒测试?
白盒测试覆盖技术主要有几种?
答:
白盒测试又称透明盒测试,要求测试人员必须清楚被测对象的内部实现细节。
其依据是《详细设计说明书》,其测试对象侧重于软件单元、模块和构件等小规模对象。
实用的白盒覆盖技术主要有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖以及组合覆盖5种。
7.什么是软件测试?
软件测试的目的和目标
答:
软件测试是按照规定的测试规程发现软件缺陷的过程。
软件测试的目的就是发现软件缺陷。
但同时还要时刻牢记在心的是:
软件测试的目标是尽可能早地发现软件缺陷,并确保其得以修复。
这里的缺陷,包括Bug和不符合项。
8.简述面向对象设计的基本步骤。
答:
面向对象设计主要包括四个主要步骤:
第1步,需求分析,建立系统初步的功能模型、业务模型和数据模型;
第2步,架构设计,建立系统完整的功能模型、业务模型和数据模型;
第3步,详细设计,将功能模型、业务模型和界面模型中的各个部件加以实现;
第4步,编程实现,将模型中的各个部件实现文档转换为相应的代码
9.传统软件维护的分类。
答:
传统软件维护分四大类,分别是:
纠错性维护;适应性维护;完善性维护;预防性维护。
10.软件生命周期是什么含义?
它与软件生命周期模型有何关系?
答:
软件生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护、退役几个过程,前一过程的终止点就是后一过程的起始点。
软件生命周期与软件生命周期模型有关:
不同的生命周期模型,可能对应着不同的生存周期。
生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同,甚至维护方法都有所区别。
11.需求分析的目的是什么?
需求分析的难点在哪里?
答:
软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。
在软件工程项目中首先要获取用户的需求,通过对软件需要的提取、分析、文档化及验证,为进一步的设计和实现提供依据
需求分析的难点是:
在系统的功能、性能和接口方面,开发者与客户达成完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。
万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更管理程序在签订合同时已经做了规定。
要知道,合同是具有法律效力的。
二.应用题
1.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。
请用等价类划分法设计测试用例。
答:
(1)划分等价类:
输入条件
合理等价类
不合理等价类
职称
①教授
②副教授
③讲师
⑤四种职称之外任意一种
职称兼工龄
④助教兼工龄大于2年
⑥助教兼工龄等于两年
⑦助教兼工龄小于两年
(2)设计测试用例:
输入数据
预期结果
覆盖范围
教授
输入有效,进行调整工资处理
①
副教授
输入有效,进行调整工资处理
②
讲师
输入有效,进行调整工资处理
③
助教 3
输入有效,进行调整工资处理
④
助教 2
输入有效,不调整工资处理
⑥
助教 1
输入有效,不调整工资处理
⑦
工程师
输入无效
⑤
2.假定某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。
当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
用判定树表示计算行李费的算法。
答案:
3.某图书馆借阅系统有以下功能:
(1)借书:
根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。
对于第一次借阅者则直接办理借阅手续。
(2)还书:
根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。
请对以上问题,画出分层数据流图。
(8分)
4.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:
(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。
(3)报社负责分类并统计各个发行站送来的报刊订阅信息。
请就此需求建立对象模型。
(10分)
3.
5.(15分)请使用PAD图和PDL语言描述在数组A[1]~A[10]中找最大数的算法。
解:
PDL语言:
N=1
WHILEN<=10DO
IFA(N)<=A(N+1)MAX=A(N+1);
ELSEMAX=A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD图:
[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。
6.(15分)某一8位微机,其八进制常数定义为:
以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。
使用等价类划分法设计测试用例。
:
(1)划分等价类并编号,如下表示:
(4分)
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)
(3)为不合理等价类测试用例,至少设计一个测试用例(2分)
[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。
本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。
7.(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。
现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。
试写出以上系统分层的数据流图。
[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。
《软件工程》要掌握的重点是:
1、结构化分析(SA方法)的基本概念和基本方法,特别是系统流程图、数据流图、数据字典、ER模型的掌握和应用。
2、结构化设计(SD方法)的基本概念和基本方法,包括总体设计与详细设计的各种工具和方法,如软件结构图、NS图、PAD图、判定表、判定树、PDL语言的掌握和应用。
3、软件测试的基本概念和方法,包括黑盒测试(等价类划分、错误推测、边界值分析)和白盒测试(逻辑覆盖、基本路径)各种方法的掌握和应用。
4、软件维护的基本概念。
5、面向对象方法的基本概念。
附件是《软件工程》的一份试卷,供参考。
8.根据下列程序流程图,设计3组的测试用例,使之满足语句覆盖,对每组测试数据给出执行路径、两个判定
(1)和(3)的判定结果。
语句覆盖在测试时应该执行到程序中的每一个语句
3组测试用例:
x=10,y=8执行路径:
125
(1)的判定结果为假,(3)的判定结果不执行
X=17y=4执行路径:
135
(1)的判定结果为真,(3)的判定结果为真
X=7y=1执行路径:
1345
(1)的判定结果为真,(3)的判定结果为假
9.某培训中心要研制一个计算机管理系统。
它的业务是:
将学员发来的信件收集分类后,按几种不同的情况处理。
(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
(1)对以上问题画出数据流程图。
(2)画出该培训管理的软件结构图。
解答:
(1)数据流图
(2)软件体系结构
10.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。
当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。
对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
试画出相应判定表。
11.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、语句覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。
(1)a=5 b=1
(2)a=5 b=-1
(3)a=5 b=1
(4)a=5 b=1
a=-5 b=-1
a=0 b=-1
(5)a=5 b=-1
(6)a=5 b=1
a=-5 b=1
a=0 b=0
a=-5 b=-1
a=-5 b=-1
(7)a=5 b=1
(8) a=5 b=1
a=0 b=1 a=0 b=-1
a=0 b=-1 a=-5 b=1
a=-5 b=1 a=-5 b=-1
流程图如下:
解答:
达到判定覆盖为(4);
达到条件覆盖为(3);
达到判定/条件覆盖为(6);
达到条件组合覆盖为(8);
达到路径覆盖为(7)。
12.某银行计算机储蓄系统的工作流程大致如下:
储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并画出系统的E-R图。
解答:
DFD图:
ER图:
13.请对下列子程序进行测试:
该子程序接受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.
14.自学考试报名过程中有个“记录报名单”的加工。
该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。
请绘制该加工的DFD图,并写出数据词典中的数据流条目。
解答:
(1)DFD图:
(2)数据流词典
报名单=姓名+性别+身份证号+课程名
开考课程=课程名+开考时间
考生名册=准考证号+姓名+课程
15.某校制定了教师的讲课课时津贴标准。
对于各种性质的讲座,无论教师是什么职称,每课时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:
教授30元,副教授25元,讲师20元,助教15元。
请用判定表描述上述问题。
解答:
判定表:
1
2
3
4
5
教授
T
F
F
F
副教授
F
T
F
F
讲师
F
F
T
F
助教
F
F
F
T
讲座
T
F
F
F
F
50
╳
30
╳
25
╳
20
╳
15
╳
16.假设某大学要从学生中挑选男子篮球队队员。
基本条件是:
各门课程的平均分在70分以上;身高超过1.8米;体重超过75千克。
需要从学生登记表中挑选出符合上述条件的男同学,以便进一步选拔。
请根据要求画出判定树。
17.有一个学生选课系统:
程序的输入条件为:
每个学生可以选修1至3门课程,试用黑盒测试法完成测试。
(1)按等价类划分法,设计测试用例(要求列出设计过程);
(2)按边界值分析法,设计测试用例。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 练习题