首页> 中国专利> 一种分布式的融合群智化、生态化和服务化的软件开发平台及其实现方法

一种分布式的融合群智化、生态化和服务化的软件开发平台及其实现方法

摘要

本发明公开了一种分布式的融合群智化、生态化和服务化的软件开发平台及其实现方法。所述软件开发平台包括业务服务层与数据服务层,所述业务服务层用于在线的服务组合系统开发模式;所述数据服务层用于为系统生态的各个部门提供所需的数据。本发明用以解决软件开发领域中开发效率低下的问题。

著录项

  • 公开/公告号CN113835682A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学;

    申请/专利号CN202110997312.4

  • 申请日2021-08-27

  • 分类号G06F8/20(20180101);G06F8/30(20180101);G06F8/38(20180101);

  • 代理机构23211 哈尔滨市阳光惠远知识产权代理有限公司;

  • 代理人刘景祥

  • 地址 150001 黑龙江省哈尔滨市南岗区西大直街92号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本发明属于软件开发领域;具体涉及一种分布式的融合群智化、生态化和服务化的软件开发平台及其实现方法。

背景技术

群体智能作为一类通用的问题求解方法,被广泛应用于解决软件开发过程中面临的各类复杂问题,目前,软件开发中采用的基于群体智能的方法主要包括众包和开源。众包是指一个公司或机构采取的行为,一旦由员工履行职能,并以公开电话的形式将其外包给一个未定义(通常是大型)的人际网络。换句话说,软件开发中的众包(Crowdsourcing)表示客户从自愿的在线社区寻求服务,而不是传统的员工或供应商。

开源软件已经成为一种重要的文化和经济现象,开源软件项目的数量也在迅速增长。许多由商业公司开发的软件系统也是在开源许可下发布的。开源社区作为源代码发布的网络平台,对开源软件的发展起着重要的推动作用。人类群体智能在现有的基于群体智能的软件工程中已经展现出了极强的求解问题的能力。

发明内容

本发明公开了一种分布式的融合群智化、生态化和服务化的软件开发平台及其实现方法,用以解决软件开发领域中开发效率低下的问题。

本发明通过以下技术方案实现:

一个分布式的融合群智化、生态化和服务化的软件开发平台,所述软件开发平台包括业务服务层与数据服务层,所述业务服务层用于在线的服务组合系统开发模式;

所述数据服务层用于为系统生态的各个部门提供所需的数据。

进一步的,所述业务服务层包括开源社区、云开发平台、余弦机器人COSINERobot、众包、团队管理、项目管理、进度管理和项目审查,所述众包、团队管理、项目管理、进度管理、项目审查与云开发平台组成,所述开源社区与平台业务流程模块之间双向传输信号,所述余弦机器人COSINE Robot与平台业务流程模块之间双向传输信号。

进一步的,所述数据服务层包括服务库、知识库与数据存储模块,所述数据存储模块向服务库和知识库传输数据,所述服务库和知识库向开源社区、平台业务流程模块和余弦机器人COSINE Robot传输数据。

进一步的,所述业务服务层包括开源社区、云开发平台、余弦机器人COSINERobot、众包;

所述众包是系统面向用户使用时候的主要入口;

所述开源社区负责引入开源社区中丰富的项目资源保障系统的活跃度;

所述云开发平台是系统实现在线群智化软件编码和开发的核心模块;

所述余弦机器人COSINE Robot从机器智能的角度为项目众包和云软件开发提供强力的辅助支撑;

进一步的,所述数据服务层包括服务库、知识库与数据存储模块;

所述服务库为软件开发过程中所需要的服务组件和服务组合系统提供存储能力;

所述知识库为群智化软件开发提供知识积累的能力;

所述将数据存储独立部署为一个服务,为上层的各个业务模块提供统一的数据操作方式。

一个分布式的融合群智化、生态化和服务化的软件开发平台的实现方法,所述实现方法包括客户端实现,所述客户端实现是由Vue所驱动的一个单页应用,即一套受欢迎的用于构建用户界面的渐进式JavaScript框架;Vue专注于视图层的工作;组件化是系统在开发客户端的过程中主要采取的方法,页面中常用的部分都被模块化为通用的组件;ElementUI作为一套采用Vue 2.0作为基础框架实现的UI组件库,被用于作为基础样式构建所需的组件;Vuex被用于对应用状态进行管理,解决跨组件通信问题并作为前端的数据存储中心;客户端中包含登陆注册,项目发布方,项目经理,评审专家和项目开发者的主页,控制台以及一系列子功能用户界面;前端通过HTTP请求与后端服务层中部署在不同tomcat上的的服务进行交互,获取服务层从数据增中得到的服务和知识数据。

进一步的,所述实现方法还包括服务层实现,所述服务层实现是基于dubbo所构建起的服务集群;Dubbo的使用允许将各个服务划分为消费者和提供者进行统一管理;提供者服务提供了通用数据访问能力,消费者通过RPC调用由提供者提供的远程接口;作为消费者的各个服务提供一套统一的RESTfulAPI,前端页面通过HTTP请求调用后端运行在不同服务器的上的服务;服务层中的消费者主要包含众包,团队管理,项目管理,过程管理,项目评审,云开发作为主要服务,提供者中的服务提供对于开源社区资源,COSINE Robot智能算法,服务和知识的统一引入能力。

进一步的,所述实现方法还包括数据层实现,所述数据层实现主要包含两个仓库,服务库和知识库;服务仓库基于gitlab实现,用于对云开发平台产生的众多服务组件和组合服务系统以及开源社区引入的项目进行存储和管理;知识仓库基于MySQL和MongoDB实现,用于存储群智化软件开发全过程中产生的数据和知识,记录知识的演化过程;

系统分别在客户端和服务端实现基于角色的内容展示和权限管理;在客户端,系统基于用户角色,对各个功能进行了切分;系统目前总共包含了项目发布者,开发者,项目经理和评审专家;用户通过redis完成身份验证获取访问权限。

本发明的有益效果是:

本发明能优化软件工程复杂问题求解过程。

本发明结合机器智能,有效提高软件开发效率。

本发明有效改善开源生态。

本发明融合知识服务库,避免重复造轮子,增强创新能力。

附图说明

附图1是本发明的平台结构示意图。

附图2是本发明的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

COSINEHUB基于web应用程序的实现。web应用是一个分布式多层系统,从整体上可分为客户端和服务端。对于服务端,由于采用SOA框架,所以进一步又可大致划分为消费者和提供者两类服务。MongoDB和Mysql用于存储系统的知识数据,GITLAB用于存储系统的服务数据。

一个分布式的融合群智化、生态化和服务化的软件开发平台,所述软件开发平台包括业务服务层与数据服务层,所述业务服务层用于在线的服务组合系统开发模式;

所述数据服务层用于为系统生态的各个部门提供所需的数据。

进一步的,所述业务服务层包括开源社区、云开发平台、余弦机器人COSINERobot、众包、团队管理、项目管理、进度管理和项目审查,所述众包、团队管理、项目管理、进度管理、项目审查与云开发平台组成,所述开源社区与平台业务流程模块之间双向传输信号,所述余弦机器人COSINE Robot与平台业务流程模块之间双向传输信号。

进一步的,所述数据服务层包括服务库、知识库与数据存储模块,所述数据存储模块向服务库和知识库传输数据,所述服务库和知识库向开源社区、平台业务流程模块和余弦机器人COSINE Robot传输数据。

进一步的,所述业务服务层包括开源社区、云开发平台、余弦机器人COSINERobot、众包;

所述众包是系统面向用户使用时候的主要入口;

所述开源社区负责引入开源社区中丰富的项目资源保障系统的活跃度;

所述云开发平台是系统实现在线群智化软件编码和开发的核心模块;

所述余弦机器人COSINE Robot从机器智能的角度为项目众包和云软件开发提供强力的辅助支撑;

进一步的,所述数据服务层包括服务库、知识库与数据存储模块;

所述服务库为软件开发过程中所需要的服务组件和服务组合系统提供存储能力;

所述知识库为群智化软件开发提供知识积累的能力;

所述将数据存储独立部署为一个服务,为上层的各个业务模块提供统一的数据操作方式。

一个分布式的融合群智化、生态化和服务化的软件开发平台的实现方法,所述实现方法包括客户端实现,所述客户端实现是由Vue所驱动的一个单页应用,即一套受欢迎的用于构建用户界面的渐进式JavaScript框架;Vue专注于视图层的工作,所以可以方便地与服务层中的各个服务对接整合;组件化是系统在开发客户端的过程中主要采取的方法,页面中常用的部分都被模块化为通用的组件;Element UI作为一套采用Vue 2.0作为基础框架实现的UI组件库,被用于作为基础样式构建所需的组件;Vuex被用于对应用状态进行管理,解决跨组件通信问题并作为前端的数据存储中心;客户端中包含登陆注册,项目发布方,项目经理,评审专家和项目开发者的主页,控制台以及一系列子功能用户界面;前端通过HTTP请求与后端服务层中部署在不同tomcat上的的服务进行交互,获取服务层从数据增中得到的服务和知识数据。

进一步的,所述实现方法还包括服务层实现,所述服务层实现是基于dubbo所构建起的服务集群;Dubbo是一款高性能的Java RPC架构,配合zookeeper作为注册中心使用,可以实现面向接口代理的RPC调用,服务注册和发现,负载均衡,容错,扩展等功能;Dubbo的使用允许将各个服务划分为消费者和提供者进行统一管理;提供者服务提供了通用数据访问能力,消费者通过RPC调用由提供者提供的远程接口;作为消费者的各个服务提供一套统一的RESTfulAPI,前端页面通过HTTP请求调用后端运行在不同服务器的上的服务;服务层中的消费者主要包含众包,团队管理,项目管理,过程管理,项目评审,云开发作为主要服务,提供者中的服务提供对于开源社区资源,COSINE Robot智能算法,服务和知识的统一引入能力。

进一步的,所述实现方法还包括数据层实现,所述数据层实现主要包含两个仓库,服务库和知识库;服务仓库基于gitlab实现,用于对云开发平台产生的众多服务组件和组合服务系统以及开源社区引入的项目进行存储和管理;知识仓库基于MySQL和MongoDB实现,用于存储群智化软件开发全过程中产生的数据和知识,记录知识的演化过程;

为了优化用户体验和方便系统数据管理,系统分别在客户端和服务端实现基于角色的内容展示和权限管理;在客户端,系统基于用户角色,对各个功能进行了切分;系统目前总共包含了项目发布者,开发者,项目经理和评审专家;用户通过redis完成身份验证获取访问权限。

各个角色参与的方式如下:

-项目发布者主要使用众包模块中的发布需求和内测招募功能,作为众包项目的发起者和验收者。

-开发者主要使用过程管理和云开发模块,作为完成众包项目的主要参与者。

-项目经理主要使用团队管理和项目管理模块,作为项目完成团队的管理者。

-评审专家主要使用项目评审模块,作为外部专家受邀作为项目的评审者。

在服务端,后台管理系统作为一个独立的服务,通过基于角色的权限管理实现了对于COSINEUHB的数据管理。其中包含超级管理员和管理员两个角色,权限具体如下:

-管理员可以查看平台的实时统计数。可以通过客户管理,运营管理,服务共享管理,系统组织管理,用户角色管理,权限资源管理和日志记录这些功能对COSINEHUB系统生态进行治理。

-超级管理员由系统默认设置。在管理员的权限基础之上,可以对管理员账号进行增删和权限管理。

平台的使用是基于众包形式的。首先由项目发布者发布一个项目,项目经理组织项目开发者建立团队后参与项目竞标,项目发布者根据团队表现选择团队,中标团队之后进入到项目的研发环节。项目经理安排任务给各个开发者,开发者完成任务后点击结束,开发者可以借助云开发平台进行项目的开发工作。项目结束时由项目经理进行在平台上点击交付,项目发布者可以借助第三方评审进行项目评审,评审完结之后可以完成项目交付。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号