业务领域建模Domain Modeling

我的工程实践项目为实现一个脱机手写单字识别系统,通过输入的手写汉字识别出该字。

1:收集应用领域信息

汉字是非字母化的文字,在当今高度信息化的社会中,如何高效快速地识别汉字,已经成为了人机交互地一个重要瓶颈,也关系到人工智能地向前发展。因此,进行手写汉字识别的研究,具有广泛的应用前景和经济价值。

明确什么是Domain Modeling

  领域建模是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。业务对象模型(domain model)是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。业务对象模型从业务角色内部的观点定义了业务用例。该模型为产生预期效果确定了业务人员以及他们处理和使用的对象(“业务类和对象”)之间应该具有的静态和动态关系。它注重业务中承担的角色及其当前职责。这些模型类的对象组合在一起可以执行所有的业务用例。我们设计一个系统,总是希望它能解决一些问题,这些问题总是会映射到现实问题和概念。对这些问题进行归纳、分析的过程就是领域建模(这个域,指的就是问题域)。

  领域模型设计的步骤为:

    1. 从业务描述中提取名词;

    2. 从提取出来的名词中总结业务实体,区分名词中的属性、角色、实体、实例,形成问题域中操作实体的集合;

    3. 从业务实体集合中抽象业务模型,建立问题域的概念(例如在前面的例子中,我们把容易变质的水果称之为“短期保持水果”,当然也可以是其它说法,只要能跟用户达成共识即可);

    4. 用UML提供的方法和图例进行领域模型设计、确定模型之间的关系;

建立自己的领域模型

  这就要基于我的工程实践来建立,我的工程实践是脱机手写汉字的识别。

Brainstorming(头脑风暴)

该业务可分为两部分:一部分是开发者,另一部分是用户。  

开发者:

1、数据处理。

2、模型选择与评估。

3、数据增强。

4、可视化信息。

用户:

1、用户登录,账号密码与用户为1对1的关系。

2、主题选择:根据不同类型的用户,采用不同的主题,所以用户和主题之间是一对一的关系。

3、功能模块使用,使用提供的汉字识别功能模块。

Classifying the domain concepts into(将领域概念分为)

说明该领域概念是属于类还是属性,并且确定他们之间的关系

数据预处理类中应该包含图片的大小和数量,输入大小等属性,以及加载图片的方法。

模型类中需要有模型类别及其数量,学习率,batch和epoch等属性,训练模型进行梯度下降的方法以及保存模型的方法。

数据增强的方法,划分boundingbox和anchor的加标签的方法。

 信息可视化类中包含一些调用API接口的方法。

Document result using UML class diagram(UML类图)

 

原文地址:https://www.cnblogs.com/zzydexiaowu/p/11931105.html