网站大量收购闲置独家精品文档,联系QQ:2885784924

软件过程模型与软件项目组织探索.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件过程模型与软件项目组织 软件生存周期 软件过程模型 编码修正模型 瀑布模型 原型实现模型 演化过程模型 基于构件的开发模型 形式化开发 过程模型与项目组织 软件生存周期 软件生存周期是软件产品或系统从形成概念开始,经过研制,交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的全过程。 对软件生存周期的不同划分,形成了不同的软件开发模型。 软件生存周期的主要阶段 软件过程 过程 过程是为实现一个给定目标而进行的一系列运作步骤。过程具有一系列的性质:时间性、并发性、嵌套性和度量性等。 软件过程 软件过程是开发和维护软件及其相关产品所涉及的一系列活动。过程是活动的集合;活动是任务的集合;任务是把输入转换为输出的操作。 软件过程 软件过程是80年代后软件工程关注的焦点。 软件过程是开发高质量软件所需要完成的任务的一个框架。 软件工程是由软件人员在定义好的、成熟的软件过程框架中进行的。 软件过程框架 软件过程提供了一个公共过程框架; 选择一个公共过程框架的依据是产品、人员和项目; 在公共过程框架下可以建立一个软件开发的综合计划: 若干框架活动适用于所有软件项目,而不在乎其规模和复杂性。 若干不同任务的集合使得框架活动适应于不同软件项目的特征和项目组的需求。 每一个任务集合都由任务、里程碑、交付物以及质量保证点组成。 若干庇护性活动如软件质量保证、软件配置管理、测试与度量等,贯穿于整个过程模型之中。 庇护性活动独立于任何一个框架活动,且贯穿于整个过程之中。 软件过程分类 软件过程可分为三大类: 基本过程类:是构成软件生存周期主要部分的过程,包括获取、开发、实施、维护等过程。 支持过程类:可穿插到基本过程中提供支持的一系列过程,包括配置管理、质量保证、验证、确认、评审等过程。 组织过程类:一个组织用来建立、实施一种基础结构、并不断改进该基础结构的过程,包括管理、改进、培训等过程。 软件过程模型 软件过程模型是软件过程的抽象表示。 一个软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件过程模型也常称为软件开发模型。 软件过程模型 过程模型定义了: 特定问题和应用的开发过程中将遵循的步骤; 确定将用于表示问题和解的那些成分的类型; 利用这些成分表示与问题解决有关的抽象; 直接得到问题的结构。 过程模型的选择影响到设计方法、编码语言和测试和维护技术的选择。 软件过程模型 编码修正模型 从一个大致的想法开始工作,然后经过非正规的设计、编码和测试,最后完成全部工作。 编码修正模型 好处: 成本可能很低。 只需要很少的专业知识,任何写过程序的人都可以。 适用于一些非常小的、开发完后就会很快丢弃的软件。 缺点: 对于规模稍大的项目,采用这种模型使项目难以控制。 瀑布模型 瀑布模型 所有过程模型的鼻祖。---- Royce,1970 基本思想是把软件开发过程划分成若干阶段,各个阶段相当于瀑布中的一个台阶,把软件过程比喻成瀑布中的流水,暖流,在这些台阶中由上向下奔流。 瀑布模型每个阶段的任务相对独立,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度。 在软件的生存期的每个阶段都采用科学的管理技术和良好的方法与技术,而且每个阶段结束之前,都从技术和管理两个角度进行严格的审查,经确认之后才开始下一阶段工作。 瀑布模型适合于结构化开发方法。 结构化分析过程 问题定义和可行性研究 确定要开发软件系统的总目标。 给出功能、性能、接口等方面的要求,完成该软件任务的可行性研究。 估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度。 制定出完成开发任务的实施计划,连同可行性研究报告,提交项目管理部门审查。 需求分析 对待开发软件提出的需求进行分析并给出详细的定义。 编写软件需求说明书或系统功能说明书及初步的系统用户手册。 提交管理机构评审。 软件设计 总体设计 —— “如何解决问题” 可以列出多种解决方案进行比较 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应 详细设计 — 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础 编写设计说明书,提交评审。 程序编写 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。 写出的程序应当是结构良好、清晰易读的,且与设计相一致的。 软件测试 单元测试:查找各模块在功能和结构上存在的问题并加以纠正。 组装测试:将已测试过的模块按一定顺序组装起来。 按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。 运行维护 改正性维护:运行中发现了软件中的错误需要修正。 适应性

文档评论(0)

贪玩蓝月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档