软件工程实用教程1-概述课件_第1页
软件工程实用教程1-概述课件_第2页
软件工程实用教程1-概述课件_第3页
软件工程实用教程1-概述课件_第4页
软件工程实用教程1-概述课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软 件 工 程第一章 软件工程概述第一章 软件工程概述了解软件工程历史软件的概念与特点软件的分类软件的发展和软件危机软件工程的目标和原则认识软件开发过程模型软件过程软件过程模型了解软件工程历史软件定义软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列。数据是使程序能正常操纵信息的数据结构。文档是与程序开发,维护和使用有关的图文材料。软件的特点(1)软件是一种逻辑实体,它具有抽象性。软件成本集中在开发上,对软件的质量控制必须从软件的开发着手。软件在运行和使用过程中没有磨损、老化问题。软件一旦研制成功,其生产过程就变

2、成复制过程,会出现软件产品版权保护问题。软件存在升级和移植的问题,所产生的维护成本通常比开发成本要高许多。4软件的特点(2)大多数软件仍然是定制的。软件本身是复杂的。软件涉及因素多。由于软件研制工作需要投入大量、复杂、高强度的脑力劳动,导致了软件成本昂贵。5软件的分类按软件的功能进行划分系统软件支撑软件应用软件6按软件规模进行划分7分类参加人员开发期限程序规模/源程序行数特征微型114周500以下不必有严格的设计和测试文档小型1216月1k2k通常没有与其他程序的接口中型3512年5k50k需要有严格的文档和设计规范大型52023年50k100k需要按照软件工程方法进行管理超大型1001000

3、45年1M(=1000k)必须按照软件工程开发,有严格的质量管理措施巨型20005000510年1M10M同上表1-1 软件规模的分类按软件工作方式划分实时处理软件分时软件交互式软件批处理软件按软件服务对象的范围划分项目软件产品软件按使用的频度进行划分按软件失效的影响进行划分8软件的发展程序设计阶段 50至60年代程序系统阶段 60至70年代软件工程阶段 70年代以后软件发展阶段最根本的变化人们改变了对软件的看法软件的需求是软件发展的动力软件工作的范围从考虑程序的编写扩展到设计整个软件生存期目前:社会信息化、软件产业化的阶段过渡软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严

4、重问题。即包含两方面的问题:如何开发软件、如何维护软件。具体表现软件开发成本估计不准,开发成本超出预算开发进度不能保证,交付时间一再拖延开发出来的产品不符合用户的需求软件产品质量无法保证软件的可维护程度低软件开发生产率的发展跟不上硬件的发展速度和人们需求的增长产生原因根本原因软件开发过程不成熟忽视软件开发前期的调研和分析工作没有统一的、规范的方法论指导文档资料不齐全,忽视人与人的交流忽视测试阶段的工作忽视软件的维护消除软件危机的途径软件工程的定义软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法。软件工程三要素: 过程、方法和工具软件开发过程为建造高质量的软件所需

5、完成的任务框架软件工程方法为软件开发提供了“如何做”的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件工程项目的基本目标组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功。所谓成功指的是达到以下几个主要的目标付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用。软件工程的基本原理用分阶段生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性认识软件开发过程模型软件过程通过定义若干框架活动来建立公共过程框架,每一

6、个任务集合都由软件工程工作任务、项目里程碑、软件工程产品(交付物)和质量保证点组成,通过多个任务集合来保证框架活动可被修改,以适应不同软件项目特征和项目组的需要。软件过程模型软件开发(过程)模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任软件开发过程定义了方法使用的顺序要求交付的文档资料为保证质量和适应变化所需要的管理软件开发各个阶段完成的里程碑常用的模型介绍 瀑布模型 原型(演化)模型 螺旋模型 喷泉模型 构件组装模型 统一过程模型RUP瀑布模型瀑布模型(生存周期模型)就是传统的生命周期方法学(既自顶向下结构化开发模型方法)。优点:奠定了软件工程方法的基础;流水依赖;便于

7、分工协作;推迟现实;文档易修改;有复审质量保证。缺点:用户需求明确困难;用户见面晚;纠错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。适合于系统要求明确的小系统。软件生存期的瀑布模型 问题定义可行性研究需求分析概要设计详细设计编码测试运行维护评价返回计划维护阶段开发阶段定义阶段定义做什么的问题结构设计如何做的体系结构修改设计需求说明书设计说明书源程序清单测试报告维护报告原型模型(rapid prototype model)原型模型(rapid prototype model) 是为了确定需求而提出的实际模型。打破传统的自顶向下结构化开发模型方法,在计划和需求分析后,

8、把系统主要功能接口做为设计依据,快速开发出软件样机,及时征求用户意见,正确确定系统需求,然后再进一步准确地进行系统设计与实现。优点:与用户见面快;开发成功率高,适合于需求不确定的大系统。缺点:周期长,开发成本高。 原型模型 螺旋模型螺旋模型沿着螺线旋转(一个螺旋式周期 ),在四个象限上分别表达四个方面的活动,即:制定计划确定软件目标,选定实施方案,弄清项目开发的限制,选定完成目标的策略风险分析分析所选方案,考虑如何识别和消除风险,风险角度分析该策略实施工程实施软件开发,启动一个开发阶段 客户评估评价前一步开发工作,提出修正建议,计划下一轮的工作 特点瀑布模型+快速原型+风险分析迭代过程喷泉模型喷泉模型对软件复用和生存期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。喷泉一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动,即分析、设计和编码之间不存在明显的边界。 喷泉模型示意图并发模型并发过程模型定义了一系列事件,对于每一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论