高级软件工程(第二章)软件开发过程与开发方法 (2017课件).pptVIP

高级软件工程(第二章)软件开发过程与开发方法 (2017课件).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对比瀑布式模型 对比瀑布式模型 。 * 第二章 软件开发过程与开发方法 * 概述 开发软件系统的方法既多又复杂。 开发软件系统时,开发人员依靠各种各样的辅助工具来帮助他们完成开发过程中的每一步。 软件开发生命周期为系统开发过程提供了一个大致的框架。但是开发人员需要掌握许多概念,这些概念包括方法、模型、工具和技术。 在详细进行系统开发之前,理解这些概念是非常重要的。 * 1 系统开发过程 包含阶段与活动的项目管理框架。 是一组活动、方法、最佳实践、交付成果和自动化工具; 系统开发的关联人员用它们来开发软件系统。 ? * 三组重要的活动 分析活动:要全面了解业务的信息需求,其重点是业务需求,而不是任何特定的计算机系统。 设计活动:定义一个新系统的体系结构和构造,以满足上述需求。在设计阶段,分析员开始构思一个计算机系统解决方案。 实施活动:实际建立、测试和安装软件系统。 项目计划 阶段 分析阶段 设计阶段 实施阶段 支持阶段 * 各种方法之间的差异 组成每个阶段的各种活动不一样,或是执行活动的方法不一样。 但所有软件系统开发过程都要求计划项目、分析需求、设计解决方案和实施最后的系统。 ? * ⑴ 计划阶段 最初的阶段。 主要目标:确定新系统的作用域并做出项目计划。 主要活动: 定义问题; 制定项目的进度表; 确认项目的可行性; 安排项目人员; 启动项目。 * 确认项目可行性 可行性:指在组织内外当前的具体条件下,进行某项目的必要性和可能性。 内容: ①经济可行性 ②技术可行性 ③组织管理的可行性 * ⑵ 分析阶段 主要目标:了解新系统的业务需求和处理要求并制作书面文件。 问题域:用户的业务领域 主要活动: 收集信息; 定义系统需求; 建立需求发现的原型; 划分需求的优先级; 产生并评估可选方案; 与管理人员一起审查建议。 ? * ⑶ 设计阶段 主要目标:在分析阶段的需求确定与决策制定的基础上,设计解决方案系统。 主要活动: 设计并集成网络; 设计应用程序结构; 设计用户界面; 设计系统界面; 设计并集成数据库; 设计细节的原型化; 设计并集成系统控制。 ? * ⑷ 实施阶段 新系统编程、测试和安装的阶段。 主要目标:不仅要有一个可靠、功能全面的软件系统,而且要确保所有用户都受到培训并使组织从中获得所期望的好处。结果是完成一个有效的可操作的系统。 主要活动: 构造软件部件; 检验与测试; 转换数据; 培训用户与制作文档; 安装系统。 ? * ⑸ 支持阶段 主要目标:在系统初始安装后的几年里保持系统有效的运行。 主要活动: 维护系统; 加强系统; 支持用户。 ? * 1. 迭代 迭代意味着任务做了一次,接着又一次,然后又一次(任务是不断重复的)。 随着每一次迭代,结果得到了修正,并且越来越接近目标。 假设:不可能在第一次就得到正确的结果。 ? * 什么是迭代式开发? 迭代式开发(Iterative Development) 迭代开发是UP(统一过程)和大多数其他现代方法中的关键实践。在这种生命周期方法中,开发被组织成一系列固定的短期(如三个星期)小项目,称为迭代(iteration);每次迭代都产生经过测试、集成并可执行的局部系统。每次迭代都具有各自的需求分析、设计、实现和测试活动。 * 迭代式开发的原因 在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。迭代式开发不仅可以降低项目的风险,而且每个迭代过程以可以执行的版本结束,从而可以鼓舞开发人员。 迭代与增量开发的共性与区别 增量开发适用于需求比较明确,架构比较稳定的软件开发,每次增量不影响已有的架构,在已有的架构下增加新的功能。每个增量之间相对独立,各个增量可以并行开发; 迭代开发适用于需求不甚明确、难度比较大的软件开发。一般是用例驱动的;管理难度大; 两种类型开发的相同之处,每个迭代和增量结束后都有产品发布。 * * 迭代开发的优点 减少项目失败的可能性,实践已证明这一点; 在早期(而不是晚期)缓解高风险(技术、需求、目标、可用性等); 早期可见的进展; 早期反馈、用户参与和调整,会产生更接近真实需求的精化系统; 可控复杂性;团队不会被“分析瘫痪”; 一次迭代中的经验可以被系统地用于改进开发过程本身,并如此反复进行下去。 * 模型 模型是对某个实体或事物的抽象和简化,是现实世界中某些重要方面的表示。模型从现实世界中抽象出对我们特别重要的某些方面。 模型在外形上类似于真实产品;重要细节的绘图表示;抽象的数学符号。 每一种模型强调一种不同类

文档评论(0)

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

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

1亿VIP精品文档

相关文档