案例分析——
采用 UML 对学生宿舍管理系统的建模
1. 案例分析目标
本案例采用 UML 的方式对学生宿舍管理系统进行分析和设计,通过对
学生宿舍的建模来对 UML 进行更加详细的了解和熟悉。
基于以上我们对学生宿舍的了解和对学校宿舍楼管理老师的咨询,我们
小组成员:钱亚文,钟春瑕,仓决决定试着开发出来一个小型的学生宿舍管
理系统。
2 背景分析
2.1 宿舍楼的基本情况
学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理。
一、学生的基本信息:
入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一
个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同一院系的学生的宿
舍一般在一起,相应地会有其所在的院系名称。
一、宿舍的基本信息:每间宿舍都有唯一的宿舍号
2.2 用户对系统的要求
一、宿舍楼管理员:
a.信息要求:
宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍
楼中住宿的详细信息,夜归的详细信息和学生离返校的信息。以利于对整个宿舍楼的全面管
理。
b.处理要求:
当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其
他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中
院系的信息也要作相应的修改等等。
c.安全性与完整性要求:
安全性要求:
1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保
证用户身份不被盗用;
2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和
内容;
3.系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管
理员。
二、本宿舍楼的学生:
信息要求:本宿舍楼的学生能查询其所在的宿舍的所有信息。
3.UML 建模基础知识
学生宿舍管理系统的主要的参与者是查询者,一般用户,系统管理员,
财务人员,系统管理员,学生工作人员,以及时钟。
通过分析参与者的活动,可以初步确定这样的一些用例:(1)查询信息
(2)学生管理(3)宿舍分配(4)住宿管理(5)基本数据管理(6)财务管
理(7)决策支持。
UML 采用 9 种视图来描述系统的结构和行为,具体下面将一一介绍:
用例图:参与者,用例的集合,可能的接口以及这些元素之间关系的图
形表示。
类图:类与类之间的相互关系。
构件图:构建以其相互依赖关系。
部署图:构建在各节点上的部署。
顺序图:强调时间顺序的交互图。
协作图:强调对象协作的交互图。
4.UML 建模
根据前面的需求分析,分别建立系统的用例图,包图,类图,顺序图,
协作图,活动图。
4.1 整体宿舍管理系统用例的组织——用例包图
学生宿舍管
理子系统
财务管理子
系统
学生基本信息
管理子系统
决策支持
基本数据库
管理子系统
查询子系统
公用部分
学生宿舍管理系统的包图
4.2 子系统的用例图
用例图分析
首先确定参与者,参与者是系统以外的一个实体(可以是任何的事物或者人),它以某种
方式参与了用例的执行过程。参与者通过向系统或请求系统输入某些事件来触发系统的执
行。我们看到宿舍管理系统的参与者是查询者,一般用户,学生工作人员,信息管理员,住
宿管理,系统管理员,财务人员,时钟。
在分析用例,从需求捕获看用例有以下这些:
查询信息,学生信息管理,基础数据库管理,财务管理,登陆,宿舍分配,住宿管理,
时钟支持。
画出上图的“学生宿舍管理子系统”的用例图。
参与者与用例的关系是通信关系。
用例与用例的关系是包含,扩展,泛化三种。
查询者
一般用户
系统管理员
查询信息
<>
基础数据库管理
<>
<>
<>
学生工作人员
学生信息管理
<>
<>
财务管理
登陆
财务人员
<>
<>
宿舍分配
时钟支持
住宿管理
时钟
信息管理员
学生宿舍管理子系统的用例图
添加学生
更新学生
<>
学生工作人员
<>
查询学生
删除学生
用例的详细描述——以“登录用例”为例
学生信息管理子用例图
用户名
登录用例
目标
登录。描述了用户登录到《学生宿舍管理系统.的过程,设置了
各种用户的的访问权限
主参与者
用户
触发条件
用户企图进入各个系统模块的时出发
前置条件:
系统必须能正常启动
参与者
①当用户启动这个应用系统
时,用力开始。
③用户数如用户名和密码
典型实践过
程
系统响应
②系统显示登录界面
④系统验证信息
⑤系统设置访问权限
⑥系统显示主菜单(子用例:显示
主界面)
⑦用例结束
替代实践过程
如果用户输入错误的用户名或密码时,给出提示信息,并跳转到
⑦
后置条件
4.3 系统类图
用户正常登录到界面上
分析用例,从用例中寻找对象和类。例如,通过分析宿舍分配管理子系
统,可以发现已下实体类:学生,宿舍管理员,班级,楼栋,床位等。类是对象
的抽象的描述,它包括属性的描述和行为的描述两个方面。类中的关系是关联,
泛化,实现,依赖四种关系。其中类与类主要的关系是关联,泛化。
静态分析阶段——学生宿舍分配类图
4.4 为对象分配操作——通过协作图
:宿舍管理员
:学生基本信息
表
4: 确认学生信息
1: :打开
3: 显示学生具体信息
7: 修改住宿信息
2: 输入学号查询学生信息
:宿舍分配界面
:学生
5: 查询空床位
:床位
6: 显示空床位具体信息
:宿舍住宿情况表
为对象分配操作
2: 密码与用户名相配
5: 密码与用户名不匹配
1: 进入登陆界面
4: 进入登陆界面
登录界
面
3: 确定住宿管理
: 查询者
住宿管
理
登陆交互图
4.5 系统的动态分析——用顺序图表示用例的实现
:学生基本
信息表
:宿舍管理
员
:宿舍分配
界面
:学生
:床位
:宿舍住宿
情况表
确认学生信息
:打开
显示学生具体信息
输入学号查询学生信息
查询空床位
显示空床位具体信息
修改住宿信息
学生宿舍分配顺序图
: 查询者
登录界面
住宿管理
进入登陆界面
密码与用户名相配
确定住宿管理
进入登陆界面
密码与用户名不匹配
学生宿舍管
理系统部分
顺序图
动态分析阶段——登陆顺序图
4.6 活动图
活动图显示了系统从一个活动到另一个活动的流程。利用 UML
的活动图工具进行工作流程建模。在这个学生宿舍管理系统在
中的其中的学生入住业务流程中,活动应该涉及到申请入住,
交费认可,取消住宿,学生身份认证,住宿分配。