学生宿舍管理系统—— UML
这个是大二小学期的项目文档预览版,由于时间太过久远,原文档已经遗失,放在此处仅供参考
1. 背景分析
要求实现学生管理、 宿舍楼管理、 宿舍房间管理(每个屋四张床进行编号), 调换宿舍管理, 能够根据宿舍查找学生,根据学生查找宿舍。整个系统有两类用户,分别是宿舍楼学生、宿舍楼管理员
整个学生宿舍管理系统整体功能模块图如下所示,该系统分为三大子系统,分别为宿舍楼学生子系统、宿舍楼管理员子系统和系统管理员子系统
1.1 宿舍楼学生子系统的需求分析
- 登录宿舍楼学生子系统
查看相关公告- 宿舍楼学生可以查询信息
- 查询自己所在宿舍的信息
查询自己宿舍缴纳电费的信息查询自己的离返校记录
- 宿舍楼学生可以提交信息
- 提交报修信息
插入离、返校时间
其功能模块图如下图所示:
1.2 宿舍楼管理员子系统的需求分析
- 登录管理员子系统
- 宿舍楼管理员查询宿舍楼的所有信息
- 查询宿舍及学生信息
- 宿舍楼管理员可以按学号查询学生住宿的详细信息
- 宿舍楼管理员可以查询按宿舍号查询所住学生的详细信息
- 宿舍楼管理员可以查询所有宿舍报修的信息
- 查询宿舍及学生信息
- 管理员可以修改信息
- 宿舍楼管理员可以修改学生的宿舍信息
- 宿舍楼管理员可以提交宿舍卫生得分
- 宿舍楼管理员可以登记报修解决
其功能模块图如下图所示:
1.3 系统管理员子系统的需求分析
- 登录系统管理员子系统
- 管理信息
- 管理宿舍楼管理员信息,如注册,删除宿舍楼管理员信息
- 管理宿舍信息,如注册,删除宿舍
- 管理宿舍楼的学生信息,如注册,删除宿舍学生信息
- 查询信息
- 查看所有宿舍楼的学生宿舍信息
- 查看所有宿舍的信息
- 查看各个宿舍楼的学生宿舍信息
其功能模块图如下图所示:
2. 系统静态模型
系统中的类有三个参与者相关的类和其他的几个相关类。
2.1 用户类
User类是用户类,是住宿学生类、宿舍管理员类、系统管理员类的父类,最重要的是用户的用户名-username和密码-password等属性。还有其他的一些方法
属性名(String) | 含义 |
---|---|
username | 用户名 |
password | 密码 |
函数 | 含义 |
---|---|
setUsername(String username) | 设置用户名 |
getUsername() :String | 返回用户名 |
setPassword(String password) | 设置密码 |
getPassword() :String | 返回密码 |
2.2 住宿学生类
Student类是住宿学生的类,继承User类。最重要的是学生的各类属性,尤其是学号-sno属性(主键)。还有其他的一些方法:
属性名(String) | 含义 |
---|---|
sno | 学号 |
sname | 学生姓名 |
gender | 性别 |
building | 楼栋号 |
room | 宿舍号 |
bed | 床号 |
major | 专业 |
indate | 入住日期 |
函数 | 含义 |
---|---|
updateRepair(String sno, String repair) | 提交报修信息 |
searchDormitory(String sno) :ResultSet | 查找自己所在寝室信息 |
searchRoommate(String sno): ResultSet | 查找舍友 |
getSno() :String |返回学号
setSno(String sno)|设置学号
getName() :String|返回学生姓名
setSname(String sname)|设置学生姓名
getGender() :String|返回性别
setGender(String gender)|设置性别
getBuilding() :String|返回楼栋号
setBuilding(String building)|设置楼栋号
getRoom() :String|返回寝室号
setRoom(String room) |设置寝室号
getBed() :String|返回床位号
setBed(String bed)|设置床位号
getMajor() :String|返回专业
setMajor(String major)|设置专业
getInDate() :String|返回入住信息
setIndate(String indate) |设置入住信息
2.3 宿舍楼管理员类
[外链图片转存失败(img-kljHLQ4b-1563031847074)( )]]
Admin类是宿舍楼管理员的类,继承自User类。最主要的是它的各种方法:
函数 | 含义 |
---|---|
login(String username,String password):Boolean | 登陆 |
finishRepair(String building, String room) | 登记报修解决 |
updateScore(String building, String room, String score) | 提交宿舍卫生得分 |
searchRepair() :ResultSet | 查询宿舍报修信息 |
searchStudent(String sno) :ResultSet | 按学号查询宿舍信息 |
searchDormitory(String building, String room) :ResultSet | 按宿舍号查询所住学生信息 |
changeDormitory(String sno, String building, String room, String bed) :boolean | 修改学生住宿信息 |
2.4 系统管理员类
SystemAdministrator是系统管理员的类,包括系统管理员编号(userNumber)、和密码(userPwd)等属性。还有相关的方法:
函数 | 含义 |
---|---|
login(String username,String password) | 登陆 |
getPassword() :String | 返回密码 |
updatePassword(String) | 更改密码 |
addAdmin(String username, String password) | 添加宿舍管理员 |
deleteAdmin(String username) | 删除宿舍管理员 |
addDormitory(String building, String room) | 添加宿舍信息 |
deleteDormitory(String building, String room) | 删除宿舍信息 |
addStudent(String sno, String sname, String gender, String building, String room, String bed , String major, String indate) | 添加学生信息 |
deleteStudent(String sno) | 删除学生信息 |
searchAllAdmin() :ResultSet | 查看所有宿管信息 |
searchAdmin(String username) :ResultSet | 查看宿管信息 |
searchDormitory(String building, String room) :ResultSet | 查看宿舍信息 |
searchAllDormitory() :ResultSet | 查看所有宿舍信息 |
searchDormitoryWithStudent(String building,String room) | 查询含学生的宿舍信息 |
searchStudent(String sno) :ResultSet | 查看学生信息 |
searchAllStudent() :ResultSet | 查看所有学生信息 |
searchBed(String building, String room, String bed):ResultSet | 查询床位信息 |
2.4 其他相关类
- 宿舍类
Dormitory类是宿舍类,包含了宿舍的所有信息。 - SQL类
2.5 类与类之间的关系图
在关系表示中要标明类与类之间一对多或者多对多等数量关系,如一个学生只能居住在一个宿舍。每一类用户都可以对数据库操作类进行操作的权利。但是数据库操作类只有一个。根据这些信息,连接起来的类图如上所示。