deng第一章软件工程概述.pptVIP

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
传统化(理想化)瀑布模型的缺点 1.阶段间具有顺序性和依赖性。 2.推迟实现的观点。 3.传统的瀑布模型过于理想化。事实上,人在工作过程中不可能不犯错误。 在设计阶段可能发生规格说明文档中的错误。 而设计上的缺陷或错误可能在实现过程中显现出来。 在综合测试阶段将发现需求分析、设计或编码阶段的许多错误 增量模型适用的情况 客户能够接受分阶段交付 工期紧且可分阶段提交或者对目标、环境不熟悉 用户可参与到整个软件开发过程中 软件开发组织自己应该拥有较好的类库、构件库 软件企业开发大型项目时,一般还是采用增量模型, 因为可以根据轻重缓急,逐个实现子系统 增量模型与瀑布模型、快速原型模型区别: 瀑布模型、快速原型模型: 一次性地把一个满足所有需求的产品交付给用户 增量模型: 分批交付 每一次迭代都包含以下步骤: 1.决定目标、替代方案和约束 2.识别和解决项目的风险 3.评估技术方案和替代解决方案 4.开发本次迭代的交付物和验证迭代产出的正确性 5.计划下一次迭代 6.提交下一次迭代的步骤和方案 螺旋模型的缺点 风险驱动,需要相当丰富的风险评估经验和专门知识,否则风险更大 要求用户参与阶段评估 过多的迭代次数增加了开发成本,延迟了提交时间 螺旋模型适用的情况 内部开发的大规模软件项目:方便中止 但是如果风险分析费用接近整个项目的预算,则风险分析是不可行的 不确定因素很多,很多东西开始无法计划的情况 认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。 软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。 无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限 喷泉模型的特点 规定了五个阶段:分析、设计、实现、维护和演化 高层到底层无资源消耗 资源消耗呈塔状,在分析阶段消耗最多资源 各阶段的重叠反映了软件过程的并行性 增量开发,是迭代的逐步提炼的过程 四种模型的总结: 软件工程的目的就是为开发高质量的软件产品提供一个工程框架。 * 任何工程方法(包括软件工程)必须以组织对质量的承诺为基础。 软件工程的根基在于质量关注点。 软件工程是一种层次化的技术,以有组织的质量保证为基础。全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。支持软件工程的根基就在于对质量的关注。 软件工程的基层是过程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来。过程定义了一组关键过程区域框架,构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、李成本的建立、质量的保证及变化的适当管理。 软件工程的方法层提供里建造软件在技术上需要“如何做?”。方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。 软件工程方法依赖于一组基本原则,这些原则控制了每一技术区域,且包含建模活动和其他描述技术。 软件工程的工具层对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使得一个工具产生的信息可被另外一个工具使用时,一个支持软件开发的系统就建立了,称为计算机辅助软件工程(CASE)。CASE集成了软件、硬件和一个软件工程数据库(一个仓库,其中包含了分析、设计、编程和测试的重要信息)。 过程: 定义一系列活动: 技术方法的采用, 工程产品(模型、文档、数据)的产生, 里程碑(milestone)的建立, 质量的保证及变更的管理。 该层构成了软件项目的管理控制的基础。 方法:提供了建造软件在技术上“如何做”。 方法覆盖了一系列任务:需求分析、设计、编程、测试和支持(如纠错、适应、增强、预防)。 工具: 对过程和方法提供了自动或半自动的支持。 软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资金和成本,并制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成 开发时期具体设计和实现在前一时期定义的软件 运行维护的主要任务是使软件持久的满足用户的需要 过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件过程模型的选择基于项目和应用的性质、采用的方法工具以及需要的控制和交付的产品。几种典型的模型: 瀑布模型也称为线性顺序模型 在20世纪80年代以前,瀑布模型一直是唯一被广

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档