基于禅道的研发资源Web报表系统的设计与开发

2024-06-03 02:34:40张丽丽邬锡江刘洪
现代信息科技 2024年6期

张丽丽 邬锡江 刘洪

收稿日期:2023-07-28

DOI:10.19850/j.cnki.2096-4706.2024.06.008

摘  要:禅道是研发管理中应用非常广泛的项目管理软件,它涵盖从项目立项、需求、任务单,到资源投入等研发全要素管理。可视化管理是研发资源管理的重要应用,将采集到的研发要素数据,按项目阶段,实时提供任务绩效、员工绩效等数据的可视化,将会提升项目过程管理效率。为了不改变禅道本身逻辑和不增加报表系统运维负担,通过分析设计,在禅道数据库上,以定义存储过程的形式,进一步加工禅道项目管理系统的基础数据。再以接口的方式实现跨系统调用,向管理者展现可视化报表。经自主开发实现,该Web报表系统的多维度灵活组合功能,确实有效提升了研发资源的可视化监测效率。

关键词:禅道;可视化管理;Web报表系统;自主开发

中图分类号:TP311    文献标识码:A  文章编号:2096-4706(2024)06-0035-05

Design and Development of a Web Reporting System for Research and

Development Resource Based on ZenTao

ZHANG Lili, WU Xijiang, LIU Hong

(Whayer Intelligent Technology (Group) Co., Ltd., Chengdu  610041, China)

Abstract: ZenTao is a very widely used project management software in research and development management, which covers research and development total factor management from project establishment, demand, task list, to resource input. The visual management is an important application of research and development resource management. The collected research and development element data will provide real-time visualization of task performance, employee performance, and other data according to project stages, which will improve the efficiency of project process management. In order to not change the logic of ZenTao itself and not increase the burden of report system operation and maintenance, through analysis and design, the basic data of ZenTao project management system is further processed in the form of defined stored procedures on the ZenTao database. By implementing cross system calls through interfaces, visual reports are presented to managers. After independent development and implementation, the multi-dimensional and flexible combination function of this Web report system has effectively improved the visual monitoring efficiency of research and development resources.

Keywords: ZenTao; visual management; Web reporting system; independent development

0   引  言

項目管理作为现代管理科学的重要分支之一,研发项目管理,是项目管理特定领域的分支,从软件工程开始,总在努力对研发工作项目管理的分析和探讨。如研究需求生命周期管理,从需求变更,到如期交付及合理运用有限的研发资源,来提升企业竞争力[1]。如基于IPD集成研发体系下绩效研究[2]等。同时,随着理论研究的不断完善和成熟,软件市场上纷纷出现了专门的研发项目管理工具,如曼索的数字化集成研发平台、禅道等。

禅道项目管理软件(ZenTao Project Management System, ZenTaoPMS)[3]第一款国产的开源研发类项目管理软件,2014年就出现了与其相关的文献研究成果。禅道集产品管理、项目管理、测试管理于一体。为了平衡项目临时性特征和组织稳定性,一个研发资源身兼多个项目的开发任务是非常常见配置原则,通过禅道项目管理软件的实施,能很好地量化工作量,为研发绩效提供客观的数据依据,鉴于该软件基于开源的ZPL协议,使用PHP+MySQL开发,成了很多中小型企业项目管理的首选。

禅道项目管理流程核心流程[4],先创建项目,形成需求列表,之后对需求进行分解,创建模块,创建项目/阶段/模块的任务单,任务单记录了任务类型,预计工时,工期,指派人员等信息;之后,任务执行人员汇报任务日志。过程中,若发生拆分任务,父项任务单若产生消耗,为保证数据一致性,系统会创建一条同名子任务记录该消耗;拆分子项后,父项任务单只有拆分子项的功能,其预计工时、消耗、剩余均按子项合计;若指派人员发生了变化,管理上要求创建新的任务,且原任务单按实际消耗调整。

报表是可视化管理的手段之一[5],经过调研研发业务管理需求,了解到一组实时掌握研发资源投入状态的报表,可有效帮助研发组织的管理者协调资源。比如,面对变更类需求,这种临时性,但又紧急的研发资源投入,如果能及时掌握所有成员,在近一周每天的负载情况,将能非常高效的筛选出合适符合的资源去响应紧急变更类需求。比如,面对新项目时,通过查询处于测试阶段的所有项目,了解它们占用资源的复核状态后,及时圈定可释放的资源来顺滑地转移到新项目的启动。比如,在资源发生抢夺时,期望通过查询该资源在不同项目上的分布情况,通过项目优先级考虑,释放此资源在低优先级项目上的投入,转而投入到高优先级项目。这样的报表数据,将最大化的利用研发资源,而不影响项目进度,通过灵敏的资源协调,来有效缓解研发资源短缺的冲突。

禅道项目管理软件提供的标准度量统计,如组织类统计报表、项目类统计报表,在组织类统计报表,可以查询员工负载,若要统计近几天每天的员工负载,就需要查询多次,反反复复非常浪费时间。统计组织里某个关键资源,只能统计总量,要观察其在不同项目的投入情况,也是无法可视化的。项目类统计报表统计的是项目状态(进行中、挂起)等,如要统计测试阶段的,是无法统计的。度量统计的“鸡肋”问题变相地阻碍着禅道项目管理软件推广和应用。

为了解决度量统计的“鸡肋”问题,考虑到禅道软件应用的广泛性,为了不影响禅道本身逻辑,让报表分析系统作为禅道系统的补充,而使用外挂系统[6]的方式。同时,为了不增加对外挂系统的运维工作量,如权限维护等,在用户验证和权限控制上,完全与禅道项目管理系统共用。

通过分析设计,在禅道数据库上,以定义存储过程的形式,进一步加工禅道项目管理系统的基础数据,多项目多阶段多模块等多维度灵活组合,按天、按周和按月不同的粒度分布的视图或存储过程数据块。再以,接口的方式实现跨系统调用,向管理者展现可视化报表。

在验证查询结果的过程中發现,禅道项目管理的数据校验[7]非常弱,比如截止日期早于开始日期的错误,系统未基于逻辑校验和提示。基础数据的逻辑错误势必影响报表数据分析。因此,在研发资源Web报表系统,针对发现基础数据逻辑异常设计了若干识别规则,在查询反馈的同时,将识别的异常清单一并反馈给报表管理者,让管理者晓得统计结果的同时知晓数据是否存在质量问题,从而反向督促禅道使用人员录单的正确性。

最终经过自主开发[8],其成果的试运行验证,该Web报表系统的多维度灵活组合、一次到位、支持导出等,大大提升了公司研发资源监测效率和准确度。

1  设计模型

研发资源Web报表系统采用的是MVC [9]架构设计,通过封装接口调用禅道项目管理业务数据,实现报表用户与研发资源的交互查询,系统架构如图1所示。

图1  Web报表系统架构

1.1  安全设计

1)登录验证:嫁接禅道PMS的账号和密码。

2)访问权限:嫁接禅道的权限管理,实现对Web报表系统的授权访问。

研发资源Web报表的账号密码和权限,统一由禅道PMS管理员进行维护,不会增加额外的运维风险和负担。

3)采用CORS控制,CORS是一个W3C标准,全称是“跨域资源共享”(Cross-Origin Resource Sharing)。它允许浏览器向跨域的服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。

1.2  流程设计

1)报表用户登录研发资源Web系统,验证账号密码和权限。

2)报表用户进入“研发资源监测”功能页面,输入项目、成员、模块、显示内容、统计周期、粒度、汇总级别,点击查询,展示查询结果。

3)报表用户进入“工作量统计-项目版”功能页面,输入项目、阶段、模块、成员、统计周期、汇总级别,点击查询,展示查询结果。

4)报表用户进入“工作量统计-员工版”功能页面,输入成员、项目、阶段、模块、统计周期、汇总级别,点击查询,展示查询结果。

5)每次查询,提示报表查询人员存在异常逻辑的任务单及清单。

6)导出当前查询方案和查询结果,直接形成分析报表,方便汇报工作。

2  开发实现

2.1  接口开发

API接口[10]是通过封装技术,实现对禅道PMS数据的调用。通过深入解析研发资源统计需求,梳理并设定研发资源Web报表系统用到的数据内容。通过解读禅道PMS数据库结构,采用数据库跟踪技术,并结合前后端互验等,锁定统计数据内容对应的PMS数据表。

2.1.1  基础接口

基础接口,是指查询参数调用的接口,传递参数为P1,P2,P3。分别定义了查询项目名称、项目成员、模块、成员等数据从PMS的读取,基础API清单如表1所示。

2.1.2  单据接口

单据接口,是指查询接口调用的接口。研发资源投入监测API,输入查询参数值,输出查询结构,传递参数为Project, Member, Module, Satge等,研发资源投入监测API清单如表2所示。

工作量统计API,输入查询参数值,输出查询结构,传递参数为P1,P2,P3等,工作量API清单如表3所示。

表3  工作量(项目版和员工版)API清单

a01 P1 P2 … P7

类型 粒度 … 模块

1 MemberProjectModuleWorkload Days … ,-1,

2 MemberProjectWorkload Weeks … 〝  〞

3 MemberWorkload Months … 〝  〞

4 MemberProjectModuleCoefficient 〝  〞 … 〝  〞

5 MemberProjectCoefficient 〝  〞 … 〝  〞

6 MemberCoefficient 〝  〞 … 〝  〞

2.1.3  其他接口

其他API,属于系统验证类。输入参数,输出验证结构等,如表4所示。

表4  其他API清单

接口名称 P1 P2 备注

API/GetEffectiveDays 2021-01-01 2021/12/31 获取有效

工作天数

API/SignIn 成功为1失败为0 〝  〞 登录接口

API/logout 〝  〞 〝  〞 退出接口

2.2  前端开发

采用的VUE-element框架,前端UI界面示例如图2所示。

前端开发,采用左侧导航,右侧查询的布局。在上端设计过滤方案,下放呈现查询结果,为了更好地分析数据,设计了隐藏过滤方案的功能,可最大化查询结果的现实尺寸。

在查询结果,左侧三列做了固定处理,表头做了固定处理,这样不论是上下滚动条,还是左右滚动条,左侧和表头内容都能锁定不动,模拟Excel的效果。

2.3  后端开发

采用的CI框架,PHP开发,开发界面如图3所示。

项目编译打包后的文件->部署配置,如图4所示,其中在dist\js\路径下找到以app.开头的js文件记事本打开查找admin:"userName"替换为以下代码:admin:window.zentaoLoginUserName。

图4  部署配置

3  结  论

研发资源Web报表系统,经研发团队试运行,取得很好的反馈,在研发资源统计上极大的支撑了管理的需要,不论是HR,还是研发领导,都能很好的满足他们的数据需求。

目前,研发资源Web报表系统是能更好满足领导或组织层面的使用。实际工作中,尤其是针对员工个人层面的数据查询,比如仅且只能查询自己的项目数据。优化建议,增加数据范围的权限设置。

是否要优化数据范围的权限设置,要结合研发项目团队的实际工作氛围,像禅道PMS是没有数据范围权限设置的,完全是基于信任模式进行管理。

本次研究以外挂系统的方式,主要是因为根据管理要求,整个系统工作均是VPN内网使用。如果在互联网环境中使用Web报表系统,如何保障外挂软件的安全性,避免信息安全事件的发生,是需要深入设计和考虑的。

参考文献:

[1] 徐神玲.C公司研发项目管理优化研究 [D].上海:华东师范大学,2022.

[2] 刘宇,吴一坤,房馨.在基于IPD集成产品研发流程的绩效研究 [J].价值工程,2023,42(15):8-11.

[3] 孫黎黎.基于敏捷开发方法的软件项目过程管理研究与实践 [D].北京:北京邮电大学,2018.

[4] 高湘飞,赵星汉,高枫,等.军用软件测试项目管理系统设计与实现 [J].软件导刊,2016,15(6):100-103.

[5] 杨玉龙.企业数据统计报表系统的设计与实现 [D].北京:北京交通大学,2016.

[6] 封正,张昊,蒋少良,等.公安交管外挂软件安全性检验技术研究及思考 [J].中国标准化,2022(1):210-215.

[7] 姜瑞.基于微服务和规则引擎的数据校验系统设计与实现 [D].武汉:华中科技大学,2021.

[8] 殷海鹏.Z公司软件项目管理优化研究 [D].上海:华东师范大学,2022.

[9] 李小燕.基于MVC框架的医院成本核算系统设计 [J].微型电脑应用,2021,37(10):141-145.

[10] 张许.前后端分离框架之API接口开发与分析——红色书籍抽奖系统 [J].网络安全技术与应用,2021(12):48-49.

作者简介:张丽丽(1988—),女,汉族,山东菏泽人,需求工程师和项目经理,硕士,研究方向:企业信息化;邬锡江(1985—),男,汉族,四川成都人,PHP开发工程师,本科,研究方向:程序开发;刘洪(1996—),男,汉族,四川成都人,Web前端开发工程师,本科,研究方向:UI开发。