zoukankan      html  css  js  c++  java
  • 业务领域建模Domain Modeling

    领域建模简介

      领域模型(domain model)是对领域内的概念类或现实世界中的可视化表示。领域模型也叫做概念模型、领域对象模型和分析对象模型。领域模型和类都是对现实中的实体的描述,但是它们之间是有区别的,领域模型是对现实世界概念类的表示,不是软件对象的表示。它不用来描述软件类、架构或者软件对象。

    结合工程实践建模

      我的工程实践是做一款类似于facerig的软件,可以通过摄像头等设备实施捕捉到用户的面部,输入为视频流,并且实时映射到卡通模型上,并且将模型覆盖到人脸,达到换脸的效果。

    1、Collect application domain information

          首先收集系统主要业务的功能性需求与非功能性需求,用户需求。

      功能性需求

        (1)设计并训练好的模型,可以对输入的视频流处理实时捕捉人脸特征点;

        (2)将特征点映射到模型上,使其与人脸变化同步,并且覆盖到视频流中的人脸;

        (3)收集和响应用户的数据和行为。

    2、Brainstorming

       (1)列出重要的应用程序域概念

       (2)列出它们的属性

       (3)列出它们之间的关系

    3、Classifying the domain concepts

       (1)类

       (2)属性/属性值

       (3)关系:association, inheritance, aggregation

    4、Document result using UML class diagram

    使用DDD方法

      DDD本身是一套完整、详尽的方法论,从如何需求沟通(构建领域知识),到高层设计(战略建模)、详细设计(战术建模)

    • 创建实体
      • 基于通用语言和领域知识,需要首先分辨出实体。
      • 实体是领域中需要唯一标识的领域概念。如果两个实体所有状态都一样,但标识不一样,就是两个不同的实体。
      • 实体同样需要属性来描述

                    

    • 创建值对象
      • 值对象是领域中不需要唯一标识的领域概念。
      • 如果两份对象所有状态都一样,我们就认为是同一个值对象。值对象也可以理解为一组聚合的属性。例如地址信息,类目信息。

                     

    • 创建聚合根
      • 聚合根是一个实体,将一组模型聚合在一起,与外部模型划分开来。这一组模型全部关联着聚合根,只有聚合根负责与外部访问。
      • 聚合根有助于保持领域模型关联的简化和生命周期的维护。

                     

    结合我自己的工程实践,分为如下几个类:用户类,用户操作类,模型操作类,模型管理类,视频流类与视屏流信息处理类

  • 相关阅读:
    利用 pandas库读取excel表格数据
    Spark学习笔记3——RDD(下)
    Spark学习笔记2——RDD(上)
    Spark学习笔记1——第一个Spark程序:单词数统计
    Spark学习笔记0——简单了解和技术架构
    java标识符和关键字
    数据库事务ACID特性(原子性、一致性、隔离性、持久性)
    大数据系统的运行
    虚拟机和hadoop
    大数据基础1
  • 原文地址:https://www.cnblogs.com/H1K777/p/11925289.html
Copyright © 2011-2022 走看看