UML里边界类、控制类和实体类三类讲解
2011年系统分析师考点分析之一
一.UML将类分为哪三个类:
1.边界类(Boundry Class);
2.实体类(Entity Class);
3.控制类(Control Class);
二.边界类
1.用来描述什么问题?
边界类用于描述外部参与者与系统之间的交互。
边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。
2.可以带来什么好处?
识别边界类可以帮助开发人员识别出用户对界面的需求。
3.如何理解边界类
边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。
通过用例图可以确定需要的边界类,每个Actor/Use Case对至少要一个边界类,但并非每个Actor/Use Case对要唯一的边界类。
三.实体类
实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。
实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。
实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。
实体类是用于对必须存储的信息和相关行为建模的类。实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:事件、人员或者一些现实生活中的对象。
四.控制类
1.用来描述什么问题?
控制类用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序。
2.如何理解控制类?
控制类是控制其他类工作的类。每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。其他类并不向控制类发送很多消息,而是由控制类发出很多消息。
五.应用举例
例如:考试系统中当学生在考试时 ,学生与试卷交互, 那么学生和试卷都是实体类,而考试时间,规则,分数都是边界类,当考试完了将试卷提交给试卷保管者,则试卷则成了边界类。
六.总结
1.边界类,描述外部与系统内部交互的类;
2.控制类,控制其他类;
3.实体类,存储信息和相关行为的类;