一次项目开发中,收获的经验和教训
总结:
数据融合项目自2018年10月中旬开始,至2019年2月上旬止,经过了接近四个月的开发进入稳定版。在此次开发过程中,在各个方面都遇到了一些问题,最终影响了开发的效率,和产品的质量。但是,也从中吸取了经验和教训,提升了自己。
概述:
项目成立的初衷是,针对现有监察委数据融合系统存在的,无可视化、效率低下、难以普及、难以操作等弊端,提出做出高效率的数据融合的v版。
在基于原系统的需求和设计上,进行了初步改良。 因此没有需求和产品的介入,直接进入了设计开发阶段。导致了需求不明确,项目蓝图不清晰。继而出现开发阶段需求反复调整。联调和测试阶段无可靠依据。
改良方案是:
- 利用codis的map存储特性,自动将同一key的不同数据进行整合,继而通过搭建集群、使用pipline等措施提高整合的效率。
- 利用kafka的partition独立消费机制,实现任务的分布式创建执行,使融合程序达到简单方便可横向扩充资源的目的。可根据任务量修改部署执行的环境、可通过集群技术增加组件的吞吐量,不至于因程序瓶顶而降低融合效率。
- 同样采用分布式技术执行融合过程。
- 采用es作为容器存储融合的结果,加速查询效率。
个人心路历程:
我加入项目组时,融合程序的日程是,即将开发完毕,在初步自测功能和性能。
所以我从项目使用的相关技术组件,环境搭建,以及程序设计实现的角度去了解整个融合程序。
由于前期需求工作的缺失,不足够完全清楚程序为了解决什么样的实际场景,又最终要达到什么样的效果,以及程序后续的被应用场景。
对程序的理解直接来源于,原数据融合程序的数据库设计,而个人对数据库设计的理解仅仅达到了我以为的程度,细节上的误读导致了后期才发现一些存在的不合理性。
即使是开发,也不能仅立足于技术和设计,还要结合需求场景等等因素,从本质上去理解程序的意义,给自己的设计以及开发指引方向,提供灵感,使工作更加合理,减少不必要的麻烦,提高工作效率和代码质量。
然后由于个人对业务上的不够熟悉,可视化系统原型设计上,没有很好的参与。对功能理解不到位。
仓促的做接口的设计,定义了很多不合理的参数,后续开发中一改再改。没有达成统一清晰的接口定义,在实现上也略显混乱。
同时,由于前端同事加入项目组时机过晚,也没有参与可视化原型的设计,也对功能不够理解。同时原型图设计的不够详尽,仅有页面没有交互,以及接口定义的种种问题。
使得前端同时在开发过程中,不能有效提出自己的想法和见解,过于被动依赖后端同时的支持,而需求变更等等问题,使前端工作进行缓慢,并且大量精力浪费在了讲解接口,功能,设计等方面。缓慢的进度也让所有开发人员感到疲惫倦怠。
无论是前端和后端人员,应该是直接对需求和功能负责,在需求传递时就应该到位,并参与原型设计,在理解工作目标功能设计等基础上,相互平等,相互协调,各司其职,达到思维碰撞,共同完成一个合理的、友好的、高效的功能。
希望在接下来的工作中能够吸取上述经验和教训,少走弯路,更高效率高质量的完成工作。
一次项目开发中,收获的经验和教训相关推荐
- 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 ...
- 项目开发中发布更新文档备注
项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况. 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注. 更新的脚本文件也 ...
- Vue项目开发中的点滴积累系列文章
题记 -- 严于律己,精于行动,点滴积累,着眼未来,你也许不负青春 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架 本文章 记录从基础入门到实际项目开发中的点点 ...
- 项目开发中对使用的第三方库统一进行管理__添加属性表/页
最近接手的一个项目开发中用到了很多第三方库,比如boost.gdal.xerces等等这些.从接手项目到现在从中学习到了很多之前从未见识过的东西.项目绝大部分都是前辈们写的,对于里面的对第三方库的管理 ...
- 17.项目开发中遇到的问题(this.$parent.$parent子组件调父组件的父组件的方法不可用问题)
前言: 在今天的项目开发中,遇到了一个问题,就是通过this.$parent.$parent.getHostInf()无法去调用其父组件的父组件的方法(因为此时获取的不是其父组件,而是包含父组件的一个 ...
- 软件项目开发中的百分之九十效应
在软件项目管理中,经常遇到这样的情况:进度到百分之九十后开始停滞,要花很长很长时间很大很大代价(甚至超过前百分之九十所花费的工时.工期)才能完成最后的百分之十.我把这种情况叫作:软件项目的百分之九十效 ...
最新文章
- 【智能驾驶】自动驾驶深度感知技术对车和行人的检测
- tarjan对有向图的缩点(求强连通分量)
- 《java基础知识》Java变量作用域
- html5 支持表格吗,html5 – 在HTML 5中使用表格很好吗?
- shell执行docker命令卡挂住_Docker官方文档翻译4
- 提高加密程序加密强度的技巧
- 通过NHibernate ORM和CodeDom在任何数据库中自动生成表以生成代码
- 如何利用开源风控系统 TH-Nubula(星云)防止撞库?
- 马士兵java学习之路
- 自制狂拍灰太狼小游戏(HTML+CSS+JavaScript)
- cmd命令窗口快捷键与小技巧
- 【LeetCode LCP 3】机器人大冒险
- 黑客是用idle还是python_python学习一定用pycharm吗?再看看还有什么其他IDE可以选择...
- Windows系统操作指令
- Team Foundation 中的带编号的错误和事件消息
- 2015年中国云计算市场回顾与展望
- 分布式之Quorum NWR算法
- 构建人工智能评测平台(体系)
- 剧本翻译之SHUFFLE 6月15日
- Java基础知识总结——java快速入门
热门文章
- LDPC码Gallager构造校验矩阵(MATLAB)
- 抖音赚钱记,新手如何玩转抖音,每天赚300起(连载九)
- arcgis中python批处理_ArcGIS教程:ArcGIS中的批处理
- halcon拓展系列—求平面度、段差算子regions_to_plane
- seo从入门到精通_SEO外包_seo技术教学案例培训学习研究中心自学网
- IAR OF STM8 Error[Pe095]: array is too large
- 经济的寒冬,数据的春天
- mendeley引用参考文献不显示_【参考文献管理工具-1】使用Mendeley在Word中插入引用与参考文献...
- 【echarts tooltip 固定位置】
- 清爽即正义,简洁即真理—lingvist