CN115098061A - 软件开发文档优化方法、装置、计算机设备及存储介质 - Google Patents
软件开发文档优化方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115098061A CN115098061A CN202210731481.8A CN202210731481A CN115098061A CN 115098061 A CN115098061 A CN 115098061A CN 202210731481 A CN202210731481 A CN 202210731481A CN 115098061 A CN115098061 A CN 115098061A
- Authority
- CN
- China
- Prior art keywords
- document
- development
- software
- code
- development document
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种软件开发文档优化方法、装置、计算机设备及存储介质,该软件开发文档优化方法包括:获取待开发软件的软件需求信息;从软件需求信息中提取第一关键词;获取软件开发过程中的开发文档;从开发文档中提取第二关键词;若存在与第二关键词的语义不匹配的第一关键词,则获取不匹配的第一关键词在软件需求信息中的上下文数据;根据上下文数据,确定待添加在开发文档的新增文档内容。本申请实施例旨在节约人力资源,减少开发文档中需求遗漏的情况。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种软件开发文档优化方法、装置、计算机设备及存储介质。
背景技术
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。在软件开发的前期,研发人员会基于用户的需求编写开发文档,通过开发文档描述软件开发内容以及过程,从而对软件编码、测试、运维等阶段提供参考依据,以及指导。
而由于用户提出的需求庞杂,在研发人员撰写开发文档过程中可能会出现需求遗漏的情况,因此,研发人员在开发文档撰写完成后,往往会对开发文档进行核对。
然而,一方面研发人员核对需要浪费一定的人力资源,另一方面人工核对并不准确,可能仍会导致需求遗漏,从而导致后续产生的成品软件不满足用户的预期标准,甚至出现软件故障。
发明内容
本申请实施例提供一种开发文档的优化方法,旨在节约人力资源,减少开发文档中的需求遗漏情况。
一方面,本申请提供一种软件开发文档优化方法,所述软件开发文档优化方法包括:
获取待开发软件的软件需求信息;
从所述软件需求信息中提取第一关键词;
获取软件开发过程中的开发文档;
从所述开发文档中提取第二关键词;
若存在与所述第二关键词的语义不匹配的第一关键词,则获取所述不匹配的第一关键词在软件需求信息中的上下文数据;
根据所述上下文数据,确定待添加在所述开发文档的新增文档内容。
另一方面,本申请提供一种软件开发文档优化装置,所述软件开发文档优化装置包括:
获取模块,用于获取待开发软件的软件需求信息,从所述软件需求信息中提取第一关键词,并获取软件开发过程中的开发文档,从所述开发文档中提取第二关键词;
匹配模块,用于若存在与所述第二关键词的语义不匹配的第一关键词,则获取所述不匹配的第一关键词在软件需求信息中的上下文数据;
内容新增模块,用于根据所述上下文数据,确定待添加在所述开发文档的新增文档内容。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的软件开发文档优化方法。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的软件开发文档优化方法中的步骤。
本申请实施例从软件需求信息和开发文档中分别提取关键词,并进行匹配,得到与开发文档中的第二关键词不匹配的第一关键词,从而使得不匹配的第一关键词能够反应开发文档中遗漏的软件需求信息,无需人工核对文档,然后,基于第一关键词的上下文数据确定开发文档需要新增的内容,能够进一步节约优化文档内容的人力资源,避免因开发文档的需求遗漏导致的软件成品故障,以及软件不满足用户预期标准的情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的软件开发文档优化系统的场景示意图;
图2是本申请实施例中提供的软件开发文档优化方法的一个实施例流程示意图;
图3是本申请实施例中代码文档和开发文档进行比对的一个实施例流程示意图;
图4是本申请实施例中步骤302的一个实施例流程示意图;
图5是本申请实施例中提供的软件开发文档优化装置的一个实施例结构示意图;
图6是本申请实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在计算机设备,如服务器中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。
本申请实施例提供一种软件开发文档优化方法、装置、计算机设备及存储介质,以下分别进行详细说明。
请参阅图1,图1为本申请实施例所提供的软件开发文档优化系统的场景示意图,该软件开发文档优化系统可以包括计算机设备100,计算机设备100中集成有软件开发文档优化装置,如图1中的计算机设备。
本申请实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
可以理解的是,本申请实施例中的计算机设备100也可以是终端,该终端可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的计算机设备100具体可以是台式终端或移动终端,计算机设备100具体还可以是手机、平板电脑、笔记本电脑等中的一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该软件开发文档优化系统还可以包括一个或多个其他服务,具体此处不作限定。
另外,如图1所示,该软件开发文档优化系统还可以包括存储器200,用于存储数据,如待开发软件的软件需求信息,开发文档、测试用例集、代码文档。
需要说明的是,图1所示的软件开发文档优化系统的场景示意图仅仅是一个示例,本申请实施例描述的软件开发文档优化系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着软件开发文档优化系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
首先,本申请实施例中提供一种软件开发文档优化方法,该软件开发文档优化方法的执行主体为软件开发文档优化装置,该软件开发文档优化装置应用于计算机设备,该软件开发文档优化方法包括:
获取待开发软件的软件需求信息,从软件需求信息中提取第一关键词;
获取软件开发过程中的开发文档,从开发文档中提取第二关键词;
若存在与第二关键词的语义不匹配的第一关键词,则获取不匹配的第一关键词在软件需求信息中的上下文数据;
根据上下文数据,确定待添加在开发文档的新增文档内容。
本申请实施例对软件需求信息和开发文档中的关键词进行自动匹配,不匹配的关键词能够反映开发文档中遗漏的软件需求信息,因此,通过不匹配的第一关键词的上下文数据确定开发文档中的新增文档内容能够节约核对开发文档的所需要的人力资源,避免因开发文档的需求遗漏导致的软件成品故障,以及软件不满足用户预期标准的情况。
下面对本申请实施例的软件开发文档优化方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
如图2所示,为本申请实施例中软件开发文档优化方法的一个实施例流程示意图,该软件开发文档优化方法包括:
步骤201,获取待开发软件的软件需求信息。
软件需求信息可表征用户对待开发软件在功能、行为、性能、设计约束等方面的期望。
研发人员在进行开发文档撰写,以及编码前,会先确定用户待开发软件的需求,例如研发人员会与用户进行语音沟通、文字沟通等。
研发人员可将与用户进行语音沟通、文字沟通等交流软件需求的沟通记录进行上传,研发人员也可自行总结与用户关于软件需求的沟通内容,将总结的沟通内容进行上传,本申请实施例的计算机设备,或者与计算机设备通信连接的其他设备,可将上传的语音或图片等沟通记录转换成文字,然后与上传的文字沟通记录进行整理,得到软件需求信息,并存储该软件需求信息。
若计算机设备判定需要进行软件开发文档优化时,则从存储空间中获取软件需求信息。
其中,判定需要进行软件开发文档优化的条件可为:确定开发文档撰写完成、到达预设的软件开发文档优化周期、或者接收到软件开发文档优化指令等,在实际应用中,该条件可根据需求设置,本申请实施例不y对此进行限定。
在获取到软件需求信息后,可执行步骤202。
步骤202,从软件需求信息中提取第一关键词。
第一关键词是能表达软件需求信息的中心内容的词语。例如:第一关键词包括:登录、注册、密码加密、电子支付和并发性能等。
关键词可通过无监督关键词提取方法,也可通过有监督关键词提取方法进行提取,还可使用其他能够提取关键词的方法。
以下分别简述通过无监督关键词提取方法、以及有监督关键词提取方法提取关键词的过程。
在无监督关键词提取方法中,可从文档,如软件需求信息抽取候选词,然后按照预设的打分算法对候选词进行评分,输出预设个数的分值最高的候选词作为关键词。其中,预设的打分算法可以为基于统计特征的关键词提取,如TF-IDF,基于词图模型的关键词提取,如TextRank、PageRank,基于主题模型的关键词提取,如LDA等算法。
在有监督关键词提取方法中,可先训练关键词抽取分类器,训练方式如下:获取候选词样本,每个候选词具有对应的分类标签,分类标签为:该候选词为关键词,或者,该候选词不为关键词,然后,通过候选词样本训练关键词抽取分类器,直至关键词抽取分类器训练完成。在关键词抽取分类器训练完成之后,可通过训练好的关键词抽取分类器对各候选词进行分类,将标签为“该候选词为关键词”的候选词作为关键词。
通过上述方式可从软件需求信息中提取出第一关键词,除从软件信息中提取关键词之外,本申请实施例还需获取开发文档,并提取开发文档的关键词,即执行步骤203至步骤204。
值得一提的是,步骤203的顺序可与步骤201以及步骤202的顺序进行调换。也就是说,流程图中的执行顺序只是示例,在不影响本申请实施例的软件开发文档优化方法的执行的基础上,各步骤执行顺序可以进行改变。
步骤203,获取软件开发过程中的开发文档。
开发文档用于描述软件开发内容和过程,以对软件编码、测试、运维等阶段提供参考依据,其中,开发文档的内容可包括:软件的可行性、软件需求说明、概要设计、详细设计等。在实际开发流程中,开发文档的内容可根据需求设置。
若本申请实施例的计算机设备中存储有开发文档,可直接从该计算机设备的存储空间获取开发文档,若开发文档存储在与计算机设备通信连接的数据库中,则可从数据库中获取。
在一些实施例中,在获取开发文档之后,还可在开发文档中查找不符合预设规则的用词;在预存的开发文档词库中查找与不符合预设规则的用词语义匹配的用词;将不符合预设规则的用词替换为匹配的用词,得到用词优化后的开发文档。其中,不符合预设规则的用词可设置为:语义模糊、表达不准确,或者,不符合专业术语的词语。判断语义是否匹配可通过用于进行语义匹配的机器学习模型,也可通过其他方式。
本实施例通过开发文档词库中的用词替换不符合预设规则的用词,一方面有利于开发文档的标准化,提高开发文档对的开发内容和过程描述的准确性,进一步提高开发文档质量,另一方面,通过用词优化后的开发文档,方便后续的关键词提取,以及关键词的匹配。
除了上述对开发文档的用词优化,还可对开发文档的排版格式进行优化,例如:在预存的开发文档模板库中,查找与开发文档匹配的开发文档模板,根据匹配的开发文档模板设置的排版格式对开发文档进行调整,得到排版格式优化后的开发文档模板。
其中,在预存的开发文档模板库中,查找与开发文档匹配的开发文档模板包括:获取开发文档的模板号,遍历预存的开发文档模板库,若当前遍历到的开发文档模板和预存的模板号匹配,则判定当前遍历到的开发文档模板与预存的开发文档匹配。
除了上述查找匹配的开发文档模板的方法外,本申请实施例还可分别计算开发文档的排版格式与各开发文档模板中定义的排版格式的相似度,将与开发文档相似度最大开发文档模板作为匹配的开发文档模板。
上述给出了查找匹配的开发文档模板的几种实施例,在实际使用过程中,也可根据需求设置。
在获取开发文档后,可执行步骤204。
步骤204,从开发文档中提取第二关键词。
具体地,若开发文档经过上述实施例的用词优化,或排版优化,可直接获取经用词优化或排版优化后的开发文档,从而提取第二关键词。
步骤204提取关键词的方法与步骤2020提取关键词的方法大致相同,此处不再赘述。
在获取第一关键词和第二关键词之后,可执行步骤205。
步骤205,若存在与第二关键词的语义不匹配的第一关键词,则获取不匹配的第一关键词在软件需求信息中的上下文数据。
其中,语义不匹配可设置为语义不相同。例如:第一关键词中包括密码加密,而第二关键词中不存在与密码加密语义相同的词语,因此,密码加密可作为不匹配的第一关键词。
上下文数据的获取策略可根据需求进行配值,例如,将不匹配的第一关键词所在的自然段的内容作为上下文数据、也可以将不匹配的第一关键词所在自然段为中心的上下预设段数的内容作为上下文数据、若不匹配的第一关键词所在的自然段通过语音记录获取的,可将该语音记录的文字版本设置为上下文数据、若不匹配的第一关键词所在的自然段通过图片获取的,可将图片记录的文字版本设置为上下文数据。
还可将上述各上下文数据的获取策略设置优先级,例如,首先,检测不匹配的第一关键词是否通过多媒体沟通记录获取,其中,多媒体沟通记录形式包括:语音和图片,若是,将多媒体沟通记录的文字版本作为上下文数据,若否,则判断是否设置有上下预设段数,若设置有上下预设段数,将不匹配的第一关键词所在自然段为中心的上下预设段数的内容作为上下文数据,若未否设置有上下预设段数,将不匹配的第一关键词所在的自然段的内容作为上下文数据。
通过设置优先级可以更加准确的根据软件需求信息沟通的实际情况获取上下文,从而使得后续确定的新增文档内容更加准确。
为便于理解,以下密码加密可作为不匹配的第一关键词为例,简述上下文数据的查找过程。
在软件需求信息中查找“密码加密”,并定位到密码加密的在软件需求信息中的位置,可将“密码加密”所在的自然段的内容作为上下文数据,也可以获取以“密码加密”所在自然段为中心的上线预设段数的内容作为上下文数据,若“密码加密”通过语音记录获取的,可将整个转换为文字的语音记录作为上下文数据,若“密码加密”通过图片获取的,可将图片记录的文字版本设置为上下文数据。
在获取上下文数据之后,可执行步骤206。
步骤206,根据上下文数据,确定待添加在开发文档的新增文档内容。
在一些实施例中,可将上下文数据,作为待添加在开发文档的新增文档内容。
在另一些实施例中,从上下文数据中提取第三关键词;在开发文档词库中,查找与第三关键词语义匹配的开发文档用词;在预存的开发文档模板库中,查找与开发文档匹配的开发文档模板;根据匹配的开发文档用词和开发文档模板,得到所述新增文档内容。
具体地,根据匹配的开发文档用词和开发文档模板,得到新增文档内容,包括:从上下文数据获取与第三关键词的关联词语,例如第三关键词的主语、时间状语等,根据第三关键词的关联词语与匹配的开发文档用词,生成文档语句,将文档语句填入开发文档模板中记录所述文档语句的对应位置,得到新增文档内容。对应位置表征文档语句在开发文档中最匹配的章节。
本申请实施例通过开发文档模板和开发文档词库生成新增文档内容,不仅实现了自动化,还有利于实现开发文档的标准化管理。
在一些实施例中,获取开发文档的新增文档内容和开发之后,查找与开发文档关联的目标设备;根据新增文档内容,生成文档更新处理消息;将文档更新处理消息传输至目标设备;若从目标设备接收到基于所述文档更新处理消息的响应消息,根据所述响应消息处理所述开发文档。
目标设备可以为文档撰写人员的PC端,查找目标设备具体可以为:查找目标设备的通信地址,如IP地址、手机号、邮箱等。可对新增文档内容按照通信地址对应协议进行打包,从而生成文档更新处理消息,目标设备会接收到文档处理消息,文档撰写人员会对文档处理消息进行处理,例如,指示将该新增内容直接添加至开发文档,或者是调整新增文档内容,指示将调整后的新增文档内容添加至开发文档,又或者是暂时不在开发文档中新增内容,等等。
目标设备基于文档撰写人员的指示生成响应消息,本申请实施例的计算机设备接收到响应消息后会响应消息中的指示进行处理。
本实施例将文档新增内容发送至目标设备,以便于相应的研发人员基于文档新增内容进行管理。
在一些实施例,在获取上述优化后的开发文档,且判定待开发软件编码完成后,参照图3所示,可进行如下操作:
步骤301,获取待开发软件的代码文档;
步骤302,将代码文档输入训练好的代码语义提取模型,得到代码语义信息。
在一些实施例中,可通过代码语义提取模型提取代码文档中的变量名、类名、函数名以及代码注释,得到代码的文本特征。
在另一些实施例中,代码语义提取模型包括:文本分析模块、功能分析模块以及特征融合模块,可参考流程图4,步骤302进一步包括;
步骤3021,通过代码语义提取模型中的文本分析模块,提取代码文档中的变量名、类名、函数名以及代码注释,得到代码的文本特征。
具体地,文本分析模块中包括:基于注意力机制的长短时记忆神经网络。
文本分析模块提取到的变量名、类名、函数名以及代码注释后,通过基于注意力机制的长短时记忆神经网络处理这类数据,以得到代码的文本特征。
步骤3022,通过代码语义提取模型的功能分析模块,提取代码文档的代码流程结构,得到代码的功能特征。
具体地,功能分析模块可以分析代码文档中的代码的语法树特征,从而得到代码的流程结构,进而确定代码端的功能特征。
其中,代码流程结构可包括;判断、循环、跳转等。
步骤3023,通过代码语义提取模型中的特征融合模块,将文本特征和功能特征进行特征融合,得到代码语义信息。
本申请实施例不仅考虑代码文档中的注释、变量名等文本特征,还结合代码流程结构,即代码的循环、判断、调转的流程结构特点,从而能够更好的反应代码语义信息。
步骤302为代码语义信息的提取方法,以下进入步骤303简述文档语义信息的提取方法。
步骤303,将开发文档输入训练好的文档语义提取模型,得到文档语义信息。
步骤304,根据代码语义信息和文档语义信息,确定代码文档中的功能模块和开发文档中定义的功能模块的匹配关系。
具体地,根据代码语义信息确定代码文档中的功能模块,例如:登录、注册、并发处理等,根据文档语义信息确定开发文档中定义的功能模块,根据代码文档中的功能模块和开发文档中定义的功能模块,确定匹配关系。
例如,代码文档中包括的功能模块有注册,开发文档中定义的功能模块中也有注册,则匹配关系为代码文档中的注册和开发文档中的注册匹配,若开发文档中定义的功能模块包括加密,而代码文档中不存在该功能模块,则匹配关系为:开发文档中的加密功能与代码文档的功能模块不匹配。
步骤305,若在匹配关系中,存在与代码文档中的功能模块不匹配的定义的功能模块,则根据不匹配的定义的功能模块发出编码功能遗漏告警。
例如,编码功能遗漏告警中包括:代码遗漏加密功能。
本申请实施例能够自动判断源代码是否实现了开发文档中设计的所有功能,能够及时发现源代码的功能遗漏,提高代码质量。
在一些实施例中,在测试阶段,还可获取所述待开发软件的测试用例集;根据所述测试用例集,提取所述测试用例集的第一测试目标;根据所述开发文档,得到第二测试目标;根据所述第一测试目标和第二测试目标,得到所述测试用例集的测试全面性评价指标;若所述测试全面性评价指标不满预设的测试覆盖条件,则生成测试用例遗漏告警。本实施例能够评价测试用例集的全面性,为提高测试用例的覆盖率提高参考依据。
具体地,测试目标可为:对某项功能的功能测试、性能测试等。测试全面性评价指标可以根据第一测试目标的个数和第二测试目标的个数的比值确定,例如,第一测试目标有4个,第二测试目标有5个,则测试全面性评价指标可为4/5,预设的测试覆盖条件可为不小于预设的阈值,例如预设的阈值为0.95,而测试全面性评价指标为0.8,0.8<0.95,因此,生成测试用例遗漏告警。
本申请实施例能够通过开发文档和软件需求信息的关键词的匹配,确定开发文档中遗漏的软件需求信息,并生成新增文档内容,从而节约人力资源,避免因开发文档的需求遗漏导致的软件成品故障,以及软件不满足用户预期标准的情况,还能够通过开发文档词库和开发文档模板对开发文档的用词以及格式进行优化,提高开发文档的质量,另外,本申请实施例将代码文档和开发文档进行比对,从而能够自动判断源代码是否实现了开发文档中设计的所有功能,能够及时发现源代码的功能遗漏,提高代码质量;本申请实施例还将开发文档和测试用例集进行比对,能够评价测试用例集的全面性,为提高测试用例的覆盖率提高参考依据。
本申请实施例还提供一种软件开发文档优化装置,可参照图5所示,包括:
获取模块501,用于获取待开发软件的软件需求信息,从所述软件需求信息中提取第一关键词,并获取软件开发过程中的开发文档,从所述开发文档中提取第二关键词;
匹配模块502,用于若存在与所述第二关键词的语义不匹配的第一关键词,则获取所述不匹配的第一关键词在软件需求信息中的上下文数据;
内容新增模块503,用于根据所述上下文数据,确定待添加在所述开发文档的新增文档内容。
在一些实施例中,获取模块501进一步用于在所述开发文档中查找不符合预设规则的用词;在预存的开发文档词库中查找与所述不符合预设规则的用词语义匹配的用词;将所述不符合预设规则的用词替换为所述匹配的用词,得到用词优化后的开发文档;从所述用词优化后的开发文档中提取第二关键词。
在一些实施例中,获取模块501进一步用于从所述上下文数据中提取第三关键词;在所述开发文档词库中,查找与所述第三关键词语义匹配的开发文档用词;在预存的开发文档模板库中,查找与所述开发文档匹配的开发文档模板;根据所述匹配的开发文档用词和所述开发文档模板,得到所述新增文档内容。
在一些实施例中,内容新增模块503进一步用于查找与所述开发文档关联的目标设备;根据所述新增文档内容,生成文档更新处理消息;将所述文档更新处理消息传输至所述目标设备;若从所述目标设备接收到基于所述文档更新处理消息的响应消息,根据所述响应消息处理所述开发文档。
在一些实施例中,软件开发文档优化模块还包括:编码功能检测模块,该编码功能检测模块进一步用于若判定所述待开发软件编码完成,获取所述待开发软件的代码文档;将所述代码文档输入训练好的代码语义提取模型,得到代码语义信息;将所述开发文档输入训练好的文档语义提取模型,得到文档语义信息;根据所述代码语义信息和所述文档语义信息,确定所述代码文档中的功能模块和所述开发文档中定义的功能模块的匹配关系;若在所述匹配关系中,存在与所述代码文档中的功能模块不匹配的所述定义的功能模块,则根据所述不匹配的定义的功能模块发出编码功能遗漏告警。
在一些实施例中,编码功能检测模块进一步用于通过所述代码语义提取模型中的文本分析模块,提取所述代码文档中的变量名、类名、函数名以及代码注释,得到所述代码的文本特征;通过所述代码语义提取模型的功能分析模块,提取所述代码文档的代码流程结构,得到代码的功能特征;通过代码语义提取模型中的特征融合模块,将所述文本特征和所述功能特征进行特征融合,得到代码语义信息。
在一些实施例中,软件开发文档优化模块还包括:测试功能检测模块,测试功能检测模块进一步用于获取所述待开发软件的测试用例集;根据所述测试用例集,提取所述测试用例集的第一测试目标;根据所述开发文档,得到第二测试目标;根据所述第一测试目标和第二测试目标,得到所述测试用例集的测试全面性评价指标;若所述测试全面性评价指标不满预设的测试覆盖条件,则生成测试用例遗漏告警。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种软件开发文档优化装置,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述软件开发文档优化方法实施例中任一实施例中所述的软件开发文档优化方法中的步骤。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种软件开发文档优化装置。如图6所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种软件开发文档优化方法中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种软件开发文档优化方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种软件开发文档优化方法,其特征在于,所述软件开发文档优化方法,包括:
获取待开发软件的软件需求信息;
从所述软件需求信息中提取第一关键词;
获取软件开发过程中的开发文档;
从所述开发文档中提取第二关键词;
若存在与所述第二关键词的语义不匹配的第一关键词,则获取所述不匹配的第一关键词在软件需求信息中的上下文数据;
根据所述上下文数据,确定待添加在所述开发文档的新增文档内容。
2.根据权利要求1所述的软件开发文档优化方法,其特征在于,所述获取软件开发过程中的开发文档之后,所述方法还包括:
在所述开发文档中查找不符合预设规则的用词;
在预存的开发文档词库中查找与所述不符合预设规则的用词语义匹配的用词;
将所述不符合预设规则的用词替换为所述匹配的用词,得到用词优化后的开发文档;
所述从所述开发文档中提取第二关键词,包括:
从所述用词优化后的开发文档中提取第二关键词。
3.根据权利要求2所述的软件开发文档优化方法,其特征在于,所述根据所述上下文数据,确定待添加在所述开发文档的新增文档内容,包括:
从所述上下文数据中提取第三关键词;
在所述开发文档词库中,查找与所述第三关键词语义匹配的开发文档用词;
在预存的开发文档模板库中,查找与所述开发文档匹配的开发文档模板;
根据所述匹配的开发文档用词和所述开发文档模板,得到所述新增文档内容。
4.根据权利要求1所述的软件开发文档优化方法,其特征在于,在所述根据所述上下文数据,确定待添加在所述开发文档的新增文档内容之后,所述方法还包括:
查找与所述开发文档关联的目标设备;
根据所述新增文档内容,生成文档更新处理消息;
将所述文档更新处理消息传输至所述目标设备;
若从所述目标设备接收到基于所述文档更新处理消息的响应消息,根据所述响应消息处理所述开发文档。
5.根据权利要求1至4中任一项所述的软件开发文档优化方法,其特征在于,所述方法还包括:
若判定所述待开发软件编码完成,获取所述待开发软件的代码文档;
将所述代码文档输入训练好的代码语义提取模型,得到代码语义信息;
将所述开发文档输入训练好的文档语义提取模型,得到文档语义信息;
根据所述代码语义信息和所述文档语义信息,确定所述代码文档中的功能模块和所述开发文档中定义的功能模块的匹配关系;
若在所述匹配关系中,存在与所述代码文档中的功能模块不匹配的所述定义的功能模块,则根据所述不匹配的定义的功能模块发出编码功能遗漏告警。
6.根据权利要求5所述的软件开发文档优化方法,其特征在于,所述将所述代码文档输入训练好的代码语义提取模型,得到代码语义信息,包括:
通过所述代码语义提取模型中的文本分析模块,提取所述代码文档中的变量名、类名、函数名以及代码注释,得到所述代码的文本特征;
通过所述代码语义提取模型的功能分析模块,提取所述代码文档的代码流程结构,得到代码的功能特征;
通过代码语义提取模型中的特征融合模块,将所述文本特征和所述功能特征进行特征融合,得到代码语义信息。
7.根据权利要求1至4中任一项所述的软件开发文档优化方法,其特征在于,所述方法还包括:
获取所述待开发软件的测试用例集;
根据所述测试用例集,提取所述测试用例集的第一测试目标;
根据所述开发文档,得到第二测试目标;
根据所述第一测试目标和第二测试目标,得到所述测试用例集的测试全面性评价指标;
若所述测试全面性评价指标不满预设的测试覆盖条件,则生成测试用例遗漏告警。
8.一种软件开发文档优化装置,其特征在于,包括:
获取模块,用于获取待开发软件的软件需求信息,从所述软件需求信息中提取第一关键词,并获取软件开发过程中的开发文档,从所述开发文档中提取第二关键词;
匹配模块,用于若存在与所述第二关键词的语义不匹配的第一关键词,则获取所述不匹配的第一关键词在软件需求信息中的上下文数据;
内容新增模块,用于根据所述上下文数据,确定待添加在所述开发文档的新增文档内容。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的软件开发文档优化方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的软件开发文档优化方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210731481.8A CN115098061A (zh) | 2022-06-24 | 2022-06-24 | 软件开发文档优化方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210731481.8A CN115098061A (zh) | 2022-06-24 | 2022-06-24 | 软件开发文档优化方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098061A true CN115098061A (zh) | 2022-09-23 |
Family
ID=83292611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210731481.8A Pending CN115098061A (zh) | 2022-06-24 | 2022-06-24 | 软件开发文档优化方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098061A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521133A (zh) * | 2023-06-02 | 2023-08-01 | 北京比瓴科技有限公司 | 软件功能安全需求分析方法、装置、设备及可读存储介质 |
CN117149140A (zh) * | 2023-09-14 | 2023-12-01 | 睿珀智能科技有限公司 | 一种用于编码的架构信息生成方法、装置及相关设备 |
WO2024198695A1 (zh) * | 2023-03-27 | 2024-10-03 | 华为云计算技术有限公司 | 一种文档元素引用的方法和代码开发平台 |
-
2022
- 2022-06-24 CN CN202210731481.8A patent/CN115098061A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024198695A1 (zh) * | 2023-03-27 | 2024-10-03 | 华为云计算技术有限公司 | 一种文档元素引用的方法和代码开发平台 |
CN116521133A (zh) * | 2023-06-02 | 2023-08-01 | 北京比瓴科技有限公司 | 软件功能安全需求分析方法、装置、设备及可读存储介质 |
CN117149140A (zh) * | 2023-09-14 | 2023-12-01 | 睿珀智能科技有限公司 | 一种用于编码的架构信息生成方法、装置及相关设备 |
CN117149140B (zh) * | 2023-09-14 | 2024-03-12 | 睿珀智能科技有限公司 | 一种用于编码的架构信息生成方法、装置及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022022045A1 (zh) | 基于知识图谱的文本比对方法、装置、设备及存储介质 | |
US20200081899A1 (en) | Automated database schema matching | |
US11797607B2 (en) | Method and apparatus for constructing quality evaluation model, device and storage medium | |
CN110019732B (zh) | 一种智能问答方法以及相关装置 | |
CN115098061A (zh) | 软件开发文档优化方法、装置、计算机设备及存储介质 | |
US10614093B2 (en) | Method and system for creating an instance model | |
US10977155B1 (en) | System for providing autonomous discovery of field or navigation constraints | |
CN113987199B (zh) | 一种规范自动解译的bim智能审图方法、系统和介质 | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111563384A (zh) | 面向电商产品的评价对象识别方法、装置及存储介质 | |
CN113986864A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN111143556A (zh) | 软件功能点自动计数方法、装置、介质及电子设备 | |
CN114840685A (zh) | 一种应急预案知识图谱构建方法 | |
CN111831624A (zh) | 数据表创建方法、装置、计算机设备及存储介质 | |
CN115422371A (zh) | 一种基于软件测试知识图谱的检索方法 | |
TW202207109A (zh) | 工程專案文件管理方法與系統 | |
CN116150376A (zh) | 一种样本数据分布优化方法、装置和存储介质 | |
EP4270239A1 (en) | Supervised machine learning method for matching unsupervised data | |
US20190258951A1 (en) | File format prediction based on relative frequency of a character in the file | |
CN115146070A (zh) | 键值生成方法、知识图谱生成方法、装置、设备及介质 | |
CN116340259A (zh) | 文档管理方法、文档管理系统和计算设备 | |
CN114416847A (zh) | 一种数据转换的方法、装置、服务器及存储介质 | |
WO2021056740A1 (zh) | 语言模型构建方法、系统、计算机设备及可读存储介质 | |
Jiang et al. | A Discourse Coherence Analysis Method Combining Sentence Embedding and Dimension Grid | |
Wu et al. | Research on intelligent retrieval model of multilingual text information in corpus |
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 |