最新北方工业大学软件工程期末复习题.pdf
精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢1 北方工业大学 软件工程课程期末复习题 A 卷 2014 年春季学期 开课学院:信息工程学院 考试方式:闭卷 考试时间:120 分钟 班级 姓名 学号 题 号 一 二 三 四 五 六 七 八 九 十 总 分 得 分 阅卷人 一.简要回答下列各问题(共 40 分,每个小题 5 分)(1)阐述软件工程的定义。答:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理、技术和方法来开发和维护软件;把证明正确的管理技术和最好技术综合运用到软件开发中;研究经济地开发出高质量的软件方法和技术;研究有效维护软件的方法和技术。(2)简述软件危机的原因。答:缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。缺少有效的软件评测手段,提交用户的软件质量不能完全保证。序号 订 线 装 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢2(3)画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。(4)画出软件生存周期的增量模型的示意图,并简述其优点。优点:可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。缺点 由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格说明与用户需求之间有差异,就会发生这种情况。瀑布模型只适用于项目开始时需求已确定的情况。1-2 瀑布模型示意图 能在较短时间内向用户提交可完成一些有用的工作产品,即从第 1 个构件交付之日起,用户就能做一些有用的工作。逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢3(5)画出 D.Ross 提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。答:(6)举例说明变换型和事务型流图的特点。答:变换型流图由输入、中心变换和输出 3 部分组成,而且逐层展开。如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。(7)给出下面变换型数据流图对应的模块结构图。答:数据字典:数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点、数据汇点等。数据流图:或 加工。对输入数据进行变换以产生输出数据,其中要注明加工的名字。或 外部实体,即数据输入源(Source)或数据输出汇点(Sink)。其中要注明数据源或数据汇点的名字。或 数据存储。要用名词或名词性短语为数据存储命名。数据流。描述被加工数据及传递方向。箭头旁边要注明数据流的名字,可用名词或名词性短语命名。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢4(8)给出下面交易型数据流图对应的模块结构图。答:(9)举例说明模块结构图优化方法中的不同模块相似部分调整的原则。答:完全相似的模块可以归并;两个模块部分相似的代码可以通过建立公共新模块,并设立对公共模块调用进行调整。例如:XR1YR1XR1Y XR1YRR1RR1XRR1YRR1 (10)举例说明模块结构图优化方法中作用域与控制域调整的原则。答:作用域是指判断语句所在模块和他判断调用的下属模块,而控制域是指他本身以及他的下属模块;一般要求作用域在控制域内。例如:D 通过 B判断调用 C,故 D的作用范围不在它的控制范围内,调整为右图。BTOPFEDCATOPFEDCBA 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢5(11)试将下面的代码段进行局部调整,使其更容易理解。1)要进行适当的缩排;2)增加必要的注释;3)增加必要的语句,以免产生错误;For(i=1;i=n-1,i+)t=i;for(j=i+1,j=n,j+)if(ajat)t=j;if(t!=i)tm=at;at=ai;ai=tm 答:int i=0;/*实现*功能 int t=0;int tm=0;For(i=1;i=n-1,i+)/*实现*功能 t=i;for(j=i+1,j=n,j+)/*实现*功能 if(ajat)t=j;if(t!=i)tm=at;/*实现*功能 at=ai;ai=tm (12)试按照规范编写一个求 3 个数中最小值的程序。程序规范如下:1)禁止使用 GOTO 语句;2)使用缩排编写程序;3)变量命名明晰 答:main()/a c code about finding out the small one in tree input number int num1,num2,num3,min;printf(Please input three numbers:);scanf(%d,%d,%d,&num1,&num2,&num3);if(num1num2)MIN=num1;else MIN=num2;if(num3MIN)MIN=num3;printf(The small one is:%d,small);精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢6(13)举例说明软件测试的不完备性。答:就目前的软件测试方法而言,还无法做到对代码的完全覆盖测试,所以说软件测试是不完备的。例如,下面的代码是无法完全测试的。(14)试解释单元测试中“驱动模块”、“桩模块”与“被测模块”含义以及它们之间的关系。答:驱动模块相当于被测模块的主程序,它接收测试数据,并把这些数据传送给被测模块,最后再输出实测结果。桩模块也叫做存根模块,用以代替被测模块调用的子模块。被测模块是单元测试要测试的模块,他与驱动模块和桩模块有被调用和调用的关系。(15)简述软件改正性、适应性维护的含义。答:改正性是为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。适应性维护是指,随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护 包含的不同执行路径数达520条,对每一条路径进行测试需要 1毫秒,假定一年工作365 24小时,要想把所有路径测试完,需3170年。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢7(16)举例说明影响维护工作量的因素。答:(1)系统规模:系统规模大,维护困难;(2)程序设计语言:开发语言复杂,维护也困难;(3)系统年龄大小:时间久远的系统,维护困难;(4)数据库技术的应用水平:数据应用水平低,维护工作量大。(5)所采用的软件开发技术及软件开发工程化的程度:工程化程度高,维护相对容易。例如:商业企业进销存管理软件。由于商品品种多,经营手段灵活,所以对数据库技术应用的水平要求比较高;一般大型商业企业,如沃尔玛是全球连锁,所以系统规模巨大,维护困难;商业企业管理软件一般要处理的内容多样,目前还没有一种语言可以完成整个系统的开发任务,所以选择功能相对强大的语言会减少开发困难。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢8 二、已知程序框图如图 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)】精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢9 三、现有一个 PASCAL 语言的编译器。试采用黑盒测试法测试该编译器对语法规定:“标识符是由字母开头、后跟字母或数字的任意组合构成;有效字符数为 8 个,最大字符数为 80 个;标识符必须先说明,再使用;在同一说明语句中,标识符至少必须有一个。”的一致性。(每一个分类 5 分,共 25 分)答:等价类划分如下:测试用例:下面选取了 8 个测试用例,它们覆盖了所有的等价类。VAR x,T1234567:REAL;(1)(2)(4)(7)(8)(11)(13)BEGIN x:=3.414;T1234567:=2.732;VAR:REAL;(3)VAR x,:REAL;(5)VAR T12345:REAL;(6)多于 80 个字符 VAR T$:CHAR;(9)VAR GOTO:INTEGER;(10)VAR 2T:REAL;(12)VAR PAR:REAL;(14)BEGIN PAP:=SIN(3.14*0.8)/6;精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢10 四、已知程序伪代码如图 4-1所示,试完成下列工作:1)试用算法 4.1 给出对应的流图;2)计算流图的复杂性 V(G);3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);4)给出每条路径执行的期望结果;5)给出每一条路径的测试用例。(每小题 3 分,共 15 分)答:环形复杂性:3 基本路径集:12357 12457 12367 期望结果:12357 的结果:num1是最小值 12457 的结果:num2是最小值 12367 的结果:num3是最小值 测试用例:Num1=3;num2=4;num3=5 Num1=4;num2=3;num3=5 Num1=4;num2=5;num3=3 main()/a c code about finding out the small one in tree input number int num1,num2,num3,Min;printf(Please input three numbers:);(1)scanf(%d,%d,%d,&num1,&num2,&num3);(2)if(num1num2)(3)MIN=num1;else (4)MIN=num2;(5)if(num3MIN)(6)MIN=num3;(7)printf(The small one is:%d,Min);图 4-1 一个计算三个数中最小值的程序 1 2 4 3 5 76 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢11 五、已知程序伪代码如图 5-1所示,试完成下列工作:1)试用算法 5.1 给出对应的流图;2)计算流图的复杂性 V(G);3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);4)给出每条路径执行的期望结果;5)给出每一条路径的测试用例。(每小题 3 分,共 15 分)答:V(G)=6 path1:1-2-10-11-13 path2:1-2-10-12-13 path3:1-2-3-10-11-13 path4: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=有效输入,限于 ki(i 定义如下)value i=999,当 2i100;预期结果:n个值的正确的平均值、正确的总计数。注意:不能孤立地进行测试,应当作为路径 4、5、6 测试的一部分来测试。path2:输入数据:value 1=999;预期结果:平均值=999,总计数取初始值。path3:输入数据:试图处理 101 个或更多的值,而前 100个应当是有效的值;预期结果:与测试用例 1 相同。精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢12 六、一个网络教学系统的功能需求内容:1)学生通过客户端根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询;2)学生可以登录本系统中学习模块,浏览课程信息、选择和查找自己所需要学习课程的课件并进行下载;3)教师可以登录本系统,在网站上输入课程介绍、上传课程的课件、发布、更新和修改消息;4)系统管理员可以对本系统进行维护和批准用户申请注册等操作。对课程信息进行维护,包括:添加、删除和修改课程信息;对学生基本信息进行维护,包括:添加、修改、查询和删除;对教师信息进行维护,包括:添加、修改、查询和删除等操作。试完成系统的分析与设计工作。具体要求如下:画出系统的数据流程图 画出系统 E-R图 画出系统状态转换图 画出系统功能的模块结构图 给出模块结构图中学生选课并下载课件的算法的伪代码(每问 4 分,共 20 分)答:精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢13 七、采用面向对象的分析与设计方法完成“网络教学系统”下面要求的系统分析与设计工作。(每问 4 分,共 20 分)画出系统 UML 用例图 画出系统 UML 类图 画出系统 UML 状态转换图 画出系统 UML 顺序图 给出类图中教师发布课程信息方法的伪代码;医疗质量安全核心制度要点 医疗质量安全核心制度是指在诊疗活动中对保障医疗质量和患者安全发挥重要的基础性作用,医疗机构及其医务人员应当严格遵守的一系列制度。根据医疗质量管理办法,医疗质量安全核心制度共 18 项。本要点是各级各类医疗机构实施医疗质量安全核心制度的基本要求。一、首诊负责制度 (一)定义 指患者的首位接诊医师(首诊医师)在一次就诊过程结束前或由其他医师接诊前,负责该患者全程诊疗管理的制度。医疗机构和科室的首诊责任参照医师首诊责任执行。(二)基本要求 1.明确患者在诊疗过程中不同阶段的责任主体。2.保障患者诊疗过程中诊疗服务的连续性。3.首诊医师应当作好医疗记录,保障医疗行为可追溯。4.非本医疗机构诊疗科目范围内疾病,应告知患者或其法定代理人,并建议患者前往相应医疗机构就诊。二、三级查房制度 (一)定义 指患者住院期间,由不同级别的医师以查房的形式实施患者评估、制定与调整诊疗方案、观察诊疗效果等医疗活动的制度。(二)基本要求 1.医疗机构实行科主任领导下的三个不同级别的医师查房制度。三个不同级别的医师可以包括但不限于主任医师或副主任医师-主治医师-住院医师。2.遵循下级医师服从上级医师,所有医师服从科主任的工作原则。3.医疗机构应当明确各级医师的医疗决策和实施权限。4.医疗机构应当严格明确查房周期。工作日每天至少查房 2 次,非工作日每天至少查房 1 次,三级医师中最高级别的医师每周至少查房 2 次,中间级别的医师每周至少查房 3 次。术者必须亲自在术前和术后 24 小时内查房。5.医疗机构应当明确医师查房行为规范,尊重患者、注意仪表、保护隐私、加强沟通、规范流程。6.开展护理、药师查房的可参照上述规定执行。三、会诊制度 (一)定义 会诊是指出于诊疗需要,由本科室以外或本机构以外的医务人员协助提出诊疗意见或提供诊疗服务的活动。规范会诊行为的制度称为会诊制度。(二)基本要求 精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢14 1.按会诊范围,会诊分为机构内会诊和机构外会诊。机构内多学科会诊应当由医疗管理部门组织。2.按病情紧急程度,会诊分为急会诊和普通会诊。机构内急会诊应当在会诊请求发出后 10 分钟内到位,普通会诊应当在会诊发出后 24 小时内完成。3.医疗机构应当统一会诊单格式及填写规范,明确各类会诊的具体流程。4.原则上,会诊请求人员应当陪同完成会诊,会诊情况应当在会诊单中记录。会诊意见的处置情况应当在病程中记录。5.前往或邀请机构外会诊,应当严格遵照国家有关规定执行。