系统设计方案————智能表单自动填写系统


项目简介

用户上传一张图片,系统自动进行表单填写。实现的主要功能应该有:
  图片上传、获取图片OCR结果,标记图片文字识别区域,图片类型识别,表单定义,训练定制模型,表单自动填写等等。

软件设计方案

1.软件架构

本系统拟采用B/S架构,客户代码通过请求和应答的方式访问或者调用服务代码。

为了让前后端彻底独立开发,我们在开发上选择MVC风格,即模型-视图-控制器架构。Model(模型)代表一个存取数据的对象及其数据模型。View(视图)代表模型包含的数据的表达方式,一般表达为可视化的界面接口。Controller(控制器)作用于模型和视图上,控制数据流向模型对象,并在数据变化时更新视图。控制器可以使视图与模型分离开解耦合。

2.系统API接口

  • 表单定义接口:
    输入:表单各输入框关键字
    输出:表单类别id
    功能:动态形成表单并获取表单类别

  • 获取mapping数据接口:
    输入:图片,表单类型id
    输出:mapping数据,图片OCR数据,图片类型id
    功能:调用OCR接口获取图片OCR数据,并进行图片类型判断,根据图片类型以及表单类型找到相应的mapping数据

  • OCR接口
    输入:图片
    输出:OCR数据
    功能:返回图片OCR结果

  • 测试接口
    输入:mapping数据
    输出:true
    功能:存储图片类型id,表单类型id以及mapping数据为一条数据

3.视图分析

1.根据功能划分,可以得到功能分解视图


2.依赖视图




3.执行视图
用户使用该系统的步骤应为:先定义表单,后上传图片。

4.实现视图

src                    源代码目录
    -main                 存放实现类的源代码
        --pojo             存放model类
        --controller      存放控制器类
        --dao             存放持久层代码,与数据库进行交互
        --service          实现业务功能服务
        --util             一些常用工具类


4.数据库设计

1.表单类型表

该表可存多个输入框名字与id(输入框名与id是一对一的),初步设计为根据用户输入的输入框名字(如姓名,学号等)来判断表单类型(必须和所有输入框名字全部匹配上,否则新建一个类型)。

2.图片类型表

初步设计:上传的图片的开头必须有标题,根据标题来判断图片类型

3.mapping表

(fid,pid)为主键,一个fid与pid可以唯一定义一条mapping数据

5.运行环境与技术选型

前端采用js,后端采用node.js,数据库采用MongoDB,使用intellij idea 进行开发。

6.核心工作机制

1.用户输入表单输入框名字列表,系统返回表单类型id,并动态生成表单
2.用户上传图片,系统返回ORC数据,并在前端图片上标注出识别域。系统确定图片类型,根据图片类型id与表单类型id寻找mapping数据,若找到,则自动填写表单,若没有找到,则需训练定制模型。
3.用户训练模型:用户点击标记框,再点击输入框,形成对应json数据,点击测试按钮,系统根据json数据,表单类型id,图片类型id向mapping表中插入一条数据。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM