软件属性需求检验方法及装置与流程

文档序号:12463074阅读:144来源:国知局
本发明涉及计算机领域,特别是涉及一种软件属性需求检验方法及装置。
背景技术
:计算机技术的飞速发展,给软件行业带来了很大的发展空间和巨大的发展契机。随着计算机软件系统日趋复杂、规模越来越大,软件开发成本不断提高,软件开发所面临的风险也随之加大。许多研究人员发现,当软件开发项目失败时,软件需求问题通常正是核心问题。现有技术中,一般客户提出需求,再经过软件程师进行修改和完善,软件修改完成后给到相应的测试单位进行测试。如果如测试与客户提出的需求不符再反馈回软件工程师继续修改。这种软件测试方法涉及的环节较多,周期长,工作效率低下。现有技术中,也有通过检测工具进行检测,但是新增了额外的工具成本较高,且不能在软件编译时及时发现问题,周期长,效率低。技术实现要素:鉴于上述状况,有必要针对现有技术中软件检的属性的需求测效率低的问题,提供一种软件属性需求检验方法及装置。本发明提供了一种软件属性需求检验方法,包括:在软件的编译过程中,以不同的功能定义模块定义不同的属性的需求信息,所述需求信息为客户预提供的软件的属性的需求信息;查询编译后的所述软件中每个所述属性对应的功能定义模块的值,并将同一属性对应的所述功能定义模块的值和所述需求信息进行比对;当任意一个所述属性对应的所述功能定义模块的值和所述需求信息不同时,确定所述软件的属性的需求信息错误。上述软件属性需求检验方法,其中,所述查询编译后的所述软件中每个所述属性对应的功能定义模块的值的步骤包括:定义每个需求信息的属性,并建立一个所述属性与所述功能定义模块一一对应的第一映射表;查询编译后的所述软件中每个功能定义模块的值,并在所述第一映射表中显示所述功能定义模块的值。上述软件属性需求检验方法,其中,所述将同一属性对应的所述功能定义模块的值和所述需求信息进行比对的步骤包括:获取每个所述需求信息的属性,并建立一个所述属性与所述需求信息一一对应的第二映射表;以所述第一映射表中的所述属性为索引查询所述第二映射表中的所述属性对应的所述需求信息,并将查询到的所述需求信息添加到所述第一映射表中生成所述属性、所述功能定义模块的值和所述需求信息一一对应的需求比对表;比对所述需求比对表中每个所述属性对应的所述功能定义模块的值和所述需求信息。上述软件属性需求检验方法,其中,所述当任意一个所述功能定义模块的值与所述需求信息不同时,确定所述软件错误的步骤之后还包括:在所述需求比对表中标记所述属性对应的功能定义模块的值和所述需求信息不同的条目。上述软件属性需求检验方法,其中,所述功能定义模块为宏定义或枚举值,所述属性包括产品支持的国家区域、产品默认语言和产品菜单风格。本发明还提供了一种软件属性需求检验装置,包括:编译模块,用于在软件的编译过程中,以不同的功能定义模块定义不同的属性的需求信息,所述需求信息为客户预提供的软件的属性的需求信息;查询模块,用于查询编译后的所述软件中每个所述属性对应的功能定义模块的值;比对模块,用于将同一属性对应的所述功能定义模块的值和所述需求信息进行比对;确定模块,用于当任意一个所述属性对应的所述功能定义模块的值和所述需求信息不同时,确定所述软件的属性的需求信息错误。上述软件属性需求检验装置,其中,所述查询模块包括:属性定义模块,用于定义每个需求信息的属性;第一建立模块,用于制定一个所述属性与所述功能定义模块一一对应的第一映射表;第一查询子模块,用于查询编译后的所述软件中每个功能定义模块的值,并在所述第一映射表中显示所述功能定义模块的值。上述软件属性需求检验装置,其中,所述软件属性需求检验装置还包括:第二建立模块,用于获取每个所述需求信息的属性,并建立一个所述属性与所述需求信息一一对应的第二映射表;所述比对模块包括:第二查询子模块,用于以所述第一映射表中的所述属性为索引查询所述第二映射表中的所述属性对应的所述需求信息;添加模块,并将查询到的所述需求信息添加到所述第一映射表中生成所述属性、所述功能定义模块的值和所述需求信息一一对应的需求比对表;比对子模块,用于比对所述需求比对表中每个所述属性对应的所述功能定义模块的值和所述需求信息。上述软件属性需求检验装置,其中,所述软件属性需求检验装置还包括:标记模块,用于在所述需求比对表中标记所述属性对应的功能定义模块的值和所述需求信息不同的条目。上述软件属性需求检验装置,其中,所述功能定义模块为宏定义或枚举值,所述属性包括产品能支持的国家区域、产品默认语言和产品菜单风格。本发明通过功能定义模块定义每个需求信息,当软件编译完成后,可得到每个功能定义模块的值,即软件代码中每个功能定义模块对应的需求信息,并将软件代码中的每个功能定义模块的值与客户要求的属性信息进行比对。当功能定义模块的值与客户要求的属性信息不同时,说明该软件中的需求信息错误,软件编译者可在软件代码中进行相应的修改,无需通过软件测试或经客户审核,就可知道软件的需求信息是否错误。简化了产品检测的流程,提高了工作效率。附图说明图1为本发明第一实施例中的软件属性需求检验方法的流程图;图2为本发明第二实施例中的软件属性需求检验方法的流程图;图3为本发明实施例中的软件属性需求检验装置的结构框图;图4为图3中查询模块的结构框图;图5为图3中比对模块的结构框图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。请参阅图1,为本发明第一实施例中的软件属性需求检验方法,包括步骤S11~S13。步骤S11,在软件的编译过程中,以不同的功能定义模块定义不同的属性的需求信息。所述需求信息为客户预提供的软件的属性的需求信息。本实施例中,功能定义模块例如为宏定义。当了解到客户给定产品需求,比如产品支持的国家区域是法国,默认语言为法语,产品菜单风格为简约风格等等。在进行软件编译时,在软件代码中,将每个需求信息用宏定义进行定义。例如,产品的销售区域在代码中用宏定义表示,其相应的宏定义为:CVT_DEF_COUNTRY_NAME,通过宏定义输出国家信息。因此一个销往法国的软件可定义为:#defineCVT_DEF_COUNTRY_NAME“France”。在代码进行编译时可以展开源代码中的宏来获得宏的值。可以将生成到文本文件中如下:...#defineCVT_DEF_COUNTRY_NAME“France”#defineCVT_DEF_LANUGAE_NAME“FRENCH”#defineCVT_DEF_MENU_STYLE_NAME“Breif”...可以理解的,在进行软件编译时,在软件代码中,每个需求信息也可以通过枚举值表示。步骤S12,查询编译后的所述软件中每个所述属性对应的功能定义模块的值,并将同一属性对应的所述功能定义模块的值和所述需求信息进行比对。步骤S13,当任意一个所述属性对应的所述功能定义模块的值和所述需求信息不同时,确定所述软件的属性的需求信息错误。通过解析每个功能定义模块得到编译完的软件代码中每个功能定义模块的值,即软件代码中每个功能定义模块对应的需求信息。将软件代码中的每个功能定义模块的值与客户要求的属性信息进行比对,当功能定义模块的值与客户要求的属性信息不同时,说明该软件中的需求信息错误,软件编译者可在软件代码中进行相应的修改,无需通过软件测试或经客户审核,就可知道软件的需求信息是否错误。简化了产品检测的流程,提高了工作效率。请参阅图2,位本发明第二实施例中的软件属性需求检验方法,包括步骤S21~S27。步骤S21,在软件的编译过程中,以不同的功能定义模块定义不同的属性的需求信息。所述需求信息为客户预提供的软件的属性的需求信息。步骤S22,定义每个需求信息的属性,并建立一个所述属性与所述功能定义模块一一对应的第一映射表。第一映射表例如表1所示。表1.属性与功能定义模块的对应关系表在现有的需求基础上,将可配置的需求信息抽象成属性的定义,例如,产品销往国家抽象定义为:SW_Country;产品默认语言抽象定义为:SW_DefaultLanguage;产品菜单风格抽象定义为:SW_MenuStyle。步骤S23,查询编译后的所述软件中每个功能定义模块的值,并在所述第一映射表中显示所述功能定义模块的值。当软件编译结束后,通过功能定义模块查询软件中每个功能定义模块的值,在第一映射表中生成所述功能定义模块的值,例如表2所示。表2.属性与功能定义模块的值的对应关系表属性功能定义模块的值SW_CountryFRANCESW_DefaultLanguageFRENCHSW_MenuStyleBrief步骤S24,获取每个所述需求信息的属性,并建立一个所述属性与所述需求信息一一对应的第二映射表。所述第二映射表例如为表3所示。表3.属性与需求信息的对应关系表属性需求信息SW_CountryFranceSW_DefaultLanguageFRENCHSW_MenuStyleBrief客户提出的需求信息,一般可通过网页录入,每个需求信息有其对应的属性,因此当录入了软件的需求信息后,可得到需求信息与属性的映射关系。步骤S25,以所述第一映射表中的所述属性为索引查询所述第二映射表中的所述属性对应的所述需求信息,并将查询到的所述需求信息添加到所述第一映射表中生成所述属性、所述功能定义模块的值和所述需求信息一一对应的需求比对表。所述需求比对表例如为表4所示。表4.属性、功能定义模块的值及需求信息的对应关系表属性功能定义模块的值需求信息SW_CountryFranceFranceSW_DefaultLanguageFRENCHFRENCHSW_MenuStyleBriefBrief第一映射表和第二映射表中属性相同,以属性为索引,查询与所述属性对应的需求信息,因此可以在第一映射表的基础上生成所述需求比对表。在实际的操作过程中,当软件编译结束后,最终显示需求比对表,便于软件工程师进行比对检测。步骤S26,比对所述需求比对表中每个所述属性对应的所述功能定义模块的值和所述需求信息,当任意一个所述属性对应的所述功能定义模块的值和所述需求信息不同时,确定所述软件的属性的需求信息错误。本实施例中,当客户提出需求信息后,将每个需求信息配置一个属性,在软件编译时,对软件代码中的每个需求信息进行功能定义模块,并预设一个属性与功能定义模块的映射表,即第一映射表,当编译结束后,第一映射表中显示每个功能定义模块的值。功能定义模块的值即为软件代码中编译的需求信息。通过属性查询到所述属性对应的需求信息,即查询到客户提出的需求信息,将查询的需求信息与功能定义模块的值进行比对,即可得知在软件编译过程中编译的错误属性需求。进一步的,为了更方便快捷的检测,所述软件属性需求检验方法还包括:步骤S27,在所述需求比对表中标记所述属性对应的功能定义模块的值和所述需求信息不同的条目。编译结束后,通过比对功能定义模块的值与客户提出的需求信息,若某个功能定义模块的值与需求信息不同时,没确定该功能定义模块的值为错误值,在需求比对表中高亮显示该错误值所在的条目。请参阅图3至图5,为本发明实施例中的软件属性需求检验装置。如图3所示,所示软件属性需求检验装置包括,编译模块31、查询模块32、比对模块33和确定模块34。所述编译模块31用于在软件的编译过程中,以不同的功能定义模块定义不同的属性的需求信息,所述需求信息为客户预提供的软件的属性的需求信息,例如产品能支持的国家区域、产品默认语言和产品菜单风格。所述功能定义模块为宏定义或枚举值。所述查询模块32用于查询编译后的所述软件中每个所述属性对应的功能定义模块的值。所述比对模块33用于将同一属性对应的所述功能定义模块的值和所述需求信息进行比对。所述确定模块34用于当任意一个所述属性对应的所述功能定义模块的值和所述需求信息不同时,确定所述软件的属性的需求信息错误。进一步的,如图4所述查询模块32具体包括:属性定义模块321,用于定义每个需求信息的属性;第一建立模块322,用于制定一个所述属性与所述功能定义模块一一对应的第一映射表;第一查询子模块323,用于查询编译后的所述软件中每个功能定义模块的值,并在所述第一映射表中显示所述功能定义模块的值。进一步的,如图3所示,所述软件属性需求检验装置还包括:第二建立模块35,用于获取每个所述需求信息的属性,并建立一个所述属性与所述需求信息一一对应的第二映射表;进一步的,如图5所示,所述比对模块33具体包括:第二查询子模块331,用于以所述第一映射表中的所述属性为索引查询所述第二映射表中的所述属性对应的所述需求信息;添加模块332,并将查询到的所述需求信息添加到所述第一映射表中生成所述属性、所述功能定义模块的值和所述需求信息一一对应的需求比对表;比对子模块333,用于比对所述需求比对表中每个所述属性对应的所述功能定义模块的值和所述需求信息。进一步的,如图3所示,所述软件属性需求检验装置还包括:标记模块36,用于在所述需求比对表中标记所述属性对应的功能定义模块的值和所述需求信息不同的条目。本实施例中,通过解析每个功能定义模块即可得到编译完的软件代码中每个功能定义模块的值,即软件代码中每个功能定义模块对应的需求信息。将软件代码中的每个功能定义模块的值与客户要求的属性信息进行比对,当功能定义模块的值与客户要求的属性信息不同时,说明该软件中的需求信息错误,软件编译者可在软件代码中进行相应的修改,无需通过软件测试或经客户审核,就可知道软件的需求信息是否错误。简化了产品检测的流程,提高了工作效率。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能定义模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能定义模块的形式实现。所述集成的模块如果以软件功能定义模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1