广州大学2017—2018 学年第一学期考试卷课程软件工程导论考试形式(闭卷,考试)一、单选题(每小题1分,共25分,答案写在下表中)1.软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D)问题A.产生危机B.质量保证C.开发效率D.生产工程化2.瀑布模型将软件生命周期归纳为3个时期,即计划期、开发期和运行期。
下列(D )不属于开发期内的工作。
A.总体设计B.详细设计C.程序设计D.维护3.结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B)属于计划时期的任务。
A.需求分析B.问题定义C.总体设计D.编码4.可行性研究要进行一次(C)需求分析。
A.详细的B.全面的C.简化的、压缩的D.彻底的5.经济可行性研究的范围包括(C)。
A.资源有效性B.管理制度C.效益分析D.开发风险6.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
A.确定B.行或不行C.正确D.无二义7.产生软件维护的副作用,是指(C )。
A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时错误操作8.软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及(B)。
A.用户B.需求评审C.总结D.都不对9.软件开发的结构化分析方法,常用的描述软件工程需求的工具是(C)A.业务流程图、处理说明B.软件流程图、模块说明C.数据流程图、数据字典D.系统流程图、程序编码10.数据流图用于抽象描述一个软件的逻辑模型,数据流图由以写特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)A.控制流B.加工C.数据存储D.数据流11.软件开发的结构生命周期法的基本假定是认为软件需求能做到(C)A.严格定义B.初步定义C.早期冻结D.动态改变软件需求经过分析阶段后,通过软件需求说明书表示出来,后面的开发工作以此为基础进行,即假定软件需求确定后一般不再改变,即“早期冻结”。
12.在结构化方法中,软件功能分解属于软件开发中的(C)阶段A.详细设计B.需求分析C.总体设计D.编程调试13.概要设计的结果是提供一份(A)A.模块说明书B.框图C.程序D.数据流图14.耦合是软件各个模块间连接的一种度量。
一组模块都访问同一数据结构应属于(B)方式A.内容耦合B.公共耦合C.控制耦合D.数据耦合解释:耦合分为以下几种,按照耦合度由高到低排列是:内容耦合——一个模块直接访问另一个模块的内容。
公共耦合——组模块都访问同一全局数据结构。
外部耦合——组模块都访问同一个数据项。
控制耦合——一个模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能。
15.内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C)方式A.逻辑内聚B.时间内聚C.过程内聚D.顺序内聚逻辑内聚指模块把几种相关的功能组合在一起,每次调用时,由传送给模块的参数来确定该模块应完成哪一种功能;时间内聚是顺序完成一类相关功能;过程内聚指一个模块内的处理元素是相关的,而且必须以特定次序执行;顺序内聚是指一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常一个处理元素的输出数据作为下一个处理元素的输入数据。
16.(C)是指让一些关系密切的软件元素在物理上彼此靠近A.信息隐蔽B.内聚C.局部化D.模块独立17.模块本身的内聚是模块独立性的重要性度量因素之一。
在下类内聚中,具有最强内聚的一类是(D)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚18.软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B)不具有其特征A.书写大量文档B.详细的界面表示C.对数据流进行分析D.冻结应用需求19.软件设计中,可应用于详细设计的工具有(A )A.程序流程图、PAD、方框图和伪码B.数据流程图、PAD、结构图和伪码C.业务流程图、N-S图和伪码D.程序流程图、PAD、N-S图和伪码20.详细设计是软件总体设计后的工作。
下列可选内容中,(D)不属于详细设计的内容。
A.算法设计B.模块设计C.界面设计D.功能设计21.程序的三种基本控制结构是(B)A.过程、子过程和分程序B.顺序、选择和循环(重复)C.递归、堆栈和队列D.调用、返回和转移22.程序的三种基本控制结构的共同特点是(D)A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口23.判定树和判定表是用于描述结构化分析方法中(B )环节的工具A.功能说明B.数据加工C.流程描述D.性能说明24.重新执行已经做过的部分测试的过程称为(C)A.确认测试B.集成测试C.验证测试D.回归测试25.汽车有一个发动机。
汽车和发动机之间的关系是(B)关系A.一般具体B.整体部分C.分类D.主从二.简答题(30分)1.简述瀑布等各种模型的优缺点和适用范围(12分)优点缺点适用范围瀑布模型1.顺序性和阶段性2.可强迫开发人员采用规范方法1.完全依赖文档2.可能导致最后的产品不满足用户需求适用于需求明确和全面,开发过程很少变化快速原型1.可得到良好需求定义,可适应需求的变化2.有利于开发与培训的同步3.方便与用户沟通1.设计困难2.缺乏总体质量和可维护性适用大部分场景增量模型1.人员分配灵活2.逐步向用户交付产品,方便用户学习和适应1.具有不能集成的风险2.架构设计要求高,结构开放适用于进行已有产品升级或新版本开发螺旋模型1.设计灵活,可变更2.客户参与各阶段开发1.需丰富的风险评估经验和专门知识2.增加开发成本,延迟提交时间适合大规模的软件项目敏捷开发模型1.开发效率高2.快速响应变化1.不适合大型项目适用于小型项目喷泉模型1.各阶段无明显界限,开发同步2.提高开发效率1.需要大量开发人员2.要求严格管理文档适用于面向对象的软件开发过程2.可行性研究报告的主要任务有哪些(4分)答:1、最根本任务是对以后的行动方针提出建议2、进一步分析和澄清问题定义3、澄清了问题定义之后,分析员应该导出系统的逻辑模型4、探索若干种可供选择的主要解法3.简述软件需求的组成,并说明每种组成的含义(4分)业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,他们在项目视图与范围文档中予以说明用户需求:文档描述了用户使用产品必须要完成的任务,这在使用实例文档或文案脚本说明中予以说明功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求4.简述总体设计的过程(4分)答:1、设想可供选择的方案2、选取合理的方案3、推荐最佳方案4、功能分解5、设计软件结构6、设计数据库7、制定测试计划8、书写文档9、审查和复查5.软件交付有几种方式对比优缺点,你觉得实际中应使用何种方式(6分)a)直接方式i.直接用新系统代替旧系统,没有过度ii.转换简单,费用少iii.风险大b)并行方式i.并不立即投入使用而是同时运行新系统和旧系统,比较处理结果ii.可以对系统进行全面测试,减少新系统失灵带来的风险,因为旧系统仍然存在iii.所需费用较高,双系统要投入更多的人力财力c)逐步方式i.将软件分期,部分地交付使用,克服了上面两种方式的缺点,技能防止直接转换产生的危险性,又能减少并行方式ii.但是这种方式使整个系统中一部分是旧系统,一般部分是新系统,要考虑好互相配合和接口问题.实际中应使用逐步方式。
三、计算题(10分)用五种覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖,分别对下面的控制流图设计测试用例1、语句覆盖用例设计:X Y路径15050OBDE29070OBCE2、判定覆盖用例设计:X Y路径19090OAE25050OBDE39070OBCE3、条件覆盖用例设计:4、判定/条件覆盖用例设计:5、组合覆盖用例设计:6、路径覆盖用例设计:四、设计题(35分)实现学生管理系统的系统化、规范化和自动化。
主要功能:(1)基本数据管理:包括院系管理,专业管理(设置院系下面的专业),班级管理(设置专业下面的班级),课程管理(设置相应专业下面的课程)(2)学生信息管理:包括基本信息录入、基本信息修改(3)学生成绩管理:包括学生成绩录入、学生成绩修改(4)信息查询:包括基本信息查询、成绩信息查询、学校人数统计(5)系统管理:用户管理、数据备份和系统帮助参考的主要数据表结构:院系信息(院系代码,院系名称)院系专业信息(班级、院系代码,专业)学生基本信息(班级,学号,姓名,性别,出生年月,籍贯,政治面貌,身份证号,入学年月,家庭地址,邮政编码,图片信息,备注)学生成绩表(班级,学号,课程名称,成绩,学期,备注)用户信息表(用户名,密码,用户标识)题目:1、对学生管理系统进行分析:(设计用例图)(10分)2、分析学生选课的业务流程,画出活动图(10分)3、完成学生管理系统的数据库设计(E-R图、表)(15分)【B卷】(D)工具在软件详细设计过程中不采用A.判定表B.IPO图C.PDLD.DFD图程序流程图(PDF)中的箭头代表的是(B)A.数据流B.控制流C.调用关系D.组成关系下列工具中为需求分析常用工具是(D)A.PADB.PFDC.N-SD.DFD需求分析中的常用工具有PAD、PFD及N-S等,而DFD(数据流图)为结构化分析工具。
程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(A)A.支持逐步求精B.考虑控制流程C.遵守结构化设计原则D.数据结构表示程序流程图是一种传统的程序设计表示工具,使用该工具时应注意支持逐步求精。
相关知识点:流程图的缺点是本质上不支持逐步求精:流程图中的流线转移方向任意;可能破坏单入、单出程序结构;不适于表示数据结构和模块调用关系;对于大型软件而言过于琐碎,不易阅读和修改。