需求工程概述

原创 2002年03月21日 10:19:00

需求工程概述

张友生
(本文转载自软件工程专家网www.21cmm.com

  软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。

  需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。

  需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。后来软件开发引入了生命周期的概念,需求分析成为其第一阶段。随着软件系统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。80年代中期,形成了软件工程的子领域——需求工程(requirementengineering,RE)。进入90年代以来,需求工程成为研究的热点之一。从1993年起每两年举办一次需求工程国际研讨会(ISRE),自1994年起每两年举办一次需求工程国际会议(ICRE),在1996年Springer-Verlag发行了一新的刊物——《RequirementsEngineering》。一些关于需求工程的工作小组也相继成立,如欧洲的RENOIR(RequirementsEngineeringNetworkofInternationalCooperatingResearchGroups),并开始开展工作。

  需求工程基本内容需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。RE可分为系统需求工程(如果是针对由软硬件共同组成的整个系统)和软件需求工程(如果仅是专门针对纯软件部分)。软件需求工程是一门分析并记录软件需求的学科,它把系统需求分解成一些主要的子系统和任务,把这些子系统或任务分配给软件,并通过一系列重复的分析、设计、比较研究、原型开发过程把这些系统需求转换成软件的需求描述和一些性能参数。

  需求工程是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。80年代,HerbKrasner定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进管理。近来,MatthiasJarke和KlausPohl提出了三阶段周期的说法:获取、表示和验证。

  综合了几种观点,可以把需求工程的活动划分为以下5个独立的阶段:

  (1)需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求;

  (2)需求建模:为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义;

  (3)形成需求规格:生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约;

  (4)需求验证:以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性;

  (5)需求管理:支持系统的需求演进,如需求变化和可跟踪性问题。

软件需求和需求工程

一、软件需求的定义      在IEEE软件工程标准词汇表(1997年)中定义软件需求为:  (1)用户解决问题或达到目标所需的条件或能力。  (2)系统或系统部件要满足合同、标准、规范或其它正式规定...
  • kaffeel
  • kaffeel
  • 2010年04月04日 18:56
  • 2165

软件需求工程(摘抄)

1、需求获取 可以通过用户访谈,问卷调查,采样,清洁串联板,联合需求计划,需求记录技术 2、需求分析 2-1、结构化分析方法 通过数据流图,状态转换图,数据字典 2-...
  • define_us
  • define_us
  • 2016年04月26日 21:49
  • 239

软件需求工程课程总结

软件需求工程课程的小结: Topic 1:Systematic Literature Review Topic 2:Game about Potential Threat Topic 3:Goal-o...
  • u011441843
  • u011441843
  • 2017年01月06日 21:11
  • 140

软件需求工程--KAOS建模

1.(10%)说明你目前研究的系统的问题描述(参考附件第11页) 研究的系统是教学楼中放置的自动咖啡贩卖机系统。该系统的工作流程是,首先用户通过点击贩卖机上的触摸屏选择购买的咖啡种类,然后根据提示完成...
  • u011281853
  • u011281853
  • 2017年01月05日 20:25
  • 643

第1章 需求工程概述

第1章 需求工程概述标签: 软件需求工程 《软件需求工程》 毋国庆 第二版 个人笔记 第1章 需求工程概述 需求工程的重要性 什么是软件需求 软件需求的分类 需求规格说明书 需求工程的定义 其他...
  • wwwdc1012
  • wwwdc1012
  • 2017年04月23日 21:20
  • 321

【复习】软件需求工程

【复习】软件需求工程
  • xc1158840657
  • xc1158840657
  • 2017年09月09日 10:27
  • 137

面向目标的需求工程方法

KAOS是一种面向目标的需求工程方法,可以对系统进行需求建模和分析。本文将描述使用KAOS对网上预约挂号系统进行目标建模的过程和结果。...
  • EdithXing
  • EdithXing
  • 2017年01月05日 22:36
  • 1907

bingo培训——需求工程

人人都是产品经理一、需求工程是什么?(理论)需求工程=需求开发+需求管理。1、需求开发需求开发指的是从0到1,从无到有开拓需求的这么一个过程,需求开发工作是使整个工程能定义一个基准需求。需求开发又包括...
  • hayre
  • hayre
  • 2017年07月20日 00:05
  • 136

需求工程???

需求工程???邓 辉软件是一种商品,既然是一种商品,就必然要满足购买者的需要。是的,人们是不会为那些不能满足自己需要的东西付钱的。另外,开发软件是需要成本的。只有那些成本低,并且能满足客户需要的软件产...
  • hoping
  • hoping
  • 2005年04月08日 09:42
  • 2392

几本关于需求工程的书

几本关于需求工程的书:敏捷软件需求:团队、项目群与企业级的精益需求实践敏捷可执行需求说明:Scrum提炼及实现技术软件需求管理:统一方法软件需求开发最佳实践——基于模型驱动的需求开发过程软件需求最佳实...
  • Testing_is_believing
  • Testing_is_believing
  • 2015年04月15日 09:41
  • 3303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:需求工程概述
举报原因:
原因补充:

(最多只允许输入30个字)