收藏 分享(赏)

软件工程与项目管理-2.pptx

上传人:无敌 文档编号:31861 上传时间:2018-03-05 格式:PPTX 页数:54 大小:2.90MB
下载 相关 举报
软件工程与项目管理-2.pptx_第1页
第1页 / 共54页
软件工程与项目管理-2.pptx_第2页
第2页 / 共54页
软件工程与项目管理-2.pptx_第3页
第3页 / 共54页
软件工程与项目管理-2.pptx_第4页
第4页 / 共54页
软件工程与项目管理-2.pptx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、软件工程与项目管理 We cant run the modern world without software.第二部分 软件工程技术方法综述 本部分主要介绍软件工程中2类基本的实践方法 结构化方法 面向对象方法 另外描述一些常见的技术: 软件复用 敏捷开发 软件工程方法比较 软件工程是计算机学科中一个年轻并充满活力的 研究领域 软件工程为建造软件提供了技术上的解决方法, 覆盖了需求建模、设计建模、编码、测试和维护 等方面 总的来说,软件工程方法主要包含结构化方法和 面向对象方法软件工程方法比较 软件开发的任务是构建软件系统,并将其部署到 现实世界中,通过软件系统与环境交互,解决现 实问题 接

2、 口 软件 系统 环 境 现实世界 软件系统与外部世界的交互 现实世界 问题 域 解系 统 接 口 问题域与解系统的关系软件工程方法比较 课堂讨论 背景:你要开发一段程序,输入班级所有人的成绩,按 成绩由高到低的次序进行排序; 你该如何去做?软件工程方法比较 背景:你要开发一段程序,输入班级所有人的成绩,按 成绩由高到低的次序进行排序; 你该如何去做? 成绩排序 系统软件工程方法比较 任何软件系统开发的共同本质在于: 从现实空间的需求到计算机空间的软件代码之间的映射 与转换; 现实空间的需求 软件系统 实现途径:映射与转换软件工程方法比较 任何软件系统开发的共同本质在于: 从现实空间的需求到计

3、算机空间的软件代码之间的映射 与转换; 现实空间的需求 软件系统 单步映射 中间状态1 中间状态2 1/3 1/2 2/3 2/2 3/3软件工程方法比较 现实空间的需求 软件系统 中间状态1 中间状态2 实际的实现途径 正确的实现途径 正确的实现途径 实际的实现途径 需求与 软件实现 的偏差 需求与 软件实现 的偏差软件工程方法比较 软件工程为建造软件提供了技术上的解决方法, 这些方法在分析阶段提供了一些对问题域进行分 析和认识的途径,从问题域逐步过渡到编程语言 的描述手段 现实世界 编程实现 软件工程方法软件工程方法比较 自然 语言 问题域 需求分析 总体设计 详细设计 编程 测试 计算机

4、 编程 语言 分析与设 计的鸿沟 结构化软件工程方法 问题域 OOA OOD OOP OOT 计算机 自然 语言 OO 编程 语言 面向对象软件工程方法结构化软件工程方法 最早、最传统的软件开发方法 根据某种原理,使用一定的工具,按照特定步骤进 行工作的一种软件开发方法 结构指系统内部各个组成要素之间的相互联系、相 互作用的框架 提出了一套提高软件结构合理性的准则:分解与抽 象、模块独立性、信息隐蔽 针对软件生存周期各个阶段,分别有:结构化分析 (SA)、结构化设计(SD)、结构化编程(SP) ,但各种方法存在不一致性结构化软件工程方法需求分析 结构化需求分析 发展成熟、简单实用、使用广泛 E

5、dward Nash Yourdon Tom Demarco结构化软件工程需求分析 结构化需求分析 主要解决的问题是:需要系统做什么 常用的描述软件功能需求的工具有: 数据流图和数据字典 结构化软件工程需求分析 结构化需求分析 主要解决的问题是:需要系统做什么 常用的描述软件功能需求的工具有: 数据流图和数据字典 存在的弊端 以数据或数据流进行分析,其结果不能直接映 射问题域,容易隐蔽一些对问题域的理解偏差 ,给后续开发阶段衔接带来困难 其分析方式采用的数据流图中可能存在细节不 足和缺乏数据流控制方面的细节结构化软件工程概要设计和详细设计 概要设计主要是将系统分解成模块,并表示模块 之间的调用

6、和接口关系 详细设计是进一步描述模块内部 结构化软件设计最重要的原则是模块独立 结构化设计的基本方法是从数据流图导出软件的 模块结构图结构化软件工程概要设计和详细设计 原始数据 机内数 据 正确数 据 解 格式化 解 输出解 逻辑输出 逻辑输入 (物理输入) (物理输出) P1 读 入 数 据 P2 编 辑 数 据 P3 求 解 P4 编 辑 格 式 P5 打 印 输 出 数据流图结构化软件工程概要设计和详细设计 正确数据 求解 编辑数据 计算 获得正确数据 输出解 编排格式 打印解 编辑数据 读入数据 正确数据 原始数据 原始数据 解 格式化解 解 正确 数据 格式化解 解 模块结构图结构化

7、软件工程概要设计和详细设计 转换 转换 分析模型 (逻辑模型) 设计模型 设计模型 (物理模型) (物理模型) 需求分析和设计 之间的鸿沟:数 据流图和模块结 构图很难对应结构化软件工程结构化编码 编码是软件设计的自然结果 利用某种编程语言产生一个能被计算机理解并执 行出结果的系统 结构化编程技术相对比较成熟结构化软件工程结构化测试 测试的目的在于识别出存在于软件产品中的缺陷 测试提供了一种可以操作的方式来减少系统中的 缺陷,并增加用户对一个已经开发的系统的信心结构化软件工程结构化维护 维护最大的难点是人们对软件的理解过程中所遇 到的障碍 结构化方法中,各个阶段的文档表示不一致,给 维护带来一

8、定困难结构化软件工程技术-总结 从功能的观点设计系统 自顶向下,逐步分解和细化 将大系统分解为若干模块,主程序调用这些模块实现完 整的系统功能 main f1 f2 f3结构化软件工程技术-总结 把软件视为处理数据的流,并定义成由一系列步骤 构成的算法; 每一步骤都是带有预定输入和特定输出的一个过程 结构化方法以功能分解和数据流为核心,但是系 统功能和数据表示 极有可能发生变化面向对象软件工程方法 Jacobson于1994年提出面向对象 软件工程方法 包括OOA,OOD,OOP和OOT 面向对象的方法将数据和对数 据的操作紧密结合起来,其基 本出发点是尽量模拟人类的思 维习惯和方式 ivar jacobson

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报