需求工程的三个维度

Download Report

Transcript 需求工程的三个维度

L/O/G/O
The Three Dimensions of Requirements Engineering
Klaus Pohl
Liweiheng
2012.5.4
目录
•
•
•
•
•
•
•
文章核心
作者简介
选题原因
《需求工程》文献阅读列表
论文框架
论文正文
近期的测试案例
www.themegallery.com
Abstract
Requirements engineering (RE) is perceived as an area of growing
importance. Due to the increasing effort spent for research in this
area many contributions to solve different problems within RE exist.
The purpose of this paper is to identify the main goals to be
reached during the requirements engineering process in order to
develop a framework for RE. This framework consists of the three
dimensions:
- the specification dimension(需求规格维度)
- the representation dimension(表示维度)
- the agreement dimension(协议维度)
Looking at the RE research using this framework, the different
approaches can be classified and therefore their interrelationships
become much clearer. Additionally the framework offers a first step
towards a common understanding of RE.
www.themegallery.com
www.themegallery.com
作者简介
•
Klaus Pohl教授是杜依斯堡一埃森大学的全职
教授,领导着一个软件系统工程研究团队。他从
德国亚琛工业大学获得博士学位。他参与了各种
各样的技术转让项目和一些关注软件产品线工程
各个方面的重要项目。他是90多部著作的作者或
联合作者。他担任过多个国际、国内会议的主席,
例如,IEEE国际需求工程大会(RE’02),第27
届国际软件工程大会(ICSE 2005),德国软件
工程大会(SE 2005),第9届国际软件产品线大
会(SPCL Europe 2005),第18届国际先进信
息系统工程大会(CAiSE 2006)。
www.themegallery.com
作者简介
www.themegallery.com
选题原因
• 《需求工程》课程作业的文献列表
• 教学材料中出现过论文提出的理论(引用343次)
• 文章格式工整,内容集中,论点清晰,清楚知道
读者的需求。
www.themegallery.com
需求工程
• 暂定已经上过的课:
1.
2.
3.
4.
5.
6.
7.
8.
2月24日:软件需求工程原理
3月16日:软件需求工程过程
3月23日:软件需求建模基础
3月30日:面向目标的方法
4月6日:面向主体和意图的方法
4月13日:基于情景的方法
4月20日:问题框架方法
4月27日:文档驱动的方法
www.themegallery.com
需求工程概述
代表性方法
《需求工程》文献列表
• Research Directions in Requirements
Engineering (263)
• Requirements Engineering: A Roadmap (1113)
• Revisiting the Core Ontology and Problem in
Requirements Engineering (58)
• The Three Dimensions of Requirements
Engineering (343)
• Requirement Engineering in the Year 00: A
Research Perspective (574)
www.themegallery.com
Roadmap
本文的标题翻译为“需求工程的路
标”,可以说是一篇导航性质的文
章。这是一篇关于软件系统需求工
程(RE)的概述的论文。它描述了
RE实践的主要方向和方法,并提出
一些未来的研究方向。
Requirements Engineering: A Roadmap
www.themegallery.com
Roadmap
• 此篇文章介绍了RE目前的一些研究和这个领域中的主要
活动。文章分章节介绍了有效的需求工程方法的基础(包
括认知心理学、人类学、社会学、语言学、认识论、现象
学、本体论等等),开始RE需要的背景和上下文(包括
对项目可能性和相关的风险的分析、对项目价值的评估、
进度安排、对技术可行性的详细说明、辨别合适的RE过
程、选择合适的RE活动等等),以及核心的RE活动:
• eliciting requirements,需求捕获
• modelling and analysing requirements,需求建模和分析
• communicating requirements, 需求交流
• agreeing requirements, 需求一致
• evolving requirements.需求变更
www.themegallery.com
RE未来的挑战
•
Development of new techniques for formally modelling andanalysing
properties of the environment, as opposed to the behaviour of the software.
• Bridging the gap between requirements elicitation approaches based on
contextual enquiry and more formal specification and analysis techniques.
• Richer models for capturing and analysing non-functional requirements
• Better understanding of the impact of software architectural choices on the
prioritisation and evolution of requirements
• Reuse of requirements models
• Multidisciplinary training for requirements practitioners.
1、正式建模和环境属性分析的新技术的发展。
2、消除基于情境调查的需求捕获途径、和更正式的规格说明与分析技术之间的
分歧。
3、更加丰富地获取和分析非功能性需求的模型。
4、更好地理解需求的优先次序和演化对软件架构的选择产生的影响。
5、需求模型的重用。
6、对需求从业者进行多学科的训练。
www.themegallery.com
Future of RE
 这篇文章中,作者回顾了现阶段需求工程的研究,
并根据新型的软件需求确定了未来的研究的方向。
软件系统的成功程度取决于它是否适应用户或环境
的需求,软件需求就是由这些组成,需求工程过程
就是由这些需求决定的。成功的需求工程需要理解
用户、消费者以及利益关系者的需求;理解需要开
发软件所处于的环境;要针对利益关系者建模、分
析、交涉以及建立文档;要确保文档需求与写上的
需求匹配;并且要管理好需求演变。
Research Directions in Requirements
Engineering
www.themegallery.com
为什么RE困难?
需求工程的难度在于几点:
• 首先,需求分析开始时的定义就会有缺陷或冲突;
• 其次,需求的问题域比软件的解决域的束缚要小;
• 再次,需求工程要考虑的方便要有很多,也很复
杂;
• 另外,在推理环境的过程中,不只要考虑到正常
的情况,还要考虑到非正常的情况;
• 最后,需求工程不仅要涉及到产品,还要涉及到
软件技术。
www.themegallery.com
目前的研究现状
• 需求工程目前的研究现状可以使用一个矩
阵来表示,研究空间可以大致由五种类型
组成:(诱导,建模,需求分析,验证以
及需求管理),解决方案可以分成三个种
类(符号、方法学以及技术方面)。这篇
文章使用这种形式例举出了目前大部分重
要的研究以及文献。
www.themegallery.com
未来的研究热点
• 未来的研究热点包括一下几点:设计系统
的规模方面、安全性方面、容错性方面、
系统兼容性方面、需求自管理方面、软件
全球化方面、处理方法与工具方面、需求
重利用方面以及需求工程技术有效性方面。
www.themegallery.com
A research Perspective
 这篇论文是一篇综述性文章,阐述了历
史上推动需求工程发展的主要的概念和技
术,着重分析了建模对于所有需求工程过
程的基础性指导。初步描述了一个复杂的
安全挑战系统用于列举一些目前需求工程
正在研究的特殊方向,例如目标方向的需
求描述、冲突管理、以及解决不规则的需
求行为。
Requirements Engineering in the Year 00: A
Research Perspective
www.themegallery.com
文章重点
•
作者用大量的篇幅介绍了在第一个25年中,需求工程领
域的几个里程碑式的研究。首先是需求建模方法,建模是
需求工程过程中的核心过程。在早期一些领域的研究人员
提出了一些新的观点,发表了一些很优厚意义的论文。之
后出现了代理人的概念;然后是基于目标的推理方法;除
了上述正常高质量的推理技术之外,关于冲突管理的其他
工作着重强调在目标阶段处理冲突的需要;之后又发展出
了基于方案的需求引导和确认,这个方法既有他的优点又
有其不足的地方;除了上面的工作之外,还有一些基础性
的工作研究;还有一些研究是针对于过程控制的系统反应
的特殊领域;最后介绍了需求的重用。
www.themegallery.com
Abstract
Requirements engineering (RE) is perceived as an area of growing
importance. Due to the increasing effort spent for research in this
area many contributions to solve different problems within RE exist.
The purpose of this paper is to identify the main goals to be
reached during the requirements engineering process in order to
develop a framework for RE. This framework consists of the three
dimensions:
- the specification dimension(需求规格维度)
- the representation dimension(表示维度)
- the agreement dimension(协议维度)
Looking at the RE research using this framework, the different
approaches can be classified and therefore their interrelationships
become much clearer. Additionally the framework offers a first step
towards a common understanding of RE.
www.themegallery.com
文章总览
• 第一章主要是介绍RE的基本概念,它是什么,有哪些方
法。(概述)
• 第二章则是从抽象层面来分析RE过程。关注与初始输入
和期望输出,并发现三个主要特征。
• 第三章的内容就是第二部分所发现的三个特征导致了这篇
论文最核心的部分——需求工程的三个维度。
• 第四章介绍这三个维度中的RE过程。因此RE过程所要达
到的目标和过程中出现的问题都可以被分类。
• 第五章讲述需求工程的计算机支持。
• 第六章对研究成果进行总结。
www.themegallery.com
1、introduction
• 在文章的第一章,作者强调了Detection of
requirements(需求检测),它包括需求的引出
和捕获,以及验证和确认。为了表示需求,研究
者提出了形式化规范语言(例如Z、VDM、
PAISLey)和知识表示语言(例如RML、ERAE、
TELOS)。这些语言都有自动推理的优点,但是
不能直接将它们应用到RE,它们必须从非形式化
的RE规格中产生或者与非形式化的RE规格结合。
• 疑问:如何映射到三个纬度上?
- the specification dimension(需求规格维度)
- the representation dimension(表示维度)
- the agreement dimension(协议维度)
www.themegallery.com
1、introduction
作者认为理解RE核心的第一步就是要区别
下面两类问题:
• original requirements engineering
problems
• problems caused by approaches which try
to solve the original problems(第四章)
www.themegallery.com
2、the RE Process
• 从抽象层次来看RE过程,它的核心本质是
实现输入到期望输出的转变。
-2.1 the Desired Output
-2.2 the initial input of the process
www.themegallery.com
2.1 output
• 需求工程最终是一个系统的规格说明书。这个规格说明作
为软件生命周期的下一阶段的基础。因此,RE过程的输
出的一个特点就是,系统的规格说明能够被识别。RE过
程的基本结果,就是一个预期的完整规格说明。
• 如果系统规格说明用自然语言描述,不同的人对同一个规
格说明会有不同的理解,这会导致我们所不希望的设计和
实现,为了避免对规格说明的不同解释,越来越多人建议
使用一个规范的语言来描述系统的规格说明。而形式化语
言能够实现推理。因此RE过程的结果应该使用形式化语
言来表示。
• RE过程最后需要在最终规格说明上意见统一,以避免过
多的错误修正的代价。
• 总之,RE过程的期望输出,就一份是所有涉及到的人员
都认可的,使用形式化语言描述的完整的系统规格说明。
www.themegallery.com
2.2 input
• 初始输入:
• 在RE过程最开始,有关系统的知识是粗糙的。一些特征
很明显,但是另外一些特征很模糊。由于参与到RE过程
的利益相关者角色多种,他们的技能和知识不同,因此他
们对系统各有自己的理解。最开始,有些人从自己角度用
自然语言来描述系统,有些人只是给出一些想法,有些人
只是使用自然语言做一些笔记,或者干脆只是画一些草图。
所以,在RE过程最开始,最主要采用的是非形式化的描
述。
• 总之,在RE过程最开始输入,是从不同视角对系统的非
形式化语言描述。
www.themegallery.com
3 the three Dimensions
从初始输入和期望输出,可以得到RE过程的三个主要目标:
• improving an opaque system comprehension into a
complete system specification; (specification)
• transforming informal knowledge into formal
representations; (representation)
• gaining a common agreement on the specification out of
the personal views;(agreement )
www.themegallery.com
www.themegallery.com
3.1 the specification Dimension
• First of all, a requirement specification is supposed to state what a
system should do and not how.
Additionally, the specification must be unambiguous, complete, verifiable, consistent,
modifiable, traceable and usable during operations and maintenance.
• Secondly a differentiation between two kinds of requirements can be
made: functional requirements and non-functional requirements
The functional requirements specify what the software must do.
non-functional requirements can be further divided into performance, design
constraints, external interface and quality attributes.
• Beside this classification of requirements a distinction between vital
requirements and desirable requirements should be made. Vital
requirements must be completely accomplished by the system,
whereas desirable requirements may be relaxed and need not be
met within the stated limits. (vital > desirable )
www.themegallery.com
3.1 the specification Dimension
• Summarizing the first main goal of RE, as identified by many
researchers, is to build a requirements specification, according to
the standard and/or guideline used.
• The degree of the specification (opaque to complete)is captured
by the specification dimension.
www.themegallery.com
3.2 the representation Dimension
• Summarizing, during the RE process different representation
languages are used. At the beginning of the process the knowledge
about the system is expressed using informal representations,
whereas at the end of RE the specification must also be formally
represented.
• The second main goal of the RE process is threefold.
• First, different representations must be offered.
• Second, the transformation between the representations (e.g.,
informal to semi-formal, informal to formal) must be supported.
• Third, the different representations must be kept consistent. (保持一
致)
www.themegallery.com
3.3 the agreement Dimension
• Summarizing, the agreement dimension is as important as the
representation and specification dimension. We have pointed out
that several specifications expressed in different representation
formats may exist at the same time.
• Further we showed, that the coexistence of different views has
positive effects on the RE process. Thus, allowing different views
and supporting the evolution form the personal views to a common
agreement on the final specification is the third main goal of RE.
www.themegallery.com
4 the RE process within 3D
The main goals of the RE process can be sketched as follow (cf.
section 3 for details) :
• develop a complete system specification out of a opaque system
understanding
• providing integrated representations and support the transformation
between them
• accomplish a common agreement on the final specification allowing
personal views.
www.themegallery.com
www.themegallery.com
4 the RE process within 3D
• So the trace of the RE process is an
arbitrary curve (任意的曲线) within the
cube spanned by the three dimensions
• The initial input is characterized as
opaque personal views of the system
represented using informal languages,
• whereas the desired output is
characterized as formally represented,
complete system specification on which
agreement was gained
www.themegallery.com
•内容维(代表需求工程
的进行程度)
需求工程的三维视图
–模糊的客观世界现象
–明确的需求规格说明
•表示维(代表需求的可维护、
可验证的程度)
完全
规格说明
一般
–非形式的:自然语言
内容维
–半形式的:图形语言(如:
UML,DFD,等)
–形式的:数学或逻辑语言(如:
Z,等)
模糊
的
程
度
表示
非形式
形式
表示维
个
一
致
非形式
点
观
人
公
观
的
点
www.themegallery.com
共
接受度维
•接受度维
–代表某个需求相关者的观点
–得到全部需求相关者的认可
模型的形式
• 自然语言形式
能
选
择
各
种
不
同
的
概
念
框
架
www.themegallery.com
– 绝对的表达能力和灵活性
– 非常难以捕获模型的语义
– 用于需求抽取,或为便于沟通进行模型的标记等方面比较好
• 半形式化表示(如:图,表,结构化英语等)
– 捕获结构和一定的语义
– 可以实施一定的推理,一致性检查,模拟,等等
• 比如:图、表、结构化英语、等等
• 形式化表示
– 非常精确的语义,外延推理成为可能
– 离开应用领域还有很长的距离
• 注意:需求形式化主要是为了认知的考虑,因此与计算机科学的形式化有
点不同
4 the RE process within 3D
•
•
•
•
•
•
影响RE过程的五个因素:
方法和方法论 (结构化分析 VS 面向对象)
工具
社会因素 (工作的环境)
认知技能 (用户和需求分析师)
经济限制
www.themegallery.com
4 the RE process within 3D
• 因此,在RE过程中,要区别是起初的问题
(Original RE problems),还是上面五个
因素导致的问题。上面五个因素导致的问
题可以用SA-图、ER-图或者数据字典来很
好的描述。Original RE problems指由那三
个维度导致的问题,例如需求捕获、需求
抽取、不同描述之间的转换、不同观点的
结合。
www.themegallery.com
5 Computer Support for RE
• For improving the result of the RE process
in one of the three RE dimensions
• for guiding the process of RE
为了支持整个RE过程,必须要开发一个合
适的过程模型来,来指导这三个维度中的RE
过程。
• for easing the influences on the process
www.themegallery.com
www.themegallery.com
6 总结
• 在本文中我们介绍了需求工程框架。首先,
我们专注于需求工程过程的本质。我们定义需求工程过程
的初始输入为使用非正式的语言表达不清晰的个人观
点。 ‘希望的输出“,勾勒出一个使用达成了一致的正式语
言表示的完整的系统规格说明书。基于这种特性确定了需
求工程的三个主要目标。
www.themegallery.com
6 总结
• 三个主要目标如下:
• 1、 gaining a complete system specification out of the
opaque views available at the beginning of the process,
according to the standard and/or guideline used.
• 2、 offering different representation formats, supporting
the transformation between the representation (e.g.,
informal to semi-formal, informal to formal) and keeping
the various representations consistent,
• 3、 allowing various views and supporting the evolution
form personal views to common agreement on the finial
specification
www.themegallery.com
总结
• Out of these, the three dimensions of RE were gained:
specification, representation and agreement dimension.
• Looking at RE using these three dimensions we
identified the main tasks and goals to be reached within
each dimension during the RE process. But RE is not
only driven by its goals, it is also influenced by the
environment. We identified five main factors influencing
requirements engineering: methods and methodologies,
tools, social aspects, cognitive skills and economical
constraints.
www.themegallery.com
总结
• Accordingly existing research and
computer support was briefly sketched by
distinguishing between computer support
for improving the specification in one of
the three RE dimension, for guiding the
process of RE and for easing the
influences on RE.
www.themegallery.com
6 总结
• this framework is used for classifying RE
problems and for making process
guidance possible. The framework itself
should be seen as a first attempt to
accomplish a common understanding of
RE within the community. It should serve
as a basis for discussing research topics
and identifying the main problems of RE.
www.themegallery.com
测试案例
• (1992年) Performing Rights Society
(演出权益协会)PROMS项目,花
费1100万英镑之后被放弃。其中糟
糕的需求工程是项目失败的一个主
要因素,包括未能以普通人能够理
解和检查的形式表达软件需求。
与客户沟
通的问题
• (1990年) Wessex Regional
Information Systems Plan(地区信息
系统), RISP项目,花费4300万英镑
后被放弃。其主要原因包括缺乏对
项目范围的清晰定义。
需求的边
界问题
www.themegallery.com
测试案例
• (1993年) London Stock Exchange
(伦敦股票交易) TAURUS项目,
花费7500万英镑后被取消。许多问
题源于未能协调不一致的需求。
不一致需
求的管理
问题
• (1992年) London Ambulance
Service Despatch System(伦敦救护
车服务派遣系统),在运行两天后
被关闭,源于对社会服务领域的需
求没有分析清楚。
需求不清
晰的问题
www.themegallery.com
测试案例
• Swanick Air Traffic Control(空
中交通控制),计划在1998年完
成,但2001年还未完成(额外开
支1.8亿英镑)。主要原因包括:
没有得到完整的需求规格说明就
开始系统实现的工作。
www.themegallery.com
需求没弄
清楚就匆
忙开始后
续工作
近期的测试案例
2008年6月30日,北京奥运门票系统在提交使用的当天即发生瘫痪;原因之一
是对系统用户数的预测不足
2012年春运!
www.themegallery.com
L/O/G/O
Thank You!