计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 谭振江 第11章软件工程基础

上传人:E**** 文档编号:89486146 上传时间:2019-05-25 格式:PPTX 页数:23 大小:456.32KB
返回 下载 相关 举报
计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  谭振江 第11章软件工程基础_第1页
第1页 / 共23页
计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  谭振江 第11章软件工程基础_第2页
第2页 / 共23页
计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  谭振江 第11章软件工程基础_第3页
第3页 / 共23页
计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  谭振江 第11章软件工程基础_第4页
第4页 / 共23页
计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  谭振江 第11章软件工程基础_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 谭振江 第11章软件工程基础》由会员分享,可在线阅读,更多相关《计算思维与大学计算机基础 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 谭振江 第11章软件工程基础(23页珍藏版)》请在金锄头文库上搜索。

1、第11章 软件工程基础,章节结构,11.1 软件工程基本概念 11.2 结构化分析方法 11.3 结构化设计方法 11.4软件测试 11.5 程序的调试,11.1 软件工程基本概念,计算机软件(software)是计算机中与硬件相互依存的另一部分,是包括程序,数据及相关文档的完整集合。其中,程序是软件开发人员根据用户的需求开发的、用程序设计语言描述的、计算机执行的语句序列。数据是使程序能正常操纵的数据及数据结构。文档是与程序开发、维护和使用有关的图文资料。,1. 软件定义于软件特点,计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及软件制作过程中涉及到的文件、文档及数据。

2、 软件在开发、生产、维护和使用等方面与计算机硬件相比存在明显的差异。,2. 软件危机与软件工程,软件工程概念的出现源自软件危机。 20世纪60年代末以后,“软件危机”这个词频繁出现。所谓软件危机是泛指在计算机的开发和维护过程中所遇到的一系列严重问题。实际上,几乎所有的软件都不同程度地存在这些问题。,3. 软件工程过程与生命周期,1. 软件工程过程(Software Engineering Process) ISO 9000定义:软件工程是把输入转化为输出的一组彼此相关的资源和活动。 2. 软件生命周期(Software Life Cycle) 通常,将软件产品从问题的提出、需求分析、设计、实现

3、、使用维护到停止使用退役的过程称为软件生命周期。,4.软件开发工具和开发环境,现代软件工程方法之所以得以实施,其重要的保证是软件开发工具和环境的保证,使软件在开发效率、工程质量等多方面得到改善。软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。,11.2 结构化分析方法,软件开发方法是软件开发过程所遵循的方法和步骤,其目的在于有效地得到一些工作产品,即程序和文档,并且满足质量要求,软件开发方法包括分析方法、设计方法和程序设计方法。 结构化方法经过30多年的发展,已经成为系统的、成熟的软件开发方法之一。结构化方法包括已经形成了配套的结构化分析方法、结构设计方法和结构化编程方法,其核心和基

4、础是结构化程序设计理论。,1 .需求分析与需求分析方法,软件需求是指用户对目标软件系统在功能、行为、性能、设计、约束等方面的期望。需求分析的任务是发现需求、求精、建模的过程。需求分析将创建所需的数据模型、功能模型和控制模型。,2. 结构化分析方法,1. 关于结构化分析方法 面向数据流的结构化分析方法,按照DeMarco的定义,“结构化分析就是使用数据流图(DFD)、数据字典(DD)、判定树、判定表、过程设计语言(PDL)等工具,来建立一种新的、称为结构化规格说明的目标文档。” 结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建成立系统的处理流程,以数据流图和数据字典为主要工具,建立系统

5、的逻辑模型。,2. 结构化分析的常用工具 数据流图(DFD-Data Flow Diagram) (2) 数据字典(DDData Dictionary) (3) 判定树 (4) 判定表,3. 软件需求规格说明书,1. 软件需求规格说明书的作用 2. 软件需求规格说明书的内容 软件需求规格说明书是作为需求分析的一部分而制定的可交付文档。该说明把在软件计划中确定的软件范围加以展开,制定出完整的信息描述、详细的功能说明、恰当的检验标准以及其他与要求有关的数据。 3. 软件需求规格说明书的特点,11.3 结构化设计方法,软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。软件设计的基本

6、目标是用比较抽象概括方式确定目标系统如何完成预定的任务,即软件设计是确定系统的物理模型.,1.软件设计的基本概念,软件设计和基本原理 抽象 模块化 信息隐蔽 模块独立性 内聚性:是一个模块内部各个元素彼此结合的紧密程度的度量。内聚性是从功能角度来度模块内的联系。 内聚有如下的种类,它们之间的内聚性由弱到强排列为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。 耦合性:耦合性是模块间互相连接的紧密程度的度量。 分为下列几种,它们之间的耦合度由高到低排列为:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。,2. 总体设计,1. 总体设计的任务 (1)

7、 设计软件系统结构 (2) 数据结构及数据库设计 (3) 编写总体设计文档。在总体设计阶段,需要编写的文档有,总体设计说明书、数据库设计说明书、集成测试计划等。 (4) 总体设计文档评审。 常用的软件结构设计工具是结构图(SCStructure Chart),也称程序结构图。使用结构图描述软件系统的层次和分块结构关系。 使用的结构图有四种模块类型:传入模块,传出模块、变换模块和协调模块。,程序结构图的有关术语,深度:表示控制的层数。 上级模块、从属模块:上、下两层模块a和b,且有 a调用b,则a是上级模块,b是从属模块。 宽度:整体控制跨度(最大模块数的层)的表示。 扇入:调用一个给定模块的模

8、块个数 扇出:一个模块直接调用的其他模块数。 原子模块:树中位于叶子结点的模块。,财务管理系统结构图,2面向数据流的设计方法 (1) 数据流类型 变换型 事务型 3. 设计的准则 提高模块独立性。 模块规模适中。 深度、宽度、扇出、扇入适当。 使模块的作用域在该模块的控制域内。 应减少模块的接口和界面的复杂性。 设计成单入口、单出口的模块。 设计功能可预测的模块。,3.详细设计,详细设计的任务,是为软件结构图的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。 常见的过程设计工具有: 图形工具:程序流程图,N-S,PAD,HIPO。 表格工具:判定表。 语言工

9、具:PDL(伪码)。,11.4软件测试,软件测试的目的 Grenford J.Myers在The Art of Software Testing一书中给出了更深刻的阐述: 软件测试是为了发现错误而执行程序的过程; 一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例; 一个成功的测试是发现了至今尚未发现的错误的测试。 Myers的观点告诉人们测试要以查找错误为中心,而不是为了演示软件的正确功能。,软件测试的准则 1. 所有测试都应追溯到需求。 2. 严格执行测试计划,排除测试的随意性 3. 充分注意测试中的群集现象 4.程序员应避免检查自己的程序 5.穷举测试不可能 6.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。,软件测试技术与方法综述 从是否需要执行被测软件的角度,可以分为静态测试和动态测试方法。若按照功能划分可以分为白盒测试和黑盒测试方法。 (1) 静态测试 (2) 动态测试 (3)白盒测试方法与测试用例设计 (4)黑盒测试方法与测试用例设计,软件测试的实施 1.单元测试 2.集成测试 3.确认测试 4.系统测试,11.5 程序的调试,由程序调试的概念可知,程序调试活动由两部分组成,其一是根据错误的迹象确定程序中错误的确切性质、原因和位置。其二,对程序进行修改,排除这个错误。 软件调试方法 1. 强行排错法 2. 回溯法 3. 原因排除法,

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

当前位置:首页 > 高等教育 > 大学课件

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