1、东北大学秦皇岛分校东北大学秦皇岛分校东北大学秦皇岛分校东北大学秦皇岛分校东北大学秦皇岛分校东北大学秦皇岛分校软件工程试卷试题下载-样卷.doc第二学期期终试题 踏实学习,弘扬正气;诚信做人,诚实考试;作弊可耻,后果自负课程名称 软件工程导论 使用专业 班级 姓名 学号 一 二 三 四 五 六 七 八 九 十 总分试题得分一、 判断题(正确的在括号内打上“”,错误的打上“”。每题 1.5 分,共 15 分)东北大学秦皇岛分校1. Warnier 方法也是一种面向数据结构的设计方法,其逻辑更严格。 () 2. PAD 图在设置了五种基本控制结构后,还允许递归调用。 () 3. 为了加快软件维护作业
2、的进度,应尽可能增加维护人员的数目。 () 4. 当验收测试通过,软件开发就完成了。 () 5. 完成测试作业后,为了缩短源程序的长度应删除程序中的注解。 () 6. 在进行总体设计时应加强模块间的联系。 () 7. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。 () 8. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 () 9. 在程序调试时,找出错误的位置和性质比改正该错误更难。 () 10. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。 () 二、单项选择题(每小题 2 分,共 10 分) 1
3、. 试判断下列叙述中,哪 个(些)是正确的(D )a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、a B 、b C 、c D、b 和 c2. 进行需求分析可使用多种工具,但(B)是不适用的。A、数据流图 B、PAD 图 C 、判定表 D、数据词典3. 在详细设计阶段,经常采用的工具有(A ) 。A、PAD B、SA C、SC D、DFD4. 详细设计的结果基本决定了最终程序的(C)A、代码的规模 B、运行速度 C、质量 D、可维护性5. 使用白盒测试方法时,确定测试数据应根据(A )和指定的覆盖标准。A、
4、程序的内部逻辑 B、程序的复杂程度C、该软件的编辑人员 D、程序的功能 三、多项选择题(每题 2 分,共 10 分。注:正确得 2 分,漏选得 1 分,多选、错选不得分。) 1. (ABCD)可以作为模块。A、子程序 B、函数 C、过程 D、编译文件2. 下面哪些测试属于黑盒测试(BCD) 。A、路径测试 B、等价类划分 C、边界值分析 D、错误推测 E、循环测试3. 下列属于度量效益方法的是(ABCD) 。A、货币的时间价值 B 、投资回收期 C、收入 D、投资东北大学秦皇岛分校回报率4. 软件维护的策略包括(BCD) 。A、定期检测维护 B、改正性维护 C、适应性维护 D、完善性维护5.
5、下列属于软件测试过程的是(ABE) 。A、单元测试 B、组装测试 C、内核测试 D、法律验证 E、确认测试 四、简答题(每题 6 分,共 24 分) 1. 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?答案:低:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合:高强:功能内聚、信息内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚:弱 2. 请举例说明什么是多态,什么是重载?答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中
6、的每个类却各自按自己的需要来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法。重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别。例: public class Aint age;String? name;public void setValue(int i) age=i;?public void setValue(String s) name=s;? 3. 什么是数据字典?简述数据字典与数据流图的关系。答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。(2 分) 数据流图和数据字
7、典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。(3 分) 4. 简述编码风格的重要性。答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章。应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间。良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。 5. 面向对象的测试和传统开发方法的测试有什么不同?答案:(1)二者都可以分成四个阶段进行。但传统测试最小单元是模块,而在面向对象环境下,
8、最小的可测试的单元是封装了的类或对象,而不是程序模块。 (2)东北大学秦皇岛分校因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大。 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互。对于面向对象系统的组装测试,存在两种不同的测试策略。 五、分析应用题(20 分) 1. 求一组数组中的最大数, 数组表示为 A(n) ,n1,2n 的自然数。(10 分) 2. 请画出程序流程图(4 分) 3. 请画出该算法的 N-S 图(3 分) 4. 请用 PAD 图来表示该算法(3 分) 答案:2. 下面
9、是某程序的流程图:(10 分) 计算它的环路复杂性。 (3 分) 答案:7 为了完成基本路径测试,求它的一组独立的路径。 (7 分) 答案:路径 1: (0)(13)(19)路径 2: (0)(14)(19)路径 3: (0)(15)(19)路径 4: (0)(16)(19)路径 5: (0)(17)(19)路径 6: (0)(11)(18)(19)路径 7: (0)(12)(19)六、阅读下列说明和数据流图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。(12 分)说明某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、 火警、水灾等 。房
10、主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运 行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息 交互。在安装过程中,系统给每个传感器赋予一个编号(即 id)和类型,并设置房主密码以启动和关闭系统,设 置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话 号码,并报告关于位置和检测到的事件的性质等信息。加工 4 的细化图问题 1(3 分)数据流图 1(住宅安全系统顶层图)中的 A 和 B 分别是什么?答案:A:传感器: B:报警器东北大学秦皇岛分校问题 2(3 分)数
11、据流图 2(住宅安全系统第 0 层 DFD 图)中的数据存储“配置信息”会影响图中的哪些加工? 答案:监控传感器、显示信息和状态问题 3(6 分)将数据流图 3(加工 4 的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名 称 答案: 4.4“读传感器”添加输入数据流“传感器状态”4.1“显示格式”添加输出数据流“传感器数据”4.5“拨号”添加输出数据流“电话拨号”七、请以自己的实际体会说明项目管理的意义和作用。(8 分) 答案:(要点)软件项目管理就是对软件工程项目开发过程的管理。具体地说,就是对整个软件生存期的一切 活动进行管理,以达到提高生产率、改善产品质量的目的。 软件项目管理的职能:(1)制定计划:规定待完成的任务、要求、资源、人力和进度等。(2)建立项 目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构。(3)配备人员:任用各种层次 的技术人员和管理人员。(4)指导:鼓励和动员软件人员完成所分配的任务。(5)检验:对照计划或 标准监督检查实施的情况。