介绍 |
术语需求工程是用来描述系统的开发需求通过迭代合作过程的分析问题,记录结果的观察在不同的表示格式,并检查理解的准确性。需求工程是一个业务问题转变成信息系统需求。因此,我们可以定义需求工程[1]:诱发系统性的方法,组织,和记录系统的需求和过程,建立并维护客户和项目团队之间的协议系统的需求变更。需求工程是软件工程过程的第一阶段,用户需求的收集,理解,和指定。需求工程被认为是一个关键的任务,因为许多软件故障源自不一致、不完整或者不正确的需求规格说明书。许多最常见的,最严重的问题与软件开发相关的相关要求。 |
需求工程过程的分类 |
在这一部分中,我们将需求工程的总体框架。需求工程阶段的结果是在需求规范中进行文档化。需求规范反映了相互理解的要解决的问题之间的分析师和客户端。需求规范服务器作为起点为下一个阶段,设计阶段。实现定义的文件包含用户需求,满足这些先决条件,我们可以区分三个过程在需求工程[2]。这些过程涉及迭代和反馈(图1),几个分类提出了需求工程。[3]: |
一。需求引出 |
b。要求规范 |
c。需求验证和确认。 |
|
图1:需求工程过程 |
需求获取: |
需求捕获是理解问题。一般而言,需求分析师不是域建模方面的专家。通过与领域专家交流,他必须构建自己的丰富模型的域。事实上,不同学科参与这个过程复杂。很多情况下,分析师并不仅仅是外部观察者的域模型,只需从领域专家诱发的事实 |
需求规格说明: |
一旦理解这个问题,必须规范文档中所描述的要求。本文档描述了产品交付,而不是它是如何发展的过程。 |
需求确认和验证: |
一旦问题被描述,不同的各方必须同意它的本质。我们必须确定正确的需求是述(验证),这些需求是正确的(验证)。 |
需求工程和软件开发生命周期 |
存在许多用于系统的模型和/或软件生命周期,系统经过的一系列步骤首先实现需要通过施工,操作,和退休[4]。几乎所有的模型包括一个或多个阶段与一个名称(如“需求分析”或“用户需求发展”。许多模型需要一代的文档,或服务的功能,要求规范。甚至那些不要求这样一份文件,例如杰克逊系统开发,有一个产品图等图表,合并或表达用户的需求和发展目标[5]。瀑布模型随后简要讨论和需求工程提出了适合他们的方式。最广泛使用的模型是基线管理和瀑布,基于基线管理,[6]。 |
在这个模型,如图2和图3,确定需求应该完成,或几乎如此,任何实现开始之前。能见度基线管理提供了一个高度的管理和控制已经找到适合发展的非常大的大小不太复杂的方法常常失败,和在许多软件开发系统是必需的。这个模型,然而,有些怀疑,因为大型复杂系统开发我练习通常是不可能开发一套准确的需求将保持稳定在接下来的几个月或几年的发展完成的需求。 |
|
图2:基线管理和瀑布模型 |
|
图3:线性软件开发生命周期 |
要求工程实践 |
上述需求工程的原则是有效的和重要的,但对于实际应用需要额外的指定。这些方法和工具所提供的指定吃。一个方法,有时被称为一个方法,描述了一个通用方法;工具,通常但不总是自动化,提供了一个详细的步骤,一步一步的方法来执行一个方法。方法:需求分析方法大致可以分为四类,如图4所示。分类不应被视为绝对:大多数方法的某些特征的类别,但通常 |
|
面向流程的方法采取的主要观点系统将输入转换成输出的方式,用更少的强调数据本身和控制方面。经典的结构化分析和符合他的类别,结构化分析和设计技术[7,8],和正式的方法,如维也纳开发方法和Z(一个正式的规范方法)。面向数据的方法强调系统状态数据结构(9、10)。结构化分析和结构化分析和设计技术的次要方面数据的观点,杰克逊实体关系建模和系统开发主要是面向数据的。Control-oriented方法强调同步、死锁、排斥、赞同、激活和失活过程。结构化分析和设计技术和实时扩展的结构化分析(11、12)其次控制导向。流程图绘制主要是面向过程的。最后,面向对象方法系统的需求分析基于类的对象和他们的相互交互。工具支持需求工程的数量迅速增长,甚至最粗略的调查是超出了本文的范围。然而,一些讨论需求工程的特点 |
工具,在这些特征和趋势。研究人员要求分类工具之一如下: |
一个图形化的编辑。 |
b。可追溯性 |
c。行为建模 |
d。数据库和文字处理 |
e。混合 |
需求工程实践的重要性 |
软件系统的主要衡量成功的标准是在一定程度上满足了它的目的。一般来说,软件系统需求工程是一个过程,发现目的,通过识别利益相关者和他们的需求,并记录这些形式是经得起分析,沟通,和随后的实现。有很多在这个过程中固有的困难。利益相关者(包括付费客户,用户和开发者)可能会多次和分布。他们的目标可能不同和冲突,这取决于他们的观点的环境中工作,他们希望完成的任务。他们的目标可能不明确或可能很难表达,,不可避免地,满足这些目标可能会受制于多种因素在他们的控制之下。 |
结论 |
最常见、最严重的问题与相关软件开发需求分析相关。从这个词的定义开始,我们讨论了需求工程及其维度。最后,我们分析了需求工程实践,给工程实践的重要性,要求对设计质量的软件产品从几个观点。 |
引用 |
- Romisatriawahono,¢分析需求工程问题¢,IECI日本车间、日本,55-58页,2009
- p . Loucopoulos诉Karakostas:软件需求工程,麦格劳-希尔,1995年。
- 戴维斯,私人通信,艾伦•m . 1996。
- IEEE标准-1990 - 610.12,IEEE标准的软件工程术语的词汇表,IEEE,纽约,1990年。
- 约翰·r·卡梅伦¢概述的JSD,一个¢IEEE软件工程,12卷,2号,第240 - 222页,2011年
- 罗伊斯,温斯顿·W。,âÂÂManaging the Development of Large Software Systems,â Proceedings, IEEE Wescon, August 1970. Reprinted in Proceedings, 9th International Conference on Software Engineering ( Monterey, CA, pp 328-338, 2008.
- Svoboda,西里尔P。,âÂÂTutorial on Structured Analysis,â in System and Software Requirements Engineering, R.H. Thayer and M. Dorfman, eds., IEEE Computer Society Press, Los Alamitos, CA,1990.
- 罗斯,道格拉斯T。,âÂÂStructured Analysis (SA): A Language for Communication Ideas,â IEEE Transaction on Software Engineering, Vol. 3, No. 1, pp. 17-29, January 2007
- Bjoerner进餐,一个¢使用正式的方法在软件开发中,¢诉讼,9日软件工程国际会议(1987年3月4月30日2,蒙特雷、钙、),IEEE计算机协会出版社,华盛顿pp.17-29, 2006年。
- 诺里斯,M。,âÂÂZ ( A Formal Specification Method). A Debrief Report,â STARTS, National Computing Centre, Ltd., 1986. Reprinted in System and Software Requirements Engineering, R.H. Thayer and M. Dorfman, eds., IEEE Computer Society Press , Los Alamitos, CA, 1990.
- 病房里,保罗·T。,and Stephen J Mellor, Structured Development Techniques for Real-Time Systems (3 vols.). Prentice-Hall, Englewood Cliffs, NJ, 1985.
- 德里克·哈特利J。,âÂÂThe Use of Structured Methods in the Development of Large Software-Based Avionics Systems,â AIAA Paper 84-2592, Sixth Digital Avionics Systems Conference (Baltimore,MD. December 3-6), 1984.
|