需求工程中需求获取方法的综述

上传人:平*** 文档编号:10781150 上传时间:2017-10-10 格式:DOCX 页数:7 大小:120.38KB
返回 下载 相关 举报
需求工程中需求获取方法的综述_第1页
第1页 / 共7页
需求工程中需求获取方法的综述_第2页
第2页 / 共7页
需求工程中需求获取方法的综述_第3页
第3页 / 共7页
需求工程中需求获取方法的综述_第4页
第4页 / 共7页
需求工程中需求获取方法的综述_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《需求工程中需求获取方法的综述》由会员分享,可在线阅读,更多相关《需求工程中需求获取方法的综述(7页珍藏版)》请在金锄头文库上搜索。

1、 高级软件工程题目: 需求工程中需求获取方法综述专业: 计算机应用技术年级: 2014 级学号: 2014303100姓名: 静水流云上海大学信息工程学院2014 年 12 月 25 需求工程中需求获取方法综述摘 要:在软件工程研究领域,软件需求逐步成为贯穿于整个软件开发过程的核心因素,需求获取也成为需求工程领域的新热点。需求获取是软件生命周期的初始阶段,也是决定软件成败的关键因素之一。本文概括了几种通过需求建模来获取需求的常用方法:基于用例驱动的交互式需求获取、基于 UML 的需求获取、基于领域本体的需求获取方法、基于 RGPS 的网络式软件需求方法。关键字:需求工程 ;需求获取方法;用例驱

2、动;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 re

3、quirements 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 n

4、eeds, 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 引言需求工程是随着软件工程的发展而产生的。在软件开发的初级时期,软件规模不大,软件开发所关注的是代码

5、编写,软件需求很少受到重视。在引入软件生命周期的概念后,需求工程成了软件生命周期的第一阶段。随着软件系统规模的扩大,以及为了解决“软件危机”而引起的软件工程技术与方法的发展,需求工程在整个软件开发与维护过程中就显得越来越重要了2。随着软件工程的研究和应用的逐渐深入,人们同时认识到软件需求不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。需求工程中如何快速获取和准确地理解、表达用户需求,即需求获取,是长期困扰软件开发者的难题。一方面,软件开发者由于不了解应用领域,只能被动地等待领域用户提供信息,他们常常抱怨用户需求不全,经常变化,使他们无所适从;他们还难免对用户的描述产生错误的理解,

6、因而得出不适当的需求模型,导致软件开发半途而废。另一方面,领域用户通常不知道如何按软件开发的要求去描述他们的需求,而且,他们一开始常常对自己的需求仅有一个模糊的认识,如果没有任何提示和引导,就不可能立刻给出正确而完整的需求描述。因此,及时、准确地获取用户需求,是决定软件项目能否取得成功的关键步骤之一。2 需求获取及需求建模需求获取就是通过不断交流沟通使软件开发者和领域用户对目标系统形成共识。通过需求建模可以来获取项目需求,明确需求细节。目前需求建模方法针对软件范型不同主要分为结构化需求建模和面向对象需求建模,涉及功能需求分析和非功能需求分析。通过对各种需求工程方法的研究,目前影响力较大的需求建

7、模方法,分别是面向目标的需求建模方法,基于领域本体的需求建模方法以及面向特征的需求建模方法。2.1 面向目标的建模方法面向目标的建模方法侧重于对早期需求进行分析和建模,试图帮助开发者理解领域中不同角色的动机和期望,可对功能和非功能需求目标识别分析。面向目标的建模方法,在需求阶段的主要任务是要确定软件系统需求相关者想要实现的各项目标,建立实现这些目标所需要的服务和约束条件的规格说明,并将需求按职责分配给相应的主体来完成。该方法将“目标”看作软件需求的源头和依据,以目标为需求获取的基本线索,诱导需求提供者按目标的分解、精华和抽象关系,逐步构建系统目标。面向目标方法的主要特点是目标树为需求活动提供了

8、一种表示结构和自顶向下的需求分析方法,有助于将零碎分散的需求信息组织成易于理解的层次结构,多种目标分解方式使得不同的设计方案得以兼顾和考虑。更为重要的是,将目标与形式化方法结合,能够为需求工程以及软件产品的正确性和完整性提供可靠的保证。2.2 基于领域本体的建模方法本体论是一个哲学概念,用于描述事物的本质.知识工程学者借用这个概念,是为了解决知识共享中的问题。人们发现,知识难以共享常常是因为大家对同一件事用了不同的术语来表达。于是人们提出,如果能找出事物的本质,并以此统一知识的组织和知识的表达,使之成为大家普遍接受的规范,就有可能解决知识共享中的问题。简而言之,本体是对于知识的描述。就需求工程

9、而言,本体的作用体现于:本体作为需求规格说明,即建立特定领域的本体,利用这个本体为建立多个目标应用系统的需求提供知识库。此时,本体可以看作一个公共的领域模型,作为建立领域内应用系统需求规范和系统开发的基础,能够进行知识重用。ODE 方法是一种比较典型的基于本体领域分析方法,包含三个部分:领域分析、领域模型到对象模型的映射和 Java 构建开发 4 。ODE 方法的基本步骤包括:建立目标和需求规范;基于本体捕获领域概念,标识和组织相关领域实体,利用图形化描述的模型来促进领域专家的交流;用一种形式化的语言清晰地描述本体模型;评估本体以检查它们是否满足需求规范;最后对所有本体加以文档化。从领域本体模

10、式中导出面向对象的模型时,ODE 中提供了一个包括指示、设计模式和转换规则的系统化方法,指示可以指导从本体结构到面向对象相应部分的映射,设计模式和转换规则可以用来映射本体中的公理到面向对象的相应部分。2.3 面向特征的建模方法面向特征的领域分析(Feature Oriented Domain Analysis, FODA)是由 KKang 等人在 20 世纪 90 年代提出的一种全面的领域分析过程描述,用于识别特定领域中一系列应用系统的显著特征,针对领域进行共性和个性的研究,抽取领域模型,从而建立可复用的软件体系结构。其基本思想在于,从领域的具体应用系统中,抽象出具有代表性的功能,组成领域模型

11、,从而为以后的应用系统开发奠定基础7。后来,Cleland-Huang 等人对 FODA 方法进行了扩展使之应用于软件复用领域,提出了面向特征的软件复用方法(Feature Oriented Reuse Method, FORM),并且在基于构件的开发中用 FORM 辅助开发软件体系结构和可重用构件,确定了在软件开发中面向特征方法的作用和意义1。面向特征的领域分析以“特征”作为组织需求的基本单元,通过分析领域具有的可复用特征和特征之间的依赖关系,建立领域的特征模型。领域设计则以特征模型为输入进行领域软件体系结构的构造。同时,通过定制对特征模型的复用也是形成单个软件产品需求模型的有效手段。3 几

12、种需求获取方法的概述3.1 用例驱动的交互式需求获取用例图是指由参与者(Actor) 、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。用例中的关系有扩展(Extend) 、包含(Include)和泛化(Generalization).用例驱动的交互式需求获取方法:(1)功能性需求的获取:获取用户需求,定义问题范围,收集用户需求,确定参与者和用例。参与者是指所有存在与系统外部并与系统进行交互的

13、人或其他系统,从需求获取信息获取参与者。首先要确定系统范围(System Scope)和系统边界(System Border), 系统的范围与边界取决于开发的目标、任务和规模;确定参与者的种类,参与者有三大类也就是三种角色:用户、其他系统和时间。(2)用户需求用例的获取:获取用例的最好办法是考虑每个参与者需要系统为他做些什么,即参与者的目标。最后进行用例求精(Use Case Refinement) 。用户需求决定了系统的功能需求,为了获取这些功能需求,必须要对用户需求阶段获取的大粒度的抽象用例进行求精,通过细化用例的事件流,得到用例的所有场景的集合,而这些场景中各个步骤就是功能需求的来源。用

14、例驱动的关键在于提供准确的 Actor 以及相关的用例信息。因而我们设计出相应的用户填写的内容,让用户填写它所关心的功能需求的描述,基本以获取用例驱动相关信息为主。填写完所需内容我们可以往需求获取表格中添加,当然,由于是交互的过程,我们需要对需求进行反复的修改,因而我们允许进行修改、删除等操作。用户需求描述信息的格式以及要素有:功能需求描述、用户名、用例描述、主要Actor、前置条件、成功后置条件、失败后置条件、关联用例。3.2 基于 UML 的需求获取面向对象的建模是一种新的设计思想,一种关于计算和信息结构化的新思维。面向对象的建模,把系统看作是相互协作的对象,这些对象是结构和行为的封装,都

15、属于某个类,那些类具有某种层次化的结构。系统的所有功能通过对象之间相互发送消息来获得。面向对象的建模可以视为是一个包含以下元素的概念框架:抽象、封装、模块化、层次、分类、并行、稳定、可重用和可扩展。UML 适用于以面向对象的技术来描述任何类型的系统。而且适用于系统开发的不同阶段。可以应用于任何领域,其实现机制又极人地缩短了与用户的距离,易于被用户掌握和接受。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML 类图来描述。为实现用例,

16、类之间需要协作,这可以用 UML 动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。3.3 基于领域本体的需求获取方法所谓领域本体(Domain Ontology) ,是指用于描述指定领域知识的一种专门本体,它给出了领域实体概念及相互关系、领域活动以及该领域所具有的特性和规律的一种形式化描述。领域本体由对象、对象的属性、对象之间的关系以及子领域本体构成。领域本体的构建方法有多种,如:TOVE 法、METHONOTOLOGY法、KACTUS 法等5。由 H.Kaiya 及 M.Saeki 提出的基于本体的需求获取方法中,领域本体用来表达领域知识,其中包括了领域内所有的概念和关联,就如同领域术语词典,记录了领域内的所有信息,用户提出的需求都可以用这些概念通过语义函数来表达,通过用户需求设计的概念与本体中概念的对应程度来判断需求的正确性、完整

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号