CN110515653A - 文档生成方法、装置、电子设备及计算机可读存储介质 - Google Patents

文档生成方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110515653A
CN110515653A CN201910818556.4A CN201910818556A CN110515653A CN 110515653 A CN110515653 A CN 110515653A CN 201910818556 A CN201910818556 A CN 201910818556A CN 110515653 A CN110515653 A CN 110515653A
Authority
CN
China
Prior art keywords
class
information
projects module
module
source code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910818556.4A
Other languages
English (en)
Other versions
CN110515653B (zh
Inventor
梁国华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Neusoft Wang Hai Technology Co Ltd
Original Assignee
Beijing Neusoft Wang Hai Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Neusoft Wang Hai Technology Co Ltd filed Critical Beijing Neusoft Wang Hai Technology Co Ltd
Priority to CN201910818556.4A priority Critical patent/CN110515653B/zh
Publication of CN110515653A publication Critical patent/CN110515653A/zh
Application granted granted Critical
Publication of CN110515653B publication Critical patent/CN110515653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种文档生成方法、装置、电子设备及计算机可读存储介质。该方法包括:基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图,基于预设源代码对应的数据库生成至少一个数据字典信息,基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档。本申请实施例实现了快速的从源代码中提取设计文档,无需用户分析巨量的源代码以分析某个项目模块的运行逻辑和流程,减少人力与时间,提高了用户体验。

Description

文档生成方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及软件开发技术领域,具体而言,本申请涉及一种文档生成方法、装置、电子设备及计算机可读存储介质。
背景技术
软件项目开发中,设计文档主要描述软件模块的精确结构以及软件模块的运行逻辑和流程,因此具有重要的地位。
通常情况下,设计文档用于指导开发人员进行具体的软件项目开发。在软件项目开发的过程中,需要设计最初的设计文档,以使软件项目开发人员根据最初的设计文档编写软件代码,然而由于需求变更导致软件项目的开发需要不断的进行调整,进而导致最初的设计文档已经偏离具体的需求。当软件开发的过程中发现有问题存在时,在没有设计文档或者设计文档存在误差的情况下,软件开发人员需要从巨量的软件代码中分析某个模块的运行逻辑和流程以解决问题,而分析巨量软件代码的过程需花费大量的时间和人力。
因此,如何快速的从源代码中提取设计文档成为一个关键性的技术。
发明内容
本申请提供了一种文档生成方法、装置、电子设备及计算机可读存储介质,可以解决以上至少一种技术问题。
第一方面,提供了一种文档生成方法,该方法包括:
基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图;
基于预设源代码对应的数据库生成至少一个数据字典信息;
基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档。
第二方面,提供了一种文档生成装置,该装置包括:
第一生成模块,用于基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图;
第二生成模块,用于基于预设源代码对应的数据库生成至少一个数据字典信息;
第三生成模块,用于基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面所示的文档生成方法对应的操作。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所示的文档生成方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种文档生成方法、装置、电子设备及计算机可读存储介质,与现有技术相比,本申请基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图,并基于预设源代码对应的数据库生成至少一个数据字典信息,然后基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档,实现了快速的从源代码中提取设计文档,无需用户分析巨量的源代码以分析某个项目模块的运行逻辑和流程,减少人力与时间,提高了用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种文档生成方法的流程示意图;
图2为本申请实施例提供的一种文档生成装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种文档生成方法,如图1所示,该方法包括:
步骤S101,基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图。
对于本申请实施例,预设源代码可以采用Spring框架技术作为业务开发的主体开发框架,同时采用开源的Eclipse开发工具进行Java语言编程得到;项目模块指软件开发过程中一个项目所包含的任意一个模块的名称;类图(Class Diagram)能够显示预设源代码中各个项目模块存在的类、类的内部结构以及类之间的关系等;时序图(SequenceDiagram)是一种统一建模语言交互图,能够描述预设源代码中各个项目模块的类之间发送消息的时间顺序,显示多个类之间的动态协作。
步骤S102,基于预设源代码对应的数据库生成至少一个数据字典信息。
对于本申请实施例,数据字典信息主要描述预设源代码对应的数据库中的数据信息。
对于本申请实施例,步骤S101可以在步骤S102之前执行,也可以在步骤S102之后执行,也可以与步骤S102同时执行,在本申请实施例中不做限定。
步骤S103,基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档。
对本申请实施例,设计文档指软件开发过程中的详细设计文档,主要将预设源代码中每个项目模块的业务逻辑处理以文字和/或图表的方式表达出来,便于用户分析某个项目模块的运行逻辑,从而调整预设源代码或者软件开发的需求。
本申请实施例提供了一种文档生成方法,与现有技术相比,本申请实施例基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图,并基于预设源代码对应的数据库生成至少一个数据字典信息,然后基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档,实现了快速的从源代码中提取设计文档,无需用户分析巨量的源代码以分析某个项目模块的运行逻辑和流程,减少人力与时间,提高了用户体验。
本申请实施例的另一种可能实现方式,基于预设源代码生成任一项目模块对应的至少一个类图以及任一项目模块对应的至少一个时序图,具体可以包括:基于预设源代码确定任一项目模块对应的源代码;从任一项目模块对应的源代码中提取各个类分别对应的类信息;基于各个类分别对应的类信息,生成任一项目模块对应的至少一个类图以及任一项目模块对应的至少一个时序图。
对于本申请实施例,利用Java源代码分析工具可以从任一项目模块对应的源代码中提取各个类分别对应的类信息,其中,该Java源代码分析工具可以为插件“org.eclipse.jdt.core”。在本申请实施例中,通过调用插件“org.eclipse.jdt.core”中的“org.eclipse.jdt.core.dom.ASTParser”接口,对任一项目模块对应的源代码进行分析,得到一个返回值,该返回值中包含任一项目模块中各个类分别对应的类信息,其中,“org.eclipse.jdt.core.dom.ASTParser”接口为Eclipse开发工具中的抽象语法树解析器。
对于本申请实施例,除可以从任一项目模块对应的源代码中提取各个类分别对应的类信息外,还可以提取到其他信息,如任一项目模块对应的包名(Package name),在本申请实施例中不做限定。
对于本申请实施例,可以利用第一绘图工具基于各个类分别对应的类信息生成任一项目模块对应的至少一个类图,利用第二绘图工具基于各个类分别对应的类信息生成任一项目模块对应的至少一个时序图。其中,第一绘图工具和第二绘图工具可以为同一个绘图工具,也可以为两个不同的绘图工具,在本申请实施例中不做限定。
本申请实施例的另一种可能实现方式,类信息包括:类的定义信息、类中包含的方法信息、类中包含的字段信息以及类的注解信息。
对于本申请实施例,可以以列表的形式展出类中包含的方法信息,该类中包含的方法信息可以包括类中包含的方法名、以及类中各方法所使用的参数名和参数类型等,在本申请实施例中不做限定。
对于本申请实施例,一个字段信息可以表示一个固定的含义,一个类信息中包括至少一个字段信息,如“姓名”为一个字段信息,“性别”为一个字段信息,“联系方式”为一个字段信息,“用户”为一个类信息,其中,“用户”这个类信息中可以包括“姓名”、“性别”以及“联系方式”这三个字段信息。
本申请实施例的另一种可能实现方式,基于各个类分别对应的类信息,生成任一项目模块对应的至少一个类图,可以包括:
基于各个类分别对应的类信息,确定第一调用关系信息;基于各个类分别对应的类信息以及第一调用关系信息,生成任一项目模块对应的至少一个类图。
其中,第一调用关系信息为各个类分别对应的类信息之间的调用关系信息。
对于本申请实施例,可以利用第一绘图工具基于各个类分别对应的类信息,确定第一调用关系信息,并基于各个类分别对应的类信息以及第一调用关系信息,生成任一项目模块对应的至少一个类图;还可以人工基于各个类分别对应的类信息,确定第一调用关系信息,利用第一绘图工具基于各个类分别对应的类信息以及第一调用关系信息,生成任一项目模块对应的至少一个类图。其中,第一绘图工具可以为“plantuml”(“plantuml”为统一建模语言UML图回执器),在本申请实施例中不做限定。
本申请实施例的另一种可能实现方式,基于各个类分别对应的类信息,生成任一项目模块对应的至少一个时序图,包括:
从各个类分别对应的类信息中提取目标类的类信息;基于目标类的类信息,生成任一项目模块对应的至少一个时序图。
对于本申请实施例,由于预设源代码是采用Spring框架技术作为业务开发的主体开发框架的,而Spring框架技术通过注解的方式来管理主体开发框架的业务逻辑对象,因此,可以通过Spring框架技术中的预设注解信息从各个类分别对应的类信息中提取目标类的类信息。在本申请实施例中,预设注解信息可以包括“@Component”(定义组件)、“@Repository”(数据访问层)、“@Service”(业务服务层)、“@Controller”(控制层)、“@Autowired”(自动装配)以及“@Resource”(资源引用)中的至少一项,但不限于上述所示,在本申请实施例中不做限定。
对于本申请实施例,可以利用第二绘图工具基于目标类的类信息,生成任一项目模块对应的至少一个时序图,其中,第二绘图工具可以为“plantuml”,在本申请实施例中不做限定。
本申请实施例的另一种可能实现方式,基于目标类的类信息,生成任一项目模块对应的至少一个时序图,包括:
基于目标类的类信息,确定第二调用关系信息;基于目标类的类信息以及第二调用关系信息,生成任一项目模块对应的至少一个时序图。
其中,第二调用关系信息为目标类的类信息之间的调用关系信息。
对于本申请实施例,可以利用第二绘图工具基于目标类的类信息确定第二调用关系信息,并基于目标类的类信息以及第二调用关系信息,生成任一项目模块对应的至少一个时序图;还可以人工基于目标类的类信息确定第二调用关系信息,利用第二绘图工具基于目标类的类信息以及第二调用关系信息,生成任一项目模块对应的至少一个时序图。其中,第一绘图工具可以为“plantuml”,在本申请实施例中不做限定。
本申请实施例的另一种可能实现方式,步骤S102具体可以包括:通过预设描述对象接口从预设源代码对应的数据库中提取各个项目模块分别对应的所有表的描述信息;基于各个项目模块分别对应的所有表的描述信息生成至少一个数据字典信息。
其中,描述信息可以包括以下至少一项:
数据库表的名称;数据库表中的列名称;数据库表中的列名称对应的类型;数据库表中的列名称对应的注释说明;数据库表中的列名称对应的主键信息。
对于本申请实施例,预设描述对象接口可以为数据库元数据对象DataBaseMetaData接口,也可以为其他接口,如,结果集元数据对象ResultSetMetaData接口,在本申请实施例中不做限定。
对于本申请实施例,利用DataBaseMetaData接口的“getTables”可以提取各个项目模块分别对应的所有的表信息,利用DataBaseMetaData接口的“getColumns”可以提取各个项目模块分别对应的所有表的列信息,利用DataBaseMetaData接口的“getgetPrimaryKeys”可以提取各个项目模块分别对应的所有表的主键信息。
对于本申请实施例,基于各个项目模块分别对应的所有表的描述信息,利用预设编程工具生成至少一个数据字典信息,其中,预设编程工具可以为Eclipse工具,在本申请实施例中不做限定。
对于本申请实施例,描述信息不限于上述所示,在本申请实施例中不做限定。
本申请实施例的另一种可能实现方式,步骤S103可以包括:
基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息,并通过预设文档模板,生成设计文档。
对于本申请实施例,通过识别预设文档模板中的关键字,基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息,生成设计文档。
例如,通过识别预设文档模板中的“类图”关键字,将各个项目模块分别对应的至少一个类图插入至预设文档模板中对应的第一位置处;通过识别预设文档模板中的“时序图”关键字,将各个项目模块分别对应的至少一个时序图插入至预设文档模板中对应的第二位置处;通过识别预设文档模板中的“数据字典”关键字,将至少一个数据字典信息插入至预设文档模板中对应的第三位置处,以实现生成设计文档。
对于本申请实施例,上述实施例可以由终端设备执行,也可以由服务器执行,也可以部分由终端设备执行,部分由服务器执行。在本申请实施例中不做限定。
上述从方法步骤的角度具体阐述了文档生成方法,下面从虚拟模块或者虚拟单元的角度介绍文档生成装置装置,具体如下所示:
本申请实施例提供了一种文档生成装置,如图2所示,该文档生成装置20可以包括:第一生成模块201、第二生成模块202以及第三生成模块203,其中,
第一生成模块201,用于基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图。
第二生成模块202,用于基于预设源代码对应的数据库生成至少一个数据字典信息;
第三生成模块203,用于基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档。
本申请实施例的一种可能实现方式,第一生成模块201包括确定单元、第一提取单元以及第一生成单元,其中,
确定单元,用于基于预设源代码确定任一项目模块对应的源代码。
第一提取单元,用于从任一项目模块对应的源代码中提取各个类分别对应的类信息。
第一生成单元,用于基于各个类分别对应的类信息,生成任一项目模块对应的至少一个类图以及任一项目模块对应的至少一个时序图。
本申请实施例的另一种可能实现方式,第一生成单元包括确定子单元和第一生成子单元,其中,
确定子单元,用于基于各个类分别对应的类信息,确定第一调用关系信息。
第一生成子单元,用于基于各个类分别对应的类信息以及第一调用关系信息,生成任一项目模块对应的至少一个类图。
本申请实施例的另一种可能实现方式,第一生成单元包括提取子单元和第二生成子单元,其中,
提取子单元,用于从各个类分别对应的类信息中提取目标类的类信息。
第二生成子单元,用于基于目标类的类信息,生成任一项目模块对应的至少一个时序图。
本申请实施例的另一种可能实现方式,第二生成子单元,具体用于基于目标类的类信息,确定第二调用关系信息。
第二生成子单元,具体还用于基于目标类的类信息以及第二调用关系信息,生成任一项目模块对应的至少一个时序图。
本申请实施例的另一种可能实现方式,类信息包括:类的定义信息、类中包含的方法信息、类中包含的字段信息以及类的注解信息。
本申请实施例的另一种可能实现方式,第二生成模块包括第二提取单元和第二生成单元,其中,
第二提取单元,用于通过预设描述对象接口从预设源代码对应的数据库中提取各个项目模块分别对应的所有表的描述信息。
第二生成单元,用于基于各个项目模块分别对应的所有表的描述信息生成至少一个数据字典信息。
本申请实施例的另一种可能实现方式,描述信息包括以下至少一项:
数据库表的名称;数据库表中的列名称;数据库表中的列名称对应的类型;数据库表中的列名称对应的注释说明;数据库表中的列名称对应的主键信息。
本申请实施例的另一种可能实现方式,第三生成模块203,具体用于基于所述各个项目模块分别对应的至少一个类图、所述各个项目模块分别对应的至少一个时序图以及所述至少一个数据字典信息,并通过预设文档模板,生成设计文档。
对于本申请实施例,第一生成模块201、第二生成模块202以及第三生成模块203可以为同一个生成模块,也可以为两个不同的生成模块;第一生成子单元、第二生成子单元可以为同一个生成子单元,也可以为两个不同的生成子单元,在本申请实施例中不做限定。
本申请实施例提供的一种文档生成装置可用于执行本申请方法实施例所提供的一种文档生成方法对应的操作,其实现原理相类似,在此不再赘述。
本申请实施例提供了一种文档生成装置,与现有技术相比,本申请实施例基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图,并基于预设源代码对应的数据库生成至少一个数据字典信息,然后基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档,实现了快速的从源代码中提取设计文档,无需用户分析巨量的源代码以分析某个项目模块的运行逻辑和流程,减少人力与时间,提高了用户体验。
上述从虚拟模块或者虚拟单元的角度介绍本申请的文档生成装置,下面从实体装置的角度介绍本申请的电子设备。
本申请实施例提供了一种电子设备,如图3所示,图3所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI总线或EISA总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
本申请实施例提供了一种电子设备,本申请实施例中的电子设备包括:存储器和处理器;至少一个程序,存储于所述存储器中,用于被所述处理器执行时,与现有技术相比可实现:本申请实施例基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图,并基于预设源代码对应的数据库生成至少一个数据字典信息,然后基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档,实现了快速的从源代码中提取设计文档,无需用户分析巨量的源代码以分析某个项目模块的运行逻辑和流程,减少人力与时间,提高了用户体验。
上述从实体装置的角度介绍本申请的电子设备,下面从存储介质的角度介绍本申请的计算机可读存储介质。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请实施例基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图,并基于预设源代码对应的数据库生成至少一个数据字典信息,然后基于各个项目模块分别对应的至少一个类图、各个项目模块分别对应的至少一个时序图以及至少一个数据字典信息生成设计文档,实现了快速的从源代码中提取设计文档,无需用户分析巨量的源代码以分析某个项目模块的运行逻辑和流程,减少人力与时间,提高了用户体验。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种文档生成方法,其特征在于,包括:
基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图;
基于所述预设源代码对应的数据库生成至少一个数据字典信息;
基于所述各个项目模块分别对应的至少一个类图、所述各个项目模块分别对应的至少一个时序图以及所述至少一个数据字典信息生成设计文档。
2.根据权利要求1所述的方法,其特征在于,基于预设源代码生成任一项目模块对应的至少一个类图以及所述任一项目模块对应的至少一个时序图,包括:
基于所述预设源代码确定所述任一项目模块对应的源代码;
从所述任一项目模块对应的源代码中提取各个类分别对应的类信息;
基于所述各个类分别对应的类信息,生成所述任一项目模块对应的至少一个类图以及所述任一项目模块对应的至少一个时序图。
3.根据权利要求2所述的方法,其特征在于,基于所述各个类分别对应的类信息,生成所述任一项目模块对应的至少一个类图,包括:
基于所述各个类分别对应的类信息,确定第一调用关系信息;
基于所述各个类分别对应的类信息以及所述第一调用关系信息,生成所述任一项目模块对应的至少一个类图。
4.根据权利要求2所述的方法,其特征在于,基于所述各个类分别对应的类信息,生成所述任一项目模块对应的至少一个时序图,包括:
从所述各个类分别对应的类信息中提取目标类的类信息;
基于所述目标类的类信息,生成所述任一项目模块对应的至少一个时序图。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标类的类信息,生成所述任一项目模块对应的至少一个时序图,包括:
基于所述目标类的类信息,确定第二调用关系信息;
基于所述目标类的类信息以及所述第二调用关系信息,生成所述任一项目模块对应的至少一个时序图。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述类信息包括:类的定义信息、类中包含的方法信息、类中包含的字段信息以及类的注解信息。
7.根据权利要求1所述的方法,其特征在于,所述基于所述预设源代码对应的数据库生成至少一个数据字典信息,包括:
通过预设描述对象接口从所述预设源代码对应的数据库中提取所述各个项目模块分别对应的所有表的描述信息;
基于所述各个项目模块分别对应的所有表的描述信息生成所述至少一个数据字典信息。
8.根据权利要求7所述的方法,其特征在于,所述描述信息包括以下至少一项:
数据库表的名称;数据库表中的列名称;数据库表中的列名称对应的类型;数据库表中的列名称对应的注释说明;数据库表中的列名称对应的主键信息。
9.根据权利要求1所述的方法,其特征在于,所述基于所述各个项目模块分别对应的至少一个类图、所述各个项目模块分别对应的至少一个时序图以及所述至少一个数据字典信息生成设计文档,包括:
基于所述各个项目模块分别对应的至少一个类图、所述各个项目模块分别对应的至少一个时序图以及所述至少一个数据字典信息,并通过预设文档模板,生成设计文档。
10.一种文档生成装置,其特征在于,包括:
第一生成模块,用于基于预设源代码生成各个项目模块分别对应的至少一个类图以及各个项目模块分别对应的至少一个时序图;
第二生成模块,用于基于所述预设源代码对应的数据库生成至少一个数据字典信息;
第三生成模块,用于基于所述各个项目模块分别对应的至少一个类图、所述各个项目模块分别对应的至少一个时序图以及所述至少一个数据字典信息生成设计文档。
11.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1-9任一项所述的文档生成方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-9任一项所述的文档生成方法。
CN201910818556.4A 2019-08-30 2019-08-30 文档生成方法、装置、电子设备及计算机可读存储介质 Active CN110515653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910818556.4A CN110515653B (zh) 2019-08-30 2019-08-30 文档生成方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910818556.4A CN110515653B (zh) 2019-08-30 2019-08-30 文档生成方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110515653A true CN110515653A (zh) 2019-11-29
CN110515653B CN110515653B (zh) 2023-04-11

Family

ID=68629903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910818556.4A Active CN110515653B (zh) 2019-08-30 2019-08-30 文档生成方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110515653B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021168634A1 (zh) * 2020-02-24 2021-09-02 深圳中砼物联网科技有限公司 一种图形化无代码编程方法、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242015A1 (en) * 2009-03-20 2010-09-23 Microsoft Corporation Generating libraries for reflection without project compilation
CN102541867A (zh) * 2010-12-15 2012-07-04 金蝶软件(中国)有限公司 数据字典生成方法及系统
JP2013164670A (ja) * 2012-02-09 2013-08-22 Fuji Electric Co Ltd オブジェクト指向プログラム生成装置、その方法、プログラム
CN105528418A (zh) * 2015-12-04 2016-04-27 东软集团股份有限公司 一种设计文档生成方法及装置
CN106325969A (zh) * 2016-08-23 2017-01-11 上海创景计算机系统有限公司 需求变更的逆向追踪系统
CN109828783A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 基于代码的文档自动生成方法、装置、电子设备及介质
CN110162296A (zh) * 2019-04-15 2019-08-23 平安科技(深圳)有限公司 应用程序编程接口文档的生成方法、装置及终端设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242015A1 (en) * 2009-03-20 2010-09-23 Microsoft Corporation Generating libraries for reflection without project compilation
CN102541867A (zh) * 2010-12-15 2012-07-04 金蝶软件(中国)有限公司 数据字典生成方法及系统
JP2013164670A (ja) * 2012-02-09 2013-08-22 Fuji Electric Co Ltd オブジェクト指向プログラム生成装置、その方法、プログラム
CN105528418A (zh) * 2015-12-04 2016-04-27 东软集团股份有限公司 一种设计文档生成方法及装置
CN106325969A (zh) * 2016-08-23 2017-01-11 上海创景计算机系统有限公司 需求变更的逆向追踪系统
CN109828783A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 基于代码的文档自动生成方法、装置、电子设备及介质
CN110162296A (zh) * 2019-04-15 2019-08-23 平安科技(深圳)有限公司 应用程序编程接口文档的生成方法、装置及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭四伟等: "基于源代码分析的逆向建模", 《计算机应用研究》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021168634A1 (zh) * 2020-02-24 2021-09-02 深圳中砼物联网科技有限公司 一种图形化无代码编程方法、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110515653B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
Lucassen et al. Improving agile requirements: the quality user story framework and tool
US9934220B2 (en) Content revision using question and answer generation
US20060277523A1 (en) Annotations for tracking provenance
CN112149399B (zh) 基于rpa及ai的表格信息抽取方法、装置、设备及介质
TWI650669B (zh) 惡意程式清除之行動內容資料管理裝置和方法
CN102609406B (zh) 学习装置、判断装置、学习方法和判断方法
US8984348B2 (en) Semi-automatic conversion and execution of functional manual tests
JP5791149B2 (ja) データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム
CN110221824B (zh) 组件的生成方法和装置
CN107566090B (zh) 一种定长/变长的文本报文处理方法及装置
CN113963770A (zh) 报告文件生成方法、装置、计算机设备及其存储介质
WO2006136055A1 (fr) Procédé d'exploration de données texte
CN109299074A (zh) 一种基于模板化数据库视图的数据校验方法及系统
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
CN105335142B (zh) 在事务处理系统中标识事务的性能瓶颈的方法和装置
CN116521621A (zh) 一种数据处理方法、装置、电子设备及存储介质
US11500619B1 (en) Indexing and accessing source code snippets contained in documents
CN113238739A (zh) 一种插件开发和数据获取方法、装置、电子设备及介质
CN110515653A (zh) 文档生成方法、装置、电子设备及计算机可读存储介质
CN117370242A (zh) 通过解析接口文档生成多语言sdk客户端的适配器和方法
CN113050987B (zh) 一种接口文档的生成方法、装置、存储介质及电子设备
KR20070062800A (ko) 규칙기반의 전자문서 변환방법 및 그 시스템
CN113672233B (zh) 一种基于Redfish的服务器带外管理方法、装置及设备
CN115758973A (zh) 芯片寄存器设计文件的生成方法及装置、设备、存储介质
CN115390936A (zh) 统一校验方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 801-2, floor 8, building 3, No. 22, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Applicant after: Wanghai Kangxin (Beijing) Technology Co.,Ltd.

Address before: Room 07, Room 2, Building B, 12 Hongda North Road, Beijing Daxing District, Beijing

Applicant before: BEIJING NEUSOFT VIEWHIGH TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant