[关闭]
@Rookie 2022-02-18T13:56:34.000000Z 字数 1498 阅读 422

客户端技术方案- 会议初稿

赢海


一、目前方案问题

目前公司客户端基于老版客户端修改后应用于现有系统,由于老版系统的机制与新系统架构贴合度不高,导致了很多问题的出现,以下是现有客户端问题较大的点:

1.1 不符合产品发展思维

由于目前船端和岸端使用一套源码,岸端升级则船端也要跟着升级,产品普遍遵循“小步快跑”的原则进行产品迭代,但是这种思维在目前这种机制下很难突破。产品的发展会被客户端拖累且装船数量越多问题越严重。

1.2 开发的思维切换

在产品设计或技术研发过程中,会习惯性遗忘客户端,导致客户端问题。代码中会存在大量船端岸端判断逻辑,船岸代码耦合严重。

1.3 同步程序技术陈旧

目前客户端同步程序技术已处于“退出期”,代码难以维护,了解该技术的人员越来越少如果人员离职会对公司造成巨大损失,且掌握该技术的人员也不想一直从事老技术相关的开发。

1.4 升级机制不稳定

目前的升级机制,升级后项目启动很有可能失败,且调查、处理问题困难。

1.5 其他

升级频次过高、问题调查机制不健全

二、方案概述

image_1fq5e2s82b92an41kj2112m16ml9.png-66kB

2.1、第一阶段

2.1.1 控制台

将客户端同步程序换一种做法,打造成整个船舶软件的控制台,并且作为常驻系统托盘进程,用户可以通过该控制台掌握整个船舶软件的运行情况,主要采用的技术为Electron,

功能点如下所示:
1. 网络测试
2. 系统升级
3. 数据同步(定时同步,断点续传)
4. 应用监控(重启应用,应用日志,监控检查)
5. 通知公告
6. 快捷访问
7. 授权信息
8. 备份还原

2.1.2 同步服务端

同步服务端主要是将现有的客户端服务端程序使用新的技术进行重构,并添加一些必备功能点,同步服务端程序主要功能如下所示:

  1. 多平台(公司6.0技术架构下的所有客户端)管理
  2. 同步事务管理
  3. 授权管理
  4. 升级管理(按模块升级,升级包管理)
  5. 同步管理
  6. 通知消息
  7. 行业新闻
  8. 营销管理

2.2、第二阶段

该阶段主要的工作是将现有程序的船管系统拆分成两部分,船端管理 + 岸基管理,主要的目标使船端岸基独立发展,岸基的迭代不受客户端牵连。
除此之外,还会开发一个船岸数据交换平台,用于保证异构数据的数据同步交换,船岸在升级数据库时,需要创建不同的数据转换协议,以此来保障船端非必要不升级也可进行数据同步。

2.3、第三阶段

如果第二阶段项目实施比较成功,实质解决了公司客户端的问题。那么在第三阶段主要是将该套架构模式应用于公司现有核心定制化项目当中。重点项目需要具备以下几个或其中几个特点:
1. 船的数量多;
2. 使用赢海的一体机产品;
3. 客户的后期需求较多,未来规划较大;
4. 未来可能有软硬结合的可能;
5. 客户愿意出一部分客户端更换成本。

2.3、第四阶段

为了能够更加智能、便捷的管理船舶,该阶段将会实现更多的船端功能,以下列举了几个未来船端有可能实现的功能:
1. 船端应用市场;
2. 船端硬件数据的采集与分析;
3. 船端的数据可视化;
4. 船端的硬件数据与船管系统的集成。

三、项目团队

3.1 组织架构

产品设计一名, 高级前端开发一名, 高级后端一名, 架构组一名, 项目经理一名

image_1fq5f9s8j4jp8dh1p9242e154em.png-11.3kB

3.2 岗位职责

image_1fq5fj9dlleu1pk8173s1ap11vt813.png-62.1kB

3.3 团队目标

  1. 三个月内完成客户端同步程序整体开发工作;
  2. 半年内所有老客户端同步程序全面替换完成;
  3. 2022年底前完成客户端与岸基程序拆分(程序拆分 + 数据传输转换程序开发);
  4. 2023年3月底完成所有产品老客户端迁移工作;
  5. 2023年底前完成公司核心定制项目的客户端迁移。

3.4 团队职责

  1. 保障客户端稳定运行;
  2. 新客户端必须保障高质量完成;
  3. 减少客户端升级与同步的问题出现;
  4. 节省调查与解决客户端问题时间;
  5. 节约客户端上线成本;
  6. 优化船员操作体验;

四、项目周期

image_1fq5fngjp146611n11q7g1n1qrf1g.png-79.2kB

五、 成本估算

值班人员 日期 日期
第一阶段 10人月 6个月
第二阶段 6人月 5个月
第三阶段 --
第四阶段 --
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注