软件工程总复习2分析.ppt

  1. 1、本文档共193页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程总复习2分析

1 软件与软件危机 1.1 软件的定义 指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。 数据结构,使得程序可以充分利用信息。 描述程序操作和使用的文档。 1.2软件危机 许多软件项目不能满足客户的要求。 许多软件项目超出预算和时间安排。  软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 软件危机的表现 软件危机的原因 软件是逻辑产品,开发进度、成本难以估计。 缺乏或不完整、不一致的文档给维护带来困难。 用户对软件需求的描述往往不够精确,有遗漏,有二义。 软件开发人员对需求的理解与用户的本来愿望有差异。 大型软件项目需多人协同完成,缺乏管理经验。 开发人员不能有效地、独立自主地处理大型软件的全部关系。 缺乏有力的方法学和工具的支持。 软件项目的特殊性和人类智力的局限性。 1.3 软件工程的发展 面向对象软件工程 2.2 软件生存期模型 软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。 划分软件生存周期的阶段时所应遵循的基本原则是各阶段的任务尽可能相对独立。 软件开发模型是对软件过程的建模 边做边改模型 瀑布模型 原型模型 增量模型 螺旋模型 RUP过程 敏捷过程 极限编程 微软过程模型 2.2.1边做边改模型 遗憾的是,许多产品都是使用“边做边改”模型来开发的。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。 瀑布模型的特点 1.阶段间具有顺序性和依赖性关系 顺序性的含义是必须待前一阶段的工作完成之后,才能进行下一阶段的工作。 依赖性的含义是前一阶段的输出就是后一阶段的输入,只有前一阶段的输出正确,后一阶段的工作才有可能获得正确的结果。。 2.2.3快速原型模型 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次或多次: 2.2.4增量模型 在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成 。 增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。 在使用增量模型时,第一个增量往往是实现基本需求的核心产品。 核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。 这个过程在每个增量发布后不断重复,直到产生最终的完善产品。 增量模型也存在以下缺陷 (1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。 (2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。 2.2.5螺旋模型 螺旋模型是目前软件开发中最常用的一种软件开发模型,是在组合瀑布模型与快速原型模型基础上演变而成的,尤其适用于大型软件的开发。 螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制条件。 风险分析──分析所选方案,考虑如何识别和消除风险。 工程实现──实施软件开发。 评审──评价开发工作,提出修正建议。 螺旋模型的限制条件 (1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。 (2)如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。 (3)软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。 增量模型和螺旋模型的主要区别 (1)增量模型的通过避免使用未成熟技术和经常的客户反馈等方法减少风险;而螺旋模型中直接增加了风险分析,评价所选方案,识别和消除风险。 (2)增量模型经常是先做总体需求分析和设计,然后在编码和测试中逐个增量开发;螺旋模型在每个开发周期内采用简化瀑布模型或快速模型。 (3)增量模型通过迭代来逐步添加功能和需求,以完善产品;螺旋模型是事先定义大部分需求,开发过程中计划性比较强。 数据流图(DFD,Data Flow Diagram)是

文档评论(0)

little28 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档