近期由于又有报表开发的需求,想着是先把以往的开发经验整理出来形成自己的实践积累。

本文将按照优点,缺点,建议的三大部分进行阐述。

先说优点。

报表开发的优点是不言而喻的。比如开发速度快,交付快,投入资源少,数据集成,很多逻辑不用从0开发等优点。这些优点,在各报表公司的官网上也都有相关的描述。

再谈缺点。

虽名为缺点,但也并非一定是坏的。有可能是使用方法和使用过程不完善造成。如果本文描述阅读感到不适,请选择性忽略。

在谈缺点前,先说说报表开发的特点。

报表通常是业务系统数据的最终呈现形式。

1. 数据多、杂

报表的数据来源多且杂。数据多指的是来源多;杂,指的是原有的数据往往因数据库设计、历史原因等情况,比较杂乱。一张报表数据往往来自多个表取值,甚至可能牵扯到其他数据源的情况。

2. 制作周期长

一个报表看似简单,单纯的制作一个张报表可能需要半天到一天,但是要把这个报表完整的制作完毕达到可以正常使用的目标,根据经验往往需要一周多时间。

3. 领导关注度高

如上,报表通常是业务系统的数据的最终呈现形式。中高层领导比较关注。

4. 开发人员热情不高

报表开发,表面上往往需要前端、后端、数据库等综合技能。(结合3)更深层次的,需要对业务的全面了解,制作达到领导期望的报表,这让很多程序员感到比较难。而且,需要单独的学习各报表厂商的报表工具以及特色代码。

5. 工作量不好太好评估

结合上述的特点,就会出现工作量评估不准确的情况。严重的可能导致项目失控。

6. 和现有系统的集成问题

和现有系统集成,应到考虑安全、执行效率、权限,应和现有系统紧密结合。安全方面,应当是非法用户无法访问的情况。执行效率方面,应当考虑和当前系统的响应相类似。权限方面,报表厂商往往有自己的权限控制,如何和现有系统的集成,也是应当考虑的问题。

再说说缺点。

1.   界面样式不好控制,和现有的系统出入较大。

报表界面往往有自己的一套默认风格,业务系统也有自己的风格,同时客户也有既定的格式要求,这也就需要前端人员、报表制作人员对此保持统一。

2.   每个报表的设计者才能知道当时做了什么,其他的人完全不知道当时设计者在想什么,给后期维护带来了巨大时间成本。

3.   填报时,处理较为复杂的操作时难以控制。

4.   对其操作时的事务处理是否合理保持怀疑态度。

5.   文件上传如何处理?

6.   带有文件上传且需要解析判断的业务逻辑时如何处理?

7.   报表源文件的可复用性不高,每一个复杂的表格的处理难以继承或复用到其他的模块。

8.   同一套业务,如果手机端也需要,那么就需要同时在报表工具和后台代码同时编码。

9.   对大批量的数据处理是否能达到满意的效果?与现有的分布式的趋势是否冲突?

10.   难以形成技术积累,传播开来。

针对上述的情况,提出以下建议。

1. 建立合理的人才梯队

建议配置:前端、后端、数据库的专项人才。如果可能,尽量是三者的复合型人员。

2. 对报表的中的sql、复杂的业务逻辑,要在“.MD”文件中进行相关的记录,像管理前后端代码一样把.MD文件管理起来。

3. 梳理业务,以行业背景(包括行业特点等)为基础,利用统计学等基础学科,结合大数据分析,针对报表等其他内容进行深入了解,发现更有价值的数据。

4. 形成知识积累。推断报表本身甚至报表厂商的良向发展。

【2022年3月】

经验之谈—报表在项目开发中的经验建议相关推荐

  1. 软件项目开发中的百分之九十效应

    在软件项目管理中,经常遇到这样的情况:进度到百分之九十后开始停滞,要花很长很长时间很大很大代价(甚至超过前百分之九十所花费的工时.工期)才能完成最后的百分之十.我把这种情况叫作:软件项目的百分之九十效 ...

  2. 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识

    浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 一种开发环境在软件项目开发中所起到的开发及管理作用.CASE工具实际上是把原先由手工完成的开发过程转变为以自动 ...

  3. 【转】缺陷与出路—一个游戏开发者的反思 二、项目开发中的混沌和秩序

    二.项目开发中的混沌和秩序 我们可能都听说过这些说法:"你不可能不劳而获""覆水难收"或"天网恢恢,疏而不漏".如果这些谚语对你说来不算陌生 ...

  4. React项目开发中的数据管理

    原文链接:https://blog.csdn.net/hl582567508/article/details/76982756 redux中文文档:http://cn.redux.js.org/ Re ...

  5. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  6. aspnet是前端还是后端_项目开发中无法回避的问题:前端和后端如何合作和并行工作?...

    项目开发中无法回避的问题:前端和后端如何合作和并行工作? 前端,后端要想非常愉快的合作开发和集成,那最开始第1步就是要定义一套共用的数据模型接口.这一步是所有工作可以顺利进行的前提. 数据模型接口之后 ...

  7. ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...

    如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...

  8. IntelliJ IDEA 项目开发中各个目录的关系

    项目根目录(Project Root):本地硬盘中存放项目内容的根目录 项目名称(Project Name):IDEA 保存的项目名称,默认和项目根目录的名称相同,可以修改.有啥作用?通过 IDEA ...

  9. 项目开发中发布更新文档备注

    项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况. 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注. 更新的脚本文件也 ...

最新文章

  1. 删除Openstack所有组件
  2. 需求实在太旺盛,三星电子考虑扩大在华芯片产能
  3. AI和大数据结合,智能运维平台助力流利说提升核心竞争力
  4. Leetcode算法题(C语言)15--字符串中的第一个唯一字符
  5. 第三,四章 数据库和数据表的(增删改查,重命名等)基本操作
  6. Tricks(二十五)—— decorator(在函数调用前后打印日志)
  7. git显示分支关系图
  8. 针对Micro Framework 3.0模拟器进行改造方法(浅谈)
  9. 物业管理系统定制开发流程
  10. 微信小程序码合成图片
  11. 计算机boot进入u盘启动,深度u盘装系统进入boot设置教程
  12. jQuery常用API
  13. linux用户配额管理,—linux 磁盘配额按用户管理(quota)
  14. 使用Sequelize实现文章和评论的一对多关系并实现评论的按时间排序
  15. 如何实现 Android 短视频跨页面的流畅续播?
  16. 研发管理05:项目管理经验总结
  17. python学习基础知识——1
  18. Arcpy处理月NDVI,最大合成法合成年NDVI
  19. (菜鸟python)统计字符串的字符数和标点数
  20. GTX 295 VS C1060 矩阵乘法测试(cublas)

热门文章

  1. java编译点九图,Cocos2d-x3.2 Scale9Sprite点九图形式缩放图片
  2. 工业大数据七大重点应用
  3. 关于AutoLISP教学,CAD二次开发
  4. iTunes,iTunes Store和App Store区别
  5. 如何将自己打的jar包放到maven仓库中
  6. 该进程为关键系统进程,任务管理器无法结束进程
  7. 微信小程序-初始导航页面
  8. Python爬虫百度新闻标题,并且做简单的数据分析!挺简单的
  9. 烟台大学 计114-3.4 班学生的博客地址
  10. stylus的使用和基础知识