CN107851000B - 用于生成功能架构文档和软件设计文档的方法 - Google Patents
用于生成功能架构文档和软件设计文档的方法 Download PDFInfo
- Publication number
- CN107851000B CN107851000B CN201680037997.5A CN201680037997A CN107851000B CN 107851000 B CN107851000 B CN 107851000B CN 201680037997 A CN201680037997 A CN 201680037997A CN 107851000 B CN107851000 B CN 107851000B
- Authority
- CN
- China
- Prior art keywords
- document
- processor
- verb
- case
- functional
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- 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/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
Abstract
本发明是一种用于基于以自然语言表达的短语来自动生成功能架构、业务、分析和软件设计文档的计算机实现的***和方法。合格语言及其句法和语法特征可以输入该***中。该***通过输入/输出设备以合格语言中的一种接收用自然语言的对案例的描述。处理器自动分析该描述,自动从其形态句法结构中提取功能成分,并自动生成功能架构文档以在行业中使用。基于文本的功能成分,处理器自动地生成设计成分,以生成业务、分析和软件设计规范文档。
Description
技术领域
本发明总体上涉及通过与人类用来处理自然语言的抽象思考类似的形式逻辑来进行推理建模的过程。本发明特别地涉及基于自然语言从案例规范派生出过程模型。
背景技术
现有技术公开了用于根据存储在知识库中的短语所表达的需求来自动生成软件设计文档的设备,这些设备可以基于这些需求对“类”进行建模(在面向对象编程的背景下),这些“类”随后被可视化为UML图。现有技术还公开了用于形式化自然语言的***和方法,使得所得语言可以由计算机处理。
U.S.2013/0097583公开了一种提供自动化支持工具来引导/帮助软件工程师创建软件产品的***和方法。该***包括输入/输出、存储、处理和通信设备。该***辅助软件工程师通过一个或多个描述需求及所涉及的角色或实体的短语来识别并图形化表示从所述需求、角色或实体、***和子***派生的用例,以及生成域模型和UML类图来可视化域模型。该***还允许创建扩展用例、创建对象交互模型、创建序列表以及创建设计类图。基于设计类图,软件工程师可以制成高质量的计算机程序。该***可以包括或者可以连接到图生成器,以自动地生成UML(统一建模语言)类图。与本发明不同的是,所述专利的输入是用自然语言编写的软件需求。本发明由描述业务“案例”的自然语言语句组成。所述专利的输入是本发明可以解决的具体情况之一。解读器(单词识别技术)是常规的;它基于字典。本发明中的解读器是自动的并且基于不使用字典的规则。本发明在更短的处理时间内提高了准确性。为了实现完整的软件设计,美国专利2013/0097583需求软件工程师的参与来设计和开发由该专利的发明所生成的图支持的代码。在本发明中,所得设计是完整的和自动的,包括在描述性文本中陈述的100%的设计。本发明中的概念域模型的抽象是形式的。也就是说,设计总是对相同的规则做出响应,从而产生可预测的结果。在美国专利2013/0097583中,概念模型是20%手工制成的并且视案例而定的。
U.S.2011/0239183公开了一种方法,其中从自然语言用例模型派生一个或多个过程模型。例如,使用处理器以及访问存储器存储的用例模型(从使用具有预先指定的含义的预定义单词的有限列表描述的自然语言文本信息获得),从而根据预定的建模表示法将存储在存储器中的模型转换为过程模型。在本发明中,设计是基于无限制的自然语言在功能架构文档水平能够执行的,从中可以获得不同类型的软件设计图。
任何行业都面临着改善构建过程的挑战,其主要错误因素在于请求者的描述(“案例”)与行业产出(解决方案)之间的差异。
目前,希望描述“案例”以便基于所述描述构建解决方案的人需要:
-解读并进行文档编制的行业分析师。这种文档编制是由分析师通过记录请求者有关“案例”的评论而执行的。分析师然后分析文档编制并且通过应用行业中已知的一种技术来创建一些图。当已经充分地检查文档时,这些文档被提交给“案例”设计阶段。这些图的内容特别依赖于专家的解读以及专家将其转换为前述的每个行业特定的图的能力。
-基于有关前述“案例”的分析和前述文档编制来设计期望的解决方案的行业设计 师。该设计师获得分析图并且会见分析师来寻求能使其最大化对图正确理解的解释,设计师可以基于这种解读来设计“案例”的解决方案。该设计是通过创建其他图(也取决于行业)来进行的。这些图表示新的翻译,将由请求者描述的逻辑翻译成创建“案例”的解决方案所必需的技术语言。
分析师和设计师都是经过培训的专业人士,其目标是理解案例的描述并且将其翻译成可以由创建解决方案的人解读的技术分析和设计语言。也就是说,根据“案例”的描述,若干语言被使用,直至开始构建相关解决方案(见图1,行业设计过程):
A.描述“案例”的语言(介入角色;请求者,提出需求的人):自然语言。
B.“案例”的分析语言(介入角色:行业分析师,解读请求并将其翻译为分析图的人):使用标准行业表示法、手动操作以及用面向设计的自然语言表达的补充描述。
C.“案例”的设计语言(介入角色:设计师,解读分析师的工作并将其翻译成设计图的架构师):特定于行业用途的建筑图、规划和图解,其表示解决方案的设计。
需要设计某个解决方案的人(请求者)通常不是特定行业的专家设计师,因此将无法自己构建解决方案。他需要行业分析师和行业设计师来正确地解读他的需求并且在“案例”的解决方案设计中捕获这些需求。恰巧在实践中这是不可能的,因为请求者不理解设计语言(建筑师、土木工程师、书籍设计师、软件设计师等等),并且因此无法控制所得设计以确保将构建他所描述的“案例”的解决方案。在这里,偏离描述(“案例”)与实际构建(解决方案)的最大部分在于,由于语言中的变化,通常在含义的构想上存在扭曲,如图I所示。结果是,请求者接收到不是完美地适应他的需要的设计和所得产品(一栋房子、一个软件、一件家具、一本书等)。
业界不断努力提高解决方案与请求者对其需求的描述之间的趋同程度。这些努力集中在通过培训专家或改善他们的工作中所使用的工具来改善当前的方法,而不会替换他们在解读并构建前述描述的手工过程中的参与。
这种处理技术问题的方法必然产生对需求的多重解读,因为将请求者所使用的语言(自然语言)翻译为分析师和设计师(技术语言)所使用的语言需要转换,导致知识的丢失,而没有人可以准确地控制这种情况。
发明内容
在本发明中,为了完整地描述“案例”,使用用自然语言描述的语句就足够了。无需手动地将前述语句翻译为具有技术图形表示法的图来理解并传播包含在描述中的知识。这些图是由工具自动地从自然语言生成的。
下表中示出了现有技术与本发明的区别(图1,行业设计过程)
给定所期望的特定行业设计的现实的描述,基于所述描述所表示的内容,***构建自然语言描述,由此确保按照互连且一致的方式从句法的角度存储“案例”的所有语言成分。***还自动地构建用于多种行业应用的功能架构文档。
本发明演示了将功能架构文档及其成分用来构建软件设计应用。
在本发明中,“案例”的提及是指我们希望为其构建允许计算机处理其逻辑的软件应用的现实问题。因此,“案例”的软件行业面临着改善软件构建项目的挑战,其主要错误因素在于请求者的描述(问题)与“案例”所解决的内容(解决方案)之间的差异。目前,希望描述基于其来构建软件解决方案的“案例”的人需要:
-用来解读并进行文档编制的***分析师。这种文档编制是由分析师通过收集客户有关“案例”的评论的表示法而产生。分析师然后分析文档编制并且通过应用行业中已知的一种技术(UML图、流程图、过程图)来创建一些图。当已经充分地检查文档时,这些文档被提交给“案例”设计阶段。这些图的内容特别依赖于分析师的解读以及专家将其转换为前述图的能力。
-设计所述软件的软件设计师必须允许自动地捕捉在所描述的“案例”期间生成的数据。设计师获得分析图并且会见分析师来寻求能使其最大化对图正确理解的解释,设计师可以基于这种解读来设计“案例”。该设计是通过创建其他图生成的,诸如“案例”的数据库图(用来存储***数据)、屏幕图(将执行数据上传、搜索和处理)、功能逻辑图(表示待解决的问题的逻辑)、架构图(限定“案例”的内部组织,以有效地、可靠地并且可持续地起作用:客户机-服务器,SOA:面向服务的架构等等)。这些图表示新的翻译,将由请求者描述的逻辑翻译成构建“案例”的解决方案所必需的技术语言。
分析师和设计师都是经过培训的专业人士,其目标是理解案例的描述并且将其翻译成可以由开发应用的人解读的技术分析和设计语言。图I示出对现有技术与本发明进行比较的图,有关在“案例”理解和翻译的每个阶段使用的语言,从描述开始直至软件设计结束。在现有技术中,使用以下语言:
A.描述“案例”的语言(介入角色;用户,提出需求的人):自然语言。
B.“案例”的分析语言(介入角色:***分析师,解读用户的请求并将其翻译为分析图的人):数据流程图、分析用例以及用面向设计的自然语言表达的补充描述。
C.“案例”的设计语言(介入角色:设计师、解读分析师的工作并将其翻译成设计图的架构师):表示应用的功能设计的图(目前大部分是UML格式);表示将存储用户数据的数据库的设计的数据库图;表示待构建的应用的分层架构的架构图。
需要设计定制软件的用户类型通常不是软件设计师也不是软件开发工程师,因此将无法通过自己来构建。他需要分析师和设计师来正确地解读他的需求并且在“案例”的所得设计中捕获这些需求。
恰巧在实践中这是不可能的,因为请求者不理解设计语言,因此无法控制所得设计以确保将构建他请求的“案例”。本文存在请求(问题)与实际构建(解决方案)之间的最大程度的偏离。也就是,结果是,请求者将接收到通常不是完美地适应于他的需求、修改或后续变化的设计和所得产品(软件)(这在一些情况下会需要更多时间或者比最初预期的更复杂且更昂贵)。
行业正在做出重要努力来通过CASE(计算机辅助软件工程)工具实现这个问题的解决方案。然而,这些工具无法通过自然语言工作,因此存在前述的若干限制。
这种处理技术问题的方法必然产生对需求的多重解读,因为将用户所使用的或客户所熟悉的语言(自然语言)翻译为分析师和设计师所使用的语言(技术语言)需要转换而导致知识的丢失,而没有人可以准确地控制这种情况。
本发明将自然语言用作软件解决方案的描述、分析和设计的唯一语言,由此最小化了将导致结果失真的知识缺失。
与现有技术不同,本发明允许使用自然语言的简单语句来完整地描述“案例”。与现有技术不同,本发明不需要将所述语句翻译为具有技术图形表示法的图以便理解和传播过程的知识。相反,通过使用分析规则来实现所述模型的功能逻辑,所述图由本发明基于自然语言使用标识语言的概念成分的单个确定性模型自动地生成。
基于预定的概念层级用简单语句构建描述,确保了所述描述的完整性,并且能够自动地推导出高质量的软件设计。
为了便于理解本发明,并且能够容易地在本发明与现有技术进行区分,提供了以下比较表格:
目前的现有技术中,软件是手动或部分手动设计的,这在本质上存在以下问题:解读***需求存在歧义、修复设计错误成本较高、难以进行设计扩展和开发,以及文档编制过时等等。本发明通过基于完全自动且可工业化的过程克服了这些困难,由此实现了概念精确度、产生可扩展的演进设计、产生自动更新的文档编制并且显著地降低了软件设计成本。
术语表
语句:最小的可能的句法形式,能够传达陈述或表达逻辑命题的内容。
简单语句:包含单个动词的语句。
完整简单语句:从本发明的视角触发:显式地回答所有问句的语句。
自然语言:自然语言是由人类用来一般交流目的的口语或书面用语。
功能需求:如需求工程中所限定的,功能需求决定了***的行为。全局功能需求将与***自身的行为有关的其他多个详细的功能需求分组。
类图:示出包括***不同类以及彼此之间的关系的图。这些图也示出类及其方法和属性还有相互关系。
案例领域:“案例”周围的限定和概念的集合。
复合名词:由多于一个单词组成的名词。例如:price list(价格列表)、documentnumber(文档编号)。
+:在本文档中,是指“连结”,用来结合或添加文本。
合格语言:由于不同的语言可以用来描述“案例”,可以通过相应的句法和语法结构来陈述每一种语言。
连结:给定一个或多个单词,连结意味着将该一个或多个单词结合成通过空格分开的单个短语。示例:“the(该)”、“house(房屋)”。两个单词的连结产生:“the house(该房屋)”。
基础规则:在本发明中,基础规则是由问句限定的行为结构,其目的是用来描述包括所述问句的回答的形态句法单词序列。
DO:是指直接宾语(direct object)。在本发明中,是指出现在“什么”何物问句中并且跟在及物动词后面的名词单词。
附图说明
图I示出本发明的自然语言转换的过程;
图II示出本发明的过程的各个阶段,以获得功能架构文档;
图1示出本发明的***;
图2示出本发明的过程的各个阶段,以获得软件设计文档;
图2A示出阶段A;
图2A1示出MAS元模型;
图2A2示出形态句法规则;
图2A3示出MAS元模型应用的案例;
图2B示出阶段B;
图2C示出阶段C;
图2D示出阶段D;
图2E示出阶段E;
图2E1示出被配置成自动语句分析器151的处理器150的功能逻辑;
图2F示出阶段F;
图2F1示出功能架构图;
图2G示出阶段G;
图2G1示出被配置成自动软件设计器152的处理器150的功能逻辑;
图2H示出阶段H;
图2I示出阶段I;
图2I1示出软件设计图;
图2I2示出业务文档的结构;
图2I3示出分析文档的结构;
图3示出类设计的示例。
具体实施方式
本发明通过一种由计算机和视觉设备实现的用于从存储在知识库中的描述案例的自然语言短语表达的需求生成软件设计规范文档的方法提供了前述问题的解决方案。这些短语允许对后续被转换并视觉化为软件设备的类图的设计成分进行建模。该设备可以适于与处理器交互。
最初地,如图2所示,过程以用自然语言描述“案例”开始。为了在本发明中执行所述描述,需要事先确立将在描述中使用何种语言,包括该语言的语法和句法特征,诸如描述形容词是位于名词之前还是之后的形容词顺序以及包括该语言的冠词的单词列表等等。
为了用拥有限定的句法结构和语法规则的任何语言描述“案例”,诸如图1中描述的***用于通过输入/输出设备120用自然语言输入“案例”的描述。输入文本被传输到主存储器,以供稍后由处理器150使用。处理器被配置成自动地分析、设计并生成文档。每个处理功能的结果存储在数据库存储器130中。
图1中的***100的部件按照如下描述:
1.输入/输出设备120:通过其捕捉自然语言文本的设备。该设备允许处理器使用显示介质(屏幕、投影器、电视机、打印机、移动设备等等)来示出用户可以输入“案例”描述数据的结构并显示结果文档,采用以下配置:
a.语言用户接口121:允许用户选择语言并且上传该语言的语法和句法特征的视觉结构,该语法和句法结构然后存储在数据库存储器130中。
b.案例用户接口122:允许用户上传描述“案例”的简单语句的视觉结构,该语简单语句然后存储在数据库存储器130中。该结构还允许用户与被配置为自动语句分析器151和自动软件设计器152的处理器150的功能交互。
c.格式、图形表示法和STD语句用户接口123:在本发明的一个实施例中,为用户呈现此视觉结构,该视觉结构允许用户添加或修改在静态数据库存储器160中可用的格式、图形表示法和STD语句,以制备由被配置为自动文档生成器153的处理器150构建的业务、分析和设计文档。
d.文档显示用户接口124:该结构允许用户访问由被设计为自动文档生成器153的处理器150生成的文档。
2.CPU 110:***100的处理设备。该设备被设计成执行用于自动设计生成的所有自然语言处理功能并且包含允许所述功能与***的其他部件之间进行交换的主存储器。
a.主存储器140:用于在输入/输出设备、数据库存储器以及处理器之间交换信息的易失性存储设备。该主存储器根据其配置执行以下功能:
i.图141:通过使用存储在静态数据库存储器160中的格式、图形表示法和STD语句163使能被配置为自动文档生成器153的处理器150的文档的主存储器的配置。
ii.语句矩阵142:通过使用存储在静态数据库存储器160中的MAS元模型161、语言、单词和形态句法规则162使能被配置为自动语句分析器151的处理器150的简单语句的处理的主存储器的配置。
iii.FC矩阵143:通过使用存储在静态数据库存储器160中的MAS元模型161、语言、单词和形态句法规则162使能被配置为自动语句分析器151的处理器150的功能成分的处理的主存储器的配置。
iv.DC矩阵143:通过使用存储在静态数据库存储器160中的MAS元模型161、语言、单词和形态句法规则162使能被配置为自动软件设计器152的处理器150的设计成分的处理的主存储器的配置。
b.处理器150:执行处理和交换任务的设备。该设备根据其配置执行以下功能:
i.自动语句分析器151:主要任务是从简单语句自动地生成功能成分并且将该功能成分发送到动态数据库存储器170以供存储的处理器的配置。
ii.自动软件设计器152:主要任务是从简单语句自动地生成设计成分并且将该设计成分发送到动态数据库存储器170以供存储的处理器的配置。
iii.文档生成器153:主要任务是从简单语句自动地生成设计成分并且将该设计成分发送到动态数据库存储器170以供存储的处理器的配置。
3.数据库存储器130:存储由用户上传的并且由处理器150在其各种配置下生成的数据的永久性存储器。该存储器拥有两种存储配置:一个静态配置和一个动态配置。静态配置存储被上传以供一次性处理并且对于“案例”而言不是特定的必需的固定数据。动态配置存储针对每个案例上传的对于“案例”而言特定的数据。
a.静态数据库存储器160:
i.MAS元模型161:包含高抽象水平的形式逻辑规则的数据库存储器130的配置,该形式逻辑规则产生存储在数据库存储器130的语言、单词和形态句法规则结构162的形态句法规则。
ii.语言、单词和形态句法规则结构162:包含合格语言的特征、每种合格语言的特定单词以及该合格语言的形态句法规则的数据库存储器130的配置。
iii.格式、图形表示法和STD结构163:包含应用于文档的格式、应用于图的图形表示法和对于制备分析文档而言必备的STD语句的数据库存储器130的配置。
b.动态数据库存储器170:
i.简单语句问句171:包含由用户上传的简单语句以及与每个简单语句相对应的问句何时、何人、何物何物、如何以及何处的回答的数据库存储器130的配置。
ii.功能成分172:包含由被配置为自动语句分析器151的处理器150自动地生成的功能成分的数据库存储器130的配置。
iii.设计成分173:包含由被配置为自动软件设计器152的处理器150自动地生成的设计成分的数据库存储器130的配置。
在使用上述***时,本发明执行在图2以及如下描述的阶段序列:
阶段A.使用输入/输出设备120将MAS元模型161上传到静态数据库存储器160的MAS元模型161的逻辑结构中。
阶段B.使用显示设备120的语言用户接口121输入合格语言、每种合格语言的语法和句法规则并且将这些数据存储在静态数据库存储器160的语言、单词和形态句法规则162的逻辑结构中。
阶段C.使用显示设备120的案例用户接口122输入“案例”的描述作为用选自阶段B的合格语言列表的自然语言之一的文本。标识“案例”的步骤并且然后将其存储在动态数据库存储器170的简单语句和问句171的逻辑结构中。
阶段D.标识与基于阶段C的步骤相对应的“案例”的简单语句并且使用显示设备120的案例用户接口122上传简单语句并且将该简单语句存储在动态数据库存储器170的简单语句和问句171的逻辑结构中。
阶段E.基于阶段D通过被配置成根据在阶段A中上传的MAS元模型161中的逻辑结构运行的自动语句分析器151的处理器150自动地标识简单语句的功能成分(应当理解的是,功能成分与由处理器150提取的并且自动地表征的语句的每个单词相对应)。处理器150继续将所述功能成分临时地存储在主存储器140的FC矩阵143的逻辑结构中。这些成分最终存储在动态数据库存储器170的功能成分172的逻辑结构中。
阶段F.基于来自阶段E的功能成分自动地标识“案例”的设计成分。应当理解的是,设计成分是指与由处理器150自动地生成的功能成分相对应的每个软件设计模型。使用被配置为自动软件设计器152的处理器150创建设计成分,在本发明的一个实施例中,该自动软件设计器根据在阶段A中上传的MAS元模型161中的逻辑结构运行。处理器150继续将所述设计成分临时地存储在主存储器140的DC矩阵144的逻辑结构中。这些成分最终存储在动态数据库存储器170的设计成分173的逻辑结构中。
阶段G.使用(显示设备120的)格式、图形表示法和STD语句用户接口输入业务、分析和设计文档的输出格式、需求的标准语句的参数以及设计图的图形表示法,并且将这些数据存储在静态数据库存储器160的格式、图形表示法和STD语句163的逻辑结构中。
阶段H.使用在阶段G中限定的格式、图形表示法和STD语句通过被配置为文档生成器163的处理器150从来自阶段D的简单语句自动地生成业务文档(业务文档被理解为用自然语言逐步描述待解决的问题)、基于来自阶段E的功能成分自动地生成分析文档(分析文档被理解为对待构建的软件的功能需求的描述)并且基于来自阶段F的设计成分自动地生成设计文档(设计文档被理解为包含用于构建软件的指示的文档)。
阶段I.使用为功能架构文档特别限定的图形表示法通过被配置为文档生成器163的处理器150基于来自阶段E的功能成分自动地生成功能架构文档(功能架构文档被理解为是通过表示自然语言文本的含义的基本概念来按照总结形式构建该含义的图)。
以下详细描述该过程的各个阶段:
阶段A.上传MAS元模型
在本阶段,详细描述MAS元模型及其自明原理。该元模型用来在作为自动语句分析器151的配置下确立处理器150的行为。
图2A1示出根据面向对象的范例表示该元模型所限定的以对逻辑建模从而解读自然语言的规则的类模型。这些规则用作由被配置为自动语句分析器151的处理器150用来生成阶段D中的功能成分的基形态句法规则。
在本阶段,MAS元模型由以下子阶段创建(图2A):
子阶段A1.存储MAS元模型
在本子阶段,MAS元模型161的逻辑被上传到静态数据库存储器160。
该逻辑确立包含在自然语言描述中的每个单词是单词161-1。当单词是及物动词时,自动地限定两个新的单词:执行者单词161-2和可执行单词161-3,该执行者单词的名称是及物动词加上施事后缀“ER”,该可执行单词的名称是及物动词加上后缀“BLE”。及物动词时执行单词161-4,与执行者单词161-2具有一种关系161-5并且与可执行单词161-3具有另一种关系161-3。
单词161-1彼此相关,其方式为使得不是及物动词的单词可以与执行者单词161-2建立继承关系161-9和/或与可执行单词161-3建立继承关系161-8。
每个单词161-1可以与另一个单词161-1建立继承关系161-0。每个单词161-1可以与另一个单词161-1建立关联关系161-7。
由MAS元模型提供的选项的使用取决于在阶段D中处理的语句的形态句法。
以此方式,描述中的所有单词整体都可以由该元模型表示,该元模型限定语言的自明规则,假定在所有情况下满足该自明规则并且该自明规则表示对任何语言的任何形态句法规则建模的基础。
子阶段A2.存储形态句法规则的MAS逻辑。
在本子阶段,MAS元模型的逻辑被上传到静态数据库存储器161。所述逻辑限定用于表征自然语言单词以确定其在不同功能应用上下文中的含义的方法。处理自然语言的形式和句法的结构被称为形态句法结构。
在本发明中,用于处理自然语言的指南集合被称为形态句法规则。这种规则由用于处理限定以下内容的文本的指南组成:a)问句逻辑:简单语句内的单词属于哪一个问句(何时、何人、何物、如何、何处);b)步骤类型逻辑:何种类型的动词包括何物问句(FX、CC、QS、L、F);以及c)单词逻辑:是何种类型的单词。单词类型由其作为动词(VERB)、名词(NOUN)、介词(PREP)、冠词(ART)、连词(CONJ)、副词(ADV)的语法表征来确定。
为每个形态句法规则限定标识符。通过将组成语句的单词类型连结在一起来构成形态句法规则的标识符,除了执行者、可执行和执行类型。组成具有以下类型的单词序列的语句可以是例如ART-NOUN-VERB-ART-PREP-NOUN:冠词、名词、动词、介词、名词。可以在一般意义上处置这些类型的单词或者可以指代该类型的特定单词。例如,规则VERB(is)-PREP-NOUN指示该规则所适用的语句包含动词,并且特别地,单词类型VERB内的单词“is(是)”、然后是任何介词PERP并且然后是任何名词NOUN。这个规则将适用以下语句:[it]is a monkey([这]是一只猴子),[it]is a moon([这]是一个月亮)。
也就是说,对于每个简单语句,形态句法规则根据包括该规则的单词类型限定其结构。
给定简单的语句,在组成相应的形态句法规则标识符之前,被配置为自动语句分析器151的处理器150从语句中排除在子阶段B2中上传的特殊单词、冠词、连词和介词。该处理器然后在静态数据库存储器160的语言、单词和形态句法规则162配置中搜索形态句法规则。一旦用其相应的标识符找到该规则,如果存在具有相同的相应标识符的多于一个规则,该处理器在这个集合内从在组成语句的规则标识符期间排除的单词类型寻找特定单词的匹配。如果存在匹配,该处理器分配匹配特定的排除单词的规则。如果不存在匹配,该处理器分配通用规则。
MAS元模型限定从其派生不同案例的特定规则的以下基础规则。
基础规则
存在与何物问句相关联的两个基础规则,分别具有各自的特性:
-VERB-NOUN规则:
o通用案例:VERB-NOUN规则161-12:允许对具有动词、名词、名词结构的语句建模。
o特定案例:VERB(is)-NOUN规则161-10:允许对具有动词、名词结构的语句建模,其中动词是动词“to be(将)”。从MAS元模型应用的视角来说,这个动词是特殊动词。
-VERB-NOUN-PREP-NOUN规则:
o通用案例:VERB-NOUN-PREP-NOUN规则161-11:允许对具有动词、名词、介词、名词结构的语句建模。
o特定案例:VERB(hold responsible)-NOUN-PREP-NOUN规则161-13:允许对具有动词、名词结构的语句建模,其中动词是动词“to hold responsible(负责)”。从MAS元模型应用的视角来说,这个动词是特殊动词。
o特定案例:VERB(link)-NOUN-PREP-NOUN规则161-14:允许对具有动词、名词结构的语句建模,其中动词是动词“to link(将联接)”。从MAS元模型应用的视角来说,这个动词是特殊动词。
类似地,存在对简单语句中的何人进行建模的基础规则:
-NOUN规则:存在于所有简单语句中并且允许对指代主语的主要名词的行为建模。
对于不需要强制完成的何时、如何以及何处问句,标识出现在回答中的单词类型,并且生成必需的规则标识符。
在本发明的一个实施例中,用户可以添加基础规则和形态句法规则,总是根据MAS元模型的逻辑。
给定自然语言的简单语句,并且一旦找到形态句法规则,被配置为自动语句分析器151的处理器150通过应用处置由所述规则限定的文本的指南来生成功能成分:a)问句逻辑;b)步骤类型逻辑;以及c)单词逻辑,如图2A2所示。
(a)问句逻辑:确定规则适用的单词的归属问句。
必须注意,描述是对过程进行描述的简单语句的集合。这种过程的每个步骤与源自问句何人、何物、何处、如何、何时的回答的一个简单语句相对应。
(b)步骤类型逻辑:确定规则适用的单词的归属步骤类型。
每个步骤可以在步骤类型下分类。步骤类型是在规则中由与何物问句中的动词相关联的特定单词确定的。每个形态句法规则基于MAS元模型,并且根据与何物问句联接的特定动词,可以在以下类型下分类:检查/确认;查询/搜索;计算;关系;功能;通知/提醒。
CC步骤:(确定检查/确认动作的步骤)
这些是动词限定检查或确认动作的步骤,诸如:检查、确认、约束等等。在这种情况下,动词是及物的,并且其后的名词总是耦合到表示***的数学逻辑的语句。
这种步骤类型被分配VERB-NOUN形态句法规则,并且其添加检查/确认逻辑的数学描述。
这种类型的语句的一些示例是:检查物品具有正库存(VERB-NOUN;“havepositive inventory(具有正库存)”是数学确认逻辑),确认客户具有税务ID号(VERB-NOUN;“has a tax ID number(具有税务ID号)”是数学确认逻辑);约束过期商品的摄入(VERB-NOUN;“expired merchandise(过期商品)”是数学确认逻辑)。
QS步骤(包括查询/搜索动作的步骤)
这些是动词限定查询或搜索动作的步骤,诸如:搜索、定位、选择、查询、指示、显示、示出等等。在这种情况下,动词是及物的,并且其后的名词指示搜索/查询的对象。
这个步骤类型被分配VERB-NOUN形态句法规则标识符,其中,名词描述搜索的对象,这是指动词适用名词的情形集合。
这种类型的语句的一些示例是:query the items(查询物品)(VERB-NOUN),showthe balances(显示余额)(VERB-NOUN),display the data(显示数据)(VERB-NOUN),showthe results(显示结果)(VERB-NOUN),search the items(搜索物品)(VERB-NOUN),locatethe spare parts(定位备用部件)(VERB-NOUN),select the clients(选择客户)(VERB-NOUN)。
FX步骤(包括显式计算动作的步骤)
这些是动词显式地限定计算动作的步骤,诸如:计算、分组、求平均、相加等等。在这种情况下,动词总是耦合到表示***的数学逻辑的语句。
这个步骤类型被分配VERB-NOUN形态句法规则标识符,其中,名词描述动词所指代的计算的逻辑。
这种类型的语句的一些示例是:calculate the total sales(计算总销售额)(VERB-NOUN),group the items by color(通过颜色对物品分组)(VERB-NOUN),averagelast month's cost(对上一个月的成本求平均)(VERB-NOUN)。
L步骤(包含联接动作的步骤)
这些是动词限定联接动作的步骤,诸如:相关、联接、关联、组成等等。在这种情况下,动词后面是至少两个名词。
动词可以表示以下模型中的任一种:
模型1:
这种步骤类型被分配VERB(link)-NOUN-PREP-NOUN形态句法规则,其中,特定的动词可以是“link(联接)”或任何同义词和介词,通常是“with(与/用)”,但是可以变化。
这种类型的语句的一些示例是:
link the items with the prices(将物品与价格联接)(VERB(link)-NOUN-PREP-NOUN),link the equipment with the spare parts(将设备与备用部件联接)(VERB(link)-NOUN-PREP-NOUN),associate the taxes with the shares(将税务与股份相关联)(VERB(link)-NOUN-PREP-NOUN),compose the product with the inputs(用输入组成产品)(VERB(link)-NOUN-PREP-NOUN)。
模型2:
这种步骤类型被分配VERB(hold responsible)-NOUN-PREP-NOUN形态句法规则,其中,特定的动词可以是“hold responsible(负责)”或任何同义词和介词,通常是“for(对)”,但是可以变化。
这种类型的语句的一些示例是:hold the client responsible for thepayment(使客户对支付负责)(VERB(hold responsible)-NOUN-PREP-NOUN),hold theemployee responsible for inventory control(使员工对库存控制负责)(VERB(holdresponsible)-NOUN-PREP-NOUN)。
模型3:
这种步骤类型被分配VERB-NOUN-PREP(a)-NOUN形态句法规则,其中,特定的介词可以是a(一)、an(一)或任何其他介词。
这种类型的语句的一些示例是:measure the item with a unit ofmeasurement(用测量单位测量物品)(VERB-NOUN-PREP(a)-NOUN),value the item with alist of prices(用价格列表对物品估价)(VERB-NOUN-PREP(a)-NOUN)。
F步骤(与任何前述类型不对应的步骤)
这些是动词与任何前述步骤不对应的步骤,因为动词指代特定于“案例”的动作。
动词可以表示以下模型中的任一种:
模型1:
这种步骤类型被分配VERB-NOUN形态句法规则标识符并且用于为被列出为CC、QS或FX步骤类型或这种同一类型的任何模型中的特定单词的所有动词。
及物动词之后是一个或多个名词。例如:Buy an item(购买物品)(VERB-NOUN),Sell fruits(销售水果)(VERB-NOUN),Fix the tools(修复工具)(VERB-NOUN),Solveproblems(解决问题)(VERB-NOUN)。
模型2:
这种步骤类型被分配VERB(is)-NOUN形态句法规则,其中,特定动词是“to be(将)”。这是描述名词的性质的非常特殊的动词。
这种类型的语句的一些示例是:[it]is fruit([这]是水果)(VERB(is)-NOUN),[it]is a company([这]是一家公司)(VERB(is)-NOUN)。
(c)单词逻辑:确定所分析的语句和问句的归属单词类型结构
被配置为自动语句分析器151(图2E1)的处理器150执行以下动作,以从每个简单语句的单词获得相关联的功能成分:
-对于“案例”的语言并且从静态数据库存储器160的语言、单词和形态句法规则162,该处理器拿取动词结尾(VE)和特殊单词(SW)列表,分组单词(GRW)列表和排除单词(EXW)列表位于该特殊单词列表内。该处理器还使用限定待从逻辑结构应用的指南的形态句法规则。
-该处理器拿取来自动态数据库存储器170的简单语句和问句171的逻辑结构的按照相应的问句构建的“案例”的简单语句。
-该处理器为“案例”的每个简单语句分配序列号。
-对于“案例”的每个简单语句,并且对于每个问句,该处理器一个接一个地拿取单词并且根据如下单词类型来表征这些单词:
如果问句是如何,该处理器对问句中的每个单词的结尾与动词结尾VE进行比较,以标识动词。一旦标识了动词,该处理器对剩余单词与特殊单词SW列表进行比较,以标识介词、冠词、连词和副词。动词之后的并且不是SW的单词是名词。名词之后的单词可以是作为分组单词GRW列表的成员的SW,在这种情况下,GRW加上之前和之后的单词构成分组名词。不是SW的剩余单词是形容词。
如果问句是何物,第一个单词是动词。一旦标识了动词,该处理器对剩余单词与特殊单词列表进行比较,以标识介词、冠词、连词和副词。如果动词是及物的,动词之后的单词不是SW;而是充当直接宾语(DO)的名词。名词之后的单词可以是作为分组单词GRW列表的成员的SW,在这种情况下,GRW加上之前和之后的单词构成分组名词。不是SW的剩余单词是形容词。
如果问句是何人,该处理器对剩余单词与特殊单词列表进行比较,以标识介词、冠词和连词。名词之后的单词可以是作为分组单词GRW列表的成员的SW,在这种情况下,GRW加上之前和之后的单词构成分组名词。不是SW的剩余单词是形容词。
MAS元模型和形态句法规则结构在子阶段E4中应用以标识用于创建功能架构文档的功能成分,在子阶段G6中生成软件设计成分,并且在子阶段H4中限定与软件设计MAS元模型相关联的图形表示法。这些子阶段表示本发明的优选实施例,其中,按照子阶段A1所限定的那样来处置“案例”的文本的及物动词。
阶段B.输入语言的特征和结构
在本阶段(图2B),将用于用自然语言描述“案例”及其形态句法特征的语言通过以下子阶段描述:
子阶段B1.限定形容词的顺序
形容词的顺序指代形容词相对于语言的名词的位置。
在被配置为语言用户接口121的输入/输出设备120中,从形容词的可用顺序列表中限定语言的形容词的适当顺序:顺序1:名词+形容词;顺序2:形容词+名词;顺序3:变性形容词+变性名词;顺序4:形容词+变性名词;顺序5:变性形容词+名词。例如,对于英语,形容词的合适顺序是形容词+名词。
子阶段B2.上传特殊单词
在被配置为语言用户接口121的输入/输出设备120中,上传在子阶段B1中限定的语言的特殊单词。特殊单词由被配置为自动语句分析器151的处理器150用来确定将从语句分析排除哪一些单词。在本发明的上下文中,冠词(ART)、介词(PREP)、连词(CONJ)和副词(ADV)被认为是语言的特殊单词。在英语中,“a(一)”和“the(该)”是冠词的示例,“for”和“with”是介词的示例,“and(和)”和“or(或)”是连词的示例,并且“how(如何)”和“where(何处)”是副词的示例。
子阶段B3.上传分组单词
在被配置为语言用户接口121的输入/输出设备120中,上传在子阶段B1中限定的语言的分组单词。在本发明中,分组单词是来自在子阶段B2中限定的可以联接两个其他单词以形成复合单词的特殊单词。这是由单词“of(的)”分组的单词“list of prices(价格的列表)”的情况。
子阶段B4.上传动词结尾
在被配置为语言用户接口121的输入/输出设备120中,上传来自阶段B1的语言的与常规的动词结尾的最后一个音节相对应的适当动词结尾。动词结尾“-ing”是英语的示例。
阶段C.输入“案例”的描述
在本阶段(图2C)中,通过以下子阶段用自然语言描述案例。
子阶段C1.选择案例描述语言
在被配置为案例用户接口122的输入/输出设备120中,选择将描述“案例”的语言。语言选自在阶段B中上传的合格语言列表。
子阶段C2.标识构建“案例”的上下文的成分
在本发明的一个实施例中,标识构建“案例”的上下文的成分。
本阶段处理“案例”的领域的静态版本和临时动态版本。在静态版本中,从全局视角观察“案例”的概念结构,而不考虑随着时间发生了什么,将概念划分为组成它的维度或主要方面:层和资源。在动态版本中,从随着时间过去而发生的事件的角度(时间活动)并且按照发生的顺序来观察:过程、时刻和步骤。
为了在本发明的建议实施例中构建“案例”的描述,标识层、资源、过程、子过程和时刻
(a)标识“案例”的各层
层被理解为是占据过程的一部分并且可以独立于彼此被处置的信息层级,层可以独立于非常不同的输入和输出而运行。例如,标识以下两个层:数据层(其中构建并访问过程的输入数据)和计算层(其中使用所述数据执行计算)。
(b)标识“案例”中所使用的资源
资源是在过程期间经历变换的成分并且允许访问其他资源,诸如变换过程的结果。例如,库存物品是经历销售过程的资源。
(c)标识“案例”内的过程
过程是对资源进行变换的动作或动作组。例如,“marketing inventory items(营销库存物品)”的过程。
(d)标识“案例”的每个过程的子过程
子过程是过程的允许通过碎片分析该过程的部分。例如,“providing a quote(提供询价)”和“sale(销售)”可以是包括在“marketing inventory items(营销库存物品)”的过程中的子过程。
(e)标识“案例”的时刻
在本发明中,时刻是子过程的通知与该子过程相关的事件发生的分区。例如,“When the client is interested(当客户感兴趣时)”是在“providing a quote(提供询价)”的子过程中发生的时刻。
子阶段C3.标识“案例”的步骤
步骤是在任何给定的时刻执行的活动。示例:时刻“When the person enters thetesting office(当个人进入测试办公室时)”的活动可以是:询问他的身份证件、记录来自所述身份证件的数据、搜索他的家庭成员、询问他当前的工作。
为了确保“案例”的描述是完整的,必须包括所有步骤,甚至包括因为显而易见而通常省略的步骤。
由于步骤是语句并且步骤的动词确定将要执行的行动,可以根据动词所指示的动作类型并且通过分析动词之后的名词(不包括在子阶段B2中限定的特殊单词:冠词、连词、命题和介词)来对步骤分类。
通过步骤类型对语句进行分类的指南被称为步骤类型逻辑,作为在子阶段A2中限定的并且在以下描述的形态句法规则的一部分。
CC步骤:(包含检查/确认动作的步骤)
这些是动词限定检查或确认动作的步骤,诸如:检查、确认、约束等等。在这种情况下,动词总是耦合到表示***的数学逻辑的语句。这种类型的语句的一些示例是:检查商品是否具有正库存、确认客户具有税务ID编号、约束过期商品的摄取。
QS步骤(包括查询/搜索动作的步骤)
这些是动词限定查询或搜索动作的步骤,诸如:搜索、定位、选择、查询、指示、显示、示出等等。在这种情况下,动词之后总是存在名词或直接宾语。这种类型的语句的一些示例是:query the items(查询物品)(VERB-NOUN),show the balances(显示余额)(VERB-NOUN),display the data(显示数据)(VERB-NOUN),show the results(显示结果)(VERB-NOUN),search the items(搜索物品)(VERB-NOUN),locate the spare parts(定位备用部件)(VERB-NOUN),select the clients(选择客户)。
FX步骤(包括显式计算动作的步骤)
这些是动词特别地限定计算动作的步骤,诸如:计算、分组、求平均、相加等等。在这种情况下,动词总是耦合到表示***的数学逻辑的语句。这种类型的语句的一些示例是:calculate the total sales(计算总销售额)(VERB-NOUN),group the items by color(通过颜色对物品分组)(VERB-NOUN),average last month's cost(对上一个月的成本求平均)。
L步骤(包括联接动作的步骤)
这些是动词限定联接动作的步骤,诸如:相关、联接、关联、组成等等。在这种情况下,动词后面是至少两个名词。这种类型的语句的一些示例是:link the items with theprices(将物品与价格联接)(VERB(link)-NOUN-PREP-NOUN),link the equipment withthe spare parts(将设备与备用部件联接)(VERB(link)-NOUN-PREP-NOUN),associatethe taxes with the shares(将税务与股份相关联)(VERB(link)-NOUN-PREP-NOUN),compose the product with the inputs(用输入组成产品)。
F步骤(与任何前述类型不对应的步骤)
这些是动词与任何前述步骤不对应的步骤,因为动词指代特定于“案例”的动作。动词可以表示以下模型中的任一种:模型1:动词之后是一个或多个名词。例如:Buy anitem(购买物品)(VERB-NOUN),Sell fruits(销售水果)(VERB-NOUN),Fix the tools(修复工具)(VERB-NOUN),Solve problems(解决问题)。模型2:其后不是名词的动词。例如:Enter(进入)、Exit(离开)。
通常按照以下顺序来描述步骤:1)F步骤,2)CC步骤,3)QS步骤,4)FX步骤,5)L步骤。
阶段D.标识并存储“案例”的简单语句
在本阶段,列出“案例”的简单语句,拿取“案例”的描述的每个段落并且提取仅具有一个动词的语句,以将这些语句上传到输入/输出设备120的案例用户接口122。例如,如果描述段落是:“The item is an inventory item.The person measures the item in aunit of measurement and places the Order,for which he is responsible,andlinks it to an Order Type(物品是库存物品。个人在测量单位中测量物品并且对他负责的订单下单,并且将订单联接到订单类型)”,相应的简单语句是:“The person measuresthe item in a unit of measurement(个人在测量单位中测量物品)”、“The personplaces the Order(个人对订单下单)”、“The organization holds the personresponsible for the Order(组织使个人对订单负责)”、“The item is an inventoryitem(物品是库存物品)”、“The person links the Order to an Order Type(个人将订单联接到订单类型)”。
在自由编写的文本中,同一段落中存在通常由连词分开的具有隐式主语的语句。在这种情况下,主语暴露,以形成完整的语句,目的是将具有隐式主语的语句转换为具有隐式主语的简单语句。例如,以下由连词“and(并且)”分开的语句中存在暗示主语:“Theperson measures the item in a unit of measurement and places the Order(个人在测量单位中测量物品并且对订单下单)”,并且被分为两个简单语句:“The personmeasures the item in a unit of measurement(个人在测量单位中测量物品)”、“Theperson places the Order(个人对订单下单)”。
在此步骤中,描述是对“案例”进行描述的简单语句的集合。从对问句何人、何物、何处、如何以及何时的回答派生的一个简单语句对应于过程的每个步骤。
一旦标识了简单语句并且完成了具有隐式主语的那些语句,这些语句被上传到输入/输出设备120的案例用户接口122。
在本阶段(图2D),通过以下子阶段标识“案例”的简单语句。
子阶段D1.回答“案例”的每个步骤的问句
在本阶段,“案例”的每个简单语句用来回答问句何人、何物、何处、如何以及何时。
对于存储在简单语句和问句动态数据库存储器171中的每个简单语句,处理器150在输入/输出设备120的案例用户接口122中显示每个语句,询问问句何人、何物、何处、如何以及何时。对于每个简单语句,用户输入回答,同时确保每个回答是语句的含义的组成部分。在一些情况下,可能无法回答这些问句中的一个或多个。
对前述问题的回答是的简单语句的每一部分变成显式的,在本发明的优选实施例中,必须用现在时态来编写这种简单语句。
通过问句类型对语句进行分类的指南被称为问句逻辑,作为在子阶段A2中限定的形态句法规则的一部分。
子阶段D2.连结每个步骤的回答
一旦对问句的回答被上传,按照以下顺序连结每个回答:何时、何人、何物、如何、何处。以此方式,回答的文本被结合为一个简单语句并且存储在动态数据库存储器170的简单语句和问句171的逻辑结构中。
对前述问题的回答是的简单语句的每一部分变成显式的,必须用现在时态来编写这种简单语句。
例如,对于不完整的语句:“Ask for his identification document(询问他的身份证件)”,如果应用前述方法,结果是简单语句:当个人进入时,***操作员记录身份证件的编号。
阶段E.标识并存储功能成分。
在本发明的上下文中,必须理解的是,功能成分根据表达语言的语法和句法结构对应于语句的由处理器150自动地提取并分类的每个单词。
在本阶段(图2E),描述用于标识语句的功能成分的子阶段。
子阶段E1.将简单语句解构为单词并且标识单词
由处理器150生成的功能成分被分为以下类型:
·名词功能成分
o在何物->名词-直接宾语(DO)中标识
o在何人->名词-人称(PER)中标识
o在何时->名词(NONN)中标识
o在如何->名词(NONN)中标识
·形容词功能成分
o在任意问句->形容词(ADJ)中标识
·动词功能成分
o在何物->动词(VERB)中标识
o在如何->动词(VERB)中标识
·副词功能成分
o在如何->副词(ADV)中标识
构建单词的指南被称为单词逻辑,作为在子阶段A2中限定的并且在以下描述的形态句法规则的一部分。
在本子阶段,被配置为自动语句分析器151的处理器150对“案例”的每个简单语句执行以下动作:
(a)列出单词。
对于每个语句,列出每个单词。
(b)标识待排除的单词。
从功能成分选择中排除在子阶段B2中限定的待排除的那些单词;当这些单词是分组名词的一部分的情况时除外,诸如:list of prices(价格列表)、box of cookies(饼干盒)。
(c)标识动词。
通过对每个单词的结尾与在子阶段B4中限定的动词结尾的列表进行比较来标识动词或者作为对简单语句中的问句何物的回答的第一个单词。
(d)标识名词。
将不是动词的并且未被排除的单词标识为名词。
(e)将名词标记为&attribute
一些名词就像&attribute。&attribute被理解为不是形容词的另一个名词的特征的名称。关于所标识的名词列表,在本发明的一个实施例中手动地选择&attribute。在另一个实施例中,当在文本中的括号内列出名词时,处理器自动地识别这些名词。示例:在语句“upload the document number of the client(上传客户的证件编号)”中,“documentnumber(证件编号)”是“client(客户)”的&attribute。
(f)标识分组名词。
当分组名词之间存在充当联接的特殊单词的两个连续名词时,将这些分组名词标识为名词。
(g)基于单词标识功能成分。
从所分类的单词列表中,名词和动词被标识为功能成分并且相应地被分类为VERB、DO、NOUN、PERSON。
(h)一个接一个地检查每个功能成分的先前存在
当任何类型的新功能成分被标识时,检查该新功能成分是否之前就存在。如果不存在,则创建该新功能成分。如果存在,继续。
(i)将功能成分与所回答的问句相关联。
基于单词所属于的问句通过类型对功能成分进行分类:
i.如果单词属于何时:用动词分组的单词是副词功能成分(ADV)。
ii.如果单词属于何物:跟在动词后面的名词是直接宾语(DO)类型的功能成分。
iii.如果单词属于何人:第一个名词是人称(PERS)功能成分。
被配置为自动语句分析器151的处理器150执行如图2E1所示的以下动作,以从每个简单语句的单词获得相关联的功能成分:
-对于“案例”的语言,该处理器从静态数据库存储器160的语言、单词和形态句法规则162的逻辑结构中拿取动词结尾(VE)、特殊单词(SW)列表,分组单词(GRW)列表、排除单词(EXW)列表位于该特殊单词列表中。
-该处理器从动态数据库存储器170的简单语句和问句171的逻辑结构中拿取按照相应的问句构建的“案例”的简单语句。
-该处理器为“案例”的每个简单语句分配序列号。
-对于“案例”的每个简单语句,对于每个问句,该处理器一个接一个地拿取单词并且根据如下单词类型来表征这些单词:
如果问句是如何,该处理器对问句中的每个单词的结尾与动词结尾VE进行比较,以标识动词。一旦标识了动词,该处理器对剩余单词与特殊单词SW列表进行比较,以标识介词、冠词、连词和形容词。动词之后的并且不是SW的单词是名词。名词之后的单词可以是作为分组单词GRW列表的成员的SW,在这种情况下,GRW加上之前和之后的单词构成分组名词。不是SW的剩余单词是形容词。
如果问句是何物,第一个单词是动词。一旦标识了动词,该处理器对剩余单词与特殊单词列表进行比较,以标识介词、冠词、连词和形容词。如果动词是及物的,动词之后的单词不是SW;而是充当直接宾语(DO)的名词。名词之后的单词可以是作为分组单词GRW列表的成员的SW,在这种情况下,GRW加上之前和之后的单词构成分组名词。不是SW的剩余单词是形容词。
如果问句是何人,该处理器对剩余单词与特殊单词列表进行比较,以标识介词、冠词和连词。名词之后的单词可以是作为分组单词GRW列表的成员的SW,在这种情况下,GRW加上之前和之后的单词构成分组名词。不是SW的剩余单词是形容词。
子阶段E2.添加不包括在描述中的功能成分。
在本发明的一个实施例中,用户添加在自动标识的功能成分列表中不存在的功能成分。继续同一示例:
·身份证件的编号是从语句自动检测的&attribute。
·个人的年龄是由用户添加的&attribute。
在本发明的一个实施例中,为所添加的每个功能成分自动地创建相应的步骤和简单语句。
子阶段E3.丰富功能成分。
在本发明的一个实施例中,用户添加与FX和CC类型步骤相关联的公式表达式以及与所述步骤相关联的消息。
(a)添加公式表达式。
在本发明的一个实施例中,用户添加为所有CC和FX类型步骤添加描述“案例”的数学行为的公式表达式。例如:
·{fx expression}="(param1,param2,param3)expression=param1*param2/param3"({fx表达式}="(param1,param2,param3)表达式=param1*param2/param3")
(b)添加消息。
在本发明的一个实施例中,用户添加错误、验证和警告消息。例如:
·{warning message}="The value cannot be greater than zero"({警告消息}=“值不能大于零”)
·{ok message}="The datum was saved correctly"({确认消息}=“数据已正确保存”)
·{error message}="Data reading error"({错误消息}=“数据读取错误”)
子阶段E4.将形态句法规则应用到功能成分
在本发明的一个实施例中,用户可以使能使用形态句法规则,使得处理器150符合子阶段A2中限定的逻辑。
在本实施例,简单语句的每个单词根据图2A1中的MAS元模型被分类为单词161-1,并且被分配以下单词类型之一:VERB、NOUN、ART、CONJ、ADJ。还创建执行者161-2和可执行161-3,将执行161-4类分配给及物动词。通过类型分类的所有单词161-1是功能成分。如图2D所示,一旦创建了每个功能成分,该功能成分联接到其所来自的语句、联接到其所属于的问句、联接到相应的单词类型并且联接到表示组成问句的单词类型序列的形态句法规则标识符,如子阶段A2所指示的。
在功能成分选择期间,在子阶段B2中限定的特殊单词,除了相应的形态句法规则将其标记为特殊单词的情况之外。
在本实施例中,处理器150为每个及物动词创建两个新的功能成分。被命名为动词加上施事后缀“ER”(执行者161-2)的功能成分以及被命名为动词加上后缀“BLE”(可执行161-3)。及物动词是执行161-4单词。对于执行及物动词的名词,处理器150创建与动词的ER相关联的动词“is”。对于目标名词(语句的直接宾语),处理器150创建与动词的BLE相关联的动词“is”。
阶段F.生成功能架构文档
在本阶段(图2F),被配置为文档生成器153的处理器150使用存储在静态数据库存储器160的格式、图形表示法和STD语句163的逻辑结构中的格式和表示法生成功能架构文档并且将这些功能架构文档显示在输入/输出设备120的文档显示用户接口124中。
在本阶段(图2F),功能架构文档是通过以下子阶段生成的:
子阶段F1.建立功能架构的形态句法规则
如在阶段A中确立的,对于后面是介词“to(向)”或“to the(向该)”的每个及物动词,处理器为执行该动词的名词创建以下内容:句法成分,该句法成分的名称是动词加上施事后缀“er”(以下称为动词的ER),并且为接收该动词的动作的名词创建以下内容:句法成分,该句法成分的名称是动词加上后缀“ble”(以下称为动词的BLE)。处理器在源名词与动词的ER之间创建被称为“Performance of the verb(动词的执行)”的新名词。对于源名词,处理器创建与动词的BLE相关联的动词“is”。对于目标名词,处理器创建与动词的ER相关联的动词“is”。
子阶段F2.限定将在功能架构文档中使用的图形表示法
在本阶段,使用输入/输出设备120的格式、图形表示法和STD语句用户接口123,根据相应的单词类型限定将在功能架构图中使用的图形表示法,指示将在图中用于每个功能成分的图形成分。将所限定的图形表示法存储在数据库存储器130中。以此方式,用户在由格式、图形表示法和STD语句用户接口123创建的视觉网格中输入图形表示法,因此:
子阶段F3.生成功能架构文档
被配置为文档生成器153的处理器150拿取存储在动态数据库存储器170的功能成分逻辑配置172中的功能成分,并且使用在子阶段F2中限定的表示法来构建功能架构文档,应用静态数据库存储器160的MAS元模型161逻辑结构中的MAS元模型。为了生成功能架构图,处理器扫描功能成分列表并且应用以下规则,直至产生诸如图2F1所示的图:
规则1:对于每个NOUN类型的功能成分,用其中的FC标记绘制FNOUN图形元素。
规则2:对于每个VERB类型的功能成分,在VERB之前的NOUN与之后的NOUN之间绘制直线,考虑以下内容:i)如果VERB是“to be or any of its conjugations(将或其任意词形变化)”,从VERB之前的NOUN到位于VEBR之后的NOUN绘制FTOBE图形元素;ii)如果VERB是任何其他及物动词,从VERB之前的NOUN到位于VERB之后的NOUN绘制FERBLE图形元素;iii)如果VVERB不是及物的,从VERB之前的NOUN到相同的NOUN绘制FVERB图形元素。
规则3:对于每个PERP类型的功能成分,但是仅对于“of(的)”和“of the(该…的)”的介词,在介词之前的NOUN与介词之后的NOUN之间绘制FPREP图形元素。
规则4:对于每个及物动词,绘制与基于在子阶段A1中限定的MAS元模型创建的单词相对应的图形成分:为执行者单词绘制FERBLE图形元素,为可执行单词绘制FERBLE,并且为执行单词绘制FPERF。
处理器150在输入/输出设备120上显示功能架构文档。
阶段G.标识并存储设计成分。
在本发明中,“案例”的设计文档由以下图组成:概念设计图、用例图、类图、实体关系图、屏幕设计图以及报告设计图。
“案例”的每个设计文档显示图形。特别地,在本发明中使用类图。根据宾语导向(OO)范例作为类图的一部分的每个图形元素将被成为设计成分(DC)。示例:类、关系、属性、方法。
为了本发明的目的,应当理解的是,类、属性、关系和方法是在宾语导向(OO)范例中限定的设计成分。
在本阶段(图2G),被配置为自动软件设计器152的处理器150通过以下子阶段自动地设计软件:
子阶段G1.将功能成分分组、创建其类和继承关系。
在本子阶段,被配置为自动软件设计器152的处理器150基于功能成分属性的相似度创建类和继承关系,执行以下动作:
(a)选择功能成分
处理器拿取在阶段D中创建的功能成分列表,这些功能成分存储在动态数据库存储器170的功能成分172的逻辑结构中,除了被标记为“Is attribute(是属性)”的功能成分和VERB单词类型的功能成分之外。
处理器删除具有非常相似的名称的功能成分(例如,使用Levenshtein距离算法的90%的相似度),单词“person(个人)”和“persons(多个个人)”的情况就是这样,其中“person(个人)”被认为是单个功能成分。
(b)对类似功能成分分组
处理器使用{list of&attributes}({&attributes列表})通过将具有相同{listof&attributes}的功能成分放在同一个组中对包括在先前步骤中的功能成分进行分组。处理器拿取具有多于一个功能成分的那些分组并且为这些分组分配单词名称,例如Word01、Word02。
(c)通过分组创建类
处理器为具有多于一个功能成分的每个分组创建类,将{list of&attributes}的每个元素指示为属性,并且为类分配与分组相对应的单词的名称。
(d)创建分组的继承关系
对于那些属于具有多于一个元素的分组的功能成分,处理器在功能成分所属于的每个类与功能成分的相应分组类之间创建继承关系,这是根据功能成分所属于的{listof&attributes}分组。也就是,具有在来自前一步骤的相同分组中一般化的相同{list of&attributes}的类之间存在继承关系。
子阶段G2.基于FX和CC类型的步骤创建公式类
在本子阶段,被配置为自动软件设计器152的处理器150对“案例”的简单语句执行以下动作,由问句类型划分:
(a)列出属于FX和CC步骤的VERB和DO功能成分
处理器列出所有VERB和DO类型的功能成分并且标识这些功能成分的相应步骤类型,如子阶段C3中所限定的。
(b)创建FX和CC类型步骤的类
基于属于FX和CC类型步骤的功能成分,处理器创建具有由VERB限定的行为的类。对于每个VERB,处理器创建类并添加方法,该方法被称为公式并且负责计算由{fxexpression}({fx表达式})指示的表达式。
对于在先前步骤中创建的每个类,处理器执行以下动作:
a.如果DO“Is Attribute”,处理器在类中创建被称为DO的属性。
b.如果DO“Is[not]Attribute([不]是属性)”,处理器在来自先前步骤的类与包含DO作为其属性的类(称为TargetClass(目标类))之间创建关系。处理器将该关系命名为TargetClass_Movement。
子阶段G3.基于QS类型的步骤创建域类
在本子阶段,被配置为自动软件设计器152的处理器150执行以下动作:
(a)列出属于QS步骤的VERB和DO功能成分
处理器列出所有VERB和DO类型的功能成分并且标识这些功能成分的相应步骤类型,如子阶段C3中所限定的。
(b)创建QS类型步骤的类
基于属于QS类型步骤的功能成分,处理器创建具有由VERB限定的行为的类。对于每个VERB,处理器创建被称为VERB+DO的类并添加被称为fxdomain的方法,该方法负责搜索由{fx expression}限定的数据。处理器创建具有在{list of&attributes}中指示的&attributes被称为“Domain(域)”+VERB+DO的类。如果list of&attributes与先前创建的类之一的&attributes相同,处理器在相应的方向在其之间创建继承关系。
fxdomain方法调用“Domain”+VERB+DO。
子阶段G4.基于L类型的步骤创建域类
在本子阶段,被配置为自动软件设计器152的处理器150执行以下动作:
(a)列出属于QS步骤的VERB和DO功能成分
处理器列出所有VERB和DO类型的功能成分并且标识这些功能成分的相应步骤类型,如子阶段C3中所限定的。
(b)创建L步骤类型的类
基于L类型的功能成分,处理器在DO与NOUN之间创建被称为DO+“for”+NOUN的关系。
子阶段G5.基于F类型的步骤创建操作类
在本子阶段,被配置为自动软件设计器152的处理器150执行以下动作:
(a)列出属于F步骤的VERB和DO功能成分
处理器列出所有VERB和DO类型的功能成分并且标识这些功能成分的相应步骤类型,如子阶段C3中所限定的。
(b)创建F类型步骤的类
基于F类型的功能成分,处理器根据DO是否“Is Attribute”来创建以下类:
a.如果DO“Is Attribute”:处理器不创建类。
b.如果DO“Is[not]Attribute”:
i.处理器创建被称为VERB+DO的类,将被称为Class_Cab。
ii.来自F类型步骤的DO类将被称为Class_Rec。
iii.处理器在Class_cab与Class_rec之间创建1至n关系。处理器将关系命名为“Movement”+DO。
子阶段G6.将形态句法规则应用到设计成分
在本发明的一个实施例中,用户可以使能使用形态句法规则,使得处理器150符合子阶段A2中限定的逻辑。
基于在子阶段A2中限定的并且存储在静态数据库存储器160的语言、单词和形态句法规则162的逻辑结构中的形态句法规则,处理器150确定从存储在动态数据库存储器172的功能成分逻辑结构172中的每个功能成分(FC)派生哪些软件设计成分(DC)。
处理器列出问句,并且基于组成回答的单词类型为每个问句创建规则标识符。处理器然后在静态数据库存储器160的语言、单词和形态句法规则162中搜索所述规则标识符,并且通过匹配该标识符来定位基础规则。可能存在具有相同基础规则标识符的多于一个形态句法规则,在这种情况下,选择匹配在文本中发现的并且在形态句法规则中指示的问句、F步骤类型以及特殊单词的规则。在标识符与任何基础规则不匹配的情况下,处理器150忽略问句。
在本实施例中,对于在先前阶段中标识的并且在子阶段A1中限定的每个及物VERB,处理器150创建与动词和执行者161-2以及可执行161-3单词相关联的单词161-4。
对于L类型步骤的情况,用户可以创建取决于基础规则VERB-NOUN-PREP-NOUN的形态句法规则,其中,动词“to link(将联接)”例如被处理为特殊单词。在这种情况下,步骤类型将是L,并且处理器150将在DO与NOUN之间创建将被称为DO+“for”+NOUN的关系。
对于FX和CC类型的步骤的情况,处理器150创建与动词和执行者161-2以及可执行161-3单词相关联的单词161-4。处理器150向执行者161-2单词添加被称为fxdomain的方法。
图2A3示出具有基于MAS元模型161描述软件设计的形态句法规则的应用示例的软件设计类模型。这些形态句法规则对“案例”的语句建模。为了从自然语言设计软件,为描述简单语句的每个问句(何时、何人、何物、如何、何处)限定软件设计的形态句法规则。存储在单词、规则和形态句法规则静态数据库存储器162中的这些规则与为在子阶段2A中指示的每个简单语句计算的规则标识符相比较,并且基于匹配,限定由被配置为自动软件设计器152的处理器150用来生成软件设计成分的逻辑。
阶段H.限定格式、图形表示法和STD语句
在本阶段(图2H),通过以下步骤限定业务、分析和设计文档的格式以及生成这些文档所需的参数:
子阶段H1.限定文档的输出格式
在本子阶段,使用输入/输出设备120的格式、图形表示法和STD语句用户接口123限定业务文档、分析文档和设计文档的显示或打印格式。
这些限定包括限定页边、字体以及将显示每个文档的内容的排序。
对于业务文档,限定层、资源、过程、子过程、时刻和步骤的呈现顺序和序列。
对于分析文档,限定全局和详细需求的呈现顺序和序列。
在本发明的一个实施例中,用户可以使用输入/输出设备120的格式、图形表示法和STD语句用户接口123来修改在子阶段F1、F2、F3和F4中上传的格式、图形表示法和标准语句。
子阶段H2.限定需求的标准语句
在本子阶段,使用输入/输出设备120的格式、图形表示法和STD语句用户接口123,输入按照将用来生成需求的语言编写的用于描述需求的标准语句,并且这些标准语句存储在输入/输出设备120的语言、单词和形态句法规则162的逻辑结构中。生成这些需求所需的标准语句按照以下描述:这些语句必须被转换并存储在用来生成文档需求的每一种语言中。
(a)全局需求的标准语句:
为了生成全局需求,限定适用于英语的以下标准语句:
OracionSTD_abm_Sust:"Create,Read,Update and Delete(创建、读取、更新和删除)"
OracionSTD_abm_Pers:"Create,Read,Update and Delete Entities with role(以角色创建、读取、更新和删除实体)"
OracionSTD_verbo_F:"Create transaction record(创建交易记录)"
OracionSTD_verbo_R:"Create rule that(创建规则)"
OracionSTD_verbo_conector_R:"with"
OracionSTD_verbo:"Create rule that(创建规则)"
(b)NOUN和DO成分的详细需求的标准语句
为了生成NOUN和DO功能成分的详细需求,限定适用于英语的以下标准语句:
OracionSTD_Crear:"Create a new element(创建新元素)"
OracionSTD_Agregar_Atributos:OracionSTD_Agregar_Atributos
OracionSTD_Agregar_Controles:"Perform the following controls when anelement is created(当创建元素时执行以下控制)"
OracionSTD_Baja:"Exclude a(排除)"
OracionSTD_Edicion:"Update a(更新)"
OracionSTD_Consulta:"Search the transaction records of(搜索交易记录)"
OracionSTD_complemento_control:"performing the following controls(执行以下控制)"
OracionSTD_complemento_búsqueda:"performing the following searches(执行以下搜索)"
OracionSTD_crear_atributo:"Create the attribute(创建属性)"
OracionSTD_validacion_atributo:"Perform the following controls whenthe datum is completed(当数据完成时执行以下控制)"
(c)PERSON成分的详细需求的标准语句
为了生成PERSON功能成分的详细需求,限定适用于英语的以下标准语句:
OracionSTD_permitirque:"Allow(允许)"
OracionSTD_acciones_Persona:"to perform the following actions(以执行以下动作)"
OracionSTD_afectacion_Persona:"to be subject to the following actions(以经历以下动作)"
OracionSTD_responsabilidad_Persona:"to be performed under theresponsibility of(以在…的负责下执行)"
(d)VERB成分的详细需求的标准语句
为了生成与CC类型步骤或FX类型步骤相关联的VERB功能成分的详细需求,限定适用于英语的以下标准语句:
OracionSTD_crear_Fx:"Create a formula for(为…创建公式)"
OracionSTD_argumentos:"using the following data as arguments(将以下数据用作自变量)"
OracionSTD_expresion:"in the following expression(在以下表达式中)"
OracionSTD_msj_error_Fx:"If the formula returns an error,display thefollowing message(如果公式返回错误,显示以下消息)"
OracionSTD_msj_ok_Fx:"If the formula returns a valid result,displaythe following message(如果公式返回有效结果,显示以下消息)"
OracionSTD_msj_advertencia_Fx:"If the formula returns a warning,display the following message(如果公式返回警告,显示以下消息)"
为了生成与QS类型步骤相关联的VERB功能成分的详细需求,限定适用于英语的以下标准语句:
OracionSTD_crear_busqueda:"Create a rule for(创建规则)"
OracionSTD_exponer_atributos:"displaying the following data(显示以下数据)"
OracionSTD_definir_búsqueda:"Allow searching for the data of(允许搜索数据)"
OracionSTD_conector_orden:"by(通过)"
OracionSTD_definir_filtro:"Allow filtering the data of(允许过滤数据)"
OracionSTD_definir_orden:"Allow sorting the data of(允许分类数据)"
OracionSTD_definir_agrupamiento:"Allow grouping for the data of(允许分组数据)"
OracionSTD_definir_total:"Display the following summarized data(显示以下汇总数据)"
为了生成与L类型步骤相关联的VERB功能成分的详细需求,限定适用于英语的以下标准语句:
OracionSTD_crear_regla:"Create a rule that(创建规则)"
OracionSTD_condicion:"as long as the following condition is met(只要满足以下条件)"
OracionSTD_vincular:"Link(联接)"
OracionSTD_conector_vincular:"with"
OracionSTD_complemento_control:"performing the following controls(执行以下控制)"
OracionSTD_des vincular:"Unlink(取消联接)"
OracionSTD_consultar:"Search(搜索)"
OracionSTD_complemento_relacionar:"in a relationship with(有关系)"
OracionSTD_complemento_criteriobusqueda:"using the following searchcriteria(使用以下搜索准则)"
为了生成与F类型步骤相关联的VERB功能成分的详细需求,限定适用于英语的以下标准语句:
OracionSTD_permitir:"Allow(允许)"
OracionSTD_habilitar_persona:"Enable(使能)"
OracionSTD_complemento_accionpersona:"to decide on the action(以决定动作)"
OracionSTD_movimientos:"Allow the movements of(允许移动)"
OracionSTD_complemento_acargode:"to affect(以影响)"
OracionSTD_control_nuevo:"Perform the following controls whencreating a new transaction record of(当创建新的交易记录时执行以下控制)"
OracionSTD_control_eliminar:"Perform the following controls whendeleting the transaction record of(当删除交易记录时执行以下控制)"
OracionSTD_control_modificar:"Perform the following controls whenupdating the transaction record of(当更新交易记录时执行以下控制)"
OracionSTD_precedencia:"based on the following existing records:"
OracionSTD_nuevo_movimiento:"Record n movements of(记录n次移动)"
OracionSTD_control_nuevo_movimiento:"Perform the following controlswhen creating a new movement of(当创建新的移动时执行以下控制)"
OracionSTD_control_eliminar_movimiento:"Perform the followingcontrols when deleting the movement of(当删除移动时执行以下控制)"
OracionSTD_control_modificar_movimiento:"Perform the followingcontrols when updating the movement of(当更新移动时执行以下控制)"
OracionSTD_buscar_elemento:"Search for the elements of(搜索元素)"
OracionSTD_complemento_buscarelemento:"to create a movement,performing the following searches(为了创建移动,执行以下搜索)"
子阶段H3.限定将在软件设计中使用的图形表示法
在本阶段,使用输入/输出设备120的格式、图形表示法和STD语句用户接口123限定将在软件设计图中使用的图形表示法。
可以在各种图形表示法中显示设计图,这些图形表示法之一是UML表示法(见图6,示例类图),但是可以限定用来表示设计成分的图形元素。
子阶段H4.限定与MAS元模型相关联的图形表示法
指示将在软件设计图中用于在子阶段A1中限定的MAS元模型的每个元素的图形成分。以此方式,用户在由格式、图形表示法和STD语句用户接口123创建的视觉网格中输入图形表示法。
可以在各种图形表示法中显示设计图,这些图形表示法之一是UML表示法,但是可以限定用来表示设计成分的图形元素。
软件设计文档的图形表示法
阶段I.自动地生成业务、分析和设计文档
在本阶段(图2I),被配置为文档生成器153的处理器150使用存储在静态数据库存储器160的格式、图形表示法和STD语句163的逻辑结构中的格式和表示法生成业务、分析和设计文档并且通过以下子阶段将这些架构文档显示在输入/输出设备120的文档显示用户接口124中。
子阶段I1.生成业务文档
在本阶段,被配置为文档生成器153的处理器150在业务文档中组成文本。在本发明中,业务文档是示出存储在动态数据库存储器170的简单语句和问句171的逻辑结构中的简单语句的分析文档,通过执行以下动作:
a).对维度、时间活动和简单语句进行排序
处理器对文本层级地排序,其中层在层级的顶部而步骤在层级的底部,如图3所示,因此:
-层310包含资源320
-资源320包含过程330
-过程330包含子过程340
-子过程340包含时刻350
-时刻350包含可以具有如上所述的高度五种类型的步骤360。
-步骤360包含具有相应的完成问句的简单语句370。
b).连续地结合先前排序的成分
在优选实施例中(图3),通过按照优选的顺序将回答与每个问句结合来获得简单语句,因此:何时、然后何人、然后何物、然后如何、最后何处,这不意味着无法改变顺序。
当使用本方法描述所有过程时,实现用自然语言表达的“案例”的完整和详细组成。
子阶段I2.生成分析文档
在本阶段,被配置为文档生成器153的处理器150构建功能需求并且自动地生成分析文档。在本发明中,分析文档示出从存储在动态数据库存储器170的简单语句和问句172的逻辑结构中的功能成分获得需求,通过执行以下动作:
a)汇总全局功能需求
“案例”的功能全局需求是按照执行顺序描述过程的那些动作,使得从构建软件应用所需的功能需求的视角而言,可以解读这些动作并且可以确定待执行的动作。
处理器150拿取存储在动态数据库存储器170的功能成分逻辑结构172中的功能成分,并且仅选择以下内容:NOUN、PERSON、DO和VERB。对于每个前述功能成分,处理器生成作为“案例”的范围的一部分的全局需求,限定NOUN成分(NOUN、DO、PER)的全局需求并且限定VERB成分的全局需求。
NOUN成分的全局需求
只要不是属性,通过使用在子阶段F2中限定的标准语句创建带标记的并且按照顺序编号的语句(诸如表1所示的语句)为每个名词功能成分(NOUN、PERSON和DO)汇总全局需求。
表1
VERB成分的全局需求
通过创建带标记的并且按照顺序编号的语句为每个VERB功能成分汇总全局需求。
在这种情况下,基于VERB为每种步骤类型生成语句并且使用在如表3所示的何物问句中耦合到该语句的DO和NOUN来组成语句。
表2
从不同的步骤并且通过单个功能成分编写单个全局需求。在这种情况下,仅编写全局需求一次,以避免重复,并且该全局需求尽可能多次联接到相应的步骤。
b)汇总详细功能需求
在本阶段,为每个全局需求描述“案例”的详细需求:在语句中明确地指示的显式详细需求,以及已知必需的但是未显式地描述的隐式详细需求。
在本发明的上下文中,引号所示的语句是从静态数据库存储器160的语言、单词和形态句法规则162的逻辑结构中拿取的优选语句。然而,在子阶段F2呈现的实施例中,这些语句可以由具有等效含义并且适合为案例选择的语言的语句替代。
对于每种类型的功能成分,基于该功能成分的全局需求的限定,使用在子阶段F2限定的标准语句来限定“案例”的详细需求。
为了更好地理解本发明,应当注意,为了生成详细需求,根据以下准则替换单词:
-NOUN是指在子阶段D2中限定的这种类型的功能成分。
-PERSON是指在子阶段D2中限定的这种类型的功能成分。
-DO是指在子阶段D2中限定的这种类型的功能成分。
-VERB是指在子阶段D2中限定的这种类型的功能成分。
-{list of&attributes}:&attribute列表描述NOUN,由在子阶段D2中被标记为&attribute的NOUN以及在子阶段D3中添加的那些组成。
-{list of*attributes}:在子阶段D2中限定的&attribute列表的一部分,用来搜索、过滤、分类、分组或添加搜索或查询结果。
-{list of DO&attributes}:来自在子阶段D2中限定的&attribute列表的&attribute集合,通过在子阶段G3中创建的详细需求由与DO成分相关联的元素组成。
-{list of NOUN&attributes}:来自在子阶段D2中限定的&attribute列表的&attribute集合,通过在子阶段G3中创建的详细需求由与NOUN成分相关联的元素组成。
-{list of PERSON&attributes}:来自在子阶段D2中限定的&attribute列表的&attribute集合,通过在子阶段G3中创建的详细需求由与PERSON成分相关联的元素组成。
-{list of CC-type global requirements}:全局需求集合,由基于属于在子阶段E2中限定的CC类型步骤的NOUN成分或DO成分限定的全局需求组成。该列表包含0至n个全局需求。如果列表包含0个全局需求,不生成指代CC类型全局需求的详细需求。
-{list of QS-type global requirements}:基于在子阶段E3中限定的QS类型步骤生成的全局需求列表。该列表包含0至n个全局需求。如果列表包含0个全局需求,不生成指代QS类型全局需求的详细需求。
-{list of F-type global requirements}:基于在子阶段E5中限定的F类型步骤生成的全局需求列表。该列表包含0至n个全局需求。如果列表包含0个全局需求,不生成指代F类型全局需求的详细需求。
-{fx expression}:拿取列表数据作为自变量并且在子阶段D3中陈述的公式的表达式。
-{error message}:如果在执行子阶段D3所限定的公式时出现错误,待显示在***中的消息的文本。
-{ok message}:如果在执行子阶段D3所限定的检查或确认结果正确,待显示在***中的消息的文本。
-{warningmessage}:如果在执行子阶段D3所限定的检查或确认结果不正确,待显示在***中的消息的文本。
限定NOUN成分的详细需求
基于存储在动态数据库存储器170的功能成分172的逻辑结构中的NOUN类型的功能成分及其相应的全局需求,生成以下详细需求:
限定PERSON成分的详细需求
基于存储在动态数据库存储器170的功能成分172的逻辑结构中的PERSON类型的功能成分及其相应的全局需求,生成以下详细需求:
限定VERBN成分的详细需求
基于存储在动态数据库存储器170的功能成分172的逻辑结构中的VERB类型的功能成分及其相应的全局需求,生成以下详细需求:
限定DO成分的详细需求
基于存储在动态数据库存储器170的功能成分172的逻辑结构中的DO类型的功能成分及其相应的全局需求,生成以下详细需求:
子阶段I3.生成软件设计文档
针对在子阶段F4中限定的图形表示法,被配置为文档生成器153的处理器150生成XML文件,其中,每个设计成分的名称及其相应的图形表示法代码存储在标记之间。
对于其中选择UML图形表示法的本发明的实施例,使用xml格式,并且生成表示类图的XML。
被配置为文档生成器153的处理器150根据在子阶段F4中选择的图形表示法的限定来生成设计成分,拿取存储在数据库存储器中的与设计相对应的数据并且利用特定XML格式的内容。
7.本发明的一个应用的示例。
基于用自然语言描述过程,***自动地产生“案例”的业务文档、分析文档和设计文档。
***的组件能够产生上述文档:
1.输入/输出设备120:使用以下配置输入自然语言文本的设备:
a.语言用户接口121。
b.案例用户接口122。
c.格式、图形表示法和STD语句用户接口123
d.文档显示用户接口124
2.CPU110:***100的处理设备,由以下各项组成:
a.主存储器140:根据其配置执行以下功能:
i.图141:
ii.语句矩阵142:
iii.FC矩阵143:
iv.DC矩阵143:
b.处理器150:根据其配置执行以下功能:
i.自动语句分析器151
ii.自动软件设计器152
iii.文档生成器153
3.数据库存储器130:
a.静态数据库存储器160:
i.MAS元模型161。
ii.语言、单词和形态句法规则162。
iii.格式、图形表示法和STD语句163。
b.动态数据库存储器170
i.简单语句问句171
ii.功能成分172
iii.设计成分173
输入/输出设备
该工具由能够在监视器上产生屏幕的永久性存储器组成,具有用户可以输入数据或执行动作的字段。
案例用户接口122
案例用户接口允许用户输入所请求的数据并且执行动作以将其存储在数据库存储器中。
为了使得该工具运行,用户必须按照由本方法确立的自然语言输入数据(层、资源、过程、子过程、时刻、步骤)。
为此,处理器呈现允许用户输入这些字段并且使用本方法中所确立的顺序在这些字段之间创建关系的该上传接口,其中,每个成分(维度、时间活动和简单语句)需要上传以下数据字段:
-名称
-描述
-相关从属元素
这些数据字段显示在来自图8的维度和时间活动上传接口的接口中,其中,当用户按照所确立的顺序填充这些数据字段时,{text1}和{text2}由相应成分的名称替代:
-首先,{text1}=“层”,而{text2}=“资源”。
-当执行编辑动作(8.2)时,再次显示来自图8的维度和时间活动上传接口的接口,但是这一次,{text1}=“资源”,而{text2}=“过程”。
o当执行编辑动作(8.2)时,再次显示来自图8的维度和时间活动上传接口的接口,但是这一次,{text1}=“过程”,而{text2}=“子过程”。
当执行编辑动作(8.2)时,再次显示来自图8的维度和时间活动上传接口的接口,但是这一次,{text1}=“子过程”,而{text2}=“时刻”。
当执行编辑动作(8.2)时,再次显示来自图8的维度和时间活动上传接口的接口,但是这一次,{text1}=“时刻”,而{text2}=“步骤”。
一旦该步骤完成,显示来自图9的语句接口的接口,其中,用户必须回答问句,以创建如在本方法中限定的完整的、结构化的简单语句。用户还必须从步骤类型列表选择以下选项之一(9.2.):
-F:功能
-CC:检查/控制
-QS:查询/搜索
-FX:计算
-L:联接
当用户回答问句时,该工具按照接口显示顺序来完成语句(9.8.),连结在问句中输入的文本:9.3;9.4;9.5;9.6;9.7。
一旦数据上传任务完成,用户可以执行以下动作:
-保存:将所上传的数据保存在数据库存储器中(7.3.1)。
-取消:将数据库存储器中的所上传的数据丢弃(7.3.1)。
分析显示
在监视器上显示的分析显示(7.1.2.)由屏幕组成,这些屏幕显示按照使得工具的用户能够阅读并理解“案例”的方式组织的上传数据,指导用户执行准确的分析,以适当地生成全局和详细功能需求。这些需求由工具通过提醒用户确认并选择某些数据来自动地生成。
单词分析显示
该接口按照结构化形式为用户呈现简单语句(图10的单词分析接口)。使用该接口,工具使得用户能够执行分析处理器和分析文档处理器。
为用户呈现具有所有上传简单语句的表格(10.1),并且用户可以为每个语句执行分析动作。这个动作涉及分析处理器,该分析处理器返回包含在语句中的单词列表作为结果(10.2)。
每个单词由以下内容表征:
-单词(10.2.1):由分析处理器检测到的单词。
-单词(10.2.2):语句内的单词所属于的问句:何时、何人、何物、如何、何处。
-成分类型(10.3.3):分析处理器自动地分配给每个单词的类型:NOUN、ADV、VERB、DO、ADJ。
-在范围内(10.3.4):允许工具的用户标记问句中的单词是否将是待设计的“案例”的范围的一部分的列,如果期望的话。用户可以从以下选项选择:是/否。
-是属性(10.3.4):允许工具的用户指示问句中的单词是否应当类似&attribute的列,如果期望的话。用户可以从以下选项选择:是/否。
一旦单词分析任务完成,用户可以执行以下动作:
-保存:将所上传的数据保存在数据库存储器中(7.3.1.)。
-取消:将数据库存储器中的所上传的数据丢弃(7.3.1.)。
在本接口中,可以为分析处理器所标识的每个单词执行分析动作(7.5)。在这种情况下,执行分析文档处理器并且然后显示需求分析显示(图11的需求分析显示)。
需求分析显示
本接口(图11的需求分析显示)为用户呈现由分析文档处理器生成的全局和详细需求。
为用户呈现所有所生成的全局需求的表格(11.1.1)以及与每个全局需求相对应的详细需求的嵌入表格(11.1.2)。
每个全局需求由以下内容表征:
-单词(10.2.1):由分析处理器检测到的单词。
-成分类型(10.3.3):分析处理器自动地分配给每个单词的类型:NOUN、ADV、VERB、DO、ADJ。
-步骤类型(9.2):由用户在上传接口中选择的值。
-GlobalReqNum(11.1.3):由工具生成的关联编号。
-全局需求(11.1.4):由分析处理器产生的与全局需求相对应的语句。
每个详细需求由以下内容表征:
-DetReqNum(11.1.5):由工具生成的关联编号。
-详细需求(11.1.6):由分析处理器产生的与详细需求相对应的语句。
-&Attribute(11.1.7):描述单词的&Attribute列表这些必须由用户从通过以下动作生成的列表选择:
o手动用户输入
o自动生成,针对由用户标记为“Is Attribute”的单词。
-消息(11.1.8):用户希望由于需求执行而指定作为对错误、正确动作和不正确动作的相应的消息列表。该列表可以通过以下动作生成:
o由用户手动输入。
-表达式(11.1.9):用户为步骤类型=CC或FX的待计算的表达式。
-关联GlobalReq(10.1.10):允许用户引用来自该列表的GlobalReq并且将其与详细需求相关联的全局需求列表。这在当范围的描述不包括这种类型的某个特征的描述时(这阻止***自动地生成关系)发生,在这种情况下,用户添加描述。
一旦单词分析任务完成,用户可以执行以下动作:
-保存:将所上传的数据保存在数据库存储器中(7.3.1.)。
-取消:将数据库存储器中的所上传的数据丢弃(7.3.1.)。
设计显示
本接口(7.1.3)(图12的设计接口)为用户呈现由分析处理器所检测的单词,以使得基于分析结果设计“案例”。
为用户呈现所有分析单词的表格,每个分析单词基于关联需求(12.1.1)具有包含其相关单词的嵌入表格。
通过从分析阶段派生的以下数据表征每个单词:
-单词(10.2.1):包括在待设计的范围内的单词。
-单词(10.2.2):语句内的单词所属于的问句:何时、何人、何物、如何、何处。
-成分类型(10.3.3):分析处理器分配给每个单词的类型:NOUN、ADV、VERB、DO、ADJ。
-步骤类型(9.2):由用户在上传接口中选择的值。
-Is&attribute(10.3.5):由用户在分析阶段中指示的特征;可以是YES或NO。
在本接口中,可以为分析每个列表单词执行设计动作。在这种情况下,执行设计处理器(7.6),并且然后显示具有为单词及其相关单词生成的类列表的设计显示(12.2)。
每个类由以下内容表征:
-类(12.2.1):由设计处理器设计的类的名称。
-类类型(12.2.2):可以是L或NonL。
-&Attribute(12.2.3):分配给类的&Attribute列表。在所有情况下,它们属于在分析阶段陈述的&attribute列表。
-方法(12.2.4):分配给类的方法列表。这些方法由设计处理器生成。
一旦设计了类,可以执行看图动作(12.1.3),该动作将在屏幕上呈现与来自图6的示例类图的示例类似的类图。
一旦单词分析任务完成,用户可以执行以下动作:
-保存:将所上传的数据保存在数据库存储器中(7.3.1.)。
-取消:将数据库存储器中的所上传的数据丢弃(7.3.1.)。
主存储器
处理器
为了自动地产生“案例”的分析和设计文档,工具为处理器提供三个功能:执行分析动作的分析处理、执行设计动作的设计处理以及产生所得文档的文档处理。
自动语句分析器
分析处理器拿取由用户上传到数据库存储器的完成简单语句集合。基于所述语句,处理器执行三个算法:
-标识与“案例”的构建有关的单词的算法(图13的分析处理器),在标题V的阶段E中描述的本发明的组成方法。
-生成“案例”的全局需求的算法(图14的分析处理器(全局功能需求)),在标题V的阶段F的子阶段1中描述的本发明的组成方法。
-生成“案例”的详细需求的算法(图15的分析处理器(详细功能需求)),在标题V的阶段F的子阶段2中描述的本发明的组成方法。
单词算法
该算法(图13的分析处理器)执行每个现有语句的描述例程并且需求将以下两个列表上传到数据库:
-GRW={分组单词}确立分组的单词集合,例如:当存在于“list of prices”中时,单词“of”是分组单词.
-PEX={排除单词}待从分析排除的单词集合。通常由介词、连词和冠词组成。
一旦该算法被执行,所有单词将被转换为“案例”的功能成分并且通过成分类型来类并且通过问句而相互关联。
成分类型描述:
-NOUN:名词
-PER:介词
-ADV:副词结构
-VERB:动词
-DO:直接宾语名词
-ADJ:形容词
全局需求算法
该算法(图14的分析文档处理器(全局功能需求))执行在范围内标识的每个单词的描述例程并且需求将以下列表上传到数据库:
-reqgl_abm_Sust:每当在范围内标识NOUN成分时将用来组成全局需求的语句。该方法建议类似于“Create,Read,Update and Delete”+{NounWord}的一些东西。
-reqgl_abm_Pers:每当在范围内标识PER成分时将用来组成全局需求的语句。该方法建议类似于“Create,Read,Update and Delete Entities with role”+{PersonWord}的一些东西。
-reqgl_verboF:每当在范围内标识联接到F类型步骤的VERB时将用来组成全局需求的语句。该方法建议类似于“Create transaction record”+{VerbWord}+{DOWord}的一些东西。
-reqgl_verboF:每当在范围内标识联接到L类型步骤的VERB时将用来组成全局需求的语句。该方法建议类似于“Create rule that”+{VerbWord}+{DOWord}“with”+{NounWord}的一些东西。
-reqgl_verbo:每当在范围内标识联接到非F或非L类型步骤的VERB时将用来组成全局需求的语句。该方法建议类似于“Create rule that”+{VerbWord}+{DOWord}的一些东西。
一旦该算法被执行,“案例”的所有全局需求存储在数据库中。
详细需求算法
该算法(图15的分析文档处理器(详细功能需求))执行在范围内标识的每个单词的描述例程并且需求将为案例描述选择的语言中的标准语句上传到数据库:
设计处理
设计处理器拿取功能成分集合和在分析阶段添加的补充:
-属性
-消息
-表达
-关联请求
所有这些联接到作为“案例”的范围的一部分的功能成分。
执行来自图16的设计处理器算法的算法,该算法实现标题V下的阶段G并且自动地生成组成“案例”的设计图的类和关系。
文档处理
该工具由能够自动地产生在监视器示出的文档的永久性存储器组成,具有用户可以查看来自上传存储器的数据的字段。
业务文档处理
业务文档生成器拿取在上传接口中上传的存储在数据库中的数据,并且应用以下算法来生成业务文档:
a)该生成器按照由访问数据库的方法所指示的顺序拿取所有存储的上传数据,该数据库具有由用户上传的以下列和行:层、资源、过程、子过程、时刻、步骤、何时、何人、何物、如何、何处、语句。
b)该生成器将标题变量中的层&资源&过程连结(17.1)。
c)该生成器将子标题变量中的子过程&时刻连结(17.2)。
d)该生成器为每个步骤呈现更大的行首空格(17.3)。
e)该生成器为每个语句呈现更大的行首空格(17.4)。
该生成器将所得文档命名为业务文档(图17的业务文档),并且工具允许用户将其存储在文档文件(7.3.1)中、使用打印设备(打印机、绘图机等等)来打印并且使用显示设备(监视器、屏幕、投影器等等)来显示。
分析文档处理
分析文档处理器拿取全部所上传的数据和所生成的需求(全局的和详细的)并且应用以下算法来生成分析文档:
a)该处理器使用与业务文档相同的算法来生成标题(17.1)、子标题(17.2)和步骤(17.3)。
b)该处理器呈现与步骤相关联的全局需求,具有比前一步骤更大的行首空格(18.1)。
c)该处理器呈现与全局需求相关联的详细需求,具有比前一全局需求更大的行首空格(18.2)。
该处理器将所得文档命名为分析文档(图18的分析文档),并且工具允许用户将其存储在文档文件(7.3.1)中、使用打印设备(打印机、绘图机等等)来打印并且使用显示设备(监视器、屏幕、投影器等等)来显示(7.3.1)。
设计文档处理
文档处理器拿取由设计处理器标识的类的数据并且使用读取UML图的xml标准来创建XML文件。
该处理器将所得文档命名为类设计文档,并且其示例在图6中示出。示例类图。
这个所得文档存储在文档文件中(7.3.1)。
数据库存储器
工具由能够存储由工具产生的结果的永久性存储器组成:
数据库
存储由工具产生的上传、分析和设计数据的数据库。该数据库由数据库引擎管理。
文档文件
存储所生成的文档的数据库。该数据库是设置在由操作***的文件服务器管理的硬盘上的结构。
Claims (19)
1.一种用于从存储在数据库存储器(130)中的用自然语言表达的描述案例的短语生成功能架构文档的计算机执行的方法,包括:
A.通过输入/输出设备(120)上传名为MAS元模型的逻辑结构,所述MAS元模型建立自然语言的自明原理,并确定处理器(150)的行为,所述处理器(150)根据存储在所述数据库存储器(130)中的形态句法规则依据其配置执行以下功能:自动语句分析器(151),自动软件设计器(152)和文档生成器(153),所述MAS元模型包括以下子阶段;
A1. 将所述MAS元模型存储在所述数据库存储器(130)中,所述元模型限定一种逻辑,被配置为自动语句分析器的所述处理器(150)将使用所述逻辑来生成分析和设计文档,所述逻辑包括基于及物动词自动地生成执行者单词、可执行单词和执行单词;
A2. 将用于形态句法规则的所述MAS元模型的所述逻辑存储在所述数据库存储器(130)中,所述MAS元模型的所述逻辑规定能够基于以下逻辑来构造自然语言中的每个语句:a)问句逻辑:所述问句逻辑限定简单语句内的单词属于称为WH问句的“何时”、“何人”、“何物”、“如何”、“何处”形式的什么问句;b)步骤类型逻辑:所述步骤类型逻辑限定何种类型的动词包括所述WH问句,所述步骤类型包括显式计算(FX)、检查/确认(CC)、查询/搜索(QS)、联接(L)、未指定(F);以及c)单词逻辑:所述单词逻辑限定单词类型;
B. 通过所述输入/输出设备(120)的语言用户接口(121)输入合格语言的列表以及每种合格语言的语法和句法特征并且将这些数据存储在所述数据库存储器(130)中;
C. 通过所述输入/输出设备(120)的案例用户接口(122)输入“所述案例”的描述作为用选自阶段B的合格语言列表的自然语言之一的文本并且将所述描述存储在所述数据库存储器(130)中;
D. 标识所述案例的阶段C的简单语句,回答所述WH问句的每个句子并且使用所述输入/输出设备(120)的所述案例用户接口(122)来上传所述简单语句,使得所述简单语句能够存储在所述数据库存储器(130)中;
E. 通过被配置成自动语句分析器(151)的处理器(150)基于来自阶段D的简单语句标识功能成分,如阶段A中所确立的,并且将所述功能成分存储在所述数据库存储器(130)中;以及
F. 通过被配置成文档生成器(153)的处理器(150)基于来自阶段E的所述功能成分使用专门为功能架构文档设计的图形表示法来自动地生成功能架构文档,功能架构的生成包括以下子阶段:
F1.应用所述形态句法规则,被配置成文档生成器的所述处理器(150)基于所述形态句法规则从所述功能成分排除陈述的特定单词,并且针对及物动词的案例创建新的功能成分:名称是动词加上后缀“ER”的功能成分,以及名称是动词加上后缀“BLE”的其他功能成分;
F2. 使用所述输入/输出设备(120)的格式、图形表示法和STD语句用户接口(123)限定将在所述功能架构图中使用的图形表示法,根据相应的单词类型指示将在所述图中用于每个功能成分的图形成分,并且将所述图形表示法存储在所述数据库存储器(130)中;以及
F3. 使用被配置成文档生成器(153)的所述处理器(150)基于存储在所述数据库存储器(130)中的功能成分借助于在子阶段F2中限定的表示法生成所述功能架构文档,并且在所述输入/输出设备(120)上显示所述功能架构文档。
2.根据权利要求1所述的方法,其特征在于,阶段B包括以下子阶段:
B1. 通过所述输入/输出设备(120)输入所选合格语言的形容词顺序并且将所述顺序存储在所述数据库存储器(130)中;
B2. 通过所述输入/输出设备(120)输入所选合格语言的特殊单词,能够在来自阶段D的简单语句的文本中发现所述特殊单词并且将从功能成分列表排除所述特殊单词,并且将所述特殊单词存储在所述数据库存储器(130)中;
B3. 通过所述输入/输出设备(120)输入所选合格语言的分组单词,所述分组单词用来联接包含多于一个单词并且能够在来自阶段D的简单语句中发现的功能成分,并且将所述分组单词存储在所述数据库存储器(130)中;
B4. 通过所述输入/输出设备(120)输入所选合格语言的不定式动词的动词结尾,能够在来自阶段D的简单语句的文本中发现所述动词结尾,并且将所述动词结尾存储在所述数据库存储器(130)中。
3.根据权利要求1所述的方法,其特征在于,阶段C包括以下子阶段:
C1.使用被配置成案例用户接口(122)的所述输入/输出设备(120)从阶段B中限定的合格语言中选择描述所述案例的语言;以及
C3.通过应用子阶段A2来标识所述案例的步骤并且将所述步骤存储在所述数据库存储器(130)中。
4.根据权利要求1所述的方法,其特征在于,阶段C包括:
标识构成“所述案例”的上下文的成分、层、资源、过程、子过程和时刻,并且将所述成分、层、资源、过程、子过程和时刻存储在所述数据库存储器(130)中。
5.根据权利要求1所述的方法,其特征在于,阶段D包括以下子阶段:
D1.针对阶段A2中标识的“所述案例”的每个步骤,回答所述问句何人、何物、何处、如何以及何时,并且将所述回答作为文本存储在数据库存储器中;以及
D2.将来自每个步骤的回答的文本连结为简单语句,并且将所述语句作为文本存储在数据库存储器中。
6.根据权利要求1所述的方法,其特征在于,阶段E包括:
将所述简单语句解构为单词,根据所选语言表征所述单词,标识所述简单语句的功能成分,并且将所述功能成分存储在所述数据库存储器(130)中。
7.根据权利要求1所述的方法,其特征在于,在阶段E中,用户添加未出现在自动地从简单语句标识的功能成分列表中的功能成分。
8.根据权利要求1所述的方法,其特征在于,在阶段E中,所述用户针对所有CC和FX类型的步骤添加描述“所述案例”的数学行为的公式表达式。
9.根据权利要求1所述的方法,其特征在于,子阶段A1中限定的形态句法规则应用在阶段E中,被配置成自动语句分析器(151)的所述处理器(150)基于所述形态句法规则排除在规则中陈述的特定单词并且针对及物动词的案例创建新的功能成分:名称是动词加上施事后缀“ER”的功能成分,以及名称是动词加上后缀“BLE”的功能成分。
10.根据权利要求1所述的方法进一步包括从存储在数据库存储器(130)中的用自然语言表达的描述案例的短语生成软件设计规范文档,其特征在于包括以下阶段:
G. 通过被配置成自动软件设计器(152)的处理器(150)基于来自阶段E的功能成分自动地标识设计成分并且将所述设计成分存储在所述数据库存储器(130)中;
H. 通过所述输入/输出设备(120)的所述格式、图形表示法和STD语句用户接口(123)上传业务、分析和设计文档的输出格式、需求的标准语句的参数和设计图的图形表示法,并且将所述数据存储在所述数据库存储器(130)中;以及
I. 通过被配置成文档生成器(153)的所述处理器(150)应用阶段G中限定的格式、图形表示法和STD语句来基于来自阶段D的简单语句自动地生成业务文档、基于来自阶段E的功能成分自动地生成分析文档、并且基于来自阶段F的设计成分自动地生成设计文档。
11.根据权利要求10所述的方法,其特征在于,阶段G包括以下子阶段:
G1. 选择并创建功能成分、功能成分的类和继承关系群组,并且将所述群组存储在所述数据库存储器(130)中;
G2. 基于FX和CC类型的步骤创建公式类,并且将所述公式类存储在所述数据库存储器(130)中;
G3. 基于QS类型的步骤创建域类,并且将所述域类存储在所述数据库存储器(130)中;
G4. 基于L类型的步骤创建关系类,并且将所述关系类存储在所述数据库存储器(130)中;以及
G5. 基于F类型的步骤创建操作类,并且将所述操作类存储在所述数据库存储器(130)中。
12.根据权利要求10所述的方法,其特征在于,在阶段E中,用户添加错误、验证和警告消息。
13.根据权利要求10所述的方法,其特征在于,阶段I包括以下子阶段:
I1. 生成业务文档;
I2. 生成分析文档;以及
I3. 生成软件设计文档。
14.根据权利要求13所述的方法,其特征在于,阶段I1通过以下动作生成所述业务文档:
a)对维度、时间活动和简单语句进行排序;
b)结合先前排序的成分;以及
c)在所述输入/输出设备(120)上显示所述业务文档。
15.根据权利要求13所述的方法,其特征在于,阶段I2通过以下动作生成所述分析文档:
a)汇总全局功能需求,限定NOUN成分的全局需求,并且限定VERB成分的全局需求;
b)汇总详细的功能需求,限定NOUN、PERSON、VERB和DO成分的详细需求;以及
c)在所述输入/输出设备(120)上显示所述分析文档。
16.根据权利要求13所述的方法,其特征在于,阶段I3生成所述设计文档并且在所述输入/输出设备(120)上显示所述设计文档。
17.根据权利要求10所述的方法,其特征在于,在阶段H中,用户能够使用模板来借助于所述输入/输出设备(120)的所述格式、图形表示法和STD语句用户接口(123)编制“所述案例”的功能分析文档的文本的结构,并且将所述结构存储在所述数据库存储器(130)中。
18.根据权利要求10所述的方法,其特征在于,在阶段I中,用户用扩展标记语言(XML)格式存储“所述案例”的设计成分。
19.一种用于从存储在数据库中的用自然语言短语表达的描述案例的描述生成功能架构文档以及业务、分析和软件设计规范文档的***,所述***包括:
输入/输出设备(120),被配置成语言用户接口(121)、案例用户接口(122)、格式、图形表示法和STD语句用户接口(123)以及文档显示用户接口(124),用来输入多种合格语言和它们的结构、输入“所述案例”在自然语言中的描述、输入格式和图形表示法用于文档生成以及显示功能架构文档以及业务、分析和软件设计规范文档;
连接到所述输入/输出设备(120)的主存储器(140),所述主存储器与处理器(150)交互并且被配置成易失性地存储所述案例的描述、功能成分、设计成分和所述功能架构文档以及所述业务、分析和软件设计规范文档;
所述处理器(150),被配置成从所述用户接收用自然语言的至少一个描述,其中,所述描述包括所述案例并且标识所述案例的步骤,所述步骤包括显式计算(FX)、检查/确认(CC)、查询/搜索(QS)、联接(L)、未指定(F);
前述处理器(150),被配置成自动语句分析器(151),用于创建与所述案例的步骤相对应的简单语句并且分析所述简单语句,以基于所述简单语句自动地生成功能成分;
前述处理器(150),被配置成自动软件设计器(152),用于基于所述功能成分标识所述案例的设计成分;
前述处理器(150),被配置成文档生成器(153),用于基于所述功能成分和所述设计成分生成功能架构文档以及业务、分析和软件设计规范文档;
连接到所述处理器(150)的数据库存储器(130),被配置成静态地存储(160) MAS元模型(161)、语言、单词和形态句法规则(162)以及格式、图形表示法和STD语句(163),并且还被配置成动态地存储(170)简单语句和问句(171)、功能成分(172)和设计成分(173),其中,所述MAS元模型(161)建立所述自然语言的自明原理,并确定所述处理器(150)的行为,所述处理器(150)根据存储在所述数据库存储器中的形态句法规则依据其配置执行以下功能:自动语句分析器(151),自动软件设计器(152)和文档生成器(153)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562154093P | 2015-04-28 | 2015-04-28 | |
PCT/IB2016/052465 WO2016174638A1 (es) | 2015-04-28 | 2016-04-29 | Proceso y sistema para generar documentos de arquitectura funcional y documentos de especificación de análisis y de diseño de software de manera automática |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107851000A CN107851000A (zh) | 2018-03-27 |
CN107851000B true CN107851000B (zh) | 2021-03-30 |
Family
ID=57199746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680037997.5A Active CN107851000B (zh) | 2015-04-28 | 2016-04-29 | 用于生成功能架构文档和软件设计文档的方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US10303441B2 (zh) |
EP (1) | EP3364295B1 (zh) |
JP (1) | JP6753596B2 (zh) |
CN (1) | CN107851000B (zh) |
CA (1) | CA2984488C (zh) |
CO (1) | CO2017011036A2 (zh) |
DK (1) | DK3364295T3 (zh) |
ES (1) | ES2830779T3 (zh) |
IL (1) | IL255271B (zh) |
MX (1) | MX2017013899A (zh) |
PT (1) | PT3364295T (zh) |
WO (1) | WO2016174638A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851001B (zh) | 2015-05-13 | 2021-11-23 | 纳迪亚·安娜莉亚·韦夫拉 | 用于基于设计规格显示软件型应用程序的计算机应用的方法 |
US10354070B2 (en) * | 2015-08-22 | 2019-07-16 | Avocado Systems Inc. | Thread level access control to socket descriptors and end-to-end thread level policies for thread protection |
TWI590095B (zh) * | 2016-05-19 | 2017-07-01 | 緯創資通股份有限公司 | 軟體功能驗證系統及其驗證方法 |
US10839404B2 (en) * | 2016-06-06 | 2020-11-17 | Epiance Software Pvt. Ltd. | Intelligent, interactive, and self-learning robotic process automation system |
US10732965B2 (en) * | 2016-10-13 | 2020-08-04 | Tata Consultancy Services Limited | Systems and methods for dynamic generation of questionnaires on programming concepts |
US20180143951A1 (en) * | 2016-11-21 | 2018-05-24 | Kong Ping Oh | Automatic creation of hierarchical diagrams |
CN107247581B (zh) * | 2017-03-07 | 2020-08-14 | 刘立 | ***分析与概要设计交付模型的构建方法 |
US10460044B2 (en) * | 2017-05-26 | 2019-10-29 | General Electric Company | Methods and systems for translating natural language requirements to a semantic modeling language statement |
US10606586B2 (en) * | 2017-08-01 | 2020-03-31 | Accenture Global Solutions Limited | Application architecture generation |
CN109840073B (zh) * | 2017-11-24 | 2022-07-05 | 北京京东尚科信息技术有限公司 | 业务流程的实现方法和装置 |
US10664246B2 (en) * | 2018-10-23 | 2020-05-26 | BiznessLegion, LLC | Method and system for using information about change to design evolvable compositions of reusable software components |
US11003859B2 (en) * | 2018-11-30 | 2021-05-11 | International Business Machines Corporation | Machine-learning automated structural quality analysis |
SG11202105981YA (en) * | 2019-01-10 | 2021-07-29 | Brane Cognitives Pte Ltd | Natural solution language |
US11681504B1 (en) | 2019-04-26 | 2023-06-20 | Opturo, Inc. | Automated application builder using configuration files |
JP2022534506A (ja) * | 2019-05-28 | 2022-08-01 | レヒカ・エセ・ア・エセ | 自然言語からの機能アーキテクチャドキュメントならびにソフトウェア設計および分析仕様ドキュメントの自動生成のためのプロセスおよびシステム |
CN110321431B (zh) * | 2019-05-31 | 2023-11-14 | 平安科技(深圳)有限公司 | 信息分析方法、装置、计算机设备及存储介质 |
CN110413267B (zh) * | 2019-08-08 | 2023-05-26 | 四川爱创科技有限公司 | 基于业务规则的自适应业务流程建模方法 |
US11681873B2 (en) * | 2019-09-11 | 2023-06-20 | International Business Machines Corporation | Creating an executable process from a text description written in a natural language |
CN111273913B (zh) * | 2020-01-20 | 2023-03-21 | 北京明略软件***有限公司 | 一种输出规范表示的应用程序接口数据的方法及装置 |
EP4170481A4 (en) * | 2020-06-19 | 2023-08-02 | Mitsubishi Electric Corporation | DEVELOPMENT ASSISTANCE DEVICE, PROGRAM AND DEVELOPMENT ASSISTANCE METHOD |
CN112202591A (zh) * | 2020-08-28 | 2021-01-08 | 网宿科技股份有限公司 | 配置管理***、方法及存储介质 |
CN113010400B (zh) * | 2021-04-26 | 2024-02-06 | 唐君宜 | 计算机工程技术文档智能生成、复盘***和方法 |
CN113190222A (zh) * | 2021-04-30 | 2021-07-30 | 南京航空航天大学 | 一种基于SysML的安全关键自治***建模方法及工具 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495832A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 软件开发过程中文档自动生成*** |
CN103999081A (zh) * | 2011-12-12 | 2014-08-20 | 国际商业机器公司 | 生成用于信息领域的自然语言处理模型 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681383B1 (en) | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
JP2003263428A (ja) * | 2002-03-08 | 2003-09-19 | Nippon Telegr & Teleph Corp <Ntt> | 文型との照合による意味解釈方法、装置、当該方法の実行コンピュータプログラム、及び当該方法の実行コンピュータプログラムを記録した記憶媒体 |
US7409337B1 (en) * | 2004-03-30 | 2008-08-05 | Microsoft Corporation | Natural language processing interface |
US20080255997A1 (en) | 2007-04-16 | 2008-10-16 | Bluhm Thomas H | Enterprise integrated business process schema |
JP5536518B2 (ja) | 2009-04-23 | 2014-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | システムの自然言語仕様から当該システム用のシステム・モデル化メタモデル言語モデルを自動的に抽出するための方法、装置及びコンピュータ・ |
US8949773B2 (en) * | 2010-03-25 | 2015-02-03 | International Business Machines Corporation | Deriving process models from natural language use case models |
US20130097583A1 (en) * | 2011-09-27 | 2013-04-18 | The University Of Texas System | Systems and Methods For Automating the Application of a Software Methodology |
CN107851001B (zh) | 2015-05-13 | 2021-11-23 | 纳迪亚·安娜莉亚·韦夫拉 | 用于基于设计规格显示软件型应用程序的计算机应用的方法 |
-
2016
- 2016-04-28 US US15/141,748 patent/US10303441B2/en active Active
- 2016-04-29 MX MX2017013899A patent/MX2017013899A/es unknown
- 2016-04-29 CN CN201680037997.5A patent/CN107851000B/zh active Active
- 2016-04-29 JP JP2018507792A patent/JP6753596B2/ja active Active
- 2016-04-29 EP EP16786054.3A patent/EP3364295B1/en active Active
- 2016-04-29 WO PCT/IB2016/052465 patent/WO2016174638A1/es active Application Filing
- 2016-04-29 ES ES16786054T patent/ES2830779T3/es active Active
- 2016-04-29 PT PT167860543T patent/PT3364295T/pt unknown
- 2016-04-29 DK DK16786054.3T patent/DK3364295T3/da active
- 2016-04-29 CA CA2984488A patent/CA2984488C/en active Active
-
2017
- 2017-10-26 IL IL255271A patent/IL255271B/en active IP Right Grant
- 2017-10-27 CO CONC2017/0011036A patent/CO2017011036A2/es unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495832A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 软件开发过程中文档自动生成*** |
CN103999081A (zh) * | 2011-12-12 | 2014-08-20 | 国际商业机器公司 | 生成用于信息领域的自然语言处理模型 |
Also Published As
Publication number | Publication date |
---|---|
BR112017023287A8 (pt) | 2023-04-18 |
PT3364295T (pt) | 2020-12-15 |
CO2017011036A2 (es) | 2018-01-16 |
IL255271B (en) | 2020-10-29 |
WO2016174638A1 (es) | 2016-11-03 |
CN107851000A (zh) | 2018-03-27 |
BR112017023287A2 (pt) | 2018-08-14 |
US10303441B2 (en) | 2019-05-28 |
JP6753596B2 (ja) | 2020-09-09 |
EP3364295A1 (en) | 2018-08-22 |
EP3364295A4 (en) | 2018-12-19 |
CA2984488A1 (en) | 2016-11-03 |
MX2017013899A (es) | 2018-06-22 |
JP2018516420A (ja) | 2018-06-21 |
US20170003937A1 (en) | 2017-01-05 |
ES2830779T3 (es) | 2021-06-04 |
DK3364295T3 (da) | 2020-11-09 |
CA2984488C (en) | 2023-10-31 |
EP3364295B1 (en) | 2020-08-05 |
IL255271A0 (en) | 2017-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107851000B (zh) | 用于生成功能架构文档和软件设计文档的方法 | |
US10831449B2 (en) | Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language | |
US8930337B2 (en) | Mapping dataset elements | |
US8707248B2 (en) | Transformation framework | |
da Silva et al. | Linguistic patterns and linguistic styles for requirements specification: Focus on data entities | |
Krogstie | Capturing enterprise data integration challenges using a semiotic data quality framework | |
EP3977261A1 (en) | Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language | |
Nistala et al. | Towards digitalization of requirements: generating context-sensitive user stories from diverse specifications | |
Nistala et al. | An industrial experience report on model-based, AI-enabled proposal development for an RFP/RFI | |
Makrickienė et al. | Ontology and Enterprise Modelling Driven Software Requirements Development Approach. | |
Sandifer et al. | Business rules: Capturing the most elusive information asset | |
Chioasca | Automatic construction of conceptual models to support early stages of software development: A semantic object model approach | |
Kurnia | Interoperability Simulator for Data Spaces | |
Ketola et al. | Automated Data Quality Check in Plant Digital Twins | |
Manto | Conversational access to structured knowledge exploiting large models | |
BR112017023287B1 (pt) | Método e sistema para geração automática de documentos de arquitetura funcional e projeto de software e documentos de especificação de análise a partir da língua natural | |
Weissgerber | Semantically-enriched business process modeling and management | |
Kostis | Web-based Decision Policy Definition and Simulation Application for the Gorgias Argumentation Framework | |
Kholkar et al. | Applying MDA to rule and data generation for compliance checking | |
Abderrahmen et al. | SoLDES: Service-oriented Lexical Database Exploitation System. | |
Burd | Knowledge representation for intelligent accounting machines | |
Wagner et al. | Information and Semantics in Databases and on the Web | |
Rashidi-Tabrizi | Automatic Generation of Goal Models from Regulations | |
Bedini et al. | Semantic Technologies and Semantic Technologies and e-business |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |