在本篇博客中,我们所讨论的主题是工程实践课题的业务领域建模Domain Modeling。而我选择的工程实践的题目在之前已经提到过,即实现一个企业端的智能信息收集与分析系统,在理解业务需求的基础之上,我们尝试对要实现的业务进行领域建模。

一、要求

  首先是业务领域建模的要求,共有以下几点:

(1)收集业务领域的相关信息(重点关注功能方面的需求-其余的需求与相关文档可适当考虑在内);

(2)头脑风暴-列出业务领域相关的重要概念(包括它们的属性属性值以及它们之间的关系);

(3)将业务领域概念分类(–类别–属性/属性值–关系—);

(4)采用UML类图记录最终分析结果;

二,步骤

  其次是业务领域建模的一般步骤(三步):

A. 发现类和对象:尽可能多的找出概念类(识别方法:概念类分类列表、名词性短语)

a.概念分类列表:人、事物、地点、组织、概念、事件、规则、抽象名词、交易项目、角色、设备、组织结构(对用例进行识别:实体、过程中的信息、角色的输入输出、操作设备等)

b.名词分析法:识别问题域和用例描述中的名词和名词性短语作为候选的概念类和属性,从候选项中,摒弃多余的名词,确定最终的对象(注意是作为类还是属性,类可以是一种标识、状态和行为)

B. 建立类间关联(关联、继承、依赖)

a.关联:类之间的某种语义关系包括聚合,组合

b.继承:一般到特殊

c.依赖:表明一个元素(源元素)的定义或实现依赖另一个元素(被依赖元素)的定义或实现

C. 添加类的重要属性(类的语义完整性、类的作用、问题域相关特性等)

a.语法:可见性 属性名:类型 多重性=默认值{特性表}  /  [可见性] 属性名 [:类型] [=初始值]

b.属性类型是简单的数据类型为佳,如果是复杂概念,考虑是否单独作为一个概念类

c.任何属性都不表示外键,即不应该用属性来联系概念类,区别于数据库设计中的外键
三、建模

  最后是实现我们工程实践的业务领域建模:

1.名词:

企业用户,管理员

2.用例:

企业用户注册账号

企业用户使用注册账号登录了信息系统

企业用户在系统中键入关键字进行查找

企业用户查看系统返回的相关信息

管理员查看已经注册的用户账号

管理员锁定某个用户账号

管理员设置某个栏目下的相关资源可见

3.加属性

管理员:用户数量,账号权限,栏目权限

用户:登录状态,索引信息

4.最终建模图