数据库课程设计报告——宿舍管理系统.doc

上传人:小飞机 文档编号:2792866 上传时间:2023-02-25 格式:DOC 页数:22 大小:1,016.50KB
返回 下载 相关 举报
数据库课程设计报告——宿舍管理系统.doc_第1页
第1页 / 共22页
数据库课程设计报告——宿舍管理系统.doc_第2页
第2页 / 共22页
数据库课程设计报告——宿舍管理系统.doc_第3页
第3页 / 共22页
数据库课程设计报告——宿舍管理系统.doc_第4页
第4页 / 共22页
数据库课程设计报告——宿舍管理系统.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据库课程设计报告——宿舍管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告——宿舍管理系统.doc(22页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上数据库原理课程设计报告专 业:计算机科学与技术班 级:学 号:姓 名:合作伙伴:题目名称:.寝室智能管理系统完成日期: 重庆邮电大学计算机学院实验中心 目录一 系统定义本寝室智能管理系统为寝室管理员实现电子化管理寝室的数据库系统,其具体涉及的内容包括:1.寝室信息 2.学生信息管理3.物品出入及外来人员信息4.登记信息5.水电费信息6.清洁分信息7.重要事务及奖惩措施公告用户包括公寓管理员、协管人员、学生。各自的权限有所不同:管理员:一切权限;协管人员:学生的一切权限,信息预览中添加删除更改公告栏内容;学生:信息查询,信息提交。二 需求分析一、目的与任务: 寝室智能管

2、理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,方便校方管理及学生的日常寝室生活。 通过该系统,管理员用户可以查看学生的基本资料寝室信息等各方面的资料,能够方便的了解学生寝室生活情况。该管理系统为用户提供了信息录入,数据查询、输出各种信息等。学生用户可查询寝室一些相关事宜。另外,协管人员用户还可以对公告栏信息进行添加,更新和删除。寝室智能管理

3、系统力求给用户方便快捷的途径去管理这些繁琐的数据。二、系统功能需求分析用户的需求具体体现在各种信息的输入、修改和查询,并能够提供一定的安全保障。因此,系统必须实现的功能如下:1.用户识别登陆功能(模块):对三种层次的用户的给予不同的数据管理权限:a) 最高权限用户(管理员):拥有对数据的增加、删除、查询、保存,以及数据的维护。b) 一般的用户(协管人员):拥有对除去有关费用的数据的所有查询权限,例如查询寝室信息、出入日志、等。c) 最低权限用户(学生):拥有向系统提交个人基本信息的权限,例如寝室修补情况,在论坛BBS上发帖和回复。拥有部分查询功能,如水电费,清洁分。2. 费用管理模块:对寝室水

4、电费情况提供添加费用和查询费用的功能,并根据登陆的学生用户锁定期寝室号列出其寝室的水电费情况。此模块对协管人员不可见。3.日常管理模块:管理员及协管人员均可录入和查看清洁分,在报修信息栏中可以标记记录是否被处理。根据登陆的学生用户锁定期寝室号,用户可以提交其寝室的报修请求及查看其寝室的清洁分情况。4.人员管理模块:包含查看寝室人员,添加进入人员以及处理进入人员。查看寝室人员栏中可以查看各个寝室的室长及所有室员,管理员及协管人员可进行编辑。添加进入人员栏可添加进入人姓名及缘由。处理进入人员可以显示添加进入人员时录入的信息及标记该人员是否离开。5物品管理模块:包含添加物品出入信息和查看物品出入信息

5、。此模块与人员管理模块类似。6.系统设置模块:包含添加公告栏和编辑公告。管理员及协管人员均有权限进行寝室楼栋重要通知的录入和修改。确认后公告将显示在桌面栏,对所有用户可见。管理员还有论坛管理的权限。确认后帖子将显示在论坛BBS栏,对所有的用户可见并可以回复。三、功能模块图.寝室智能管理系统登 录 模 块系 统 设 置 模 块物 品 管 理 模 块人 员 管 理 模 块费 用 管 理 模 块日 常 管 理 模 块退 出登 陆添 加 公 告查看物品出入信息添加物品出入信息处理进入人员添加进入人员查看寝室人员查 看 费 用添 加 费 用报 修 信 息查 看 清 洁 分打 清 洁 分论 坛 管 理编

6、辑 公 告回 复删 除添 加标 记 为 处 理标 记 为 离 开图1-1 功能模块图三 系统设计3.1 数据字典名字:论坛信息别名:描述:存储发表的帖子定义:论坛信息=帖子名+帖子内容+发表时间+用户名位置:名字: 论坛回复别名:描述:存储回复的帖子定义:论坛回复=帖子名+帖子内容+回复时间+用户名位置:名字: 出入信息别名:描述:记录外来人员出入的信息定义:出入信息=进入时间+进入原因+管理员+离开时间位置:名字: 清洁信息别名:描述:记录寝室清洁卫生信息定义:清洁信息=寝室号+周数+日期+洁净分+物品摆放分位置:名字:寝室信息 别名:描述:存储寝室的信息定义:寝室信息=室长+电话位置:名字

7、:缴费信息别名:描述:记录寝室缴水电费的信息定义:缴费信息=水费+电费+日期+是否缴费+寝室号位置:名字: 公告信息别名:描述:公开消息定义:公告信息=公告名+公告内容+时间+管理员位置:名字: 物品出入信息别名:描述:记录物品的出入信息定义:物品出入信息=学生学号+物品名+时间位置:名字: 维修信息别名:描述:存储维修信息定义:维修信息=寝室号+提出维修时间+是否维修+维修内容位置:名字: 用户信息别名:描述:存储用户信息定义:用户信息=用户号+密码+用户名+权限等级+寝室号位置:3.2 E-R图寝室耗用水电费室长电话电费水费时间交否寝室号清洁单清洁修补要求物品摆放分洁净分修补内容居住 学生

8、 学号 姓名图1-2 E-R图3.3 数据流图图1-3 数据流图四 系统实现(因为本次系统是三人组队完成,我负责的是人员管理和物品管理两个模块)4.1 用户管理4.1.1 权限设置本系统一共有三个权限 : 最高寝室管理员 其次协管人员最低学生为了实现不同权限用户的区分,我们在user表里面给每个用户分配了一个权限值level.其中level=1代表最高寝室管理员权限,level=2代表协管人员,level=3代表学生。登录时,通过判断用户的level值就可以知道用户的登录身份,从而为用户分配可以操作的页面。如果用户访问某张页面的权限不够,系统将阻止其访问。4.1.2 用户密码加密本系统采用md

9、5加密技术。每个用户的密码通过md5加密后再保存到数据表里面,防止明文保持密码的不安全。4.1.3 修改密码用户提供正确的原密码后就可以修改密码具体SQL语句:查看原密码是否正确:select UserPass from user where UserNo=学号修改密码:update user set UserPass=md5新密码where UserNo=学号登陆界面进入系统界面:4.2 费用管理4.2.1 添加费用此模块实现的功能是添加每个寝室某个月的水电费。管理员填写寝室号、月份、水费电费,然后写入到数据表pay里面。若本月水电费已经添加系统会拒绝重复添加。SQL查询语句:/检查是否已交

10、select * from Pay where Date=当前月份and DorId=.寝室号/添加 insert into Pay values(NULL,水费,电费,当前月份,未交,寝室号)4.2.2 查看费用此模块中管理员和学生可以查看已经添加了的水电费SQL查询语句:select * from pay where DorId=寝室号 and Date =月份4.3 日常管理4.3.1 打清洁分此模块管理员或协管人员可以给某个寝室添加某一周的清洁分。要求管理员输入寝室号、周数、洁净分和物品摆放分。SQL查询语句:insert into clean values(NULL,寝室号,周数,学

11、期,洁净分,物品摆放分)4.3.2 查看清洁分此模块管理员和学生可以查看已经打了的清洁分。如果某个寝室清洁分没有添加,系统会自动提示管理员添加。SQL查询语句:select * from clean where DorId=寝室号 and Date=学期order by 周数desc4.3.3 报修信息此模块学生可以添加报修信息。如寝室灯坏了等信息。SQL查询语句:学生添加:insert into upkeep(DorId,Content) values(寝室号,报修说明)4.4 人员管理4.4.1 查看寝室人员此模块专供管理员查看、编辑寝室人员信息。SQL查询语句:查看寝室人员:select

12、 * from user where DorId=寝室号改变室长:update dormitory set Leader=用户ID where Id=寝室号改变学生姓名:update user set UserName=姓名where UserNo=学号删除学生:delete from user where UserNo = 学号添加学生:insert into user(UserNo,UserName,DorId) values(姓名,学号,寝室号)4.4.2 添加进入人员此模块的作用是记录进入寝室的非本栋人员的信息,以便将来查询寝室来往人员信息SQL查询语句:添加进入人员insert in

13、to churu(Info,Admin) values(进入人员姓名和缘由,管理员用户名)4.4.3 处理进入人员信息当进入人员离开时,管理员应当把进入人员信息记录中的是否离开标记标记为离开并记录离开时间。SQL查询语句:update churu set AwayTime=当前时间where Id=记录ID4.5 物品管理4.5.1 添加物品出入信息当有学生把贵重物品如电脑主机,笔记本等拿出寝室的时候,为了安全考虑记录此学生的学号和物品信息,以便将来查询。如果学生提供的学号不存在 系统将拒绝添加。SQL查询语句:检查学生是否存在:select UserNo from user where Us

14、erNo=学号;添加物品信息:insert into thing(UserNo,Thing) values(学号,物品信息);查看物品出入信息:select * from thing order by Time desc;4.6 系统设置4.6.1 添加公告当管理员有事情通知的时候可以添加一个公告,公告将在用户登录后的首页显示出来。SQL查询语句:添加:insert into public(Title,Content,Admin) values(标题,内容,用户名)查看:select * from public order by Time desc编辑:update public set Ti

15、tle=标题,Content=内容,Admin=用户名, where Id=公告ID删除: delete from public where Id = $_GETid4.6.2 论坛管理此模块管理员可以管理BBS论坛里的所有帖子SQL查询语句查看所有帖子:select * from bbs order by ID desc删除帖子:删除主题:delete from bbs where ID = $_GETid删除回复:delete from bbs_res where syid = $_GETid添加帖子insert into bbs(title,content,UserNo)values(标

16、题,内容,用户名)回复帖子:insert into bbs_res(title,content,UserNo,syid) values(回复标题,回复内容,用户名,帖子ID)五 详细设计人员管理查看寝室人员:$sql=select count(Id) as nums from dormitory order by Id asc;$res=$db-query($sql);$obj=$db-fetch_object($res);$num=$obj-nums;$max=12;$page=$_GETpage?(is_numeric(intval($page)?($_GETpagequery($sql)

17、; while($obj = $db-fetch_object($rs)$dorId = $obj-Id;if($obj-Leader) $sql_r = select UserName from user where UserNo=.$obj-Leader; $rs_r = $db-query($sql_r); $obj_r = $db-fetch_object($rs_r); echo $obj_r-UserName;$sql_r = select * from user where DorId=.$dorId; $rs_r = $db-query($sql_r);while($obj_r

18、 = $db-fetch_object($rs_r) echo$obj_r-UserName. 、;添加进入人员:if($_POSTSubmit) $info = 姓名:.$_POSTname.n缘由:.$_POSTinfo;$sql = insert into churu(Info,Admin) valuesvalues(.$info.,.$_SESSIONuserNo.);/echo $sql;/echo $sql;$db-query($sql);echo alert(添加成功); 处理进入人员:$aMonth = array( Jan=1, Feb=2, Mar=3, Apr=

19、4, May=5, Jun=6, Jul=7, Aug=8, Sep=9, Oct=10, Nov=11, Dec=12); $date = date(Y).-.$aMonthdate(M).-.date(d); $sql = update churu set AwayTime=.$date. where Id=.$_GETid;echo $sql;$db-query($sql);物品管理:添加物品出入信息:if($_POSTSubmit) $sql=select UserNo from user where UserNo=.$_POSTid.;$res=$db-query($sql);if(

20、!$db-fetch_object($res)echo alert(此学生不存在);else$sql = insert into thing(UserNo,Thing) values(.$_POSTid.,.$_POSTthing.);/echo $sql;$db-query($sql);echo alert(添加成功); 查看物品出入信息:$sql=select count(Id) as nums from thing;$res=$db-query($sql);$obj=$db-fetch_object($res);$num=$obj-nums;$max=12;$page=$_GETpage

21、?(is_numeric(intval($page)?($_GETpagequery($sql); while($obj = $db-fetch_object($rs)$sql_r = select UserName from user where UserNo=.$obj-UserNo.; $rs_r = $db-query($sql_r); $obj_r = $db-fetch_object($rs_r); echo $obj_r-UserName;六 设计总结通过这个系统的开发,我们了解了做一个数据库开发的全过程。从系统的需求分析、概念设计、后台数据库的设计、前台的开发及软件的布署工作,

22、我们经历了一个相对比较完整的过程。在整个设计过程中,我们遇到了很多的问题,虽然在处理问题的时候我们不能说是做的最好,但是我们每个人都有不同程度的收获。由于现有知识水平的欠缺以及设计时间较短,加上我们团队的三个人都是第一次做数据库的设计,所以该系统还有许多不完善的地方,比如功能实现不够完善、用户界面不够美观、出错处理不够等等多方面问题。这些都有待进一步提高。但是,我们团队通过边学习边讨论,一步一步将整个系统逐步实现,值得一提的是为了让自己的整个系统的设计过程更具有专业性,达到了预期的效果,我们参考了很多书籍,也向精通人士请教。而且,通过整个项目的全过程,团队成员更是学到了团队协助,相互体谅、相互

23、尊重,我相信这将对我们以后的学习和生活有着非常积极的指导意义。在这次课程设计中,让我学到了很多在课堂和书本上学不到的知识,我在这次课程设计中最大的收获有以下几个方面:一、领略到了数据库设计在计算机领域的重要性。数据库作为一个永久存储形式在应用中发挥着重要的作用。在数据库设计中,我明白了数据库设计中不是范式越高越好的。我们要根据我们的应用来决定,一切应该以需求为首要选择。 二、对变成环境、一些控件的使用和界面的美化方面更加熟悉。因为.寝室智能管理系统中涉及到很多控件的使用,只有很好的使用这些控件才可以给出一个很好的界面呈现在用户的面前。这样更有利于数据库和用户之间的交流。这里就要涉及一些平时不太常见的控件的使用问题。为了更好的在系统中利用这些控件,我上网查询了一些关于控件使用的资料。我们的系统控件是用JavaScript实现的。但是在界面的美化方面,我们没有做得很好。参考文献:数据库系统概论第五版 PHP+MySQL动态网站开发专心-专注-专业

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号