首页 > 范文大全 > 正文

面向SaaS模式的需求文档质量和语义分析服务

开篇:润墨网以专业的文秘视角,为您筛选了一篇面向SaaS模式的需求文档质量和语义分析服务范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 为便于开发团队对需求文档进行质量和语义分析,提出一种面向saas模式需求文档分析服务。该服务利用云存储的领域本体信息和预定义的一些方法对需求文档进行质量语义分析,并通过云计算SaaS模式提供服务

关键词 软件需求;语义分析; SaaS;领域本体

中图分类号:TP311.5 文献标识码:A 文章编号:1671-7597(2013)22-0069-01

软件需求能否全面、准确地获取直接决定项目的成败。需求文档的模糊、不完整、不一致等问题给软件的开发造成很大的问题。因此,对需求文档进行质量和语义分析是很有必要的。软件开发总是针对一定领域,利用领域本体在知识表示和推理方面强大的语义能力,辅助于相应的平台、工具,可以对需求文档进行分析和度量,促使生成完整、一致、无歧义的高质量需求文档。

SaaS是一种通过Internet提供软件服务的云计算模式。本文提出的基于领域本体的需求文档质量和语义分析服务正是通过SaaS模式,给开发团队提供应用级软件服务。各领域的本体知识库存储于云计算平台中,开发团队将需求文档提交给云计算平台,云平台基于领域本体进行分析,并将分析结果返回给团队。这样,开发团队可按时、按需获得高效率的需求文档分析服务。

1 领域本体及其云存储

1.1 本体系统

本体系统可表示为:Ontology_System = (Con,Rel,Rules)。

其中Con为概念的有限集,Con = ∪t∈TypeCont,Cont是类型为t的概念的有限集,如t=“order”。

Rel是关系的有限集合,Rel = ∪u∈RelRelu,Relu =2 Con×Con为符合类型u的关系的集合,如u=“synonym”。

Rules是推理规则的集合。

如:generalize(A,D)∧require(A,C) require(D,C),表示如果A泛化了D,且A需要C,那么D也需要C。

1.2 领域本体库

领域本体目标是捕获相关领域知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式给出这些词汇和词汇间相互关系的明确定义。

一般依赖领域专家和文档资料,利用本体编辑工具(如Protégé),使用自动化或半自动化方法来建立、维护和管理领域本体库。需要建立类似数据字典的本体映射和转换机制,实现不同本体知识库的自动转换。领域本体有多种建模方法,例如可以按实体、操作等对本体建模(具体可以分为服务、目标、角色、过程等)。随着知识的扩充、更新和应用需求的发展变化,领域本体也需随之进化。

1.3 领域本体的云存储

一般本体以文件的方式或数据库的方式存储。为了实现按需云计算服务,克服本地存储在管理方面的缺失、维护上的不便,并减轻成本的负担,需求文档质量和语义分析服务中使用的领域本体使用云存储。类似Google云计算平台的BigTable,云存储一般采用分布式数据库技术,支持大规模数据处理、高容错性和自我管理等特性。可支持多种数据结构,并采用数据库分片集群技术提高扩展性,增强查询的吞吐量。

2 分析服务分层设计

1)基础设施层。这层包括云计算平台的基础设施(物理硬件、虚拟机、核心引擎、管理设施等)。

2)领域本体层。这层以云存储的方式存储领域本体的知识(农业、金融、医药等)。可以是已有库的移植,也可以是利用本体工程新建库,提供者可以更新进化本体知识库。

3)分析服务层。实现对需求文档进行质量和语义分析。对需求文档按一定规则分词解析并以某种规范化形式表示,从而便于按预定义方法进行语义分析。如将行为需求封装为:RU=。分析方法依赖于具体领域本体知识库的表示机制和形式,服务提供者可以更新进化分析方法。

4)Web界面层。开发团队使用SaaS服务模式,通过Web界面提交需求文档和相关信息,获得返回结果。

3 需求文档质量分析

满足正确、无歧义、完整、一致、可追踪等若干条件的需求集合可以认为是高质量的需求集。尽管需求文档的质量难以量化度量,但依然有必要建立一种度量方法来分析相关特性。通过需求项向领域本体的影射,可以定义一些指标来分析需求文档的质量,如正确性、完整性、一致性等,这些指标能较好地反映相关属性。

以正确性为例,如果某项需求可被映射到问题领域本体,则可以认为这是一项合适的需求,虽然从单项需求来看这不是绝对的,但是考虑一般软件有大量需求,从统计学上的意义这种规则是合理的。所以通过映射到本体的需求项的数量和总的需求项数的比率可以分析针对问题领域的需求正确性。如某小型系统,其领域本体数为49,本体关系数为66,需求项为17。而需求项中能映射到领域本体的数目为14,则该需求文档的正确性为:CORR=14/17=82.4%。

4 需求语义分析

为了进行语义分析,需要将需求表示为某种格式化的形式,具体要结合所使用的领域本体表示形式和分析方法而定。语义分析基于一些定义、规则或定理,下面给出示例。

假设存在目标本体,形式为G=。

定义1:Ci和Cj是领域本体中的两个概念,如果Ci被定义为Cj的相等类,则Ci和Cj具有相等的语义,标记为equivalentClass(Ci, Cj)。

定义2:领域目标本体中的两个目标,Gi=和Gj=,如果equivalentClass (Ai, Aj ) ∧equivalentClass (Opi, Opj) ∧equivalentClass (Oi, Oj ) ∧equivalentClass (Mi, Mj),那么Gi和Gj具有相同的语义,记为equGoal (Gi, Gj)。

行为性的需求不妨表示为:RU=。

可以定义出匹配规则M:

对需求R=, 目标本体G=,有equivalentClass(S,A)∧ equivalentClass(P,Op)∧equivalentClass(O,Ob)∧equivalentClass(A,M)matches(R,G),表明如果需求和目标本体的对应元素都等价则该需求匹配于领域目标本体。

类似的,可以给出很多定义和规则来对需求进行语义分析。

5 结束语

获得高质量需求文档是非常重要的。通过领域本体可以有效分析需求的正确性、完整性和一致性等,本文提出一种面向云计算SaaS模式的软件需求文档分析服务,该服务基于云存储的领域本体,提供按需服务,便于各个开发团队通过该服务检测需求文档质量,获得相关语义分析结果,可以有效帮助开发团队得到高质量需求,从而开发出符合用户真实需要的软件。

参考文献

[1]吴朱华.云计算核心技术剖析[M].北京:人们邮电出版社,2011.

[2]KAIYA H, SAEKI M. Ontology Based Requirements Analysis:Lightweight Semantic Processing Approach[C]//Proceedings of the Fifth International Conference on Quality Software (QSIC’05).Melbourne,Australia:IEEE Computer Society,2005:223-230.

[3]冯志勇,李文杰,李晓红.本体论工程及应用[M].北京:清华大学出版社,2007.

[4]LIU Wei, HE Keqing, WANG Jiang, et al.Heavyweight Semantic Inducement for Requirement Elicitation and Analysis[C]//Third International Conference on Semantics, Knowledge and Grid.Xian,China:IEEE Computer Society,2007:206-211.

作者简介

王小刚(1976-),男,甘肃兰州人,讲师,硕士,研究方向:软件工程。