基于模板组件的开发云平台的制作方法

文档序号:16734803发布日期:2019-01-28 12:32阅读:173来源:国知局
基于模板组件的开发云平台的制作方法

本发明涉及计算机应用技术领域,具体地指一种基于模板组件的开发云平台。



背景技术:

软件前端开发项目中,首先要对需求进行分析,进行技术选型,并搭建开发框架,然后进行各部分模块及页面的开发。在一个面向多客户及多工程师的软件开发服务云平台上,客户提出的软件需求以及技术要求各异,同时工程师的技术专长、编程习惯也有所不同,如何使一个临时组建的团队,根据前端需求及开发技术要求,快速完成开发,并且保证交付的代码质量,是一个巨大的挑战。其中涉及的主要问题有:

●工程师与客户之间的需求沟通工作量较大;

●工程师之间协同开发困难较多;

●工程师交付的代码风格难以统一;

●工程师的开发效率难以控制;

●工程师交付的代码质量参差不齐。

以上问题严重影响了软件开发服务平台提供的软件前端开发服务的服务效率和服务质量。



技术实现要素:

针对背景技术存在的技术问题,本发明提出了一种基于模板组件的开发云平台,通过在云端设置基于模版的前端框架代码和功能组件,在云端组织软件开发工程师,以云服务的形式为用户提供软件开发服务。

为达到上述目的,本发明提及的一种基于模板组件的开发云平台,其特殊之处在于,所述云平台包括若干个以云服务形式封装的功能模块,所述功能模块分别设置于基础服务层、平台服务层、应用服务层、模板库和组件库;

所述基础服务层:用于提供存储平台数据和文件、维护平台消息管理的基础功能服务;

所述平台服务层:用于分别对用户、任务、账户、模板、组件数据进行维护管理,提供通用功能服务;

所述应用服务层:用于提供基于业务的功能服务,根据客户发送的软件开发需求计算开发工作量及总体开发费用,将软件开发项目分配为若干个任务并发布任务;将所有任务分配至工程师用户,并设置任务期限;控制任务的进度;负责组件的维护管理;接收开发完成的代码,将代码向客户提供代码访问地址和代码下载地址;检查每项任务的完成时间是否符合任务期限要求,向工程师用户、客户结算费用;

所述模板库:用于存储模板框架代码和索引信息;

所述组件库:用于存储组件的代码、说明文档和索引信息。

进一步地,所述基础服务层包括数据库服务模块、文件存储服务模块、消息列队服务模块;所述数据库服务模块负责存储平台上的用户信息、任务信息数据,并对这些数据建立索引,提供数据查询和编辑操作;所述文件存储服务模块负责存储平台上的需求文档、结果代码文件,提供文件的上传、下载和检索功能;所述消息队列服务模块维护平台业务涉及的通知、消息的发送和接收。

更进一步地,所述平台服务层包括用户管理服务模块、任务管理服务模块、账户管理服务模块、模板管理服务模块和组件管理服务模块;所述用户管理服务模块分别维护平台上的客户、工程师和管理员角色的用户信息,并提供基于角色控制的权限管理;所述任务管理服务模块用于维护任务相关信息,包括需求信息、任务参与人员信息、过程状态信息;所述账户管理服务模块用于维护用户的财务账户,通过第三方支付接口提供账户支付及提现功能,并记录账户的交易日志;所述模板管理服务模块用于创建、发布和维护管理模板;所述组件管理服务模块用于创建、发布和维护管理组件。

更进一步地,所述应用服务层包括任务发布服务模块、需求分析服务模块、工程师匹配服务模块、任务管控服务模块、托管服务模块、代码修改服务模块、费用结算服务模块;所述任务发布服务模块用于客户发布软件开发需求并计算开发工作量及总体开发费用;所述需求分析服务模块用于对软件开发需求进行分析、将软件开发需求分解为以工作单元划分的若干个任务并发布任务,所述以工作单元划分的任务为一个软件工程师在单位时间内能够完成的软件开发工作量;所述工程师匹配服务模块基于平台的任务分配策略,从工程师数据库中查询匹配工程师,将任务分配给匹配的工程师;所述任务管控服务模块监控任务的进行状态;所述代码托管服务模块用于工程师提交开发完成的结果代码,并向客户提供代码访问和下载功能;所述代码修改服务模块用于客户提交代码修改意见,工程师反馈修改情况;所述费用结算服务模块用于根据任务完成情况向工程师、客户结算费用。

更进一步地,所述模板管理服务模块包括模板创建模块、模板发布模块、模板部署模块。

更进一步地,所述组件管理服务模块包括组件创建模块、组件发布模块、组件获取模块。

更进一步地,所述模板库包括框架代码存储模块和模板索引模块。

更进一步地,所述组件库包括组件代码存储模块和组件索引模块。

更进一步地,所述工程师匹配服务模块平台任务分配策略包括报名顺序排名、开发效率排名、当天可工作时长排名、工程师缴纳的质保金金额排名。

更进一步地,所述任务发布服务模块计算开发工作量及总体开发费用以开发页面或者软件功能或者软件模块或者设计稿为计量单位。

与现有技术相比,本发明基于模板组件的开发云平台,通过在云端设置基于模版的前端框架代码和功能组件,一方面减少了工程师的软件项目初始开发工作量,另一方面也引导工程师使用统一的编程风格进行开发,提高代码稳定性,同时也提高了代码质量。本发明在云端组织软件开发工程师,以云服务的形式为用户提供软件开发服务,用户不需要分配、管理具体的开发人员,而是通过云平台,在更大范围内共享软件开发工程师,更灵活的调度人力资源,从而有效减少用户的软件开发成本,提高软件开发人力资源的利用率。

附图说明

图1为本发明基于模板组件的开发云平台的结构框图。

图2为基于本发明基于模板组件的开发云平台实现软件开发系统的结构框图。

图3为基于本发明基于模板组件的开发云平台实现软件开发的流程图。

具体实施方式

下面结合附图及实施例对本发明作进一步的详细描述,但该实施例不应理解为对本发明的限制。

如图1所示,本发明提出一种基于模板组件的开发云平台,包括多个以云服务形式封装的功能模块,这些功能模块分别设置于基础服务层a、平台服务层b、应用服务层c、模板库d、组件库e中。

基础服务层a用于提供存储平台数据和文件、维护平台消息管理的基础功能服务。基础服务层a包括数据库服务模块311、文件存储服务模块312、消息列队服务模块313;数据库服务模块311负责存储平台上的用户信息、任务信息数据,并对这些数据建立索引,提供数据查询和编辑操作;文件存储服务模块312负责存储平台上的需求文档、结果代码文件,提供文件的上传、下载和检索功能;消息队列服务模块313维护平台业务涉及的通知、消息的发送和接收。

平台服务层b用于分别对用户、任务、模板、组件、账户数据进行维护管理,提供通用功能服务,包括用户管理服务模块321、任务管理服务模块322、账户管理服务模块323、模板管理服务模块324、组件管理服务模块325。用户管理服务模块321分别维护平台上的客户、工程师和管理员角色的用户信息,并提供基于角色控制的权限管理;任务管理服务模块322维护任务相关信息,包括需求信息、任务参与人员信息、过程状态信息;账户管理服务模块323维护用户的财务账户,通过第三方支付接口提供账户支付及提现功能,并记录账户的交易日志。

模板管理服务模块324用于创建、发布和维护管理模板。模板管理服务模块324包括模板创建模块324-1、模板发布模块324-2、模板部署模块324-3。

组件管理服务模块325用于创建、发布和维护管理组件。

应用服务层c用于提供基于业务的功能服务,根据客户发送的软件开发需求计算开发工作量及总体开发费用,将软件开发项目分配为若干个任务并发布任务;将所有任务分配至工程师用户,并设置任务期限,保证所有任务的完成期限为自分配任务时刻的24小时以内;控制任务的进度;接收开发完成的代码,将代码向客户提供代码访问地址和代码下载地址;检查每项任务的完成时间是否符合任务期限要求,向工程师用户、客户结算费用。

应用服务层c包括任务发布服务模块331、需求分析服务模块332、工程师匹配服务模块333、任务管控服务模块334、托管服务模块335、代码修改服务模块336、费用结算服务模块337;任务发布服务模块331用于客户发布软件开发需求并计算开发工作量及总体开发费用,计算开发工作量及总体开发费用可以以开发页面或者软件功能或者软件模块或者设计稿为计量单位;需求分析服务模块332用于对软件开发需求进行分析、将软件开发需求分解为以工作单元划分的若干个任务并发布任务,以工作单元划分的任务为一个软件工程师24小时能够完成的软件开发工作量;工程师匹配服务模块333基于平台的任务分配策略,从工程师数据库中查询匹配工程师,将任务分配给匹配的工程师,任务分配策略包括报名顺序排名、开发效率排名、当天可工作时长排名、工程师缴纳的质保金金额排名。任务管控服务模块334监控任务的进行状态,根据用户操作及平台的任务管控策略对任务状态进行更改,并执行预定的任务管控策略,控制任务的开始、进度更新和结束;代码托管服务模块335用于工程师提交开发完成的结果代码,并向客户提供代码访问和下载功能;代码修改服务模块336用于客户提交代码修改意见,工程师反馈修改情况;费用结算服务模块337用于根据任务完成情况向工程师、客户结算费用。

模板库d:用于存储模板框架代码和索引信息。模板库d包括框架代码存储模块d-1和模板索引模块d-2。

组件库e:用于存储组件的代码、说明文档和索引信息。组件库e包括组件代码存储模块e-1和组件索引模块e-2。

如图2所示,利用本发明提出的基于模板组件的开发云平台,以及多个客户终端1和多个用户终端2组成24小时内交付的软件开发系统。该系统中,客户终端1用于发布软件开发项目,发起任务,支付总体开发费用,获取开发结果并提交修改意见,验收软件开发代码。用户终端2用于获取任务信息、发送报名任务的指令、确认接收分配的任务,从云平台3下载软件开发要求,在任务期限内完成开发任务并向云平台3上传代码。

如图3所示,基于上述基于模板组件的开发云平台实现软件开发的方法,包括如下步骤:

1)创建模板、组件

用户通过用户终端2调用模板创建模块模板创建模块324-1创建新模板,设置模板属性,上传、复制或者创建框架代码目录及代码文件,并完成框架部分的的代码编辑。模板属性包括模板基本信息(名称、创建人、创建时间、修改时间等)和模版适用范围信息(包括技术框架、版本号、客户端类型、应用场景类型、性能要求等)。框架代码目录及文件按照空心平台开发规范组织,包括具体框架代码及引用的其他库。

用户选择发布已创建的模板时,模板发布模块324-2首先将模板内的框架代码压缩打包,然后将包文件发送至模板库d的框架代码存储模块d-1存储,返回该模板对应框架代码的访问地址;然后将模板属性连同框架代码访问地址发送到模板索引模块d-2,建立模板索引。模板索引示例如下

创建组件,编辑组件代码。用户通过用户终端2描述组件的基本属性,包括基于特定的技术框架,针对的具体应用场景,实现的功能、组件接口描述、代码逻辑、依赖软件库等信息。组件开发完成后,保存组件源代码文件,并将组件代码文件包括代码目录结构发送到组件库e对应的组件代码存储模块e-1,同时将组件信息添加至组件库e对应的数据库。

2)提交需求客户通过客户终端1向云平台3发布软件开发项目。

客户在客户终端1输入开发任务的基本需求信息,包括开发类型、设计稿、页面数量和技术标签,其中设计稿类型可选项为psd格式、sketch格式和jpeg/png格式;开发类型可选项为电脑端、手机端和电脑+手机端;技术标签可选项包括几种主流前端技术框架,如基础h5、vue、react.js、angular.js等。客户通过客户终端1选择页面类型并上传设计稿文件,云平台3的需求分析服务模块332接受设计稿文件后,根据文件名返回页面名称。客户仅需提供上述必要信息,其他详细需求信息都包含在设计稿里,客户不需要提供更多需求信息,尽量减少需求沟通工作量。

3)发布任务需求分析服务模块332根据软件开发项目计算开发工作量及总体开发费用,将总体开发费用发送至客户终端1,收到客户终端1返回的费用支付消息后,将软件开发项目分解为以工作单元划分的若干个任务并通过任务发布服务模块331发布任务,以工作单元划分的任务为一个软件工程师24小时能够完成的软件开发工作量。

计算开发工作量可以以开发页面、软件功能或者软件模块或者软件设计稿为计量单位,将总体开发工作量以任务期限、平均开发速率切分为若干个任务,每一个任务的任务期限为自分配任务时刻的单位时间,如24小时以内。

本实施例以页面类型为计量单位计算开发工作量。页面类型包括内容页、首页、长页面、弹窗和tab页。各类型页面工作量设定以内容页为标准取相对值,即内容页工作量为1标准页、首页和长页面工作量为2.75标准页、弹窗工作量为0.3标准页、tab页工作量为0.4标准页。其中弹窗和tab页为页面附属内容,无需上传单独设计稿。根据客户上传的设计稿和页面数量计算得到总体开发工作量后,将总体开发工作量除以软件开发工程师的平均开发速率,得到任务个数。例如,总体开发工作量为20个标准页,平均开发速率为5~7页面/天,该参数可以根据实际情况调整,则将该项目切分为4个任务,每个任务的任务期限设置为20小时或者24小时以内任意时限,以此保证总体开发工作量在24小时以内完成。云平台3端根据客户提交的需求中各类页面的数量,计算出总体开发费用,客户支付费用后,在服务端器发布任务信息。平台规定了每类页面的单价为200元/标准页,基于任务包括的页面类型、工作量标准及数量,最后计算任务整体费用。客户通过平台账户支付费用后,云平台3端开启任务流程,并向当前可接单工程师的用户终端2发送任务信息。云平台3端同时根据任务需求的技术框架,选择与技术要求匹配的代码模版,创建该任务的初始代码框架,然后根据任务需求中的页面信息,为每一个页面创建初始目录及初始代码文件。

3)部署模板模板管理服务模块324向模板索引模块d-2发送软件开发需求相关信息;模板索引模块d-2接收到需求信息后,对相关信息进行检索,查询出匹配的模板,将模板信息返回给模板管理服务模块324,供用户选择确认。模板检索费方式包括根据一个或多个具体属性参数进行精确查找、基于一个或多个关键字进行全文模糊查找、以及基于多维度综合匹配的优化查找等。模板部署模块324-3首先访问代码托管服务模块335,根据需求创建指定项目的代码存储空间和文件目录;然后,通过所选择的模板对应的框架代码存储地址,将指定代码包文件从框架代码存储模块324-1复制到指定项目的代码存储空间。复制完成后,判断文件类型,如果是压缩文件,在代码存储空间对该文件进行解压操作。

框架代码复制完成后,模板部署模块324-3访问代码托管服务模块335中的指定项目框架代码,根据软件开发项目需求信息,编辑代码中相关参数。可能编辑的参数包括:项目名称、目录结构、项目文件名、页面类型、页面布局、应用场景、数据结构、类名、接口名、接口封装方式、接口调用方式、引入库、编译选项、注释等。

在复制及配置过程中,如果发生任何错误,返回错误信息;如正常完成模版框架代码部署,返回部署成功信息,同时附带部署情况信息。返回的部署情况包括项目代码访问地址、所属模版基本信息、项目参数的初始配置等。

4)报名任务所有工程师用户通过用户终端2获取任务信息,并通过用户终端2向云平台3发送报名任务的指令。

工程师用户在用户终端2接收到新发布的任务信息后,愿意在指定期限内完成开发任务,则可向云平台3端发送报名该任务的指令。

5)分配任务工程师匹配服务模块333将所有任务分配至报名任务的工程师用户,并设置任务期限,保证所有任务的完成期限为自分配任务时刻的单位时间如24小时以内。

51)工程师匹配服务模块333接收各个用户终端2报名指令,根据工程师用户的技术标签筛选符合要求的工程师用户,并根据工程师用户的工作参数排序,形成备选工程师列表。工作参数可以设置为报名顺序、开发效率、当天可工作时长、工程师缴纳的质保金金额等选项。为保证任务整体按时在24小时内交付,云平台3会默认根据工程师的开发效率进行分配,确保每个工程师被分配到在任务期限内能完成的合适的工作量。

52)云平台3根据备选工程师列表顺序将所有任务分发至工程师用户,并设置24小时以内的任务期限,工程师用户通过用户终端2向云平台3发送确认接单指令,云平台3接收确认接单指令并启动计时。

53)若备选工程师列表中的人数大于0小于任务数,或指定时间内未收到全部的确认接单指令,则云平台3向客户终端1发送分配失败指令和请求延期指令,转步骤44),若备选工程师列表中的人数为0,则云平台3向客户终端1发送分配失败指令,项目结束;

54)客户通过客户终端1接收分配失败指令和请求延期指令,向云平台3发送同意延期指令或者项目结束指令,云平台3接收同意延期指令则根据备选工程师列表顺序将所有任务分发至工程师用户,并根据备选工程师人数重新设置任务期限。

6)开发任务工程师用户通过用户终端2确认接收分配的任务,从云平台3下载软件开发要求,在任务期限内完成开发任务并向云平台3上传代码。

工程师在用户终端2接收到分配的任务消息后,从云平台3端下载对应页面的设计稿文件,并同步任务的初始代码,基于设计稿,根据平台规定的开发规范进行开发。开发规范从代码风格、页面布局、以及前端各种元素、组件的实现进行了详细的规定,要求对设计稿中可识别的原则统一按照平台开发规范进行标准化开发。

若工程师用户在任务期限内主动放弃任务,则通过用户终端2向云平台3发送放弃任务指令,云平台3根据任务期限剩余时间和平均开发速率判断是否需要任务延期,是则向客户终端1发送请求延期指令,否则将该项任务重新分配;客户通过客户终端1接收请求延期指令,返回同意延期指令则云平台3将该项任务重新分配,将当前工程师脱离该任务,将该工程师未提交的页面重新分配给队列内其他工程师,向替补工程师的用户终端2发送任务分配信息;返回项目结束指令则云平台3向客户终端1发送费用退还指令。

7)匹配组件在创建好软件项目后,用户可以根据项目需要,通过用户终端2从组件库e获取合适的组件。基于项目的技术框架要求、应用场景、功能需求等信息,检索组件库e,查找匹配的组件,并获取组件对应的代码文件,然后将组件代码从组件代码存储模块e-1复制到项目代码文件目录。获取组件代码时,首先从组件索引模块e-2中读取查找到的组件信息中代码文件的存储地址,然后进入组件代码存储模块e-1,将获取的存储地址的组件代码文件复制传输到需求对应开发项目所在代码存储服务器的存储空间。

将组件代码加入项目后,用户通过用户终端2根据项目实际情况对组件进行配置。组件基本设置参数包括组件命名、作用范围、关联的数据对象等,另外还需配置组件的功能参数,如调用接口、输入参数、输出参数、公共变量、组件实例及组件实例的属性等。

用户基于设置好的组件或者生成的组件实例,根据项目实际需要编写逻辑代码。项目代码包含引用组件类、创建组件实例、调用组件接口函数、获取接口返回结果数据等。

项目开发完成后,进行包括组件在内的项目代码测试,测试通过的代码即可交付。如发现代码异常,可通过组件单元测试定位问题,即,组件单元测试异常,可判断组件内部设置或代码异常,否则,说明组件代码正常,可以从组件外部的项目代码中查找问题。

8)代码交付结算云平台3接收所有开发任务的代码,检查每项任务的完成时间是否符合任务期限要求,是则向客户终端1发送项目完成消息,云平台3根据任务进行费用结算,并向用户终端2发送结算消息;否则向用户终端2发送项目完成失败消息。

云平台3存储工程师用户发送的代码,将代码部署到测试环境并向客户终端1发送页面访问地址和代码下载地址。云平台3向客户终端1发送项目完成消息,云平台3根据任务进行费用结算,并向用户终端2发送结算消息。

云平台3向客户终端1发送项目完成消息后,项目进入质保期,在设置的质保期限内,客户通过客户终端1提交基于任务的修改意见,云平台3将修改意见发送至相应的用户终端2,工程师用户对任务进行修改,并通过用户终端2向云平台3提交修改后的代码,云平台3将修改后的代码部署到测试环境并向客户终端1发送页面访问地址和代码下载地址。

客户在客户终端1接收到页面完成信息后,访问云平台3端提供的页面访问地址,查看测试交付结果页面。如果发现有需要修改完善的问题,将修改意见发布到云平台3端。客户也可以通过云平台3端提供的代码下载地址,下载全部已完成页面代码。云平台3端接收到客户提交的修改意见时,向对应的用户终端2发送修改通知消息。工程师根据接收到的修改意见,对页面进行修改,然后向云平台3端提交修改后的页面代码。

质保期限结束后,云平台3根据任务进行费用结算,将任务结算金额支付至该任务对应的用户终端2指定的账户,并向用户终端2发送结算消息。

尽管上面结合附图对本发明的优选实施例进行了描述,但是本发明并不局限于上述的具体实方式,上述的具体实施方式仅仅是示意性的,并不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以作出很多形式的具体变换,这些均属于本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1