天龙报表项目开发流程整理

2023-10-29 14:30

本文主要是介绍天龙报表项目开发流程整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来长沙安能这边带领小组参与天龙报表开发已有一个多月的时间,目前已经完全第一轮报表的开发,第二轮报表也按计划正常进行中,从整体上来看,项目进展情况不错。现将这一个月来小组开发的整体流程进行一个整理,供后面有类似开发场景的参考,也希望大家对不足的地方给出更好建议,一起成长。
         一、前期准备工作:
         由于我们团队参与进天龙报表开发是中途介入的,没有太多时间缓冲,参与进去后就直接下发报表任务,需要收集信息并完成下面工作:
         1、搭建天龙项目开发环境:包括项目SVN地址下载、maven库下载更新、项目SVN相关账号权限的申请等等,直至天龙报表项目启动不报错,运行成功,访问页面无误结束;
         2、天龙项目数据库访问:了解开发测试环境配置,使用PL/SQL能连接到开发数据库。
         3、报表需求文档SVN下载:下载报表任务对应的报表需求,并制定需求细化文档模板(要求每位开发人员在开发报表之前必须先搞懂并细化需求,形成文档);
         4、数据库设计说明文档下载:由于安能快递的表结构与之前接触的项目表结构有蛮多变化,需要参照数据库设计说明文档。
         5、每日工作日志模板下载:下载工作日志模板,每日提交工作完成情况。开发过程中前期有发现写工作内容就是笼统的一句话,要求必须细化成多项工作任务;
     6、收集安能_通讯录:方便开发过程中与相关干系人沟通和协调资源;  
         7、制定开发计划:大致将报表任务过了一遍后,小组一起讨论了并制定了开发计划,确定了每个报表的责任人、每项计划的具体完成时间点。

       二、报表开发工作启动:
       整体开发流程大致分为:需求理解细化 》创建结果集表 》创建存储过程  》前后台代码编写  》单元测试  》提请功能转测
       1、需求细化:干过开发的人应该都清楚,在真正下手之前,理解透需求的重要性。前期需求在理解模糊的情况下就急于下手,往往后期大量返工,无数次血的教训都告诉我们一个简单的道理,磨刀不误砍柴工。因此为了避免开发人员在理解需求文档时走过场,一知半解,制定了细化需求文档模板,要求在文档中根据需求明确写明该报表需求使用到哪些表,哪些是主表,表与表之间的关联字段是什么,报表列表中的各字段来源于哪个表,哪个字段都要求明确写明,对需求中不明确的地方逐一找需求人员确认,并在旁边做好批注。
      2、创建结果集表:结果集表的创建要综合考虑目标展示报表与现有数据库中业务表的关系,它是一个基于这两者中间位置上的一个表。既要满足用很简单的SQL查询语句就能将结果集表的里面数据展示到前台并符合报表的要求,还要满足从现有业务表中数据转换成结果集表的数据所写的存储过程不会太过复杂。一个良好的结果集表的创建正是权衡这二者关系平衡的产物。

      3、创建存储过程:首先制定了存储过程模板,对存储过程的命名规则也做了具体要求,出于安能对信息化安全的要求,具体的规则就暂不列出了。每个报表存储过程我们一般都是分成业务存储过程(RST)和调用存储过程(CALL),RST类存储过程核心的存储过程,里面包含了该报表所使用结果集的具体数据转换逻辑过程。而与其配套的CALL类存储过程则通过传递统计时间参数简单的对RST业务存储过程进行调用,这种方式即方便开发中进行灵活调试,也方便后期oracle JOB定时任务直接调用CALL类存储过程执行。这种模式的最初提出者是我们公司的王总,挺方便的不错。                              

      4、前后台代码的编写:天龙报表项目是一个maven多模块项目,划分不同的maven子模块,各司其职,方便开发人员进行分层开发,同样出于安能对信息化安全的要求,这里不做具体的介绍,有需要的同事可以内部沟通。在开发过程中,常见的规范一定要遵守,注释模板codetemplates.xml要统一,文件存放的目录结构、命令规则在开发之前全部统一规范好,jsp文件放哪里,对应的JS、CSS文件放哪里,每位组员都要心中有数,这些规范在下手开干之前一定要统一好,不然要么容忍乱套,要么自己花时间去统一改。另外天龙报表前端都是使用jquery实现的,对于习惯了ZK开发模式的开发人员,需要两天时间转变,增加对JS的熟悉度,特别是了解前端常见的已封装好的功能件,比如网点模糊匹联想功能、报表列表分页查询显示等。

      5、单元测试:报表开发完成后,除了开发人员自己从页面上去验证功能好坏外,安能测试这边还要求提供单元测试文档,并会在提请转测后,安排测试人员、需求人员、开发人员一起开远程会议,评审单元测试文档。如果单元测试不通过,则直接打回,不予测试。单元测试文档的提供即要求了开发人员对自己开发的功能进行的必要的冒烟测试,也给测试人员指名了初步的测试方向。
      6、提请报表转测:每个报表开发完成并自测后需要向测试部门提转测申请,以邮件的形式发送,邮件中注明功能开发人员姓名、建表SQL文件SVN地址、存储过程SQL文件SVN地址,报表功能页面截图,附件附上单元测试文档。

     三、在开发中的监控过程
     1、控制范围:
            A、需求文档每个我都要过一遍,做到心中有数,确保跟对应的报表需求人员沟通该报表业务时无障碍,对认为有疑问的地方确认开发人员是否有跟需求人员确认清楚;
            B、查阅数据库设计文档,了解天龙项目表设计上与之前接触的系统有哪些差异,如收发到派四张表差异,网点基础表的差异等。
            C、每天下班前提交今天完成的可交付成果到SVN,早上上班后,首先核实可交付成果,是否与需求相符;
     2、控制进度:
            A:报表思维方式的传递。由于我前期参与过不少报表类的开发,对建表、存储过程开发和调试都有不少心得,也深知一个项目的成功并不是靠一个人就能完成得了的,为了更快的让组员领会这种模式,在会议室召开会议,通过以其中一张报表做例子,系统的讲解了如何设计结果集表,如何创建存储过程、如何调试存储过程以及如何编写mybatis中的SQL将结果集的数据展现在前台。
            B、时刻清楚今天要做什么。每天上班后打开开发计划文档,跟开发人员确认目前开发进展情况和今天将要做什么,是否有延期,是否有遇到困难,是否需要帮助,是否需要协调资源,及时解决。
            C、白板监控。在报表交付时间前三天开始,对要交付的报表还存在的问题进行上板,划分优先级,目标明确,逐一消灭。
     4、控制质量:
            A、规范习惯的培养。每天在核实可交付成果中,都会去留意规范的遵守情况,包括开发代码规范、开发文档规范、工作日志文档,一旦发现有放松不遵守规范的情况,立即要求修改,培养的是一种习惯 。
            B、站在用户体验的角度,对不符合用户使用习惯或影响用户体验的操作方式,提出修改建议;
            C、禅道BUG跟踪:开发人员安心开发手头上的工作,由我来统一监控禅道BUG,有问题及时沟通指派,协助开发人员定位问题,及时解决并反馈。

收尾:
  目前第一轮报表开发已经完成,第二轮开发已经启动,目前开发进度一直保持良好,陈宗熙、谢超、陈斌、李锋几位帅哥在工作中的能力是值得肯定的,也同时感谢他们在工作中的对我的大力支持,希望我们能够继续保质按时完成后续天龙项目的其它报表任务,让安能客户为我们点赞!

这篇关于天龙报表项目开发流程整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301285

相关文章

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的