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

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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装