项目开发流程

Posted by Mingo's Blog on 2013-04-13 00:00

需求确认

  • 如果需要与其它系统进行交互,一定要知道交互的每一步细节
  • 所需要的外部接口
  • 功能是否合理
  • 如果发现需求与已有的功能类似,能否调整下需求,减少开发工期
  • 评定工期

需求设计

  • 写出设计文档及数据结构设计, 与前端及其它APP的交互接口
  • 与高程进行确认,设计有无问题,此步即便花费的时间较多,也比后来返工要节约时间
  • 此步要让前端也参与进来,确认返回值是否方便JS解析
  • 接口的设计要尽量考虑复用性通用性,扩展性;能做成公用就尽量做成,不要与某功能,某活动绑定死
  • 交互过程中有无安全问题
  • 返回的数据的有无泄露玩家隐私(比如带回yyuid)
  • 减少一切不必要的参数,不必要的返回值

编码

  • 先订好接口,然后审查下,整个设计的抽象,封装是否合理
  • 把此次开发需要的SQL,向第三方申请的资源(接口,短信,报警等功能)或权限记录下来,方便发布时减少不必要的时间

自测

  • 各功能点是否可用及是否与需求一致
  • 对DAO层,检查缓存实现是否正确及合理;数据库的主键,索引是否创建及正确
  • 对Service层,检查关键操作有无日志;事务是否开启,是否合理,事务的位置是否合理(尽量减少事务周期)
  • 对核心数据的操作,检查有无并发风险;如果有,是否已解决
  • 核心功能或与金钱相关的操作有无监控,报警
  • 单元测试有无通过;各接口性能有无达标
  • 前端有无频繁调用或刷某个接口,此接口是否要缓存实现及通过性能测试
  • 再过一遍整个功能的交互流程,有无安全漏洞,或可优化的地方

与前端,APP联调

交与测试提测

项目上线的数据观察

  • 观察线上日志,核心日志是否遗漏
  • 接口耗时是否在预期内
  • 访问量是否在预期内
  • 监控是否正常运行