软件设计文档的生成方法及装置制造方法

文档序号:6547643阅读:141来源:国知局
软件设计文档的生成方法及装置制造方法
【专利摘要】本发明实施例公开了一种软件设计文档的生成方法及装置,涉及信息【技术领域】,该方法包括:获取了软件系统的原版本和更新版本的外观信息元数据、流程信息元数据和数据信息元数据,并分别进行比较,确定外观差异内容、流程差异内容以及数据差异内容;根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。本发明能够解决现有技术中的若获取全量数据的软件设计文档,需要人工重写该软件系统的所有历史数据,过程繁琐复杂的问题。
【专利说明】软件设计文档的生成方法及装置
【技术领域】
[0001]本发明涉及信息【技术领域】,尤其涉及一种软件设计文档的生成方法及装置。
【背景技术】
[0002]目前,随着互联网的普及和信息技术的发展,软件的版本更新越来越快。为了更清楚地获知软件版本更新前后的变化,一般需要人工合成软件设计文档,该软件设计文档可以展现软件系统的功能更新、发展脉络等。
[0003]当前的软件设计文档一般仅记载了对所涉及的功能的修改的增量数据。这样,如果需要多个功能的全量数据的软件设计文档,则需要获取到涉及这几个功能的所有相关项目的文档,然后人工进行合并。上述的人工进行合并并不是简单的复制粘贴过程,而是需要参照所有增量数据重新组织整合成一份全量数据。因此当前若需要获取一份全量数据的软件设计文档,需要人工重写该软件系统的所有历史数据,其过程繁琐复杂。

【发明内容】

[0004]本发明的实施例提供一种软件设计文档的生成方法及装置,以解决当前若需要获取一份全量数据的软件设计文档,需要人工重写该软件系统的所有历史数据,过程繁琐复杂的问题。
[0005]为达到上述目的,本发明采用如下技术方案:
[0006]一种软件设计文档的生成方法,包括:
[0007]获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据;
[0008]接收服务器发送的原版本的流程信息元数据和更新版本的流程信息元数据,以及原版本的数据信息元数据和更新版本的数据信息元数据;
[0009]将所述原版本的外观信息元数据与更新版本的外观信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的外观差异内容;
[0010]将所述原版本的流程信息元数据与更新版本的流程信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的流程差异内容;
[0011]将所述原版本的数据信息元数据与更新版本的数据信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的数据差异内容;
[0012]根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。
[0013]具体的,所述根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档,包括:
[0014]确定软件系统中的各功能对应的外观差异内容、流程差异内容以及数据差异内容;
[0015]将属于同一功能的外观差异内容、流程差异内容以及数据差异内容叠加,生成原版本与更新版本的同一功能的差异信息。[0016]具体的,所述获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据包括:
[0017]接收服务器发送的软件系统的页面流数据;
[0018]将所述页面流数据进行解析,获取各页面控件的身份标识、属性及嵌套关系信息以作为所述原版本的外观信息元数据和所述更新版本的外观信息元数据。
[0019]其中,所述原版本的流程信息元数据和更新版本的流程信息元数据包括:操作流程中的基本执行单元、操作流程顺序以及操作跳转条件;
[0020]所述基本执行单元、操作流程顺序以及操作跳转条件是所述服务器对客户端发送的数据请求进行逻辑处理时获取的。
[0021]其中,所述原版本的数据信息元数据和更新版本的数据信息元数据包括:服务器加载的数据的数据结构;
[0022]所述数据结构是所述服务器在进行数据加载时获取的。
[0023]其中,所述外观差异内容包括:所述页面控件的增加、删除及修改信息,所述各页面控件之间的嵌套关系变化信息以及各页面控件的属性变化信息。
[0024]其中,所述流程差异内容包括:基本执行单元的增加和删除信息,基本执行单元参数变化信息,操作流程顺序变化信息以及操作跳转条件变化信息。
[0025]其中,所述数据差异内容包括:数据的增加和删除信息,数据属性变化信息以及数据结构变化信息。
[0026]一种软件设计文档的生成装置,包括:
[0027]外观信息元数据获取单元,用于获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据;
[0028]接收单元,用于接收服务器发送的原版本的流程信息元数据和更新版本的流程信息元数据,以及原版本的数据信息元数据和更新版本的数据信息元数据;
[0029]外观差异比较单元,用于将所述原版本的外观信息元数据与更新版本的外观信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的外观差异内容;
[0030]流程差异比较单元,用于将所述原版本的流程信息元数据与更新版本的流程信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的流程差异内容;
[0031]数据差异比较单元,用于将所述原版本的数据信息元数据与更新版本的数据信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的数据差异内容;
[0032]软件设计文档生成单元,用于根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。
[0033]具体的,所述软件设计文档生成单元包括:
[0034]确定模块,用于确定软件系统中的各功能对应的外观差异内容、流程差异内容以及数据差异内容;
[0035]生成模块,用于将属于同一功能的外观差异内容、流程差异内容以及数据差异内容叠加,生成原版本与更新版本的同一功能的差异信息。
[0036]具体的,所述外观信息元数据获取单元包括:
[0037]页面流数据接收模块,用于接收服务器发送的软件系统的页面流数据;
[0038]解析模块,用于将所述页面流数据进行解析,获取各页面控件的身份标识、属性及嵌套关系信息以作为所述原版本的外观信息元数据和所述更新版本的外观信息元数据。
[0039]具体的,所述接收单元接收的所述原版本的流程信息元数据和更新版本的流程信息元数据包括:操作流程中的基本执行单元、操作流程顺序以及操作跳转条件;
[0040]所述基本执行单元、操作流程顺序以及操作跳转条件是所述服务器对客户端发送的数据请求进行逻辑处理时获取的。
[0041]具体的,所述接收单元接收的所述原版本的数据信息元数据和更新版本的数据信息元数据包括:服务器加载的数据的数据结构;
[0042]所述数据结构是所述服务器在进行数据加载时获取的。
[0043]具体的,所述外观差异比较单元确定的所述外观差异内容包括:所述页面控件的增加、删除及修改信息,所述各页面控件之间的嵌套关系变化信息以及各页面控件的属性
变化信息。
[0044]具体的,所述流程差异比较单元确定的所述流程差异内容包括:基本执行单元的增加和删除信息,基本执行单元参数变化信息,操作流程顺序变化信息以及操作跳转条件
变化信息。
[0045]具体的,所述数据差异比较单元确定的所述数据差异内容包括:数据的增加和删除信息,数据属性变化信息以及数据结构变化信息。
[0046]本发明实施例提供的软件设计文档的生成方法及装置,获取了软件系统的原版本和更新版本的外观信息元数据、流程信息元数据以及数据信息元数据,并分别进行比较确定外观差异内容、流程差异内容以及数据差异内容,从而根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。本发明实施例生成软件设计文档是通过对信息元数据进行比较并进行差异内容的确定,无需人工重新软件系统的所有历史数据,过程较为简单。因此本发明能够避免在获取软件系统全量数据的软件设计文档时,需要人工重写该软件系统的所有历史数据,过程繁琐复杂的问题。
【专利附图】

【附图说明】
[0047]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0048]图1为本发明实施例提供的软件设计文档的生成方法的流程图;
[0049]图2为本发明实施例中生成软件设计文档的示意图;
[0050]图3为本发明实施例中的基本信息输入页面的示意图;
[0051]图4为本发明实施例中的详细信息输入页面的示意图;
[0052]图5为本发明实施例中的信息输入区域的示意图;
[0053]图6为本发明实施例中的控制按钮区域的示意图;
[0054]图7为本发明实施例中的信息输入区域拆分后的示意图;
[0055]图8为本发明实施例中的控制按钮区域拆分后的示意图;
[0056]图9为本发明实施例中的产品购买功能的逻辑流程示意图;
[0057]图10为本发明实施例提供的软件设计文档的生成装置的结构图;[0058]图11为本发明实施例提供的软件设计文档的生成装置的结构图。
【具体实施方式】
[0059]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]如图1所示,本发明实施例提供的软件设计文档的生成方法,包括:
[0061]步骤101、获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据。
[0062]步骤102、接收服务器发送的原版本的流程信息元数据和更新版本的流程信息元数据,以及原版本的数据信息元数据和更新版本的数据信息元数据。
[0063]步骤103、将所述原版本的外观信息元数据与更新版本的外观信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的外观差异内容。
[0064]步骤104、将所述原版本的流程信息元数据与更新版本的流程信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的流程差异内容。
[0065]步骤105、将所述原版本的数据信息元数据与更新版本的数据信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的数据差异内容。
[0066]步骤106、根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。
[0067]值得说明的是,本发明实施例提供的软件设计文档的生成方法的执行主体可以是一种软件设计文档的生成装置,该软件设计文档的生成装置可以设置在软件系统的客户端中,但不仅局限于此。
[0068]本发明实施例提供的软件设计文档的生成方法,获取了软件系统的原版本和更新版本的外观信息元数据、流程信息元数据以及数据信息元数据,并分别进行比较确定外观差异内容、流程差异内容以及数据差异内容,从而根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。本发明实施例生成软件设计文档是通过对信息元数据进行比较并进行差异内容的确定,无需人工重新软件系统的所有历史数据,过程较为简单。因此本发明能够避免在获取软件系统全量数据的软件设计文档时,需要人工重写该软件系统的所有历史数据,过程繁琐复杂的问题。
[0069]值得说明的是,本发明实施例中的软件系统一般可以为基于浏览器/服务器(Browser/Server,简称B/S)模式下开发的软件系统。
[0070]上述获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据可以通过如下方式实现:
[0071]首先,接收服务器发送的软件系统的页面流数据。之后,将所述页面流数据进行解析,获取各页面控件的身份标识、属性及嵌套关系信息以作为所述原版本的外观信息元数据和所述更新版本的外观信息元数据。
[0072]上述的外观信息元数据中的外观一般是指B/S模式下开发的软件系统中的外观界面,例如浏览器所展现的网页等。在软件系统中,每个功能的外观界面首先可以被拆分成多个用于输入和输出的页面,每个页面可被拆分成多个页面区域,例如操作引导区、输入条件区、输出结果区、功能描述区等。之后每个页面区域又可被拆分成多个页面控件,例如输入框、下拉框、文字显示区、文字输入框等,而每个页面控件就可以相当于一个外观信息元。
[0073]上述获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据可以通过一外观信息元采集组件实现,该外观信息元采集组件可以是一个在客户端运行的服务组件,例如在客户端的浏览器中将其配置为代理服务器。当服务器将页面流数据发送给客户端后,浏览器在展现页面显示内容之前,会先调用该代理服务器解析页面流数据,拆分出页面控件一作为外观信息元。
[0074]具体的,所述原版本的流程信息元数据和更新版本的流程信息元数据包括:操作流程中的基本执行单元、操作流程顺序以及操作跳转条件。
[0075]所述基本执行单元、操作流程顺序以及操作跳转条件是所述服务器对客户端发送的数据请求进行逻辑处理时获取的。
[0076]客户端在运行软件系统时,一般会向服务器请求软件系统所需数据,例如在运行交易功能时的支付金额数据,在运行查询功能时的余额数据,交易时间数据等。在服务器提供软件系统所需数据时,会进行执行一些基本执行单元的操作。其中,该基本执行单元可以是程序中的一次基本操作,例如数据库读写,主机查询,变量赋值等等,都可以认为是一次基本操作。上述的操作流程顺序一般指各基本执行单元之间的执行先后顺序。上述的操作跳转条件一般是指在一个基本执行单元进行操作后,若满足该操作跳转条件,将进行另一个基本执行单元的操作。
[0077]具体的,服务器获取原版本的流程信息元数据和更新版本的流程信息元数据一般通过一流程信息元采集组件实现,该流程信息元采集组件部署在服务器的流程调度器中,在流程调度过程中,当服务器收到客户端中的浏览器提交的数据请求,例如客户端向服务器请求上述的软件系统所需数据时,会调用流程调度器执行业务处理逻辑,每一次流程调度器在执行判断逻辑选择下一步操作时都会调用该流程信息元采集组件记录处理过程,从而拆分出流程信息元。例如如下服务器的流程调度的伪代码:
[0078]//获取流程第一操作
[0079]var当前操作=流程第一个操作;
[0080]//执行流程
[0081]while (当前操作!=结束操作){
操作采集器.记录(当前操作);
//执行流程中的一个操作,并记录执行返回结果
var执行结果=执行(当前操作);
跳转条件采集器.记录(执行结果)
//根据当前操作和返回结果,查找下一个要执行的操作
当前操作=查找下一个操作(当前操作,执行结果)
跳转采集器.记录(下一个操作);

}
[0082]在上述伪代码中,可见流程信息元采集组件可以包括操作采集器,跳转条件采集器以及跳转采集器,其中操作采集器采集的当前操作即为一个基本执行单元,跳转条件采集器采集的执行结果即为操作跳转条件,跳转采集器通过记录下一个操作,即可得到当前操作到下一个操作的执行先后顺序。
[0083]具体的,所述原版本的数据信息元数据和更新版本的数据信息元数据包括:服务器加载的数据的数据结构。
[0084]所述数据结构是所述服 务器在进行数据加载时获取的。
[0085]服务器获取原版本的数据信息元数据和更新版本的数据信息元数据可以通过一数据信息元采集器实现,该数据信息元采集器部署在服务器中,当服务器进行数据加载时,触发数据信息元采集器,并记录数据结构,从而得到数据信息元。
[0086]以下代码是一个数据的例子,服务器在创建这个数据对象时,会调用数据信息元采集器,对创建的当前数据进行记录。在创建icar数据时,会记录type = iColl, id = car,size = I,在记录 car 数据时,会记录 type = kColl, id = car
[0087]

<iColl id="icar"sizc=" l ">

<kColl id="car" append="lalse">

〈field id="makc"/>

<llcld id="modcl"/>

<iColl id="icarl" sizc="l">


<l<Coll id="carl" appcnd="truc">


</kColl>

</iColl>

</kColl>

</iColl>
[0088]本实施例列举的流程信息元采集组件、数据信息元采集组件利用了 JAVA5的Instrumentation特性。通过将采集器程序jar和切面植入工具的javaagent代理jar,部署到服务器classpath中,并在java启动参数中配置参数。服务器的流程调度模块和数据生成模块工作时,让运行JAVA程序所必须的环境的集合JRE在加载目标class文件的时候,首先执行代理javaagent,代理会在加载这个目标class的时候,调用采集器,从而实现切面植入,达到触发采集器,采集和记录对应信息的目的。切面植入的工具可采用开源的第三方切面植入工具aspectj等。
[0089]另外,客户端获取的原版本和更新版本的外观信息元数据可以分别以一个XML格式的文件形式记录在客户端中,以便后续进行比较时调用。同样的,服务器获取的原版本和更新版本的流程信息元数据和数据信息元数据也可以分别以XML格式的文件形式记录在服务器中。
[0090]值得说明的是,本发明实施例中的根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档,可以通过如下方式实现:
[0091]首先,确定软件系统中的各功能对应的外观差异内容、流程差异内容以及数据差异内容。
[0092]然后,将属于同一功能的外观差异内容、流程差异内容以及数据差异内容叠加,生成原版本与更新版本的同一功能的差异信息。
[0093]其中,上述外观差异内容可以包括:所述页面控件的增加、删除及修改信息,所述各页面控件之间的嵌套关系变化信息以及各页面控件的属性变化信息。上述流程差异内容可以包括:基本执行单元的增加和删除信息,基本执行单元参数变化信息,操作流程顺序变化信息以及操作跳转条件变化信息。上述数据差异内容可以包括:数据的增加和删除信息,数据属性变化信息以及数据结构变化信息。
[0094] 上述的外观差异内容、流程差异内容以及数据差异内容可以由一个差异明细记录组件记录在一个信息元差异明细表中,例如下表1所示:
[0095]
【权利要求】
1.一种软件设计文档的生成方法,其特征在于,包括: 获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据; 接收服务器发送的原版本的流程信息元数据和更新版本的流程信息元数据,以及原版本的数据信息元数据和更新版本的数据信息元数据; 将所述原版本的外观信息元数据与更新版本的外观信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的外观差异内容; 将所述原版本的流程信息元数据与更新版本的流程信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的流程差异内容; 将所述原版本的数据信息元数据与更新版本的数据信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的数据差异内容; 根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。
2.根据权利要求1所述的软件设计文档的生成方法,其特征在于,所述根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档,包括: 确定软件系统中 的各功能对应的外观差异内容、流程差异内容以及数据差异内容; 将属于同一功能的外观差异内容、流程差异内容以及数据差异内容叠加,生成原版本与更新版本的同一功能的差异信息。
3.根据权利要求2所述的软件设计文档的生成方法,其特征在于,所述获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据包括: 接收服务器发送的软件系统的页面流数据; 将所述页面流数据进行解析,获取各页面控件的身份标识、属性及嵌套关系信息以作为所述原版本的外观信息元数据和所述更新版本的外观信息元数据。
4.根据权利要求2所述的软件设计文档的生成方法,其特征在于,所述原版本的流程信息元数据和更新版本的流程信息元数据包括:操作流程中的基本执行单元、操作流程顺序以及操作跳转条件; 所述基本执行单元、操作流程顺序以及操作跳转条件是所述服务器对客户端发送的数据请求进行逻辑处理时获取的。
5.根据权利要求2所述的软件设计文档的生成方法,其特征在于,所述原版本的数据信息元数据和更新版本的数据信息元数据包括:服务器加载的数据的数据结构; 所述数据结构是所述服务器在进行数据加载时获取的。
6.根据权利要求5所述的软件设计文档的生成方法,其特征在于,所述外观差异内容包括:所述页面控件的增加、删除及修改信息,所述各页面控件之间的嵌套关系变化信息以及各页面控件的属性变化信息。
7.根据权利要求6所述的软件设计文档的生成方法,其特征在于,所述流程差异内容包括:基本执行单元的增加和删除信息,基本执行单元参数变化信息,操作流程顺序变化信息以及操作跳转条件变化信息。
8.根据权利要求7所述的软件设计文档的生成方法,其特征在于,所述数据差异内容包括:数据的增加和删除信息,数据属性变化信息以及数据结构变化信息。
9.一种软件设计文档的生成装置,其特征在于,包括:外观信息元数据获取单元,用于获取软件系统的原版本的外观信息元数据以及更新版本的外观信息元数据; 接收单元,用于接收服务器发送的原版本的流程信息元数据和更新版本的流程信息元数据,以及原版本的数据信息元数据和更新版本的数据信息元数据; 外观差异比较单元,用于将所述原版本的外观信息元数据与更新版本的外观信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的外观差异内容; 流程差异比较单元,用于将所述原版本的流程信息元数据与更新版本的流程信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的流程差异内容; 数据差异比较单元,用于将所述原版本的数据信息元数据与更新版本的数据信息元数据进行比较,确定更新版本的软件系统与原版本的软件系统的数据差异内容; 软件设计文档生成单元,用于根据所述外观差异内容、流程差异内容以及数据差异内容进行整合,以生成软件设计文档。
10.根据权利要求9所述的软件设计文档的生成装置,其特征在于,所述软件设计文档生成单元包括: 确定模块,用于确定软件系统中的各功能对应的外观差异内容、流程差异内容以及数据差异内容; 生成模块,用于将属于同一功能的外观差异内容、流程差异内容以及数据差异内容叠加,生成原版本与更新版本的同一功能的差异信息。
11.根据权利要求10所述的软件设计文档的生成装置,其特征在于,所述外观信息元数据获取单元包括: 页面流数据接收模块,用于接收服务器发送的软件系统的页面流数据; 解析模块,用于将所述页面流数据进行解析,获取各页面控件的身份标识、属性及嵌套关系信息以作为所述原版本的外观信息元数据和所述更新版本的外观信息元数据。
12.根据权利要求10所述的软件设计文档的生成装置,其特征在于,所述接收单元接收的所述原版本的流程信息元数据和更新版本的流程信息元数据包括:操作流程中的基本执行单元、操作流程顺序以及操作跳转条件; 所述基本执行单元、操作流程顺序以及操作跳转条件是所述服务器对客户端发送的数据请求进行逻辑处理时获取的。
13.根据权利要求10所述的软件设计文档的生成装置,其特征在于,所述接收单元接收的所述原版本的数据信息元数据和更新版本的数据信息元数据包括:服务器加载的数据的数据结构; 所述数据结构是所述服务器在进行数据加载时获取的。
14.根据权利要求13所述的软件设计文档的生成装置,其特征在于,所述外观差异比较单元确定的所述外观差异内容包括:所述页面控件的增加、删除及修改信息,所述各页面控件之间的嵌套关系变化信息以及各页面控件的属性变化信息。
15.根据权利要求14所述的软件设计文档的生成装置,其特征在于,所述流程差异比较单元确定的所述流程差异内容包括:基本执行单元的增加和删除信息,基本执行单元参数变化信息,操作流程顺序变化信息以及操作跳转条件变化信息。
16.根据权利要求15所述的软件设计文档的生成装置,其特征在于,所述数据差异比较单元确定的所述数据差异内容包括:数据的增加和删除信息,数据属性变化信息以及数据结构变 化信息。
【文档编号】G06F9/44GK103984554SQ201410225305
【公开日】2014年8月13日 申请日期:2014年5月26日 优先权日:2014年5月26日
【发明者】罗涛, 简志雄, 朱江, 夏扬, 张兴伟, 曾华涛 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1