软件工程概述课件.ppt

上传人:牧羊曲112 文档编号:1788530 上传时间:2022-12-18 格式:PPT 页数:28 大小:315.50KB
返回 下载 相关 举报
软件工程概述课件.ppt_第1页
第1页 / 共28页
软件工程概述课件.ppt_第2页
第2页 / 共28页
软件工程概述课件.ppt_第3页
第3页 / 共28页
软件工程概述课件.ppt_第4页
第4页 / 共28页
软件工程概述课件.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《软件工程概述课件.ppt》由会员分享,可在线阅读,更多相关《软件工程概述课件.ppt(28页珍藏版)》请在三一办公上搜索。

1、1,第二篇 软件工程,软件工程的基本概念 软件开发各阶段的任务、技术、方法 主要的软件开发方法 结构化分析和设计 面向对象分析和设计 软件测试(步骤、方法) 软件维护(内容、策略),主要内容:,2,第一章 软件工程概述,软件技术 软件危机 软件工程 软件工程环境,主要内容:,3,程序与软件 程序:一系列指令序列的集合,能被计算机理解和执行 软件:是计算机系统中与硬件子系统相互依存的另一个 子系统,是一个包含程序及其文档资料的完整集 合,提供了用户与硬件子系统之间的接口 软件 文档:与程序开发、维护和使用有关的图文材料 程序:按事先设计的功能和性能需求执行的指令序列 数据:是程序能正常操纵信息的

2、数据结构,1.1 软件技术概述,4,1.1 软件技术概述,软件的发展历史,5,1.1 软件技术概述,6,软件技术的定义: 是开发计算机软件所需的所有技术的总称 计算机软件技术的领域: 软件工程技术 程序设计技术 软件工具环境技术 系统软件技术 数据库技术 实时软件技术,1.1 软件技术概述,7,软件复用的定义 在构造新的软件系统的过程中,对已存在的软件产品 (设计结构、源代码、文档等)重复使用的技术 三个层次:知识复用、方法复用、软件成分复用 软件成分复用的三个级别: 代码复用(剪贴、包含和继承) 设计结果复用(设计模型) 分析结果复用(分析模型) 组件技术,1.1 软件技术概述,8,软件危机

3、的定义 计算机软件的开发和维护过程所遇到的一系列严重问题,如:开发周期长、成本增加、可靠性降低等。 1979年美国政府项目调查表,1.2 软件危机,9,软件危机的表现 对软件开发成本和进度的估算很不准确 用户很不满意 质量很不可靠 没有适当的文档,维护困难 软件成本比重上升 供不应求,1.2 软件危机,10,1.2 软件危机,11,解决途径 组织管理 工程项目管理方法 技术措施 软件开发技术与方法 软件工具,1.2 软件危机,12,软件工程的定义 是指用工程的概念、原理、技术和方法来开发和维护 软件,把经过时间考验证明正确的管理技术和当前能 够得到的最好的技术方法结合起来,指导计算机软件 的开

4、发和维护的工程学科 指导计算机软件开发和维护的工程学科 工程方法 + 管理技术 + 技术方法,1.3 软件工程,13,1.3 软件工程,确保软件质量和提高开发效率 内容: 严格按照计划进行管理 坚持进行阶段评审 实行严格的产品控制 采用现代化的程序设计技术 结果应能清楚地审计 开发小组的人员应该少而精 承认不断进行软件工程实践的必要性,B.W.Boehm的七条软件工程原理,软件生命周期的定义 是一个软件从用户需求开始,经过分析、开发、测试、运行维护的一系列相关活动的全周期。,14,软件的生命周期过程,1.3 软件工程,15,1.3 软件工程,软件工程方法学 软件工程是技术与管理的紧密结合,技术

5、是指方法学问题,管理是指通过计划、组织和控制等活动,合理配置和使用各种资源,得到满足质量要求的工作产物(运行系统和支持文档)。 方法学的三个要素:方法、工具和过程,16,方法学的分类,快速原型方法,1.3 软件工程,17,1.3 软件工程,18,2 快速原型模型,快速原型方法,原型: 是系统的早期版本,是系统的物理模型,只实现了系统的一些最基本的功能,反映系统的行为特性,但不一定满足全部需求。,建立原型的步骤: 确定用户的基本需求 建立工作原型 试用原型 修改补充原型,特点: 容易理解和沟通 及早发现需求中的问题 检查设计的可行性,快速原型法: 在软件生命周期的编码阶段之前插入一个建立系统原型

6、的阶段。,1.3 软件工程,19,3 螺旋模型,螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。,四个象限分别代表了以下活动:,(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。,1.3 软件工程,20,4 增量模型,也称构件集成模型,整个软件产品被分解成若干个构件,每一个构件都有设计、实现、集成和测试等过程。开发人员逐个构件地交付产品。,1.3 软件工程,21,5 过程模

7、型之间的比较,1.3 软件工程,22,基本思想: 模拟人类习惯的思维方式,通过建立问题域的对象模型(不强调算法和数据结构),使得问题空间与解空间在结构上尽可能一致;开发过程渗透了演绎(一般到特殊:对象分类)和归纳(特殊到一般:“派生类”对“基类”的继承)的渐进深化的思维过程。最主要特征: 以对象模型为核心,整个生命周期使用相同的概念、表示法和策略,为动态模型和功能模型提供实质性得框架。组成:面向对象分析(Object-Oriented Analysis, OOA)面向对象设计(Object-Oriented Design, OOD)面向对象程序设计(Object-Oriented Progra

8、mming, OOP),面向对象方法学,1.3 软件工程,23,OOA: 任务:分析问题域,用相应的符号系统建立系统的概念模型; 通常从三个方面建立系统模型: 对象模型:描述系统数据结够 动态模型:描述系统控制结构 功能模型:描述系统功能,OOD: 任务:决定如何将系统划分成子系统, 每个子系统分成更小的子系统 OOP: 任务:将OOD的结果用一种程序设计语言实现,1.3 软件工程,24,采用的软件过程模型:喷泉模型,以“无缝”连接和“迭代”的方式,保证了各个阶段工作的连续性。 “圆圈”代表生命周期的阶段,圆圈的重叠表示了阶段间的迭代和无缝过渡,“向下箭头”代表了阶段内的迭代或求精。,1.3

9、软件工程,25,软件工具: 定义:可以用来帮助开发、测试、分析、维护 其它计算机程序的程序以及文档资料的 集合,它可以实现软件生产过程自动化, 提高软件的生产率、可靠性,降低软件 生产成本。 软件工具是一种自动化系统 用于软件生存周期的某一个阶段或某一个环节,1.4 软件工程环境,26,软件工程环境的定义: 是用以支持需求定义、程序生成,以及软件维护等整个软件生命周期全部活动的,并把方法、规模和计算机程序集成在一起的整个体系。又称为软件开发环境,软件支撑环境,自动开发环境 需求: 集成化的系统 通用的系统 可剪裁又可扩充的系统 实用的、经济合算的系统,1.4 软件工程环境,27,计算机辅助软件工程 CASE(Computer Aided Software Engineering) 将软件工程方法、工具与环境方面的新技术同 形式化语义理论有机地结合起来 标志着软件开发技术的发展进入一个新阶段 可以对软件生产过程的每一步提供辅助手段,1.4 软件工程环境,28,1.软件的概念、大型软件的特点2.计算机软件技术的概念和领域3.软件复用的概念、级别4.软件危机的概念、表现、产生原因和解决方法5.软件工程的概念6.软件生命周期的概念,阶段划分,瀑布模型特点7.三种开发方法的主要思想、各自的优缺点8.软件工具和软件工程环境,课堂总结(掌握,了解),

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号