用于软件系统设计中的关键知识保护的方法和设备技术方案

技术编号:4243003 阅读:190 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种由计算机实施的在软件系统设计过程中保护关键知识的方法及系统,其中所述软件系统设计包括至少多个工件,所述方法包括:计算关键知识与软件系统设计之间的关联关系;获取软件系统设计中各个工件之间的相互依赖关系;根据所述关联关系和相互依赖关系确定用于各个工件的保护机制。

【技术实现步骤摘要】

本专利技术涉及软件开发过程。更具体地说,本专利技术涉及软件开发过 程中的关键知识保护。
技术介绍
企业通常拥有一些关键的知识(或称"机密知识"),使企业能够 保持对于竟争对手的核心竟争力。关键知识可以是创新性的商业理念、业务功能、独特的商业流程、优化的IT体系结构等。由于这种 关键知识的重大意义,企业希望其作为企业内部的秘密或者是只有几 个核心成员知晓。但是,由于种种原因,这种关键知识容易泄露,其中一个典型的 原因是企业通常利用外部资源来开发其软件系统。虽然这种外包机制 可以节约成本,使企业集中精力于其核心技术,但是关键知识存在泄 露给外部资源的风险。大多数现有的关键知识保护可以被分为两类,即"物理途径" 和"法律途径"。对于"物理途径",制定规章制度来以物理方式防止未 授权人员将任何文档、源代码带出办公室。对于"法律途径",通常是 要求内部、外部开发者与企业签定不泄露协议(NDA)。 一旦开发者 在未经授权的情况下泄露任何关键知识,则企业有权对其泄露行为进 行起诉。除了上述解决方案外,在文献"基于制造知识保护的供应商选择 模型与实证研究"(吴峰,李怀祖,中国机械工程第16巻第8期,2005 年4月)中也提出了一种相关方法。在该方法中,根据提供商的创新 能力(originality)和标准化对其进行分类、根据知识对企业竟争力的影响及其泄露可能性对外包策略进行分类,并且将提供商类型映射 到外包策略。为了要保护关键知识,能够精确地将软件设计中所蕴含的关键知 识与一般知识区别开来是重要的前提条件。这样,可以只保护那些真 正重要的内容,并与开发者尽可能多地共享那些非关键的知识以便于 开发。但是,到目前为止,关键知识的识别和提取都是由软件系统设 计人员手动进行的,并且诸如关键知识在软件系统设计中所占比例之 类的参数也是由设计人员主观判断的,尚未见到有公开教导能用技术 手段来实现关键知识的识别和提取以及确定关键知识所占比重的手 段。采用人工方式本身就是费时费力的,而且准确性和效率都不理想。 另外,可以想象,当需要开发庞大的软件系统并且存在大量关鍵知识 时,通过人工方式进行所述识别、提取以及确定过程,其在准确性、 效率和资源消耗方面的问题可能对于开发过程而言是根本无法接受 的。此外,目前对关键知识保护机制的选择也较为随意,缺乏科学的 分析和指导。因此,需要一种更为有效的手段来识别和提取软件工件中蕴涵关 键知识、对其进行量化,并据此设计恰当的保护机制。
技术实现思路
考虑到现有技术的上述问题,提出了本专利技术的系统和方法,其能 够有效地识别和提取软件工件中蕴涵关键知识、对其进行量化,并据 此设计恰当的保护机制。根据本专利技术的 一个方面,提供一种由计算机实施的在软件系统设 计过程中保护关键知识的方法,所述软件系统设计包括至少多个工件,所述方法包括计算关键知识与软件系统设计之间的关联关系; 获取软件系统设计中各个工件之间的相互依赖关系;根据所述关联关 系和相互依赖关系确定用于各个工件的保护机制。根据本专利技术的另 一方面,提供一种在软件系统设计过程中保护关键知识的系统,所述软件系统设计包括多个工件,所述系统包括计 算关键知识与软件系统设计之间的关联关系的关联计算部分;获取软 件系统设计中各个工件之间的相互依赖关系的依赖关系获取部分;根机制设计部分。本专利技术教导了一种系统化的方法和支持性工具,其能够有效地识 别和提取关键知识,并且据此设计系统的保护机制,从而帮助企业在 将软件开发任务交给那些未授权访问关键知识的开发者之前,前瞻性 地隐藏所述关键知识。附图说明图1示出根据本专利技术的由计算机实施的在软件设计过程中保护 关键知识的方法的流程图。图2示出根据本专利技术的由计算机实施的在软件设计过程中保护 关键知识的系统的方框图。图3示出如图2所示的关联计算部分的具体操作方式。图4示出如图2所示的机制设计部分的具体操作方式。具体实施例方式以下结合附图说明本专利技术的优选实施方式。图1示出了根据本专利技术的由计算机实施的在軟件系统设计过程 中保护关键知识的方法的流程图。该方法在步骤100中开始,随后进 入步骤110,其中计算关键知识与软件系统设计之间的关联关系。接 着,在步骤120中,获取软件系统设计中各个工件之间的相互依赖关 系。然后,在步骤130中,根据所述关联关系和相互依赖关系确定用 于各个工件的保护机制。最后,该方法在步骤140中结束。图2是根据本专利技术的由计算机实施的在软件系统设计过程中保 护关键知识的系统的方框图。所述系统200包括关联计算部分210、 依赖关系获取部分220、机制设计部分230。其中,所述关联计算部分210用于计算关键知识与软件系统设计之间的关联关系;所述依赖 关系获取部分220用于获取软件系统设计中各个工件间的相互依赖关 系;所述机制设计部分230用于根据所述关联关系和相互依赖关系确 定用于各个工件的保护机制。通过使用本专利技术的方法和系统,能够自动识别和量化关键知识, 并据此更加有效地对关键知识实施保护。根据本专利技术,以"工件,,(artifact)为单位来把软件系统设计划 分为不同的部分。根据软件系统设计的需要,所述"工件,,可以是模块、 Java类、方法、包、文件等。在下文中将参照图3描述关联计算部分210的具体操作方式。在 此之前,先来说明本专利技术使用的两个关键术语"知识曝光率" (Knowledge Exposure Rate: KER )和"工件相关率,,(Artifact Involving Rate: AIR)。"知识膝光率"是指软件系统设计工件中包 含的关键知识的百分比,"工件相关率"指真正与关键知识项相关的工 件的百分比。本领域技术人员能够理解,关键知识可以包括业务功能、商业理 念、独特的商业流程、优化的IT体系结构等类型,并且可以具有多 种表达形式,例如自然语言文本、XML语言文本或本体等。另外, 软件系统设计类型通常为UML设计模型,其表现形式为XML文本。 不过,其他设计模型同样适用于本专利技术,只要该模型具有计算机可理 解的模型。下面,我们将以业务功能类型的关键知识和UML类型的软件系 统设计模型为例对本专利技术的优选实施方式进行说明。如前所述,业务 功能类型的关键知识通常釆取自然语言文本描述的形式,而UML设 计模型通常采取XML文本描述的形式。本专利技术的方法利用了自然语 言文本和XML语言文本的词汇分割特性。具体而言,本专利技术的方法如图3所示。该方法从步骤300开始, 随后进入步骤310,在这里,提取关键知识k中有意义的词汇(例如, 通过进行切词的方式),以得到词汇集合Wk{Wkl, Wk2,Wk3,...Wkl}。然后,在步骤320中,提取每个工件Ci中有意义的词 汇Wd{Wdil, Wdi2, ...,Wdim}。接下来,在步骤330,获得每个工件 Ci的词汇集与关键知识k的词汇集的交集,设这个交集大小为x,然后计算Ci对K的KER = x/1Ci对K的AIR = x/m (1)。图3的方法在步骤340中结束。本领域技术人员能够理解,尽管以上以业务功能类型的关键知识 和UML类型的软件系统设计模型为例对本专利技术的优选实施方式进行 说明,但是本专利技术并不局限于此。事实上,只要能够提取出关键知识 中有意义的部分和设计工本文档来自技高网
...

【技术保护点】
一种由计算机实施的在软件系统设计过程中保护关键知识的方法,所述软件系统设计包括至少多个工件,所述方法包括: 计算关键知识与软件系统设计之间的关联关系; 获取软件系统设计中各个工件之间的相互依赖关系; 根据所述关联关系和相互 依赖关系确定用于各个工件的保护机制。

【技术特征摘要】

【专利技术属性】
技术研发人员:周欣刘英霍震中朱俊苏辉
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1