中 国 海 洋 大 学 命 题 专 用 纸 (首页)
2005-2006学年第 1 学期 试题名称: 软件工程 课程号: 共 2 页 第 1 页 专业年级__计算机 2002级__ 学号___________ 姓名____________ 分数_________ 一. 判别下面描述是否正确(10分) 1. 软件就是所谓的程序. 2. 结构化分析与设计是软件工程学的一个重要思想. 3. 自顶向下逐步细化是结构化分析与设计的核心思想. 4. 信息隐蔽是指模块内部的数据与过程对其他模块隐藏起来. 5. 模块的耦合越弱,表明模块的独立性越差. 6. 模块的控制域与作用域是一样的. 7. 编码是软件开发时期最重要的阶段. 8. 软件测试是为了证明程序的正确性. 9. 条件组合覆盖一定包含判定覆盖. 10.软件维护是可有可无的. 二. 选择填空(10分) (一) 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 . 与软件调试相同 (二) 1. Jackson结构化程序设计方法是英国的M. Jackson提出的,它是一种面向(A)的设计方法, 主要适应于规模适中的(B)系统的开发,其基本步骤依次是(C)、(D)、(E). 供选择的答案: A: 1.对象 2.数据流 3.数据结构 4.控制结构 B: 1.数据处理 2.文字处理 3.实时控制 4.科学计算 C、D、E:1.建立数据结构 2.列出基本操作 3.建立程序结构 4.建立控制结构 5.建立对象 中 国 海 洋 大 学 命 题 专 用 纸(附页)
试题名称: 软件工程 共 2 页 第 2 页 三. 解答下列各题
1. (15分)下面程序流程图,试分别用N-S图和PAD表示之,并计算它的McCabe 复杂性度量。 START P F A END B F Q T 2.(10分)举例说明条件覆盖测试与判定覆盖测试是相互不包含的。 3.(15分)简要回答下列问题 (1) 什么是软件过程?为什么要做软件过程改进? (2) 给出软件过程成熟度五级的名称,并给出第三级的关键过程域。 (3) 什么是程序修改的副作用?程序修改的副作用由哪几种? 4.(10分)分析下述数据流图,导出对应的程序模块结构图 a’ A a B b C c W w’. P r R w p u d’ D d E e Q U v V v’ 变换中心 5.(10分)为什么软件需要维护? 维护有哪几种类型? 影响软件可维护性的因素有哪 些? 6.(10分)按Coad和Yourdon方法构造和评审OOA概念模型时的五个层次是什么? 并说明每一部分所包含的内容。 7.(10分)Rumbaugh等人提出的对象模型技术,包括哪三种模型?各自的作用 是什么?