面向对象软件开发的方法有:a,面向对象分析(OOA)b,面向对象设计(OOD)c,面向对象实现(00I)d,面向对象测试(OOT),e,面向对象维护(OOM)这几个主要大步骤。下边我们就从面向对象的角度来学习UML的相关图。这里介绍面向对象分析阶段的用例图和活动图。
面向对象分析阶段,我们要明确系统的职责,范围和边界;确定软件的功能和性能;构建需求模型(用例模型)。
首先在这里说一下,为什么将这两个图放在一起,主要原因就是活动图的一个目的是更细致的描述用例图,和文档的配合使用,使用例图更加清楚明了。
先介绍一下:用例图
1, 概念:用例是系统的一个功能单元 ,是对用户需求的描述。
2,组成:参与者,用例及其之间的关系(包括关联关系,泛化关系,包含关系,扩展关系):
3,用例建模的步骤:a,确定系统的范围和边界;b,确定系统的用例和参与者;c,描述用例;d,对用例分类,并确定用例之间的关系;e,建立用例图,并定义用例图的层次结构;f,评审用例模型。
下边我们看个例子:这是一个教务管理系统的总用例图和一个子一级用例图,当然还可以再分:
在上述6个步骤中,我简单总结一下:a,系统边界,就是一个系统内部所有元素与系统外部事物的分界线。b,用例和参与者,需要我们根基实际情况去抽象。c,描述用例,这个我重点写一下(举例,选课注册):
用例编号:0101
用例名称:选课注册
执行者:学生
功能:实现学生选课注册的过程
类型:主要用例,基本用例
级别:一级
过程描述:
1,学生输入系统账号和密码,系统进行验证;
2,查询课程信息
3,查询个人选课信息
4,若可以选课,则进行选课注册,并将选课信息写入数据库中
5,返回选课注册是否成功
异常事件流处理:
1,学生的账号和密码错误,允许重新输入(3次)
2,学生未按时交纳学费,不可选课
3,学生人数已达到上限,不可选课。
(当然在这里在把下边的活动图,添加进来即可)
d,用例分类和确定之间的关系,有端点用例,基本用例,主要用例,辅助用例等,关系弄准确就可以。e,画好用例图,分层次结构,就是上边那样的,分成一级,二级等,像分叉树一样。f,最后就是规格说明书了,这里可以参见统一规定的需求说明书,然后评审。
活动图:
活动图(Activity Diagram)可以实现对系统动态行为的建模,主要是将用例细化,即用例内部的细节可以以活动图的方式描述。活动图描述活动的顺序,主要表活动之间的控制流,是内部处理驱动的流程,在本质上是一种流程图。先看一下基本图标。
既然是用例图的详细描述,我们来描述一下教务管理中的选课注册:
这里用通过学习用例图和活动图,将面向对象的需求分析阶段进行了梳理。当然实际工作中,系统复杂程度,需要我们用很多个,很多层用例图来描述,我们根基实际情况而定即可。主要是学习画图的基本方法,规则,原理,步骤等。需要我们做到的是举一反三,以不变应万变。