zoukankan      html  css  js  c++  java
  • 从零开始学架构(五)系统设计-领域模型和概念架构

    文章大纲

    1、  领域模型

    2、  概念架构

    3、  文章总结

     一、领域模型

    1.1 概述

    定义:探索问题领域的工具,用于表达业务中的核心概念,以及概念之间的关系

    作用:

    Ø  方便沟通:提供领域和领域词汇,并且表达了概念以及之间的关系;

    Ø  业务核心:领域模型逐步细化后,会成为业务层的核心;

    Ø  数据模型:可映射直接或少量修改后映射为数据模型;

    Ø  事物本质:反应事物本质,影响系统边界、复用度、可扩展性等;

     

    过程:识别领域概念、识别领域关系、识别领域状态、领域模型化[类图、状态图]、领域模型评审

    表达方式:类图、状态图

    相关概念:领域词汇表

    参与者:领域专家、客户、需求分析人员、架构师、系统分析人员等

    1.2 需求背景

    在电商系统中:购物流程[简化版]

    1)会员可以购买商品,不同的会员商品价格不同;

    2)购买后生成客户订单,订单可能有多个商品;

    3)会员可以自由选择在线支付或货到付款;

    4)送货上门后,会员可以对购买体验进行评价;

    1.3 识别领域概念

    第一步:识别领域概念

    会员:会员有种,普通会员,V白金会员,钻石会员;

    价格:购买商品的价格,不同的会员价格不同;

    订单:会员购买商品的凭证;

    商品:商城销售的物品;

    在线支付:线上支付;

    货到付款:送货时再付款;

    配送:商品通过物流等配送方式,送到客户手中;

    评价:对购买商品体验进行打分评价;

    小结

    1)领域概念一般是名词;

    2)描述了业务中的关键角色(对象)

    3)各概念组合在一起构成了完整的业务流程;

    第二步:识别领域关系

    关联关系

    会员与订单:1对多关系

    商品与价格:1对多关系

    订单与商品:1对多关系

    商品与评论:1对多关系

    订单与配送:1对1关系

    泛化关系

    会员分类:普通会员、白金会员、钻石会员

    支付方式:在线支付、线下支付

    小结

    1)关系:概念与概念之间的关系;

    2)类图:泛化,关联[关联,聚合,组合],依赖

    第三步:识别领域状态

    以订单为例

    状态的流转过程

    初始态、待支付、待发货、已收货、已评价、退款中、已退款、已取消

    订单状态之间的关系

    1)初始态à待支付à待发货à已收货à已评价

    2)待发货à退款中à已退款;

    3)确认收货à退款中à已退款;

    4)待支付à已取消;

    小结

    1)状态流转过程;

    2)状态”相生相克”关系;

    第四步:领域模型化-类图

    注意:领域模型包含核心字段以及领域之间的关系

    第四步:领域模型化-状态图

     

    第五步:领域模型评审

    所有评审、不外乎找客户、专家【领域,架构,行业,大牛等】,领导;

    按照计划和核对表对评审对象,进行讲解、讨论、评价、得出评审结果。

    关键点

    1)做好准备:评审材料,事前沟通;

    2)找到正确的人:必须参加的、建议参加的、无需参加的;

    3)把握评审流程:记录;

    4)得到评审结果:通过,不通过,修改再评审;

    5)评审后工作:修改,再评审,签字等;

    二、概念架构

    三、文章总结

    四、下篇预告

    第六篇:系统设计之架构细化和架构视图

    (1)架构细化

    (2)架构视图

    (3)架构文档

    微信公众号:itfly8,欢迎大家加入。专注大型分布式网站架构,微服务架构,大数据,架构模式,设计模式。
  • 相关阅读:
    [易语言] 六边形扫雷游戏实战开发
    [web开发] 利用微信小程序开发上海大学失物招领平台
    [web开发] Vue + spring boot + echart 微博爬虫展示平台
    [web开发] Vue+Spring Boot 上海大学预约系统开发记录
    [神经网络]一步一步使用Mobile-Net完成视觉识别(一)
    Python中操作ini配置文件
    python操作mySQL数据库
    使用python和selenium写一个百度搜索的case
    功能测试的过程中有关数据安全性的检查点
    python主流测试框架的简介
  • 原文地址:https://www.cnblogs.com/itfly8/p/14967369.html
Copyright © 2011-2022 走看看