(计算机应用技术专业论文)基于本体的需求管理原型系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于本体的需求管理原型系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于本体的需求管理原型系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于本体的需求管理原型系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于本体的需求管理原型系统的研究与实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机应用技术专业论文)基于本体的需求管理原型系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 本文在论述需求工程及需求管理的相关理论和技术方法的基础上,指出有效 的需求管理措施是软件项臼取得成功的关键。由于目前国内软件行业中,人们对 于需求管理的认识尚不够充分,在需求管理方面所采用的方法与措施仍然相对落 后,缺乏先进的管理理念与工具等原因,软件开发过程中常常会出现需求变更频 繁、管理混乱、需求信息得不到充分、合理、准确的运用等问题。这些问题将会 使软件项目在质量、进度、成本等方面失去控制,最终导致失败。针对这些问题, 本文作了详细的分析指出解决这些问遥的有效方法是提供一种需求信息的表示 手段,使得所获取的需求信息具有清晰性、一致性、完整性和可扩展性,并提供 有效的需求变更管理与控制机制,确保需求信息能够在软件项目中得到全面、准 确的体现,以达到保证软件项目质量的目的。 本体是一种概念化的说明,是对客观存在的概念及其关系的种描述。在需 求描述中引入本体的概念,可| 三 使需求信息更加清晰、完整、一致,便于实现领 域知识的撬范化、需求信息的共事与重用。为此,本文在对需求管理系统的研究 中引入本体的概念,并以软件项目管理系统的成本管理子系统为应用实例,探索 基于本体的需求管理系统的设计方法与实现途径。为了实现这个目的,本文首先 详细论述了本体的基础理论以及本体构建、形式化表示与存储等方面的相关技术 与方法,指出在需求获取与表示中 l 入本体宥助于人 f 准确地理解篙求,最大限 度地消除需求信息在语义、语法上的异构问题。同时,结台两个典型本体的构建t 着重论述了本体构建以及本体库建立的详细过程。 为了实现需求管理系统的需求变更、跟踪、查询与控制等功能,本文还对系 统构建中所涉及到的同近义词库、需求信息数据库、需求状态矩阵、本体验证与 查询机制、本体服务器等系统组成元素的结构与构造过程,作了较为详尽的论述。 作为一个应用实例,本文还对基于本体的需求管理原型系统的系统架构及相 关荧键技术,进行了分柝与设计,井依据设计方案给出了部分实现结果 实现结果表明,在需求管理系统中引入率体的概念,是一种实现有效需求管 理的可行方法。 关键词:本体;需求管理;需求变更:需求跟踪;本体查询 t h er e s e a r c ha n di m p l e m e n to n p r o t o t y p es y s t e mo fr e q u i r e m e n t m a n a g e m e n ts y s t e mb a s eo no n t o l o g y a b s t r a c t t h i st h e s i sb a s eo nt h ec o r r e s p o n d i n gt h e o r ya n dt e c h n o l o g yo fr e q u i r e m e n t p r o j e c ta n dm a n a g e m e n tw h i c hp o i n to u tt h a tt h es t i c k i n gp o i n tt os u c c e s so fs o f t w a r e p r o j e c ti s e f f e c t i v er e q u i r e m e n tm a n a g e m e n t i nn a t i o n a ls o f t w a r e i n d u s t r y , t h e p r o b l e m so ff r e q u e n tc h a n g eo nr e q u i r e m e n t ,d i s o r d e r e dm a n a g e m e n t ,t h ei n s u f f i c i e n t , u n s u i t a b l ea n di n a c c u r a t eu s eo fr e q u i r e m e n ti n f o r m a t i o na r eo f t e no c c u ri n t h e s o f t w a r ed e v e l o p m e n t p r o c e s s ,s i n c et h ei n s u f f i c i e n tu n d e r s t a n d i n g0 nt h er e q u i r e m e n t m a n a g e m e n t ,l a c ko ft h e o r ya n dt o o l so nr e q u i r e m e n tm a n a g e m e n t t h e s ep r o b l e m s c o u l dm a k et h es o f t w a r ep r o j e c tl o s ec o n t r o lo i lq u a l i t y , p l a na n dc o s ta n dm a k eb a d r e s u l ta tl a s t a i ma tt h e s ep r o b l e m s ,t h et h e s i sh a v em a d ead e t a i l e da n a l y s i s ,a n dp o i n t o u tt h a tt h ee f f e c t i v ew a yt os o l v et h e s ep r o b l e m si st op r o v i d ea ni n d i c i a lm e t h o do n r e q u i r e m e n ti n f o r m a t i o n i tc a np r o v i d et h ef e a t u r eo fc l a r i t y , c o n s i s t e n c y ,i n t e g r a l i t y a n d e x p a n s i b i l i t yf o r t h er e q u i r e m e n ti n f o r m a t i o n ,a n dp r o v i d ee f f e c t i v er e q u i r e m e n t m a n a g e m e n tc h a n g i n ga n dc o n t r o lm e c h a n i s mt om a k es u r et h a tt h er e q u i r e m e n t i n f o r m a t i o nw o u l db ei n d i c a t e de n t i r e l ya n de x a c t l yi nt h es o f t w a r ed e v e l o p m e n t p r o c e s s ,a n dr e a c ht h ed e s i r eq u a l i t yo fs o f t w a r ep r o j e c t o n t o l o g yi sac o n c e p t u a le x p l a n a t i o n ,ad e s c r i p t i o na b o u tt h eo b j e c t i v ec o n c e p t p u t t i n gt h ec o n c e p to fo n t o l o g y i n t or e q u i r e m e n td e s c r i p t i o nc o u l dm a k et h e r e q u i r e m e n ti n f o r m a t i o nm o r ec l e a r , i n t e g r a t e da n dc o n s i s t e n ta n di te a s yt or e a l i z et h e s t a n d a r d i z a t i o no ft h ed o m a n i a tk n o w l e d g e ,t h es h a r ea n d1 e u s e t h e r e f o r e ,t i f f sp a p e r c o m b i n et h ec o n c e p to f o n t o l o g yw i t ht h er e s e a r c ho f r e q u i r e m e n tm a n a g e m e n ts y s t e m , e x p l o r et h ed e s i g na n di m p l e m e n to fr e q u i r e m e n tm a n a g e m e n ts y s t e mb a s eo n o n t o l o g y , a n dw i t ht h ee x a m p l eo fs o f t w a r ep r o j e c tm a n a g e m e n ts y s t e ma n dc o s t m a n a g e m e n ts u b s y s t e m t or e a c ht h e s eg o a l s ,t i f f sp a p e rd i s c u s st h eb a s i ct h e o r yo f o n t o l o g y , t h ec o n s t r u c t i o no fo n t o l o g y , f o r m a l i z ed e n o t a t i o na n dt e c h n o l o g ya b o u t s t o r a g e ,a n dp o i n to u tt h a ti m p o r to n t o l o g yi n t oc a p t u r ea n dd e n o t a t i o no f r e q u i r e m e n t i sb e n e f i tf o rt h ep e o p l et ou n d e r s l a n dt h er e q u i r e m e n ta c c u r a t e l ya n dr e d u c et h e m a x i m u mi s o m e r o u so ns e m a n t i cp h r a s e o l o g i c a lp r o b l e m s m e a n w h i l e ,c o m b i n e 谢吐l t h ec r e a t i o no ft w oc l a s s i co n t o l o g y , t h i sp a p e rd i s c u s st h ec r e a t i o no fo n t o l o g ya n d o n t o l o g yd a t a b a s ei nd e t a i l t or e a l i z et h ef u n c t i o n so fr e q u i r e m e n t c h a n g e ,t r a c k ,q u e r ya n dc o n t r o lo f r e q u i r e m e n ts y s t e m ,t h i sp a p e ra l s od i s c u s st h ef o l l o w i n gt o p i c si nd e t a i l :r e l a t e d a p p r o x i m a t ew o r do ft h es y s t e m ,r e q u i r e m e n ti n f o r m a t i o nd a t a b a s e ,m a t r i xo f r e q u i r e m e n ts t a t e ,v a l i d a t eo fr e q u i r e m e n t ,a n dm a k eaf u l ld e s c r i p t i o no nt h e c o m p o n e n to f t h es y s t e ms u c ha sq u e r ym e c h a n i s m ,o n t o l o g ys e r v i c e sa n ds oo n a sa ni n s t a n c eo fa p p l i c a t i o n ,t h i sp a p e ra l s om a k ea n a l y s i sa n dd e s i g nf o rt h e s y s t e ms t r u c t u r ea n dr e l a t et e c h n o l o g yo ft h ep r o t o t y p es y s t e mo fr e q u i r e m e n t m a n a g e m e n ts y s t e mw h i c hb a s eo no n t o l o g y , a n df i g u r eo u tp a r to ft h er e s u l td e p e n d o nt h ed e s i g n t h er e s u l to ft h ei m p l e m e n ts h o w st h a ti ti sf e a s i b l em e t h o dt or e a l i z ee f f e c t i v e r e q u i r e m e n tm a n a g e m e n tt h a tp u to n t o l o g yi n t or e q u i r e m e n tm a n a g e m e n ts y s t e m k e yw o r d s :o n t o l o g y ;r e q u i r e m e n tm a n a g e m e n t ;r e q u i r e m e n tc h a n g i n g : r e q u i r e m e n tt r a c k ;q u e r yo no n t o l o t y 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明;本论文是在导师的指导下。独立进行研究工作所取得的成果, 撰写成博士硕士学位论文 ! 基王奎佳鲍盖塞笪理愿型丕缠曲班究皇塞堡:。 除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体 已经公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名: 王,兹l ) 彩年弓月马日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密口( 请在以上方框内打“”) 论文作者签名:王妖导师签名: 日期:力衫年多月 第1 章绪论 1 1 研究背景 近年来,随着计算机应用系统的普及和目益庞大。“软件危机”的隐患日渐 突出,主要体现在:软件的开发成本过高、开发进度难阻控制、软件需求得不到 充分满足、软件的可维护性差等方面。为了缓解乃至克服软件危机,学界提出了 “软件工程”的概念,从指导方法学和应用技术两方面对软件开发的各个阶段( 概 念设计、需求分析、系统设计、编码测试、实施维护等) 进行研究和分析并提出 了规范化的开发过程和标准化的评价标准。软件需求作为软件工程活动的基本对 象和出发点,在软件过程研究中占有极其重要的地位,在软件开发中遇到的许多 问题,都与收集、编写、协商、修改软件需求的工程过程有关。非难式的信息收 集,未确定或不明确的需求,未发现或未经交流盼假设,不完全的需求文档以及 突发的需求变更等都是软件项目失败的关键园紊。 一项对o t e 、t r w 和i b m 三家公司的研究结果表明。在需求阶段检查和修复 一个错误所需的费用,只是编码阶段的l ,5 到l ,l o ,而在维护阶段做同样的工作所 付出的代价却是编码阶段的2 0 傣。由此可以看出,需求阶段在整个软件生命周期 中是非常重要的。做好需求管理不仅可以减少软件开发中的错误,使软件项目 顺利开展,还可以减少修复错误的代价,从而大大降低软件开发成本缩短软件 开发周期,保证了软件项目许发的成功。然而,在我国的软 牛企业中,相对于霈 求开发技术的应用来说,需求管理技术比较薄弱,缺乏先进的需求管理手段和工 具;另外,软件开发管理人员对需求管理的重视程度也不够。因此,在整个软件 开发过程中常常出现需求变更频繁、管理混乱的局面,最后导致项目进度、成本 失控。随着软件系统的大型化和复杂化,软件需求更加复杂,如果仅仅依赖于项 目管理人员的手工管理需求及其变受,不仅工作童大、成本高、周期长,而且需 求管理的难度也大,很难保i 芷需求文档的一致性和可跟踪性,难以确保软件开发 的质量和进度。 需求管理虽然己有很多人在无意识地关注,但却还没有彤成一个专f 1 的研究 领壤,所以,本文开展对需求管理的研究并按照研究结果实现需求管理的原型系 统,具有一定的理论研究价值和较深的现实意义。在本文中,通过引入本体的概 念,使得需求工程的各个环节能够与企业业务模型更加吻合,提高项目干系人对 企业业务模型和软件工程过程的认知能力,从而提高软件项目开发的成功率。本 体是对客观世界的系统化描述。它独立于特定的描述语言,是表达特定领域知识 的通用观点。从需求管理的角度来讲,本体是一种知识的分类和组织体系,它主 要由概念和概念间的关系所组成。概念反映了企业业务知识的实体,而关系则反 映了概念间的约束和联系。基于本体的需求管理,其核心内容包括从本体的角度 对需求进行规范化的提取、定义、表达、组织和评价,并且能根据需求管理内容( 需 求跟踪、需求状态跟踪、变更控制、版本控制) 的变化,建立起一整套能被广为接 受和理解的需求知识本体体系,以供不同人员在不同时间方便地重用和共享,同 时也达到固化软件企业的需求知识资产的目的。因此本文简单设计了一个“基于 本体的需求管理原型系统”,相比于其它管理系统。该系统的一个最大特色在于 它有一个核心的本体库,并提供了关于本体的建立、本体的形式化、本体在本体 库中的存储、本体的查询等技术手段与功能实现。当用户的需求发生变化时,能 够基于本体库,对变化的需求尽快作出对应处理,保证了需求工程的顺利进行。 1 2 需求管理现状 需求数据的管理通常采用自然语言文档和建立数据库的方法。使用自然语言 文档保存的需求数据易于理解,使用数据库保存的需求数据易于操作。然而,两 者都有其局限性。自然语言文档方法使得需求文档的同步交更管理非常困难,对 每个文档状态的跟踪实现复杂,难于定义功能需求与相应的u s ec a s e 、代码、测 试等之间的关联关系,并且自然语言本身存在二义性,常常会导致对需求理解的 不一致性。数据库方法往往必须与相应的需求管理工具紧密结合,使用工具对数 据格式进行解释,然而也存在数据可读性差的问题,其结果就是需求管理过程必 须完全依赖于需求管理工具。 要解决需求管理过程中存在的一些问题,使用需求管理工具是个很好的途 径。需求管理工具使用多用户数据库保存与需求相关的信恳,既保存需求文档, 又可以保存与需求文档相关的属性和视图等。用户可从源文档中产生需求,定义 属性值,操作和显示数据库内容,使需求内容以各式各样的形式表现出来,这样 2 就在功能需求与相应的使用实例、设计、代码、测试和项目任务之间建立了联系 链,从而可以对用户需求进行有效的跟踪和变更控制。使用需求管理工具有很多 好处,它可以帮助软件分析人员处理大部分项目需求,并完成以下功能。 管理版本和变更; 存储需求属性; 帮助分析并影响分析结果; 跟踪需求状态; 访问控制; 重用需求。由于在数据库中保存了需求,在其它项目或子项目中重用需求 变为可能。还可以避免信息冗余。 当前市场上的需求管理工具可分为以文档为核心和以数据库为核心两大类。 以数据库为核心的需求管理工具把所有的需求属性和跟踪信息都放在数据库中, 这种方式的好处是可以利用数据库的一些特性,方便地进行需求跟踪;而以文档 为核心的需求管理工具是使用w o r d 或者a d o b e 公司的f r a m e m a k e 等字处理程序 制作和存储文档,这种方式的好处是利用规范的文档模板,便于开发人员统一文 档格式,但不便于需求跟踪和变更控制。表1 1 是几种典型需求管理工具的相关 特征【1 l a 表1 1 需求管理工具 t a b 1 1t o o l so f r e q u i r e m e n tm a n a g e m e n t 需求管理工具特征 c a li b e r r m d o o r s q s s r e q u i r e i t r e q u i s i t e p l 7 0 r t mw o r k s h o p f r a m e m a k e v i t a ll i n k 以数据库为核心 以数据库为核心 以文档为核心 以文档为核心 以数据库为核心 以文档为核心 以文档为核心 1 3 主要研究内容 本文在研究需求工程的相关技术和方法的基础上,结合当前关于本体理论的 研究结果,从如下几个方面开展研究。 1 针对现存需求管理存在的问题,提出基于本体的需求管理的基本架构,并 提出基于本体的需求管理原型系统的体系结构。 2 用基于本体的企业需求获取模型来获取用户的需求,以保证需求的一致性。 3 以正在研发的大连市项目“软件项目管理系统的设计与实现”为侧,进行 需求分析,建立需求规格说明书,并针对其中的成本管理子系统建立本体库、实 现本体的存储、形式化描述和查询功能。同时,为本系统设计一个本体服务器。 4 研究需求项之间的关联跟踪,并研究从需求项到设计,从设计到编码,从 编码到 奂l i 试的需求跟踪。 5 定义需求的状态,对需求的状态进行跟踪,统计整个项目中需求所处的状 态,并以此估算出项目的大概进度。 6 当需求发生变更时,可依据本体库中的信息对需求的一致性、完整性进行 检验,以决定是否接受相应的需求变更,并对需求变更所产生的影响进行分析。 7 ,研究对单个需求项和需求文档的版本进行控制和查谒的基本方法- 1 4 论文的章节结构 本文共分六章。 第1 章引言。本章主要论述本文的研究背景、需求管理的现状及存在的问题、 需求管理工具、主要研究内容、研究的价值与意义等内容。 第2 章需求管理的基础知识。本章主要介绍需求管理的相关知识并提出基于本 体的需求管理研究思路。通过对需求工程与需求管理的关系、软件需求中的异构 问题等内容的分析,进一步论述基于本体的需求管理的研究意义。 第3 章本体论基础。本章主要论述本体的概念、表达方法及应用研究。具体分 析了w 3 c 发布的形式化语言x m l 、o w l 、r d f ( s ) 形式化本体的特点。 第4 章基于本体的需求管理原型系统的设计。本章主要论述该系统的架构设计 以及所涉及到的相关技术。以软件项目管理系统中成本管理子系统为例,对系统 的需求分析、建立需求规格说书、获取主要概念的属性和关系、建立本体以及设 计本体在本体库中的存储格式、本体的形式化描述方法、本体的查询及本体服务 器等内容作了详细论述。并在本体库的基础上,对需求跟踪、需求状态跟踪、需 求变更控制及版本控制等需求管理内容进行了设计。 第5 章基于本体的需求管理原型系统的实现。本章主要论述本体的建立及实现 系统的相关环境与技术,并给出系统的实现结果。 第6 章总结与展望。本章对本文所研究的内容进行总结,并对进一步需要研究 的内容作较为详细的论述。 第2 章需求管理的基础知识 2 1 需求管理的概念 虽然学术界到目前为止还没有对需求管理作出精确的定义,但我们可以从需 求管理所研究的内容出发,来描述需求管理。简单地说,需求管理就是记录并管 理需求、跟踪需求的变更,以达到在项目干系人之间对用户需求的共同理解,并 形成评估、计划、实施和跟踪整个软件生命周期中软件项目活动的基础的目的磷。 也就是说,需求管理就是要确定便于所有人理解的需求,稳定软件需求并说明需 求变更对项目成本和进度的影响。需求管理是c m m 可重复级( 第二级) 的第一个 关键过程域,它不涉及收集和分析软件项目需求,其主要目标是对分配需求进行 管理,即要在客户和实现客户需求的软件项目之间达成共识;控制软件系统的需 求变更,为软件工程和管理建立基准线;保持软件计划、产品活动与软件需求的 一致性。需求管理过程和软件开发过程是并行的,且贯穿在整个软件开发的生命 周期之中。在需求管理过程中,可用一个数据来标志需求在各个阶段的状态,在 c m m 中称为度量。它强调通过版本控制和变更控制来管理需求文档、跟踪需求 状态,为软件项目建立规范性的项目管理制度。 2 2 需求管理的内容 需求管理是需求工程的一部分,是一个支持其它需求工程活动和这些活动并 行实施的过程。需求管理是在工程进展过程中的维持需求约定集成性和精确性的 所有活动。一方面,需求管理要保持软件需求与客户需求之间的一致性,要保持 软件开发过程中的其它系统元素以及活动与软件需求的一致性。另一方面,软件 需求是受控的,就是说,在给定的时间内所使用工作产品的版本是已知的( 版本控 制) ,并且以受控的方式引进更改( 变更控制) 网。因此,需求管理至少主要包括需 求跟踪、需求状态跟踪、变更控制、版本控制等几个方面的内容,图2 1 给出了 需求管理所研究的内容范畴。 圈2 i 需求管理的内容 f i g 2 1t h ec o n t e m so f r e q u i r e m e n tm a n a g e m e n t 1 需求跟踪 需求跟踪是需求管理的基础,同时也是需求变更控制的基础。所谓的可跟踪 性是指两个或多个实体之间具有定义好的链接或关系,可以从一个实体跟踪或回 溯到另一个实体。需求跟踪就是跟踪一个需求使用的全过程,也就是从最初的用 户需求到设计实现的整个生存期【2 】。 对一个软件项目来说,当需求确定下来以后,应该保证在软件设计过程中每 个需求都能够被实现。因此,一个比较好的方法就是建立一种跟踪机制来确认所 有需求在每个阶段是否已经实现,这就是所谓的“需求跟踪”【4 】。进行需求跟踪的 一个简单的方法是建立一个映射,从需求到设计,从设计到编码,以及从编码到 测试用例,把每个需求都映射到对应的位置。这个映射常常可用需求跟踪矩阵来 实现,如表2 1 所示。将系统设计、编程、测试等阶段的工作成果与需求文档进行 比较,建立与维护开发过程的一致性。当发现不一致时,就记录在“需求跟踪报 告”中,并通报相关责任人网。 表2 ,1 需求跟踪矩阵 t a b ,2 1m a t r i xf o rr e q u i r e m e n tt r a c e 7 需求跟踪规程的主要内容包括如下几个方面: ( 1 ) 建立与维护需求跟踪矩阵 需求跟踪矩阵就是软件需求与各个软件工程活动的阶段结果之间的映射关 系,这种关系可能是“一对一”、“一对多”或“多对多”的。需求矩阵的建立 就是确定这种关系并以适当的形式加以存储。以需求跟踪矩阵为基准,可以实现 正向、逆向以及双向的需求跟踪。同时,当需求发生变化或后续阶段工作成果发 生变化时,可通过维护需求跟踪矩阵来反映这些变化。 1 ) 正向跟踪 正向跟踪就是检查需求文档中的每个需求是否都能在后续工作成果中找到它 的对应点。 逆向跟踪 逆向跟踪就是检查设计文档、代码、测试用例等工作成果是否都能在需求文 档中找到相应的出处。 3 1 双向跟踪 双向跟踪是指正向跟踪和逆向跟踪相结合。不论采用何种跟踪方式,都要建 立与维护需求跟踪矩阵。 4 ) 当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。在更 新需求跟踪矩阵时,通常需要记述以下几个问题。 谁提出变更; 什么时候提出变更; 变更的内容是什么; 为什么变更; 变更处理意见; 变更执行结果。 ( 2 ) 一致性检查 使用需求跟踪矩阵的优点是很容易发现需求文档与后续工作成果之间的不一 致点。这些不一致点包括后续工作成果没有实现需求文档中的某些需求:后续工 作成果实现了需求文档中不存在的需求;后续工作成果没有正确地实现需求文档 中的需求等。当发现不一致点时,项目管理者可将所发现的“不一致点”记录在 “需求跟踪报告”中,并通知给相关责任人予以对应。 ( 3 ) 消除不一致 1 ) 相关责任人针对需求跟踪报告中的“不一致点”,给出消除这些不一致点 的措施和计划,并提交给项目管理者以便记录到“需求跟踪报告”中。 2 ) 相关责任人在消除“不一致点”之后,也提醒项目者更新“需求跟踪矩阵”, 同时,项目管理者需要统计工作量和“需求跟踪报告”的相关信息,存入配置管 理库p l 。 2 需求状态跟踪 需求跟踪矩阵仅仅反映了需求被覆盖的程度,为了准确反映需求的执行情况, 还需要为每个需求建立一个状态,并对需求状态进行跟踪。目前,应用较多的需 求状态跟踪技术是需求跟踪能力矩阵或需求跟踪能力树,它通过矩阵或树的形式 来反映各个需求之间一对多或多对多的关系 2 1 。采用跟踪能力联系链建立需求跟踪 能力矩阵,跟踪需求状态,以保证在整个项目的生命周期中所有需求的实现,便 于分析需求变更产生的影响。在软件项目管理中,可通过对需求状态的分析与统 计,掌握项目工程的进展程度,帮助管理者对项目进度进行控制。 每个需求都有许多属性,如状态、优先级、稳定性、创建时间、创建人等。 需求状态是需求的一种属性。需求可能的状态可设定为如下几种情形 6 1 : ( 1 ) n e w 状态:需求的初始状态。该需求刚被有权限者提出。 ( 2 ) r e c e i v e d 状态:需求的接受状态。该需求已被分析并估计了它对项目后继 工作的影响;已用一个确定的产品版本号或创建编号分配到相关的基线中;软件 开发者已具备接受该项需求所需的环境。 ( 3 ) p e r f o r m e d 状态:需求的执行状态。已完成了该需求项的设计、代码编写和 测试等工作。 ( 4 ) v a l i d a t e d 状态:需求的完成状态。使用所选择的方法验证了所实现的需求, 如测试并审查了该需求项与测试用例是相符的。该需求项可被认为是已最终完成。 f 5 1d e l e t e d 状态:需求的拒绝状态。计划的需求己从基线中删除。其信息应包 括删除原因说明和作出删除决定的人员。 3 变更控制 变更控制是指对变更申请、变更评估和变更实施所进行的控制过程。需求变 更是指在软件需求基线确定后所增添的新需求或对已经存在的需求进行修改。问 题不仅仅是需求变更本身,而是迟到的需求变更会对已进行的工作有较大的影响, 若不加以控制,就会导致项目开发人员不断采纳新的需求,不断地调整项目计划 进度、成本以及质量目标,最终导致项目的失控。因此,需求变更控制是需求管 理的关键。变更是项目开发过程的一部分,变更是不可避免的,问题的关键是必 须采取有效的方法来管理变更i “。 4 版本控制 版本控制是需求管理的一个必要方面。确定单个需求和需求文档的版本,使 开发团队内每个成员必须能够得到需求的当前最新版本,避免不同的开发人员间 出现开发冲突和需求误传是版本控制的目的。 常用的版本管理软件有s c c s ,c v s ,v s s 等。版本管理做为需求管理的一部 分,与需求变更状态密切相关。需求版本管理中保存的不同版本的需求文档,就 是在原始版本的基础上执行一系列需求变更后得到的。如果在需求变更中记录对 应的需求文档版本变化的情况,那么对变更的跟踪就更有利。为此有必要提出需 求变更信息的概念。需求变更信息( r e q u i r e m e n t sc h a n g ei n f o r m a t i o n ,r c d 描述了 需求变更的有关信息,它可被描述为一个二元! i i r c i ( v ,r c s ) 。其中,r c s 是需求变 更状态,描述了需求变更的6 个方面的信息;v 是版本信息,它被描述为一个二元 组v i ,v 9 。其中,v l 为需求变更执行前的需求文档版本号;v 2 为需求变更执行 后需求文档的版本号。通过管理需求变更信息r c i ,可以更有效地管理需求变更i s 。 2 3 需求管理的意义 随着计算机技术的发展,社会对软件的需求量日益增大,而软件的开发主要 依赖于人工,致使软件开发成本费用不断上涨。在美国,软件成本约占计算机系 统总成本的9 0 ,已成为司空见惯的现象。由于软件是逻辑、智力的产品,盲目 增加软件开发人员并不能成比例地提高软件开发机构的开发能力,相反,随着人 员数量的增加,人员的组织、协调、通信、培训和管理方面的问题将更为严重。 人们在大型软件项目开发面前往往显得力不从心【9 】。 为了更深入地了解问题所在,可调查、分析项目失败的原因。调查结果显示, 对项目造成“伤害”的最重要的原因主要有3 个,如表2 2 所示。 1 0 表2 2 在软件项目中发现的错误 t a b 2 , 2m i s t a k ef o u n d e di nt h es o f t w a r ep r o j e c t 对项目造成损坏的因素回答 2 8 2 3 1 8 缺乏用户参与 不完整的需求与规范 需求与规范的变更 需求错误是在复杂软件项目中所发现的错误中的最有危害性的错误。 g t e ,w 与i b m 的研究结果给出了在软件项目生命周期的不同阶段所发生 的错误的代价,这个结果再次证明了一些早期的研究结果。虽然对这项工作所开 展的研究是独立进行的,但却几乎得出了相同的结论,即在需求阶段消除错误可 以大大节约软件项目的开发成本。因此,进行有效的器求管理,可以减少软件开 发中的需求错误,从而可以大大降低开发成本,缩短开发周期,促进项目成功【l o 】。 2 4 软件需求中的异构问题 对需求知识管理的研究刚起步,其可能的研究着手点有很多,但是,要实现 需求知识的共享和重用,首先需要解决的问题就是软件需求中的“异构”问题。 软件需求的获取离不开沟通活动。这里所说的沟通可分为三种:人与人的沟 通;人与系统的沟通;系统与系统的沟通。这三类沟通中的异构阀题又可分为两 个层次:语法异构和语义异构。对于人与入的沟通来说,语言显然是其中的一个 重要问题。语言的主要语法结构又包含两部分内容:一是组句的方式,如主谓宾 结构可以构成一个完整的句子;二是语句含义的表达规则。如英语中菲真实的状 况要用虚拟语态来表达。所有这些语言上的沟通困难都属于“语法异构”问题。 有时,人们还会用符号来直观地表达事物或概念。其实无论是公式还是图形化表 达,其本质都和语言很相似,都是由符号基本元素、几何符号( 如点、线、圆、正 方形等) 、基本符号( 如u m l 中用人形符号来表示“角色”) 、符号的组合规则和组 合符号的表达含义等相关规则所组成。因此,符号表达上的不同,也属于“语法 异构”。根据以上情况,可以对“语法异构”做一个扩展性的定义。所谓“语法 异构”,就是人们在表达事物或概念时,所采用方式上的不兼容性。 即使人们都使用了相同的语言和符号表达,在沟通时仍无可避免地会碰到障 碍。主要表现在:人们在表达同一事物或概念时习惯使用不同的说法;对 于同一种表达可以有不同的理解( 原因可能是一字多义、还可能是句子分词的不同 等) ;人们对某事物或概念的本质理解上存在着不一致。这些属于“语义异构” 问题。所谓“语义异构”,是指排除了语法上的不兼容性,人们在理解语义含义 上的不一致性。 与人与人的沟通极为相似,系统间的沟通同样也存在着语法和语义上的异构 问题。系统的语法层比较复杂,可分为三个子层:最底层是数据的基本表示层, 通常以字符流或二进制流的形式来表示;上一层是数据的逻辑结构层,如a c t 纯 文本格式、数据库记录、x m l 半结构化数据等。最高层是数据结构的模式信息层, 比如x m l 的d t d 文件、数据库的结构信息等。系统的语义层又可分为两层:一层 是对所描述对象、数据所采用的标识;另一层对所操作的对象和数据的解释【1 1 。 人与系统的沟通问题主要是由于系统的设计者和使用者不同而造成的,所以 可以把人与系统的沟通看成是人与人沟通、系统与系统沟通的结合体。于是,人 与系统沟通中存在的异构问题,就表现为上述两种情形下的异构问题的融合,在 此不再一一赘述。 从上面的讨论不难发现,语法层比较接近于人工世界( 比如,人创造的技术和 语言1 ,而语义层更接近自然世界( 比如,概念和术语实际上是客观世界事物或现象 在人脑中的映射) 。因此语义层有着更高的稳定性和持久性。 任何一个项目的开发都离不开沟通。在进行需求管理时,首先要通过与用户 的沟通来获取用户的需求信息。在这个过程中,也存在着语法异构和语义异构的 问题。若对用户需求没有正确地理解,则由该需求带来的风险将涉及到设计、编 程、测试、维护等一系列的后续阶段,并直接导致软件质量的低下和客户满意度 的下降。为了尽可能避免和控制需求风险,必须进行需求管理,以降低需求的不 确定性。另外,需求获取中还需要对术语概念有一个统一的规范,以免在术语使 用时造成混乱。造成概念混乱的最为突出的问题就是“一义多词”的现象非常频 繁,在这神情况下,往往就造成了资料搜索不到,需求重用率低的问题。鉴于语 义异构研究的相对缺乏以及知识共享中语义统一的重要性,本文把需求管理的研 究中心锁定在“消除知识共享和重用中的语义异构问题”上,并由此提出了“基 于本体的需求管理”的解决方案。该解决方案统一了术语的概念规范,不会出现 一义多词的现象,并采用相对抽象的符号语言来规范需求描述中的语法结构和语 义表达,其目的就是尽可能消除沟通过程中异构问题。 2 5 基于本体的需求管理 需求管理虽是一项极其复杂的任务,但却只考虑了需求的正确产生和对需求 变更的维护,而忽视了需求所隐含的领域知识、问题求解知识在不同项目间的可 重用性和启发性等。因此,需求工程的众多方法很难从根本上缩短需求开发的成 本和周期,因而对缓解和解决“软件危机”的帮助也很有限。另外,随着软件复 杂度的迅速增长和所涉及领域范畴的扩大,对软件需求知识的共享要求也日益迫 切。业界逐渐认识到;对于一些复杂项目的开发,协作是唯一有效的途径。只有 通过对知识的共享和经验、能力的交流, 求分析的正确性。对于分析员本身来说, 才能各取所长、互相更正,从而保证需 也有重用其所拥有知识的需要,因为知 识可能被拥有者所遗忘,而固化下来的知识可以帮助其很快恢复对“休眠知识” 的记忆。由此可见,把需求分析中所涉及到的各种知识有效地组织和存储起来, 并在适当的时候加以重用,是很有必要的。因此,在需求管理中加入了本体的概 念,能够有效地解决这些问题,这是由本体的特点所决定的。本体是一种概念化 的说明,是对客观存在的概念及其关系的一种描述。 引入本体的目的之一是使术 语“标准化”,实现领域知识的规范化及有效的共享知识;其次是提高需求知识 的可重用性。 2 6 需求工程和需求管理 从现代软件工程的角度来看,需求工程领域可以分为需求开发和需求管理两 个部分,或者说需求工程就是一个开发需求和管理需求的过程,如图2 2 所示。 图2 2 需求工程的内容构成 f i g 2 2c o n t e n to f r e q u i r e m e n tp r o j e c t 需求工程是软件工程的子领域,是分析并记录软件需求的研究领域。它不断 反复的进行需求定义、文档记录和需求演迸,并最终在验证的基础上冻结需求。 在需求工程中需求可作为贯穿整个软件产品生命周期的一个对象,进行设计、跟 踪和管理【l o 】。 由图2 2 可以看出,需求管理是需求工程中不可缺少的部分,虽然需求开发对 于软件项目的成功是至关重要的,但所开发出的软件需求,只有经过有效的需求 管理,才能保障每个需求在软件项目开发中得到正确实施,有效的需求管理是保 证软件质量的重要环节。 1 4 第3 章本体论基础 3 1 本体的概念 近年来,本体( o n t o l o g y ) 成为计算机领域的一个非常热门的话题。本体最早 是一个哲学上的概念,用于描述事物的本质,它是关于世界某个方面的一个特定 的分类体系,这个体系不依赖于任何特定的语言。 在人工智能界,n e c h e s 等人最早给出 r o n t o l o g y 豹定义,他们将本体定义为“给 出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这 些词汇外延的规则定义”。n e c h e s 认为:“本体定义了组成主题领域的词汇表的基 本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则”【圯】。 近年来,在信息系统、知识系统等领域,越来越多的人开始研究o n t o l o g y , 并给出了许多不同的定义。其中最著名并被引用得最为广泛的定义是由g r u b e r 提出的“本体是概念化的明确的规范说明” 1 3 】。 在对g r u b e r 的定义修订和提炼基础上,g u a r i n o 【体1 5 1 认为概念之间的差别不仅 体现在概念的定义上,同时也体现在概念的某些特性上,并引入了域空间的概念, 为形式化地研究本体的集成、共享以及系统应甩,提供了一个良好的理论基础。 尽管定义有很多不同的方式,但是从其内涵上来看,不同研究者对于本体的 认识是统一的,都把本体当作领域( 口- i n 是特定领域的,也可以是更广的范围) 内部 不同主体( 人、机器、软件系统等) 之间进行交流c 对话、互操作、共享等) 的一种语 义基础,即由本体提供一种明确定义的共识。 可以认为本体是种对概念的分类,具体的说,某个领域的本体就是关

温馨提示

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

评论

0/150

提交评论