比如在一个学生选课系统中. 学生被定义为一个实体,课程也被定义为一个实体,通过选课这个行为把两个实体联系起来.这个行为由学生来引发.目标为课程,产生的结果是学生是否成功的选了一门课程.通过这样的分析,在以后的设计过程中我们可以很容易的设计出UML中学生类的方法。
(5)使用继承来细化类
使用继承来共享公共属性,以此来对类进行组织,一般可以使用以下两种方式来实现.
自底向上:通过把现有类的共同性质一般化为父类,寻找具有相似的属性关系或操作的类来发现继承.这些结果常常是基于客观世界的现有分类,只有可能,应尽量使用现有概念.
自顶向下:把现有的类细化为更具体的子类.
(6)完善对象模型
设计过程中不可能一次就能正确的设计出需要的,往往会在这过程中加深对需求的理解.往往需要重复前面的过程.
(7)建立对象动态模型
跟据前面几步的对象模型,接着就是建立对象的动态模型
准备脚本:动态分析从寻找事件开始,然后确定各对象的可能事件顺序.
确定事件:确定所有外部事件.
准备事件跟踪表:把脚本表示成一个事件跟踪表,即不同对象之间的事件排序表,对象为表中的列,给每个对象分配一个独立的列.
构造状态图:对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中的一条路径.