●软件工程模拟试卷●厦门理工软件学院2011–2012学年度下期《软件工程》试题(第9套)题号一二三四五总分题分第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题2、软件详细设计的主要任务是确定每个模块的()A、算法和使用的数据结构B、外部接口C、功能D、编程3、为了提高软件的可维护性,在编码阶段应注意()A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格4、快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件5、软件需求分析的主要任务是准确地定义出要开发的软件系统是()A.如何做B.怎么做C.做什么D.对谁做6、软件维护产生的副作用,是指()A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作7、软件生命周期中所花费用最多的阶段是(D)A、详细设计B、软件编码C、软件测试D、软件维护8、因计算机硬件和软件环境的变化而作出的修改软件的过程称为()A.校正性维护B.适应性维护C.完善性维护D.预防性维护9、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为()。A、时间内聚B、功能内聚C、信息内聚D、过程内聚10、B11、D12、A13、B14、D15、A16、C17、B18、A19、D20、B●软件工程模拟试卷●10、结构化设计又称为()A、概要设计B、面向数据流设计C、面向对象设计C、详细设计11.协作图反映收发消息的对象的结构组织,它与()是同构的。A用例图B类图C活动图D时序图12.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。A关键实践B关键过程域C软件过程能力D软件过程14.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于()A.它强调编程风格B.选择良好的数据结构和算法C.有限制地使用GOTO语句D.只有三种基本结构15.()意味着一个操作在不同的类中可以有不同的实现方式。A多态性B多继承C类的复用D封装16.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为()有形实体B.作用C.事件D.性能说明17.COCOMO模型可用来()A度量程序复杂程度B计算软件开发成本C估计程序的故障总数D估计软件开发所需时间18.为高质量地开发软件项目,在软件结构设计时,必须遵循_________原则。()A.信息隐蔽B.质量控制C.程序优化D.数据共享19.DFD中的每个加工至少需要()A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流20.下面关于面向对象方法中消息的叙述,不正确的是()。A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同二、填空题(本大题共10小题,每小题2分,共20分)1.Putnam模型是一个动态多变量模型,适用于软件开发的各个阶段,该估算模型以大型软件项目的实测数据为基础,●软件工程模拟试卷●2.对用例的完整描述包括用例名称、参与执行者、前置条件、一个主事件流、0到多个辅事件流、后置条件。3.问题分析阶段的核心技术是问题抽象、问题分解及需求建模。4.单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。5.一个典型的重用组织机构应该由重用管理组、重用支持组、系统开发组和软部件开发组构成6.软件产品的基本属性是可维护性、可依赖性、有效性、可用性7.测试策略应包含测试规划、测试用例设计、测试实施和测试结果收集评估等。8.影响编码质量的因素包括编程语言、编程准则和编程风格,它们对程序的可靠性、可读性、可测试性和可维护性都将产生深远的影响。9.设计模型则包含以包图表示的软件体系结构图,以交互图表示的用例实现图,完整、精确的类图,以及针对复杂对象的状态图、用以描述流程化处理过程的活动图等。10.UML的类包含三个部分:类的名称、属性列表、方法列表。三、名词解释题(本大题共5小题,每小题3分,共15分)1、水平原型是指仅仅模拟目标软件系统某一层面(通常是用户界面层)的原型。2、CASE工具是一些软件系统,支持软件过程的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。3、部署图(deploymentdiagram)描述软件系统运行环境的硬件及网络的物理体系结构。4、垂直原型是指模拟目标软件系统某一部分的多个层面的原型。当目标系统的内部功能和用户界面都需要借助原型来确定时,这类原型特别有用。一般的进化性原型都属于垂直原型。5、数据抽象把一个数据对象的定义(或描述)抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。四、简答题(本大题共5小题,每小题5分,共25分)1.设计模型精化时需要考虑的任务:以顶层架构图为基础,精化目标软件系统的体系结构;精化类之间的关系;精化类的属性和操作;针对具有明显状态转换特征的类,设计状态图;针对比较复杂的类方法,设计活动图。2、人机界面的风格大致经历了那四代的演变:最早,即在图形显示、鼠标、高速工作站等技术出现之前,现实可行的界面方式只能是命令和询问方式,通信完全以正文形式并通过用户命令和用户对系统询问的响应来完成。第二代界面是简单的菜单式。第三代界面是面向窗口的点选界面,亦称为WIMP界面。最新一代HCI把第三代HCI技术与超文本、多任务概念结合起来,使用户可同时执行多个任务(以用户的观点)。3.需求定义2)风险分析3)工程实现4)评审。上述过程将不断迭代,直至给出用户满意的目标软件产品。4.启发式设计策略最常用的几条有:●软件工程模拟试卷●改造程序结构,减小耦合度,提高内聚度。改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。改造程序结构,使任一模块的作用域在其控制域之内。改造程序结构,减少界面的复杂性和冗余程度,提高协调性。模块功能应该可预言,避免对模块施加过多限制。改造程序结构,追求单入口单出口的模块。为满足设计或可移植性的要求,把某些软件用包(Package)封装起来。5.采用信息隐藏原理指导模块设计优点:支持模块的并行开发;减少软件测试和软件维护的工作量。五、综合应用题(第1小题10分,第2小题10分,共20分)高考录取统分子系统有如下功能:(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。试根据要求画出该系统的数据流程图,并将其转换为软件结构图。答:(1)数据流图:(2)软件结构图●软件工程模拟试卷●输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形,“判定三角形类别”程序算法用等价类划分和边界值分析法设计测试用例。先划分等价类并编号为合理等价类设计测试用例,对于表中对应的四个合理等价类,用三个测试用例覆盖。为每一个不合理等价类设计一个测试用例:用边界值法设计测试用例:●软件工程模拟试卷●