一种基于页面计量和单位时间分配的任务开发云平台的制作方法

文档序号:16694787发布日期:2019-01-22 19:25阅读:163来源:国知局
一种基于页面计量和单位时间分配的任务开发云平台的制作方法

本发明涉及计算机应用技术领域,一种基于页面计量和单位时间分配的任务开发云平台。



背景技术:

软件开发工作主要是根据软件需求及设计文档进行开发,交付完成的代码等结果文件。软件开发云平台通过在云端组织软件开发工程师,以云服务的形式为工程师提供软件开发服务,而工程师不用关心具体的开发人员。通过云平台,可以在更大范围内共享软件开发工程师,更灵活的调度人力资源,从而有效减少工程师的软件开发成本,提高软件开发人力资源的利用率。然而,随着在云平台上的软件开发任务和软件开发工程师的数量规模的增大,对任务分配和工程师协同的要求也越来越大,为了快速完成开发任务并在24小时内交付软件,需要解决的问题有:如何合理的分解任务,使任务能分给多位工程师同时进行开发,缩短总体交付时间;如何合理的分配任务,使任务尽可能分配给较熟练或擅长对应技术的工程师;如何提高工程师的协同开发效率,保证交付质量,同时保证按时交付。

软件前端开发系统聚集了大量工程师,可以为客户提供软件前端开发服务。传统的前端开发系统主要包括三个重要阶段,首先是客户发布任务,由客户提供软件用户界面设计稿及交互说明文档,招募前端开发工程师,与工程师沟通明确需求细节后,支付相应费用;然后进入开发阶段,前端开发工程师根据设计稿及需求文档进行开发,开发过程中提交代码,开发完成后将代码整合,交付给客户;客户收到交付代码后,进行最后的测试,前端开发工程师配合进行修改完善,再由客户进行验收,支付剩余开发费用。目前,影响系统前端开发任务工作效率的瓶颈主要在于需求沟通和协同开发这两个环节,其中涉及大量的工程师与客户之间、工程师与工程师之间的沟通工作。一方面人为沟通容易遗漏或者误解需求细节,另一方面反复沟通确认耗时较长。



技术实现要素:

为了克服上述背景技术的缺陷,本发明提供一种一种基于页面计量和单位时间分配的任务开发云平台,在云平台结合了标准化计量方式和对单位时间分派任务并行开发的方法,提高任务开发效率,保证在指定时间内高效完成客户发送过来的任务。

为了解决上述技术问题本发明的所采用的技术方案为:

一种基于页面计量和单位时间分配的任务开发云平台,包括:

基础服务层,用于提供存储平台数据和文件、维护平台消息管理的基础功能服务;平台服务层,用于分别对用户端、任务、账户数据进行维护管理,提供通用功能服务;

应用服务层,将客户端发来的工作任务进行标准化页面计量,将整个工作任务按照标准页面的工作量划分之后,将一个工作任务所对应的数个标准页面对应到一个页面列表;将一个或数个页面列表中的数个标准页面按照单位时间切分为数个任务包,再遍历云平台存储的与各个工程师或工程师团队所对应的用户端的用户端列表,对各个任务包进行逐个分配,并将各个用户端返回的任务包结果分别按照页面列表整合为与工作任务所对应的工作结果,并发送至客户端。

较佳地,应用服务层包括页面计量模块、分配模块、整合模块、发送模块和接收模块,

页面计量模块,将接收到的工作任务按照标准化分割方法分割为数个标准化页面,并将数个标准化页面对应到一个页面列表;

分配模块,将一个或数个页面列表中的数个标准化页面按照单位时间切分为数个任务包,分配至多个用户端的工程师同步进行开发;

整合模块,用于接收各个用户端发回的任务包结果,并将各个任务包结果中的页面工作结果整合到所对应的页面列表,将一个所示页面列表所对应的页面工作结果整合作为一个任务的结果;

接收模块,接受客户端发过来的工作任务,接收用户端完成的任务包结果;

发送模块,用于发送标准页面至用户端,发送一个任务所对应工作结果至客户端;

较佳地,页面计量模块包括:

量化单元,将接收到的工作任务按照标准化页面计量方法分割为数个标准页面;页面列表,将与各个指定时长任务包对应的数个标准页面归至同一任务页面列表,设置当前页面为任务页面列表头部的页面。

较佳地,量化单元进行标准化页面计量的方法包括:根据页面类型获取页面工作量数据,内容页工作量对应1个标准页面、首页和长页面工作量对应a*1个标准页面、弹窗工作量对应b*1个标准页面、tab页工作量对应c*1个标准页面;其中,a的取值范围为2.75±1,b的取值范围为0.3±1,c的取值范围为0.4±1。

较佳地,分配模块包括:

分割单元,评估开发工作的出开发任务的总体工作量w,依据总体工作量w和单位时间t确定开发任务需要分割的任务包数量n,将开发工作分割为n个单位时间t内可完成的任务包;其中,n为大于等于1的正整数,单位时间t大于等于最小分割单元工作时间;

派发单元,将n个任务包分配给e位工程师,每位工程师分配的任务包数量n(i),n(i)满足条件或将n个任务包分配给n个工程师,即e=n,n(i)=1。

较佳地,派发单元将n个任务包同步分配至数个客户端进行并行开发的方法包括:按照用户端列表的顺序,依次对各个任务包进行中的各个标准页面做如下操作:

步骤1,比较当前用户端所对应工程师可分配工作量和当前任务页面列表中剩余的页面工作量,判断当前页面工作量是否小于当前用户端可分配工作量,若是,则进入步骤2,若否,则进入步骤4;

步骤2,将当前页面分配给当前用户端,并从当前用户端可分配工作量中扣除当前页面工作量,进入步骤3;

步骤3,判断当前标准页面是否为任务页面列表中的最后一个标准页面,若是,则执行步骤6,若否,则执行步骤5;

步骤4,设置用户端列表下一个用户端为当前用户端,回到步骤1;

步骤5,设置页面列表下一个页面为当前页面,回到步骤1;

步骤6,返回分配结果并结束。

较佳地,分配模块还包括重分配单元,重分配模块包括包括检查组件和切换组件;检查组件,在检查节点检查是否接收到第i个任务包对应的第i个中间结果,若是,则存储第i个中间结果,若否,则进一步判断剩余时间是否大于等于可完成剩余任务时长,若是,则由切换组件重新分配第i个任务包,若否,则返回任务失败消息;检查节点为任务开始后的t*n(i)时间到期时,剩余任务时长为任务开始后至t*n(i)时间到期时的时长。

较佳地,基础服务层包括:

数据库服务单元,用于存储数据信息和索引信息,数据信息包括用户端列表和任务信息,索引信息用于数据信息查询和编辑;用户端列表中存储有与各个工程师一一对应的用户端和用户端信息,用户端信息包括各个用户端所对应工程师的历史工作效率数据、可分配工作量数据;

文件存储服务单元,用于文件存储,和各文件的上传、下载和检索,文件包括需求文档和结果代码能;

消息队列服务单元,用于维护平台业务的通知、消息的发送和接收。

较佳地,用户端列表中的各个用户端的列表顺序排列方法为:

依据各个用户端所对应的工程师的历史工作效率数据排序;

或依据各个用户端所对应的工程师的发出报名信号的顺序进行排序。

较佳地,平台服务层包括:

用户端管理服务单元,用于分别维护云平台上的客户、工程师和管理员的角色信息,并提供基于角色控制的权限管理。

任务管理服务单元,用于维护任务信息,任务信息包括需求信息、任务参与人员信息、过程状态信息。

本发明的有益效果在于:本发明通过云平台的应用服务层将客户端发来的工作任务进行标准化页面计量,将整个工作任务按照标准页面的工作量划分之后,进一步通过单位时间任务分配的方法采用多个工程师同步对部分任务包进行同步开发的工作,并且加入了重分配机制,也即当某一工程师未在预设时间内完成相应工作时,在设定期间将其工作任务派发至其他用户端的工程师进行。派发时遍历云平台的平台服务层中存储的与各个工程师或工程师团队所对应的用户端的用户端列表,对各个任务包的任务进行逐个的分配。本发明在云平台应用服务层的页面计量模块设立了专门的量化单元,分配单元中设立了专门的分割单元、派发单元和重分配单元,通过标准化的页面计量、依据用户端信息,进一步采用单位时间分配的并行开发开放,保证客户端发来的工作任务能够在指定时长内高效完成并交付。通过云平台的标准化流程和开发规范提高信息沟通和协同工作效率,从而实现指定时长内快速交付任务。利用云平台的标准化业务流程和并行开发方法,避免了对大量常规需求的反复确认,减少了客户与工程师的沟通工作量,提高开发效率。

附图说明

图1为本发明实施例云平台,及云平台与客户端和用户端之间的交互结构示意图;

图2为本发明实施例基础服务层的结构示意图;

图3为本发明实施例平台服务层的结构示意图;

图4为本发明实施例应用服务层的结构示意图;

图5为本发明实施例页面计量模块的结构示意图;

图6为本发明实施例分配模块的结构示意图一;

图7为本发明实施例分配模块的结构示意图二。

具体实施方式

下面结合附图和实施例对本发明做进一步的说明。

本发明的软件开发云平台用户主要包括客户、工程师和管理员这三种角色,客户通过客户端向云平台发布软件开发需求,从云平台接收开发完成的结果代码;工程师通过用户端在云平台接受软件开发任务,向云平台提交完成的结果代码;管理员维护云平台的功能及数据,发布云平台相关信息,对软件开发任务进行管控。

运营的流程主要包括:工程师通过用户端在云平台注册账号,登记个人技术特长等信息;客户通过客户端在云平台发布软件开发需求并托管开发任务费用;云平台分析开发需求,对客户端任务进行分解为数个标准化页面,并设置与各个工作任务所对应的页面列表;然后进一步降与各个任务所对应的页面列表中的数个标准页面按照单位时间工作量进行划分,将划分的各个任务包或其中的各个标准页面分派至不同用户端所对应的工程师进行并行的同步开发;当在预设的时间节点检查未收到返回的中间结果时,则表明该用户端的工程师有可能未完成工作包或其中标准页面的工作任务,则由云平台将该任务发送到从用户端列表中找到的下一位工程师进行。云平台根据分解的子任务的相关信息,在用户端列表中查找匹配的工程师,将各个标准化页面子任务分配给对应的工程师;工程师从用户端接收云平台分配的子任务,进行开发;工程师开发完成后,将完成的结果提交至云平台;云平台监控各子任务的完成状态,对超时未完成的子任务进行重新分配;当全部子任务完成时,云平台按照页面列表整合任务结果代码,向客户端发送通任务完成信息;客户收到云平台的任务完成通知,获取交付的任务代码,进行验收测试;客户测试发现问题时,在云平台提交任务的修改意见,云平台将修改意见发送给对应工程师;工程师修改完成后,在云平台更新修改状态;客户验收通过,在云平台结束任务,云平台与工程师结算费用。

本实施例的一种基于页面计量的任务开发云平台,包括:

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

数据库服务单元,用于存储数据信息和索引信息,数据信息包括用户端列表和任务信息,索引信息用于数据信息查询和编辑;

用户端列表中存储有与各个工程师一一对应的用户端和用户端信息,用户端信息包括各个用户端所对应工程师的历史工作效率数据、可分配工作量数据。

用户端列表中的各个用户端的列表顺序排列方法为:依据各个用户端所对应的工程师的历史工作效率数据排序;或依据各个用户端所对应的工程师的发出报名信号的顺序进行排序。

文件存储服务单元,用于文件存储,和各文件的上传、下载和检索,文件包括需求文档和结果代码能;

消息队列服务单元,用于维护平台业务的通知、消息的发送和接收。

平台服务层,用于分别对用户端、任务、账户数据进行维护管理,提供通用功能服务,平台服务层包括:

用户端管理服务单元,用于分别维护云平台上的客户、工程师和管理员的角色信息,并提供基于角色控制的权限管理;

任务管理服务单元,用于维护任务信息,任务信息包括需求信息、任务参与人员信息、过程状态信息;

账户管理服务单元,主要维护工程师的财务账户,通过第三方支付接口提供账户支付及提现等功能,并记录账户的交易日志。

应用服务层,将客户端发来的工作任务进行标准化页面计量,将整个工作任务按照标准页面的工作量划分之后,将一个工作任务所对应的数个标准页面对应到一个页面列表;将一个或数个页面列表中的数个标准页面按照单位时间切分为数个任务包,再遍历云平台存储的与各个工程师或工程师团队所对应的用户端的用户端列表,对各个任务包进行逐个分配,并将各个用户端返回的任务包结果分别按照页面列表整合为与工作任务所对应的工作结果,并发送至客户端。

为了实现上述功能应用服务层设置了如下的功能模块:

页面计量模块,将接收到的工作任务按照标准化分割方法分割为数个标准化页面,并将数个标准化页面对应到一个页面列表;

页面计量模块包括量化单元和页面列表:

量化单元,将接收到的工作任务按照标准化页面计量方法分割为数个标准页面;量化单元进行标准化页面计量的方法包括:根据页面类型获取页面工作量数据,内容页工作量对应1个标准页面、首页和长页面工作量对应a*1个标准页面、弹窗工作量对应b*1个标准页面、tab页工作量对应c*1个标准页面;其中,a的取值范围为2.75±1,b的取值范围为0.3±1,c的取值范围为0.4±1。

页面列表,将与各个指定时长任务包对应的数个标准页面归至同一任务页面列表,设置当前页面为任务页面列表头部的页面。

分配模块,将一个或数个页面列表中的数个标准化页面按照单位时间切分为数个任务包,分配至多个用户端的工程师同步进行开发;

分配模块包括分割单元和派发单元:

分割单元,评估开发工作的出开发任务的总体工作量w,依据总体工作量w和单位时间t确定开发任务需要分割的任务包数量n,将开发工作分割为n个单位时间t内可完成的任务包;其中,n为大于等于1的正整数,单位时间t大于等于最小分割单元工作时间;

派发单元,将n个任务包分配给e位工程师,每位工程师分配的任务包数量n(i),n(i)满足条件或将n个任务包分配给n个工程师,即e=n,n(i)=1。派发单元将n个任务包同步分配至数个客户端进行并行开发的方法包括:按照用户端列表的顺序,依次对各个任务包进行中的各个标准页面做如下操作:

步骤1,比较当前用户端所对应工程师可分配工作量和当前任务页面列表中剩余的页面工作量,判断当前页面工作量是否小于当前用户端可分配工作量,若是,则进入步骤2,若否,则进入步骤4;

步骤2,将当前页面分配给当前用户端,并从当前用户端可分配工作量中扣除当前页面工作量,进入步骤3;

步骤3,判断当前标准页面是否为任务页面列表中的最后一个标准页面,若是,则执行步骤6,若否,则执行步骤5;

步骤4,设置用户端列表下一个用户端为当前用户端,回到步骤1;

步骤5,设置页面列表下一个页面为当前页面,回到步骤1;

步骤6,返回分配结果并结束。

整合模块,用于接收各个用户端发回的任务包结果,并将各个任务包结果中的页面工作结果整合到所对应的页面列表;

接收模块,接受客户端发过来的工作任务,接收用户端完成的任务包结果,将一个所示页面列表所对应的页面工作结果整合作为一个任务的结果;

发送模块,用于发送标准页面至用户端,发送一个任务所对应工作结果至客户端。

作为本实施例的一种优选方式,在云平台中应用服务层的分配模块中增设了重分配单元,重分配模块包括包括检查组件和切换组件;检查组件,在检查节点检查是否接收到第i个任务包对应的第i个中间结果,若是,则存储第i个中间结果,若否,则进一步判断剩余时间是否大于等于可完成剩余任务时长,若是,则由切换组件重新分配第i个任务包,若否,则返回任务失败消息;检查节点为任务开始后的t*n(i)时间到期时,剩余任务时长为任务开始后至t*n(i)时间到期时的时长。

本实施例所述的云平台的工作流程主要包括:

步骤1,客户通过客户端将需求的工作任务发送至云平台;

客户在客户终端输入开发任务的基本需求信息,包括设计稿类型、开发内容和技术要求,其中设计稿类型可选项为psd格式、sketch格式和jpeg/png格式;开发内容可选项为电脑端、手机端和电脑+手机端;技术要求可选项包括几种主流前端技术框架,如基础h5、vue、react.js、angular.js等。客户通过客户端选择页面类型并上传设计稿文件,云平台接受设计稿文件后,根据文件名返回页面名称。页面类型根据开发工作量分为内容页、首页、长页面、弹窗和tab页。

步骤2,云平台应用服务层的页面计量模块将接收到的工作任务按照标准化页面计量方法分割为数个标准页面;页面计量模块包括量化单元和页面列表;量化单元将接收到的工作任务按照标准化页面计量方法分割为数个标准页面;页面列表将与各个指定时长任务包对应的数个标准页面归至同一任务页面列表,设置当前页面为任务页面列表头部的页面。

标准化页面计量方法包括:根据页面类型获取页面工作量数据,

内容页工作量对应1个标准页面、首页和长页面工作量对应a*1个标准页面、弹窗工作量对应b*1个标准页面、tab页工作量对应c*1个标准页面;其中,a的取值范围为2.75±1,b的取值范围为0.3±1,c的取值范围为0.4±1。本实施中,内容页工作量为1标准页、首页和长页面工作量为2.75标准页、弹窗工作量为0.3标准页、tab页工作量为0.4标准页。

云平台的平台服务层根据客户提交的需求中各类页面的数量,计算出总体开发费用,客户支付费用后,在云平台发布任务信息。系统设定每类页面的单价为200元/标准页,基于任务包括的页面类型、工作量标准及数量,最后计算任务整体费用。客户通过系统账户支付费用后,云平台开启任务流程,并向当前可接单工程师的用户终端发送任务信息。云平台同时根据任务需求的技术框架,选择与技术要求匹配的代码模版,创建该任务的初始代码框架,然后根据任务需求中的页面信息,为每一个页面创建初始目录及初始代码文件。

步骤3,分配模块的评估开发工作的出开发任务的总体工作量w,依据总体工作量w和单位时间t确定开发任务需要分割的任务包数量n,将开发工作分割为n个单位时间t内可完成的任务包;其中,n为大于等于1的正整数,单位时间t大于等于最小分割单元工作时间;

步骤4,将与工作任务对应的数个标准页面归至同一任务页面列表,设置当前页面为任务页面列表头部的页面。

步骤5,分配模块的派发单元将n个任务包分配给e位工程师,每位工程师分配的任务包数量n(i),n(i)满足条件或将n个任务包分配给n个工程师,即e=n,n(i)=1。也即按照用户端列表的顺序,依次对各个任务页面列表中的标准页面进行进行匹配。

结合任务页面列表和与各个工程师信息一一对应的用户端列表,依次分配一个任务包的标准页面;将于用户端对应的工程师剩余工作量相适应的标准页面工作量分配至各个用户端。云平台根据页面数量和报名队列分配页面开发任务,并向用户终端发送对应工程师分配到的页面信息。为保证任务整体按时在指定时长内交付,应用服务层的分配单元会根据工程师的开发效率进行分配,确保每个工程师被分配到在任务期限内能完成的合适的工作量。

如图2所示,具体包括对各个任务页面列表中的标准页面做如下操作:

步骤51,获取当前用户端所对应工程师可分配工作量和当前任务页面列表中剩余的页面工作量,判断当前页面工作量是否小于当前用户端可分配工作量,若是,则进入步骤52,若否,则进入步骤54;

步骤52,将当前页面分配给当前用户端,并从当前用户端可分配工作量中扣除当前页面工作量,进入步骤53;

步骤53,判断当前标准页面是否为任务页面列表中的最后一个标准页面,若是,则执行步骤56,若否,则执行步骤55;

步骤54,设置用户端列表下一个用户端为当前用户端,回到步骤1;

步骤55,设置页面列表下一个页面为当前页面,回到步骤51;

步骤56,返回分配结果并结束。

用户端列表中存储有与各个工程师一一对应的用户端和用户端信息。

用户端信息包括各个用户端所对应工程师的历史工作效率数据、可分配工作量数据。

用户端列表中的各个用户端的列表顺序排列方法为:

依据各个用户端所对应的工程师的历史工作效率数据排序;

或依据各个用户端所对应的工程师的发出报名信号的顺序进行排序。

步骤6,各个用户端完成标准页面的工作任务之后,发送至云平台;

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

云平台在任务期限时间进行判断,如有工程师未按期交付代码,则进行延期处理,将当前工程师脱离该任务,将该工程师未提交的页面重新分配给队列内其他工程师,向替补工程师的用户终端发送任务分配信息。

步骤7,应用服务层的整合模块接收各个用户端发回的任务包结果,并将各个任务包结果中的页面工作结果整合到所对应的页面列表,将一个所示页面列表所对应的页面工作结果整合作为一个任务的结果;

步骤8,将2个任务包结果整合之后发送至客户端。

客户在客户终端接收到页面完成信息后,访问云平台提供的页面访问地址,查看测试交付结果页面。如果发现有需要修改完善的问题,将修改意见发布到云平台。客户也可以通过云平台提供的代码下载地址,下载全部已完成页面代码。

云平台接收到客户提交的修改意见时,向对应的用户终端发送修改通知消息。工程师根据接收到的修改意见,对页面进行修改,然后向云平台提交修改后的页面代码。

质保期结束时,如任务所有修改意见已修改完成,云平台将根据参与任务的各个工程师分配的页面进行费用结算,将结算金额支付给工程师,并向用户终端发送结算消息。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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