CN108170405B - 一种面向业务变量的软件开发方案生成方法 - Google Patents
一种面向业务变量的软件开发方案生成方法 Download PDFInfo
- Publication number
- CN108170405B CN108170405B CN201711450879.XA CN201711450879A CN108170405B CN 108170405 B CN108170405 B CN 108170405B CN 201711450879 A CN201711450879 A CN 201711450879A CN 108170405 B CN108170405 B CN 108170405B
- Authority
- CN
- China
- Prior art keywords
- function
- business
- variable
- requirement
- demand
- 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/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于精确需求设计与需求分析的面向业务变量的软件开发方案生成方法,包括精确系统功能需求设计与需求分析阶段,根据用户原始系统功能需求信息将功能需求分成若干个功能单元,为每一个功能单元匹配相应的业务逻辑变量,根据业务逻辑变量构建相应的离散事件,离散事件用于触发业务逻辑变量的变化,根据离散事件定义所述业务逻辑变量需求函数;精确软件功能需求设计与需求分析阶段,构建实现所述业务逻辑变量的业务物理变量,并定义业务物理变量需求函数;精确函数功能需求设计与需求分析阶段,包括构建函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对于上述每组组合下的业务物理变量内容的变化规律以及输出。
Description
技术领域
本发明涉及软件开发工程技术领域,具体为一种面向业务变量的软件开发方案生成方法。
背景技术
软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。目前,市场上应用最广的软件开发工具是采用面向对象设计方法的UML工具,但该工具存在以下不足之处:1、将问题复杂化,即系统层面用户与设计者无需看到诸如“类”这样的概念,用户与设计者也无需关心系统内部是用面向结构方法还是面向对象方法来实现的,若考虑这些因素的话,无疑是将需求分析复杂化;2、虽然强调建模,既有静态图又有动态图,但是对这些图的设计与分析究竟要做到何种程度,并没有一个明确的说法,哪些内容需要“细”?哪些内容需要“粗”?关键问题没有被解决,很多实际工程例子,花费大量时间画UML图形,而这些图形带来的价值少之又少,归根结底是由于没有精确的需求设计与需求分析;3、如果软件开发并没有采用面向对象的方法,如C语言,那么用UML工具进行软件功能需求设计与需求分析是非常不合适的,即这种开发工具的应用存在局限性。
另外,目前大多数的软件开发方法,都无法给出各个开发阶段准确的测试用例,而且就算给出了测试用例,由于在各个阶段没有一脉相承的精确的需求设计与需求分析,这些测试用例也往往会在编码完成后被放弃,因为由于各个阶段的需求设计与需求分析存在较大变动,所以前面给出的测试用例已经不再适用了,这就造成了很大的资源浪费。同样也正是由于目前大多数的软件开发方法没有精确的需求设计和需求分析,因此无法在代码开发阶段将函数外包,这将带来软件的开发周期长,管理成本大的问题。
发明内容
本发明提供了一种基于精确需求设计与需求分析的面向业务变量的软件开发方案生成方法。
本发明提供基础方案是:一种面向业务变量的软件开发方案生成方法,包括采集的用户原始系统功能需求信息,其中,还包括以下内容:
根据用户原始系统功能需求信息进行的精确系统功能需求设计与需求分析、精确软件功能需求设计与需求分析以及精确函数功能需求设计与需求分析;
所述精确系统功能需求设计与需求分析阶段,根据用户原始系统功能需求信息将功能需求分成若干个功能单元,为每一个功能单元匹配相应的业务逻辑变量,根据所述的业务逻辑变量构建相应的离散事件,所述的离散事件用于触发业务逻辑变量的变化,根据所述的离散事件定义所述业务逻辑变量需求函数;
所述精确软件功能需求设计与需求分析阶段,构建实现所述业务逻辑变量的业务物理变量,并定义所述业务物理变量需求函数;
所述精确函数功能需求设计与需求分析阶段,包括构建函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对于上述每组组合下的业务物理变量内容的变化规律以及输出。
与现有技术相比,本发明的优势在于:1、从系统功能需求设计与需求分析到软件功能需求设计与需求分析,再到函数功能需求设计与需求分析,采用逻辑对应(如业务物理变量对应业务逻辑变量,是业务逻辑变量的具体实现),分层(概念需求到实例需求,再到手段需求)的分析与设计方式,体现了简单性、专一性、传承性和清晰性,这样的设计与分析是直奔目标的,容易做到与最终的代码实现高度吻合,较大提升软件开发效率;2、系统功能需求设计与需求分析从系统输入和用户操作等这些离散事件入手,以用户能感知的系统内容为基础,系统层面用户与设计者无需看到诸如“类”这样的概念,即用户或设计者无需看到或关心系统内部是用面向结构方法还是面向对象方法来实现的,这样的软件生成方案,无疑更加简洁清晰;3、相比于现有大多数的软件开发方法,面向业务变量的需求设计与需求分析方法相应的软件开发模型强调了系统功能需求设计与需求分析、软件功能需求设计与需求分析和函数功能需求设计与需求分析都要以“精确”的方式来进行,因此每一个开发阶段的需求设计与需求分析都是明确的,且具有传承性的,因此不会由于各个开发阶段由于需求设计与需求分析的深入程度不同,带来的不匹配而导致的成本叠加,资源浪费等问题。
进一步,所述精确系统功能需求设计与需求分析阶段,还包括各个离散事件系统功能测试用例的构建。构建的离散事件系统功能测试用例用于在软件开发后,进行离散事件系统功能测试。
进一步,所述精确软件功能需求设计与需求分析阶段,还包括软件功能测试用例的构建。
构建的软件功能测试用例用于在软件开发后,对软件功能进行测试。
进一步,所述精确函数功能需求设计与需求分析阶段,还包括函数功能测试用例的构建。构建的函数功能测试用例用于在软件开发后,对函数功能进行测试。
本发明正因为强调了精确的需求设计与需求分析,所以能够给出相应的各个阶段准确的测试用例,而且这些测试用例不会也不应该在编码完成后发生变化。反观现有大多数的软件开发方法,各个阶段绝大多数的测试用例在编码结束后都被废弃,导致人力成本和资源的浪费。
进一步,还包括在精确函数功能需求设计与需求分析之后,以函数外包的形式,或者以企业内部开发结合函数外包的形式进行软件代码开发。正是由于本发明采用的精确的需求设计与需求分析,精确函数功能需求设计与需求分析,因此可以在代码开发阶段将函数外包,这将缩短软件的开发周期,提高软件开发效率,降低软件开发管理成本。
进一步,所述的业务逻辑变量包括业务逻辑变量信息内容以及业务逻辑变量控制内容。业务逻辑变量的控制内容也可称为业务逻辑变量状态内容,用以表征实现一个功能单元的功能所需要的全部状态或者当前的状态,所述的业务逻辑变量信息内容用以表征实现一个功能单元的功能所需要的基本信息。
进一步,所述定义业务逻辑变量需求函数的方式如下:构建离散事件的控制内容和业务逻辑变量控制内容的组合,以及构建针对于上述每组组合下的业务逻辑变量内容的变化规律以及输出,其中包括业务逻辑变量的生成和删除。
构建离散事件的控制内容和业务逻辑变量控制内容的组合实际上明确了输入业务逻辑变量,执行某个动作,到最后输出业务逻辑变量之间的组合方案。
进一步,所述的业务物理变量包括各个业务物理变量之间的关联内容、业务物理变量控制内容以及业务物理变量信息内容。业务物理变量是业务逻辑变量的具体实现手段,因此包含了各个业务物理变量之间的关联内容,即各业务变量彼此之间的控制与被控制或者通信的关系。
进一步,所述定义所述业务物理变量需求函数的方式如下:构建入口函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对上述组合下的业务物理变量内容的变化规律以及输出,其中包括业务物理变量的生成和删除。
构建入口函数输入参数控制内容和业务物理变量控制内容的组合明确了用于软件代码开发时的一个或多个业务逻辑变量控制内容(输入)、入口函数输入参数控制内容与一个或多个业务逻辑变量控制内容(输出)的组合方案。
附图说明
图1为本发明面向业务变量的软件开发方案生成方法实施例的示意图。
具体实施方式
下面通过具体实施方式进一步详细的说明:
实施例基本如附图1所示:本实施例公开的面向业务变量的软件开发方案生成方法,包括采集的用户原始系统功能需求信息,根据用户原始系统功能需求信息进行的精确系统功能需求设计与需求分析、精确软件功能需求设计与需求分析以及精确函数功能需求设计与需求分析。本实施例中用户原始系统功能需求信息,例如实现图书的管理需求。
所述精确系统功能需求设计与需求分析阶段,根据用户原始系统功能需求信息将功能需求分成若干个功能单元,为每一个功能单元匹配相应的业务逻辑变量,根据所述的业务逻辑变量构建相应的离散事件,根据所述的离散事件定义所述业务逻辑变量需求函数;
业务逻辑变量是系统功能实现的承载体,本实施例中,所述的业务逻辑变量包括业务逻辑变量信息内容以及业务逻辑变量控制内容,此二者内容都有可能是动态变化的。
例如,一个图书管理系统,需要实现“书的借阅”功能,那么至少需要五个业务逻辑变量(或者一个业务逻辑变量包含五个域)来记录每本书的编号、名称、作者、出版社、状态等关键内容。书的编号、名称、作者、出版社这些业务逻辑变量内容属于信息内容。就这部分内容而言,一旦确定了就不会再变化。那么控制内容是什么呢?是书的“状态”。例如,书至少有下面几种状态:订购、编目、馆藏、借出、待还等。
本实施例所述的离散事件,用于触发业务逻辑变量的变化,离散事件如“点击菜单与按钮与对话框”事件、“消息通信”事件、“输入参数”事件、“定时器溢出”事件等。
本实施例中,所述的业务逻辑变量需求函数是与离散事件绑定的,其定义为:业务逻辑变量需求设计与需求分析的融合。“怎么做”对应需求设计,“做什么”对应需求分析。
本实施例定义业务逻辑变量需求函数的方式如下:构建离散事件的控制内容和业务逻辑变量控制内容的组合,以及构建针对于上述每组组合下的业务逻辑变量内容的变化规律以及输出,其中包括业务逻辑变量的生成和删除。这里的逻辑变量内容既包括控制内容也包括信息内容。输出包括:弹出显示框、弹出对话框、弹出输入框、向系统外发送消息等。
例如当系统收到某一消息事件A时,创建一个业务逻辑变量M,并给出这个业务逻辑变量所包含的各个域(a、b、c、d、e,五个域)的初始值,其中a、b、c是控制域,d、e是信息域。当系统收到另一消息事件B(其中f、g是控制域)时,要描述在a、b、c、f、g五个域组合情况下业务逻辑变量M的各个域的变化规律。
本实施所述精确系统功能需求设计与需求分析阶段,还包括各个离散事件系统功能测试用例的构建。
所述精确软件功能需求设计与需求分析阶段,构建实现所述业务逻辑变量的业务物理变量,并定义所述业务物理变量需求函数。
本实施例中,业务物理变量是业务逻辑变量的具体实现。业务物理变量内容分成三个部分,包括各个业务物理变量之间的关联内容、业务物理变量控制内容以及业务物理变量信息内容。此三部分内容都有可能是动态变化的。
各个业务物理变量之间的关联内容,例如一个服务器可以和成千上万甚至更多的客户机建立TCP连接,但是服务器事先不知道究竟会有多少客户机发起TCP连接。那么服务器如何组织这些TCP连接呢?第一部分内容就反映了“这些TCP连接”之间的关联,即通过这部分内容能从“一个TCP连接”索引到“另一个TCP连接”。另外,不同类别的业务物理变量之间也存在相互索引的可能。
本实施例中,业务物理变量需求函数定义为:需求设计与需求分析的融合。“怎么做”对应需求设计,“做什么”对应需求分析。所述定义所述业务物理变量需求函数的方式如下:构建入口函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对上述组合下的业务物理变量内容的变化规律以及输出,其中包括业务物理变量的生成和删除。
例如业务物理变量A包含五个域(a、b、c、d、e),其中a、b、c是控制域,d、e是信息域。函数输入参数控制内容包括两个F和G。需要描述在a、b、c、F、G组合情况下业务物理变量M的各个域的变化规律(含生成和删除)。
本实施例所述精确软件功能需求设计与需求分析阶段,还包括软件功能测试用例的构建。
所述精确函数功能需求设计与需求分析阶段,是需求函数细化的过程,需求函数就是需求设计与需求分析的融合。“怎么做”对应需求设计,“做什么”对应需求分析。包括构建函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对于上述每组组合下的业务物理变量内容的变化规律以及输出,其中包括业务物理变量的生成和删除。
所述精确函数功能需求设计与需求分析阶段,还包括函数功能测试用例的构建。本实施例中,在精确函数功能需求设计与需求分析之后,可以以函数外包的形式,或者以企业内部开发结合函数外包的形式进行软件代码开发,本实施例优选第二种方式以提高软件开发的效率和降低软件开发的成本。基于第二种方式,可以进行函数外包,以及测试服务的外包。需求端用户,即要进行函数外包服务的用户,可以将函数外包给开发端用户,在完成开发后,可以将测试服务外包给测试端用户。
本实施例中,需求端用户将函数功能需求发送给开发端用户的同时,还相应的同时发送给开发端用户模板化的代码编写模板,所述代码编写模板内事先包含了位于编写模板开始部分的测试参数读写接口、以及位于编写模板末尾部分的测试信息发送接口,开发端用户采用需求端用户发送的代码编写模板编写函数功能需求实现代码,编写完成后,形成包含了测试参数读写接口、函数功能需求实现代码以及测试信息发送接口的文件,发送给需求端用户。本实施例所述的测试信息发送接口中的测试信息包括测试参数以及测试结果。
当需求端用户将测试服务外包时,需求端用户将包含了测试参数读写接口、函数功能需求实现代码以及测试信息发送接口的文件,以及相应的函数功能测试用例发送给测试端用户,测试端用户在进行测试时,测试参数读写接口自动将函数功能测试用例中的测试参数传给函数功能需求实现代码的入口函数,测试信息发送接口自动将上述测试参数发送给需求端用户,测试结束后,测试信息发送接口自动将测试结果发送给需求端用户。
现实情况是,在测试外包服务时,虽然需求端用户同时将函数功能测试用例发送给了测试端用户,但是测试端用户在测试时是否采用了需求端发送的函数功能测试用例,需求端用户是不清楚的,对测试端用户是否采用了该函数功能测试用例是无法进行监控的,也就对测试质量无法进行监控。由于需求端用户构建的函数功能测试用例是基于精确的函数功能需求设计与分析,如果采用其他的函数功能测试用例,势必没有采用需求端用户提供的函数功能需求用例进行测试效果好,因此通常需要采用需求端用户提供的测试用例进行测试。
上述方案所具有的优点在于:采用模板化的代码编写模板,在测试阶段,测试参数读写接口可自动将函数功能测试用例中的测试参数传给函数功能需求实现代码的入口函数,这个动作是自动执行的,测试端用户只能采用需求端用户提供的函数功能测试用例中的测试参数,同时,测试信息发送接口自动将测试参数发送给需求端用户,并且在测试结束后,测试信息发送接口自动将测试结果发送给需求端用户,这样需求端用户可随时自动了解测试端用户采用的测试参数以及运行的测试结果,使测试端用户无法欺骗和隐瞒,一旦需求端用户收到的测试参数不是需求端用户提供的函数功能测试用例中的测试参数,或者没有接收到需求端用户提供的函数功能测试用例中的测试参数,以及运行的测试结果,将表明测试端用户采用了其他函数功能测试用例或者没有按照协议约定时间进行测试服务。
Claims (8)
1.一种面向业务变量的软件开发方案生成方法,包括采集的用户原始系统功能需求信息,其特征在于,还包括以下内容:
根据用户原始系统功能需求信息进行的精确系统功能需求设计与需求分析、精确软件功能需求设计与需求分析以及精确函数功能需求设计与需求分析;
所述精确系统功能需求设计与需求分析阶段,根据用户原始系统功能需求信息将功能需求分成若干个功能单元,为每一个功能单元匹配相应的业务逻辑变量,根据所述的业务逻辑变量构建相应的离散事件,所述的离散事件用于触发业务逻辑变量的变化,根据所述的离散事件定义所述业务逻辑变量需求函数;
所述精确软件功能需求设计与需求分析阶段,构建实现所述业务逻辑变量的业务物理变量,并定义所述业务物理变量需求函数;
所述精确函数功能需求设计与需求分析阶段,包括构建函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对于上述每组组合下的业务物理变量内容的变化规律以及输出;
所述定义业务逻辑变量需求函数的方式如下:构建离散事件的控制内容和业务逻辑变量控制内容的组合,以及构建针对于上述每组组合下的业务逻辑变量内容的变化规律以及输出,其中包括业务逻辑变量的生成和删除。
2.根据权利要求1所述的面向业务变量的软件开发方案生成方法,其特征在于:所述精确系统功能需求设计与需求分析阶段,还包括各个离散事件系统功能测试用例的构建。
3.根据权利要求2所述的面向业务变量的软件开发方案生成方法,其特征在于:所述精确软件功能需求设计与需求分析阶段,还包括软件功能测试用例的构建。
4.根据权利要求3所述的面向业务变量的软件开发方案生成方法,其特征在于:
所述精确函数功能需求设计与需求分析阶段,还包括函数功能测试用例的构建。
5.根据权利要求1所述的面向业务变量的软件开发方案生成方法,其特征在于:还包括在精确函数功能需求设计与需求分析之后,以函数外包的形式,或者以企业内部开发结合函数外包的形式进行软件代码开发。
6.根据权利要求1所述的面向业务变量的软件开发方案生成方法,其特征在于:所述的业务逻辑变量包括业务逻辑变量信息内容以及业务逻辑变量控制内容。
7.根据权利要求1所述的面向业务变量的软件开发方案生成方法,其特征在于:所述的业务物理变量包括各个业务物理变量之间的关联内容、业务物理变量控制内容以及业务物理变量信息内容。
8.根据权利要求7所述的面向业务变量的软件开发方案生成方法,其特征在于:所述定义所述业务物理变量需求函数的方式如下:构建入口函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对上述组合下的业务物理变量内容的变化规律以及输出,其中包括业务物理变量的生成和删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711450879.XA CN108170405B (zh) | 2017-12-27 | 2017-12-27 | 一种面向业务变量的软件开发方案生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711450879.XA CN108170405B (zh) | 2017-12-27 | 2017-12-27 | 一种面向业务变量的软件开发方案生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170405A CN108170405A (zh) | 2018-06-15 |
CN108170405B true CN108170405B (zh) | 2021-01-19 |
Family
ID=62518882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711450879.XA Active CN108170405B (zh) | 2017-12-27 | 2017-12-27 | 一种面向业务变量的软件开发方案生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170405B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764745B (zh) * | 2019-09-16 | 2024-02-02 | 平安科技(深圳)有限公司 | 变量的传输和收集方法、装置及计算机可读存储介质 |
CN111026664B (zh) * | 2019-12-09 | 2020-12-22 | 遵义职业技术学院 | 基于ann的程序检测方法和检测系统及应用 |
CN111857663B (zh) * | 2020-07-17 | 2022-06-17 | 济南浪潮数据技术有限公司 | 一种软件设计方法、系统及电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707552B2 (en) * | 2005-10-17 | 2010-04-27 | International Business Machines Corporation | Method and system for autonomically prioritizing software defects |
US20080126054A1 (en) * | 2006-11-28 | 2008-05-29 | Moshe Asher Cohen | Discrete event system simulation interface |
CN101719921B (zh) * | 2009-12-10 | 2012-05-23 | 清华大学 | 可重构路由器软件开发中的路由协议构件的生成方法 |
CN103809985B (zh) * | 2014-03-06 | 2017-02-01 | 云集网络(大连)股份有限公司 | 一种软件开发方案的生成方法及系统 |
CN105975282A (zh) * | 2016-05-28 | 2016-09-28 | 徐志勇 | 一种基于大数据平台的软件开发系统 |
CN106371840A (zh) * | 2016-08-30 | 2017-02-01 | 北京航空航天大学 | 基于众包的软件开发方法及装置 |
-
2017
- 2017-12-27 CN CN201711450879.XA patent/CN108170405B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108170405A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghose et al. | Process discovery from model and text artefacts | |
Dowson | Software process themes and issues | |
CN110310088A (zh) | 工作流配置方法及相关产品 | |
Schönig et al. | Mining the organisational perspective in agile business processes | |
CN108170405B (zh) | 一种面向业务变量的软件开发方案生成方法 | |
Lucio et al. | Advances in model-driven security | |
Soliman et al. | Enriching architecture knowledge with technology design decisions | |
CN109491642A (zh) | 一种基于场景的需求建模系统及方法、信息数据处理终端 | |
CN108008977B (zh) | 一种面向函数外包的软件开发服务平台 | |
Oliveira Junior et al. | SMartySPEM: a SPEM-based approach for variability management in software process lines | |
BAIDADA et al. | A new approach for recovering high-level sequence diagrams from object-oriented applications using petri nets | |
Speth | Issue management for multi-project, multi-team microservice architectures | |
WO2005010749A2 (en) | Designing computer programs | |
Filip | Designing and building modern information systems; A series of decisions to be made | |
Lence et al. | Quality attributes and variability in AO-ADL software architectures | |
Cruz et al. | Deriving Integrated Software Design Models from BPMN Business Process Models. | |
CN113885844A (zh) | 一种业务服务编排方法及相关装置 | |
Roldán et al. | Operation‐based approach for documenting software architecture knowledge | |
Ripon | A unified tabular method for modeling variants of software product line | |
Arantes et al. | Tool support for generating model-based test cases via web | |
Delen et al. | Integrated modeling and analysis generator environment (IMAGE): a decision support tool | |
Shahin et al. | An aspect-oriented approach for saas application customization | |
KR20060068162A (ko) | 제품계열 기반 소프트웨어 개발 방법 | |
Jitnah et al. | Software requirements engineering: An overview | |
Buschle | Tool Support for Enterprise Architecture Analysis: with application in cyber security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |