学生宿舍管理系统课程:软件课程设计组别:一_第二组课题:学生宿舍管理系统成员:柏君雄、高立、亮、齐夏新、郭文杰目录1.学生宿舍管理系统的开发背景2.学生宿舍管理系统的可行性分析3.学生宿舍管理系统的需求分析3.1任务概述3.2设计及约束条件3.3系统工作原理3.4系统流程图3.5数据流图3.6数据字典3.7性能要求3.8运行环境要求4.学生宿舍管理系统的系统设计4.1系统总体设计4.2系统详细设计5.学生宿舍管理系统的编码6.系统测试概述1.开发背景在信息高速发展的今天,传统的手工管理手段已经越来越无法适应当前的要求。
利用计算机进行学生宿舍管理效率高,不易出错,能有效的减少在宿舍管理面的人力,物力的消耗。
2.可行性分析基本法:做校园的调查报告,获取宿舍管理员和学生各面信息情况,从中获取重要信息,并成为建设本系统的重要依据策略:查阅大量管理系统的相关书籍,从不同面研究本系统的整个设计,并结合调查报告中所获取的信息,逐渐形成本平台的雏形。
建立模型:从软件工程生命期角度,建立每一步的参考模型,并在详细设计的总要环节中,分别以管理员身份,管理员和学生的角度去分析与设计。
3.需求分析利用计算机进行管理操作能够大大改善数据处理速度,并且更加便的对数据进行管理,可以树立良好的办学形象,提高工作效率,同时可以减少人力资源的浪费以及工资支出,使学校学生宿舍管理不再是个枯燥而是大大减少工作量的工作。
3.1任务概述(1)熟悉宿舍管理的工作流程,进行需求分析第2(2)总体设计,详细设计第3-5(3)编码实现第6-7(4)测试第83.2设计及约束条件通过计算机实现对学生进出公寓的管理,明确管理员的权限。
3.3系统工作原理通过与数据库进行连接,实现对学生数据的存储,修改等管理。
3.4系统流程图当用户要进行登陆操作时,由终端将信息传送到系统当中,系统将登陆信息和数据库中的信息进行比对,判断用户是否合法。
用户可以进行信息修改和信息查询等操作。
系统流程图3.5 数据流图第0层第1层第2层第3层3.6数据字典********************************************* 名字:用户别名:描述:系统识别用户的定义:用户的识别序列位置:登录界面********************************************* 名字:水电信息别名:描述:当月的水电费用定义:水电费用信息位置:水电信息查询、水电缴纳********************************************* ********************************************* 名字:宿舍检查信息别名:描述:宿舍检查评级定义:检查成绩位置:宿舍检查信息录入、宿舍检查信息公布********************************************* ********************************************* 名字:个人信息别名:描述:管理员与用户的基本信息定义:个人基本信息位置:个人信息录入、个人信息修改********************************************* *********************************************名字:学生宿舍信息别名:描述:学生宿舍定义:学生与宿舍号的对应位置:学生宿舍号更改********************************************* ********************************************* 名字:用户密码别名:描述:登陆检验定义:登陆密码位置:用户登陆********************************************* 数据库表:学生信息卫生评级宿舍报修登记信息快递代取3.7性能要求对与不存在的用户或密码错误进行报错处理,水电费用精确到0.13.8运行环境要求Windows7,WindowsXP,SQL several 20084.系统设计4.1总体设计系统功能模块图:4.2系统的详细设计(1)登录模块用户通过该模块进入系统进行操作,不同的用户类型获得不同的权限。
用户也可以通过该模块进行用户注册。
输入:用户名,密码处理:核对用户信息输出:登录成功,登录失败登录模块PAD图登录模块交互界面(2)学生操作模块学生用户通过该模块实现对数据的查询,修改等操作输入:操作选择处理:识别操作,进行响应输出:页面跳转学生模块PAD图学生模块交互界面(3)管理员操作模块管理员用户通过该模块实现用户信息的管理,拥有所有的权限。
输入:操作选择处理:识别操作,进行响应输出:页面跳转管理员模块PAD图管理员模块交互界面5.编码5.1程序设计语言与数据库系统的选择本系统采用html和JavaScript及sql语言等制作而成,数据库采用SQL2008。
5.2系统模块的编码实现(1)登录模块<%'=========================== ============================= ================================='用户登录页'1. 其中就是判断用户输入的用户名和密码是否正确?'2. 如果正确,就将用户名、E-mail保存到Session中,然后重定向回首页。
'3. 如果不正确,就输出错误提示信息'=========================== ==============================================================%><% Option Explicit %><meta http-equiv="Content-Type" content="asp; charset=gb2312"><!--#Include File="odbc_connection.asp"--><%'下面首先查看用户名和密码是否正确Dim strSql,rsstrSql="Select strUserId,strEmail From tbAddress5 Where strUserId='" & Request.Form("txtUserId") & "' AndstrPwd='" & Request.Form("txtPwd") & "'"Set rs=conn.Execute(strSql)If Not rs.Eof And Not rs.Bof Then'如果有记录,表示有该用户,则将用户名和Email 保存到Session中Session("strUserId")=rs("strUserId")Session("strEmail")=rs("strEmail")Response.Write "<p><h1>登录成功!</h1></p><a href='pro.asp'>确认身份</a>"Else'如果没有记录,表示用户名或密码可能不正确,请给出提示信息Response.Write "对不起,用户名或密码有误,请<a href='index.asp'>返回首页</a>重新登录"End If%>(2)个人信息修改模块<%'============================== =============================== ============================'用户修改个人信息页'1. 这其实就是一个普通的更新记录页面。
首先将原有容显示在表单中,提交表单后再更新记录。
'2. 在更新记录时有些信息可以省略,所以SQL语句较为复杂。
以QQ为例,如果用户原来提交了QQ,在这里删除了QQ。
那么此时就需要将该字段值清空,这里使用NULL 关键字,这样该字段值就被清空了。
事实上此时也可以用空字符串""将其清空。
'============================== =============================== ============================%><%Option Explicit%><!--#Include File="odbc_connection.asp"--><html><head><title>修改个人信息</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="JavaScript">function check_Null(){if (document.frmInfo.txtName.value==""){alert("真实姓名不能为空!");return false;}if (document.frmInfo.txtEmail.value==""){alert("E-mail不能为空!");return false;}return true;}</script></head><body bgcolor="#FFCC80"><body background="6.jpg"><p align="center"><img src="photo/6.jpg"width="200"height="100"/></p><body><h2 align="center">修改个人信息</h2><%'下面读取该用户的信息,然后将其显示在后面的表格中Dim strSql,rsstrSql="Select * From tbAddress5 Where strUserId='" &Session("strUserId") & "'"Set rs=conn.Execute(strSql)%><form name="frmInfo" onsubmit="javascript: return check_Null();" action="" method="post"><table width="80%" border="1" bordercolorlight="#B0B0B0" bordercolordark="#FFFFFF" cellspacing="0" cellpadding="0" align="center"><tr height="25"><td width="20%">用户名</td><tdwidth="80%"><%=Session("strUserId")%></td> </tr><tr height="25"><td>真实姓名</td><td><input type="text" name="txtName" size=15 value="<%=rs("strName")%>">*</td></tr><tr height="25"><td>性别</td><td><input type="radio" name="rdoSex" value="男" <%If rs("strSex")="男" Then Response.Write "checked"%>>男<input type="radio" name="rdoSex" value="女" <%If rs("strSex")="女" Then Response.Write "checked"%>>女</td></tr><tr height="25"><td></td><td><input type="text" name="txtTel" size="25" value="<%=rs("strTel")%>"></td></tr><tr height="25"><td>E-mail</td><td><input type="text" name="txtEmail" size="40" value="<%=rs("strEmail")%>">*</td> </tr><tr height="25"><td>QQ </td><td><input type="text" name="txtQQ" size="15" value="<%=rs("strQQ")%>"></td></tr><tr height="25"><td>个人简介</td><td><textarea name="txtIntro" rows="4" cols="50" ><%=rs("strIntro")%></textarea></td> </tr></table><p align="center"><input type="submit" value=" 确定"></form><%If Request.Form("txtName")<>"" And Request.Form("txtEmail")<>"" Then'下面建立SQL语句,因为某些字段允为空,所以需要判断一下strSql="Update tbUsers Set strName='" & Request.Form("txtName") & "'"strSql=strSql & ",strEmail='" & Request.Form("txtEmail") & "'"strSql=strSql & ",strSex='" & Request.Form("rdoSex") & "'"strSql=strSql & ",dtmSubmit=#" & Date() & "#"'注意:如果用户没有提交QQ,那么不管原来有没有QQ,都将该字段值用NULL清空了。