<六>面向对象分析之UML核心元素之业务实体
一:基本概念 ---->业务实体类(class)的一种版型。特别用于在业务建模阶段建立领域模型。业务实体是业务模型中非常重要的一个因素,它为问题领域中的关键概念建立概念化的理解。是人们认识问题领域的重要手段。如果说参与者和用例描述了我们在这个问题领域中达到的什么样的目标,那么业务实体就描述了我们使用什么来达到业务目标以及通过什么记录这个业务目标。
---->官方定义:业务实体代表业务角色执行业务用例处理或使用的“事物”。
---->一个业务实体经常代表某个对多个业务用例或用例实例有价值的事物,一般而言,一个好的业务实体不包含关于使用主体和使用方法的信息。
---->如何理解上述定义呢?
(1)业务实体来自现实世界,在我们建模的问题领域里一定能够找到与它相对应的事物,并且这个事物是参与者在完成其业务目标的过程中使用的或创建出来的。并不一定对应一个具体的事物,dto是作为数据工具。
(2)业务实体一定是在分析业务流程的过程当中发现的,而业务流程实际上就是业务的用例场景。这意味着业务实体必须至少被一个业务用例场景使用或创建,对业务用例场景没有贡献的事物,即使它客观存在,也不应该为它建模。例如,买衣服的场景中,挂衣服的衣架就是无贡献的。
(3)业务实体作为类的一个版型,具有对象所有性质,包括属性和方法,同时具有对象的独立性,即业务实体只应当包含它本身固有的特性,而不能够包含外界是如何使用它的信息。例如:一把刀,就是一把刀,具有自身固有的属性和行为。这个业务实体我们之描述它的大小,材料,外观,锋利程度等,不能描述它是用来切菜的。因为它是不是用来切菜,得取决于业务场景。在厨师的厨房做菜的场景,就是切菜。在坏人则是用来抢劫的凶器。
二:业务实体的属性
---->属性是用来保存业务实体特征的记录,业务实体的属性集合决定了它的唯一性。
---->属性可以很容易从它所对应的现实事物中找到。例如,钱币,我们可以很容易找到它的属性:面额,材料,大小,防伪标识。但,在建模时,我们不需要把它所有的属性都列举出来,只在场景中有用的列举出来。
---->一般来说,如果只有一个对象可以直接使用这个属性,或者只能通过这个对象才能访问到这个属性,它就应当作为一个属性存在。否则就应当把它单独建模成一个业务实体。
三:业务实体的方法
---->方法是访问一个业务实体的句柄,它规定了外部可以怎样使用它。
---->方法是外部能够使用这个业务实体的全部信息。
---->不需要将这个业务实体所有可能的方法都列举出来,只列举场景中应用到的。
---->业务实体的方法也同样是面向对象方法中的抽象视角的体现。
四:获取业务实体
-----> 在业务实体的定义里讲到:业务实体代表业务角色执行业务用例时所处理或使用的“事物”。一个业务实体经常代表某个对业务用例或用例实例有价值的事物。实际上这个定义就是我们获取业务实体的方法。
----->(1)建立业务用例场景。(2)从业务用例场景中诸葛分析动词后面的名词,他们就是业务实体的备选对象。(3)根据备选对象对业务目标是否有贡献这一筛选条件从备选列表中挑选出符合的对象。例如邮局是一个场所,它是寄信的一个约束,或者说前置条件,对寄信业务目标来说没有直接的贡献,应当把它从列表去掉。剩下的就成为初始的业务实体。(4)分析业务实体之间的关系,并决定哪些应当单独建模,哪些应当作为属性。比如地址和邮票都在信封上,其中地址只有信封能够承载,并且也只有通过信封来读取地址,所以地址应当作为信封的一个属性。而邮票虽然也在信封上,但是寄信人可以对邮票进行单独处理,比如在购买邮票时没有贴在信封上,所以邮票应该单独建模。
<六>面向对象分析之UML核心元素之业务实体的更多相关文章
- <十>面向对象分析之UML核心元素之关系
关系 --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构. 一,关联关系(association)
- <八>面向对象分析之UML核心元素之分析类
一:基本概念 ---->在那大数项目中,分析类是被忽视的一种非常有用的元素. ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...
- <七>面向对象分析之UML核心元素之包
一:基本概念
- <四>面向对象分析之UML核心元素之用例
一:基本概念 --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值. --->所谓用例,就是一件事情,要完成这 ...
- <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性
设计类
- <五>面向对象分析之UML核心元素之边界
一:基本概念
- <三>面向对象分析之UML核心元素之参与者
一:版型 --->在UML里有一个概念叫版型.有些书里也称类型,构造型. --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...
- <十二>面向对象分析之UML核心元素之节点和设备
节点,设备
- <十一>面向对象分析之UML核心元素之组件
组件
随机推荐
- 苹果操作系统Mac OS X
OS X 是先进的操作系统.基于坚如磐石的 UNIX 基础,设计简单直观,让处处创新的 Mac 安全易用,高度兼容,出类拔萃. UNIX 之威力,Mac 之简单OS X 既简单易用且功能强大.所有的一 ...
- Spring AOP: Spring之面向方面编程
Spring AOP: Spring之面向方面编程 面向方面编程 (AOP) 提供从另一个角度来考虑程序结构以完善面向对象编程(OOP). 面向对象将应用程序分解成 各个层次的对象,而AOP将程序分解 ...
- *CentOS下简单的MySQL数据库操作
1.登录成功之后退出的话,直接输入quit或者exit即可.
- C++:String类
String类 1.使用String类必须在程序的开始包括头文件string,即要有如下语句:#include<string> 2.string类字符串对象的使用方法与其他对象一样stri ...
- Android getActionBar()报空指针异常
1. 加载完视图后,再去获取: 写在setContentView()后面. 2.sdk版本: Actionbar的主题在3.0以后才有,使用的时候要确保,最低的版本不能小于3.0. <uses- ...
- 基于SMB协议的共享文件读写 博客分类: Java
基于SMB协议的共享文件读写 博客分类: Java 一.SMB协议 SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445. 服务器信息块(SMB)协议是一种IBM协议,用于在计 ...
- 机器学习 —— 概率图模型(Homework: Exact Inference)
在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...
- Burnside引理和polay计数学习小记
在组合数学中有这样一类问题,比如用红蓝两种颜色对2*2的格子染色,旋转后相同的算作一种.有多少种不同的染色方案?我们列举出,那么一共有16种.但是我们发现,3,4,5,6是同一种,7,8,9,10是用 ...
- POJ 3185 The Water Bowls(高斯消元-枚举变元个数)
题目链接:http://poj.org/problem?id=3185 题意:20盏灯排成一排.操作第i盏灯的时候,i-1和i+1盏灯的状态均会改变.给定初始状态,问最少操作多少盏灯使得所有灯的状态最 ...
- Android log日志
LOG是用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用. androidsdk中提供了l ...