




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北方工业大学软件工程期末复习题(含答案)北方工业大学软件工程期末复习题(含答案)北方工业大学软件工程期末复习题(含答案)xxx公司北方工业大学软件工程期末复习题(含答案)文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度序号北方工业大学序号《软件工程》课程期末复习题A卷2014年春季学期订线订线装考试方式:闭卷考试时间:120分钟班级姓名学号题号一二三四五六七八九十总分得分阅卷人一.简要回答下列各问题(共40分,每个小题5分)(1)阐述软件工程的定义。答:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理、技术和方法来开发和维护软件;把证明正确的管理技术和最好技术综合运用到软件开发中;研究经济地开发出高质量的软件方法和技术;研究有效维护软件的方法和技术。(2)简述软件危机的原因。答:缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3)画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。优点:优点:可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。缺点由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格说明与用户需求之间有差异,就会发生这种情况。瀑布模型只适用于项目开始时需求已确定的情况。1-2瀑布模型示意图1-2瀑布模型示意图(4)画出软件生存周期的增量模型的示意图,并简述其优点。能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。
(5)画出D.Ross提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。数据字典:数据字典:数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点、数据汇点等。数据流图:(6)举例说明变换型和事务型流图的特点。答:变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。(7)给出下面变换型数据流图对应的模块结构图。答:
(8)给出下面交易型数据流图对应的模块结构图。答:(9)举例说明模块结构图优化方法中的不同模块相似部分调整的原则。答:完全相似的模块可以归并;两个模块部分相似的代码可以通过建立公共新模块,并设立对公共模块调用进行调整。例如:(10)举例说明模块结构图优化方法中作用域与控制域调整的原则。答:作用域是指判断语句所在模块和他判断调用的下属模块,而控制域是指他本身以及他的下属模块;一般要求作用域在控制域内。例如:D通过B判断调用C,故D的作用范围不在它的控制范围内,调整为右图。
(11)试将下面的代码段进行局部调整,使其更容易理解。要进行适当的缩排;增加必要的注释;增加必要的语句,以免产生错误;For(i=1;i<=n-1,i++){t=i;for(j=i+1,j<=n,j++)if(a[j]<a[t])t=j;if(t!=i){tm=a[t];a[t]=a[i];a[i]=tm}}答:inti=0;/*实现***功能intt=0;inttm=0;For(i=1;i<=n-1,i++)/*实现***功能{t=i;for(j=i+1,j<=n,j++)/*实现***功能if(a[j]<a[t])t=j;if(t!=i){tm=a[t];/*实现***功能a[t]=a[i];a[i]=tm}}(12)试按照规范编写一个求3个数中最小值的程序。程序规范如下:禁止使用GOTO语句;使用缩排编写程序;变量命名明晰答:main()//accodeaboutfindingoutthesmalloneintreeinputnumber
{intnum1,num2,num3,min;
printf("Pleaseinputthreenumbers:");
scanf("%d,%d,%d",&num1,&num2,&num3);
if(num1<num2)
MIN=num1;
else
MIN=num2;
if(num3<MIN)
MIN=num3;
printf("Thesmalloneis:%d",small);
(13)举例说明软件测试的不完备性。答:就目前的软件测试方法而言,还无法做到对代码的完全覆盖测试,所以说软件测试是不完备的。例如,下面的代码是无法完全测试的。包含的不同执行路径数达520包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365×24小时,要想把所有路径测试完,需3170年。(14)试解释单元测试中“驱动模块”、“桩模块”与“被测模块”含义以及它们之间的关系。答:驱动模块相当于被测模块的主程序,它接收测试数据,并把这些数据传送给被测模块,最后再输出实测结果。桩模块也叫做存根模块,用以代替被测模块调用的子模块。被测模块是单元测试要测试的模块,他与驱动模块和桩模块有被调用和调用的关系。(15)简述软件改正性、适应性维护的含义。答:改正性是为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。适应性维护是指,随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护
(16)举例说明影响维护工作量的因素。答:系统规模:系统规模大,维护困难;程序设计语言:开发语言复杂,维护也困难;系统年龄大小:时间久远的系统,维护困难;数据库技术的应用水平:数据应用水平低,维护工作量大。所采用的软件开发技术及软件开发工程化的程度:工程化程度高,维护相对容易。例如:商业企业进销存管理软件。由于商品品种多,经营手段灵活,所以对数据库技术应用的水平要求比较高;一般大型商业企业,如沃尔玛是全球连锁,所以系统规模巨大,维护困难;商业企业管理软件一般要处理的内容多样,目前还没有一种语言可以完成整个系统的开发任务,所以选择功能相对强大的语言会减少开发困难。
二、已知程序框图如图2-1所示,试分别给出(a)语句覆盖,(b)条件覆盖,(c)判断覆盖,(d)条件组合覆盖,(e)判断/条件的最小测试用例和路径。(每小题5分,共25分)答:(a)语句覆盖路径:ace测试用例【(2,0,4),(2,0,3)】 (b)条件覆盖路径:ace测试用例:【(2,0,4),(2,0,3)】路径:abd测试用例:【(1,1,1),(1,1,1)】 (c)判断覆盖路径:ace测试用例:【(2,0,4),(2,0,3)】路径:abd测试用例:【(1,1,1),(1,1,1)】 (d)条件组合覆盖路径:ace测试用例:【(2,0,4),(2,0,3)】路径:abd测试用例:【(1,1,1),(1,1,1)】路径:abe测试用例:【(2,1,1),(2,1,2)】路径:abe测试用例:【(1,0,3),(1,0,4)】 (e)判断/条件覆盖路径:ace测试用例:【(2,0,4),(2,0,3)】路径:abd测试用例:【(1,1,1),(1,1,1)】
三、现有一个PASCAL语言的编译器。试采用黑盒测试法测试该编译器对语法规定:“标识符是由字母开头、后跟字母或数字的任意组合构成;有效字符数为8个,最大字符数为80个;标识符必须先说明,再使用;在同一说明语句中,标识符至少必须有一个。”的一致性。(每一个分类5分,共25分)答:等价类划分如下:测试用例:下面选取了8个测试用例,它们覆盖了所有的等价类。①VARx,T1234567:REAL;}(1)(2)(4)(7)(8)(11)(13)BEGINx:=3.414;T1234567:=2.732;……②VAR:REAL;
}(3)③VARx,:REAL;}(5)④VART12345……:REAL;}(6)多于80个字符⑤VART$:CHAR;}(9)⑥VARGOTO:INTEGER;}(10)⑦VAR2T:REAL;
}(12)⑧VARPAR:REAL;}(14)BEGIN……PAP:=SIN(3.14*0.8)/6;
四、已知程序伪代码如图4-1所示,试完成下列工作:试用算法4.1给出对应的流图;计算流图的复杂性V(G);求基本路径构成的基本集合(num1,num2,num3各取一次最小值);给出每条路径执行的期望结果;给出每一条路径的测试用例。(每小题3分,共15分)答:main()main()//accodeaboutfindingoutthesmalloneintreeinputnumber
{intnum1,num2,num3,Min;
printf("Pleaseinputthreenumbers:");
(1)scanf("%d,%d,%d",&num1,&num2,&num3);
(2)if(num1<num2)
(3)MIN=num1;
else
(4)MIN=num2;
(5)if(num3<MIN)
(6)MIN=num3;
(7)printf("Thesmalloneis:%d,Min);
printf("min=%d\n",min);
}
图4-1一个计算三个数中最小值的程序112435786环形复杂性:3基本路径集:123571245712367期望结果:12357的结果:num1是最小值12457的结果:num2是最小值12367的结果:num3是最小值测试用例:Num1=3;num2=4;num3=5Num1=4;num2=3;num3=5Num1=4;num2=5;num3=3
五、已知程序伪代码如图5-1所示,试完成下列工作:试用算法5.1给出对应的流图;计算流图的复杂性V(G);求基本路径构成的基本集合(num1,num2,num3各取一次最小值);给出每条路径执行的期望结果;给出每一条路径的测试用例。(每小题3分,共15分)V(V(G)=6path1:1-2-10path2:1-2-10-12-13path3:1-2-3-10-11-13path4:1-2-3-4-5-8-9-2……path5:1-2-3-4-5-6-8-9-2……path6:1-2-3-4-5-6-7-8-9-2……path1:输入数据:value[k]=有效输入,限于k<i(i定义如下)value[i]=−999,当2≤i≤100;预期结果:n个值的正确的平均值、正确的总计数。注意:不能孤立地进行测试,应当作为路径4、5、6测试的一部分来测试。path2:输入数据:value[1]=−999;预期结果:平均值=−999,总计数取初始值。path3:输入数据:试图处理101个或更多的值,而前100个应当是有效的值;预期结果:与测试用例1相同。
六、一个网络教学系统的功能需求内容:学生通过客户端根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询;学生可以登录本系统中学习模块,浏览课程信息、选择和查找自己所需要学习课程的课件并进行下载;教师可以登录本系统,在网站上输入课程介绍、上传课程的课件、发布、更新和修改消息;系统管理员可以对本系统进行维护和批准用户申请注册
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建东职业技术学院《土木工程施工组织与管理》2023-2024学年第二学期期末试卷
- 国际关系学院《可编程控制技术》2023-2024学年第二学期期末试卷
- 惠州经济职业技术学院《生物工程专业CAD基础》2023-2024学年第二学期期末试卷
- 珠海城市职业技术学院《电影解读》2023-2024学年第一学期期末试卷
- 2024年安徽销售分公司秋季高校毕业生招聘20人笔试参考题库附带答案详解
- 学霸都是-长期主义课件-高三下学期坚持在学习中的重要性(班会课)
- 物业服务标准化管理培训
- 二零二五棋牌室承包经营合同模板
- 二零二五版全新提成居间协议
- 二零二五版房地产公司员工入职劳动合同书
- 《产业基础创新发展目录(2021年版)》(8.5发布)
- GB/T 31266-2014过磷酸钙中三氯乙醛含量的测定
- GB/T 16422.3-2014塑料实验室光源暴露试验方法第3部分:荧光紫外灯
- 计量器具校准记录
- DB36-T 1694-2022 餐厨垃圾集约化养殖黑水虻技术规程
- 井控培训知识课件
- 技术合同认定登记培训课件
- 双减背景下小学语文作业的有效设计课件
- 十二讲船舶制冷装置课件
- 第12课送你一个书签
- 耳内镜微创外科技术PPT通用课件[通用]
评论
0/150
提交评论