学生宿舍管理系统

湖南文理学院

课  程  设  计


摘要

本文主要分析了“学生宿舍管理系统”的一些基本功能和组成情况。其中包括系统的分析、设计;界面的组成和实现;后台数据库的管理等方面。其系统主要完成对学生宿舍管理系统,包括宿舍、宿舍成员的添加、修改、删除、查询等几个方面。利用Macromedia Dreamweaver 8作为前端应用界面的开发工具,设计了用户登录、物品信息、物品管理等前端界面,后台利用Access建立功能完善的数据库。整个系统的运行环境是Windows 7,操作简便,具有较强的实用性。

引言

1.课程设计题目:学生宿舍管理系统

学生宿舍管理系统要求:具有分类管理各寝室和成员的功能;对于宿舍和成员能分别记录其姓名,学号,寝室号等特性;通过在图形界面中输入相关的信息,用户可以按学号、姓名、寝室来进行精确查询。

2.功能描述:

在登录图形界面中分别设有普通用户和管理员登录模式,以此来设置权限,以保护个人物品信息。根据不同权限单击输入账号、密码成功后则可以使用该系统。若为普通用户登录,则可通过输入自己的姓名和学号进入自己的信息管理窗口。若为管理员登录,在管理时,用户可以对表中数据进行添加、删除、修改,进行查看编辑,并可以对成员进行添加或修改的功能,通过建立一个数据表来保存相关个人的信息情况,即可实现查询所有成员信息的功能,以供浏览。

3.总体设计方案:

(1)登录:

    对用户输入的账号密码和初始密码进行比较,如果相同则登录窗体御载,如果不相同则提示账号密码错误,请重新输入!

  (2)成员信息修改查询:

     此窗体用到数据库的链接,以及Data控件,通过Data控件把数据表链接起来,并绑定相关控件用来显示数据表中的数据,通过Data的edit,delete,addnew,move等方法来对数据表进行相关操作。

  (3)成员信息查询:

    此菜单下有两个子菜单:查询他人信息、浏览我的信息。窗体中显示了查询选项:查询姓名、查询学号和查询寝室号。界面右上角有注销按键,点击可以回到登陆界面。

(4)管理员界面:

     窗体中显示了管理员的基本功能:删除用户资料、修改用户资料和添加用户资料。界面右上角有注销按键,点击可以回到登陆界面。

1 系统分析

系统分析是软件生命周期的一个重要阶段。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景,必须仔细分析系统中的数据,既要分析系统中的数据流,又要分析长期使用的数据存储,通过分析应该得出用可行性分析、业务流图等内容为系统的设计奠定基础

1.1 需求分析

1.1.1 功能需求分析

学生宿舍管理系统的总目标:在数据库和先进的开发平台上,利用现有资源,开发一个体系结构完善的、易扩充的、易维护的、具有良好的人机交互界面的管理资源,实现学生宿舍管理系统的计算机管理,提供完善的功能,为操作人员提供便利的工作方式。

关于学生宿舍管理系统的系统设计和运用。为了使个人物品管理的工作更加规范化、制度化。管理员可以结合实际情况制定具体的管理制度,内容主要包括成员的添加、删除和修改的管理,成员的查询管理等。这些对于学生宿舍管理系统功能的有效提高和科学管理的实现具有重要的意义。

1.2 业务流程分析

学生宿舍管理系统的业务主要是对用户信息的管理。若班级有了新的成员或有些成员出去了,也可以通过计算机,只要单击添加删除按钮就可以了。

本系统在设计过程中,为了实现以上功能以满足用户的需求,我们采取了下面的一些原则:

(1)程序代码标准化,软件统一化,以确保软件的可维护性和实用性。

(2)实现管理规范化、科学化。

(3)统一各种原始数据的格式。

在进行学生宿舍管理系统业务流程图的设计中。普通用户或管理员进入本系统后的一系列操作过程设计如图1-1所示。

1-1 业务流程图

2 系统设计

系统设计的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转化成可实施的基于计算机与通信系统的物理方案。

2.1 功能设计

为了提高管理效率,减轻劳动强度,提高处理速度和准确性;为操作员提供更方便、科学的服务项目以及一种更先进、科学的服务系统。于是选择了由计算机来设计一个学生宿舍管理系统的系统设计方案。用户可以直接在计算机上查询。在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要达到的运行指标,这是系统开发和评价的依据。

 

2.2 数据库设计

2.2.1 表结构设计

关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将设计数据分析和数据字典的内容代人到所设计的数据整体关系结构中,一个规范化数据库结构就建立起来了。

根据分析阶段得出的结论,结合本系统对有关数据的存储的需要,更加方便实现该管理系统的所有功能,现将本管理系统设计成如下几个数据库表,表的设计如下:

2-1 用户信息表

3 系统实现

3.1 界面实现

好的界面美观易懂、操作简单并且具有引导功能,使用户感觉愉快、增强兴趣,从而提高使用效率。本系统基于Windows操作系统,因此在界面上遵循Windows的传统风格,由标题栏、菜单栏、快捷工具按钮、对话框等要素组成。与操作系统一致的人机界面,使得用户只要具备Windows操作基础,就能很快适应本管理系统的操作使用,因此能够大大降低系统培训费用,提高系统的可推广性。

3.1.1 登录界面的实现

用户登录窗体启动。输入用户名和密码,然后根据权限选择普通用户或管理员后,登录。如果用户名或密码错误,则进行错误提示;如果输入的用户名和密码正确,对于普通用户或管理员则进入不同的控制平台。用户登录模块的窗体如图3-1所示。

3-1  登录对话框图

实现该功能的源代码如下:

MM_LoginAction = Request.ServerVariables("URL")

If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)

MM_valUsername=CStr(Request.Form("姓名"))

If MM_valUsername <> "" Then

  MM_fldUserAuthorization=""

  MM_redirectLoginSuccess="loginok.asp"

  MM_redirectLoginFailed="loginbad.asp"

  MM_flag="ADODB.Recordset"

  set MM_rsUser = Server.CreateObject(MM_flag)

  MM_rsUser.ActiveConnection = MM_cl_STRING

  MM_rsUser.Source = "SELECT 姓名, 学号"

  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization

  MM_rsUser.Source = MM_rsUser.Source & " FROM 学生信息 WHERE 姓名='" & Replace(MM_valUsername,"'","''") &"' AND 学号='" & Replace(Request.Form("学号"),"'","''") & "'"

  MM_rsUser.CursorType = 0

  MM_rsUser.CursorLocation = 2

  MM_rsUser.LockType = 3

  MM_rsUser.Open

  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then

    ' username and password match - this is a valid user

    Session("MM_Username") = MM_valUsername

    If (MM_fldUserAuthorization <> "") Then

      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)

    Else

      Session("MM_UserAuthorization") = ""

    End If

    if CStr(Request.QueryString("accessdenied")) <> "" And false Then

      MM_redirectLoginSuccess = Request.QueryString("accessdenied")

    End If

    MM_rsUser.Close

    Response.Redirect(MM_redirectLoginSuccess)

  End If

  MM_rsUser.Close

  Response.Redirect(MM_redirectLoginFailed)

End If

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

<style type="text/css">

<!--

body {

       background-image: url(image/1.jpg);

}

body,td,th {

       color: #FFFFFF;

}

#Layer1 {

       position:absolute;

       width:348px;

       height:92px;

       z-index:1;

       left: 527px;

       top: 178px;

}

.STYLE1 {font-size: 36px}

-->

</style></head>

<body>

<form ACTION="<%=MM_LoginAction%>" id="form1" name="form1" method="POST">

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center" class="STYLE1">学生宿舍管理系统</p>

  <p align="center">&nbsp;</p>

  <p align="center">姓名:

    <label>

    <input name="姓名" type="text" id="姓名" />

    </label>

  </p>

  <p align="center">学号:

    <label>

    <input name="学号" type="text" id="学号" />

    </label>

  </p>

  <p align="center">

    <label>

<input type="submit" name="Submit" value="登陆" />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </label>

    <label>

    <input type="reset" name="Submit2" value="重置" />

    </label>

  </p>

  <p align="center">&nbsp;</p>

</form>

<div align="center"><a href="gllogin.asp">管理员登陆

  </a></div>

</body>

</html>

3.1.1 管理员界面

学生宿舍管理系统的主界面如图3-2所示。这是只有管理员身份才能进入的界面。该界面包含了对宿舍成员的查询、修改、添加、删除等功能。普通用户无法查看。在此界面,可通过单击“查询姓名”“查询学号”“查询寝室号”即可对其他用户信息进行查询。

图3-2 主控制界面

实现该功能的部分源代码如下:

<p align="center" class="STYLE2">&nbsp;</p>

<p align="center" class="STYLE2">欢迎<span class="STYLE3"><%= Session("MM_Username") %></span>回来。</p>

<form id="form1" name="form1" method="post" action="">

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <table width="400" height="200" border="1" align="center">

    <tr>

      <td><div align="center"><span class="STYLE2">姓名</span></div></td>

      <td><div align="center"><span class="STYLE2">学号</span></div></td>

      <td><div align="center"><span class="STYLE2">寝室号</span></div></td>

    </tr>

    <tr>

      <td><div align="center"><span class="STYLE4"><%=(Recordset1.Fields.Item("姓名").Value)%></span></div></td>

      <td><div align="center"><span class="STYLE4"><%=(Recordset1.Fields.Item("学号").Value)%></span></div></td>

      <td><div align="center"><span class="STYLE4"><%=(Recordset1.Fields.Item("寝室号").Value)%></span></div></td>

    </tr>

  </table>

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <p align="center">&nbsp;</p>

</form>

<p align="center"><a href="xingming.asp">查询姓名</a> <a href="xuehao.asp">查询学号</a> <a href="qinshihao.asp">查询寝室号</a></p>

</body>

</html>

<%

Recordset1.Close()

Set Recordset1 = Nothing

%>

3.1.3 管理员编辑查询的实现

通过单击主控制界面的“查询姓名”“查询学号”“查询寝室号”,即可进入图3-3图3-4图3-5所示的管理员删除、修改和添加界面。只需点击一下进入对应的页面。所需结果即可在页面中显示。

图3-3 删除用户资料界面

3-4 修改用户资料界面

3-5 添加用户资料界面

实现该功能的部分源代码如下:

删除用户资料

<div align="center">

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <table width="300" height="100" border="1">

    <tr>

      <td>学号</td>

      <td>姓名</td>

      <td>寝室号</td>

      <td>删除</td>

    </tr>

    <%

While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF))

%>

      <tr>

        <td><%=(Recordset1.Fields.Item("学号").Value)%></td>

        <td><%=(Recordset1.Fields.Item("姓名").Value)%></td>

        <td><%=(Recordset1.Fields.Item("寝室号").Value)%></td>

        <td><form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">

          <label>

            <input type="submit" name="Submit" value="删除" />

            </label>

            <input type="hidden" name="MM_delete" value="form1">

            <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("学号").Value %>">

          </form></td>

      </tr>

      <%

  Repeat1__index=Repeat1__index+1

  Repeat1__numRows=Repeat1__numRows-1

  Recordset1.MoveNext()

Wend

%>

    </table>

</div>

</body>

</html>

<%

Recordset1.Close()

Set Recordset1 = Nothing

%>

修改用户资料

<%

While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF))

%>

  <form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p align="center">姓名:

      <label>

      <input name="姓名" type="text" id="姓名" value="<%=(Recordset1.Fields.Item("姓名").Value)%>" />

      </label>学号:

      <label>

      <input name="学号" type="text" id="学号" value="<%=(Recordset1.Fields.Item("学号").Value)%>" />

      </label>寝室号:

      <label>

      <input name="寝室号" type="text" id="寝室号" value="<%=(Recordset1.Fields.Item("寝室号").Value)%>" />

      </label>

    </p>

    <p align="center">

      <label>

      <input type="submit" name="Submit" value="提交" />

      </label>

    </p>

    <input type="hidden" name="MM_update" value="form1">

    <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("学号").Value %>">

  </form>

  <%

  Repeat1__index=Repeat1__index+1

  Repeat1__numRows=Repeat1__numRows-1

  Recordset1.MoveNext()

Wend

%>

</body>

</html>

<%

Recordset1.Close()

Set Recordset1 = Nothing

%>

添加用户资料

<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;</p>

  <p align="center">&nbsp;&nbsp;名:

    <label>

    <input name="姓名" type="text" id="姓名" />

    </label>

  </p>

  <p align="center">&nbsp;&nbsp;号:

    <input name="学号" type="text" id="学号" />

  </p>

  <p align="center">  寝室号:

    <input name="寝室号" type="text" id="寝室号" />

  </p>

  <p align="center">

    <label>

    <input type="submit" name="Submit" value="插入" />

    </label>

  </p>

  <p align="center">&nbsp;</p>

  <p>&nbsp;</p>

  <input type="hidden" name="MM_insert" value="form1">

</form>

</body>

</html>

<%

Recordset1.Close()

Set Recordset1 = Nothing

%>

3.1.4用户界面的实现

普通用户界面进入和查询和管理员界面基本一致,而且普通用户只可以实现查询功能。以上都有介绍这里也就不一一做出源代码分析了。

总 结

我们认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们对于Macromedia Dreamweaver 8和利用Access建立功能完善的数据库等反面进行了相当的熟悉,基本掌握了相关的软件和编程语句常用的用法和语句的编程。

   让我们也懂得多和同学讨论,在做课程设计的过程中要不停的讨论问题,这样,可以尽可能的获取更多的想法,这样就不会使自己在做的过程中不会迷失方向。讨论不仅是一些思想的问题,还可以深入的讨论一些技术上的问题,这样可以使处自己处理问题要快一些。在整整半个月的日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
   对我而言,知识上的收获重要,结果不一定是最重要。特别感谢我的指导老师刘长青,在本系统开发中给予我悉心指导,从系统开发到结束中过程遇到很多困难都是他给我鼓励与指引,使我能够克服重重困难,将系统做完成,在此谨向刘长青老师致以诚挚的谢意和崇高的敬意。我还要感谢在班里同学和朋友,感谢你们在我遇到困难的时候帮助我,给我支持和鼓励,感谢你们,谢谢!

相关推荐