数据库课程设计报告宿舍管理系统方案Word文档格式.docx

上传人:b****5 文档编号:20962334 上传时间:2023-01-26 格式:DOCX 页数:21 大小:871.69KB
下载 相关 举报
数据库课程设计报告宿舍管理系统方案Word文档格式.docx_第1页
第1页 / 共21页
数据库课程设计报告宿舍管理系统方案Word文档格式.docx_第2页
第2页 / 共21页
数据库课程设计报告宿舍管理系统方案Word文档格式.docx_第3页
第3页 / 共21页
数据库课程设计报告宿舍管理系统方案Word文档格式.docx_第4页
第4页 / 共21页
数据库课程设计报告宿舍管理系统方案Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据库课程设计报告宿舍管理系统方案Word文档格式.docx

《数据库课程设计报告宿舍管理系统方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告宿舍管理系统方案Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

数据库课程设计报告宿舍管理系统方案Word文档格式.docx

二、系统功能需求分析

用户的需求具体体现在各种信息的输入、修改和查询,并能够提供一定的安全保障。

因此,系统必须实现的功能如下:

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查看费用

此模块中管理员和学生可以查看已经添加了的水电费

select*frompaywhereDorId=‘寝室号’andDate=‘月份’

4.3日常管理

4.3.1打清洁分

此模块管理员或协管人员可以给某个寝室添加某一周的清洁分。

要求管理员输入寝室号、周数、洁净分和物品摆放分。

insertintocleanvalues(NULL,"

寝室号"

"

周数"

学期"

洁净分"

物品摆放分"

4.3.2查看清洁分

此模块管理员和学生可以查看已经打了的清洁分。

如果某个寝室清洁分没有添加,系统会自动提示管理员添加。

select*fromcleanwhereDorId=‘寝室号’andDate=‘学期’orderby周数desc

4.3.3报修信息

此模块学生可以添加报修信息。

如寝室灯坏了等信息。

学生添加:

insertintoupkeep(DorId,Content)values(‘寝室号’,‘报修说明’'

4.4人员管理

4.4.1查看寝室人员

此模块专供管理员查看、编辑寝室人员信息。

查看寝室人员:

select*fromuserwhereDorId=‘寝室号’

改变室长:

updatedormitorysetLeader='

"

用户ID"

'

whereId=寝室号

改变学生姓名:

updateusersetUserName=‘姓名’whereUserNo=‘学号’

删除学生:

deletefromuserwhereUserNo=‘学号’

添加学生:

insertintouser(UserNo,UserName,DorId)values(‘姓名’,‘学号’,‘寝室号’)

4.4.2添加进入人员

此模块的作用是记录进入寝室的非本栋人员的信息,以便将来查询寝室来往人员信息

添加进入人员

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添加公告

当管理员有事情通知的时候可以添加一个公告,公告将在用户登录后的首页显示出来。

添加:

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’]

添加帖子

insertintobbs(‘title’,‘content’,‘UserNo’)values(‘标题’,‘内容’,‘用户名’)

回复帖子:

insertintobbs_res(‘title’,‘content’,‘UserNo’,‘syid’)values(‘回复标题’,‘回复内容’,‘用户名’,‘帖子ID’)

五详细设计

人员管理

查看寝室人员:

$sql="

selectcount(Id)asnumsfromdormitoryorderbyIdasc"

;

$res=$db->

query($sql);

$obj=$db->

fetch_object($res);

$num=$obj->

nums;

$max=12;

$page=$_GET["

page"

]?

((is_numeric(intval($page))?

($_GET["

]<

=1?

1:

$_GET["

]):

1)):

1;

$sql="

select*fromdormitoryorderbyIdasclimit"

.($page-1)*$max."

.$max."

$rs=$db->

while($obj=$db->

fetch_object($rs)){

$dorId=$obj->

Id;

if($obj->

Leader){

$sql_r="

selectUserNamefromuserwhereUserNo="

.$obj->

Leader;

$rs_r=$db->

query($sql_r);

$obj_r=$db->

fetch_object($rs_r);

echo$obj_r->

UserName;

}

$sql_r="

select*fromuserwhereDorId="

.$dorId;

while($obj_r=$db->

fetch_object($rs_r)){

UserName."

&

nbsp;

、"

添加进入人员:

if($_POST["

Submit"

]){

$info="

姓名:

.$_POST["

name"

]."

\n缘由:

info"

];

insertintochuru(Info,Admin)values

values('

.$info."

'

.$_SESSION["

userNo"

)"

//echo$sql;

$db->

echo"

<

script>

alert('

添加成功'

);

/script>

}

处理进入人员:

$aMonth=array(

"

Jan"

=>

1"

"

Feb"

2"

Mar"

3"

Apr"

4"

May"

5"

Jun"

6"

Jul"

7"

Aug"

8"

Sep"

9"

Oct"

10"

Nov"

11"

Dec"

12"

$date=date('

Y'

)."

-"

.$aMonth[date('

M'

)]."

.date("

d"

$sql="

updatechurusetAwayTime='

.$date."

whereId="

.$_GET["

id"

echo$sql;

物品管理:

添加物品出入信息:

$sql="

selectUserNofromuserwhereUserNo='

if(!

$db->

fetch_object($res)){

echo"

此学生不存在'

}else{

insertintothing(UserNo,Thing)values('

.$_POST

["

thing"

//echo$sql;

$db->

}

selectcount(Id)asnumsfromthing"

$res=$db->

$obj=$db->

$num=$obj->

$max=12;

$page=$_GET["

$sql="

select*fromthingorderbyTimedesclimit"

$rs=$db->

while($obj=$db->

fetch_object($rs)){

selectUserNamefromuserwhereUserNo='

UserNo."

六设计总结

通过这个系统的开发,我们了解了做一个数据库开发的全过程。

从系统的需求分析、概念设计、后台数据库的设计、前台的开发及软件的布署工作,我们经历了一个相对比较完整的过程。

在整个设计过程中,我们遇到了很多的问题,虽然在处理问题的时候我们不能说是做的最好,但是我们每个人都有不同程度的收获。

由于现有知识水平的欠缺以及设计时间较短,加上我们团队的三个人都是第一次做数据库的设计,所以该系统还有许多不完善的地方,比如功能实现不够完善、用户界面不够美观、出错处理不够等等多方面问题。

这些都有待进一步提高。

但是,我们团队通过边学习边讨论,一步一步将整个系统逐步实现,值得一提的是为了让自己的整个系统的设计过程更具有专业性,达到了预期的效果,我们参考了很多书籍,也向精通人士请教。

而且,通过整个项目的全过程,团队成员更是学到了团队协助,相互体谅、相互尊重,我相信这将对我们以后的学习和生活有着非常积极的指导意义。

在这次课程设计中,让我学到了很多在课堂和书本上学不到的知识,我在这次课程设计中最大的收获有以下几个方面:

一、领略到了数据库设计在计算机领域的重要性。

数据库作为一个永久存储形式在应用中发挥着重要的作用。

在数据库设计中,我明白了数据库设计中不是范式越高越好的。

我们要根据我们的应用来决定,一切应该以需求为首要选择。

二、对变成环境、一些控件的使用和界面的美化方面更加熟悉。

因为《.寝室智能管理系统》中涉及到很多控件的使用,只有很好的使用这些控件才可以给出一个很好的界面呈现在用户的面前。

这样更有利于数据库和用户之间的交流。

这里就要涉及一些平时不太常见的控件的使用问题。

为了更好的在系统中利用这些控件,我上网查询了一些关于控件使用的资料。

我们的系统控件是用JavaScript实现的。

但是在界面的美化方面,我们没有做得很好。

参考文献:

《数据库系统概论》第五版

《PHP+MySQL动态网站开发》

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

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1