数据库课程设计报告宿舍管理系统.docx
《数据库课程设计报告宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告宿舍管理系统.docx(18页珍藏版)》请在冰点文库上搜索。
数据库课程设计报告宿舍管理系统
《数据库原理》课程设计报告
专业:
计算机科学与技术
班级:
学号:
姓名:
合作伙伴:
题目名称:
.寝室智能管理系统
完成日期:
重庆邮电大学计算机学院实验中心
一系统定义
本寝室智能管理系统为寝室管理员实现电子化管理寝室的数据库系统,其具体涉及的内容包括:
1.寝室信息
2.学生信息管理
3.物品出入及外来人员信息
4.登记信息
5.水电费信息
6.清洁分信息
7.重要事务及奖惩措施公告
用户包括公寓管理员、协管人员、学生。
各自的权限有所不同:
管理员:
一切权限;
协管人员:
学生的一切权限,信息预览中添加删除更改公告栏内容;
学生:
信息查询,信息提交。
二需求分析
一、目的与任务:
寝室智能管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(ManagementInformationSystem)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,方便校方管理及学生的日常寝室生活。
通过该系统,管理员用户可以查看学生的基本资料寝室信息等各方面的资料,能够方便的了解学生寝室生活情况。
该管理系统为用户提供了信息录入,数据查询、输出各种信息等。
学生用户可查询寝室一些相关事宜。
另外,协管人员用户还可以对公告栏信息进行添加,更新和删除。
寝室智能管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。
二、系统功能需求分析
用户的需求具体体现在各种信息的输入、修改和查询,并能够提供一定的安全保障。
因此,系统必须实现的功能如下:
1.用户识别登陆功能(模块):
对三种层次的用户的给予不同的数据管理权限:
a)最高权限用户(管理员):
拥有对数据的增加、删除、查询、保存,以及数据的维护。
b)一般的用户(协管人员):
拥有对除去有关费用的数据的所有查询权限,例如查询寝室信息、出入日志、等。
c)最低权限用户(学生):
拥有向系统提交个人基本信息的权限,例如寝室修补情况,在论坛BBS上发帖和回复。
拥有部分查询功能,如水电费,清洁分。
2.费用管理模块:
对寝室水电费情况提供添加费用和查询费用的功能,并根据登陆的学生用户锁定期寝室号列出其寝室的水电费情况。
此模块对协管人员不可见。
3.日常管理模块:
管理员及协管人员均可录入和查看清洁分,在报修信息栏中可以标记记录是否被处理。
根据登陆的学生用户锁定期寝室号,用户可以提交其寝室的报修请求及查看其寝室的清洁分情况。
4.人员管理模块:
包含查看寝室人员,添加进入人员以及处理进入人员。
查看寝室人员栏中可以查看各个寝室的室长及所有室员,管理员及协管人员可进行编辑。
添加进入人员栏可添加进入人姓名及缘由。
处理进入人员可以显示添加进入人员时录入的信息及标记该人员是否离开。
5物品管理模块:
包含添加物品出入信息和查看物品出入信息。
此模块与人员管理模块类似。
6.系统设置模块:
包含添加公告栏和编辑公告。
管理员及协管人员均有权限进行寝室楼栋重要通知的录入和修改。
确认后公告将显示在桌面栏,对所有用户可见。
管理员还有论坛管理的权限。
确认后帖子将显示在论坛BBS栏,对所有的用户可见并可以回复。
三、功能模块图
图1-1功能模块图
三系统设计
3.1数据字典
名字:
论坛信息
别名:
描述:
存储发表的帖子
定义:
论坛信息=帖子名+帖子内容+发表时间+用户名
位置:
名字:
论坛回复
别名:
描述:
存储回复的帖子
定义:
论坛回复=帖子名+帖子内容+回复时间+用户名
位置:
名字:
出入信息
别名:
描述:
记录外来人员出入的信息
定义:
出入信息=进入时间+进入原因+管理员+离开时间
位置:
名字:
清洁信息
别名:
描述:
记录寝室清洁卫生信息
定义:
清洁信息=寝室号+周数+日期+洁净分+物品摆放分
位置:
名字:
寝室信息
别名:
描述:
存储寝室的信息
定义:
寝室信息=室长+电话
位置:
名字:
缴费信息
别名:
描述:
记录寝室缴水电费的信息
定义:
缴费信息=水费+电费+日期+是否缴费+寝室号
位置:
名字:
公告信息
别名:
描述:
公开消息
定义:
公告信息=公告名+公告内容+时间+管理员
位置:
名字:
物品出入信息
别名:
描述:
记录物品的出入信息
定义:
物品出入信息=学生学号+物品名+时间
位置:
名字:
维修信息
别名:
描述:
存储维修信息
定义:
维修信息=寝室号+提出维修时间+是否维修+维修内容
位置:
名字:
用户信息
别名:
描述:
存储用户信息
定义:
用户信息=用户号+密码+用户名+权限等级+寝室号
位置:
3.2E-R图
图1-2E-R图
3.3数据流图
图1-3数据流图
四系统实现
(因为本次系统是三人组队完成,我负责的是人员管理和物品管理两个模块)
4.1用户管理
4.1.1权限设置
本系统一共有三个权限:
最高——寝室管理员
其次——协管人员
最低——学生
为了实现不同权限用户的区分,我们在user表里面给每个用户分配了一个权限值level.其中level=1代表最高寝室管理员权限,level=2代表协管人员,level=3代表学生。
登录时,通过判断用户的level值就可以知道用户的登录身份,从而为用户分配可以操作的页面。
如果用户访问某张页面的权限不够,系统将阻止其访问。
4.1.2用户密码加密
本系统采用md5加密技术。
每个用户的密码通过md5加密后再保存到数据表里面,防止明文保持密码的不安全。
4.1.3修改密码
用户提供正确的原密码后就可以修改密码
具体SQL语句:
查看原密码是否正确:
selectUserPassfromuserwhereUserNo=‘学号’
修改密码:
updateusersetUserPass=md5‘新密码’whereUserNo=‘学号’
登陆界面
进入系统界面:
4.2费用管理
4.2.1添加费用
此模块实现的功能是添加每个寝室某个月的水电费。
管理员填写寝室号、月份、水费电费,然后写入到数据表pay里面。
若本月水电费已经添加系统会拒绝重复添加。
SQL查询语句:
//检查是否已交
select*fromPaywhereDate=‘当前月份’andDorId=.寝室号
//添加
insertintoPayvalues(NULL,‘水费’,‘电费’,‘当前月份’,‘未交’,寝室号)
4.2.2查看费用
此模块中管理员和学生可以查看已经添加了的水电费
SQL查询语句:
select*frompaywhereDorId=‘寝室号’andDate=‘月份’
4.3日常管理
4.3.1打清洁分
此模块管理员或协管人员可以给某个寝室添加某一周的清洁分。
要求管理员输入寝室号、周数、洁净分和物品摆放分。
SQL查询语句:
insertintocleanvalues(NULL,"寝室号","周数","学期","洁净分","物品摆放分")
4.3.2查看清洁分
此模块管理员和学生可以查看已经打了的清洁分。
如果某个寝室清洁分没有添加,系统会自动提示管理员添加。
SQL查询语句:
select*fromcleanwhereDorId=‘寝室号’andDate=‘学期’orderby周数desc
4.3.3报修信息
此模块学生可以添加报修信息。
如寝室灯坏了等信息。
SQL查询语句:
学生添加:
insertintoupkeep(DorId,Content)values(‘寝室号’,‘报修说明’')
4.4人员管理
4.4.1查看寝室人员
此模块专供管理员查看、编辑寝室人员信息。
SQL查询语句:
查看寝室人员:
select*fromuserwhereDorId=‘寝室号’
改变室长:
updatedormitorysetLeader='"用户ID"'whereId=寝室号
改变学生姓名:
updateusersetUserName=‘姓名’whereUserNo=‘学号’
删除学生:
deletefromuserwhereUserNo=‘学号’
添加学生:
insertintouser(UserNo,UserName,DorId)values(‘姓名’,‘学号’,‘寝室号’)
4.4.2添加进入人员
此模块的作用是记录进入寝室的非本栋人员的信息,以便将来查询寝室来往人员信息
SQL查询语句:
添加进入人员
insertintochuru(Info,Admin)values(‘进入人员姓名和缘由’,‘管理员用户名’)
4.4.3处理进入人员信息
当进入人员离开时,管理员应当把进入人员信息记录中的是否离开标记标记为离开并记录离开时间。
SQL查询语句:
updatechurusetAwayTime=‘当前时间’whereId=‘记录ID’
4.5物品管理
4.5.1添加物品出入信息
当有学生把贵重物品如电脑主机,笔记本等拿出寝室的时候,为了安全考虑记录此学生的学号和物品信息,以便将来查询。
如果学生提供的学号不存在系统将拒绝添加。
SQL查询语句:
检查学生是否存在:
selectUserNofromuserwhereUserNo=‘学号’;
添加物品信息:
insertintothing(UserNo,Thing)values(‘学号’,‘物品信息’);
查看物品出入信息:
select*fromthingorderbyTimedesc;
4.6系统设置
4.6.1添加公告
当管理员有事情通知的时候可以添加一个公告,公告将在用户登录后的首页显示出来。
SQL查询语句:
添加:
insertintopublic(Title,Content,Admin)values(‘标题’,‘内容’,‘用户名’)
查看:
select*frompublicorderbyTimedesc
编辑:
updatepublicsetTitle=‘标题’,Content=‘内容’,Admin=‘用户名’,whereId=‘公告ID’
删除:
deletefrompublicwhereId=$_GET[‘id’]
4.6.2论坛管理
此模块管理员可以管理BBS论坛里的所有帖子
SQL查询语句
查看所有帖子:
select*frombbsorderbyIDdesc
删除帖子:
删除主题:
deletefrombbswhereID=$_GET[‘id’]
删除回复:
deletefrombbs_reswheresyid=$_GET[‘id’]