诚信应考考出水平考出风格浙江大学城市学院2009—2010学年第一学期期末考试试卷《软件工程》开课单位:计算分院;考试形式:闭、开卷;考试时间:__2010_年__1__月__25_日;所需时间:120分钟题序一二三四五六七八总分得分评卷人一._单项选择题_____(本大题共__15__题,每题___1___分,共___15___分。)1.软件重用的单位是()。A.系统B.性能C.软件模块D.功能2.以下哪个等级是CMM中的3级资质()。A.可重复级B.优化级C.管理级D.定义级3.按测试数据执行程序逻辑程度判断,判定覆盖()条件覆盖。A.强于B.弱于C.等价于D.不等价于4.下列模块的独立性的耦合方式中,最不好的是()A.控制耦合B.公共耦合C.内容耦合D.数据耦合5.需求分析中,开发人员要从用户那里解决的最重要的问题是()。A.要让软件做什么B.要给该软件提供哪些信息C.要求软件工作效率怎样D.要让该软件具有何种结构6.以下说法错误的是()。A.面向对象分析与面向对象设计的定义没有明显区别B.面向对象分析和面向对象设计活动是一个多次反复迭代的过程C.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程D.在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的得分年级:_____________专业:_____________________班级:_________________学号:_______________姓名:__________________…………………………………………………………..装………………….订…………………..线………………………………………………………第2页,共5页7.结构化程序设计的一种基本方法是()。A.逐步求精法B.递归法C.迭代法D.筛选法8.可维护的特性中,相互矛盾的是()。A.可修改性和可理解性B.可测试性和可理解性C.效率和可修改性D.可理解性和可读性9.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流()。A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等10.在面向对象的高层设计体系结构中,()是OOD导出的体系结构的核心部分。A.人机交互界面B.问题论域C.系统交互界面D.数据管理11.与设计测试用例无关的文档是()。A.项目开发计划B.需求规格说明书C.设计说明书D.源程序12.协作图反映收发消息的对象的结构组织,它与()是同构的。A用例图B类图C活动图D顺序图13.为修正软件中存在的错误的修改软件的过程是()。A.校正性维护B.适应性维护C.完善性维护D.预防性维护14.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A多态性B继承C封装D消息15.在黑盒测试中,着重检查输入条件的组合是()。A.等价类划分法B.边界值分析法C.错误推测法D.因果图法二._组合选择题______(本大题共______题,每空___1___分,共___30_____分。)请从供选择的答案中选出正确或合适的答案填入()中。1、(6分)软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(A),它建立在(B)的基础上,沿螺旋线向外每旋转一周,就得到(C)的一个新版本。喷泉模型描述了(D)的开发模型,它体现了这种开发方法创建软件的过程所固有的(E)和(F)的特征。A①系统工程②风险分析③设计评审④进度控制BC①模块划分②子程序分解③设计④原型D①面向对象②面向数据流③面向数据结构④面向事件驱动E①归纳②推理③迭代④递归得分第3页,共5页F①开发各阶段之间无“缝隙”②开发各阶段分界明显③部分开发阶段分界明显④开发过程不分段2、(5分)软件测试的目的是(A)。为了提高测试的效率,应该(B)。使用白盒测试方法时,确定测试数据应根据(C)和指定的覆盖标准。一般来说,也设计测试数据无关的文档是(D)。软件组装工作最好由(E)来承担,以提高组装测试的结果。A①评估软件的质量②发现软件的错误③找出软件的所有错误④证明软件是对的B①随机选取测试数据②取一切可能的输入数据作为测试数据③在完成编码后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据C①程序的内部逻辑②程序的复杂程度③使用说明书④程序的功能D①需求规格说明书②程序的复杂程度③源程序④项目开发计划E①该软件的设计人员②该软件开发组的负责人③该软件的编程人员④不属于该软件开发组的软件设计人员3、在面向对象软件开发过程中特别重视复用。软件构件应独立于当初开发它们的应用而存在。在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。因此,应使得类成为一个(A)的单元。这样就有一个(B)生存期问题。(B)生存期有自己的步骤,与任何特定应用的开发(C)。按照这些步骤,可以完整地描述一个基本(D),而不仅仅考虑当前正在开发的系统。系统开发的各个阶段都可能会标识新的类。随着各个新类的标识,(B)生存期引导开发工作逐个阶段循序渐进。在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的3个可能途径是:(E)复用既存类,对既存类进行(F)以得到满足要求的类,重新开始进行开发。供选择的答案:A:①可复用②可测试③可适用④可靠B:①应用②寿命③类④软件C:①相关②密切相关③负相关④无关D:①概念②实体③事件④事情E,F:①修改②更新③照原样④演化4、下列关于软件质量因素的定义中,关于诊断和改正运行现场发西那的错误所需要的工作量大小称为(A)。对未经授权的人使用软件或数据的企图,系统能够控制的程度称为(B)。在硬件发生故障、输入无效的情况下,系统能够做出适当的响应称为(C)。软件容易测试的程度称为(D)。软件在其他应用中可以被再次使用的程序称为(E)供选择的答案:A,B,CD,E:①正确性②健壮性③完整性④可用性⑤可理解性⑥可维修性⑦可测试性⑧可移植性⑨可再用性5、软件设计中划分模块的一个准则是(A)。两个模块之间的耦合方式中,(B)耦合的耦合度最低,(C)耦合的耦合度最高。一个模块内部的内聚种类中(D)内聚的内聚度最低,(E)内聚的内聚度最高。第4页,共5页A:①低内聚低耦合②低内聚高耦合③高内聚低耦合④高内聚高耦合B、C:①数据②非直接③控制④内容D、E:①偶然②逻辑③功能④过程6、把大型软件按照规定划分成较小的、相对独立但又相关的模块叫模块化设计。模块化设计的主要指导思想是(A)、(B)和(C)A①分解②精化③定义④分析B①信息传递②信息处理③信息存储④信息隐蔽C①模块偶然性②模块逻辑性③模块过程化④模块独立性三.判断题(本大题共__15__题,每题___1___分,共___15_____分。)正确的填写T,错误的填写F。1.在进行需求分析时同时考虑维护问题。2.完成测试后,为缩短程序长度而删去程序中的注解。3.尽可能在软件开发过程中保证各个阶段文档的正确性。4.编码是尽可能采用全局变量。5.选择时间效率和空间效率尽可能高的算法。6.尽可能利用硬件特点提高效率。7.重视程序结构设计,使得程序具有较好的层次结构。8.使用维护工具和软件工程环境。9.进行概要设计时尽可能加强模块间的联系。10.提高程序可读性,尽可能使用高级编程语言。11.在面向对象软件工程中,尽量不要使用泛化。12.在UML的各种图中,状态图是一种交互图。13.代码行估算技术的优点是因为所有软件产品都有代码,通用性广。14.操作手册的编写工作应该在软件测试阶段之前完成。15.CMM5级就是管理级。四.简答题(本大题共__2__题,每题___5___分,共___10_____分。)1.简述喷泉模型。2.简述Alpha和Beta测试。五.综合题(本大题共__3__题,每题___10___分,共___30_____分。)1、问题陈述:为更好的管理教学工作,某学校拟开发教务管理系统,教学秘书将所有的课程信息输入到系统中,课程信息包含课程号、课程名、开课时间、开课系和开课教师等,学生通过教务管理系统进行选课,从而得到本学期的相关课表,教师可以通过系统了解课程情况,每个期末,教师录入各门课程的考试成绩,教学秘书根据各门课的考试情况,得到各教学班级的考试成绩统计表,学工秘书根据学生考试情况得到奖得分得分得分第5页,共5页学金评定的的学生成绩排名统计表。(10分)(1)以结构化方法建立该问题的数据流图(至少2层,即顶层和0层)(7分)(2)描述数据流图中的主要数据字典(3分)2、问题陈述:有以下程序流程图:(1)将上述流程图转换为PAD图(3分)(2)设计尽量少的测试用例,达到白盒测试中的条件组合覆盖(7分)3.请建立下述订单支持系统的对象模型(10分)某外贸公司需要构建订单系统,具体需求如下:1)公司客户分为团体客户和个人客户,团体客户有联系人姓名和联系方式,对于重要团体客户,有专门的某个雇员进行联系;个人客户有信用卡号和信用级别属性;2)公司和客户之间有订单关系,一个客户可以订多份订单,而每份订单只能对应单一的客户;3)每份订单可能会涉及到多种产品,订单采用订单项和产品关联,每项订单项对应一种产品;4)每种产品都有专门的雇员负责维护其数量和出入库的情况。(1)画出该订单支持系统的简要用例图(4分)(2)画出该订单系统的简要类图,只需画出类的基本属性即可(6分)