系統設計方案————智能表單自動填寫系統


項目簡介

用戶上傳一張圖片,系統自動進行表單填寫。實現的主要功能應該有:
  圖片上傳、獲取圖片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