第三章 软件工程基础
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年4月试题选择3
• 下列叙述中正确的是 。 • A) 软件测试的主要目的是发现程序中的错 误. • B)软件测试的主要目的是确定程序中错误 的位置. • C)为了提高软件测试的效率,最好由程序 编制者自己来完成软件测试的工作 • D)软件测试是证明软件没有错误
2005年4月试题选择6
• 下列对于软件测试的描述中正确的是 A) 软件测试的目的是证明程序是否正确 B) 软件测试的目的是使程序运行结果正确 C) 软件测试的目的是尽可能地发现程序中 的错误 D) 软件测试的目的是使程序符合结构化原 则
下列选项中不属于软件生命周期开发阶段任 务的是________。 • A)软件测试 • B)概要设计 • C)软件维护 • D)详细设计
2005年9月试题选择7
下列叙述中正确的是
• • • • A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护 C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令
3.1.1 软件定义与软件特点
软件的特点 • 是一种逻辑实体,具有抽象性 • 生产没有明显的制作过程 • 运行和使用期间不存在磨损、老化问题 • 对计算机系统有依赖性,受其限制 • 复杂性高,成本昂贵 • 涉及诸多的社会因素
3.1.1 软件定义与软件特点
软件按功能分类
• 应用软件 • 系统软件 • 支撑软件
课后习题填空1
• 软件是程序、数据和______的集合。
2007年9月试题选择1
软件是指
• • • • A)程序 B)程序和文档 C)算法加数据结构 D)程序、数据与相关文档的完整集合
2005年4月试题选择8
下列描述中正确的是
• A) 程序就是软件 B) 软件开发不受计算机系统的限制 C) 软件既是逻辑实体,又是物理实体 D) 软件是程序、数据与相关文档的集合
课后习题选择1
• 在软件生命周期中,能准确地确定软件系 统必须做什么和必须具备哪些功能的阶段 是: • 概要设计 • 详细设计 • 可行性分析 • 需求分析
2007年4月试题填空4
• 软件生命周期可分为多个阶段,一般分为 定义阶段,开发阶段和维护阶段,编码和 测试属于 【4】 阶段。
2006年9月试题选择3
3.1.2 软件危机与软件工程
• • • • 软件危机的主要表现 软件危机存在的原因 软件工程的定义 软件工程包括的3个要素
– 方法、工具、过程
• 软件产业迅速法发展的重要原动力 • 软件工程的核心思想
课后习题选择2
下面不属于软件工程的3个要素的是
• • • • 工具 过程 方法 环境
3.1.3 软件工程过程与软件生命周期
3.3.3 详细设计
1. 程序流程图PFD • 控制流、加工步骤、逻辑条件 • • • • • 顺序型 选择型 先判断重复型 后判断重复型 多分支选择型
课后习题选择6
• • • • • 程序流程图中的箭头代表的是 数据流 控制流 调用关系 组成关系
3.3.3 详细设计
2. N-S图 特征 • 每个构件具有明确的功能域 • 控制转移必须遵守结构化设计要求 • 易于确定局部数据和全局数据的作用域 • 易于表达嵌套关系和模块的层次结构
3.3.1 软件设计的基本概念
3. 结构化设计方法 基本思想 • 将软件设计成由相对独立、单一功能的模 块组成的结构
3.3.2 概要设计
• 1.概要设计的任务
– 设计软件系统结构
• 划分的具体过程
– 数据结构及数据库设计
• 具体任务、设计原则
– 编写概要设计文档 – 概要设计文档评审
• 设计工具、结构图的模块类型、有关术语
2005年9月试题选择5
• 下列描述中正确的是 • A)软件工程只是解决软件项目的管理问题 • B)软件工程主要解决软件产品的生产率问 题 • C)软件工程的主要思想是强调在软件开发 过程中需要应用工程化原则 • D)软件工程只是解决软件开发中的技术问 题
3.1.5 软件开发工具与软件开发环境
• 1、软件开发工具
2005年4月试题选择7
• 为了使模块尽可能独立,要求 A) 模块的内聚程度要尽量高,且各模块间 的耦合程序要尽量强 B) 模块的内聚程度要尽量高,且各模块间 的耦合程序要尽量弱 C) 模块的内聚程度要尽量低,且各模块间 的耦合程序要尽量弱 D) 模块的内聚程度要尽量低,且各模块间 的耦合程序要尽量强
3.2.2 结构化分析方法
2. 结构化分析的常用工具 • 数据字典DD • 判定树 • 判定表
– 四个部分
课后习题选择7
• • • • • 下列工具中为需求分析常用工具的是 PAD 问题分析图 程序流程图 PFD 方框图 N-S 数据流图 DFD
3.2.3 软件需求规格说明书
1. 软件需求规格说明书的作用 2. 软件需求规格说明书的内容 • 软件需求规格说明书的内容和写作框架 3.软件需求规格说明书的的特点 • 正确性、无歧义性、完整性、可验证性、 一致性、可理解性、可修改性、可追踪性
3.3.1 软件设计的基本概念
2. 软件设计的基本原理
• • • • 抽象 模块化 信息隐蔽 模块独立性 – 模块独立程度是评价设计好坏的重要度量 标准,衡量软件的模块独立性使用耦合性 和内聚性两个定性的度量标准。
课后习题选择5
• • • • • 下面不属于软件设计原则的是 抽象 模块化 自底向上 信息隐蔽
– 需求获取、需求分析、编写需求规格说明书、 需求评审
课后习题选择10
• 软件需求分析阶段的工作,可以分为四个 方面,需求获取、需求分析、编写需求规 格说明书,以及 • 阶段性报告 • 需求评审 • 总结 • 都不正确
3.2.1 需求分析与需求分析方法
2. 需求分析方法 • 结构化分析方法
– 面向数据流的结构化分析方法SA – 面向数据结构的Jackson方法JSD – 面向数据结构的结构化数据系统开发方法 DSSD
3.1.4 软件工程的目标与原则
1. 软件工程的目标
百度文库• • • • 软件工程的目标 软件工程的基本目标 软件开发技术 软件工程管理
课后习题填空3
• 软件工程研究的内容主要包括:_______技 术和软件工程管理。
3.1.4 软件工程的目标与原则
2. 软件工程的原则 • 抽象 • 信息隐蔽 • 模块化 • 局部化 • 确定性 • 一致性 • 完备性 • 可验证性
– 加工、数据流、存储文件(数据源)、源和潭
• 建立数据流图的步骤
– 由外向里、自顶向下、逐层分解
• 数据流图的构造规则和注意事项
2007年9月试题填空5
• 在结构化分析使用的数据流图(DFD)中, 利用 【5】 对其中的图形元素进行确切解 释。
课后习题选择4
• 数据流图用于抽象描述一个软件的逻辑模 型,数据流图由一些特定的图符构成。下 列图符名标识的图符不属于数据流图合法 图符的是 • 控制流 • 加工 • 数据存储 • 源和潭
3.3.3 详细设计
• 过程设计工具 • 图形工具
– 程序流程图、N-S方框图、PAD问题分析图、 HIPO
• 表格工具
– 判定表
• 语言工具
– PDL过程设计语言(伪码)
2005年9月试题选择6
• • • • • 在软件设计中,不属于过程设计工具的是 A)PDL(过程设计语言) B)PAD(问题分析图) C)N-S(方框图) D)DFD(数据流图)
• 软件设计步骤
– 概要设计、详细设计
• 软件设计一般过程
2006年9月试题选择2
• 从工程管理角度,软件设计一般分为两步 完成,它们是________。 • A)概要设计与详细设计 • B)数据设计与接口设计 • C)软件结构设计与数据设计 • D)过程设计与数据设计
课后习题选择8
• 在结构化设计方法中,软件功能分解属于 下列软件开发中的阶段是 • 详细设计 • 需求分析 • 总体设计 • 编程调试
1.软件工程过程
• • • • 软件工程过程的定义 内涵之一 四种基本活动 P D C A 内涵之二 输入转换为输出
3.1.3 软件工程过程与软件生命周期
2. 软件生命周期
定义 软件定义、分解开发、软件维护运行 • 可行性研究与计划制定 • 需求分析 • 软件设计 • 软件实现 • 软件测试 • 运行和维护
• 面向对象的分析方法
课后习题填空2
• Jackson方法是一种面向_____的结构方法。
3.2.2 结构化分析方法
1. 关于结构化分析方法
• • • • 结构化分析方法的定义 结构化分析方法的目的 结构化分析方法的实质 结构化分析方法的步骤
3.2.2 结构化分析方法
2. 结构化分析的常用工具 数据流图DFD 数据流图的图形元素
2007年4月试题选择2
• • • • • 在结构化程序设计中,模块划分的原则是 。 A) 各模块应包括尽量多的功能 B)各模块的规模应尽量大 C)各模块之间的联系应尽量紧密 D)模块内具有高内聚度,模块间具有低耦 合度
2006年4月试题选择2
• 两个或两个以上模块之间关联的紧密程度 称为 • A)耦合度 • B)内聚度 • C)复杂度 • D)数据传输特性
3.3.3 详细设计
3. PAD图 特征 • 结构清晰,结构化程度高 • 易于阅读 • 纵栈数等于程序层次数 • 程序执行自上而下、自左向右
3.3.3 详细设计
4. PDL过程设计语言 • 顺序 • 条件 • 循环 • 循环 • 分支
• 特征
3.4 软件测试
3.4.1 软件测试的目的
定义 • 使用人工或自动手段来运行或测试某个系 统的过程 目的 • 检验是否满足规定的需求或是弄清预期结 果与实际结果之间的差别
3.3.2 概要设计
2. 面向数据流的设计方法 • 数据流类型
– 变换型 – 事务型
• 面向数据流设计方法的实施要点与设计过 程
– 设计过程和步骤
• 变换型 • 事务型
课后习题填空4
• 数据流图的类型有______和事务型。
3.3.2 概要设计
3. 设计的准则 • 提高模块的独立性 • 模块规模适中 • 深度、宽度、扇出和扇入适当 • 使模块的作用域在该模块的控制域内 • 应减少模块的接口和界面的复杂性 • 设计成单入口、单出口的模块 • 设计功能可预测的模块
2006年4月试题选择1
• 下列选项中不属于结构化程序设计方法的 是 • A)自顶向下 • B)逐步求精 • C)模块化 • D)可复用
3.3.1 软件设计的基本概念
– 内聚性:一个模块内部各个元素间彼此结合的 紧密程度的度量。 • 偶然、逻辑、时间、过程、通信、顺序、功 能 – 耦合性:模块间互相连接的紧密程度的度量。 • 内容、公共、外部、控制、标记、数据、非 直接 • 高内聚、低耦合
3.4.2 软件设计的准则
• • • • • • 所有测试都应追溯到需求 严格执行测试计划,排除测试随意性 充分注意测试中的群集现象 程序员应避免检查自己的程序 穷举测试不可能 妥善保存测试计划、测试用例、出错统计 和最终分析报告,为维护提供方便
3.4.3 软件测试技术与方法综述
1、静态测试与动态测试 • 是否需要执行被测软件
• 2、软件开发环境
– 软件开发环境或软件工程环境是全面支持软件 开发全过程的软件工具集合。 – 计算机辅助工程CASE
课后习题填空5
• 软件开发环境是全面支持软件开发全过程 的______集合。
3.2 结构化分析方法
3.2.1 需求分析与需求分析方法
1. 需求分析 • 软件需求 • 需求分析的任务 • 需求分析的定义 • 需求分析的内容 • 需求分析阶段的工作
第三章 软件工程基础
3.1 软件工程基本概念
3.1.1 软件定义与软件特点
• 程序是软件开发人员根据用户需求开发的、 用程序设计语言描述的、适合计算机执行 的指令(语句)序列 • 数据是使程序能正常操纵信息的数据结构 • 文档是与程序开发、维护和使用有关的图 文资料 • 软件是与计算机系统的操作有关的计算机 程序、规则、规程,以及可能有的文件、 文档及数据
2007年9月试题填空1
• 软件需求规格说明书应具有完整性、无歧 义性、正确性、可验证性、可修改性等特 性,其中最重要的是__【1】_。
3.3 结构化设计方法
3.3.1 软件设计的基本概念
1. 软件设计的基础 • 软件设计的重要性 • 软件设计从技术观点上看
– 结构设计、数据设计、接口设计、过程设计