(软件需求工程1.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  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

软件需求工程 1需求问题 1.1软件开发的目标,简单而言,就是满足用户的需要 。 1.2项目失败与成功的原因 三种最经常使项目“遇到困难”的因素是:缺乏用户介入;不完整的需求和规格说明;不断改变的需求和规格说明;三种项目最主要的“成功因素”是:用户介入;高层管理的支持;需求陈述清晰。 1.3即2-8原则:80%的工程活动是由20%的需求消耗的,80%的软件成本是由20%的构件消耗的 1.5.需求定义:(1)IEEE软件工程标准词汇表定义需求为,用户解决问题或达到目标所需的条件或能力;系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力;一种反映上面(1)或(2)所描述的条件或能力的文档说明。(2)Merlin Dorfman 和 Richard H. Thayer 提出了一个包容且更为精练的定义:用户解决某一问题或达到某一目标所需的软件功能;系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。 2需求的层次 2.1软件需求的层次:业务需求、用户需求、功能需求和非功能需求。 2.3约束定义为:对系统的设计或开发系统过程的限制。它不影响系统的外部行为,但必须被遵守执行以符合技术上、商业上的要求。约束主要来自于几个方面:设计选择的约束、加在开发过程上的约束以及规章制度和标准。 2.4需求路线图:反应了从用户要求到软件需求的一般路径。即从问题领域(PD)到解决方案领域(SD)。具体的路径可以表述为,涉涉众需求,系统的特性,建立软件需求。 2.5涉众需求是新系统必须解决的业务或者运行问题的一个放映。这些信息将为开发团队提供更好地确定系统的定义和实现所需的全部信息。是整个需求的关键。不容易把握,原因是用户需求描述经常是模糊的。 2.6特征(feature)是系统为了完成涉众的一个或多个需要而提供的服务。 3软件需求与产品生命周期 3.1软件生命周期定义:在经历了需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,知道最后逐渐消亡,------称为软件生命周期 常见的几种生命周期模型:瀑布模型,快速应用开发模型(RAD),螺旋模型,RUP,迭代式模型。 3.2软件工程的线性顺序模型,有时也称传统生命周期,或者瀑布模型,瀑布模型提出了软件开发的系统化的、顺序的方法。瀑布模型包含系统工程和建模,软件需求分析,设计,代码生成,测试,维护。 3.3快速应用开发(RAD) 模型 :RAD是一个线性顺序的软件开发模型,强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过使用基于构件的建造方法获得了快速开发。RAD包含以下几个阶段:需求设计阶段,用户描述,构件阶段,结束。 3.4螺旋模型:Boehm 1988年提出的一种新的引导软件开发过程的框架。螺旋模型是遵从瀑布模型的,即需求,架构,设计,开发,测试的路线。螺旋模型最大的价值在于整个开发过程是迭代和风险驱动的。通过将瀑布模型的多个阶段转化到多个迭代过程中,以减少项目的风险。螺旋模型的每一次迭代都包含了以下六个步骤:决定目标、替代方案和约束;识别和解决项目的风险;评估和解决项目的风险;开发本次迭代的交付物及验证产品的正确性;计划下一次迭代;提交下一次迭代的步骤和方案。 3.5统一软件过程 (RUP):是一个面向对象且基于网络的程序开发方法论。为所有方面和层次的程序开发提供指导方针、模版以及事例支持。 RUP的二维开发模型:RUP的软件生命周期是个二维的软件开发模型。横轴是时间组织,包括:周期、阶段、迭代和里程碑纵轴是内容组织:包括活动、工件、工作者和工作流 RUP的核心概念 :角色:某个人或者一个小组的行为和职责;活动:有明确目的的独立工作单元;工件:活动生成的一段信息。 RUP中的各个阶段和里程碑:RUP在软件生存周期上分为四个阶段:初始阶段,里程碑:生命周期目标;细化阶段,里程碑:生命周期结构;构造阶段,里程碑:初始功能;交付阶段,里程碑:产品发布。 RUP的核心工作流:6个核心过程工作流:业务建模,需求,分析和设计,实现,测试,部署;3个支持工作流:配置和变更管理,项目管理,环境。 RUP的裁剪: RUP的迭代开发模式 :一次迭代:开发完成后测试,前期可能积累很多问题;多次迭代 :软件生存周期是迭代的连续,通过它,软件是增量的开发。一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分。 RUP的6大经验:迭代式开发,管理需求,基于组件的体系结构,可视化建模:UML语言,验证软件质量,控制软件变更 3.6迭代式模型:迭代包括产生产品发布的全部开发活动和要使用该发布必须的所有其他外围元素。开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档