一种软件开发项目管理系统的制作方法

文档序号:12034337阅读:356来源:国知局
一种软件开发项目管理系统的制作方法与工艺

本发明涉及软件开发技术领域,尤其涉及一种软件开发项目管理系统。



背景技术:

一般软件开发的团队中通常会包括好几个开发人员,这些团队成员开发的代码通常都使用svn服务器进行管理。所谓svn,是subversion的简称,指代一种代码的分支管理系统,在svn服务器中,代码较为规范的保存方式往往是采用主干和分支的形式保存。开发人员需要去浏览svn服务器上各项目的分支,将各个项目的分支内容依次检出到本地再进行操作。这种操作需要开发人员找到目前版本的主干,并从目前版本的主干代码上切一个分支代码进行开发。如果项目采用的是maven管理方式,一个系统就有可能有几十个mavent管理节点。如果依次的代码修改涉及到多个管理节点,那么这种管理形式对于开发人员来说需要多次无意义的重复操作,耗费了大量的操作时间。并且,对于多人协同开发的项目开发团队而言,上述重复操作的次数会成倍增加。

除此之外,软件开发的项目需要和测试环境相对应,每个测试环境关联的数据库环境会因项目的功能不停的迭代,每个项目所依赖的数据库执行脚本也会不一样。目前传统的做法是手工建立sql脚本并且在数据中执行,执行结果可能只是随便记录一下,并没有预设一些规范来遵循,或者直接采用第三方工具集成到项目中,直接把脚本放置到第三方工具中进行配置。

并且,当项目开发完成,相关测试也已经完成后,意味着产品即将上线,此时采用maven方式管理的项目节点的分支版本号、分支数据以及数据库执行脚本等基本都定型了,不会再更改。项目上线一般会根据原先的功能和需求类型针对性地更改项目中pom文件的版本号,根据版本号的更改再去关联的项目中编辑相应的pom文件,上述过程均是手工完成的。在更改过程中,父项目的节点需要和子项目的工程相互对应,不然项目编译打包时就会出错。又或者在手工更改时漏改了某个工程的版本号,也会导致编译打包出错,从而导致线上生产环境出现问题。

最后,在项目上线之后,对于项目的各种杂乱的记录(例如sql脚本记录、项目功能的需求记录、开发工程师撰写的模块记录等)通常被以word或者excel形式的文档分散记录并保存,想查看这些记录比较麻烦,因而无法顺畅地查看之前项目开发的细节问题。



技术实现要素:

根据现有技术中存在的问题,现提供一种软件开发项目管理系统,能够提升减少项目开发过程中的重复性操作,节约项目成员的操作时间和后续的维护管理成本,提高项目开发人员的工作效率,一定程度上提升项目开发质量。

上述技术方案具体包括:

一种软件开发项目管理系统,其中,包括多个客户端、分别与每个所述客户端连接的多个项目服务端,以及分别与每个所述客户端连接的多个数据库服务端;

于每个所述项目服务端内按照主干代码和分支代码之间的相互依赖关系对软件开发项目相关的项目数据进行保存,所述项目数据分别对应到不同的软件开发项目中;

于每个所述数据库服务端内保存软件开发相关的应用数据,所述应用数据分别对应到不同的所述软件开发项目中;

每个所述客户端分别包括一代码辅助管理组件,所述代码辅助管理组件中具体包括:

分支管理单元,于所述客户端中创建至少一个所述软件开发项目时,从所述项目服务端中批量下载被创建的所述软件开发项目所对应的所述主干代码和/或所述分支代码的所述项目数据,以对被创建的至少一个所述软件开发项目进行批量下载;

项目保存单元,连接所述分支管理单元,用于保存被批量下载的不同的所述软件开发项目相关的所述项目数据;

版本号编辑单元,连接所述项目保存单元,用于对被批量下载的所述软件开发项目的版本号进行编辑;

依赖检查单元,连接所述版本号编辑单元,用于对经过编辑的所述软件开发项目的所述版本号进行父子依赖关系的检查,并输出相应的检查结果;

所述版本号编辑单元还用于根据所述检查结果,在所述父子依赖关系未通过检查时重新对所述版本号进行编辑。

优选的,该软件开发项目管理系统,其中,所述分支管理单元具体包括:

路径筛选模块,用于在所述项目服务端中保存的所有所述项目数据的存储路径中筛选得到被创建的至少一个所述软件开发项目相关联的所述项目数据的所述存储路径;

路径划分模块,连接所述路径筛选模块,用于在筛选出的所述存储路径划分出关联于所述主干代码的所述存储路径以及关联于所述分支代码的所述存储路径,并以一预设格式形成一路径记录文本;

分支检出模块,连接所述路径划分模块,用于解析所述路径记录文本得到所述存储路径,并根据所述存储路径下载所述项目数据,以对被创建的至少一个所述软件开发项目进行批量下载。

优选的,该软件开发项目管理系统,其中,所述代码辅助管理组件中还包括:

提示单元,连接所述依赖检查单元,用于根据所述检查结果:

在所述父子依赖关系未通过检查时向开发人员提示用于表示检查失败的告警信息;以及

在所述父子依赖关系通过检查时向开发人员提示用于表示检查通过的通知信息。

优选的,该软件开发项目管理系统,其中,每个所述客户端中还分别包括一连接所述代码辅助管理组件的项目资源管理组件,所述项目资源管理组件具体包括:

项目资源展示单元,用于在项目展示页面上向开发人员展示被创建的至少一个所述软件开发项目的相关属性;

项目资源管理单元,连接所述项目资源展示单元,提供给开发人员在所述项目展示页面上对所述软件开发项目的相关属性进行编辑的功能。

优选的,该软件开发项目管理系统,其中,每个所述客户端中还包括一系统配置组件,所述系统配置组件具体包括:

第一配置单元,用于配置所述项目服务端的认证信息;

第二配置单元,用于配置所述数据库服务端的认证信息;

第三配置单元,用于配置所述软件开发项目相关的所述项目数据和所述应用数据的存储路径信息。

优选的,该软件开发项目管理系统,其中,每个所述客户端中还包括一数据库版本管理组件,所述数据库版本管理组件具体包括:

脚本记录单元,用于记录所述数据库服务端中应用数据的数据库执行脚本的相关属性;

脚本语法检查单元,连接所述脚本记录单元,用于对所述数据库服务端中的所述数据库执行脚本的语法正确性进行检查;

脚本执行单元,连接所述脚本语法检查单元,用于执行通过检查的所述数据库执行脚本;

数据库环境记录单元,用于记录多个不同的数据库运行环境;

脚本同步单元,分别连接所述脚本执行单元和所述数据库环境记录单元,用于提供给所述脚本执行单元在不同的所述数据库运行环境中分别执行通过检查的所述数据库执行脚本,以保证所述数据库执行脚本在不同的所述数据库运行环境中保持同步;

所述脚本同步单元还针对一个所述数据库执行脚本生成一对应的数据库全量脚本。

优选的,该软件开发项目管理系统,其中,每个所述客户端中还分别包括一连接所述数据库版本管理组件的数据库资源管理组件,所述数据库资源管理组件具体包括:

数据库资源展示单元,用于在数据库展示页面上向开发人员展示被创建的至少一个所述软件开发项目相关联的所述数据库执行脚本的相关属性;

数据库资源管理单元,连接所述数据库资源展示单元,提供给开发人员在所述数据库展示页面上对所述数据库执行脚本的相关属性进行编辑的功能。

优选的,该软件开发项目管理系统,其中,所述项目服务端为svn服务器。

优选的,该软件开发项目管理系统,其中,所述数据库服务端为sql服务器。

优选的,该软件开发项目管理系统,其中,所述客户端被内嵌至计算机的软件开发环境中。

优选的,该软件开发项目管理系统,其中,所述项目服务端中保存的所述项目数据采用maven项目管理方式进行管理。

上述技术方案的有益效果是:提供一种软件开发项目管理系统,能够提升减少项目开发过程中的重复性操作,节约项目成员的操作时间和后续的维护管理成本,提高项目开发人员的工作效率,一定程度上提升项目开发质量。

附图说明

图1是本发明的较佳的实施例中,一种软件开发项目管理系统的总体结构示意图;

图2是本发明的较佳的实施例中,于图1的基础上,客户端中的代码辅助管理组件的结构示意图;

图3是本发明的较佳的实施例中,于图2的基础上,代码辅助管理组件中的分支管理单元的结构示意图;

图4是本发明的较佳的实施例中,于图1的基础上,客户端中的项目资源管理组件的结构示意图;

图5是本发明的较佳的实施例中,于图1的基础上,客户端中的系统配置组件的结构示意图;

图6是本发明的较佳的实施例中,于图1的基础上,数据库版本管理组件的结构示意图;

图7是本发明的较佳的实施例中,于图1的基础上,数据库资源管理组件的结构示意图;

图8是本发明的较佳的实施例中,客户端内嵌至计算机的开发环境中的示意图;

图9是本发明的较佳的实施例中,于图1的基础上,软件开发项目管理系统的拓扑结构示意图;

具体实施方式

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

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

基于现有技术中存在的上述问题,现提供一种软件开发项目管理系统,该系统具体如图1所示,包括多个客户端a、分别与每个客户端a连接的多个项目服务端b,以及分别与每个客户端a连接的多个数据库服务端c。

为了便于理解,图1中仅示出一个客户端a、一个项目服务端b以及一个数据库服务端c,其余的客户端a、项目服务端b以及数据库服务端c的结构与本文中所述的相同,不再赘述。

于每个项目服务端b内按照主干代码和分支代码之间的相互依赖关系对软件开发项目相关的项目数据进行保存,项目数据分别对应到不同的软件开发项目中;

于每个数据库服务端c内保存软件开发相关的应用数据,应用数据分别对应到不同的软件开发项目中。

则每个客户端a分别包括一代码辅助管理组件a1,该代码辅助管理组件a1中具体如图2所示,包括:

分支管理单元a11,于客户端a中创建至少一个软件开发项目时,从项目服务端中批量下载被创建的软件开发项目所对应的主干代码和/或分支代码的项目数据,以对被创建的至少一个软件开发项目进行批量下载;

项目保存单元a12,连接分支管理单元a11,用于保存被批量下载的不同的软件开发项目相关的项目数据;

版本号编辑单元a13,连接项目保存单元a12,用于对被批量下载的软件开发项目的版本号进行编辑;

依赖检查单元a14,连接版本号编辑单元a13,用于对经过编辑的软件开发项目的版本号进行父子依赖关系的检查,并输出相应的检查结果;

上述版本号编辑单元a13还用于根据检查结果,在父子依赖关系未通过检查时重新对版本号进行编辑。

具体地,本实施例中,客户端a面对开发人员,一个客户端a即对应于一个开发人员。

设置多个项目服务端b,每个项目服务端b分别连接每个客户端a,每个项目服务端b中按照主干代码和分支代码之间的相互依赖关系对软件开发项目相关的项目数据进行保存,项目数据分别对应到不同的软件开发项目中。上述代码数据中可以包括软件开发项目的具体代码,项目的分支描述文件,项目的需求定稿文件以及其他与项目相关的文件等。

设置多个数据库服务端c,每个数据库服务端c分别连接每个客户端a,每个数据库服务端c中保存软件开发相关的应用数据,应用数据分别对应到不同的软件开发项目中。

换言之,上述设置中,将软件开发项目相关的代码数据按照主干和分支的管理方式存放在项目服务端b中,并且将软件开发项目相关的应用数据(或者称为软件的基础数据)存放在数据库服务端c中。

本实施例中,于上述每个客户端a中设置一代码辅助管理组件a1,该代码辅助管理组件a1主要用于将项目服务端b中的代码数据下载到客户端a中,并且在客户端a中对这些代码数据进行编辑和处理。

具体地,本实施例中,上述代码辅助管理组件a1中设置的分支管理单元a11,在开发人员创建至少一个软件开发项目后(或者选中至少一个软件开发项目后),根据该软件开发项目从项目服务端b中下载得到相对应的代码数据,从而完成对软件开发项目的批量下载。这里所谓的批量下载,是指下载不止一个软件开发项目相关的代码数据,例如对于一个软件开发项目而言,需要同时下载该软件开发项目的父项目和子项目,乃至下载该软件开发项目相关的其他所有项目的代码数据,以呈现给开发人员一个完整立体的项目开发体系。

本实施例中,上述代码辅助管理组件a1中设置的项目保存单元a12用于保存上述批量下载的软件开发项目相关的代码数据,这些代码数据的保存同样依照主干和分支的管理方式进行,即与上述项目服务端b的管理方式相同,以便于开发人员取用和编辑。

本实施例中,上述代码辅助管理组件a1中的版本号编辑单元a13可以提供给开发人员对批量下载的软件开发项目的版本号进行编辑,并将经过版本号编辑的软件开发项目送入依赖检测单元a14中。上述版本号编辑单元a13提供的编辑操作可以包括:软件开发项目的版本号加1/减1,版本号的自动快照操作,软件开发项目的父项目的版本号加1/减1,以及修改任何项目的版本号为一指定的版本号等。

本实施例中,上述依赖检查单元a14对经过版本号编辑的软件开发项目进行父子依赖关系的检查,即判断父项目的版本号和子项目的版本号之间的依赖关系是否正确,并输出相应的检查结果。

若检查结果表示父子依赖关系正确,则表示此次版本号编辑被接受;

若检查结果表示父子依赖关系不正确,则将各项目退回到版本号编辑单元a13中重新进行编辑,并在编辑之后重新检查依赖关系,以此类推。

综上,本发明技术方案中,上述代码辅助管理组件a1的管理流程大体上包括:

首先根据被创建或者被选择的至少一个软件开发项目从项目服务端中批量下载相对应的代码数据并保存。然后可以对不同的软件开发项目所对应的代码数据进行再编写和再开发,编写之后可以针对不同的软件开发项目更改其版本号,但是更改之后必须经过版本号的父子依赖关系检查,若未通过检查再退回供开发人员重新更改版本号,若通过检查,则结束代码版本更迭的过程。

本发明的较佳的实施例中,如图3中所示,上述分支管理单元a11具体包括:

路径筛选模块a111,用于在项目服务端中保存的所有项目数据的存储路径中筛选得到被创建的至少一个软件开发项目相关联的项目数据的存储路径;

路径划分模块a112,连接路径筛选模块a111,用于在筛选出的存储路径划分出关联于主干代码的存储路径以及关联于分支代码的存储路径,并以一预设格式形成一路径记录文本;

分支检出模块a113,连接路径划分模块a112,用于解析路径记录文本得到存储路径,并根据存储路径下载项目数据,以对被创建的至少一个软件开发项目进行批量下载。

具体地,本实施例中,上述路径筛选模块a111首先根据项目服务端的配置信息中的根路径,列出软件开发项目相关的所有主干代码及其版本号,并且根据主干代码切割好序号检出的项目的所有分支代码,以及获取上述主干代码和分支代码的服务端存储路径。

上述路径划分模块a112在接收到路径筛选模块a111筛选出的存储路径后,采用一预定形式将主干代码的存储路径和分支代码的存储路径相互隔开,并且记载在一个具有上述预定形式的路径记录文本中。具体地,上述预定形式可以为采用特定的分隔符将主干代码和分支代码的存储路径相互隔开。上述特定的分隔符可以为例如空格或者字符“/”等。

上述分支检出模块a113最终解析上述路径记录文本并得到各主干代码和各分支代码的代码数据的存储路径,并且从存储路径中批量下载代码数据,组成不同的软件开发项目。

本发明的较佳的实施例中,仍然如图2中所示,上述代码辅助管理组件a1中还包括:

提示单元a15,连接依赖检查单元a14,用于根据检查结果:

在父子依赖关系未通过检查时向开发人员提示用于表示检查失败的告警信息;以及

在父子依赖关系通过检查时向开发人员提示用于表示检查通过的通知信息。

具体地,本实施例中,上述提示单元a15在父子依赖关系未通过检查时的告警信息可以通过在显示页面上以醒目的颜色标记出相应的软件开发项目的版本号的形式呈现给开发人员查看。

本发明的较佳的实施例中,仍然如图1所示,每个客户端a中还分别包括一连接代码辅助管理组件a1的项目资源管理组件a2,该项目资源管理组件a2具体如图4中所示,包括:

项目资源展示单元a21,用于在项目展示页面上向开发人员展示被创建的至少一个软件开发项目的相关属性;

项目资源管理单元a22,连接项目资源展示单元,提供给开发人员在项目展示页面上对软件开发项目的相关属性进行编辑的功能。

具体地,本实施例中,上述项目资源管理组件a2的主要作用在于展示开发过的项目的信息,并且提供给开发人员对这些信息进行操作的功能。

本实施例中,上述软件开发项目的相关属性可以包括项目的序号,项目名称,项目版本号,项目的说明,项目资源路径等等。

本实施例中,对上述信息进行编辑的功能可以包括:对相关属性进行删除和查看等功能。

本发明的较佳的实施例中,仍然如图1中所示,每个客户端a中还包括一系统配置组件a3,该系统配置组件a3具体如图5中所示,包括:

第一配置单元a31,用于配置项目服务端的认证信息;

第二配置单元a32,用于配置数据库服务端的认证信息;

第三配置单元a33,用于配置软件开发项目相关的项目数据和应用数据的存储路径信息。

具体地,本实施例中,上述系统配置组件主要用于配置项目服务端认证、数据服务端认证、项目资源路径等,为其他子系统能够正常工作做好准备。

本发明的较佳的实施例中,仍然如图1中所示,每个客户端a中还包括一数据库版本管理组件a4,该数据库版本管理组件a4具体如图6中所示,包括:

脚本记录单元a41,用于记录数据库服务端中应用数据的数据库执行脚本的相关属性;

脚本语法检查单元a42,连接脚本记录单元a41,用于对数据库服务端中的数据库执行脚本的语法正确性进行检查;

脚本执行单元a43,连接脚本语法检查单元a42,用于执行通过检查的数据库执行脚本;

数据库环境记录单元a44,用于记录多个不同的数据库运行环境;

脚本同步单元a45,分别连接脚本执行单元a43和数据库环境记录单元a44,用于提供给脚本执行单元a43在不同的数据库运行环境中分别执行通过检查的数据库执行脚本;

脚本同步单元a45根据脚本执行单元a43在不同的数据库运行环境中的执行结果,针对一个数据库执行脚本生成一对应的数据库全量脚本。

具体地,本实施例中,数据库中保存的应用数据被以数据库执行脚本的方式提取和执行。则在上述数据库版本管理组件a4中设置一脚本记录单元a41用于记录上述数据库执行脚本的相关属性。具体地,上述相关属性可以包括脚本对应的软件开发项目的项目编号,脚本的类型以及脚本体等。

本实施例中,随后采用一脚本语法检查单元a42对数据库执行脚本的语法正确性进行检查,主要负责检查数据库的sql执行脚本中是否存在语法错误。在数据库执行脚本通过检查后,采用一脚本执行单元a43对其进行执行操作。

本实施例中,在一数据库环境记录单元a44记录多个不同的数据库运行环境,例如sql数据库运行环境以及oracle数据库运行环境等。

则本实施例中,当脚本记录单元a41添加脚本时,都需要选择正在开发的数据库环境,并且创建一个脚本版本,确定该版本属于哪一个软件开发项目。在添加脚本时,脚本语法检查单元a42会对该脚本进行检查,通过检查后再由脚本执行单元a43执行,并被保存在脚本资源文件中。

当项目上线后,还需要采用一个脚本同步单元a45对脚本执行同步处理。具体地,当项目上线后,脚本同步单元a45需要将该数据库执行脚本在其他不同的数据库运行环境中分别执行一次(从数据库环境记录单元a44中获取不同的数据库运行环境),以保证与其他环境数据库同步,同时会生成一个数据库全量脚本,以便于后续可以还原到特定的版本中。

本发明的较佳的实施例中,仍然如图1中所示,每个客户端a中还分别包括一连接数据库版本管理组件a4的数据库资源管理组件a5,数据库资源管理组件a5具体如图7中所示,包括:

数据库资源展示单元a51,用于在数据库展示页面上向开发人员展示被创建的至少一个软件开发项目相关联的数据库执行脚本的相关属性;

数据库资源管理单元a52,连接数据库资源展示单元a51,提供给开发人员在数据库展示页面上对数据库执行脚本的相关属性进行编辑的功能。

具体地,本实施例中,上述数据库展示页面可以与上述项目展示页面形成于同一个页面上,也可以分开显示在两个不同的页面上。

本实施例中,上述数据库组件管理组件a5可以提供给开发人员选择想要查看的软件开发项目对应的数据库执行脚本,并通过该数据库执行脚本的存储路径将这些数据库执行脚本检出并下载到本地供开发人员浏览。

本实施例中,上述数据库资源展示单元a51可以在数据库展示页面上向开发人员展示数据库执行脚本的相关属性,包括上文中所述的项目编号、脚本类型以及脚本体等,其中可以包括该数据库执行脚本的增量脚本和全量脚本的脚本体,还可以包括项目需求文件、项目静态资源文件以及相关的文件(这些文件被保存在项目服务端b中)。

本实施例中,上述数据库资源管理单元a52中提供的对数据库执行脚本的相关属性进行编辑的功能主要包括常用的编辑功能,例如删除功能等,在此不再赘述。

本发明的较佳的实施例中,项目服务端为svn服务器。

本发明的较佳的实施例中,数据库服务端为sql服务器。

本发明的较佳的实施例中,客户端a被内嵌至计算机d的软件开发环境中。

具体地,本实施例中,上述客户端a内嵌在开发人员的开发环境中,例如以eclipse插件的形式内嵌,这样就不需要在计算机上再单独安装一套软件程序,避免了开发人员来回切换窗口的重复性操作,也让开发人员更直观地使用客户端a中的功能。上述内嵌客户端a的结构如图8中所示。

相应地,客户端a内嵌在计算机d中,则整个软件开发项目管理系统的拓扑架构如图9所示。

本发明的较佳的实施例中,上述项目服务端b中保存的项目数据采用maven项目管理方式进行管理。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

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