首页> 中国专利> 用于产生高质量的正式可执行软件特征需求的系统和方法

用于产生高质量的正式可执行软件特征需求的系统和方法

摘要

本发明涉及用于产生高质量的正式可执行软件特征需求的系统和方法。具体地,提供了用于使用具有非正式需求的非正式需求文档以及与这些非正式需求相关联的注释来产生正式软件需求的系统和方法。所述系统和方法从所述注释提取语法并且产生作为所述语法的函数的工件。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):G06F17/22 申请日:20130222

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

总体技术领域是软件开发,且更具体地是用于产生软件特征需求的系统和方法。

背景技术

产生软件特征需求的过程包括获得自然语言需求并且将其转换为正式可执行需求。从自然语言需求至正式可执行需求的转换可能是主观的,并且可能包括信息损失。当前用于使得该过程更客观并且保存信息的分析是费时的。例如,这种分析包括手动复核需求,并且受限于智力模型。

发明内容

通过提供用于产生软件特征需求的系统和方法,各个实施方式克服了现有技术的缺陷,所述系统和方法逐渐地且可跟踪地将自然语言需求转换为正式可执行需求。该系统和方法包括注释的需求文档,所述注释的需求文档捕获与非正式需求相关联的特征信息,并且有利于产生这样的工件,所述工件有助于在各个抽象层次对需求行为的复核和早期综合。所述系统和方法利用重复和渐进的过程将自然语言需求转换为正式的可执行需求。由此,所述系统和方法保留了自然语言需求中的信息,并且以客观的方式转换所述需求。

例如,本文所述的系统和方法可用于产生机动车的嵌入式控制软件特征,例如适应性巡航控制软件等。根据示例性实施方式,用于从非正式需求文档产生正式软件需求的系统和方法包括:将注释与所述非正式需求相关联;从所述注释提取语法;以及,产生作为所述语法的函数的工件。

本发明还包括以下方案:

1. 一种方法,所述方法用于使用具有至少一个非正式需求的注释的需求文档来产生正式软件需求,所述方法包括:

在计算机处理器处从所述注释的需求文档的注释中提取语法,所述注释与所述注释的需求文档的至少一个非正式需求相关联;以及

产生作为所述语法的函数的工件。

2. 根据方案1所述的方法,其中,所述工件选自特定工件的组,所述特定工件的组包括上下文图和模式图。

3. 根据方案1所述的方法,其中,所述语法包括代理以及使所述代理相关联的信息。

4. 根据方案1所述的方法,其中,所述语法包括模式以及使所述模式相关联的信息。

5. 根据方案1所述的方法,其中,所述语法包括正式需求。

6. 根据方案1所述的方法,其中:

所述工件是第一工件;以及

所述方法还包括产生作为所述语法的函数的第二工件。

7. 根据方案6所述的方法,其中,所述第二工件包括具有正式需求的转换系统限定。

8. 根据方案7所述的方法,还包括:从所述转换系统限定提取所述正式需求以及产生正式模型。

9. 根据方案8所述的方法,还包括:产生作为所述正式模型的函数的错误报告。

10. 根据方案1所述的方法,还包括:

产生与所述注释的需求文档中的所述非正式需求相关联的所述注释;以及

将所述注释添加到所述注释的需求文档中。

11. 一种系统,所述系统用于产生正式软件需求,所述系统包括:

处理器;以及

计算机可读介质,所述计算机可读介质包括第一工件应用,所述第一工件应用在由所述处理器执行时使得所述处理器执行包括下述的动作:

从注释的需求文档中的注释来提取语法;以及

产生作为所述语法的函数的工件。

12. 根据方案11所述的系统,其中,所述工件选自特定工件的组,所述特定工件的组包括上下文图和模式图。

13. 根据方案11所述的系统,其中,所述语法包括代理以及使所述代理相关联的信息。

14. 根据方案11所述的系统,其中,所述语法包括模式以及使所述模式相关联的信息。

15. 根据方案11所述的系统,其中,所述语法包括正式需求。

16. 根据方案11所述的系统,其中:

所述工件是第一工件;以及

所述系统还包括第二工件应用,所述第二工件应用在由所述处理器执行时使得所述处理器产生作为所述语法的函数的第二工件。

17. 根据方案16所述的系统,其中,所述第二工件包括具有正式需求的转换系统限定。

18. 根据方案17所述的系统,还包括:

正式模型应用,所述正式模型应用在由所述处理器执行时使得所述处理器从所述转换系统限定提取所述正式需求并且产生正式模型;以及

模型核查应用,所述模型核查应用在由所述处理器执行时使得所述处理器产生作为所述正式模型的函数的错误报告。

19. 根据方案11所述的系统,还包括需求文档应用,所述需求文档应用构造成当由处理器执行时使得所述处理器执行包括如下的动作:

产生与所述注释的需求文档中的所述非正式需求相关联的所述注释;以及

将所述注释添加到所述注释的需求文档中。

20. 一种方法,所述方法用于使用具有至少一个非正式需求的注释的需求文档来产生正式软件需求,所述方法包括:

在计算机处理器处从所述注释的需求文档的注释中提取语法,所述注释与所述注释的需求文档的至少一个非正式需求相关联;以及

产生作为所述语法的函数的工件,所述工件选自这样的组,所述组包括上下文图、模式图和系统转换限定。

前文已经宽泛地概述了各个实施方式的一些方面和特征,但是这些实施方式应当被认为仅描述了各种可能应用。通过将所公开的信息以不同的方式应用或者通过结合所公开实施方式的各个方面,可获得其他有益结果。除了权利要求所限定的范围之外,通过结合附图来参考对示例性实施方式的详细说明,可获得其他方面以及更全面的理解。

附图说明

图1是需求分析系统的示意图。

图2是用于将非正式需求转化为正式可执行需求的过程的示意图。

图3是注释的需求文档的示意图。

图4是第一示例性工件的示意图。

图5是第二示例性工件的示意图。

图6是第三示例性工件的示意图。

图7是第四示例性工件的示意图。

图8是描述了使用图1的需求分析系统的示例性方法的流程图。

具体实施方式

根据需要,本文公开了详细的实施方式。必须理解的是,所公开的实施方式仅是示例性的,并且可以各种和另选的形式及其组合来实施。如本文所使用的,词语“示例性”被广义地使用以指代用作描述、样例、模型或范例的实施方式。附图不必按比例绘制,并且一些特征可能被放大或最小化以示出具体部件的细节。在其他情况下,本领域普通技术人员已知的公知部件、系统、材料或方法未被详细描述,以避免使得本发明晦涩。因此,本文所公开的具体结构和功能细节被认为不是限制性的,而仅仅是权利要求书的基础以及用于教导本领域技术人员的代表性基础。

系统

参考图1,需求分析系统100包括中央处理单元(CPU)110。CPU 110包括处理器120、存储器122或其他有形非易失性计算机可读介质、以及包括计算机可执行指令的软件应用124、125、126、127、128、129。软件应用124、125、126、127、128、129被存储在存储器122中。每个软件应用124、125、126、127、128、129可包括至少一个有形非易失性硬件部件。

虽然本文所描述的方法可能不时地在一般意义上用计算机可执行指令来描述,但是本发明的方法还可结合其他应用被实施和/或作为硬件和软件的组合被实施。术语“应用”或者其变形在本文被广义地使用,以包括例程、程序模块、程序、部件、数据结构、算法等。应用可被实施在各种系统构造上,包括服务器、网络系统、单处理器或多处理器系统、微型计算机、大型计算机、个人计算机、手持式计算装置、移动装置、基于微处理器的可编程消费电子装置、以及它们的组合,等等。

计算机可读介质例如包括:易失性介质、非易失性介质、可移除介质和不可移除介质。如说明书和权利要求书中所使用的,术语“计算机可读介质”及其变形是指有形的非暂时性存储介质。在一些实施方式中,存储介质包括易失性和/或非易失性、可移除和/或不可移除的介质,例如:随机存取存储器(RAM)、只读存储器(ROM)、可电擦除可编程只读存储器(EEPROM)、固态存储器、或其他存储技术;CD ROM、DVD、BLU-RAY或其他光盘存储装置;磁带、磁盘存储装置或其他磁存储装置。

为了教导的目的,需求分析系统100主要作为具有多个应用的单CPU被示出并描述。然而,在另选实施方式中,需求分析系统可包括具有软件应用的多个独立CPU,这些CPU一起工作以实现将在下文更详细描述的方法。

应用

参考图1、2和3,注释的需求文档应用124(图1)构造成:当由处理器120执行时,使得该处理器有利于产生需求文档130(图2),所述需求文档包括一组非正式需求132。通常,非正式需求132是规定了具体动作的特征的功能需求,或者是采用了自然语言的软件系统的结果,等等。示例性特征包括高级驾驶辅助,例如,适应性巡航控制、车载导航、车道变更辅助和防撞。

为了教导的目的,参考图2,由工程组140开发非正式需求132,以指导软件组142何时开发用于产品146的产品软件144。在一个实施方式中,需求文档包括以下各项中的一项或多项,所述各项为:字处理的文档、电子表格和出版文档。注释的需求文档应用124可以是字处理程序、桌面出版者、电子表格程序,等等。

参考图1和3,注释的需求文档应用124还构造成:当由处理器120执行时,使得所述处理器有利于在需求文档130中插入注释以形成注释的需求文档150。在如图3示意性地示出的示例中,注释152包括在注释的需求文档150的页边空白处的评论泡(comment bubble)。评论泡被连接到非正式需求(例如,特定的非正式需求132)的选定文本。

在另选的实施方式中,注释152包括下述各项中的任意一项或多项:脚注;尾注;用于将评论连接到非正式需求的其他机构;以及允许在每条非正式需求132旁边插入评论的其他评论机构。软件组142产生用于多个工件(artifacts)160、162、164(在图4-8中示出)中的每个的注释152的语法。在接下来的部分中进一步描述注释和语法。

当结合时,工件160、162、164在任何层次的层级(例如,模式和子模式)处提供了给定源与目标模式(特征行为状态)之间的一些路径或全部路径,提供了用于具体模式的进入条件、产生轨迹、以及使得复核过程方便且高效。例如,如果特征具有两个模式,DISABLED(禁用)和ENGAGED(使用),那么ENGAGED模式的进入条件会是“在特征处于禁用模式的情况下,驾驶员按下使用按钮(engage button)并且没有发生传感器故障”。换言之,进入条件描述了导致将进入具体模式的条件。

在另一方面,轨迹赋予了给定源模式与给定目标模式之间的完整路径。再次地,例如如果特征具有三个模式(例如,ACTIVE(有效)、ENGAGED(使用)和OVERRIDE(超控)),那么从源模式ACTIVE至目标模式OVERRIDE的轨迹会是“当特征处于ACTIVE模式并且驾驶员按下使用按钮时,该特征进入ENGAGED模式;接着,当驾驶员采取某种具体动作以超控由该特征引起的动作(使得,驾驶员收回控制权)时,该特征进入OVERRIDE模式”。换言之,轨迹在模式图中赋予了一条路径,该路径将使得特征从给定源模式行进至给定目标模式(借助任何中间模式),并且该轨迹包括这样的条件,在所述条件下可能发生对应的模式变化。这些特征和功能在下文被进一步描述。

注释和语法

每条注释152包括与至少一个对应的非正式需求132相关联的语法。例如,暂时参考图4-7,语法可被执行以产生将在下文被进一步详细描述的工件160、162、164。注释152提供了非正式需求132与工件160、162、164的元素之间的可跟踪连接,以便有利于复核和修改,如在下文被进一步详细描述的那样。每条注释152可包括用于不同种类的工件160、162、164的语法,并且相关联的应用构造成:当由处理器120执行时,使得所述处理器选择语法的相关部分以产生所述工件,如在下文被进一步详细描述的那样。

通常,工件包括:特征行为的视觉描述、特征行为的文本描述、以及它们的组合,等等。在本文中,示例性视觉描述包括上下文图160(图4)和模式图162(图5和图6)。示例性文本描述包括转换系统限定164(图7)。在下文中,术语“工件”被用于将工件160、162、164作为一组来描述,具体的工件名称(即,上下文图160、模式图162、转换系统限定164)被具体或单独地用于描述工件160、162、164。

第一工件应用

参考图1、3和4,第一工件应用125构造成:当由处理器120执行时,使得该处理器从注释的需求文档150的注释152提取语法,并且产生作为注释152的语法的函数的上下文图160。上下文图160描述了在需求文档130中被识别的特征的不同模块或实体之间的连接。特征的模块或实体被称为代理A。参考图4,用于上下文图160的语法包括代理A(例如,源代理SA和目标代理DA)以及信息I。例如,信息I可以是事件的描述。在形成上下文图160所用的语法中,信息I和代理A被良好地识别,并且代理A中的至少一个是在上下文图160中被考虑的特征,并且信息I描述了代理A之间的相互作用和/或关系。

例如,在示例性实施方式中,用于上下文图160的语法是<上下文图>源代理名称 -> 目标代理名称[信息,需求号]。通常,<上下文图>识别用于上下文图的语法,并且信息包括对源代理SA和目标代理DA之间的相互作用的描述。需求号是用于识别具体特征需求的编号。

如图4所示,示例性上下文160包括许多示例性代理A1、A2、A3、A4以及与代理A相关的示例性信息I1、I2、I3、I4(每个均由表明了从相应源至相应目标的方向的箭头来表示)。信息I1将用作源代理SA1的代理A2与用作目标代理DA1的代理A1相关;信息I2将用作源代理SA2的代理A3与用作目标代理DA2的代理A1相关;信息I3将用作源代理SA3的代理A1与用作目标代理DA3的代理A4相关;以及,信息I4将用作源代理SA4的代理A4与用作目标代理DA4的代理A1相关。第一工件应用125还构造成:当由处理器120执行时,使得所述处理器自动分析工件160,以产生来自各个代理A的全部输入以及至各个代理A的全部输出的列表,其中软件特征利用所述代理方来相互作用。

第二工件应用

参考图1、3、5和6,第二工件应用126构造成:当由处理器120执行时,使得所述处理器从注释的需求文档150提取注释152,并且产生作为注释152的语法的函数的模式图162。模式图描述了在操作的不同模式和子模式中的特征。

每个模式图162由模式图名称MD来唯一地识别,所述MD将该模式图与其他模式图162进行区分。在一个实施方式中,模式图名称MD包括:父图名称PD,其唯一地识别与模式图162相关联的父模式图162;以及父模式名称PM,其唯一地识别在父模式图162中的模式,所述模式图162是所述父模式图的详细扩展。

例如,用于模式图162的语法是<模式图> <模式图名称> <父图名称>父模式名称[信息,需求号]。通常,<模式图>识别用于模式图的语法;名称如上所述;并且,信息例如可包括为何父模式图中的父模式被分解为该模式图中的模式。

此外,用于模式图162的语法包括模式M(例如,源模式SM和目标模式DM)、连接这两个模式的信息I、以及模式图名称MD。例如,用于模式图162的附加语法是<模式图><模式图名称> <源模式名称>目标模式名称[信息,需求号]。信息可包括关于每个子模式变化和所得到的动作的条件。因此,用于模式图162的两种形式的语法:(i)识别父模式图162和其中的父模式M,该模式图162是其详细扩展;以及,(ii)关于构成模式图162的那些模式M以及连接它们的信息I的方面来详细描述模式图162自身。

参考图5和6,描述了两个模式图162。图5是图6的模式图162的父模式图162。具体地,图6是图5的模式图162的其中一个模式M的子模式M的模式图162。每个模式图162包括由信息I来相关联的许多模式M,并且由模式图名称MD来识别,所述模式图名称MD包括父图名称PD和父模式名称PM。

参考图5,通过模式图名称MD2来识别模式图162,模式图名称MD1(未示出)是父图名称PD,并且模式M1是父模式图MD1中的模式,父模式图MD1在图5的模式图162中被扩展。在此,信息I1将作为源模式SM1的模式M2与作为目标模式DM1的模式M3相关联;并且信息I2将作为源模式SM2的模式M3与作为目标模式DM2的模式M2相关联。

参考图6,模式图162通过模式图名称MD3来识别,模式图名称MD2(图5)是父图名称PD,并且模式M3是模式图MD2中的模式,模式图MD2在图6的模式图162中被扩展。在此,信息I3将作为源模式SM3的模式M4与作为目标模式DM3的模式M5相关联;信息I4将作为源模式SM4的模式M5与作为目标模式DM4的模式M4相关联;信息I5将模式M4与其自身相关联,模式M4既作为源模式SM5也作为目标模式DM5;并且信息I6将作为源模式SM6的模式M5与作为目标模式DM6的模式M6相关。

应当理解的是,模式图162一般被形成用于每个模式M(例如,M1、M2、M3、M4、M5)。

第二工件应用126还构造成:当由处理器120执行时,使得所述处理器自动分析模式图162,以确定例如给定源模式和目标模式之间的一些具体路径或全部可能路径。

第三工件应用

参考图1、3和7,第三工件应用127构造成:当由处理器120执行时,使得所述处理器从注释的需求文档150来提取注释152的语法,并且产生作为注释152的语法的函数的转换系统限定164。语法包括正式需求170,如图7中示意性地示出的那样。

在一个实施方式中,转换系统限定164是或者包括:电子表格、表、或其他数据布局,在所述数据布局中,正式需求170例如在相应列中被组织,以使这些正式需求170相关联。如图7所示并且如将在下文更详细描述的那样,正式需求170包括需求号#、事件E、前条件Pre-C、后条件Post-C、源、目标、动作AN,等等(源和目标在图7中未被明确地示出,但是被认为通过该图示且结合本说明被示出)。

在一些实施方式中,转换系统限定164类似于模式图160,两者都在高层次上区分重点软件特征。然而在转换系统限定164中,信息(例如,条件和动作)通过在语法中找到的数学结构(例如,见下述的事件)来正式地指定,而不是通过自然语言描述或其他非正式规定(例如,参见关于图4-6在上面描述的信息)来正式地指定。

用于转换系统限定164的示例性语法包括:用于事件、类型、变量和转换的语法。用于事件的语法包括方向和事件名称。方向包括输入、输出和本地。例如,示例性事件语法是或包括:事件方向事件_名称[评论,需求号]。

用于类型的语法包括类型名称和类型。例如,类型的语法是类型 <类型名称>:类型={用分号分开的值列表}。该值列表表明了可由声明为该类型的变量采用的可能值。对于布尔类型,该值列表是TRUE(真)或FALSE(假),并且对于枚举类型(例如称为FEATURE_F1_TYPE),值列表可以是例如DISABLED(禁用)、ENABLED(启用)、ENGAGED_IN_X或ENGAGED_IN_Y的值(如果它们是在用于变量FEATURE_F1_TYPE的可能值的列表中规定了的话)。

用于变量的语法包括方向、变量名称和类型。例如,变量的语法可以是如下情况:变量方向变量名称:类型。

用于转换的语法包括:源模式名称、前条件、进入事件(in-event)、目标模式名称、后条件、和退出事件(out-event)。前条件和后条件在一些实施方式中按照通过转换获得影响(例如,被影响或预期被影响)的变量值被陈述。变量的值将是由其类型允许的那些值中的一个值。如果变量是布尔类型,那么其值会从TRUE(真)(在前条件中,即,在采取转换之前)改变为后条件中的FALSE(假)。

在一个实施方式中,将仅响应于进入事件的发生而发生转换。示例性进入事件是机动车事故。另一示例性进入事件是机动车的驾驶员或乘员按下人机接口(HMI)上的按钮,例如触摸感测的车载显示屏。响应于该进入事件而采取转换,并且退出事件作为动作(例如,机动车的车门被解锁)发生。

示例性转换语法是转换<源模式名称> <前条件> <进入事件> -> <目标模式名称> <后条件> <退出事件> [评论,需求号]。

正式模型应用

参考图1、7和8,正式模型应用128构造成:当由处理器120执行时,使得所述处理器从转换系统限定164提取正式需求170,并且产生作为正式需求170的函数的正式模型172。具体地,正式模型应用128当由处理器120执行时,使得所述处理器将正式需求170翻译为模型核查应用129的正式建模语言,以得到正式模型172。

模型核查应用

参考图1和8,模型核查应用129分析正式模型172。模型核查应用129在由处理器120执行时,使得所述处理器产生用于复核正式需求170的错误报告174,以识别初始非正式需求132中的任何不一致性或不完整性。在一个实施方式中,模型核查应用129是或包括:SPIN(简单进程元语言解释器)、SAL(符号分析实验室)、以及可分析诸如172之类的正式模型的模型核查应用。

方法

参考图8,现在描述示例性方法200。根据需求文档步骤202,工程组140使用如上所述操作的第一应用124(图1)来产生需求文档130,所述需求文档包括与产品146(图2)相关联的非正式需求132。需求文档130被准备并可由软件组142访问,以开发用于产品146(图2)的产品软件144(图2和8)。

根据注释步骤204,软件组142访问需求文档130并且使用如上所述操作的第一应用124(图1),以产生与对应的非正式需求132相关联的注释152,并且由此产生注释的需求文档150。注释包括构造成产生工件160、162、164的语法。

根据第一/第二工件步骤206,第一工件应用125和第二工件应用126使得处理器120访问注释的需求文档150、提取语法并且产生作为注释152的语法的函数的上下文图160和模式图162。类似于模式图,多个上下文图也是可能的,例如当特征被视为多个子特征的组合时。例如,上下文图针对特征“高级驾驶辅助”以及针对其子特征“车道变更辅助”和“防撞”而产生。

根据第一复核步骤208,上下文图160和模式图162由工程组140和软件组142中的一者或两者来复核。如果组140、142确定(变化步骤209)需要针对非正式需求132和/或注释152作出变化,那么步骤204、206、208、209重复进行,直到不需要变化为止。

否则,根据第三工件步骤210,第三工件应用127使得处理器120访问注释的需求文档150、提取语法并且产生转换系统限定164,所述转换系统限定164包括作为注释152的语法的函数的正式需求170。用于转换系统限定164的语法可以与用于上下文图160和模式图162的语法一起被插入,或者在上下文图160和模式图162被复核(步骤208)之后被插入。在一些情况下,更有效的是按后者进行(在上下文图160和模式图162被复核之后插入转换系统限定164的语法),这是因为在插入转换系统限定164的语法之前会作出对非正式需求的任何必需的第一级变化。

根据正式模型步骤212,正式建模应用128使得处理器120访问转换系统限定164、提取正式需求170、并且作为正式需求170的函数以模型核查应用129的输入语言来产生正式模型172。

根据第二复核步骤214,模型核查应用129使得处理器120分析正式模型172。模型核查应用129分析正式模型172以寻找任何不一致性和不完整性。具体地,模型核查应用129产生错误报告174。错误报告174和正式模型172由工程组140和/或软件组142复核,以解决一致性和完整性。如果组140、142确定需要对正式需求170、注释152和/或非正式需求132作出变化,那么作出合适修改并且方法200的先前步骤中的一些或全部步骤被重复,直到实现一致性和完整性为止。否则,正式需求170被实施到产品软件144中。

上述实施方式仅是为了透彻理解原理而阐述的对实施方式的示例性说明。可作出与上述实施方式相关联的变化、修改和组合,而不偏离权利要求书的范围。在本文中,全部这种变化、修改和组合被包括在所公开的内容和所附权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号