创维智控项目经验分享

  1. 云栖社区>
  2. 博客>
  3. 正文

创维智控项目经验分享

技术mix呢 2017-10-17 20:26:00 浏览1283
展开阅读全文

一、产品介绍

创维智控APP,通过手机实现对智能家居产品的智能化控制和管理,支持多家庭、多网关、多场景、多设备的简易化控制、智能化联动、安全又节能,一键开启您的智能家居生活。通过手机操作,实现智能家庭设备(如,智能网关、智能锁、网络摄像头、窗帘、空调、电视、吊灯、球形灯、智能插座、墙壁插座、触摸开关、情景开关、门磁传感器、烟雾传感器、人体传感器、水浸传感器、温湿度传感器、一氧化碳传感器、可燃气体传感器等)的智能化控制,保障家居安全,提升生活体验。

 

二、项目历程回顾

1.第一期计划:

(1).第1迭代(06-12至06-16),前后端完成用户和设备管理;测试完成用户和设备管理50%;

(2).第2迭代(06-19至06-23),前后端完成消息推送和锁控制;前端完成摄像头;测试完成上迭代功能测试;

(3).第3迭代(06-26至06-30),后台完成其他设备管理;前端完成无线网关和关于我们;测试完成上迭代功能测试;

(4).第4迭代(07-03至07-07),前后端完成用户反馈;测试完成上迭代功能测试和本迭代功能测试;G1评审;

 

2.第二期计划:

(1).第1迭代(07-10至07-21),完成其他设备控制、场景管理、社区管理;G2评审;

(2).第2迭代(07-24至08-03),软件集成测试、与硬件集成测试;G3评审;

(3).第3迭代(08-03至08-16),软件压力性能测试、与硬件压力集成测试;G4评审;

(4).第4迭代(08-16至08-22),生产环境发布部署、试运行集成;G5评审;

(5).第5迭代(08-23至08-23),产品资料整理、产品总结会;结项;

 

3.第三期计划(需求变更):

(1).第1迭代(09-06至09-12),新增设备窗帘开关、触摸开关、红外宝空调控制;

(2).第2迭代(09-12至09-15),新改版UI风格确认,新变更需求相关需求明确;

(3).第3迭代(09-18至09-29),新UI改版工作开展,网关和社区需求变更调整;

(4).第4迭代(10-09至10-20),添加多网关、切换家庭和网关、锁钥匙列表、分页处理;

(5).第5迭代(10-23至11-10),新增墙壁开关、情景开关、锁远程升级、场景管理优化、Bug修复;

(6).第6迭代(11-13至11-17),项目相关资料整理、项目总结会、后续运维和功能Bug修复迭代计划;

 

三、项目重要里程碑

1.07月07日,G1阶段评审,完成产品设计说明书评审、大部分功能;

2.07月21日,G2阶段评审,完成产品所有规划需求开发,明确Bug修复方案;

3.08月03日,G3阶段评审,完成产品性能测试报告,压力测试;

4.08月17日,G4阶段评审,完成生产环境部署,免费兼容性测试,Bug修复方案确认;

5.09月01日,相关功能完善、优化和Bug修复;

6.09月11日,展厅部署支持,新增窗帘开关、触摸开关、红外宝控制空调;

7.10月24日,新UI界面改版,交互界面优化、多家庭、多网关、相关功能优化和Bug修复;

8.11月10日,场景管理优化,新增水浸、墙壁开关、情景开关、操作流程优化和Bug修复;

 

四、项目取得的成效

1.亮点功能:

(1).支持多家庭、多网关、多场景、多设备的智能化控制和管理,以及消息的及时推送和报警的多方式提醒;

(2).支持控制类设备:网关、摄像头、智能锁、空调、电视、彩灯、智能插座、墙壁插座、窗帘开关、触摸开关、情景开关;

(3).支持传感类设备:门磁、人体传感器、烟雾传感器、水浸传感器、温湿度传感器、可燃气体传感器、一氧化碳传感器;

(4).支持自定义场景:添加彩灯、智能插座、墙壁插座、窗帘开关、触摸开关到场景以及延时触发,进行场景的直接启动、定时启动、周期启动;

(5).支持多家庭管理:一个用户在不同家庭的角色不同,可以控制多家庭的设备(需要家主授权)和查看多家庭的设备信息、成员信息;

(6).支持无线网关远程升级和WIFI更改、智能锁远程升级、摄像头多方式配网(智能、扫码、有线)、报警消息多方式提醒(短信、微信、APP推送);

(7).支持单台服务器3W+网关同时在线;3W+用户同时登录访问;3W+消息并发吞吐处理;支持服务器横向无限扩展;

(8).整个APP,界面风格更独特,交互体验更流畅,体现创维蓝,凝聚健康科技;

 

2.主交付功能点:

 

3.效果图展示:


 

4.下载地址:

 

五、项目经验总结

整个项目历时近半年,还是有很多东西可以拿出来说道说道的,简单整理几个点分享下:

1.软件架构评审

项目最先评审和最需把握的事情是整个项目的系统架构,信息流 、数据流、接口交互、复杂性、安全性等确保系统的技术架构是正确。

(1).软件项目概述,对整个项目做概要性说明,让大家对项目有大致的熟悉了解;

(2).软件功能列表,对项目所有的功能模块,进行一、二、三级功能的拆分,让项目功能模块化;

(3).软件层次架构,对项目系统架构做概要说明,信息结构图、数据流和信息流的流转;

(4).软件业务流程,对项目所涉及的所有业务分支的流程,业务数据的输入、输出、传递,业务之间的流转;

(5).软件数据库结构,对项目涉及的后台数据表结构进行说明,用于阅读和评审,并持续维护;

(6).软件接口说明,对项目涉及的业务接口、前后台接口进行说明,用于阅读和评审,并持续维护;

(7).软件核心算法和规则,对项目涉及的核心业务复杂逻辑的算法、前后台加密规则等;

(8).软件部署视图,对项目涉及的测试环境、压测环境、生产环境的部署方案和注意事项等;

 

2.性能测试开展

项目开展中可能存在性能压力测试的需求,而快速高效的确保性能测试工作的开展,前期的工作规划将减轻开展中的各种阻力。

(1).确定性能测试目标,明确性能达标的标准、性能测试方案、性能测试计划和配合工作,产品不同阶段、资源到位情况等会影响测试目标设定;

(2).搭建性能测试环境,需要提前准备下测试环境,相关服务器申请、部署包准备、各种软件安装、负载均衡环境搭建、以及其中各种问题的解决;

(3).准备性能测试接口,需要提前准备下测试接口,是否去掉接口加密、接口涉及的业务是否可以压测到、是否要改造接口等等;

(4).准备性能测试数据,需要提前准备和导入测试数据,一些特别接口需要大量测试数据进行性能压测,测试数据的真实性、完整性等等;

(5).实施性能接口压测,环境、接口、数据准备好,需要对性能压测方案进行初步验证,小批量通过后,可进行全量或增量压测等等;

(6).输出性能测试报告,根据各个压测工具对应的数据报表情况,来确定服务器的瓶颈、系统的瓶颈等,已明确改进方案,再次进行压测回归;

 

3.模拟试运行

项目开展中可能存在生产环境模拟试运行的需求,而环境的同步、数据的统一、问题的及时定位和解决,都将保障项目进度和工作成效。

(1).确定模拟试运行目标,明确模拟用户试运行目标、试运行验证方案、试运行开展计划、试运行团队配合工作等;

(2).搭建模拟试运行环境,需要提前搭建试运行环境,服务器、部署程序包、各种软件安装、服务器的各种监控预警等;

(3).准备模拟试运行数据,需要提前准备试运行的初始化数据,确保相关业务流程和接口运行顺利,确保试运行环境的正常运转;

(4).验证模拟试运行方案,对试运行方案进行初步验证,开始、运行、报告、监控数据等,一旦出现问题及时处理讨论方案解决;

(5).实施模拟试运行方案,对试运行初步方案验证通过,可持续进行7天试运行的模拟,每天报告的输出、异常的监控预警、问题解决排查等;

(6).输出模拟试运行报告,整个试运行测试工作完成,分析各种报告数据、服务器监控数据、异常处理和监控,确保生产环境部署后的稳定性;

 

4.延期分析和改进

项目开展中延期几乎是任何项目不可避免的,进行相关延期问题的分析和改进,都将为我们后续项目的开展提供很大益处。

第一次延期:原计划08.11进行云锁项目结项,因资源支持问题申请延期到08.23;

(1).提供的硬件设备不及时。采用别人家的设备进行功能调试和验证,导致后续新设备的处理逻辑不一致做变更调整;

(2).供应商提供的技术不成熟。提供的接口问题比较多、验证联调很耗时间,导致项目沟通成本很高,项目用时被压缩;

(3).团队人员支持不充分。多项目并行,项目组人员抽调较多,一些功能不能按计划时间交付,导致总体功能交付较慢;

(4).未规划的性能测试。性能测试未在项目规划中,紧急需求插入,性能问题分析和解决,导致项目计划用时占用;

(5).新技术方案验证。微服务平台对接验证、阿里和极光推送方案确认,逻辑处理采坑比较多,技术运用成熟度低,加重项目用时;

 

第二次延期:因支持展厅演示、新UI改版、新需求支持申请项目延期到11.10;

(1).新增未规划需求。支持公司展厅触摸开关、窗帘开关、新红外宝设备;又新增水浸传感器、墙壁插座、情景开关设备;

(2).UI风格大改版。针对旧的UI界面,进行3个迭代的改版设计、评审、开发、调试、兼容性测试,将近1个月的周期;

(3).用户交互流程优化。针对添加网关流程改版2次,添加摄像头流程,更改WIFI流程,远程升级网关和锁流程逻辑;

(4).系统模块功能优化。场景支持设备详情设置、首页设备列表处理、数据分页处理、以及一些用户体验性的逻辑;

 

5.清晰的项目计划

清晰的项目计划,项目经理和团队都对整个项目比较清晰,走到哪个节点,下一步该怎么走,不至于迷失。小版本的迭代、大版本的交付都将是团队能力的肯定和激励。倘若只闷头做事,不知道什么时间完成什么功能,项目缺乏规划,什么东西都是现处理,各种资源和准备工作现开展,项目就会阻力重重,大家都会心累哈。长周期的项目研发,团队会打磨的比较有默契,同样长久的紧张开发、紧绷的神经,也会使团队比较疲惫。项目开展中各种团队福利、团队活动,都将对团队有一个很好压力缓冲,适当的团队放假或换项目研发(该项目确实满足验收)都将很好的激活团队。

 
承接之前文章:《敏捷实践简单分享补充》、《敏捷实践简单分享


本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/SanMaoSpace/p/7834559.html,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
技术mix呢
+ 关注