zoukankan      html  css  js  c++  java
  • 领域模型设计

    软件设计过程经验谈 之 如何做好领域模型设计

           经常听到领导教诲,开发的同事应该要往前走一步,去做产品?去做售前?这也是一种方式,只不过是一大步。个人觉得,在迈出这一大步之前,需要先走出一小步:从写好代码到做好设计。

           下图是按照软件工程的通用做法,梳理出的标准设计指南,已经非常清晰地定义了软件设计的阶段和活动,产物规约,文档要求以及需要配合的培训。比较适合于人朋规模大、产品化程度高、外包服务模式。按照这个标准的设计指南,把每一阶段的事情做好,这是标准的开发方法论的实践指导。

    2222222

           有人会说,现在是移动互联网的时代,我们的产品开发要求短、频、快地上线,这种标准的设计方法已经不适合了,我觉的不完全正确。我的做法是,根据产品的愿景和市场情况,按照标准的设计指南做一些定制性的剪裁,哪怕文档全部裁完了,脑子里分析时仍然要按照这几个阶段开展对应的活动,因为这不仅是指南,更是方法论,针对这个几阶段开展过的活动,下面就梳理下我的设计经验。

            首先是需求捕获和分析阶段,总是感觉需求在不断地变化,老是怪市场和产品经理,其实很多情况是我们对需求的理解不到位。既有业务理解不准确,也有支撑方式不合理。还有一点就是将原型与需求没有进行区分,原型不代表需求。将需求分析划分为业务需求与系统需求两个阶段,做好领域分析,才能根本性地适应需求的不断地变化。 

          接下来谈谈如何做好系统分析,在这个阶段一般又叫建领域模型,又叫概念模型,分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。领域模型设计是需求分析的关键步骤。它帮助用户及需求分析人员建立业务概念,确定用户业务的问题域,系统涉及的业务范围等等。

         领域模型设计的一般步骤为:

    1、从业务描述中提取名词

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

    3、从业务实体集合中抽象业务模型,建立问题域的概念

    4、用UML提供的方法和图例进行领域模型设计、确定模型之间的关系。注:实体之间的关系,主要有泛化、依赖和关联,关联又分了一般关联、聚合、组合等

           简言之,先分析出模型实体,然后找出模型实体之间的关系。

        领域模型与实数据模型的关系:领域模型是与用户沟通的一个重要工具,是需求分析人员与用户共同理解的概念,是彼此之间交流的语言。它是一个分析模型,描述的是业务中涉及到的实体及其相互之间的关系,它是需求分析的产物,与问题域相关。同时给我们需求分析人员和系统功能提供了一定的扩展视野,看到将来需求的可能变化或可能存在的问题。而数据模型是系统设计、实现的一部分,描述的是对用户需求在数据结构上的实现,当然数据模型中的概念模型设计与领域模型类似,缺乏的是实体之间更广泛的关系描述。

         这里以开放平台业务管理为例,设计出的领域模型图纸,欢迎大家拍砖。

    image

           

     
     
     
    标签: UML领域模型
  • 相关阅读:
    C# 多线程总结 异常处理 线程取消 锁(lock)
    C# sync/async 同步/异步
    C# Parallel 多线程并发
    C# Task TaskFactory 异步线程/异步任务
    C# ThreadPool 线程池
    Nginx基础配置
    Nginx配置通用语法
    Nginx进程间的关系
    Nginx命令行控制
    Flask框架02(路由)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3402223.html
Copyright © 2011-2022 走看看