版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.0 内容 v软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。v结构化分析方法,数据流图,数据字典,软件需求规格说明书。v结构化设计方法,总体设计与详细设计。v软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。v程序的调试,静态调试与动态调试。4.1 基本概念1. 软件工程软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。2. 软件危机早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为“软件危机”,软件工程概
2、念的出现源自于软件危机。3. 软件生命周期将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。维护是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护代价6个活动阶段v可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等v需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)
3、作为确认测试和验收的依据。v软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。v编码:编程。高级程序员和程序员产生源程序清单v测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告v运行维护4. 软件工程三要素方法:完成软件工程项目的技术手段工具:支持软件的开发、管理、文档
4、生成过程:支持软件开发的各个环节的控制、管理5. 软件工程的理论和技术研究的内容软件开发技术和软件工程管理6. 软件工程的目标在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境7. 软件工具和软件开发环境软件工具(CASE):用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成4.2 结构化分析方法v基本思想将系统分析看成工程项目,有计划、有步骤地进行工作。v开发策略自顶向下,
5、逐层分解v分析结果一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程一个数据字典(DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项一组小说明(加工逻辑说明):用来描述每个基本加工的加工逻辑4.3 结构化设计方法、总体设计和详细设计4.3.1 结构化设计方法 结构图v基本成分:模块、调用、输入输出数据v模块用矩形表示,模块间用线段连接,表示调用关系,输入输出数据可写在调用线段的旁边信息流的类型v变换流v事务流4.3.2 总体设计设计原则v分解协调原则v自顶向下的原则v信息屏蔽、抽象的原则v一致性原则v明确性原则v模块间的耦合度尽可能小,模块内部组合尽可能紧凑
6、(内聚性高)v模块的扇入和扇出系数合理v模块的规模适当4.3.3 详细设计根本目标v确定应用怎样具体的实现所要求的系统,不是具体的编写程序,而是要设计程序的“蓝图”此阶段的结果基本上决定了最终的程序代码的质量包括内容:v代码设计v输入设计v输出设计v处理过程设计v用户界面设计v安全控制设计4.4 软件测试4.4.1 意义目的为了发现错误希望能以最少的人力和时间发现潜在的各种错误和缺陷保证系统质量和可靠性的关键步骤4.4.2 测试方法人工测试机器测试4.4.3 白盒测试结构测试将软件看成透明的白盒,根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求4.
7、4.4 黑盒测试功能测试将软件看成黑盒子,在完全考虑软件内部结构和特性的情况下,测试软件的外部特性4.4.5 软件测试的实施单元测试(模块测试):白盒测试法组装测试(集成测试)确认测试系统测试4.5 程序调试4.5.1 任务根据测试时发现的错误,找出原因和具体的位置,进行改正有程序开发人员来进行,谁开发的程序就由谁来进行调试方法:v强行排错法v回溯法v原因排除法(演绎、归纳、二分法)4.5.2 静态调试通过人的思维来分析源程序代码和排错,是主要的调试手段4.4.4 动态调试辅助静态调试例题讲解v为了提高测试的效率,应该 A) 随机选取测试数据 B) 取一切可能的输入数据作为测试数据 C) 在完
8、成编码以后制定软件的测试计划 D) 集中对付那些错误群集的程序v软件生命周期中所花费用最多的阶段是 A) 详细设计 B) 软件编码 C) 软件测试 D) 软件维护v下列叙述中,不属于软件需求规格说明书的作用的是 A) 便于用户、开发人员进行理解和交流 B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据 C) 作为确认测试和验收的依据 D) 便于开发人员进行需求分析v下列不属于软件工程的3个要素的是 ) 工具) 过程 ) 方法) 环境v 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 A) 模块间的关系B) 系统结构部件转换成软件的过程描述 C) 软件层次结构D)
9、软件开发过程v检查软件产品是否符合需求定义的过程称为 ) 确认测试 ) 集成测试 ) 验证测试 ) 验收测试v 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 ) 控制流 ) 加工 ) 数据存储 ) 源和流v开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 A) 软件投机 B) 软件危机 C) 软件工程 D) 软件产生v下面不属于软件设计原则的是 ) 抽象) 模块化 ) 自底向上 ) 信息隐蔽v开发大型软件时,产生困难的根本原因是 A) 大系统的复杂性B) 人员知识不足 C) 客观世界千变万化D) 时间紧、任
10、务重v软件工程的出现是由于 A) 程序设计方法学的影响B) 软件产业化的需要 C) 软件危机的出现D) 计算机的发展v软件开发离不开系统环境资源的支持,其中必要的测试数据属于 A) 硬件资源 B) 通信资源 C) 支持软件 D) 辅助资源v在数据流图(DFD) 中,带有名字的箭头表示 A) 模块之间的调用关系B) 程序的组成成分 C) 控制程序的执行顺序D) 数据的流向v下列不属于结构化分析的常用工具的是 A) 数据流图 B) 数据字典 C) 判定树 D) PAD图v在软件生产过程中,需求信息的给出是 A) 程序员 B) 项目管理者 C) 软件分析设计人员 D) 软件用户v下列工具不是需求分析
11、常用工具的是 ) PAD) PFD ) N-S) DFDv模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 A) 抽象和信息隐蔽 B) 局部化和封装化 C) 内聚性和耦合性 D) 激活机制和控制方法v软件开发的结构化生命周期方法将软件生命周期划分成 A) 定义、开发、运行维护 B) 设计阶段、编程阶段、测试阶段 C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计v在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是 A) 路径的集合 B) 循环的集合 C) 目标的集合 D) 地址的集合v完全不考虑程序的内部结构和内部特征,而只是根据程序
12、功能导出测试用例的测试方法是 A) 黑箱测试法 B) 白箱测试法 C) 错误推测法 D) 安装测试法v在结构化设计方法中,生成的结构图(SC) 中,带有箭头的连线表示 A) 模块之间的调用关系B) 程序的组成成分 C) 控制程序的执行顺序D) 数据的流向v下列选项中,不属于模块间耦合的是 A) 数据耦合 B) 同构耦合 C) 异构耦合 D) 公用耦合v下列叙述中,不属于测试的特征的是 A) 测试的挑剔性B) 完全测试的不可能性 C) 测试的可靠性D) 测试的经济性v需求分析中开发人员要从用户那里了解 A) 软件做什么B) 用户使用界面 C) 输入的信息D) 软件的规模v下列不属于软件调试技术的
13、是 A) 强行排错法B) 集成测试法 C) 回溯法D) 原因排除法v为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 A) PAD图B) N-S图 C) 结构图D) 数据流图v 软件复杂性度量的参数包括 A) 效率B) 规模 C) 完整性D) 容错性v下列叙述中,正确的是 A) 软件就是程序清单 B) 软件就是存放在计算机中的文件 C) 软件应包括程序清单及运行结果 D) 软件包括程序和文档v 软件设计中,有利于提高模块独立性的一个准则是 A) 低内聚低耦合B) 低内聚高耦合 C) 高内聚低耦合D) 高内聚高耦合v软件生命周期中花费时间最多的阶段
14、是 A) 详细设计 B) 软件编码 C) 软件测试 D) 软件维护v下列叙述中,不属于结构化分析方法的是 A) 面向数据流的结构化分析方法 B) 面向数据结构的Jackson方法 C) 面向数据结构的结构化数据系统开发方法 D) 面向对象的分析方法v详细设计的结果基本决定了最终程序的 A) 代码的规模 B) 运行速度 C) 质量 D) 可维护性v下列不属于静态测试方法的是 A) 代码检查B) 白盒法 C) 静态结构分析D) 代码质量度量v在软件生命周期中,能准确地确定软件系统必须做什么和必须局别哪些功能的阶段是A)概要设计 B)详细设计 C)可行性分析 D)需求分析v检查软件产品是否符合需求定
15、义的过程称为A)确认测试 B)集成测试 C)验证测试 D)验收测试v数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成,下列图符名标识的图符不属于数据流图合法图符的是A)控制流 B)加工 C)数据存储 D)源和潭v下面不属于软件设计原则的是A)抽象 B)模块化 C)自底向上 D)信息屏蔽v程序流程图(PFD)中的箭头代表的是A)数据流 B)控制流 C)调用关系 D)组成关系v下列工具中为需求分析常用工具的是A)PAD B)PFD C)N-S D)DFDv在结构化方法中,软件功能分解属于下列软件开发中的阶段是A)详细设计 B)需求分析C)总体设计 D)编程调试v软件调试的目的是
16、A)发现错误 B)改正错误C)改善软件的性能 D)挖掘软件的潜能v软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及A)阶段性报告 B)需求评审C)总结 D)都不正确v 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。 v耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。 v 软件工程研究的内容主要包括: 【4】 技术和软件工程管理。 vJackson结构化程序设计方法是英国的提出的,它是一种面向 【2】 的设计方法。数据结构v软件设计模块化的目的是 【4】 。降低复杂性v数据流图的类型有 【4】 和事务型。v软件危机出现于60年代末,为了解决软件危机,人们提出了 【3】 的原理来设计软件,这就是软件工程诞生的基础。 v 软件开发环境是全面支持软件开发全过程的 【4】 集合。 v测试的目的是暴露错误,评价程序的可靠性;而 【2】 的目的是发现错误的位置并改正错误。v 软件维护活动包括以下几类:改正性维护、适应性维护、 【3】 维护和预防性维护。v软件结构是以 【3】 为基础而组成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耐火窑炉烧成工岗位安全技能考核试卷含答案
- 制度管理办法模板
- 广东省华南理工大学环境设计专业景观设计原理综合测试卷及答案
- 高中地理教资面试水文专项试卷
- 农林岗2026面试模拟练习含答案含解析答题思路
- 计算机岗2026结构化面试习题汇编含答案含解析答题技巧
- 山东综合岗2026结构化面试自测卷含答案解析
- 河北环境岗2026面试模拟练习含答案
- 国开大众传播学(甘肃)形考任务1-4参考答案
- 中国铁塔-中国铁塔智慧消防助力中通 仓储物流智慧化监控和火灾感知网络的安全建设方案
- 药事管理学考试真题及答案
- 北京市二中教育集团2025-2026学年七年级上学期月考语文试题(含答案)
- 浙江省精诚联盟2025-2026学年高一上学期10月月考化学试题(含答案)
- LNG消防安全培训内容课件
- 养殖蝎子知识培训课件
- 2024-2025学年度自考专业(学前教育)真题(考试直接用)附答案
- 餐饮店免责合同协议书
- T/CHES 54-2021取水权交易可行性报告编制导则
- 人教版2024七年级上册英语全册教案
- 六宫格数独练习题(可直接打印-每页6题)
- “正大杯”第十五届全国大学生市场调查与分析大赛参考试题库(含答案)
评论
0/150
提交评论