CN108008977B - 一种面向函数外包的软件开发服务平台 - Google Patents
一种面向函数外包的软件开发服务平台 Download PDFInfo
- Publication number
- CN108008977B CN108008977B CN201711446990.1A CN201711446990A CN108008977B CN 108008977 B CN108008977 B CN 108008977B CN 201711446990 A CN201711446990 A CN 201711446990A CN 108008977 B CN108008977 B CN 108008977B
- Authority
- CN
- China
- Prior art keywords
- function
- requirement
- end user
- development
- information
- 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/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F8/22—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (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 (7)
1.一种面向函数外包的软件开发服务平台,其特征在于:包括用户管理模块,所述用户管理模块用于管理本平台用户的用户信息,所述本平台用户包括需求端用户和开发端用户;
信息发布模块,用于供需求端用户发布函数功能需求信息;
交易模块,用于供开发端用户承接需求端用户发布的函数功能需求,并生成开发端用户与需求端用户关于函数功能需求实现代码的开发协议信息;
支付模块,用于在开发端用户完成函数功能需求实现代码的开发并得到需求端确认后,向开发端用户支付开发协议所规定的劳动报酬;
精确的函数功能需求设计与需求分析采用面向业务变量的软件开发方案生成方法构建;
面向业务变量的软件开发方案生成方法构建所述精确的函数功能需求设计与需求分析的方式是:根据用户原始系统功能需求信息进行的精确系统功能需求设计与需求分析、精确软件功能需求设计与需求分析以及精确函数功能需求设计与需求分析;
所述精确系统功能需求设计与需求分析阶段,根据用户原始系统功能需求信息将功能需求分成若干个功能单元,为每一个功能单元匹配相应的业务逻辑变量,根据所述的业务逻辑变量构建相应的离散事件,所述的离散事件用于触发业务逻辑变量的变化,根据所述的离散事件定义所述业务逻辑变量需求函数;
所述精确软件功能需求设计与需求分析阶段,构建实现所述业务逻辑变量的业务物理变量,并定义所述业务物理变量需求函数;
所述精确函数功能需求设计与需求分析阶段,包括构建函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对于上述每组组合下的业务物理变量内容的变化规律以及输出。
2.根据权利要求1所述的面向函数外包的软件开发服务平台,其特征在于:所述精确系统功能需求设计与需求分析阶段,还包括各个离散事件系统功能测试用例的构建;所述精确软件功能需求设计与需求分析阶段,还包括软件功能测试用例的构建;所述精确函数功能需求设计与需求分析阶段,还包括函数功能测试用例的构建。
3.根据权利要求1所述的面向函数外包的软件开发服务平台,其特征在于:所述的业务逻辑变量包括业务逻辑变量信息内容以及业务逻辑变量控制内容,所述定义所述业务逻辑变量需求函数的方式如下:构建离散事件的控制内容和业务逻辑变量控制内容的组合,以及构建针对于上述每组组合下的业务逻辑变量内容的变化规律以及输出,其中包括业务逻辑变量的生成和删除。
4.根据权利要求1所述的面向函数外包的软件开发服务平台,其特征在于:所述的业务物理变量包括各个业务物理变量之间的关联内容、业务物理变量控制内容以及业务物理变量信息内容,所述定义所述业务物理变量需求函数的方式如下:构建入口函数输入参数控制内容和业务物理变量控制内容的组合,以及构建针对上述组合下的业务物理变量内容的变化规律以及输出,其中包括业务物理变量的生成和删除。
5.根据权利要求1所述的面向函数外包的软件开发服务平台,其特征在于:还包括存储模块、加密模块和解密模块,所述存储模块用于存储用户信息、经过加密模块加密的需求端用户与开发端用户关于函数功能需求实现代码的开发协议信息,以及经过加密模块加密的开发端用户向平台上传的函数功能需求实现代码;所述加密模块用于对需求端用户与开发端用户关于函数功能需求实现代码的开发协议信息,以及开发端用户向平台上传的函数功能需求实现代码进行加密;所述解密模块用于在开发端用户完成函数功能需求实现代码的开发并得到需求端确认后,对需求端用户与开发端用户关于函数功能需求实现代码的开发协议信息进行解密,还用于需求端用户对加密的函数功能需求实现代码进行解密。
6.根据权利要求1所述的面向函数外包的软件开发服务平台,其特征在于:所述的信息发布模块,还用于供需求端用户发布针对于函数功能需求实现代码的测试服务信息,还包括测试端用户,所述测试端用户通过交易模块承接需求端用户发布的针对于函数功能需求实现代码的测试服务,并通过交易模块生成测试端用户与需求端用户关于函数功能需求实现代码的测试服务协议信息,所述的支付模块,还用于在测试端用户完成函数功能需求实现代码的测试服务并得到需求端用户确认后,向测试端用户支付测试服务协议所规定的劳动报酬。
7.根据权利要求6所述的面向函数外包的软件开发服务平台,其特征在于:所述的函数功能需求实现代码的测试服务信息包括函数功能需求实现代码信息以及针对于该函数功能需求的函数功能测试用例,所述的函数功能测试用例是需求端用户采用面向业务变量的软件开发方案生成方法,在精确函数功能需求设计与需求分析阶段,构建的函数功能测试用例,所述测试端用户根据所述函数功能测试用例对所述函数功能需求实现代码进行测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711446990.1A CN108008977B (zh) | 2017-12-27 | 2017-12-27 | 一种面向函数外包的软件开发服务平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711446990.1A CN108008977B (zh) | 2017-12-27 | 2017-12-27 | 一种面向函数外包的软件开发服务平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108008977A CN108008977A (zh) | 2018-05-08 |
CN108008977B true CN108008977B (zh) | 2021-01-15 |
Family
ID=62061912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711446990.1A Active CN108008977B (zh) | 2017-12-27 | 2017-12-27 | 一种面向函数外包的软件开发服务平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108008977B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026664B (zh) * | 2019-12-09 | 2020-12-22 | 遵义职业技术学院 | 基于ann的程序检测方法和检测系统及应用 |
CN111915406A (zh) * | 2020-08-07 | 2020-11-10 | 单伟 | 软件外包交易平台及基于软件外包交易平台的交易方法 |
CN113139872B (zh) * | 2021-05-10 | 2022-10-14 | 北京人和创建信息技术有限公司 | 一种基于互联网服务的外包服务交易系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR0012111A (pt) * | 1999-06-04 | 2002-03-12 | Bsquare Corp | Método e sistema para teste e validação baseado em computador de um sistema operacional embutido |
CN101719921B (zh) * | 2009-12-10 | 2012-05-23 | 清华大学 | 可重构路由器软件开发中的路由协议构件的生成方法 |
US9124554B2 (en) * | 2010-03-09 | 2015-09-01 | At&T Intellectual Property I, L.P. | Mobility network operator service delivery hub |
CN102375731B (zh) * | 2010-08-23 | 2014-11-05 | 融建信息技术(厦门)有限公司 | 一种免编码集成应用软件平台系统 |
US9069898B2 (en) * | 2012-05-31 | 2015-06-30 | Dell Products, Lp | System for providing regression testing of an integrated process development system and method therefor |
US20140279243A1 (en) * | 2013-03-15 | 2014-09-18 | Ebay Inc. | Crowd sourcing and machine learning based size mapper |
CN106371840A (zh) * | 2016-08-30 | 2017-02-01 | 北京航空航天大学 | 基于众包的软件开发方法及装置 |
-
2017
- 2017-12-27 CN CN201711446990.1A patent/CN108008977B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108008977A (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kritikos et al. | A survey on service quality description | |
Celik et al. | Blockchain supported BIM data provenance for construction projects | |
Linington et al. | A unified behavioural model and a contract language for extended enterprise | |
Horcas et al. | An automatic process for weaving functional quality attributes using a software product line approach | |
CN108008977B (zh) | 一种面向函数外包的软件开发服务平台 | |
CN109491642A (zh) | 一种基于场景的需求建模系统及方法、信息数据处理终端 | |
Milosevic et al. | On design and implementation of a contract monitoring facility | |
CN108170405B (zh) | 一种面向业务变量的软件开发方案生成方法 | |
Alebrahim et al. | Bridging the gap between requirements engineering and software architecture | |
CN112465448A (zh) | 基于区块链的跨组织工作流运行方法及系统 | |
Skotnica et al. | Process Digitalization using Blockchain: EU Parliament Elections Case Study. | |
Calabró et al. | Integrating access control and business process for GDPR compliance: A preliminary study. | |
Vivas et al. | Towards a business process-driven framework for security engineering with the UML | |
US20240143909A1 (en) | System and Method for Electronic Document Interaction with External Resources | |
Ovelheiro et al. | Sustainability Design Applied to the Digital Signature of Documents | |
Spagnuelo et al. | Qualifying and measuring transparency: A medical data system case study | |
CN112150299B (zh) | 年金数据处理方法、装置、介质及电子设备 | |
Kasperek et al. | Identifying uncertainties within structural complexity management | |
Borek et al. | Security requirements formalized with OCL in a model-driven approach | |
Ye | Combining BIM with smart contract and blockchain to support digital project delivery and acceptance processes | |
Shahin et al. | An aspect-oriented approach for saas application customization | |
Bogado et al. | DEVS-based methodological framework for multi-quality attribute evaluation using software architectures | |
KR20060068162A (ko) | 제품계열 기반 소프트웨어 개발 방법 | |
Ritonga et al. | IMPELEMENTATION OF THE UNFIELD MODELING LANGGUAGE MODEL IN THE CRIMINALITY DATA PROCESSING INFORMATION SYSTEM: IMPELEMENTATION OF THE UNFIELD MODELING LANGGUAGE MODEL IN THE CRIMINALITY DATA PROCESSING INFORMATION SYSTEM | |
Rofiif et al. | Performance Analysis of Hierarchical Process Model |
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 |