软件工程-1-概述2012

上传人:aa****6 文档编号:48882658 上传时间:2018-07-21 格式:PPT 页数:34 大小:1.28MB
返回 下载 相关 举报
软件工程-1-概述2012_第1页
第1页 / 共34页
软件工程-1-概述2012_第2页
第2页 / 共34页
软件工程-1-概述2012_第3页
第3页 / 共34页
软件工程-1-概述2012_第4页
第4页 / 共34页
软件工程-1-概述2012_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《软件工程-1-概述2012》由会员分享,可在线阅读,更多相关《软件工程-1-概述2012(34页珍藏版)》请在金锄头文库上搜索。

1、Software Engineering软件工程软件工程第一章 软件工程概述本章内容v软件工程的历史 v软件工程的概念 v软件生存周期 v软件开发过程模型 场景互动v请谈谈你在进行软件开发过程中都遇到过什么样的 问题?v软件的开发经常伴随着一些问题 软件开发成本估计不准,开发成本超出预算 开发进度不能保证,交付时间一再拖延 开发出来的产品不符合用户的需求 软件产品质量无法保证 软件的可维护程度低 软件开发生产率的发展跟不上硬件的发展速度和人 们需求的增长这就是软件危机!v软件危机 是指在计算机软件的开发和维护过程中所遇到的一 系列严重问题。 即包含两方面的问题:如何开发软件、如何维护软 件。是

2、什么原因导致的这个结果?v 软件危机产生原因 【软件开发成本估计不准,开发成本超出预算】 【开发进度不能保证,交付时间一再拖延】 【开发出来的产品不符合用户的需求】 忽视软件开发前期的调研和分析工作【软件产品质量无法保证】 没有统一的、规范的方法论指导 忽视测试阶段的工作【软件的可维护程度低】 文档资料不齐全,忽视人与人的交流 忽视测试阶段的工作 忽视软件的维护【软件开发生产率的发展跟不上硬件发展速度和人们需求的增长】 没有统一的、规范的方法论指导一、 软件工程历史v“软件工程”的诞生 1968年北大西洋公 约组织的计算机科学 家在联邦德国召开国 际科学会议,讨论软 件危机问题,在这次 会议上

3、正式启用“软 件工程”这个名词。v消除软件危机的途径 软件工程以软件产品化、系列化、工程化、标准化 为特征。 采用工程化方法和工程途径来研制与维护软件。 摆脱软件危机的途径就是软件工程生成的过程 消除软件危机,既要有技术措施又要有必要的组织 管理措施v软件工程出现在软件发展的阶段 程序设计阶段 20世纪50至60年代 程序系统阶段 20世纪60至70年代 软件工程阶段软件工程阶段 20世纪70年代以后v软件发展阶段中最根本的变化 人们改变了对软件的看法 软件的需求是软件发展的动力 软件工作的范围从考虑程序的编写扩展到设计整个 软件生存期二、 软件工程概念及原理v软件工程的定义 软件工程是用工程

4、、科学和数学的原则与方法研制、维护计 算机软件的有关技术和管理方法。 v软件工程三要素 过程 为建造高质量的软件所需完成的任务框架 方法 为软件开发提供了“如何做”的技术 工具 为软件工程方法提供了自动的或半自动的软件支撑环境质量保证工具方法过程以质量保证为根本动力的软件工程三要素以质量保证为根本动力的软件工程三要素组织实施软件工程项目,从技术上和管理上采 取了多项措施以后,最终希望得到项目的成功。v软件工程项目的基本目标 能按时完成开发任务,及时交付使用; 付出较低的开发成本; 需要较低的维护费用; 达到要求的软件功能; 取得较好的软件性能; 开发的软件易于移植; 开发的软件可靠性高。三、

5、软件生命周期 v软件生命周期的概念 软件产品从形成概念开始,经过开发、使用和维护 ,直到最后退役的全过程称为软件生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存 过程。这个过程即为计算机软件的生命周期v生命周期阶段的划分原则 各阶段的任务相对独立 同一阶段任务的性质相同v软件的生存期划分的几个阶段 软件定义: 问题定义 可行性研究(软件计划) 需求分析 软件开发: 系统设计 软件实现 软件测试 软件使用、维护和退役软件生命周期中各阶段负责的任务软件生命周期中各阶段负责的任务v软件的生命周期五、 软件开发过程模型v软件开发过程模型 软件开发(过程)模型或软件工程规范,是跨越整 个生存期的系

6、统开发、运作和维护所实施的全部过 程、活动和任务的结构框架.v常用的开发过程模型 瀑布模型 原型(演化)模型 螺旋模型 统一过程模型RUP1.瀑布模型v瀑布模型(生存周期模型) 就是传统的生命周期方法学(既自顶向下结构化开 发模型方法)。 v优点 奠定了软件工程方法的基础;流水依赖;便于分工 协作;推迟实现;文档易修改;有复审质量保证。 v缺点 用户需求明确困难;用户见面晚;纠错慢;难于克 服系统分析员不懂专业领域的知识,用户不懂计算 机的困难,成功率低。适合于系统要求明确的小系 统软件生存期的瀑布模型 2.原型模型v原型模型(rapid prototype model) 是为了确定需求而提出

7、的实际模型。打破传统的自 顶向下结构化开发模型方法,在计划和需求分析后 ,把系统主要功能接口做为设计依据,快速开发出 软件样机,及时征求用户意见,正确确定系统需求 ,然后再进一步准确地进行系统设计与实现。 v优点 与用户见面快;开发成功率高,适合于需求不确定 的大系统。 v缺点 周期长,开发成本高。原型模型 3.螺旋模型v 螺旋模型(spiral model) 沿着螺线旋转(一个螺旋式周期 ),在四个象限上分别表达 四个方面的活动 制定计划 确定软件目标,选定实施方案,弄清项目开发的限制,选定完 成目标的策略 风险分析 分析所选方案,考虑如何识别和消除风险,风险角度分析该策 略 实施工程 实施

8、软件开发,启动一个开发阶段 客户评估 评价前一步开发工作,提出修正建议,计划下一轮的工作 v 特点 瀑布模型+快速原型+风险分析 迭代过程4.统一过程模型-RUPv统一过程 是一个通用的过程框架,可用于各种不同类型的软 件系统,各种不同的应用领域,各种不同类型的组 织,各种不同功能级别以及不同的项目规模。 vRUP可以根据项目的具体情况进行适当裁减,以适 应不同规模的开发。 一个完整的RUP过程是很庞大的(重量级)。 v统一过程是基于构件的(component-based) 所构造的软件系统是由软件构件通过明确定义的接 口相互连接所建造起来的 v统一过程使用统一建模语言来制定软件系统的所有 蓝

9、图v统一过程的特点 用例驱动 基于用例模型,开发人员可以创建一系列实现这些用 例的设计和实现模型。开发人员可以审查每个后续建 立的模型是否与用例模型一致。测试人员测试实现以 确保实现模型的构件正确实现了用例。因此用例不仅 开启了开发过程,而且使其结合成一体。 以构架为中心 以构架为中心的含义是指,从主要用例入手,先建立 一个粗略的框架 ,然后处理已确定的重要用例子集 ,并通过子系统、类和构件来实现;最后随着用例的 不断完善使框架的更多部分显示出来,直到获得一个 稳定的构架为止。 迭代和增量的 迭代是指工作流中的步骤,增量是指产品中增加的部 分。 统一过程是在重复一系列组成系统生命周期的循环,

10、每次循环向用户提供一个产品版本作为终结,每次循 环包括四个阶段:初始、细化、构造和移交,每个阶 段分为多次迭代。讨论v我们拥有一套讲述如何开发软件的书籍,书中充 满了标准与示例,可以帮助我们解决软件开发中 遇到的任何问题。v我们拥有最好的开发工具、最好的计算机,一定 能做出优秀的软件。 v软件生命周期中的哪个阶段可以实现以下任务? 分析员演示一个用于预订公司车辆的Windows用户 界面原型。 分析员观察订单输入职员的工作,以确定客户的订 单是如何处理的。 分析员指定支持生产进度的数据库结构。 分析员教工厂经理如何使用微机生成一份新的预定 义报告。 工厂主管描述一份新的采购报告的内容,这份采购

11、 报告将简化购买订单的跟踪过程。 索赔调解员向一位分析员描述由于索赔处理系统的 延误失去客户业务的后果。 分析员正在为学生入学联系系统准备初步的进度表 和预算,该系统最近才由指导委员会通过。 分析员正在安装运行零用现金管理系统所需的微机 和数据库管理系统。 分析员回顾公司的组织结构图,确定由哪些人参与 认可工资单和批准病假。 分析员正在比较两个软件包的优点和缺点,这两个 软件包都可以实现设备维护和翻修的管理需求。 分析员正在测试一个计算机程序的最新版本,这个 程序将根据使用该材料生产产品的计划更快地确定 缺货的材料。v假设你开发一个软件,它的功能是把73624.9385 这个数开平方,所得到的结果应该精确到小数点后 4位,一旦实现并测试完之后,该产品将被抛弃。 你打算选用哪种生命周期模型,请说明理由。v假设你要为一家生产和销售长统靴的公司开发一个 软件,该产品将监控该公司的存货:跟踪从购买橡 胶开始,到靴子生产,发货给各个连锁店,直至卖 给顾客的全过程。你在为这个项目选择生命周期模 型时使用什么准则。v列出在开发上述软件产品过程中可能遇到的风险。本章知识点总结v软件危机的表象及软件工程历史 v软件工程的概念及其要素 v软件工程的基本目标 v软件生命周期的概念 v软件开发过程模型

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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