一、识别分析类
分析类的表现
根据上面的6个选择特征进行筛选,列出SafeHome的潜在类:
二、描述属性
定义操作
四种类型:
- 以某种方式操作数据(例如,添加、删除、重新格式化、选择)
- 执行计算
- 请求某个对象的状态
- 监视对象是否发生某个控制事件。
三、类——职责——协作者建模
CRC模型实际上是表示类的标准索引卡片的集合。这些卡片分为三部分:
- 顶部写类名
- 卡片主体左侧部分列出类的职责
- 卡片主体右侧部分列出类的协作者
类:
- 实体类:也称为模型类或业务类,直接从问题陈述(例如,平面布置 图和传感器)中提取。
- 边界类:用于创建用户在使用软件时看到并与之交互的接口(例如交 互屏幕或打印的报表)。
- 控制器类:自始至终管理“工作单元” 。可以设计为管理:1)实体对象的创建或更新,2)对象集合间的复杂通信,3)对象间或用户和应 用系统间交换数据的确认
职责:
- 智能系统应分布在所有类中以求最大程度地满足问题的需求。
- 每个职责的说明应尽可能具有普遍性。
- 信息和与之相关的行为应放在同一个类中。
- 某个事物的信息应局限于一个类中而不要分布在多个类中。
- 适合时,职责应由相关类共享。
协作:
类用下面一种或两种方法来实现其职责:
- 类可以使用其自身的操作控制各自的属性,从而实现特定的职责。
- 类可以和其他类协作。
四、关联和依赖
两个分析类通常以某种方式相互关联,在UML中,这些关系称为关联 。可以通过指示多样性来细化关联(数据建模中使用术语基数)。
在许多情况下,两个分析类之间存在客户机-服务器关系。 在这种情况下,客户机类在某种程度上依赖于服务器类,并建立依赖 关系。
五、分析包
- 分析模型的各种元素(例如用例、分析类)以将它们打包为一个分组的方 式进行分类。
- 分析类名称前面的加号表示类具有公共可见性,因此可以从其他包访问。
- 减号表示元素对所有其他包都是隐藏的。
- 一个符号表示一个元素只能被包含在给定包中的包访问。