当前位置: 首页 > 专利查询>清华大学专利>正文

一种网络环境下根据用户需求生成软件服务的方法技术

技术编号:2849100 阅读:260 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种在网络环境下根据用户需求生成软件服务的方法,其特征在于,包括以下步骤:用户通过客户端提交服务需求;服务器端分析用户需求,提取用户需要的功能及相关软件构件领域,获取这些领域中所有构件的信息并发送到客户端;用户查看返回的构件信息,选择自己所需的构件,利用客户端提供的图形化工具对这些构件的接口按需进行连接;客户端将用户的连接方案形成XML文档发送到服务器端;服务器端根据用户的连接方案生成组装运行脚本、提取构件统一封装件,然后解释执行运行脚本完成软件服务组装,最后将生成的服务程序返回给客户端用户。本发明专利技术可实现从用户需求到软件构件的映射,进一步生成相应的软件,从而实现按需的软件服务。

【技术实现步骤摘要】

本专利技术涉及一种为用户提供软件服务的方法,尤其是在网络环境中,根据用户需求,利用软件构件,动态地生成服务程序,完成用户服务按需定制的方法。
技术介绍
在传统的软件行业中,一套软件经过软件开发者的设计、开发和测试后,以统一的版本向全社会发布。一套软件的用户可能很多,每个人的需求不尽相同,但是软件开发者不可能考虑到用户的个人需求而为每个用户都提供不同的软件版本。于是,有的用户可能只为使用其中一个很小的功能而不得不去购买包含此功能的庞大软件系统,从而造成资金和资源的浪费;还有一些用户难于找到包含所需功能集合及相应处理流程的软件,只能利用不同的软件完成不同的功能,然后手动按照流程进行处理,从而难以有效地利用软件达成工作的高效。这种情况还有很多,概括来说就是软件用户难以根据自己的需求来获得定制的软件服务,在本专利技术中,凡是能够独立完成某项功能的应用程序逻辑单元统称为软件服务。随着Internet(英特网)及其相关技术的发展,到了今天,网络已经成为人们生活中重要的工具,通过网络按需获取信息和网络服务成为人们工作、学习的一部分,于是人们也渴望能够通过网络获取按需定制的软件服务。同时,现代社会工作节奏的加快也进一步加剧了对按需化软件服务的需求。于是,网络成为按需软件服务的最合适的提供途径。在网络上,现在已经有一些服务提供商开始尝试为用户提供软件服务,现有的方式主要有两种。一.直接为用户提供软件模块的下载服务,用户可以将下载到的模块集成到自己的程序中去。像ComponentSource(http//www.componentsource.com)就是这其中比较具有代表性的网站之一,它将软件模块进行分类组织,然后提供给用户下载。二.为用户提供调用软件服务的接口,从而使用户可以通过Internet来直接使用软件服务或者将其集成到客户端软件中。例如搜索引擎Google(http//www.google.com)为用户提供了搜索服务的Web API,用户可以通过注册来直接使用或进行软件集成。这几种软件服务在不同的时间、面向不同的用户时,提供的是同样的功能和接口,并没有根据用户的需求进行软件服务的个性化和按需化定制。面对用户的这种需求,软件开发技术有了相应的发展。软件构件和软件复用技术的出现,为软件开发提供了一种新的模式。软件构件是指具有相对独立功能的可复用的软件模块,是软件复用中常用的模块形式,通过软件构件可以实现灵活的功能组合,同时达到软件复用的目的。为了支持软件复用,一些组织和公司纷纷推出自己的构件技术标准。目前,有影响的构件标准有SUN公司提出的Java构件标准JavaBeans、EJB,微软公司提出的COM、DCOM标准以及对象管理组织(OMG)CORBA3.0规范中的CCM标准。Internet上出现了很多遵循上述构件技术标准的专门的构件库。目前业界对构件的研究主要集中在构件的描述、建模以及构件的组装技术上。清华大学网络系统组提出了一种基于多种异构构件的统一封装和组装技术(参见本申请人的专利ZL200410030654.5和CN200510105239.6),该技术将各种类型构件以统一构件封装件结构(简称UCDL)进行封装,通过设置构件库计算机、构件目录库计算机以及构件组装计算机来完成构件组装。其中,构件库计算机存储的是各种软件构件,构件目录库计算机存储的是构件库计算机中每个构件的UCDL封装件,构件组装计算机提供构件组装平台。构件目录库计算机提供根据构件ID进行构件信息提取和构件封装件下载的服务。当进行构件组装时,首先需要从构件目录库计算机上提取构件封装件并下载到构件组装计算机上,然后在构件组装计算机上完成构件组装。利用这种技术,我们可以更为灵活地对各种类型的构件进行组装。在目前的实际应用中,软件构件主要被软件开发人员用在软件开发过程中来完成软件系统的开发,并没有面向终端用户需求的软件定制技术方案出现。
技术实现思路
针对现有技术不能提供面向终端用户的按需软件服务的问题,本专利技术基于UCDL封装件及其组装技术,提出了一种在网络环境下,根据用户需求生成软件服务的方法。本专利技术的特征在于,所述方法依次含有以下步骤步骤(1)服务器端的需求分析计算机上定义一个构件领域信息表,其中,构件是指具有相对独立功能的可复用的软件模块;构件领域是指共享某种功能的软件系统或应用程序的集合,以下简称领域,每个构件都有自己所属的构件领域;所述的构件领域信息表包括领域ID、功能关键词表、领域功能描述和领域构件信息,其中,领域ID是构件领域的唯一标识,用于组织、存储和提取构件领域,功能关键词表存放的是代表该领域所具有的功能的关键词,其中包括了一个功能近义词表,存放的是与功能关键词意思相近的近义词;领域功能描述用于提供该领域功能特性和描述;领域构件信息则存放属于该领域的构件的ID,用于提取属于该领域的构件的信息及构件封装件;步骤(2)客户端启动,用户以功能关键词为首选,功能近义词为次选的文字形式向客户端输入对所需要的软件服务的描述,客户端把该软件服务的描述发送给服务器端的需求分析计算机;步骤(3)需求分析计算机按以下步骤对接收到的用户软件需求的文本进行领域分析,提取出与用户需要的功能相关的构件领域步骤(3.1)若用户需求文本已经为空,转步骤(3.7);否则,找出构件领域信息表中功能关键词和功能近义词中最长的一个词的字长;步骤(3.2)比较步骤(3)中所述的用户需求文本字长与步骤(3.1)中所述的功能关键词和功能近义词中最长的一个词的字长若整个用户需求文本的字长大,则从用户需求文本中从开头顺序按步骤(3.1)中所述的字长取出一个字符串;若整个用户需求文本的字长等于或小于功能关键词和功能近义词中最长的一个词的字长,则把整个用户需求文本作为字符串取出;步骤(3.3)遍历构件领域信息,把当前取出的字符串与功能关键词比较,当与某一功能关键词匹配时,则结束遍历,转到步骤(3.5);否则,转下一步骤;步骤(3.4)遍历构件领域信息,把当前取出的字符串与功能近义词比较,当与某一功能近义词匹配时,则结束遍历,转入下一步骤;否则转步骤(3.6);步骤(3.5)把匹配成功的功能关键词或功能近义词所在的构件领域的标识ID作为用户需求构件领域之一,选入一个保存领域ID的词表记录下来,然后,从用户需求文本开头去掉匹配成功的字符串,转入步骤(3.1);步骤(3.6)步骤(3.4)中所述的匹配不成功,则判断步骤(3.1)中所述字长是否为1若为1则把用户需求文本中的开头第一个字去掉,转入步骤(3.1);若非1则把当前取出的字符串的末尾一个字去掉,转步骤(3.3);步骤(3.7)用户需求文本为空,得到了用户软件服务的所需领域的ID,领域分析结束;步骤(4)如果提取到的构件领域为空,则说明没有与用户软件服务需求相关的构件领域,这时需求分析计算机向客户端的用户发送失败信息,用户需要重新输入软件服务的需求描述;如果构件领域提取成功,需求分析计算机根据步骤(3)得到的用户需求相关的领域ID,提取各个领域包含的领域构件ID,并从所述服务器端的构件目录库计算机中提取对应的至少包括构件功能描述和构件接口信息在内的构件封装件信息,并把这些信息以所在领域分类组织后,作为备选的构件信息发送给客户端本文档来自技高网
...

【技术保护点】
一种网络环境下根据用户需求生成软件服务的方法,其特征在于,所述方法依次含有以下步骤: 步骤(1):服务器端的需求分析计算机上定义一个构件领域信息表,其中,构件是指具有相对独立功能的可复用的软件模块;构件领域是指共享某种功能的软件系统 或应用程序的集合,以下简称领域,每个构件都有自己所属的构件领域;所述的构件领域信息表包括:领域ID、功能关键词表、领域功能描述和领域构件信息,其中,领域ID是构件领域的唯一标识,用于组织、存储和提取构件领域,功能关键词表存放的是代表该领域所具有的功能的关键词,其中包括了一个功能近义词表,存放的是与功能关键词意思相近的近义词;领域功能描述用于提供该领域功能特性和描述;领域构件信息则存放属于该领域的构件的ID,用于提取属于该领域的构件的信息及构件封装件;步骤(2):客户端 启动,用户以功能关键词为首选,功能近义词为次选的文字形式向客户端输入对所需要的软件服务的描述,客户端把该软件服务的描述发送给服务器端的需求分析计算机;步骤(3):需求分析计算机按以下步骤对接收到的用户软件需求的文本进行领域分析,提取 出与用户需要的功能相关的构件领域:步骤(3.1):若用户需求文本已经为空,转步骤(3.7);否则,找出构件领域信息表中功能关键词和功能近义词中最长的一个词的字长;步骤(3.2):比较步骤(3)中所述的用户需求文本字长与步骤( 3.1)中所述的功能关键词和功能近义词中最长的一个词的字长;若:整个用户需求文本的字长大,则从用户需求文本中从开头顺序按步骤(3.1)中所述的字长取出一个字符串;若:整个用户需求文本的字长等于或小于功能关键词和功能近义词中最 长的一个词的字长,则把整个用户需求文本作为字符串取出;步骤(3.3):遍历构件领域信息,把当前取出的字符串与功能关键词比较,当与某一功能关键词匹配时,则结束遍历,转到步骤(3.5);否则,转下一步骤;步骤(3.4):遍历构件 领域信息,把当前取出的字符串与功能近义词比较,当与某一功能近义词匹配时,则结束遍历,转入下一步骤;否则转步骤(3.6);步骤(3.5):把匹配成功的功能关键词或功能近义词所在的构件领域的标识ID作为用户需求构件领域之一,选入一个保存 领域ID的词表记录下来,然后,从用户需求文本开头去掉匹配成功的字符串,转入步骤(3.1);步骤(3.6):步骤(3.4)中所述...

【技术特征摘要】
1.一种网络环境下根据用户需求生成软件服务的方法,其特征在于,所述方法依次含有以下步骤步骤(1)服务器端的需求分析计算机上定义一个构件领域信息表,其中,构件是指具有相对独立功能的可复用的软件模块;构件领域是指共享某种功能的软件系统或应用程序的集合,以下简称领域,每个构件都有自己所属的构件领域;所述的构件领域信息表包括领域ID、功能关键词表、领域功能描述和领域构件信息,其中,领域ID是构件领域的唯一标识,用于组织、存储和提取构件领域,功能关键词表存放的是代表该领域所具有的功能的关键词,其中包括了一个功能近义词表,存放的是与功能关键词意思相近的近义词;领域功能描述用于提供该领域功能特性和描述;领域构件信息则存放属于该领域的构件的ID,用于提取属于该领域的构件的信息及构件封装件;步骤(2)客户端启动,用户以功能关键词为首选,功能近义词为次选的文字形式向客户端输入对所需要的软件服务的描述,客户端把该软件服务的描述发送给服务器端的需求分析计算机;步骤(3)需求分析计算机按以下步骤对接收到的用户软件需求的文本进行领域分析,提取出与用户需要的功能相关的构件领域步骤(3.1)若用户需求文本已经为空,转步骤(3.7);否则,找出构件领域信息表中功能关键词和功能近义词中最长的一个词的字长;步骤(3.2)比较步骤(3)中所述的用户需求文本字长与步骤(3.1)中所述的功能关键词和功能近义词中最长的一个词的字长若整个用户需求文本的字长大,则从用户需求文本中从开头顺序按步骤(3.1)中所述的字长取出一个字符串;若整个用户需求文本的字长等于或小于功能关键词和功能近义词中最长的一个词的字长,则把整个用户需求文本作为字符串取出;步骤(3.3)遍历构件领域信息,把当前取出的字符串与功能关键词比较,当与某一功能关键词匹配时,则结束遍历,转到步骤(3.5);否则,转下一步骤;步骤(3.4)遍历构件领域信息,把当前取出的字符串与功能近义词比较,当与某一功能近义词匹配时,则结束遍历,转入下一步骤;否则转步骤(3.6);步骤(3.5)把匹配成功的功能关键词...

【专利技术属性】
技术研发人员:张尧学田鹏伟方存好钟鸣徐广斌
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1