需求工程中需求获取方法的综述.docx_第1页
需求工程中需求获取方法的综述.docx_第2页
需求工程中需求获取方法的综述.docx_第3页
需求工程中需求获取方法的综述.docx_第4页
需求工程中需求获取方法的综述.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级软件工程题目: 需求工程中需求获取方法综述专业: 计算机应用技术年级: 2014级学号: 2014303100姓名: 静水流云上海大学信息工程学院2014 年 12 月25 需求工程中需求获取方法综述摘要:在软件工程研究领域,软件需求逐步成为贯穿于整个软件开发过程的核心因素,需求获取也成为需求工程领域的新热点。需求获取是软件生命周期的初始阶段,也是决定软件成败的关键因素之一。本文概括了几种通过需求建模来获取需求的常用方法:基于用例驱动的交互式需求获取、基于UML的需求获取、基于领域本体的需求获取方法、基于RGPS的网络式软件需求方法。关键字:需求工程 ;需求获取方法;用例驱动;UML;领域本体;RGPSMethod of Obtaining Demands In Requirements Engineering Abstract: In the field of software engineering, software requirements become progressively throughout the entire software development process of the core elements, requirements capture has become a new hot spot in the field of requirements engineering. Requirement to obtain an initial stage of the software life cycle, but also one of the key factors that determine the success or failure of software. This paper outlines several methods used to obtain the demand through demand modeling: Get-based use case-driven interactive needs, access requirements based on UML, acquisition method based on the needs of domain ontology, based on the needs of network-based software RGPS.Key words: Requirements Engineering; Acquisition demand; Use Case Driven; UML; Domain Ontology; RGPS1引言需求工程是随着软件工程的发展而产生的。在软件开发的初级时期,软件规模不大,软件开发所关注的是代码编写,软件需求很少受到重视。在引入软件生命周期的概念后,需求工程成了软件生命周期的第一阶段。随着软件系统规模的扩大,以及为了解决“软件危机”而引起的软件工程技术与方法的发展,需求工程在整个软件开发与维护过程中就显得越来越重要了2。随着软件工程的研究和应用的逐渐深入,人们同时认识到软件需求不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。需求工程中如何快速获取和准确地理解、表达用户需求,即需求获取,是长期困扰软件开发者的难题。一方面,软件开发者由于不了解应用领域,只能被动地等待领域用户提供信息,他们常常抱怨用户需求不全,经常变化,使他们无所适从;他们还难免对用户的描述产生错误的理解,因而得出不适当的需求模型,导致软件开发半途而废。另一方面,领域用户通常不知道如何按软件开发的要求去描述他们的需求,而且,他们一开始常常对自己的需求仅有一个模糊的认识,如果没有任何提示和引导,就不可能立刻给出正确而完整的需求描述。因此,及时、准确地获取用户需求,是决定软件项目能否取得成功的关键步骤之一。2需求获取及需求建模需求获取就是通过不断交流沟通使软件开发者和领域用户对目标系统形成共识。通过需求建模可以来获取项目需求,明确需求细节。目前需求建模方法针对软件范型不同主要分为结构化需求建模和面向对象需求建模,涉及功能需求分析和非功能需求分析。通过对各种需求工程方法的研究,目前影响力较大的需求建模方法,分别是面向目标的需求建模方法,基于领域本体的需求建模方法以及面向特征的需求建模方法。2.1面向目标的建模方法面向目标的建模方法侧重于对早期需求进行分析和建模,试图帮助开发者理解领域中不同角色的动机和期望,可对功能和非功能需求目标识别分析。面向目标的建模方法,在需求阶段的主要任务是要确定软件系统需求相关者想要实现的各项目标,建立实现这些目标所需要的服务和约束条件的规格说明,并将需求按职责分配给相应的主体来完成。该方法将“目标”看作软件需求的源头和依据,以目标为需求获取的基本线索,诱导需求提供者按目标的分解、精华和抽象关系,逐步构建系统目标。面向目标方法的主要特点是目标树为需求活动提供了一种表示结构和自顶向下的需求分析方法,有助于将零碎分散的需求信息组织成易于理解的层次结构,多种目标分解方式使得不同的设计方案得以兼顾和考虑。更为重要的是,将目标与形式化方法结合,能够为需求工程以及软件产品的正确性和完整性提供可靠的保证。2.2基于领域本体的建模方法本体论是一个哲学概念,用于描述事物的本质.知识工程学者借用这个概念,是为了解决知识共享中的问题。人们发现,知识难以共享常常是因为大家对同一件事用了不同的术语来表达。于是人们提出,如果能找出事物的本质,并以此统一知识的组织和知识的表达,使之成为大家普遍接受的规范,就有可能解决知识共享中的问题。简而言之,本体是对于知识的描述。就需求工程而言,本体的作用体现于:本体作为需求规格说明,即建立特定领域的本体,利用这个本体为建立多个目标应用系统的需求提供知识库。此时,本体可以看作一个公共的领域模型,作为建立领域内应用系统需求规范和系统开发的基础,能够进行知识重用。ODE方法是一种比较典型的基于本体领域分析方法,包含三个部分:领域分析、领域模型到对象模型的映射和Java构建开发 4 。ODE方法的基本步骤包括:建立目标和需求规范;基于本体捕获领域概念,标识和组织相关领域实体,利用图形化描述的模型来促进领域专家的交流;用一种形式化的语言清晰地描述本体模型;评估本体以检查它们是否满足需求规范;最后对所有本体加以文档化。从领域本体模式中导出面向对象的模型时,ODE中提供了一个包括指示、设计模式和转换规则的系统化方法,指示可以指导从本体结构到面向对象相应部分的映射,设计模式和转换规则可以用来映射本体中的公理到面向对象的相应部分。2.3面向特征的建模方法面向特征的领域分析(Feature Oriented Domain Analysis, FODA)是由KKang等人在20世纪90年代提出的一种全面的领域分析过程描述,用于识别特定领域中一系列应用系统的显著特征,针对领域进行共性和个性的研究,抽取领域模型,从而建立可复用的软件体系结构。其基本思想在于,从领域的具体应用系统中,抽象出具有代表性的功能,组成领域模型,从而为以后的应用系统开发奠定基础7。后来,Cleland-Huang等人对FODA方法进行了扩展使之应用于软件复用领域,提出了面向特征的软件复用方法(Feature Oriented Reuse Method, FORM),并且在基于构件的开发中用FORM辅助开发软件体系结构和可重用构件,确定了在软件开发中面向特征方法的作用和意义1。面向特征的领域分析以“特征”作为组织需求的基本单元,通过分析领域具有的可复用特征和特征之间的依赖关系,建立领域的特征模型。领域设计则以特征模型为输入进行领域软件体系结构的构造。同时,通过定制对特征模型的复用也是形成单个软件产品需求模型的有效手段。3几种需求获取方法的概述3.1用例驱动的交互式需求获取用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。用例中的关系有扩展(Extend)、包含(Include)和泛化(Generalization).用例驱动的交互式需求获取方法:(1)功能性需求的获取:获取用户需求,定义问题范围,收集用户需求,确定参与者和用例。参与者是指所有存在与系统外部并与系统进行交互的人或其他系统,从需求获取信息获取参与者。首先要确定系统范围(System Scope)和系统边界(System Border), 系统的范围与边界取决于开发的目标、任务和规模;确定参与者的种类,参与者有三大类也就是三种角色:用户、其他系统和时间。(2)用户需求用例的获取:获取用例的最好办法是考虑每个参与者需要系统为他做些什么,即参与者的目标。最后进行用例求精(Use Case Refinement)。用户需求决定了系统的功能需求,为了获取这些功能需求,必须要对用户需求阶段获取的大粒度的抽象用例进行求精,通过细化用例的事件流,得到用例的所有场景的集合,而这些场景中各个步骤就是功能需求的来源。用例驱动的关键在于提供准确的Actor以及相关的用例信息。因而我们设计出相应的用户填写的内容,让用户填写它所关心的功能需求的描述,基本以获取用例驱动相关信息为主。填写完所需内容我们可以往需求获取表格中添加,当然,由于是交互的过程,我们需要对需求进行反复的修改,因而我们允许进行修改、删除等操作。用户需求描述信息的格式以及要素有:功能需求描述、用户名、用例描述、主要Actor、前置条件、成功后置条件、失败后置条件、关联用例。3.2基于UML的需求获取面向对象的建模是一种新的设计思想,一种关于计算和信息结构化的新思维。面向对象的建模,把系统看作是相互协作的对象,这些对象是结构和行为的封装,都属于某个类,那些类具有某种层次化的结构。系统的所有功能通过对象之间相互发送消息来获得。面向对象的建模可以视为是一个包含以下元素的概念框架:抽象、封装、模块化、层次、分类、并行、稳定、可重用和可扩展。UML适用于以面向对象的技术来描述任何类型的系统。而且适用于系统开发的不同阶段。可以应用于任何领域,其实现机制又极人地缩短了与用户的距离,易于被用户掌握和接受。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。3.3基于领域本体的需求获取方法所谓领域本体(Domain Ontology),是指用于描述指定领域知识的一种专门本体,它给出了领域实体概念及相互关系、领域活动以及该领域所具有的特性和规律的一种形式化描述。领域本体由对象、对象的属性、对象之间的关系以及子领域本体构成。领域本体的构建方法有多种,如:TOVE法、METHONOTOLOGY法、KACTUS法等5。由H.Kaiya及M.Saeki提出的基于本体的需求获取方法中,领域本体用来表达领域知识,其中包括了领域内所有的概念和关联,就如同领域术语词典,记录了领域内的所有信息,用户提出的需求都可以用这些概念通过语义函数来表达,通过用户需求设计的概念与本体中概念的对应程度来判断需求的正确性、完整性、一致性和无二义性3。基于本体的领域需求分析方法,以领域本体为线索,统一领域知识的组织和表达,帮助和引导用户描述系统的需求,规范需求获取的过程,对领域需求分析和领域工程的实施具有重要的指导意义。领域本体构建步骤:1.本体的需求分析:明确创建本体的目的和本体能够解决的问题。2.本体的获取:确定本体的概念和术语,将领域分为各个场景,在场景中进行词汇搜索,找出该领域中的概念;确定类及类的体系,定义本体中的类,并将定义好的类及子类按分类法定义在不同的层次上。3.本体的形式化表示,解决本体的表示和推理问题。首先确定槽、槽值、关系,代表了本体的属性及类的相关知识;确定本体公理,用公理描述类、子类、属性之间的关系,采用比自然语言更严格的格式和推理机制。基于本体的需求获取过程,如图1所示图1 基于本体的需求获取过程基于领域本体的需求获取:1.领域本体的需求分析。从场景中提取基于实例的概念、信息等。2.领域本体的需求获取。概念类及其层次结构,选择比较抽象的概念作为类,确定类、子类及类之间的层次结构;属性集,通过考察概念的含义和简单关系,选择相对具体的概念作为属性;关系集,考虑类与属性之间的关系;3.领域本体的形式化。框架结构,框架可以为实体、属性、关系和默认值等提供显式的表示,框架容易附加过程信息。领域需求模型如图2所示:图2 领域需求模型3.4基于RGPS的网络式软件需求方法网络式软件作为一种部署在网络环境中的复杂系统,同时亦是一种典型的面向服务软件,它为互联网上信息资源的服务封装、发布、注册、重用、聚合和集成等提供一套完整的解决方案。网络式软件可以为用户提供随需而变的在线服务。随需而变的在线服务要求网络式软件具备根据用户的需求变更以及网络资源的动态变化进行快速的适应性演化和调整的能力。由于分布在网络中用户的不确定性、需求的持续生长和用户的个性化偏好,在强调“以用户为中心”的网络式软件中,需要随时根据用户需求变更对软件进行适应性调整以最大程度的满足它们。利用角色、目标、过程和服务这四个基本要素来对基于Web服务组合系统开发中用户的真实意图进行建模是可行的。在此基础上,提出了一个包含这四个基本要素的需求元建模框架RGPS(Role-Goal-Process-Service,角色-目标-过程-服务),用来指导将无序的需求信息整理成协同有序的结构化的需求模型。其中,Role层描述需求中涉及的共性用户抽象。Goal层捕获需求的业务目标。Process层是完成上述业务目标的具体过程,包括原子过程和组合过程。Service层是每个原子过程对应的服务描述,也是将来需求模型与服务匹配从而最终生成网络式软件的契约所在。在本体元建模方法的指导之下,在RGPS需求建模框架的基础上,面向特定领域提出一种O-RGPS领域建模方法。在O-RGPS领域建模方法中,进行领域建模的基本输出结果是领域知识库,包括领域本体(O)和领域模型(RGPS)两类领域核心资产6。其中,O代表领域本体,包括领域实体本体、领域操作本体和领域情境本体,这三类本体及其相互间的语义关联保证了领域模型之间的语义协同。RGPS需求获取与分析框架,如图3所示图3 RGPS需求获取与分析框架基于RGPS需求建模框架,用户需求能够从不同的角度、在不同的层次、以不同的粒度进行描述。同时,RGPS需求建模框架也可以指导如何更好的利用网络服务资源之间的交互与协同来满足用户的个性化需求,促进人网协同,实现以用户为中心的需求驱动的开发6。4结束语需求工程出现于上个世纪80年代中期,目前已发展成为软件工程的一个独立研究分支。需求获取技术是需求工程中一个非常重要的研究内容。如何用适当的方法把软件需求详细精确地描述出来,这不仅影响着开发人员之间对软件系统的理解和的交流,更影响到最终软件产品的成败。需求的获取与表示,即用什么方法获取需求、用什么方法形式化需求已成为需求工程研究领域的两个重要问题。应用需求获取的方法能够提高需求获取、描述和分析的准确性。针对于特定的不同的项目系统采用不同的需求获取方法,可以有效保证项目的顺利实施和完成。参考文献:1 Enhancing Stakeholder Profiles to Improve Recommendations in Online Requirements Elicitation. Carlos Castro-Herrera,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论