经验之谈—报表在项目开发中的经验建议
近期由于又有报表开发的需求,想着是先把以往的开发经验整理出来形成自己的实践积累。
本文将按照优点,缺点,建议的三大部分进行阐述。
先说优点。
报表开发的优点是不言而喻的。比如开发速度快,交付快,投入资源少,数据集成,很多逻辑不用从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月】
经验之谈—报表在项目开发中的经验建议相关推荐
- 软件项目开发中的百分之九十效应
在软件项目管理中,经常遇到这样的情况:进度到百分之九十后开始停滞,要花很长很长时间很大很大代价(甚至超过前百分之九十所花费的工时.工期)才能完成最后的百分之十.我把这种情况叫作:软件项目的百分之九十效 ...
- 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识
浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 一种开发环境在软件项目开发中所起到的开发及管理作用.CASE工具实际上是把原先由手工完成的开发过程转变为以自动 ...
- 【转】缺陷与出路—一个游戏开发者的反思 二、项目开发中的混沌和秩序
二.项目开发中的混沌和秩序 我们可能都听说过这些说法:"你不可能不劳而获""覆水难收"或"天网恢恢,疏而不漏".如果这些谚语对你说来不算陌生 ...
- React项目开发中的数据管理
原文链接:https://blog.csdn.net/hl582567508/article/details/76982756 redux中文文档:http://cn.redux.js.org/ Re ...
- 项目开发中常用JS表单取值方法
项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的) 1.form1.Te ...
- aspnet是前端还是后端_项目开发中无法回避的问题:前端和后端如何合作和并行工作?...
项目开发中无法回避的问题:前端和后端如何合作和并行工作? 前端,后端要想非常愉快的合作开发和集成,那最开始第1步就是要定义一套共用的数据模型接口.这一步是所有工作可以顺利进行的前提. 数据模型接口之后 ...
- ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...
如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...
- IntelliJ IDEA 项目开发中各个目录的关系
项目根目录(Project Root):本地硬盘中存放项目内容的根目录 项目名称(Project Name):IDEA 保存的项目名称,默认和项目根目录的名称相同,可以修改.有啥作用?通过 IDEA ...
- 项目开发中发布更新文档备注
项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况. 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注. 更新的脚本文件也 ...
最新文章
- 删除Openstack所有组件
- 需求实在太旺盛,三星电子考虑扩大在华芯片产能
- AI和大数据结合,智能运维平台助力流利说提升核心竞争力
- Leetcode算法题(C语言)15--字符串中的第一个唯一字符
- 第三,四章 数据库和数据表的(增删改查,重命名等)基本操作
- Tricks(二十五)—— decorator(在函数调用前后打印日志)
- git显示分支关系图
- 针对Micro Framework 3.0模拟器进行改造方法(浅谈)
- 物业管理系统定制开发流程
- 微信小程序码合成图片
- 计算机boot进入u盘启动,深度u盘装系统进入boot设置教程
- jQuery常用API
- linux用户配额管理,—linux 磁盘配额按用户管理(quota)
- 使用Sequelize实现文章和评论的一对多关系并实现评论的按时间排序
- 如何实现 Android 短视频跨页面的流畅续播?
- 研发管理05:项目管理经验总结
- python学习基础知识——1
- Arcpy处理月NDVI,最大合成法合成年NDVI
- (菜鸟python)统计字符串的字符数和标点数
- GTX 295 VS C1060 矩阵乘法测试(cublas)