我国唯一的项目管理信息化门户网站,国内项目管理软件资讯服务提供商

登录 注册
当前位置:首页 > 新闻资讯 > 正文

PAones项目管理平台的技术选型与框架设计

2019-11-23 来源:拍码场 文/张资良
背景
存在问题
•团队之间研发流程不统一,不规范,协调困难,研发效率低,研发成本高
•研发指标无法量化,问题不可追溯,同样的问题反复发生
•验收标准不明确,测试效率不高
•各项目团队信息同步成本高
PAones项目管理平台的目标
•规范流程:平台化管理研发任务,统一规范流程。
•能效提升:量化研发指标,按项目团队人员间横向对比,时间维度纵向分析找到能效瓶颈。即时反馈任务状态,精准通知,提升沟通效率。
•质量提升:第一道防线:打通安全平台,黑白盒扫上线代码。第二道防线:打通自动化测试平台,约束主干用例通过率大于90%为验收标准,提升产品交付质量。第三道防线:线上事件收集,统计分析找到对策,预防再次发生。
•信息透明:研发进度实时反馈,提升管理效率;研发战略一目了然,工作目标清晰明了。
后台技术选型分析
一、后台开发语言选型:Java,NodeJS,Python,Go
Java
优点:强类型语言,业务抽象能力强,合适团队作战,成熟,社区庞大。
缺点:开发周期相对较长。
NodeJS,Python
优点:社区庞大成熟,弱类型语言语法灵活,开发周期短。
缺点:弱类型过于灵活导致重构或大范围改动时很容易导致不可预知问题,适合小型快速项目。
Go
优点:社区背景强大,官方维护大部分主要组件,性能表现优异。
缺点:语言本身迭代太快会加重项目维护成本,身为面向对象语言不具备一些重要特性,比如范型,比较适合中间件开发。
二、后台web框架
Spring Boot

优点:稳定,扩展性强,研发效率高,技术门槛低,社区庞大,各种技术问题解决方案成熟。
缺点:相对Node,Python系web框架开发周期相对较长。
三、数据库选型
MySql

优点:主流关系型数据库,技术成熟稳定,门槛低,性能稳定。
缺点:关系型数据库在一些特定类型项目中使用不灵活,跨表查询没有非关系型数据库灵活,在需求迭代较快时开发维护成本不适合小团队。
MongoDB
优点:主流非关系数据库,稳定,读写性能优异,查询灵活,无表结构使得扩展灵活,适合小型快速迭代项目。
缺点:非关系数据库决定了不适合处理强关系业务,性能受到内存大小影响。
后台技术选型结论:
前台技术选型分析
一、前台开发模式:
使用主流JS框架+对应组件库, 传统开发模式H5+Jquery+成熟模版+JS插件
JS框架优点: 最新虚拟Dom树技术:渲染效率高,用户体验提升。 单页应用(SPA)开发模式,开发速度快,适合中小型项目 模块化开发模式,思想近似后端开发模式,开发效率高,维护成本相对较低。 学习成本低,上手快,技术稳定,社区活跃技术比较领先,各种问题处理方案成熟 社区活跃,各种组件库丰富,选择多。
JS框架缺点: 随着项目规模扩大,深入使用时会遇到很难排查的问题(涉及到渲染机制),对JS依赖较强,对于非专业开发人员后期学习曲线会比较陡。
二、JS框架选型:ReactJS, VueJS,AngularJS
ReactJS

优点:FaceBook出品,大厂保证,虚拟Dom树技术倡导者。
缺点:关键组件均为社区维护,虽然稳定,但因为不是官方维护,兼容上会碰到一些问题,给使用上造成一定困扰,学习成本高。
VueJS
优点:独立开发者全职开发,对技术走向把握上会相对统一,同样使用虚拟Dom树技术,性能上不亚于ReactJS,社区活跃,各种解决方案成熟,学习成本最低,关键组件(路由,状态管理,Ajax)均由官方维护,兼容性最佳,中英文使用手册,讲解细致。
缺点:迭代相对较快。
AngularJS
因学习成本高,保留字过多,使用方法不够人性化,开发人员资源相对稀少,使用手册不完备,暂时没有纳入考虑范围。
三、VueJS组件库选型:Element,Vuetify(AntDesign蚂蚁金服),QuasarFramework(MaterialDesign Google)
Element

优点:饿了么出品,大厂保证,虚拟Dom树技术倡导者。
缺点:技术相对国外一些框架较落后,渲染性能一般。
Vuetify
优点:中文使用手册,因为样式库根据蚂蚁金服实际业务设计,各种组件比较适合国内使用者习惯,默认全局12号字体,对于大量信息展示性网站效果极佳。
缺点:AntDesign的Vue实现版本基于比较落后的Vue版本,渲染效率一般,Bug比较多,使用率不高。 
QuasarFramework
优点:响应式设计思想,开发团队对渲染性能有一定考虑,综合开发框架天生支持生成Web,IOS,Android, Mac, Windows操作系统应用,CSS样式架构十分先进,大部分组件使用JSX开发,渲染效率极高,组件使用极其灵活,开发者对组件易用性认知十分透彻,源码的学习性十分强。
缺点:MaterialDesign思想国内接受程度有限,一部分组件可用价值低。
前台技术选型结论:
架构设计
业务架构
系统架构
系统拓扑

难点与对策
一、后台查询优化

通过MongoDB做查询条件,效率高,然后用MySQL按需组装数据返回查询结果,特点如下:
MongoDB查询灵活
扩展灵活
开发成本低,维护成本低
查询效率高
查询数据的流程图:
配置条件:通过Enum+Lambda函数式编程管理查询条件
配置数据组装器:通过Enum+Lambda管理数据组装行为
使用条件:按条件关键字随意组合,无需开发额外接口
使用数据组装器: 按实际按需组装数据,提高查询效率
二、JSX + Mixin = H5继承与复写
•样式统一
•基础功能逻辑统一
•开发效率提升
•维护成本最小
前端效果
•代码实现
研发难度和挑战:
团队接入,规范与统一: 大团队小团队管理模式有差别, 前台与后台项目之间,研发项目与运维项目之间流程和信息量上都有差别,系统架构如何设计才能达到兼容统一。
项目特点,浅而广:PAones研发难度不高,但业务面很广,业务之间耦合有松有紧,需要认识业务的本质,梳理业务模块之间的关系,尽量对业务进行更深层次抽象,提供尽量多的扩展能力,避免后期业务变化带来大范围重构。
交互要求高,前端开发投入大:作为一个能效平台,应提供给用户高效的交互方式,减少用户对使用平台本身的精力投入,因此在交互设计与开发成本上如何权衡是个难题,另外在业务展现形式上如何取舍也是一个需要充分思考的点。
分享到:

免责声明:
  1、项目管理信息化网发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
  2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!

延伸阅读:

more>

会议活动

more>

公开课

more>

PMO

Copyright © 2023 项目管理信息化网 版权所有 京ICP备17062359号-9 如转载本站文章,请注明原作者和原发布媒体

本着互联网分享精神,本站部分内容转载于其他网站和媒体,如内容涉及版权等问题,请联系本站进行删除或修改处理

客服电话:010-89506650 89504891 非工作时间可联系:18701278071(微信) QQ在线:574888227

新闻与原创文章投稿:tougao#cpmta.com 客服邮箱:info#cpmta.com(请将#换成@)

我国唯一的项目管理信息化门户网站,国内项目管理软件资讯服务提供商,隶属卓橡公司

项目管理信息化微信公众号

PMO大会微信公众号