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,分布式锁
- NLP处理实体识别,预测用户需要的数据字段
任务拆解
前端
- 项目功能的切换:空白表单、已填好表单、表格转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 |
前端需要增量开发的任务不是很多,后续会有前端人员参与后端的新技术开发!
人员管理:
首先欢迎新成员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阶段的测试,优化前端的体验!
Beta设计和计划 —— NameNotFound的更多相关文章
- [知识路书]beta设计和计划
[知识路书]beta设计和计划 一.需求再分析 根据用户反馈,是否发现之前的需求分析有偏差?为什么会出现这种偏差?beta阶段你们是否能真的分析清楚用户需求?如何做到? 根据alpha阶段的推广情况以 ...
- beta设计和计划
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 Beta设计和计划 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 ...
- [no_code][Beta]设计和计划
2020春季计算机学院软件工程(罗杰 任健) 2020春季计算机学院软件工程(罗杰 任健) 作业要求 Beta设计和计划 我们在这个课程的目标是 远程协同工作,采用最新技术开发软件 这个作业在哪个具体 ...
- [敏捷软工团队博客]Beta设计和计划
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta设计和计划 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Beta ...
- 【二食堂】Beta - 设计和计划
Beta设计和计划 需求再分析 根据助教.老师.用户以及各个团队PM的反馈意见,我们的项目目前有以下问题: 功能不完整 实用价值不高 两方面的缺陷,所以在Beta阶段,我们工作的中心还是完成项目规划中 ...
- [对对子队]Beta设计和计划
需求再分析 Alpha阶段用户反馈的问题主要有三个 新手引导部分没有明确指出合成按钮可以使用下拉框切换目标,因此不少玩家卡在第三关 觉得合成动画太长,希望可以快进或者跳过 对游戏目标很迷惑,不知道为什 ...
- UltraSoft - Beta - 设计与计划
在DDL Killer的Alpha发布版本一周后,我们积累了一定的用户数量和用户反馈,同时也着手准备Beta阶段的继续开发,在正式开始迭代前,先对我们的Beta阶段的需求做一个统计和预估,一是保证工作 ...
- 团队作业8——Beta版本冲刺计划及安排
团队作业8--Beta版本冲刺计划及安排 经过紧张的Alpha阶段,很多组已经从完全不熟悉语言和环境,到现在能够实现初步的功能.下一阶段即将加快编码进度,完成系统功能.强化软件工程的体会. 凡事预则立 ...
- 团队作业八-Beta版本冲刺计划及安排
Beta版本冲刺计划及安排 目录: 1.介绍小组新加入的成员,他担任的角色 2.下一阶段需要改进完善的功能 3.下一阶段新增(或修改)的功能 4.需要改进的团队分工 5.需要改进的工具流程 6.冲刺的 ...
随机推荐
- 攻防世界 reverse serial-150
serial-150 suctf-2016 直接使用ida发现main函数中夹杂大片数据,应该是自修改代码,动态调试: 调试中发现,输入为16位,验证方法为:从头开始取一字符进行比较,比较通过检验后, ...
- 比Django官方实现更好的分页组件+Bootstrap整合
前言 Django全家桶自带的分页组件只能说能满足分页这个功能,但是没那么好用就是了 Django的分页效果 django-pure-pagination分页效果 使用方法 首先安装: pip ins ...
- 别再面向 for 循环编程了,JDK 自带的观察者模式就很香!
大家好,你还在面向 for 循环编程吗? 还有谁不会用观察者模式吗? 本篇栈长带来<观察者模式>理论及实战- 什么是观察者模式? 观察者模式(Observer Pattern)定义了对象间 ...
- 彻底搞清Flink中的Window
窗口 在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理.当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的 ...
- 去空格的四则运算表达式求值-Java
笔记 package com.daidai.day4.demo1; import java.util.ArrayList; import java.util.Arrays; import java.u ...
- C# List常用方法及Dictionary常用方法汇总
本文主要汇总了在开发过程中,使用List和Dictionary常用的方法,例如增.删.改.查.排序等等各种常用操作. 在平时的开发过程中,List和Dictionary是我们经常使用到的数据结构,而且 ...
- 茫茫内存,我该如何用 windbg 找到你 ?
一:背景 1. 讲故事 前天wx上有个朋友丢给我一个dump,让我帮忙鉴定一下某些敏感信息在内存中是否也是加密的,现在数据安全很重要,不仅数据库中的信息要加密,灌到内存后数据同样也需密文存储,随用随解 ...
- Day06_31_接口(Interface)
java 接口(Interface) 接口和抽象类的区别? 子类只能通过extends关键字去继承抽象类(Abstract),子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现 ...
- 号外号外!DevUI Admin V1.0 发布啦!
4月是鸟儿的月份,是木棉花的月份,是 DevUI Admin 发布的月份. 广受大家期待的 DevUI Admin 终于迎来了第一个开源 Angular 版本! DevUI Admin 是一个企业级中 ...
- hdu4535
题意: 吉哥系列故事--礼尚往来 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...