资源描述
河套大学宿舍管理系统摘 要高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立和维护要求建立起数据一致性、完整性强、数据安全性好的库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。我们使用Visual Basic6.0和SQL Server 2000数据库为开发工具, Visual Basic 6.0是简单实用的面向数据库开发工具,同时它提供的集成开发环境及面向对象各种标准化控件,利于对数据库和数据表的直接操作和处理,提高了编程效率和可靠性。另外通过ASP为普通学生开发一个简单查询界面,允许学生通过浏览器查询与学生个人密切相关的宿舍管理信息以及与宿舍中心进行信息交流。以往的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。关键词: 宿舍管理系统;数据库;Visual Basic 6.0 第一章 项目背景与需求分析11 项目背景近几年,随着国家教育政策的调整和完善,我国高等院校大面积扩招,给宿舍管理带来了不小的冲击,要使学生拥有一个好的学习环境和生活氛围,是每一所高校都必须面对的重要工作。河套大学是一所综合性大学,学校下设人文学部、理工部、农牧科学系、外语系、数学与计算机系等。2003年起学校与邻省区进行对口交流招生整合后的河套大学目前具有各类在校生13000多人,学生公寓8栋。宿舍管理系统对于一个学校来说是必不可少的组成部分。目前学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于这样的综合性大学由于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,能够快速的查询学校所需的住宿信息。12 功能需求121 基本功能需求基于学校的宿舍管理采用的还是人工来进行管理的,为了适应学校发展的实际状况,我通过实地调研之后,认为实现学生宿舍管理系统在设计时应尽可能的贴近学生便于学生用户操作,系统在实现上应具有入相功能:(1)系统实现用户身份认证并对登录用户的操作权限分级管理。 (2) 系统应提供学生入学的注册、基本信息的录入。(3) 系统应提供宿舍基本情况的录入。(4) 系统应提供学生住宿情况的基本登记。(5) 系统应提供学生退宿情况的处理。(6) 系统还应具有基本的查询功能。(7) 系统不仅提供管理部门对宿舍管理信息的查询功能,还应提供普通学生通过Internet查询宿舍基础信息的功能。122 用户界面需求学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。快捷按钮的创建也是非常需要的,以方便用户操作。13 性能需求 131 系统安全性 学生宿舍管理系统中的增加用户、学生学期注册、学生毕业离校等模块都是和学生住宿费相联系在一起的,所以在系统的管理权限上应当进行严格控制,具体思想如下:(1)要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。(2)在上述要求基础上,程序开始运行所有功能将是不可使用的,只有用户登录窗口可以使用,没有正确的用户名和密码任何人都不能登录该系统。(3)在具体实现时还应为各用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户只能浏览系统中的宿舍及学生基本信息。(4)在系统开始试运行后,需要采取一定的技术手段对内部用户的访问和外部用户访问进行区分,采取一定的措施,严格控制Internet的用户的操作权限。第二章 宿舍管理系统的系统规划21 系统规划规划,一般是对较长时期的活动进行总体的、全面的计划。由于管理系统的建设耗资巨大,历时较长,技术复杂且涉及面广,系统规划是这一工作的起始间段。这项工作的好坏直接影响到整个系统建设的成败,为了提高规划工作的科学性和有效性应注意以下关键问题: (1)战略计划是核心 (2)解决问题的有效性是关键(3)应变能力是系统成功的关键问题之一,也是当前系统建设与应用的瓶颈问题。(4)人、管理、技术应协调发展,三者之间相互配合、相互促进,以加速系统的建设进程。22 管理信息系统理论宿舍管理系统是典型的信息管理系统(MIS),需要MIS的基本理论的指导,鉴于此,我们回顾一下MIS的基本理论。221 管理信息系统的概述 管理信息系统是一个由人和计算机组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。它能实测国民经济和企业的各种运行情况;管理信息系统利用历史数据预测未来;从全局出发辅助管理决策;利用信息控制企业的行为,帮助实现其规划目标。管理信息系统是以计算为主要手段处理信息,强调信息处理的系统性、综合性,不但要求在事物处理上高效率,而且更强调对各级管理决策的有效支持,管理信息系统的建立,为各级管理决策提供了信息支持,从根本上改善了管理人员的劳动条件和工作性质,是管理手段现代化的重要标志。222 管理信息系统的特点管理信息系统的特点可归纳为:n 数据集中统一,采用数据库n 数据模型的应用n 有预测和控制能力n 面向决策管理信息系统是一门新的学科,它引用其它学科如管理学与工程经济理论、统计学、运筹学以及计算机科学等多学科的概念和方法,融合成为一门新的综合性、边缘性的学科。223 管理信息系统开发的基本方法 用系统工程的方法开发管理信息系统的具体方法有生命周期法、原型法、面向对象开发方法和CASE方法等多种。(1)生命周期法 所谓生命周期法,就是按照管理信息生命周期的概念,严格地按照系统生命周期的各个过程和步骤去开发系统。即分为五个阶段:系统分析、系统设计、系统实施、系统运行、系统维护阶段。对于大系统或系统开发缺乏经验的情况,采用生命周期法可以立足全局,步步为营,减少返工,有利于提高开发质量,加快工程进度。生命周期法的不足之处是系统的开发周期太长,有时系统开发尚在开发过程之中,而内外环境已有所变化,对系统的要求也发生了变化。(2)原型法原型法的基本思想是:开发者和用户在系统的主要需求上取得一致意见后,由开发者很快开发出一个初步的原型系统,然后通过用户使用和评价,提出改进意见,反复修改、扩展和完善,直到形成一个相对稳定的系统。原型法能充分发挥用户的积极性,能及早发现开发中出现的问题,因而系统的适用性较高,原型法主要用于以下一些场合:n 用户事先难以说明需求的较小的应用系统;n 决策支持系统;n 与生命周期法结合起来使用,即整体上仍使用生命周期法,而仅对其中功能独立的模块采用原型法。(3)面向对象法 面向对象法是一种认识问题和解决问题的思维方法,它把客观世界看成是由许多不同的对象构成。在面向对象的系统中,我们把系统中所有资源(如 系统、数据、模块)都看成是对象,每一对象都有自己的运动规律和内部状态。不同对象间的相互联系和相互作用构成一个完整的客观世界。(4)计算机辅助系统开发法(CASE法) 计算机辅助系统开发方法是运用计算机软件工具辅助系统开发的一种方法。 由于当前宿舍管理还处于手工管理阶段,管理水平还比较低,要求宿管部门的工作人员一次性地提供完整的需求确实存在困难,经过仔细分析,我决定采用原型法开发。即先很快建立一个系统的原型,让用户认识它、使用它、熟悉它、修改它、评价它,不断的满足用户提出的新的需求,进一步完善和提高系统地综合性能。当然本系统的开发设计过程仍严格遵守生命周期法的开发有关规范。第三章 宿舍管理系统的系统分析31 系统初步调查系统初步调查是系统分析阶段的第一项活动,其主要目标就是从系统分析人员和管理人员的角度看新项目开发的可能性和必要性。河套大学作为一所综合性大学,目前学校下设多个院系,尤其近年来与邻省区进行对口交流招生后,生源大量增加,学生住宿管理问题引起了校领导及主管学生住宿的宿管部门的重视。现在学校宿舍管理主要依赖于手工管理方式,它存在着许多弊端,如 学生开学入住登记繁琐且容易出错;数据冗余现象严重;查询不方便等。为了完善这方面的管理,经多次与校领导及宿舍管理负责人的讨论,我决定为河套大学开发一个宿舍管理系统,以此来改善现有的管理模式,使学校各方面的管理向着系统化、科学化迈进。32 开发方式选择面对当前的学生入学状况及校内现有的硬件资源,校领导对学生宿舍管理可以做出以下三种计划安排:(1)继续采用当前的手工管理方式,需要再聘用几个生活老师加强对学生及宿舍的管理。(2)购买市场上已有宿舍管理系统,一般来说能够帮助人们在某些环节上完成一些简单的、重复性的工作。(3)自己开发一个宿舍管理系统,根据学校自身情况明确目标,开发适合自己的系统。对于第一种显然是个不可行的,那样既不可减少学校的支出也不可以改善学校宿舍管理制度,以往工作中的缺陷和问题仍没有得到根本的改变和解决。对于第二种购买理论上是可行的,但存在着这样一些问题,首先购买现有的软件是比较昂贵的;其次购买到真正满足学校需求、适应学校环境的软件是十分困难的;最后购买来的软件是作用和可靠程度一般都不尽如人意,所以经过多次调查讨论后我决定借毕业设计的机会为学校开发一个宿舍管理系统。自己开发软件目标明确、符合需求、便于进一步扩充和升级。因此,自行开发为自己所用的,适用于学校这一特定应用范围的,只支持宿舍管理这一局部功能的软件是学校最佳的选择。33 系统开发的可行性分析与讨论可行性研究是系统分析阶段的第二项活动,其主要目标是进一步确定系统目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。下面,我从三个方面对河套大学宿舍管理系统的可行性进行分析。(1)技术可行性:技术上的可行性要考虑将来采用的硬件和软件技术能否满足用户提出的要求。基于当前的计算机网络技术和数据技术已成熟,而且管理信息系统(MIS)的各种开发技术也已经相当成熟,并且在各个领域都不乏成熟的案例。所以为河套大学开发一套网络平台的多用户共享信息的宿舍管理系统在技术上是可行的。 (2)经济可行性:经济可行性主要是对项目的经济效益进行评价。目前,河套大学已建立了校园网络系统,具备了运行网络平台的MIS的硬件基础,而且本系统是我作为毕业设计自行开发,免费帮助设计并实施的。因此开发、设计这套系统的支出费用是学校可以承担的,即经济上是可行的。(3)运营可行性:宿舍管理系统的开发不会影响学校其它职能部门的正常运行。现有的生活部负责人及生活老师素质比较高,所以宿舍管理系统的实施不会遭到阻力,加上校领导的支持和其它各部分的配合,宿舍管理系统的实施在运营上是可行的。34系统详细调查系统详细调查的目标是在可行性研究的基础上进一步对现有系统进行全面、深入的调查和分析,弄清楚现行系统的运行状况发现其薄弱环节,找出要解决的问题的实质,确保新系统比原系统更有效。通过详细调查,学校现有在校学生13000多人,宿舍楼8座,男女生各4座。目前,宿舍管理工作完全靠生活部老师手工完成。学生注册后,入住管理都是手工方式进行。由生活部老师按照学生的专业及到校的先后次序依次安排入住。学生的基本记录,以及安排入住后的相关资料也由生活老师手工登记,这使的生活部工作量很大,而且宿舍实行统一标准的管理,也不能满足学生及家长的住宿要求,这些问题都亟待解决。因此,即使目前全部宿舍都是统一的6人间标准,由于完全采用手工管理,生活部的老师已经非常辛苦。而且随着多层次、多等级标准宿舍的出现,手工方式的管理已经完全不能适应管理工作的需要。35系统逻辑模型的提出这一阶段是系统分析的最后一项活动,目标是明确用户的信息需求,确定新系统的逻辑功能,提出新系统的逻辑方案。经过初步调查及详细调查后发现原有的手工管理方式不能满足学校现在的管理要求,学校将采用新的管理方式,对学生宿舍实行公寓化管理,将现有的宿舍化分为三个标准:2人间、4人间和6人间,各种标准的公寓内部设施各不同,相应的住宿费也不同。学生报到后持缴费单到生活部报到安排住宿,根据学生的不同情况,首先登记学生的基本信息,然后查询相应的宿舍情况,依次安排学生入住。使学生很快适应新的环境,进入正常、健康的大学生活,为了丰富大学的生活我们开展各种评比活动并且学期结束,按评比结果进行奖励。(1)宿舍管理系统关联图,如下图所示:(2)宿舍管理系统顶层图,如下图所示:F1:学生注册单F2:宿舍标准信息F3:学生基本信息F4:宿舍信息F5:评比依据F6:评比结果F7:退宿结果F8:入住结果F9:学生信息第四章 宿舍管理系统的系统设计41 数据库的设计411 数据库需求分析需求分析阶段应该对系统的整个应用情况作全面的、详细的调查,确定系统的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求。要设计一个性能良好的数据库系统,收集和分析用户需求,明确应用环境对系统的要求是首要的和最基本的。特别是数据库应用非常广泛,非常复杂,多个应用程序可以在同一个数据库上运行时,为了支持所有应用程序的运行,数据库设计就变的复杂。因此事先对信息进行充分和细致的分析,是数据库设计取得成功的关键所在。事实上确定全部的用户需求是一件很困难的事情,原因如下:(1)系统本身的需求是变化的,用户的需求必须不断调整,使之与这变化相一致。(2)由于用户缺少计算机信息系统设计方面的专业知识,要准确表达他们的需求很困难,特别是很难说清楚某部分工作的功能与发展过程。(3)要调动用户积极性,使他们能够积极的参与系统的分析与设计工作相当困难。虽然面临这些困难,但它关系到数据库设计的成功与否所以一定要认真对待。因此,我们应收集尽可能详细的资料,并且了解系统将来要发生的变化,收集未来应用所涉及的数据,充分考虑到系统可能的扩充和变动,使系统设计更符合未来发展的趋向,并且易于改动,以减少系统维护的代价。412数据库概念模式设计(ER图)在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模型。为了使ER图表示的更加清楚,我将ER图分成实体及其属性图和实体及其联系图如下所示。宿舍宿舍号标准号床位总数占用床数电话号码未占床数位置宿舍标准住宿费标准号标准名称卫生间电视椅子床柜子电话网口桌子413数据库逻辑结构设计逻辑设计主要是把概念模式转换成DBMS能处理的模式,ER图到关系模式的转换是比较直接的,实体的联系都可以表示成关系,ER图中的属性也可以转换成关系的属性。ER图直接转化成的关系模式的不是唯一的,也不是一定是最优的,还得根据现实语义,运用范式规范化理论进行优化。系统中所涉及到的实体有:学生实体、宿舍实体、宿舍标准实体、奖励等级实体及奖品实体。将其ER图向关系模型转换结果如下:n 用户表(用户ID,用户名,密码,学生信息管理,宿舍信息管理,学生住宿管理,评比及奖励管理,综合信息查询)用户ID为此关系的码(注:学生信息管理,宿舍信息管理,学生住宿管理,评比及奖励管理,综合信息查询为权限分类)。n 学生基本信息表(学号,姓名,性别,出生日期,入学时间,专业,家庭地址,联电话,邮编)学号为此表的码。n 宿舍标准表(标准号,标准名称,住宿费,床,桌子,柜子,椅子,电视,网口,电话,是否有独立卫生间) 标准号是此表的码n 宿舍信息表(宿舍号,标准号,位置,床位总数,已用床位,未用床位,电话号码,) 宿舍号为此表的码。n 奖品信息表(奖品号,奖品名称,数量,价值)奖品号为此表的码。n 奖励等级表(等级号,等级名称,评奖机构) 等级号为此表的码。n 奖品发放表(奖品号,等级号,数量)n 学生入宿表(入住编号,姓名,学号,宿舍号,入住时间,联系电话)学号和宿舍号为此表的码。n 学生退宿表(退宿编号,宿舍号,学号,姓名,退宿日期,入住编号)宿舍号和学号为此表的码。n 宿舍评比等级表(领用编号,宿舍号,奖励等级号,评比时间,备注)宿舍号和奖励等级号为此表的码。n 系统自动编号表(编号名称,编号)编号为此表的码。414数据库的物理设计(1) 数据库和表名称在河套大学宿舍管理系统中数据库的名称设置为hostel数据库中的表名称和字符标识,如下所示:序号表名称字符标识1用户表usertable2学生基本信息表Stumess3宿舍信息表hosgrn4宿舍标准表statichostable5奖品等级表grademess6奖品表grademesslist7奖品发放表gradeset8学生入宿表gohostable9学生退宿表gobacktable10宿舍评比等级表gogrademess11系统自动编号表id(2)表结构设计:用户表(usertable)序号字段名描述数据类型数据长度主键可否为空1userid用户idChar10n2username用户名Char10n3userpwd密码Char10y4stumess学生信息管理int4y5hosmess宿舍信息管理int4y6statichostable宿舍标准表int4y7grademess评比奖励管理int4y8allmess综合信息查询int4y学生基本信息表(stumess)序号字段描述数据类型数据长度主键可否为空1stunumber学号Varchar10n2stuname姓名Varchar12y3stusex性别Char2y4godate出生日期Datetime8y5schdata入学时间Datetime8y6class专业Varchar16y7address家庭住址Varchar36y8telnumber联系电话Varchar14y9addnumber邮编Varchar6y宿舍信息表(hosgrn)序号字段描述数据类型数据长度主键可否为空1hosnumber宿舍号Varchar10n2Staticnumber标准号Varchar4y3staticname标准名称varchar50y4Hostelnumber电话号码Varchar16y5Hosadress位置Varchar50y6Hoskip床位总数Int4y7hossum已用床位Int4y8hosnosum未用床位Int 4y宿舍标准表:(statichostable)序号字段描述数据类型数据长度主键可否为空1staticnumber标准号varchar4n2staticname标准名称varchar50y3hosmoney住宿费float4y4hoskip床Int 4y5Hosdsk桌子Int4y6Hoscab柜子Int4y7Hoscha椅子Int4y8hosTV电视Int4y9hostelnum电话Int 4y10Hosnet网口Int4y11hostol是否有独立卫生间Char10y奖励等级表(grademess)序号字段描述数据类型数据长度主键可否为空1gradcode等级号Varchar4N2gradename等级名称Varchar50Y3grademejg评价机构varchar50Y奖品信息表(grademesslist)序号字段描述数据类型数据长度主键可否为空1grademesscode奖品号Varchar8N2grademessname奖品名称Varchar50Y3grademesssum数量Int4Y4grademessprice价值float4Y奖品发放表(gradeset)序号字段描述数据类型数据长度主键可否为空1grademesscode奖品号Varchar8N2gradename等级号Varchar4Y3gradesum数量Int4Y学生入宿表(gohostable)序号字段描述数据类型数据长度主键可否为空1gonumber入住编号Varchar12n2hosnumber宿舍号Varchar10n3stunumber学号Varchar10n4stuname姓名Varchar12y5stutel联系电话Varchar50y6godate入住日期Datetime8y学生退宿表(gobacktable)序号字段描述数据类型数据长度主键可否为空1gobacknumber退宿编号Varchar12n2hosnumber宿舍号Varchar10n3stunumber学号Varchar10n4stuname姓名Varchar12y5gobackdate退宿日期Datetime8y6gonumber入住编号Varchar12y宿舍评比等级表(gogrademess)序号字段描述数据类型数据长度主键可否为空1gonumber领用编号Varchar12n2hosnumber宿舍号Varchar10n4gradecode等级号Varchar4y5godata评比时间Datetime8y6dis备注Varchar200y系统自动编号表(id)序号字段描述数据类型数据长度主键可否为空1name编号名称Varchar50y2number编号Varchar12n42 安全性设计为了增强数据安全性,学校要求采用大型数据库。利用大型关系数据库自身的事务回卷,定期备份等功能,以便保证系统启用后不会出现数据丢失、死机等现象,并保证数据库的一致性、并发性和可移植性。SQL Server 2000数据库的安全性管理功能就非常强大,相对来说也比较复杂,下面将从系统开发的实际情况出发,根据系统分析的结果,对系统安全性进行有针对性的设计。(1)后台SQL Server数据库以Sa 为系统管理员,这一角色由河套大学的专职计算机人员担任,负责对后台数据库的维护。(2)对所有从“宿舍管理系统”前台登录的合法用户,都以DBO角色来访问后台数据库。(3)通过前台开发工具Visual Basic 6.0对用户登录权限进行严格的控制管理。43 网络拓扑结构图 4-2 C/S 和B/S混合结构的系统结构图44 代码设计代码设计的主要原则是简单,易懂和可扩充性,代码设计的方法有好多,本系统选用层次叠加码作为河套大学的信息编码方案。下表以资源信息代码表组成为例描述学生号的组成原理。字段描述01计算机系0105计算机系2005级01051计算机系2005级计算机信息管理专业0105101计算机系2005级计算机信息管理专业01班010510101计算机系2005级计算机信息管理专业01班01号学生45 界面设计界面设计应简单明了,一目了然。一方面从用户应用需求出发,宿舍管理系统面对的最终用户是对计算机并不精通的学校生活部管理员;另一方面友好、清晰的界面也易学易用,易维护。(1)河套大学宿舍管理系统界面,如下图所示:图4-3 宿舍系统主界面在屏幕最上方为主菜单区,显示本系统的主菜单,用户可以用鼠标来选择下拉菜单选项,选择权限范围内的选项。当用户通过选择了菜单所要进行的工作后,系统进入相应的业务处理功能,这时整个业务处理活动在系统工作区进行。当业务处理完毕后,系统自动返回到进入次处理之前的原始菜单显示状态。(2)输入界面的设计为了方便用户的使用,宿舍管理系统的界面大量的选用Visual Basic所提供的标准控件,并配以一些下拉式菜单适当提高用户工作效率,宿舍管理系统的输入界面主要有:学生信息管理录入、宿舍信息设置、入住信息录入、评比奖励登记等。学生信息管理录入 如下图所示:图4-4 学生信息录入界面46 功能结构图的设计功能结构图主要从功能的角度描述了系统的结构,但并未能表达各功能这间的数据传送关系。河套大学宿舍管理系统从功能上可以划分出如下几个模块,如下图所示:图4-5 学生宿舍主功能图为了详细的描述系统功能,我将宿舍管理系统分为七个大的模块:系统管理模块,学生信息管理模块,宿舍信息管理模块,学生住宿管理模块,评比及奖励管理模块,综合查询管理模块,帮助模块,每个模块将实现不同的功能。下面将具体进行介绍461系统管理模块系统管理模块包括:用户设置,操作销定,注销系统,退出系统,数据清空几个部分。如下图所示:图46 系统管理功能图从登录框登录后,只有系统管理员才具有用户设置的权限。普通用户不可以使用,即没有添加、修改用户权限的权力。(1) 用户设置:设置用户信息,如:用户ID,用户名称,用户密码,以及用户权限。(只有系统管理员system可以设置新用户权限)(2) 操作销定:判断是否销定系统,以应付紧急情况。(3) 注销系统:注销当前工作用户重新登录系统。(4) 退出系统:单击退出系统。(5) 数据清空:清空所有数据(只有系统管理员system有此权限)462学生信息管理模块学生信息管理模块包括:注册学生信息,学生信息浏览,学生信息查询三个部分,如下图所示:图47 学生信息管理功能图(1) 注册学生信息:登记学生基本信息。(2) 学生信息浏览:浏览所有注册学生的信息。(3) 学生信息查询:以学号或姓名或性别为关键字进行按条件查询。463宿舍信息管理模块宿舍信息管理模块包括:宿舍标准设置,宿舍信息设置。如下图所示:图4-8 宿舍信息管理功能图(1)宿舍标准设置:设置各个标准信息,实现不同宿舍标准的分级管理。(2)宿舍信息设置:设置宿舍的所属的标准及宿舍相关情况。464学生住宿管理模块:学生住宿管理模块包括:学生住宿登记,学生退宿登记,剩余宿舍查询三个部分。如下图所示:图49 学生住宿管理功能图(1)学生住宿登记:记录学生选择宿舍标准后的相关入宿情况。(2)学生退宿登记:学生退宿归还宿舍资源(床位)情况的记录(3)剩余宿舍查询:统计未入住或未住满的宿舍情况。465评比及奖励管理模块评比及奖励管理模块包括:评比标准,奖品管理,评比奖励登记。如下图所示:图4-10 评比、奖励功能图评比标准:以文本框的形式显示评比标准。(1) 奖品管理:A奖品等级设置:设置不同等级奖励奖品发放情况。B奖品明细设置:有关奖品信息的设置。(2) 评比等级登记:宿舍评比等级录入情况。466综合信息查询:学生注册入宿信息管理模块包括:宿舍标准查询,学生入住信息查询两个模块。如下图所示:图411 综合信息查询功能图(1) 宿舍标准查询:统计所有宿舍标准,即宿舍设置情况以宿舍号或床位数为关键字查询相应设置情况。(2)学生入住信息查询:统计所有学生入住情况,以宿舍号或学号或姓名进行有条件查询。467帮助模块此模块是对学生宿舍管理系统开发者的相关信息的一个简单的介绍。第五章宿舍管理系统的系统实施经过了系统规划,系统分析和系统设计等阶段后,便开始了系统实施阶段,这个阶段要继承以前各阶段的工作成果,是系统分析和设计阶段的结晶。51开发工具的选择511前台开发工具的选择 比较几种开发工具以后,我选择了Visual Basic 6.0作为河套大学宿舍管理系统前台开发工具。这主要是考虑到学习比较容易,而且相关论坛比较多,可以及时的完成任务。BASIC语言是受到国内外千百万计算机爱好者欢迎的语言,自1964年问世以来,从实验室走向校园,从校园走向社会,从社会一度走向全世界,始终不衰。BASIC是Beginners All Purpose System InterChange Code (初学者通用符号代码)的缩写。与其它高级语言相比,它的语法规则相对简单,容易理解和掌握,且具有使用价值,被认为是最理想的初学者语言。BASIC语言自诞生以来,在广泛使用中不断的发展。随着Windows环境的推广使用,很多人正在学习和使用了在Windows环境中编程使用的BASICVisual Basic。故我选用Visual Basic 6.0作为前台开发工具。512后台数据库的选择数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我们选用SQL Server作为数据库开发,而不用Access,主要是因为Access数据库是一个桌面数据库系统,不适合用户程序对数据库远程连接,而SQL Server是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQL Server数据库。52 程序实现(源代码)521 系统源代码我用Visual basic 为河套大学开发的,有大量的程序源代码,下面仅有几种重要的程序源代码,列示如下:系统界面源代码:Private Sub MDIForm_Load() MainForm.Caption = StrSystem - If Trim(LimStuMess) = 1 Then StudenMan.Enabled = True Else StudenMan.Enabled = False End If If Trim(LimHosMess) = 1 Then HostelMan.Enabled = True Else HostelMan.Enabled = False End If If Trim(GoHosManMess) = 1 Then GoHosMan.Enabled = True Else GoHosMan.Enabled = False End If If Trim(LimGradeMess) = 1 Then StuGrade.Enabled = True Else StuGrade.Enabled = False End If If Trim(LimAllMess) = 1 Then AllData.Enabled = True Else AllData.Enabled = False End If Statu.Panels(1).Text = StrSystem & Space(10) & Version 1.0 Statu.Panels(2).Text = 当前操作员: & LoginName Statu.Panels(3).Text = 系统开发人员:王淑霞End SubPrivate Sub NoHosFind_Click() NoGoHosFind.ShowEnd SubPrivate Sub OpLock_Click() Call SysLockSubEnd SubPrivate Sub StaHosFind_Click() StaHosList.ShowEnd SubPrivate Sub StaticHos_Click() HosStaticMess.ShowEnd SubPrivate Sub StuFind_Click()StuMessFindList.ShowEnd SubPrivate Sub StuHosFind_Click() StuHosList.ShowEnd SubPrivate Sub StuMessList_Click() StuMessLook.ShowEnd SubPrivate Sub SysExit_Click() EndEnd SubPrivate Sub Timer1_Timer() Label1.Caption = Now()End SubPrivate Sub TryLogin_Click() Dim IsYesNo As String Set rs = Nothing Set cn = Nothing IsYesNo = MsgBox(是否确认注销系统?, vbQuestion + vbYesNo, strsytem) If IsYesNo = vbYes Then Unload MainForm Login.Show End IfEnd SubPrivate Sub UserSys_Click() SysUser.ShowEnd SubPublic Sub SysLockSub() Dim ISLOCK As String ISLOCK = MsgBox(是否确认锁定系统?, vbCritical + vbYesNo, StrSystem) If ISLOCK = vbYes Then SysLock.Show 1 End IfEnd Sub宿舍标准信息设置源代码:Option ExplicitPublic IsAddEdit As StringPrivate Sub CmdAdd_Click() StaticNumber.Enabled = True StaticName.Enabled = True HosMoney.Enabled = True StaticNumber.Text = StaticName.Text = HosMoney.Text = CmdAdd.Enabled = False CmdSave.Enabled = True CmdFind.Enabled = False CmdDel.Enabled = False StaticNumber.SetFocus IsAddEdit = 新增End SubPrivate Sub CmdDel_Click() Dim rs As New ADODB.Recordset Dim strSQL As String Dim IsYesNo As String IsYesNo = MsgBox(是否确认删除记录?, vbInformation + vbYesNo, StrSystem) If IsYesNo = vbYes Then strSQL = DELETE FROM StaticHosTable WHERE StaticNumber= & StaticNumber.Text & If rs.State = 1 Then rs.Close End If rs.Open strSQL, cn, adOpenStatic, adLockOptimistic Call ShowListData() End IfEnd SubPrivate Sub CmdExt_Click() Unload MeEnd SubPrivate Sub CmdFind_Click() Dim StrWhere As String Dim IsWhere As String IsWhere = InputBox(请输入您要查找的宿舍标准号或标准名称, 请输入条件, 请输入您要查找的宿舍标准号或标准名称) StrWhere = AND (StaticNumber LIKE % & CheckString(IsWhere) & % OR StaticName LIKE % & CheckString(IsWhere) & %) Call ShowListData(StrWhere)End SubPrivate Sub CmdSave_Click() Dim rs As New ADODB.Recordset Dim strSQL As String If IsAddEdit = 新增 Then If Trim(StaticNumber.Text) = Or Trim(StaticName.Text) = Or Trim(HosMoney.Text) = Then MsgBox 宿舍标准号、标准名称、住宿费均不能为空!, vbInformation, StrSystem Exit Sub End If strSQL = SELECT * FROM StaticHosTable WHERE StaticNumber= & CheckString(StaticNumber.Text) & If rs.State = 1 Then rs.Close End If rs.Open strSQL, cn, adOpenStatic, adLockOptimistic If rs.EOF = False Then MsgBox 宿舍号标准号不能重复!, vbInformation, StrSystem Exit Sub End If strSQL = INSERT INTO StaticHosTable(StaticNumber,StaticName,HosMoney,Hoskip,Hosdsk,Hoscab,HosCha,HosTv,HosNet,HosTelNum,HosTol) VALUES ( strSQL = strSQL & CheckString(StaticNumber.Text) & , & CheckString(StaticName.Text) & , & CheckString(HosMoney.Text) & , strSQL = strSQL & CheckString(HosKip.Text) & , & CheckString(HosDsk.Text) & , & CheckString(HosCab.Text) & , & CheckString(HosCha.Text) & , & CheckString(HosTv.Text) & , strSQL = strSQL & CheckString(HosNet.Text) & , & CheckString(HosTelNum.Text) & , & CheckString(HosTol.Text) & ) If rs.State = 1 Then rs.Close End If rs.Open strSQL, cn, adOpenStatic, adLockOptimistic End If If IsAddEdit = 修改 Then strSQL = UPDATE StaticHosTable SET StaticName= & CheckString(StaticName.Text) & ,HosMoney= & CheckString(HosMoney.Text) & ,HosKip= strSQL = strSQL & HosKip.Text & ,HosDsk= & HosDsk.Text & ,HosCab= & HosCab.Text & ,HosCha= & HosCha.Text & ,HosTv= strSQL = strSQL & HosTv.Text & ,HosTelNum= & HosTelNum.Text & ,HosTol= & HosTol.Text & WHERE StaticNumber= & StaticNumber.Text & rs.Open strSQL, cn, adOpenStatic, adLockOptimistic End If StaticNumber.Enabled = False StaticName.Enabled = False HosMoney.Enabled = False CmdAdd.Enabled = True CmdSave.Enabled = False CmdFind.Enabled = True CmdDel.Enabled = True Call ShowListData()End SubPrivate Sub Form_Load() HosStaticMess.Caption = StrSystem & -宿舍标准信息设置 CmdAdd.Enabled = True CmdSave.Enabled = False CmdFind.Enabled = True CmdDel.Enabled = True StaticNumber.Enabled = False StaticName.Enabled = False HosMoney.Enabled = False Call ShowListData()End SubPrivate Sub HosList_Click() IsAddEdit = 修改 Dim rs As New ADODB.Recordset Dim strSQL As String If HosList.ListItems.Count = 0 Then Exit Sub End If strSQL = SELECT * FROM StaticHosTable WHERE StaticNumber= & HosList.SelectedItem.Text & If rs.State = 1 Then rs.Close End If
展开阅读全文