宿舍管理系统毕业论文.doc
郑州铁路职业技术学院毕 业 论 文题 目 学生宿舍管理系统 学 号 班 级 计算机09A1专 业 计算机应用 系 别 信息工程系 摘要信息管理系统在现代社会已深入到各行各业,大学生宿舍管理系统就是一个典型的管理信息系统,它可以让宿舍管理工作变的更轻松。本毕业设计的任务就是设计一个大学生宿舍管理系统。其开发过程主要包括前端应用程序的开发和后台数据库的建立和维护两个方面。主要任务就是建立基本数据,后台程序主要负责的都是管理上的功能。系统是采用Visual Basic作为前台开发工具。本系统最大的特点是通用性、简单操作性。随着学校寄宿人员的增多,宿舍管理人员的负担越来越重,为了让所有宿舍管理人员能从繁重的工作中解脱出来,实现无纸化办公;使工作更有条理,更方便,更有效率而开发出这套宿舍管理软件。 目 录第一章系统需求分析1一 绪论1(一)开发背景1(二)开发环境1二 系统可行性1(一)经济可行性1(二)技术可行性2(三)操作可行性2第二章 学生宿舍管理系统的主要功能2一 主要功能2二 功能权限图2第三章 系统设计3一 数据流图4二 数据库设计6第四章 系统实现8一 数据库连接8二 功能模块实现9第五章 系统运行环境 20(一)硬件环境:20(二)软件环境:20第六章 系统测试运行20(一)模块测试20(二)集成测试21(三)系统有效性测试21(四)系统可行性测试22(五)系统测试结果22第七章 小结23参考文献24致 谢25第一章 系统需求分析一 绪论(一)开发背景随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。 对于学校而言,学生宿舍管理是必不可少的组成部分。目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的,而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。采用计算机来管理宿舍和学生的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等.(二)开发环境Visual Basic(VB)是微软公示推出的功能强大的Windows应用程序开发工具。与普通的数据库系统相比,用VB作为数据库开发平台有简单性、灵活性等有点,特别是其可扩充性,在VB中,可以使用Active X控件(以前版本中称VBX或OLE控件),很容易在VB中增加新功能,扩充VB数据库存取空间的指令系统。二 可行性分析(一)经济可行性由于开发此宿舍管理系统所需的硬件(计算机及相关硬件)和软件环境(Visual Basuc和SQLSERVER)价格低廉,在市场上都容易购买到,因此开发此系统成本低,经济效益高,因此系统经济可行,应积极开发。(二)技术可行性由于开发此宿舍管理系统需要的硬件环境有Windows XP,支持的软件有开发工具Visual Basic所需用的操作人员熟练使用Visual Basic及SQL,具有一定的数据库开发功底及编程能力,现有开发工具Visual Basic支持强大的数据库开发,再加上Windows XP稳定的运行环境的支持和开发人员的过硬技术,从功能和性能上完全都满足系统的要求,因此从技术方面讲开发此宿舍管理系统是可行的。(三)操作可行性系统是采用开发工具Visual Basic 6.0编程环境和Access 2003数据库开发设计而成,具有操作简单方便、界面美观大方、对计算机操作知识要求层次低等优点。(四)使用可行性此宿舍管理系统具备良好的界面、使用方便、操作简单、易于被用户接受,用户只需可以熟练操作计算机和对此系统使用做简单的了解即可方便使用,而且使用此系统可以减速少大量录入工作,大大减少后勤管理人员的负担,从使用方面是此系统的开发是可行的。第二章 学生宿舍管理系统的主要功能一 主要功能本系统中主要功能需求是:对刚入学的学生进行入住登记,登记后的各种信息除了存入数据库外还要可以即时预览,如有个别同学需要转系转宿舍的,还可以及时地对他的宿舍进行调整,并把调整后的信息放入数据库,一般用户如果想要对学生信息进行查看,也可以根据条件进行搜索,把你自己所需要的信息查出来,以便你自己更好地查看你所需要的信息。如遇到修改信息,数据维护模块可以对学生的信息,以便管理人员和用户可以随时查到最新的信息,同时,可以随时对需要的信息进行维护和更新。二 功能权限图系统功能按权限划分类别为两大类:用户和管理员1、 用户:注册、登录、修改密码、注销登录、退出系统用户注册账户修改密码注销登陆退出系统图1 用户权限图2、管理员: 信息录入、信息查询、系统管理管理员信息录入信息查询系统管理学生信息登记学生晚归登记来访人登记物品出入登记住宿信息查询晚归记录查询数据备份数据恢复图2 管理员权限图第三章 系统设计一 数据流图为了更加清晰地表达系统的功能,下面给出学生宿舍管理系统的系统流程图。(1)首先用户启动服务器及相关程序,然后客户端系统启动,进入身份验证。通过身份验证后,激活各个功能模块,并执行指定模块,系统进入消息循环状态。各项功能执行完毕后重新进入消息循环状态。由系统退出按钮激活系统关闭事件,退出系统。如图3所示:用户注册身份验证密码处理打开注销登陆退出密码修改密码新密码图3 数据流图(2)用户登录流程图:用户登录具有用户登录功能。系统运行的第一个界面便是用户登录界面。在用户登录界面中,首先选择用户注册,注册完毕后,在“用户名”和“密码”文本框中输入注册的用户名和密码后单击“登录”按钮,系统验证成功后,用户将会以注册的身份进入用户界面。如果用户名或者密码输入错误,系统则给出提示重新输入,输入三次错误后则无法再登录,请关闭系统重新启动登录。只有用户名和密码都正确,才能进入系统。因为系统为宿舍管理员使用,所以登陆后拥有全部权限。如图4所示:图4 用户登录流程图(3)用户管理流程图:管理员对学生的各项信息进行管理是系统的主要功能。首先,学生入住提供需要登记的个人信息,管理员根据学生提供具体信息进行登记。登记完毕后就对学生个人信息进行查询。学生住宿过程中如果有晚归等违纪情况也可进行详细登记,想要了解学生的晚归违纪情况可进行查询。日常生活中难免会有外人来访,则也要进行登记,以免发生意外情况。学生携带贵重物品出入宿舍楼时对其进行登记,以保证学生人身财产安全。管理员在日常使用系统时可对密码进行修改,以保证系统安全。管理员还可定期对数据进行备份处理,以免系统出现问题导致数据丢失而没办法补救。具体流程图如图5所示:图5 管理员操作流程图二 数据库设计目前,可应用的数据库开发工作很多,Oracle是面向网络计算的数据库,适合开发大型网络应用软件;Access和Visual Foxpro系统适合开发小型数据库应用软件。Access数据库功能比较齐全,数据的备份、拷贝都很方便,且程序发布时不需要额外安装其他的数据库管理软件。本系统数据量较小,采用Access数据库就可满足要求。根据系统功能设计的要求及功能模块的划分,对于学生宿舍管理系统的数据库,可以列出以下表。用户表:用来存储用户的账号、密码信息。根据用户的修改信息进行及时更新,以便管理员更好的管理系统。如表1所示:表1 用户信息表字段名数据类型长度(字节)用户账号文本20用户密码文本20(1) 学生信息表:每个学生在入住登记后有唯一的学号。表内存放学生的各项详细信息资料,用唯一的学号来标识该学生。学生的详细信息记录有学号、姓名、性别、系别、班级、宿舍号、入住时间、家庭住址、联系方式、照片。通过详细记录学生的具体信息,可以为宿舍的管理提供学生信息,方便后期的学生住宿管理。如表2所示:表2 学生信息表字段名数据类型长度(字节)学号文本50姓名文本50性别文本50系别文本50班级文本50宿舍号文本50入住时间 文本50家庭住址文本50联系方式文本50照片OLE对象(2) 晚归表:晚归表记录学生晚上熄灯后回宿舍的信息。考虑到学生的人身财产安全,登记时先要对其身份进行核查,确定其是本宿舍楼学生,所以晚归表信息包括学号、姓名、班级 、宿舍号、日期、时间、原因。这样能更好的记录学生违纪情况。如表3所示:表3 学生晚归登记表字段名数据类型长度(字节)学号文本50姓名文本50班级文本50宿舍号文本50日期日期/时间短日期时间日期/时间长时间原因备注(3) 物品出入表:鉴于学生宿舍财产安全长时间无法得到保障,建立物品出入表登记学生出入宿舍时带的贵重物品,让学生财产安全多一层保障。信息记录包括学号、宿舍号、姓名、物品名、日期、时间。如表4所示:表4 物品出入登记表字段名数据类型长度(字节)学号文本20宿舍号 文本10姓名文本10物品名文本20日期日期/时间短日期时间日期/时间长时间(4) 来访表:来访表是对宿舍来访人员进行登记,以保障宿舍学生的人身、财产安全。登记首先要对被访人员进行核查,若是本宿舍楼学生则进行登记,否则不进行登记,也不允许进入。详细信息记录包括来访人姓名、要访人姓名、来访时间、所属关系、证件名称、证件号码、备注。如表5所示:表5来访人员登记表字段名数据类型长度(字节)来访人姓名文本10要访人姓名 文本50来访时间时间/日期常规日期所属关系文本5证件名称文本10证件号码文本20备注备注第四章 系统实现一 数据库连接数据库相对地址连接的代码为:Adodc1.ConnectionString=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + App.Path + “数据源.mdb;Persist Security Info=False”Adodc1.CommandType = adCmdText 二 功能模块实现一般用户登录后,即进入了主界面,主界面分为六大块:用户管理模块、信息管理模块、晚归管理模块、来访管理模块、物品管理模块、系统管理模块。其主界面如下图所示:图6 主界面图(1)用户注册图7 用户注册图其源代码为:Private Sub Command1_Click()If Text1.Text = "" Then MsgBox "账号不能为空!", vbExclamation, "提示" Text1.SetFocus Exit SubEnd IfIf Text2.Text = "" Then MsgBox "密码不能为空!", vbExclamation, "提示" Text2.SetFocus Exit SubEnd IfOn Error Resume Next Adodc1.RecordSource = "select * from 用户表 where 用户账号='" & Text1.Text & "'" Adodc1.CommandType = adCmdText Adodc1.RefreshIf Adodc1.Recordset.EOF = True Then If Text3.Text = "" Then MsgBox "请确认密码!", vbExclamation, "提示" Text3.SetFocus Exit Sub ElseIf Text3.Text <> Text2.Text Then MsgBox "密码不匹配,请重新输入!", vbExclamation, "提示" Text3.Text = "" Text3.SetFocus Exit Sub Else Adodc1.Recordset.AddNew Adodc1.Recordset.Fields("用户账号") = Text1.Text Adodc1.Recordset.Fields("用户密码") = Text2.Text Adodc1.Recordset.Update MsgBox "注册成功!", vbInformation, "提示" Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End If Else MsgBox "用户已存在,请重新注册!", vbExclamation, "提示" Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus Exit Sub End If Unload Me denglu.Text1.SetFocus(一)系统登录模块图8 登录界面图 “登陆“功能源代码:Private Sub Command1_Click()On Error Resume NextDim a As StringDim b As StringStatic number As Integera = Trim(Text1.Text)b = Trim(Text2.Text)If Text1.Text = "" Then MsgBox "帐户不能为空,请核对帐户信息!", vbExclamation, "核对帐户信息" Text1.SetFocusElseIf Text2.Text = "" Then MsgBox "密码不能为空,请核对密码信息!", vbExclamation, "核对密码信息" Text2.SetFocusElseAdodc1.RecordSource = "select * from 用户表 where 用户账号='" & a & "' and 用户密码= '" & b & " ' "Adodc1.CommandType = adCmdTextAdodc1.RefreshIf Adodc1.Recordset.EOF Then '登录失败 MsgBox "对不起,无此用户或者密码不正确!请重新输入!", vbExclamation, "提示"Text1.Text = ""Text2.Text = ""Text1.SetFocusnumber = number + 1 If number >= 3 Then MsgBox "您已经登录了" & number & "次!您无权操作本系统,请您退出!", vbExclamation, "提示" Command1.Enabled = False Text1.Enabled = False Text2.Enabled = False End IfElse '登陆成功MsgBox "欢迎使用本系统!", vbInformation, "欢迎"Me.Hidezhujiemian.Showfuzhujiemian.StatusBar1.Panels(2).Text = denglu.Text1.TextEnd IfEnd IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Command3_Click()zhuce.ShowEnd SubPrivate Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "数据源.mdb;Persist Security Info=False"Adodc1.CommandType = adCmdTextAdodc1.RecordSource = "select * from 用户表"denglu.ShowText1.SetFocusText2.Text = ""End Sub(二)晚归管理模块晚归管理模块包括晚归登记、晚归查询两个模块。1.晚归登记图9 晚归登记图输入项:学生的姓名;输出项:经过核查学生信息子过程,系统会自动实现晚归学生学号、姓名、班级和寝室记录的录入。此模块主要包括两个功能:一、能够通过输入晚归者姓名来核查一下晚归者的信息,最后通过DataGrid控件来显示晚归者的信息。二、新的晚归者信息的录入。通过command控件来保存刚录入的信息。2.晚归查询图10 晚归查询图本模块可以按学号、姓名、班级、寝室进行查询。通过DataGrid控件来显示查询到的学生晚归的信息。同时还能对数据库中晚归表的错误的信息的删除。按学号查询源代码:Private Sub Command1_Click()If Text1.Text = "" ThenMsgBox "请输入学号", vbExclamation, "提示"Text1.SetFocusElseAdodc1.RecordSource = "select*from 晚归表where 学号='" & Trim(Text1.Text) & "'"Adodc1.CommandType = adCmdUnknownAdodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox "无此学生记录!", vbExclamation, "提示"Text1.Text = ""Text1.SetFocusElseSet DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd IfEnd IfEnd SubPrivate Sub Command9_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MoveNextAdodc1.RefreshMsgBox ("删除成功!")End SubPrivate Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "数据源.mdb;Persist Security Info=False"Adodc1.CommandType = adCmdTextAdodc1.RecordSource = "select * from 晚归表"Set DataGrid1.DataSource = Adodc1Set DataGrid2.DataSource = Adodc1Set DataGrid3.DataSource = Adodc1Set DataGrid4.DataSource = Adodc1wanguichaxun.ShowText1.SetFocusDataGrid1.RefreshDataGrid2.RefreshDataGrid3.RefreshDataGrid4.RefreshEnd Sub(三)来访管理模块图11 来访登记图此模块主要包括两个功能:一、能够通过输入要访人姓名来核查一下来访者的信息,最后通过DataGrid控件来显示来访者的信息。二、新的来访者信息的录入。通过command控件来保存刚录入的信息。(四)物品管理模块图12 物品出入登记图(五)系统管理模块系统管理模块包括数据备份、数据恢复和退出系统功能。这里主要介绍数据恢复功能。图13 数据恢复图源代码:Private Sub Command1_Click()Dim z As IntegerIf Text1.Text = "" ThenMsgBox "请指定要恢复的数据库"ElseMe.MousePointer = 11FileCopy Dir1.Path & "" & File1.FileName, App.Path & "" & "数据源.mdb"Me.MousePointer = 0z = MsgBox("数据恢复已完成!", vbOKOnly + vbExclamation, "提醒")If z ThenUnload MeEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Unload MeEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub File1_Click()Command1.Enabled = TrueText1.Text = Dir1.Path & "" & File1.FileNameEnd SubPrivate Sub Form_Load()Command1.Enabled = FalseEnd Sub第五章 系统运行环境系统采用Visual Basic6.0设计,用户交互界面采用的是基于Windows的窗口界面。(一)硬件环境: CPU: 主频2.0GHz以上 内存:256MB及以上 硬盘:需要约500MB程序空间,以及预留500MB 的数据空间(二)软件环境: Windows XP版本以上 Access 2003以上 Visual Basic 6.0第六章 系统测试运行软件系统的开发过程中是一个自顶向下逐步细化的过程,而测试过程是经相反顺序进行的集成过程。测试包括单元测试(模块测试)、集成测试、有效性测试、系统测试。测试在系统设计阶段有两个时期,通常在编写每个模块后做单元测试即模块测试,另一个时期是对系统的综合测试也称整体测试或集成测试。只有通过测试排错后才能更回完善系统。(一)模块测试通过测试发现该模块单元的子程序或过程的实际功能与该模块的功能和接口的描述是否相符,以及是否有编码错误存在。高可靠性的模块是组成可靠系统的坚实基础。在模块测试时我们主要从以下几个方面考虑:1. 模块接口测试;2. 局部数据结构测试;3. 路径测试;4. 错误处理测试;5. 边界测试。测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行功能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围。改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层分支,判别运行结果从而完成模块测试。(二)集成测试集成测试又称整体测试或结合测试,是软件系统测试的一个重要环节。整体测试是在已完成的程序的条件下证实这些程序元素间的一致性,不同于对一艔程序幸免于难的测试,是对正在结合的元素的测试,对结合过程的测试。在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所有模块结合了。它是将对结合元素间的调用关系、数据依赖和元素间的接口进行测试,它可以用以下技术: (1) 调用图/树的准备;(2) 数据依赖图的准备;(3) 加工依赖图;(4) 接口与接口标准。整体测试就包括数据项的表示范围的相容性、类型的相关性、表示方式的一致性、数据对象顺序的正确性、传递方法的正确性等。在调用图的使用中应准确记录相关信息,以调用图的路径覆盖情况。在昼避免多入口和多出口的程序元素的同时,还应对此类元素进行认真测试,检查多入口元素和每个入口点,并难选取入口的正确和路径覆盖。但要注意的是多出口有时是必要的,但也应在整体测试中对其进行测试。(三)系统有效性测试所谓的有效性测试,是指当软件的运行达到了用户的期望时,则认为软件是有效的。我们需要制定一个测试计划来规定要进行测试的各类帮步骤,看它们是否能达到:(1)全部的功能要求都得到实现。(2)全部的性能都达到要求。(3) 文件与数据库均常。(4) 其他的要求,如可移植性、出错自动恢复等。(四)系统可行性测试系测试统测试是指软件系统与硬件、外设或其他系统元素结合一起,对整个软件系统进行测试。测试内容包括:(1) 功能测试。系统此功能。(2) 吞吐量测试。系统能完成的最大数量的任务(3) 可用性测试。界面出错信息,响应方式的可用性。(4) 保密性测试。考察系统对数据和程序的保密性。(5) 安装测试。对安装规程进行测试。(6) 可恢复性测试。模拟硬、软件故障。查看恢复能力。(7) 资料测试。测试整个系统资料的准确性。(8) 程序测试。测试各种操作人员的操作程序。(五)系统测试结果经测试此学生宿舍管理系统基本上能完成用户注册、登录;学生信息的登记、查询、删除;数据的备份、恢复等功能 。第七章 小结经过长时间的分析、设计、制作、完善,本系统已经实现了用户注册,学生信息登记、查询,违纪登记、查询,数据备份、恢复等功能。学生宿舍管理信息系统操作方便,简单实用。该系统主要实现了数据录入、数据查询、数据管理等功能。整个管理系统分为两大部分:前台的操作和后台数据库的管理维护。后台数据库的管理用以确保系统各项功能的正常运行、数据的完整性和安全性,前台操作提供给尽可能方便快捷的操作。本系统经过测试以后能够正常的运行。由于知识、精力有限,该系统还有许多不尽如人意的地方,比如功能较少,输入数据限制不全等。软件开发是一个不断完善的过程,只有在实际的使用过程中才能不断的发现问题,从而再加以改进。而在系统的设计过程中,难免会出现一些预测不到的异常,这些异常甚至在系统测试阶段检查不出来,只有在用户的使用过程中才能发现。很多地方未能考虑周全系统存在着很多不足之处。这需要在以后系统维护过程中逐步发现,并不断进行升级,进一步改善。参考文献1田萍芳等:Visual Basic 程序设计基础,中国铁道出版社 2011年第1版 2何新权:全国计算机等级考试三级教程信息管理技术,高等教育出版社 2010年第1版3刘瑞新:Visul Basic 程序设计教程,电子工业出版社 2000年3月4陈承欢:信息系统应用与开发,清华大学出版社 2011年第1期 5赵乃真:Access 数据库基础教程,清华大学出版社 2006年第1版6连卫民、王秀玲主编:计算机基础教程,香港天马图书有限公司2007年版7卫红春,朱欣娟:信息系统分析与设计西安:西安电子科技大学出版社,2008年8陈禹:新编管理信息系统,中国人民大学出版社 2008年第1版9姬小利:ERP原理、应用与实践教程,立信会计出版社 2011年第1版10赵超:企业信息化综合实训,中国铁道出版社 2011年第1版致 谢此毕业论文结束,毕业设计完成之际,我们特别感谢我的指导老师李灶标老师,他负责任的指导和建议使我受益非浅,他每时每刻的督促使我们不敢有丝毫的怠慢,尤其是在我出去找工作的时候,他还提醒我要多看书,不要忘了还要做毕业设计,对此我深表感激。另外,我要衷心感谢学校3年来学校给我们创造的良好的学习环境,感谢信息工程系对我们提供施展才能的舞台,感谢同学的帮助。 三年的学习让我自己增强不少知识、增强了自信心,增加了意志力。还有其他的一些老师和同学也给了我们很多帮助,在此一并谢过,不再一一列举了。指导教师评语:论文成绩:指导教师签名:年月日论文答辩小组意见:组长签字:年月日系审核意见:主任签章:年月日 河南商专教务处制