《数据库原理》课程设计报告专业:计算机科学与技术班级:学号:姓名:合作伙伴:题目名称:.寝室智能管理系统完成日期:重庆邮电大学计算机学院实验中心1目录一系统定义..................................................................................................2二需求分析..................................................................................................2三系统设计..................................................................................................53.1数据字典.......................................................................53.2E-R图...........................................................................63.3数据流图.......................................................................8四系统实现.............................................................................94.1用户管理.......................................................................94.2费用管理.....................................................................104.3日常管理.....................................................................114.4人员管理.....................................................................134.5物品管理.....................................................................144.6系统设置.....................................................................15五详细设计...............................................................................................18六设计总结..................................................................................................202一系统定义本寝室智能管理系统为寝室管理员实现电子化管理寝室的数据库系统,其具体涉及的内容包括:1.寝室信息2.学生信息管理3.物品出入及外来人员信息4.登记信息5.水电费信息6.清洁分信息7.重要事务及奖惩措施公告用户包括公寓管理员、协管人员、学生。各自的权限有所不同:管理员:一切权限;协管人员:学生的一切权限,信息预览中添加删除更改公告栏内容;学生:信息查询,信息提交。二需求分析一、目的与任务:寝室智能管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(ManagementInformationSystem)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,方便校方管理及学生的日常寝室生活。通过该系统,管理员用户可以查看学生的基本资料寝室信息等各方面的资料,能够方便的了解学生寝室生活情况。该管理系统为用户提供了信息录入,数据查询、输出各种信息等。学生用户可查询寝室一些相关事宜。另外,协管人员用户还可以对公告栏信息进行添加,更新和删除。寝室智能管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。二、系统功能需求分析用户的需求具体体现在各种信息的输入、修改和查询,并能够提供一定的安全保障。因此,系统必须实现的功能如下:1.用户识别登陆功能(模块):对三种层次的用户的给予不同的数据管理权限:a)最高权限用户(管理员):拥有对数据的增加、删除、查询、保存,以及数据的维护。b)一般的用户(协管人员):拥有对除去有关费用的数据的所有查询权限,例如查询寝室信息、出入日志、等。3c)最低权限用户(学生):拥有向系统提交个人基本信息的权限,例如寝室修补情况,在论坛BBS上发帖和回复。拥有部分查询功能,如水电费,清洁分。2.费用管理模块:对寝室水电费情况提供添加费用和查询费用的功能,并根据登陆的学生用户锁定期寝室号列出其寝室的水电费情况。此模块对协管人员不可见。3.日常管理模块:管理员及协管人员均可录入和查看清洁分,在报修信息栏中可以标记记录是否被处理。根据登陆的学生用户锁定期寝室号,用户可以提交其寝室的报修请求及查看其寝室的清洁分情况。4.人员管理模块:包含查看寝室人员,添加进入人员以及处理进入人员。查看寝室人员栏中可以查看各个寝室的室长及所有室员,管理员及协管人员可进行编辑。添加进入人员栏可添加进入人姓名及缘由。处理进入人员可以显示添加进入人员时录入的信息及标记该人员是否离开。5物品管理模块:包含添加物品出入信息和查看物品出入信息。此模块与人员管理模块类似。6.系统设置模块:包含添加公告栏和编辑公告。管理员及协管人员均有权限进行寝室楼栋重要通知的录入和修改。确认后公告将显示在桌面栏,对所有用户可见。管理员还有论坛管理的权限。确认后帖子将显示在论坛BBS栏,对所有的用户可见并可以回复。4三、功能模块图图1-1功能模块图.寝室智能管理系统登录模块物品管理模块费用管理模块日常管理模块人员管理模块登陆退出打清洁分查看清洁分报修信息添加公告处理进入人员添加进入人员添加费用查看费用查看寝室人员回复标记为离开添加标记为处理删除添加物品出入信息系统设置模块编辑公告论坛管理查看物品出入信息5三系统设计3.1数据字典名字:论坛信息别名:描述:存储发表的帖子定义:论坛信息=帖子名+帖子内容+发表时间+用户名位置:名字:论坛回复别名:描述:存储回复的帖子定义:论坛回复=帖子名+帖子内容+回复时间+用户名位置:名字:出入信息别名:描述:记录外来人员出入的信息定义:出入信息=进入时间+进入原因+管理员+离开时间位置:名字:清洁信息别名:描述:记录寝室清洁卫生信息定义:清洁信息=寝室号+周数+日期+洁净分+物品摆放分位置:名字:寝室信息别名:描述:存储寝室的信息定义:寝室信息=室长+电话位置:63.2E-R图名字:公告信息别名:描述:公开消息定义:公告信息=公告名+公告内容+时间+管理员位置:名字:缴费信息别名:描述:记录寝室缴水电费的信息定义:缴费信息=水费+电费+日期+是否缴费+寝室号位置:名字:物品出入信息别名:描述:记录物品的出入信息定义:物品出入信息=学生学号+物品名+时间位置:名字:维修信息别名:描述:存储维修信息定义:维修信息=寝室号+提出维修时间+是否维修+维修内容位置:名字:用户信息别名:描述:存储用户信息定义:用户信息=用户号+密码+用户名+权限等级+寝室号位置:7寝室耗用水电费室长电话电费水费时间交否寝室号清洁单清洁修补要求物品摆放分洁净分修补内容居住学生学号姓名图1-2E-R图83.3数据流图图1-3数据流图9四系统实现(因为本次系统是三人组队完成,我负责的是人员管理和物品管理两个模块)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=‘学号’登陆界面10进入系统界面:4.2费用管理4.2.1添加费用此模块实现的功能是添加每个寝室某个月的水电费。管理员填写寝室号、月份、水费电费,然后写入到数据表pay里面。若本月水电费已经添加系统会拒绝重复添加。SQL查询语句://检查是否已交select*fromPaywhereDate=‘当前月份’andDorId=.寝室号//添加insertintoPayvalues(NULL,‘水费’,‘电费’,‘当前月份’,‘未交’,寝室号)4.2.2查看费用此模块中管理员和学生可以查看已经添加了的水电费SQL查询语句:select*frompaywhereDorId=‘寝室号’andDate=‘月份’114.3日常管理4.3.1打清洁分此模块管理员或协管人员可以给某个寝室添加某一周的清洁分。要求管理员输入寝室号、周数、洁净分和物品摆放分。SQL查询语句:insertintocleanvalues(NULL,寝室号,周数,学期,洁净分,物品摆放分)4.3.2查看清洁分此模块管理员和学生可以查看已经打了的清洁分。如果某个寝室清洁分没有添加,系统会自动提示管理员添加。12SQL查询语句:select*fromcleanwhereDorId=‘寝室号’andDate=‘学期’orderby周数desc4.3.3报修信息此模块学生可以添加报修信息。如寝室灯坏了等信息。SQL查询语句:学生添加:insertintoupkeep(DorId,Content)values(‘寝室号’,‘报修说明’')134.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(‘进入人员姓名和缘由’,‘管理员用户名’)144.4.3处理进入人员信息当进入人员离开时,管理员应当把进入人员信息记录中的是否离开标记标记为离开并记录离开时间。SQL查询语句:updatechurusetAwayTime=‘当前时间’whereId=‘记录ID’4.5物品管理4.5.1添加物品出入信息当有学生把贵重物品如电脑主机,笔记本等拿出寝室的时候,为了安全考虑记录此学