SE2011_UNIT3 需求工程.pptVIP

  1. 1、本文档共118页,可阅读全部内容。
  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文档。上传文档
查看更多
SE2011_UNIT3 需求工程

Unit 3 需求工程 主题  ?需求工程概述  ?需求获取  ?用户需求分析  ?系统需求分析  ?需求验证  ?需求管理 §1 需求工程概述 ◆什么是需求 ◆什么是需求工程 ◆需求工程的重要性及困难    名人名言        开发软件系统最困难的环节就是准确说明开发什么,最困难的概念性工作就是编写出详细的软件需求。        构建一个软件系统最困难的工作是确定构建什么。其他任何工作都不会像这部分工作那样,在出错之后会如此严重地影响随后实现的系统,并且在以后修复竟会如此的困难。              Frederick Brooks    在传统软件工程的软件生命周期中,涉及软件需求的阶段称作需求分析,是生命周期中的一个早期阶段。随着软件系统的复杂度越来越高、规模越来越大,需求的分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。根据美国权威机构Standish Group对23000个软件项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约26%的项目获得成功。而在这些高达74%的不成功项目中,有约60%的失败是源于需求问题。也就是说,有近45%的软件项目最终因为需求的问题而最终导致失败。     实践表明,单纯的需求分析已经不能很好地解决软件工程中的“需求”问题,需求活动已不再仅限于软件开发的最初阶段,而是贯穿于软件的整个生命周期。为此,有人提出了需求工程(Requirement Engineering,RE)的概念,自20世纪90年代以来,需求工程成为研究的热点之一。从1993年起每两年举办一次需求工程国际研讨会(ISRE),自1994年起每两年举办一次需求工程国际会议(ICRE),一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展,逐渐形成了软件工程的一个子领域。 1.1 什么是需求    需求工程涉及的需求分三个层次:      业务需求--用户需求--系统需求    业务需求( business requirement):是需求层次中的底层,是目标软件系统基于的业务规则和业务逻辑,描述了用户利用目标软件系统需要完成的任务。    用户需求(user requirement):由业务需求所决定,描述了用户(广义)对目标软件的愿景(期望值)。即用户需求表述了用户希望目标软件做什么。    系统需求(System requirement):也称软件需求,是目标软件系统需要达到的功能和性能目标。即系统需求表述了目标软件系统应该做什么。 【观点】用户就是上帝吗?    用户需求,依据的是“用户是上帝!”的传统观念。然而,现代的项目管理理论已突破了这种传统观念,用户至上已不再是唯一的选择。事实上,一个项目成功的标志并不完全取决于必须满足用户的需求,有时发起人或业主的需求才是最重要的,是必须满足的。例如,Apple的乔布斯说,他开发iPhone从没有考虑过用户的需求,他不会让iPhone去适应用户的需求,而是引导用户来适应iPhone。(大意)(举例影视项目)     因此严格来说,用户需求更应该是干系人(项目的利益相关者)需求,需求分析人员必须分析各种干系人的需求,而不仅仅只是分析用户的需求。 1.2 什么是需求工程    需求工程大致可以分为需求开发和需求管理两个部分,如下图所示。    需求开发包含了需求工程中技术层面的活动,主要分为:需求获取、需求分析、编写需求规约和需求验证四项活动或说四个阶段。它们在逻辑上存在先后顺序关系,而在实际工作中通常是迭代进行的。其目的是通过对业务需求和用户需求的获取和分析,定义出详细的系统需求,即需求开发要解决的是目标软件系统“需要做什么”的问题。    需求管理包含了需求工程中管理层面的活动,它贯穿需求工程的全过程,其目的是为了应对需求的变更,因为软件工程有一个定律:需求是一定会变的。需求管理一般可分为需求变更管理、基线管理和需求跟踪三项活动。    需求工程?    需求工程就是涉及需求的所有相关活动的总称。    需要明确的是需求工程应该是一个迭代的过程。由于市场环境的易变性以及用户对于需求描述的模糊性,需求往往很难做到一步到位。需求工程不仅仅是属于软件生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。    需求工程一般由项目经理和资深的系统分析员领衔。 1.3 需求工程的重要性与困难    需求工程贯穿于软件的整个生命周期。在软件项目还未正式立项前,事实上就开始了需求工程——可行性研究,可行性研究报告可以说就是需求工程产生

文档评论(0)

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

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

1亿VIP精品文档

相关文档