工程实践项目中的需求分析与概念原型--基于深度学习的脱机中文手写文本行识别系统

一 项目介绍

随着计算机技术的不断发展,人们更加依赖计算机接受和处理信息,目前仍有许多信息存储在纸质文档中,将纸质文档中的信息转换到计算机中,能够更加方便地存储、管理和编辑信息。离线中文手写文本行识别技术是指将人工书写在纸上的汉字转换为计算机中可编辑的中文电子文档。目前离线手写汉字识别研究较多的有两类:一类是手写汉字单字符识别,另一类是手写汉字文本行识别。它们之间的区别是文本行识别省去了单字符分割的步骤。

 基于深度学习的脱机中文手写文本行识别系统包括四个功能模块:数据集模块、工具类模块、文本行识别模块和GUI模块。其中数据集模块包括数据集的处理以及额外的文本行数据的生成;工具类模块包含一些图像处理的函数、CTC解码的函数、AR和CR计算的函数。文本行识别模块就是进行文本行的识别;GUI模块用来生成一些展示项目的界面。

本篇博客将基于该项目进行用例建模和业务领域建模,以及数据建模,最终形成概念原型。

二 用例建模

首先我们先了解什么是需求分析。

需求就是对用户期望的软件行为的表述;获取需求就是需求分析师通过关注用户的期望和需要,从而获得用户期望的软件行为,然后对其进行表述的工作; 需求分析是在获取需求的基础上进一步对软件涉及的对象或实体的状态、特征和行为进行准确描述或建模的工作。

需求分析有两类基本方法:原型化方法(Prototyping)和建模方法(Modeling)。原型化方法可以很好地整理出用户接口方式(UI,User Interface),比如界面布局和交互操作过程。 建模的方法可以快速给出有关事件发生顺序或活动同步约束的问题,能够在逻辑上形成模型来整顿繁杂的需求细节。

用例图是需求分析中的产物,主要作用是描述参与者与和用例之间的关系,帮助开发人员可视化地了解系统的功能。借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。

用例图是由参与者(Actor)、用例(Use Case) 以及它们之间的关系构成的用于描述系统功能的动态视图。其中用例和参与者之间的对应关系又叫做通讯关联(Communication Association)。

用例(Use Case)的核心概念中首先它是一个业务过程(business process),经过逻辑整理抽象出来的一个业务过程,这是用例的实质。因此在给出用例图之前我们先对系统流程进行分析。

整个系统流程可以分为如下步骤:

  1.  用户产生需要识别的文本行图片的需求。
  2. 通过拍照或者手写的方式,提交需求至系统。
  3. 系统进行需求的识别。
  4. 需求返回至用户,如果需要识别多张图片,进入loop中。
  5. 客户满意的消息提交。
  6. 系统处理满意的请求,把交付消息反馈给用户。
  7. 结束。

系统流程图如下:

 

本项目的用例图如下:

三 业务领域建模

业务领域建模是开发团队用于获取业务领域知识的过程。因为软件工程师往往需要工作在不同的业务领域或者不同项目中,他们需要业务领域知识来开发软件系统。软件工程师往往来自不同的专业背景,这可能会影响他们对业务领域的认知。因此业务领域建模有助于开发团队获取业务领域知识形成统一的业务认知。

业务领域建模的具体步骤如下:

  1. 收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料。
  2. 头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系。
  3. 给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系。
  4. 将结果用 UML 类图画出来。

首先识别出系统中的类:

1. 用户类(user)

2. 管理员类(administrator)

3. 客户类(client)

4. 图像类(image)

5. 工具类(tool)

6. 模型类(model)

类图如下:

四 业务数据建模

1. 用户表:

字段 类型 备注
user_id String  
password String  
user_num int 用户数量

 

2. 管理员表

字段 类型 备注
user_id String  
password String  

 

 

五 概念原型

经过以上几个过程:用例建模、业务领域建模、业务数据建模可以总结出本次工程时间项目的概念原型。

用户客户在系统登录系统(若是首次登录则会进入注册账户界面),进入主界面后上传需要进行识别的中文手写文本行图片,点击识别按钮后,系统会图片进行适当处理,然后使用文本行检测模型对文本行进行定位及识别。识别完成后会在界面上向客户展示识别结果。而后由客户决定是否继续上传图片进行识别,否则退出系统。

 

六 总结

此博客对基于深度学习的脱机中文手写文本行识别系统进行了需求分析。虽然其中还有很多不足,但通过本次分析,我大概了解了对一个项目如何进行用例建模、业务领域建模及数据建模,以及最后总结概念原型,收获颇多。

 

 

参考文献:

 

https://gitee.com/mengning997/se/tree/master/ppt

 https://blog.csdn.net/cold___play/article/details/100824261?utm_source=app

 https://blog.csdn.net/just3do/article/details/61615231?utm_source=app

 

 

 

 

 

 

 

 

posted @ 2020-12-06 22:02  KE8901  阅读(260)  评论(0)    收藏  举报