第7章 软件工程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 4.白盒测试用例的设计方法: • 逻辑覆盖 • 循环覆盖 • 基本路径测试
• • • • •
三、软件测试的过程和对象 (1)单元测试 (2)集成测试 (3)确认测试 (4)系统测试
7.7 系统运行与维护
• 考点:软件维护的类型 • 一、系统运行的概念 • 二、系统维护的定义 • 三、系统维护的类型 1.根据维护的目的划分:正确性维护,适应性维 护,完善性维护,预防性维护 2.根据维护的具体内容:程序维护,数据维护, 代码维护,设备维护
• 二、软件设计的基本原理 • 1.模块化 • 2.抽象 • 3.信息隐蔽 • 4.模块独立性:耦合性和内聚性 耦合:无直接耦合,数据耦合,标记耦合,控制耦合,公 共耦合,内容耦合 内聚:偶然内聚,逻辑内聚,时间内聚,通信内聚,顺序 内聚,功能内聚
• • • • • • • • • •
三、结构图 1.模块 2.模块的控制关系 3.模块间的信息传递 4.两个附加符号 5.结构图的形态特征 四、结构化设计方法 面向数据流的设计方法 事物流 变换流
四、软件过程能力评估
1.软件过程评估的意义 (1)软件过程改进的需要 (2)降低软件风险的需要 2.软件能力成熟度模型 (1)初始级 (2)可重复级 (3)已定义级 (4)以管理级 (5)优化级
练习
B 1.软件工程的三要素是—— A.技术,方法和工具 B.方法,工具和过程 C.方法,对象和类 D.过程,模型和方法 B 2.软件生命周期的最后一个阶段是—— A书写软件文档 B.软件维护 C.稳定性测试 D.书写详细 用户说明 D • 3.软件项目管理所涉及的范围覆盖了整个软件的—— • A.开发过程 B.运行与维护过程 C.定义过程 D.生存期 • • • • •
• 2.UML的内容 类图:展现了一组对象,接口,协作和它们之间的关系. 对象图:展现了一组对象以及它们之间的关系.对象图描述 了在类图中所建立的事物实例的静态快照。 用例图:展现了一组用例、参与者以及它们之间的关系, 描述了谁将使用系统以及用户期望以什么方式与系统交 互。 序列图:描述了在一个用例或操作的执行过程中以时间顺 序组织的对象之间的交互活动 通信图:强调收发消息的对象之间的结构组织。
B 个级别的软件过程成熟度,成熟度 • 6.CMM描述了—— 反映了软件过程能力的大小,任何一个软件机构的软件 过程必定属于其中某个级别。 • A.3 B.5 C.7 D.9
7.2面向对象技术基础
• 考点:面向对象分析与设计的基本概念,包括对象,类, 消息,继承,多态等 • 一、基本概念 1.对象 2.消息 3.类 4.继承 5.多态 6.动态绑定
• 3.
A
A
C
C
D
C
• 5.面向对象分析的主要任务不包括—— B A.构建分析模型,以描述用户的需求 B.构建设计模型,以描述系统如何解决问题 C.建立一个准确的一致的系统模型以描述软件需要解决的 问题 D.构建分析模型,验证最终系统是否满足软件需求
7.3 软件需求分析
• 考点:需求分析的主要任务和结构化分析方法 一、结构化需求分析的基本任务 准确地定义新系统的目标,为了满足用户需要, 回答系统必须做什么的问题 1.问题识别 2.分析与综合,导出软件的逻辑模型 二、结构化分析方法 自顶向下,逐层分解
• • • • • • •
具体的设计过程 1.精化DFD 2.确定DFD类型 3.分解上层模块,设计中下层模块结构 4.根据优化准则对软件结构求精 5.描述模块功能,接口及全局数据结构 6.复查
• 五、软件详细设计 • 1、详细设计的基本任务 对每个模块进行详细的算法设计 对模块内的数据结构进行设计 对数据库进行物理设计 其他设计; 编写详细设计说明书; 评审
练习
• 1.一个软件的生存周期包含可行性分析和项目开发计划 等活动,其中—— C 是其中的核心技术,其任务是确定如 何实现软件系统 • A.可行性分析和项目开发计划 B.需求分析 • C.设计 D.编码 B • 2.关于模块设计的原则,以下叙述中正确的是—— • A.模块的内聚性高,模块之间耦合度高 • B.模块的内聚性高,模块之间耦合度低 • C.模块的内聚性低,模块之间耦合度高 • D.模块的内聚性低,模块之间耦合度低
• 状态图:展现了一个状态机,由状态、转换、事件和活 动组成,用于建模时间如何改变对象的状态以及引起对 象从一个状态向另一个状态转换的事件。 • 活动图:是一种特殊的状态图,展现了在系统内从一个 活动到另一个活动的流程。 • 交互图:组合了序列图和活动图的特征,显示了每个用 例的活动中对象如何交互。 • 定时图:是另一个交互图,关注一个对象或一组对象在 改变状态时的时间约束条件。
7.6 软件测试
• 考点:软件测试的目的和原则;软件的测试方法和测试 的具体执行过程 • • • • 一、测试的目的和基本原则 1.目的:发现错误而执行程序 2.测试的基本原则 3.测试过程
• • • •
二、测试方法 1.静态测试:人工检测和计算机辅助静态分析 2.动态测试:运行程序 3.黑盒测试用例的设计方法: 等价类划分 边界值分析 错误推测 因果图
7.8 软件质量管理与质量保证
• 考点:常见的描述软件质量的质量模型的内容
• 一、ISO/IEC 9126软件质量模型 三个层次:质量特性 质量子特性 度量指标
二、Mc Call软件质量模型 模型框架:质量特性 评价准则 度量指标
练习
• 1.Mc Call 软件质量模型从软件产品的运行、修正、转移 等三个方面确定了 11 个质量特性, (52 是属于产 C) 品转移方面的特性。 • A. 正确性 B。可靠性 C. 互用性 D. 灵活性 • 2.测试是软件开发过程中一个独立且非常重要的阶段。一 个规范化的测试过程通常包括多个基本的测试活动。确定 测试内容、进度安排、测试所需的环境和条件、测试培训 安排等工作属于(53)阶段的内容。 • A. 拟定测试计划 B.编制测试大纲 C.设计和生成测试 用例 D.生成测试报告
• 4.软件开发成本主要是指软件开发过程中所花费的—— B 及相应的代价。 • A.劳动力 B.工作量 C.资源 D.持续时间 • 5.软件开发环境是支持软件产品开发的软件系统,它由— A —和环境集成机制构成,环境集成机制包括数据集成、 控制集成和界面集成。 • A.软件工具集 B.软件测试工具集 • C.软件管理工具集 D.软件设计工具集
7.1 软件工程和项目管理基础
考点:软件工程和软件生存周期的概念,软件开 发 项目管理的基础知识 一、软件的生存周期 可行性分析和项目开发计划; 需求分析 软件设计 编码 测试和维护
二、软件开发项目管理基础知识
1.成本估算 (1)自顶向下估算方法 (2)自底向上估算方法 (3)差别估算方法 2.风险分析 主要关注三个方面:关心未来;关心变化;必须解决需要作 出选择的问题; 3.进度管理:进度安排常用图形表示(Gantt图和PERT图) 4.人员管理 可分组管理:需求分析组,设计组,编码组,测试组和维护 组等
• 二、面向对象分析与设计基本概念 1.面向对象分析(OOA):建立待开发软件系统的模型 2.面向对象设计(OOD):定义系统构造蓝图,并根据 系统构造蓝图在特定的环境中实现系统 三、UML(统一建模语言) 1.构成要素 A.UML基本构造块 B.支配这些构造块如何放置在一起的规则 C.相关公告机制
• 2.结构化程序设计:自顶向下,逐步求精;使用三种基 本控制结构构造程序;主程序员组的组织形式; • 3、处理过程设计 • (1)程序流程图 • (2)盒图 • (3)PAD图 • (4)形式语言 • (5)决策树 • (6)决策表
4.Jackson方法:面向数据结构的设计方法,用 于开发规模较小的数据处理系统的设计。适用于 详细设计阶段。 5.用户界面设计:菜单方式,会话方式,操作提 示方式以及操作权限管理方式等
• A.性能需求,经费需求 B.环境需求,人员需求 • C.人员需求,经费需求 D.性能需求,环境需求 D
A
7.4 软件设计
• 考点:概要设计与详细设计的主要任务,结构化设 计方法 • 一、概要设计的基本任务 • 1.设计软件系统结构 • 2.数据结构及数据库设计 • 3.编写概要设计文档 • 4.概要设计评审
三、工具与软件开发环境
• 1.工具 (1)软件开发工具 需求分析工具;设计工具;概要设计工具;编码与排 错工具;测试工具 (2)软件维护工具 版本控制工具;文档分析工具;开发信息库工具;逆 向工程工具;再工程工具 (3)软件管理和软件支持工具 项目管理工具;配置管理工具;软件评价工具
• 2.软件开发环境 支持软件产品开发的软件系统,有软件工具和环境构成
• 1.数据流图:用来描述数据流从输入到输出的变换流程 • 2.数据字典:用来描述DFD中的每个数据流、文件以及组成数据 流或文件的数据项 • http://wenku.baidu.com/link?url=8QYbPuilSjAcvX7qMoCIC Tab_7iX7n3C0yKIn5eejUpBn4dVAPMttK8UcWRNKHAQneY pivigBdaVWD_c5d0foeYRW_0RwIWSuZ4aBHMLkQq • 3.加工逻辑(小说明) • 1.结构化语言 • 2.判定表 • 3.判定树
练习
• 1、下列关于面向对象分析与结构化分析的叙述中,错 C 误的是—— A.面向对象分析结果可采用UML描述 B.结构化分析结果可采用DFD等模型表示 C.面向对象分析结果需要采用面向对象程序设计语言描述 D.面向对象分析结果是面向对象设计的输入 2、软件需求分析阶段需要进行问题识别、分析与综合等 方面的工作,其中问题识别是双方确定问题的综合需求, 包括功能需求,——及用户界面需求等内容。 D
BΒιβλιοθήκη Baidu
• 6. ISO/IEC 9126 软件质量模型中,第一层是质量特性,如功 能性和可靠性等,第二层是质量子特性,如功能性的质量子特 性有适应性和准确性等。与软件转移到不同环境时的处理或手 段有关的软件属性称为适应性,这一子特性属于_____ B 质量特性。 • A.可维护性 B.可移植性 C.易使用性 D.可靠性 • 7.根据维护的具体内容的不同,可对软件维护进行分类。 (49) 是指对文件或数据库中的记录进行增加、修改和删除等操作, 通常采用专用的程序模块。 B • A.程序维护 B.数据维护 C.代码维护 D.设备维护
• 3.软件的用户界面作为人机接口起着越来越重要的作用, 用户界面的—— D 是用户界面设计中最重要的也是最基本 的目标。 • A.灵活性 B.风格多样性 C.美观性 D.易操作性
7.5 软件编码
• • • • • • • • 考点:注意程序的设计风格 一、程序设计语言 二、程序设计风格 1.源程序中的内部文档 2.注释 3.语句构造 4.输入和输出 5.效率
以下关于软件开发文档的叙述中错误的是55软件开发过程中的重要信息需要固化在文档中以便积累开发经验在软件开发过程中面对面交流并不可靠应当完全用文档来代替cccc统一建模语言uml图中46属于动态视图它可用于描述一个业务过程的流程
第七章 软件工程基础知识
主要知识点
• 软件开发生命周期各阶段的目标和任务 • 软件开发项目管理基础知识(时间管理、成本管理、 质量管理、人力资源管理、风险管理等)及其常用管理 工具 • 主要的软件开发方法(生命周期法、原型法、面向对 象法、CASE) • 软件开发工具与环境知识 • 软件过程改进知识 • 软件质量管理知识
A
• 3.某系统中一个组件的某个函数中,有一个变量没有正确初始化, 在 (54) 阶段最可能发现问题。 A • A.单元测试 B.集成测试 C.确认测试 D.系统测试 • 4.在软件开发过程中,常采用图形表示相关的信息,(55)不用 于表示软件模块的执行过程。 • A. N-S 盒图 B. E-R 图 C. PAD 图 D.程序流程图 • 5.为了扩充功能和改善性能,需要在已有软件系统中增加一些在 系统分析和设计阶段没有规定的功能与性能特征,这类软件维护 属于 (56) 维护。 C • A.正确性 B.适应性 C.完善性 D.预防性
练习
• 1.类是对象的模板,一个类可生成多个对象,若某个类 生成了三个对象,则—— A • A.这三个对象所存储的数据一定是不同的 • B.这三个对象所存储的数据一定是相同的 • C.这三个对象一定具有相同的操作 • D.这三个对象无法共享数据 • 2.下列关于超类,子类,基类的叙述中,正确的是 A • A.子类是超类的特化 B.基类是超类的特化 • C.基类是子类的特化 D.超类是基类的特化