二级公共基础知识4-软件工程基础

上传人:j****9 文档编号:55102056 上传时间:2018-09-24 格式:PPT 页数:35 大小:191KB
返回 下载 相关 举报
二级公共基础知识4-软件工程基础_第1页
第1页 / 共35页
二级公共基础知识4-软件工程基础_第2页
第2页 / 共35页
二级公共基础知识4-软件工程基础_第3页
第3页 / 共35页
二级公共基础知识4-软件工程基础_第4页
第4页 / 共35页
二级公共基础知识4-软件工程基础_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《二级公共基础知识4-软件工程基础》由会员分享,可在线阅读,更多相关《二级公共基础知识4-软件工程基础(35页珍藏版)》请在金锄头文库上搜索。

1、全国计算机二级培训课件,李文琴QQ:387724525,全国计算机等级考试 二级公共基础知识 (4),3.软件工程基础,3.0 内容,软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。 结构化分析方法,数据流图,数据字典,软件需求规格说明书。 结构化设计方法,总体设计与详细设计。 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 程序的调试,静态调试与动态调试。,3.1 基本概念,1. 软件工程 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本

2、。 2. 软件危机 早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为“软件危机”,软件工程概念的出现源自于软件危机。,软件工程过程,(1)软件规格说明 P(Plan):规定软件的功能及其运行机制 (2)软件开发 D(Do):产生满足规格说明的软件 (3)软件确认 C(Check):确认软件能够满足客户提出的要求 (4)软件演进 A(Action):为满足客户的变更要求,软件必须在使用的过程中演进,3. 软件生命周期 将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期 分为软件定义、软件开发及软件运行维护3个阶段。维护是持续时间最长,花费代价

3、最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护代价 6个活动阶段 可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等 需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。,软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接

4、口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。 编码:编程。高级程序员和程序员产生源程序清单 测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告 运行维护,4. 软件工程三要素 方法:完成软件工程项目的技术手段 工具:支持软件的开发、管理、文档生成 过程:支持软件开发的各个环节的控制、管理 5. 软件工程的理论和技术研究的内容 软件开发技术和软件工程管理 6. 软件工程的目标 在给定的成本、进度的前提下,开发出具有有

5、效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品 软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境,7. 软件工具和软件开发环境 软件工具(CASE):用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件 软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成 8 .软件工程的原则 (1)抽象 (2)信息隐蔽性 (3)模块化 (4)局部化 (5)确定性 (6)一致性 (7)完备性 (8)可验证性,3.2 结构化分析方法,基本思想 将系统分析看成工程项目,有计划、有步骤地进行工作。 开发策略 自顶向下,逐层分解 分析

6、结果 一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程 一个数据字典(DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项 一组小说明(加工逻辑说明):用来描述每个基本加工的加工逻辑,3.3 结构化设计方法、总体设计和详细设计,3.3.1 结构化设计方法结构图 基本成分:模块、调用、输入输出数据 模块用矩形表示,模块间用线段连接,表示调用关系,输入输出数据可写在调用线段的旁边 信息流的类型 变换流 事务流,3.3.2 总体设计 设计原则 分解协调原则 自顶向下的原则 信息屏蔽、抽象的原则 一致性原则 明确性原则 模块间的耦合度尽可能小,模块内部组合尽可能紧凑

7、(内聚性高) 模块的扇入和扇出系数合理 模块的规模适当,3.3.3 详细设计 根本目标 确定应用怎样具体的实现所要求的系统,不是具体的编写程序,而是要设计程序的“蓝图” 此阶段的结果基本上决定了最终的程序代码的质量 包括内容: 代码设计 输入设计 输出设计 处理过程设计 用户界面设计 安全控制设计,3.4 软件测试,3.4.1 意义目的 为了发现错误 希望能以最少的人力和时间发现潜在的各种错误和缺陷 保证系统质量和可靠性的关键步骤 3.4.2 测试方法 人工测试 机器测试,3.4.3 白盒测试 结构测试 将软件看成透明的白盒,根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测

8、试,检查是否满足设计的要求 3.4.4 黑盒测试 功能测试 将软件看成黑盒子,在完全考虑软件内部结构和特性的情况下,测试软件的外部特性 3.4.5 软件测试的实施 单元测试(模块测试):白盒测试法 组装测试(集成测试) 确认测试 系统测试,3.5 程序调试,3.5.1 任务 根据测试时发现的错误,找出原因和具体的位置,进行改正 有程序开发人员来进行,谁开发的程序就由谁来进行调试 程序调试主要在开发阶段进行。,程序调试的基本步骤,(1)错误定位:从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错的位置,找出错误的内在原因; (2)修改设计和代码,以排除错误; (3)进行回归测试,防止引

9、进新的错误。,软件调试的基本方法,强行排错法 回溯法 原因排除法(演绎、归纳、二分法),(1)强行排错法:作为传统的调试方法,其过程可以概括为设置断点、程序暂停、观察程序状态、继续运行程序。 (2)回溯法:该方法适合于小规模程序的排错。即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。然后从发现“症状”的地方开始 ,沿程序的控制流程,逆向跟踪源程序代码, 直到找到错误根源或确定出错产生的位置。 (3)原因排除法:通过演绎和归纳,以及二分法来实现。演绎法:一种从一般原理或前提出发,经过排除和精化的过程来推倒出结论的思考方法。归纳法:一种从特殊推断出一般的系统化思考方法。其基本思想是从

10、一些线索着手,通过分析寻找到潜在的原因,从而找出错误。二分法:如果已知每个变量在程序中若干个关键点的正确值,则可以使用定值语句(如赋值 语句、输入语句等)在程序中的某点附近给这些变量赋正确值,然后运行程序并检查程序的输出。,3.5.2 静态调试 通过人的思维来分析源程序代码和排错,是主要的调试手段 3.5.3 动态调试 辅助静态调试,例题讲解,为了提高测试的效率,应该 A) 随机选取测试数据 B) 取一切可能的输入数据作为测试数据C) 在完成编码以后制定软件的测试计划 D) 集中对付那些错误群集的程序 软件生命周期中所花费用最多的阶段是A) 详细设计 B) 软件编码 C) 软件测试 D) 软件

11、维护 下列叙述中,不属于软件需求规格说明书的作用的是A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析 下列不属于软件工程的3个要素的是) 工具 ) 过程 ) 方法 ) 环境,软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软件开发过程 检查软件产品是否符合需求定义的过程称为) 确认测试 ) 集成测试 ) 验证测试 ) 验收测试数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的

12、图符构成。下列图符名标识的图符不属于数据流图合法图符的是) 控制流 ) 加工 ) 数据存储 ) 源和流,开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作A) 软件投机 B) 软件危机 C) 软件工程 D) 软件产生 下面不属于软件设计原则的是) 抽象 ) 模块化 ) 自底向上 ) 信息隐蔽 开发大型软件时,产生困难的根本原因是A) 大系统的复杂性 B) 人员知识不足C) 客观世界千变万化 D) 时间紧、任务重 软件工程的出现是由于A) 程序设计方法学的影响 B) 软件产业化的需要C) 软件危机的出现 D) 计算机的发展,软件开发离不开系统环境资源的支持,其中必要的测试数据属于A

13、) 硬件资源 B) 通信资源 C) 支持软件 D) 辅助资源 在数据流图(DFD) 中,带有名字的箭头表示A) 模块之间的调用关系 B) 程序的组成成分C) 控制程序的执行顺序 D) 数据的流向 下列不属于结构化分析的常用工具的是A) 数据流图 B) 数据字典 C) 判定树 D) PAD图 在软件生产过程中,需求信息的给出是A) 程序员 B) 项目管理者C) 软件分析设计人员 D) 软件用户,下列工具不是需求分析常用工具的是) PAD ) PFD ) N-S ) DFD 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的A) 抽象和信息隐蔽 B) 局部化和封装化C) 内聚性

14、和耦合性 D) 激活机制和控制方法 软件开发的结构化生命周期方法将软件生命周期划分成A) 定义、开发、运行维护 B) 设计阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计,在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是 A) 路径的集合 B) 循环的集合 C) 目标的集合 D) 地址的集合 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是A) 黑箱测试法 B) 白箱测试法 C) 错误推测法 D) 安装测试法 在结构化设计方法中,生成的结构图(SC) 中,带有箭头的连线表示A) 模块之间的调用关系 B) 程序的组成成分C) 控制程序的执行顺序 D) 数据的流向,下列选项中,不属于模块间耦合的是A) 数据耦合 B) 同构耦合 C) 异构耦合 D) 公用耦合 下列叙述中,不属于测试的特征的是A) 测试的挑剔性 B) 完全测试的不可能性C) 测试的可靠性 D) 测试的经济性 需求分析中开发人员要从用户那里了解A) 软件做什么 B) 用户使用界面C) 输入的信息 D) 软件的规模 下列不属于软件调试技术的是 A) 强行排错法 B) 集成测试法C) 回溯法 D) 原因排除法,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号