在线电力监测系统——第一次迭代开发心得

  第一次做项目,第一次用javaee开发web工程项目,很多东西不会,摸着石头过河,也学到了很多东西。

  第一次迭代开发,小组总体做出来的东西不多,与计划相比少了不少。完成的大致有两个半模块,其一是登录注册,其二是报警信息展示,其三是工单处理,还在技术上研究了动态数据在图表上的动态展示的实现(基于单个数据项的展示)。总体来说,很多后台工作没实现,前端做的页面倒是蛮多,交互功能也有,前端的工作进度是先于后台的;后台开发的滞后性,以致于功能模块的集成进度受到了阻碍。

  后台人员主要做了登录,注册,验证码验证身份的后台工作这一块,由于之前没有接触过ajax和servlet,导致学习的时间开销很大。前端人员主要做视图上的展现,集成的插件,css模板比较多,做出效果来相对容易些。

  下面回忆反思一下自己做的工作。由于我们项目做的是应用层的开发,物联网等底层的数据无法获得,我首先要考虑如何模拟获得数据,我觉得用一个线程,一个定时器来定时产生不同数据项的数据。其次,又因为现实中采集数据的频率有时会比较快,那么我就不得不考虑,如何能满足数据的实时传输,尽可能地减少开销,和传输的带宽。于是决定采用websocket来实时传输数据。到这里,数据传输的思路就出来了:前端申请握手——后台服务端响应——启动线程——服务端发送数据(websocket)——前端接收数据;刚开始啥都不会,不好意思用框架,花费了大量时间学习,老老实实用tomcat下的websocket,然后再用注解的方式实现。

  数据实时传输,从后台到前端实现之后,我考虑到实时数据还得放在图上,让图动起来才行。但是,怎么画图呢,用windows自带的工具?为什么不用现成的呢?又方便,又美观。于是乎,采用了echarts的插件来实现实时数据的图形化展示。刚开始以为有现成的,会很简单。但是我发现我想得简单了。这个插件确实有自己的一套方法,但要用好它,要将自己的数据按自己的想法在图上展示,还是需要一定的功夫的,它的数据读入是采用json的格式解读。胡搞一番后,也算是成功地让数据在折线图上实时展示了。(难点在于坐标随着数据输入的体量大小而移动)

  再接下来就是要考虑核心业务了,那就是报警。实时数据接收到以后,肯定是在后台进行处理,不可能放到前端,前端主要是用来展示的,要尽量少地写java代码。那么我们是来一条数据,然后到mysql数据库中轮询一次报警规则,再决定是否报警吗?显然,这样的做法,花费的时间会很多。数据源源不断地来,我们要尽可能快地进行处理,那么有什么可以加快的办法呢?我们知道,CPU是计算机中运算最快的,越靠近CPU的存储结构越快,最快的要数寄存器,但寄存器稀少,用处大,用在这里不太合适,性价比最高的要数内存!于是我有了把报警规则存到内存数据库中的想法,而现如今,最成熟,也最合理的内存数据库是redis,而且redis是键值数据库,报警规则中,以数据项作为key,报警的内容作为value,但报警的内容有多个字段(上阈值,下阈值,具体内容,报警类型等),这个时候,最好的办法就是把value用实体类封装起来,作为一个对象,存入redis中。当实时数据来时,对应好相应的key,看实时的value是否满足相应的报警规则,若满足,则推送该报警给用户。这里的难点是什么呢,是封装,封装成对象后,要把对象存入redis,之后再取出来的话,要进行序列化和反序列化处理。还要管理redis,考虑并发性,多个用户访问的可能,java中用jedis来实例化redis线程池中的对象。

  总结,第一次迭代开发学到了很多,主要是研究技术上的实现,没有多少时间帮助后台人员进行开发。但是,作为PM,在此我不得不说,后台的开发真的是太慢了!大家要抓紧时间,多多把任务放在心上。真心希望每个人都是开发中,“鸡与猪”故事里的猪。

原文地址:https://www.cnblogs.com/huangxuanxiang/p/10086074.html

时间: 2024-11-05 14:44:10

在线电力监测系统——第一次迭代开发心得的相关文章

第一次迭代开发心得

通过第一次迭代,我真正意义上地体会到了当程序媛的感觉.有面对bug时的抓狂,有解决bug时的喜悦,也知道了整整一天都在码代码是什么感觉. 接下来就说一说我们组项目(基于联邦型知识图谱上的搜索引擎)第一次迭代的心得. 一.起步 因为之前大部分时间一直都在写各种各样的文档,所以我们的项目起步比较晚,真正意义上编写代码的时间只有不到两个礼拜.而且,我们当初把项目实现想得过于理想,导致后来时间有些不够用,所幸,在验收前一天,大家一起在图书馆泡一天,最终实现了第一次迭代的需求.这也是下次迭代需要注意的地方

第一次迭代开发心得——短视频APP项目

第一次迭代开发已经结束将近一个星期了,不管结果如何,完成与否,或多或少有些许收获. 首先知识上,对后台开发有了初步的认识,但是还说不上入门吧,毕竟没有系统的学习,都是做项目缺什么去学什么(很想系统的学一下,说实话的话),最开始的时候连用什么做都不知道,到处去查资料.问学长,学长最后给的建议是用Spring框架,但是去摸了一下,感觉很难理解,就像还不会走路就开始跑一样,然后就得到了一条建议,先从servlet开始(那时候javaee才刚开始servlet又是后面的内容,所以找到这个方式花了不少时间

创新课程管理系统-第一次迭代开发心得

第一次做项目,第一次用javaee开发web工程项目,很多东西不会,摸着石头过河,也学到了很多东西. 第一次迭代开发,小组总体做出来的东西不多,与计划相比少了不少.完成的大致有两个半模块,其一是登录注册,其二是报警信息展示,其三是工单处理,还在技术上研究了动态数据在图表上的动态展示的实现(基于单个数据项的展示).总体来说,很多后台工作没实现,前端做的页面倒是蛮多,交互功能也有,前端的工作进度是先于后台的:后台开发的滞后性,以致于功能模块的集成进度受到了阻碍. 接下来就说一说我们组项目(创新课程管

第一次迭代开发有感

前言:时光飞逝!第一次迭代开发已经过去大概一周的时间了,有必要来个小结了. 下面我就参考老师给出的模板,来对我们组第一次迭代开发做一个小结. 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的项目是要做一个创新课程管理系统.根据指导老师的要求,就是做一个适用于本门(软件工程导论)课程的一个管理系统,web端应用程序.具体点来说,就是类似于我们大二上数据结构课使用的超星系统.(而在超星系统中,我们仅仅充当的是学生的角色,上传作业,接收老师发

第一次迭代开发总结

上周进行了Alpha版本项目的验收,为第一次迭代画上了句号.以下是我对本组项目第一次迭代的思考与总结: 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 产品定义:我们软件定义明确,是为需要使用车辆的用户提供及时租车功能: 典型用户:出差在外上班族: 典型场景:机场. 2. 是否有充足的时间来做计划? 时间充足.每周每位成员都有本周必须完成的各自的任务,所以项目进度比较快. 3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?  通过沟通

快易需求文档编辑系统(二期)第一次迭代开发总结

设想和目标 1.目的: 项目为"快易需求文档智能生成系统".软件需求文档是软件开发与维护的重要基础,本项目希望通过建立一个专业的需求文档编辑系统,为软件开发人员提供一个便捷的协作文档编写工具,推动需求文档编写的规范与文档重用工作.同时,也为广大软件公司提供一个随时可以访问的平台,推广快易文档编写系统. 2. 成果:完成了原定计划中所有第一次迭代的功能和部分第二次迭代的功能. 3. 提高:所有成员各司其职,完成了自己的任务,比起最开始的一无所知有了很大的提升 经验教训:团队内需要多交流沟

第一次迭代开发——矢量图编辑系统

设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们设计的矢量图编辑系统主要解决变电站绘制电路图问题: 定义为以矢量图的方式绘制出电路图: 仅及于简单的用户与场景,尚未进行具体典型的用户与场景描述. 2. 我们达到目标了么(原计划的功能做到了几个?  按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?) 我们计划实现画元器件.添加任意元器件.对图形进行放缩.各元器件之间的规则连接.滚动条对画板进行拖动  更大的画图区域.图形元素的点

第一次迭代总结和思考

第一次迭代上周结束了,总的来说相比较有一开始收获是非常大的.重新开始学习一种语言,熟悉相应的开发环境,掌握编码规则,都是不可多得的体验和收获. 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们软件很明确的定义,就是一个统计实时噪声数据并绘制区域噪声地图,同时提供给用户需要的信息,之后政府也可以根据噪声数据采取针对性的措施 典型用户:学生(目前只能局限在湖大这个群体范围) 典型场景:交通,住房等人的活动区域 我们达到目标了么(原计划的功能做到了几

Team--时代团队第一次迭代总结

一.设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件<flappy bird>是一款全新动作类的游戏,与市面上的存在的游戏不一样的是,我们增加了很多功能.从传统的单人作战,转变为更有趣的团队作战.从传统的单一模式转变为可以选择的游戏模式.游戏因此变得紧张成刺激.节奏感强,玩家在游戏中便能获得更多的乐趣与成就感.从而既解决了flappy游戏相对比较枯燥无聊被动的问题,使玩家能够乐在其中,又不会像大型游戏一样占用玩家过多的时间精力,