[no_code][Alpha]项目展示博客
$( "#cnblogs_post_body" ).catalog()
团队项目链接
github 后端
github OCR文档-含部分所需测试代码目前private
API调用说明与文档
Alpha会议纪要目录
团队目标
设计一个OCR表单识别软件(Alpha阶段目标:开发一个OCR识别的核心API套件)
用户反馈后的新增功能
Alpha阶段原功能[1.0版本]:表单处理的API
用户的推荐: 希望有更加轻量级的展示格式
最近的新增功能[1.01版本]:可以从表单数据推导到csv等文件格式
用户需求满足情况
总表
| 用户类型 | 满足情况 |
|---|---|
| 学生 | 学生有尝试调用API的能力,已经可以完成使用 |
| 工作人员和老师 | 在我们的协助下可以使用API,后续可以使用APP |
| 用户信息 | 用户情况 |
|---|---|
| 姓名 | Prime21 |
| 用户身份 | 学生 |
| 用户动机 | 把做实验的到的数据表导入到电脑中。 |
| 用户困难 | 所测得数据较多,手动录入效率低且容易出错。 |
| 典型场景 | 做完实验撰写报告时需要根据得到的数据来计算对应结果,导入到电脑后操作很方便。 |
| 用户偏好 | 希望能有一个能快速、准确识别表单的软件来帮助自己。 |
| 用户比例 | 60%左右 |
实际用户反馈:
- 每次上传还需要的结果比较快
- 上传后识别有部分错误,如果可以直接在上面改动就好
| 用户信息 | 用户情况 |
|---|---|
| 姓名 | Prime22Prime22 |
| 用户身份 | 老师 |
| 用户动机 | 将学生的签到信息导入到电脑中,并对信息进行汇总。 |
| 用户困难 | 课程组学生较多,手动录入和汇总麻烦。 |
| 典型场景 | 同学们上课回答问题以后老师在纸质花名单上做记录,最后需要导入到电脑中进行汇总好计算同学们的平时成绩。 |
| 用户偏好 | 简单易使用,且识别准确的软件。 |
| 用户比例 | 20%左右 |
实际用户反馈:
- 功能正确,但是感觉交互还可以更加完善
| 用户信息 | 用户情况 |
|---|---|
| 姓名 | Prime23 |
| 用户身份 | 政府工作人员 |
| 用户动机 | 民意收集 |
| 用户困难 | 大量的纸质问卷表需要录入 |
| 典型场景 | 将回收得到的问卷录入电脑 |
| 用户偏好 | 高效、准确的软件。 |
| 用户比例 | 10%左右 |
实际用户反馈: (王先生)
- 可以批量导入上传的照片
- 可以批量下载照片
- 希望能对多页表格做合并
下载量和调用量
| 项目 | 数量 |
|---|---|
| API调用统计 | 1次/人~20次/人 |
| 用户统计 | 约54人 |
| github star | 约21人 |
可以看出github star的人数和我们推广出去的人数有不符,可能是我们推广的需求人群近期的表单处理需求还不够大(如学生)。软件下载量的突破可能还需要后续beta阶段的前端支持。
原因:开始在大班群推广,后续才在我们自己的软工班级推广,比较复杂。
文档和安装指导
我们的项目目前是一个完整的后端API项目。在项目网站上有详细的API使用/调用的参数设定和指导。
协作方式
- github pr 或者是 github kanban
- 使用腾讯会议开会讨论
用户反馈的截屏
X用户(隐私保护)的反馈,他是一名已经就业的软件开发工作人员。

效果展示
输入:多种文件,以及包含有异常的表单

输出结果(命令行log)

输出结果(csv表单)




OCR技术测试
JSON解析测试

pdf上传测试

jpeg上传测试

手写测试

后端单元测试

API调用测试


单元测试
历次单元测试记录

单元测试覆盖率

燃尽图


团队成员Alpha阶段贡献
| 成员 | 角色 | 工作 | 工作量(单位:天) |
|---|---|---|---|
| pmxm | PM | 第一次博客作业 | 2 |
| pmxm | PM | 第二次博客作业 | 3 |
| pmxm | PM | 第三次博客作业 | 2 |
| pmxm | PM | 共15次会议及会议记录 | 15 |
| pmxm | PM | 支援OCR train过程 | 4 |
| pmxm | PM | 支援backend 服务器处理工作 | 2 |
| pmxm | PM | 协调backend和OCR的工作 | 2 |
| pmxm | PM | 时间节点推进和监督 | 3 |
| pmxm | PM | 完善code review | 2 |
| pmxm | PM | 服务器和域名配置 | 1 |
| lzb | backend 组长 | 数据库表单设计 | 3 |
| lzb | backend 组长 | 技术相关的blog review | 2 |
| lzb | backend 组长 | 后端初步设计和规划 | 3 |
| lzb | backend 组长 | 接手OCR代码 | 3 |
| lzb | backend 组长 | 第二次接手OCR 代码 | 3 |
| lzb | backend 组长 | 协调数据库设计和OCR辅助设计 | 2 |
| lzb | backend 组长 | 负责写若干单元测试,测试其他组员的代码 | 4 |
| lzb | backend 组长 | 完善code review | 2 |
| ykh | backend 组员 | 完善用户注册登录机制 | 2 |
| ykh | backend 组员 | 完善用户管理系统 | 3 |
| ykh | backend 组员 | 服务器端部署 | 4 |
| ykh | backend 组员 | 服务器和域名配置 | 2 |
| ykh | backend 组员 | 历次组内工作总结报告 | 4 |
| ykh | backend 组员 | 文档编写和完善 | 2 |
| ykh | backend 组员 | 单元测试编写 | 2 |
| my | backend 组员 | OCR后端工作编写 | 2 |
| my | backend 组员 | 流程设计图编写 | 3 |
| my | backend 组员 | OCR后端单元测试 | 3 |
| my | backend 组员 | OCR流程跑通 | 1 |
| xsy | OCR 组长 | OCR文档阶段调研 | 1 |
| xsy | OCR 组长 | OCR数据生成表单 | 3 |
| xsy | OCR 组长 | OCR分析流程跑通 | 2 |
| xsy | OCR 组长 | OCR阶段测试分析 | 2 |
| xsy | OCR 组长 | OCR组内工作协调 | 2 |
| xsy | OCR 组长 | OCR 测试报告 | 3 |
| xsy | OCR 组长 | OCR和backend对接 | 2 |
| lzy | OCR 组员 | OCR文档阶段调研 | 1 |
| lzy | OCR 组员 | OCR测试分析 | 2 |
| lzy | OCR 组员 | OCR训练分析 | 2 |
| lzy | OCR 组员 | 尝试部署OCR在其他分析 | 2 |
| lzy | OCR 组员 | OCR设计报告 | 2 |
| zt | OCR 组员 | OCR文档阶段调研 | 1 |
| zt | OCR 组员 | OCR训练分析 | 2 |
| zt | OCR 组员 | OCR训练调试 | 2 |
| zt | OCR 组员 | OCR单元测试分析与调整 | 1 |
| zt | OCR 组员 | OCR设计分析报告和测试 | 2 |
| zt | OCR 组员 | OCR训练结果分析 | 2 |
|成员|pmxm|xsy|lzb|zt|my|lzy|ykh|
|得分|51|53|52|49|47|48|50|
核心功能
我们的核心功能是表单处理,现在可以导出成数字化的文字的位置数据,还有我们通过位置输出简易的表格生成API
用户暴露出的bug
- OCR识别率有一定问题的存在,数字识别率、文字识别率和位置识别率用户的测试和我们的测试反响不同。(正在调优)
- 域名使用暂时存在问题(原因:备案问题和国内的安全问题,之前提出的一次备案请求在5.6日又被撤销了,在重新上云备案)(后续使用APP版本可能没有这个问题)
- 特殊的表格:有特殊的制表结构(斜线格子、合并单元格)
- 手写表格识别困难
- 可能会有除0的bug,原因是表格分析的API产生了异常分析。
学习收获
- 感谢软工课程给了我们一次体验软工开发流程的机会
- 我们学习到了如何去分析和设计一个OCR应用、后端开发和设计的相关知识、学习了相关的网络服务器应用
- github相关的管理流程,用线上会议来解决协同工作
Beta阶段计划
- 易用便于操作的使用前端
- 特殊表格的定制化API(尝试)
- 多图表格合并
- 解决Azure的国内访问问题,需要一定国内线路备份
[no_code][Alpha]项目展示博客的更多相关文章
- [no_code][Beta]项目展示博客
$( "#cnblogs_post_body" ).catalog() 团队项目链接 Beta阶段核心开发点: github 前端 github 后端 github OCR文档-含 ...
- [对对子队]Alpha阶段项目展示博客
Alpha阶段项目展示博客 1 团队成员的简介和个人博客地址 成员 头像 岗位 博客 个人介绍 黄贤昊 PM 17373253 喜欢玩游戏和做游戏,项目经验基本都和游戏相关,擅长摸鱼,偶尔敬业. 刘子 ...
- Alpha版本 - 展示博客
Alpha版本 - 展示博客 S.W.S.D 成员简介 演示动态图 注册 登录 新建记录 分享记录 修改主页时间查看记录 文章模块 流星模块 修改用户信息(以头像为例) 用户使用概况 预期的典型用户 ...
- [对对子队]Beta阶段项目展示博客
Beta阶段项目展示博客 1 团队成员的简介和个人博客地址 成员 头像 岗位 博客 个人介绍 黄贤昊 PM 17373253 喜欢玩游戏和做游戏,项目经验基本都和游戏相关,擅长摸鱼,偶尔敬业. 吴桐雨 ...
- [Alpha阶段]项目展示博客
目录 Alpha阶段项目展示 1.团队成员介绍 2.工程相关信息 (1)我们的用户 (2)产品表现 (3)团队分工 (4)项目管理 (5)测试 (6)文档 (7)用户调研 3.项目信息 (1)实际进展 ...
- Alpha阶段项目展示博客
烫烫烫烫烫(hotcode5)团队 1. 团队成员的简介和个人博客地址 刘畅 博客园ID:森高Slontia 身份:PM 个人介绍: 弹丸粉 || 小说创作爱好者 || 撸猫狂魔(x || 生命的价值 ...
- Beta阶段项目展示博客
Beta阶段项目展示 团队成员的简介 详细见团队简介 角色 姓名 照片 项目经理,策划 游心 策划 王子铭 策划 蔡帜 美工 赵晓宇 美工 王辰昱 开发.架构师 解小锐 开发 陈鑫 开发 李金奇 开发 ...
- “希希敬敬对”团队--‘百度贴吧小爬虫’Alpha版本展示博客
希希敬敬对的 Alpha阶段测试报告 随笔链接地址 https://www.cnblogs.com/xiaoyoushang/p/10078826.html Alpha版本发布说明 随笔链接地址 ...
- Alpha版本——展示博客【第二组】
成员简介 章豪 http://cnblogs.com/roar/ 角色: PM,后端 个人介绍: 努力学习开发的小菜鸡,管理小白,背锅组长 贡献: - 设计开发计划 - 跟踪项目进行 - 组织开组会 ...
随机推荐
- 《Go语言圣经》阅读笔记:第三章基础数据类型
第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...
- JDK7&JDK9处理异常新特性
1.JDK7新特性是在 try (定义对象,作用域就是try方法体) 复制一个文件实例: 复制文件的原理: 先从硬盘写出到内存中,创建文件输入流对象 FileInputStream fis; 中间是在 ...
- [第十八篇]——Docker 安装 Node.js之Spring Cloud大型企业分布式微服务云架构源码
Docker 安装 Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台. 1.查看可用的 N ...
- CodeForce-792C Divide by Three(数学)
Divide by Three CodeForces - 792C 有一个正整数 n 写在黑板上.它有不超过 105 位. 你需要通过删除一些位使得他变成一个美丽的数,并且需要删除尽量少的位数.删除的 ...
- COS控制台进阶 - 文件预览和在线编辑
导语 | COS控制台新上线了文件预览功能,用户可在控制台内直接预览.编辑文件内容. 前不久,微软发布了 vscode for web 的公告,是基于web的在线代码编辑器,无需下载安装可以直接在we ...
- PDO操作大数据对象
一般在数据库中,我们保存的都只是 int . varchar 类型的数据,一是因为现代的关系型数据库对于这些内容会有很多的优化,二是大部分的索引也无法施加在内容过多的字段上,比如说 text 类型的字 ...
- PHP的内置WEB服务器
在很多时候,我们需要简单的运行一个小 demo 来验证一些代码或者轮子是否可用,是否可以运行起来,但是去配 nginx 或者 apache 都很麻烦,其实,PHP CLI 已经提供了一个简单的测试服务 ...
- vue报错 Uncaught TypeError: Cannot read property of null
有可能是点击a标签,但是a标签有click事件,未阻止默认事件导致报错,开始都看不出来是什么错误
- 数组转为unicode字符编码字符串
json_encode($data, JSON_UNESCAPED_UNICODE)在创建微信卡券,发送数据时需要这个
- 全面分析 Vue 的 computed 和 watch 的区别
一.computed介绍 computed 用来监控自己定义的变量,该变量在 data 内没有声明,直接在 computed 里面定义,页面上可直接使用. //基础使用 {{msg}} <inp ...