某学校公寓管理系统设计书.doc_第1页
某学校公寓管理系统设计书.doc_第2页
某学校公寓管理系统设计书.doc_第3页
某学校公寓管理系统设计书.doc_第4页
某学校公寓管理系统设计书.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某学校公寓管理系统设计书 1 课题描述各个学校对学生宿舍的管理已经有了很长的历史,并且已经具备了一定的规模和形态,同时对学生公寓的服务和管理也要求很高.诸如对学生入住情况的详细了解,以及来访者的情况都要求宿舍管理人员做的好,做的完善。这样要求公寓管理人员对学生宿舍管理进行宏观的和微观的细致管理,其中最好的办法是用计算机操作的学生宿舍管理系统来实现对学生宿舍的管理。学生宿舍管理系统在各个学校中都具有广泛的应用,它具有卫生评比、违纪处理、来客登记和房间信息功能。它不仅具有检索迅速、查找方便、操作简单、可靠性高、存储量大、保密性好、寿命长和成本低的优点,还可以极大地提高宿舍管理员的工作效率和质量。开发工具:Visual Basic 6.02 需求分析2.1 可行性研究可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决,是否值得去解。我们从三个方面来进行可行性研究,即技术可行性、经济可行性和操作可行性。2. 1.1 技术可行性学生宿舍管理系统,采用Visual Basic 6.0进行编程和界面设计,以 SQL server 2000为后台数据库来实现的,全面采用以窗口、表单、对话框和联机帮助为特征的图形用户界面的技术和操作方法。系统操作简单,功能大,使用方便,具有很强的技术可行性。2. 1.2经济可行性学生宿舍管理是一个很大的项目,在早期,还没有利用计算机管理时,一切都是利用人工进行管理的,这样管理起来既烦琐又复杂,资料也很容易被丢失,而且耗时、耗资金。而利用本系统,可以高效地对学生宿舍进行统一管理与控制,资料也不容易被丢失,这样大大节省了人力与资源,提高了管理效率,给管理人员带来很多方便。2. 1.3操作可行性操作可行性也即实用性。随着计算机技术的发展以及网络的发展,对学生宿舍的管理与控制越来越实用并且得到管理者的证实,无论是查询还是修改都有很方便,查询的信息一目了然。因此,它具有很强的实用性。因此本系统在操作上也可行。 根据上述三个方面的研究得出:可以开发本系统。2.2 功能需求基于系统需求分析,该系统需要实现以下基本功能:卫生评比管理模块,主要完成评比信息的录入、修改和删除以及评比结果的查询功能。违纪处理管理模块,主要完成违纪信息的录入、修改、删除和查询等功能。来客登记管理模块,主要提供来访登记、离开登记和来访信息查询功能。房间信息管理模块,主要是提供对房间信息的录入、修改、删除功能,同时提供房间分配和房间信息查询功能。数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。2.3 性能需求系统运行环境:Windows 2000及其以上数据库:SQL server 20003系统设计3.1系统层次模块图学生宿舍管理系统宿舍信息管理卫生情况管理违规情况管理访客信息管理卫生情况录入评分查询违规处理情况录入违规处理情况查询来访登记离开登记来访查询图3.1 系统层次模块图3.2数据库设计 3.2.1数据库实体图设计宿舍宿舍号备 注卫生情况图3.2 宿舍实体图学生学 号姓 名卫生情况班 级图3.3 学生实体图访客姓 名来访时间离开时间图3.4 访客实体图3.2.2数据库E-R图设计宿 舍学 生访 客宿舍信息访客信息图3.5宿舍管理系统E-R图3.2.3数据库关系模型设计宿舍(宿舍号,卫生情况,备注)学生(学号,姓名,班级,违纪处理情况)宿舍信息(宿舍号,学号)访客(姓名,来访时间,离开时间)访客信息(姓名,来访时间,学号)3.2.4数据库物理设计系统建立的数据库表主要有五个,如下图所示。字段名数据类型字段长度与格式关键字宿舍号varchar5是卫生情况varchar50否备注varchar50否图3.6“宿舍”信息表结构字段名数据类型字段长度与格式关键字学号varchar5是姓名varchar50否班级varchar50否违纪处理情况varchar50否图3.7“学生”信息表结构字段名数据类型字段长度与格式关键字学号varchar5是宿舍号varchar5是图3.8“宿舍信息”信息表结构字段名数据类型字段长度与格式关键字姓名varchar50是访问时间varchar50是离开时间varchar50否图3.9“访客”信息表结构字段名数据类型字段长度与格式关键字学号varchar50是姓名varchar50是来访时间varchar50否 图3.10“访客信息”信息表结构3.3主控平台界面设计充分考虑易于操作的系统需求,主控制平台使用简单和直观的布局设计。4系统实现4.1系统用户管理模块创建一个系统登录窗体、一个转入窗体的主窗口窗体,利用组合框为用户提供数据,实现多项选择的功能,如图4.1所示。图4.1 登录窗口其主要代码如下:Option ExplicitPublic strcon As StringPrivate Sub btnCancel_Click() txtUserName.Text = txtPassword.Text = If MsgBox(退出吗?, vbOKCancel, 提示) = vbOK Then End End IfEnd SubPrivate Sub cmdok_Click() Rem 判断是否为空If Len(txtUserName.Text) = 0 Then MsgBox 用户名不能为空, vbExclamation, 警告 Exit SubEnd IfIf Len(txtPassword.Text) = 0 Then MsgBox 密码不能为空, vbExclamation, 警告 Exit SubEnd IfRem 获取密码用户 Dim struser As String struser = txtUserName.Text Dim strpw As String strpw = txtPassword.TextDim strsql As Stringstrsql = select ano as user,secret as pw from adminer Dim conn As New ADODB.ConnectionDim rst As New ADODB.RecordsetDim cmd As New ADODB.Commandconn.ConnectionString = strcon 引用公共变量 On Error GoTo conconn.Opencmd.ActiveConnection = conncmd.CommandText = strsqlSet rst = cmd.ExecuteDo Until rst.EOF If UCase(struser) = UCase(rst(user) Then If strpw = rst(pw) Then 密码正确,显示窗体,退出循环 main.Show Unload Me rst.Close conn.Close txtUserName.Text = txtPassword.Text = Exit Sub Else 密码错误 MsgBox 密码错误, vbExclamation, 警告 txtPassword.Text = rst.Close conn.Close Exit Sub End IfEnd If rst.MoveNextLooprst.Closeconn.Close MsgBox 不存在该用户, vbExclamation, 警告 txtPassword.Text = Exit Subcon:MsgBox 请确认以下设置 & Chr(13) + Chr(10) & SQL Server 服务器已经启动; & Chr(13) + Chr(10) & 数据库身份验证模式为SQL Server 和 Windows身份验证模式End SubPrivate Sub Form_Load()strcon = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生宿舍管理系统;server=(local)End SubPrivate Sub Label1_Click()End Sub4.2卫生评比管理模块创建一个卫生评比管理窗体,里面包括查询、添加和修改功能,利用Label、Textbox、Button和 DatGird等画出如下窗体。图4.2卫生评分录入界面图4.2卫生评分录入界面图4.3卫生评分查询界面其主要代码如下:Public strcon As StringPrivate Sub Command1_Click() If Trim(Text1.Text) = Then MsgBox 没有选中任何行或则学号为空!, vbInformation, 提示 Exit Sub End If On Error GoTo myError: Dim strsql As String strsql = select 宿舍号 from 宿舍 Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql Set rst = cmd.ExecuteDo Until rst.EOF Dim strsno As String strsno = UCase(rst(宿舍号) rst.MoveNextLoop If strsno UCase(Text1.Text) Then MsgBox 该宿舍不存在!, vbExclamation, 提示 conn.Close Exit Sub End If strsql = update 宿舍 set 卫生情况= & Text2.Text & where 宿舍号= & Text1.Text & Call sqlcmd(strsql) MsgBox 执行成功!, vbInformation, 提示 Text1.Text = Text2.Text = Exit SubmyError: MsgBox 更新失败! & Chr(10) + Chr(13) & 更新的数据中存在非法字符空格、单引号、双引号、空, vbExclamation, 提示End SubPrivate Sub Command2_Click()Unload MeEnd SubSub sqlcmd(strsql As String) 更新、删除、插入数据 Dim conn As New ADODB.Connection Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql cmd.Execute conn.Close End SubPrivate Sub Form_Load()strcon = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生宿舍管理系统;server=(local)End SubPrivate Sub Text1_Change()End SubOption ExplicitPublic blnNeedUpdate As BooleanPublic blnAdding As BooleanPublic strcon As StringPrivate Sub Command1_Click()Dim struser As StringIf Len(Text1.Text) 0 Then struser = Text1.TextElse If Len(Text2.Text) 0 Then struser = Text2.Text Else MsgBox 信息不能为空, vbExclamation, 警告 End IfEnd IfDim strsql As StringDim strsql1 As Stringstrsql = select 宿舍号 as sushe from 宿舍 Dim conn As New ADODB.ConnectionDim rst As New ADODB.RecordsetDim cmd As New ADODB.Commandconn.ConnectionString = strcon 引用公共变量conn.Opencmd.ActiveConnection = conncmd.CommandText = strsqlSet rst = cmd.ExecuteDo Until rst.EOF If UCase(struser) = UCase(rst(sushe) Thenstrsql1 = select 宿舍号,卫生情况 from 宿舍 where 宿舍号= & Text1.Text & Call bindGrid(strsql1) Exit Sub Else strsql1 = select 宿舍号,卫生情况 from 宿舍 where 卫生情况= & Text2.Text & Call bindGrid(strsql1)End If rst.MoveNextLooprst.Closeconn.CloseEnd SubSub bindGrid(strsql As String)Rem 绑定datagrid Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordset conn.ConnectionString = strcon 引用公共变量 conn.CursorLocation = adUseClient conn.Open rst.Open strsql, conn, adOpenDynamic, adLockBatchOptimistic Set DataGrid1.DataSource = rst.DataSource Call gridWidth End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click() If Trim(Text1.Text) = Then MsgBox 没有选中任何行或则宿舍号为空!, vbInformation, 提示 Exit Sub End If On Error GoTo myError: Dim strsql As String strsql = update 宿舍 set 宿舍号= & Text1.Text & ,卫生情况= & Text2.Text & where 宿舍号= & Text1.Text & Call sqlcmd(strsql) blnAdding = False strsql = select 宿舍号,卫生情况 from 宿舍 where 宿舍号= & Text1.Text & Call bindGrid(strsql) MsgBox 执行成功!, vbInformation, 提示 Text1.Text = Text2.Text = Exit SubmyError: MsgBox 更新失败! & Chr(10) + Chr(13) & 更新的数据中存在非法字符空格、单引号、双引号、空, vbExclamation, 提示End SubPrivate Sub Command4_Click() Text1.Locked = False Text1.Text = Text2.Text = End SubPrivate Sub DataGrid1_Click()blnAdding = False Text1.Locked = True Dim n As Integer Dim DgCount As Integer DgCount = DataGrid1.Columns.Count For n = 0 To DgCount - 1 DataGrid1.Col = n Select Case n Case 0 Text1.Text = DataGrid1.Text Case 1 Text2.Text = DataGrid1.Text End Select Next nEnd SubPrivate Sub Form_Load()strcon = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生宿舍管理系统;server=(local)End SubSub gridWidth() Dim n As Integer Dim DgCount As Integer DgCount = DataGrid1.Columns.Count For n = 0 To DgCount - 1 DataGrid1.Columns(n).Width = Len(DataGrid1.Columns(n).Caption) * 350 DataGrid1.Col = n DataGrid1.AllowAddNew = False DataGrid1.AllowArrows = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False Next nEnd SubPrivate Sub DridStudent_RowColChange(LastRow As Variant, ByVal LastCol As Integer) End SubSub sqlcmd(strsql As String) 更新、删除、插入数据 Dim conn As New ADODB.Connection Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql cmd.Execute conn.Close End Sub 4.3违纪处理管理模块创建一个违纪处理管理窗体,里面包括查询、添加和修改功能,利用Label、Textbox、Button和 DatGird等画出如下窗体,如下图所示。图4.4违纪情况录入界面图4.5违纪情况查询界面其主要代码如下:Public strcon As StringPrivate Sub Command1_Click() If Trim(Text1.Text) = Then MsgBox 没有选中任何行或则学号为空!, vbInformation, 提示 Exit Sub End If On Error GoTo myError: Dim strsql As String strsql = select 学号 from 学生 Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql Set rst = cmd.ExecuteDo Until rst.EOF Dim strsno As String strsno = UCase(rst(学号) rst.MoveNext If strsno = UCase(Text1.Text) Then strsql = update 学生 set 违纪处理情况= & Text2.Text & where 学号= & Text1.Text & Call sqlcmd(strsql) MsgBox 执行成功!, vbInformation, 提示 Text1.Text = Text2.Text = Exit Sub End If Loop MsgBox 该学生不存在!, vbExclamation, 提示 conn.Close Exit SubmyError: MsgBox 更新失败! & Chr(10) + Chr(13) & 更新的数据中存在非法字符空格、单引号、双引号、空, vbExclamation, 提示End SubPrivate Sub Command2_Click()Unload MeEnd SubSub sqlcmd(strsql As String) 更新、删除、插入数据 Dim conn As New ADODB.Connection Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql cmd.Execute conn.Close End SubPrivate Sub Form_Load()strcon = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生宿舍管理系统;server=(local)End SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End SubOption ExplicitPublic blnNeedUpdate As BooleanPublic blnAdding As BooleanPublic strcon As StringPrivate Sub Command1_Click()Dim struser As StringIf Len(Text1.Text) 0 Then struser = Text1.TextElse If Len(Text2.Text) 0 Then struser = Text2.Text Else MsgBox 信息不能为空, vbExclamation, 警告 End IfEnd IfDim strsql As StringDim strsql1 As Stringstrsql = select 学号 as sushe from 学生 Dim conn As New ADODB.ConnectionDim rst As New ADODB.RecordsetDim cmd As New ADODB.Commandconn.ConnectionString = strcon 引用公共变量conn.Opencmd.ActiveConnection = conncmd.CommandText = strsqlSet rst = cmd.ExecuteDo Until rst.EOF If UCase(struser) = UCase(rst(sushe) Then strsql1 = select 学号,违纪处理情况 from 学生 where 学号= & Text1.Text & Call bindGrid(strsql1) Exit Sub Else strsql1 = select 学号,违纪处理情况 from 学生 where 学号= & Text2.Text & Call bindGrid(strsql1)End If rst.MoveNextLooprst.Closeconn.CloseEnd SubSub bindGrid(strsql As String)Rem 绑定datagrid Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordsetconn.ConnectionString = strcon 引用公共变量 conn.CursorLocation = adUseClientconn.Open rst.Open strsql, conn, adOpenDynamic, adLockBatchOptimistic Set DataGrid1.DataSource = rst.DataSource Call gridWidth End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click() If Trim(Text1.Text) = Then MsgBox 没有选中任何行或则学号为空!, vbInformation, 提示 Exit Sub End If On Error GoTo myError: Dim strsql As String strsql = update 学生 set 学号= & Text1.Text & ,违纪处理情况= & Text2.Text & where 学号= & Text1.Text & Call sqlcmd(strsql) blnAdding = False strsql = select 学号,违纪处理情况 from 学生 where 学号= & Text1.Text & Call bindGrid(strsql) MsgBox 执行成功!, vbInformation, 提示 Text1.Text = Text2.Text = Exit SubmyError: MsgBox 更新失败! & Chr(10) + Chr(13) & 更新的数据中存在非法字符空格、单引号、双引号、空, vbExclamation, 提示End SubPrivate Sub Command4_Click() Text1.Locked = False Text1.Text = Text2.Text = End SubPrivate Sub DataGrid1_Click()blnAdding = False Text1.Locked = True Dim n As Integer Dim DgCount As Integer DgCount = DataGrid1.Columns.Count For n = 0 To DgCount - 1 DataGrid1.Col = n Select Case n Case 0 Text1.Text = DataGrid1.Text Case 1 Text2.Text = DataGrid1.Text End Select Next nEnd SubPrivate Sub Form_Load()strcon = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生宿舍管理系统;server=(local)End SubSub gridWidth() Dim n As Integer Dim DgCount As Integer DgCount = DataGrid1.Columns.Count For n = 0 To DgCount - 1 DataGrid1.Columns(n).Width = Len(DataGrid1.Columns(n).Caption) * 350 DataGrid1.Col = n DataGrid1.AllowAddNew = False DataGrid1.AllowArrows = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False Next nEnd SubPrivate Sub DridStudent_RowColChange(LastRow As Variant, ByVal LastCol As Integer) End SubSub sqlcmd(strsql As String) 更新、删除、插入数据 Dim conn As New ADODB.Connection Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql cmd.Execute conn.Close End Sub 4.4来客登记管理模块创建一个来访查询窗体,里面包括查询、添加和修改功能,利用Label、Textbox、Button和 DatGird等画出如下窗体,如下图所示。图4.6来访登记界面图4.7离开登记界面图4.8来访查询界面其主要代码如下: Public strcon As StringPrivate Sub Command1_Click() If Trim(Text1.Text) = Then MsgBox 访客姓名为空!, vbInformation, 提示 Exit Sub End If If Trim(Text2.Text) = Then MsgBox 被访人宿舍为空!, vbInformation, 提示 Exit Sub End If If Trim(Text3.Text) = Then MsgBox 被访人姓名为空!, vbInformation, 提示 Exit Sub End If If Trim(Text4.Text) = Then MsgBox 访问时间为空!, vbInformation, 提示 Exit Sub End If On Error GoTo myError: Dim strsql As String Dim strsql1 As String strsql = select 宿舍号,姓名,学生.学号 as xuehao from 宿舍信息,学生 where 宿舍信息.学号=学生.学号 and 姓名= & Text3.Text & and 宿舍号= & Text2.Text & Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql Set rst = cmd.ExecuteDo Until rst.EOF Dim strsno As String Dim strsno1 As String Dim strsno2 As String strsno = UCase(rst(宿舍号) strsno1 = UCase(rst(姓名) strsno2 = UCase(rst(xuehao) rst.MoveNextLoop If strsno2 = 0 Then MsgBox 该学生不存在!, vbInformation, 提示 Exit Sub Else strsql1 = insert into 访客 values( & Text1.Text & , & Text4.Text & ,) Call sqlcmd(strsql1) strsql1 = insert into 访客信息 values( & Text1.Text & , & strsno2 & , & Text4.Text & ) Call sqlcmd(strsql1) End If MsgBox 执行成功!, vbInformation, 提示 Text1.Text = Text2.Text = Text3.Text = Text4.Text = Exit SubmyError: MsgBox 更新失败! & Chr(10) + Chr(13) & 更新的数据中存在非法字符空格、单引号、双引号、空, vbExclamation, 提示End SubPrivate Sub Command2_Click()Unload MeEnd SubSub sqlcmd(strsql As String) 更新、删除、插入数据 Dim conn As New ADODB.Connection Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量 conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql cmd.Execute conn.Close End SubPrivate Sub Form_Load()strcon = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生宿舍管理系统;server=(local)End SubPrivate Sub Label4_Click()End SubPublic strcon As StringPrivate Sub Command1_Click() If Trim(Text1.Text) = Then MsgBox 来访人姓名为空!, vbInformation, 提示 Exit Sub End If On Error GoTo myError: Dim strsql As String strsql = select 姓名 from 访客 Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim cmd As New ADODB.Command conn.ConnectionString = strcon 引用公共变量conn.Open cmd.ActiveConnection = conn cmd.CommandText = strsql Set rst = cmd.ExecuteDo Until rst.EOF Dim strsno As String strsno = UCase(rst(姓名) rst.MoveNext If strsno UCase(Text1.Text) Then strsql = update 访客 set 离开时间= & Text2.Text & where 姓名= & Text1.Text & Call sqlcmd(strsql) MsgBox 执行成功!, vbInformation, 提示 Text1.Text = Text2.Text = Exit Sub End If Loop MsgBox 该访客不存在!, vbExclamation, 提示 conn.Close Exit Sub myError: MsgBox 更新失败! & Chr(10) + Chr(13) & 更新的数据中存在非法字符空格、单引号、双引号、空,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论