Beta设计和计划 —— NameNotFound

需求再分析

1. 用户群体

经过用户(大多数是同学)的反馈,我们发现大家其实并不是十分明确我们要做的到底是什么、具体要怎么用。而实际上我们的典型用户也并不是学生群体,因此出现这些偏差也是很正常的,毕竟学生群体没有这方面的需求。所以我们准备更偏向于学生群体,尝试将这一功能向学生开放,比如说:实现一个表格数据生成pdf的功能。

2. 新功能的需求

与zx老师开会讨论后,我们对于新功能进行了需求分析:
用户在使用表单软件时,可能并不想自己费力的标注,而是希望直接上传使用,从这一个角度,我们决定,在Beta阶段,释放用户,由软件来替用户做决定,猜测用户需要的数据字段,自动训练,方便用户直接使用。

3. alpha阶段的反馈中提到了服务器慢的问题。

  • 这个是因为我们采用的服务器是在美国的,针对这一问题,我们已经配置了CDN加速,现在提供了两个网站入口地址,方便用于选择适合自己的。
  • 目前整个软件前后端要实现数据同步,所以在标注的阶段,会反应很慢,这一点很影响用户体验,我们会尝试进行优化。

4. 有同学反馈我们只针对英文。

这个确实如此,因为Fott的ocr就是针对英文的,而我们的目的就是基于此ocr开发工具,而不是去开发ocr,而且我们的项目一定程度上基于微软原项目开发(虽然现在思路已经跑偏了,但是前端架构是没有很大的改变的)。因此一定程度上,这个软件就无法满足同学们的需求,我们会在这一阶段考虑是否使用其他的OCR识别来扩展语言,但这一点不是主要的需求。

整体上来说,在beta阶段,我们将:

  • 完善alpha阶段出现的一些问题,并将alpha阶段所得到的成果进一步应用在FOTT项目中去,实现生成即训练的目标
  • 增加项目描述和使用的介绍,让同学们能够了解我们在做什么
  • 此外,我们将扩展一部分功能,支持用户能够无需手动标注,轻松得出结果。
  • 对于软件处理结果,我们会将其一一提取出来,生成一个Excel文件,能够更清晰地观察到各个字段的数据分布,同时在data页面支持数据的分析可视化,表单识别的结果直观又清晰。
  • 完善项目管理:代码管理、文档管理、测试等

功能增加

功能 详细描述
introduction页面 增加项目描述和使用方法
train页面 支持对生成好的页面进行一键训练
支持将训练得到的结果进行处理,生成Excel文件
data页面 支持数据可视化查看
tag页面 支持错误画出的框的删除
model页面 支持历史模型的显示
new project 支持用户选择项目类型(空白训练;五张训练;根据Excel信息批量生成表单等)

技术改进

  • 代码规范:

    • 开发语言仍为TypeScript和python,因此延续alpha阶段的代码规范
    • 加强对于代码复审的管理,严格commit和issue之间的联系
    • 加强文档管理——GitHub wiki
  • 新的技术:

    • NLP处理实体识别,预测用户需要的数据字段
      • Azure 认知服务——文本分析,实体识别
    • Itext处理PDF文件,实现丰富的操作
    • 进程调度——redis,分布式锁

任务拆解

前端

  • 项目功能的切换:空白表单、已填好表单、表格转pdf——zyc主要负责
  • 完善前端并且修bug——zyc,lzh主要负责
  • OCR训练模块的添加——lzh主要负责

后端

  • pdf文件操作(文字删除,替换等)——dxy主要负责
  • alpha阶段数据生成模块的扩展——dxy主要负责
  • 后端服务器维护和完善(分布式锁,新需求)——ly主要负责

新功能开发

  • 实体识别的调研和实现——ly,llj主要负责
  • 对OCR模型预测输出结果进行表格整理可视化——wyk主要负责
  • 表格文件批量转pdf文件——wyk主要负责

细粒度划分:

任务 分工 截止时间
前端:重构strings zyc 5.15
前端:优化tag页面上传时提示 zyc 5.15
前端:new project页面 zyc 5.14
前端:完善tag页面 zyc 5.14
前端:与new project的配合 zyc 5.17
前端:新增model页面 lzh 5.19
前端:新增data页面 lzh 5.19
前成员:熟悉项目 lzh 5.15
前端:new project时短暂报错 zyc 5.16
后端:PDF文字擦除 dxy 5.15
后端:响应前端 ly 5.27
后端:Excel可视化处理 wyk 5.22
后端:Json数据整合 ly,llj 5.22
后端:实体识别 llj,dxy 5.20
后端:Json文件分析 dxy,ly 5.20
后端:学习nlp,azure认知服务 ly,dxy,llj 5.20
新功能:实体识别调研 ly,llj,dxy 5.17

前端需要增量开发的任务不是很多,后续会有前端人员参与后端的新技术开发!

GitHub

人员管理:

首先欢迎新成员lzh的加入!🎉🎉

经过了解,lzh有OCR项目的相关经验,也使用过TypeScript语言,所以他的加入正好补上了我们原有成员tzj(前端成员)工作的空缺。

培训

我们在昨日的每周例会上大概讲述了Alpha阶段的工作和技术流,为lzh介绍了先前工作,又得益于之前的文档和视频疯狂捞自己),他现在处于熟悉项目阶段,相信很快就能够融入到团队中来!

团队成员之间也会及时沟通,解决问题。

新的分工

  • PM进行更换。Ly担任NameNotFound的新PM,Wyk变为开发组,实现新需求和新功能!

  • 经过反思,我们发现,alpha阶段有部分的工作是无法体现在项目需求中的,因此,我们进行了取舍,将相关同学转移到后端组,进行新功能的开发。

  • Beta阶段的新功能遇到一定的技术难题,暂时由后端成员调研和解决,后续可能会有前端成员转到这一问题上!

Alpha阶段经验总结和Beta阶段的改变:

对已有工作文档的维护:

我们发现之前的文档管理对于查看查询很不方便,在新成员的建议下准备将已有的文档都迁移到GitHub项目的wiki部分

  • 技术文档说明文档都迁移到GitHub的wiki (正在做)

  • 技术博客同步发布在wiki

代码管理

之前的代码管理还是有不到位的地方,经过alpha阶段的评审,我们决定严格这一部分,

  • 前后端分别创建dev分支进行日常开发和测试,以及代码复审
  • 每周选择固定时间来进行整体代码复审和merge
  • 将bug和commit关联起来;至少也要在issue页面说明修改的部分

测试和Bug修复

原项目的遗留Bug很多,所以我们还需要进行更多测试来完善前端页面。

基于alpha阶段的测试,优化前端的体验!

posted @ 2020-05-13 23:03  Name+Not+Found  阅读(296)  评论(6编辑  收藏  举报