高校学生宿舍管理系统(一)
陈家祺 2009-06-02
论文关键词: 宿舍管理系统 数据库 Delphi6.0
论文摘要 :高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。我们使用Borland公司的Delphi 6.0和MS SQLServer 2000数据库为开发工具, Delphi6.0是比较完备的面向数据库开发工具,同时它也利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,提供了强大的数据环境,更有利于对数据库和数据表的直接操作和处理,提高了编程效率和可靠性。旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。
引言
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。
第一章 系统需求分析 目前,我们学校的宿舍管理采用的还是人工来进行管理的, 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。
1.1功能需求
1.1.1 基本功能需求
本课题要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能:
1.系统要求用户必须输入正确的用户名和密码才能进入系统。
2.系统应该提供学生住宿情况的基本登记。
3.系统应提供学生每学期的注册及学生的离校处理。
4.系统应提供人员来访登记及结束访问的详细登记。
5.系统应提供学生在校期间物品出入宿舍楼的详细情况登记。
6.系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。
7.系统应提供增加、删除、修改用户帐户的功能。
8.系统还应具有添加、修改、删除学生及员工基本信息的功能。
1.1.2 报表需求 学生宿舍管理系统的某些信息应当能够以报表形式打印出来。基本上应该能够实现学生基本信息的报表打印、某宿舍具体住宿情况的报表打印、某栋宿舍楼的所有员工信息打印、所有学生各年度宿舍交费情况打印、学生物品出入的信息打印及人员来访信息的打印等的功能。
1.1.3 用户界面需求 学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。快捷按钮的创建也是非常需要的,以方便用户操作。
1.2性能需求 1.2.1系统安全性
学生宿舍管理系统中的增加用户、学生学期注册(交住宿费方能注册)、学生毕业离校等的某些模块都是和学生住宿费相联系在一起的,只有每年度的住宿费用交纳完毕才准许该生离校,所以在系统的管理权限上应当进行严格控制,具体思想如下:
1.要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。
2.在上述要求基础上可以为该系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录和普通用户登录两个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统。
3.在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于用户管理模块、学生学期注册(涉及到交费问题)及学生毕业离校等(此模块需判断该生有无欠费)牵扯到经济之类的模块是无权使用的。 1.3数据库选择 数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我们选用SQL Server作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQL Server是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQL Server数据库。
1.4环境 本系统是以Windows系统为操作平台,用Delphi 6.0编程语言和SQL Server数据库来实现高校学生宿舍管理系统所需功能的。
第二章 相关知识点介绍
2.1 Delphi知识介绍
Delphi是美国Borland Software Corporation 公司的编程工具产品。它基于Pascal语言,具有语法严谨、结构清晰、可读性强和代码执行效率高等优点;最重要的是,它功能强大且易活易学,利用Delphi,我们在Windows平台下几乎可以做任何事情。Delphi凭借其强大的功能、易用性以及在开发数据库和网络应用程序上的极大优势,作为一个优秀的、体贴的、以人为本的开发工具,Delphi一直坚持复杂问题简单化的思想 ,而且不隐藏其细节以适应不同层次的程序员 。
在进行宿舍管理系统开发时,用到了Delphi中的许多重要控件,下面将主要组件进行逐一说明。
TTable 组件通过BDE从一个数据库表格中取得数据并通过TDataSourse组件将数据传递给一个或多个数据控制组件。而且,将从数据控制组件处得到的信息通过BDE传递给数据库。TableName是TTable 最重要的属性之一。它是用来说明这个TTable组件所对应的是数据库中的哪一张数据库表格。DatabaseName 属性是用来说明当前数据集的来源,即应用程序所利用的数据库的名字。TDBGrid 组件的作用是一个将数据集记录显示在网格中,并且可以对其中的数据进行编辑修改。在窗体中放置一个TDBGrid对象来显示和编辑一个数据集( table 或query)中的记录,应用程序可以通过数据网格组件来插入、删除或编辑数据集中的数据,或者只是简单地利用它来显示数据集中的数据记录。TDBNavigator组件(又称为数据库导航器)是用来在数据集中浏览数据和编辑数据的。TDBNavigatoro组件是由一组控制按钮组成,通过这些控制按钮,用户可以完成在数据集中移动记录指针,增添或删除一项记录,编辑修改数据记录以及向数据库提交对数据集记录的修改等工作。TDataSource 组件提供了联系数据集组件(TTable组件、TQuery组件和TStoredProc组件)与数据控制组件(例如TDBG rid组件)的纽带。通过使用TDataSource组件,可以利用数据控制组件显示、浏览以及修改数据集中的数据。
ADO组件页介绍:TADOConnection 是用来建立与ADO数据库之间联系的组件,各种ADO 的数据集及操作组件可以共用这种联系来执行命令,读取数据,并执行相应的操作。TADOTable组件主要用来从单个数据表格中读取数据,完成相应操作。它可以直接与数据库相联,也可以通过TADOConnection来实现连接。TADOQuery组件通过使用常用的SQL语句来读取数据,完成相应操作。和TTable组件相比,TQuery组件的重要性体现在只有使用SQL语言才能完成查询的时候必须使用该组件,它支持复杂得嵌套查询,也就是Select中包含着Select子查询。它还可以使用DDL SQL 语句,它可以直接与数据库相联,也可以通过TADOConnection来实现连接。
TQuickRep组件:报表是数据库应用程序设计中非常重要的一部分,数据库应用程序通常都要生成报表,并且打印出来。该组件是设置报表外观的主要组件,将TQuickRep组件加入到窗体中,它可以定位到窗体上并扩展成全页的尺寸,给报表一个全页显示的可能。DataSet该属性指定主报表将从哪一个数据集中获得数据。对于简单的列表类型的报表中,通常使用一个数据集。对于一个主/明细表,该属性应该设置为主数据集。
2.2 SQL Server 2000知识介绍 SQL Server 2000 是Microsoft 公司推出的SQL Server数据库管理系统,它继承了SQL Server 7.0 版本的优点,同时又为它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成度高等优点,应用程序的操作系统支持所有Windows版本。
在SQL Server中,使用的是T-SQL语言,T-SQL是ANSI SQL的加强版语言,它提供了标准的SQL 命令,由于SQL语言功能丰富、语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。经过多年的发展,SQL语言已成为关系数据库的标准语言。
SQL语言主要有数据定义语言、数据操纵语言、数据控制语言和其他类语言要素组成。T-SQL的分类也有类似于SQL语言的分类,不过做了许多扩充。T-SQL语言的分类如下:变量说明语句、数据定义语言(用来建立数据库、数据库对象和定义其列,大部分是以CREATE 开头的命令)、数据操纵语言(用来操纵数据库中的数据的命令,如:SELECT、INSERT、DELETE等)、数据控制语言(用来控制数据库组件的存取许可、存取权限等的命令,如:GRANT 等)、流程控制语言(用于设计应用程序的语句 ,如:If …While和Case等)、内嵌函数(说明变量的命令)、其他命令(嵌于命令中使用的标准函数)。
为了使数据库更加精简,最大限度的减少数据库冗余数据。可以使用连接查询来实现多个表的连接。连接查询可以分为等值连接查询、非等值连接查询、自身连接查询等。表之间的连接如果是通过相等的字段值连接起来的查询称为等值连接查询。在等值查询的连接条件中,不使用等号而使用其他比较运算符,就构成了非等值连接查询,可以使用的比较运算符有〉、〉=、!= 等。连接不仅可以在表之间进行,也可以使一个表同其自身进行连接,这种连接成为自身连接,相应得查询成为自连接查询。
一个数据库能否保持信息的正确性、及时性、很大程度上依赖数据库的更新功能的强弱与数据库的实时更新能力,这些操作包括插入、删除、修改,也成为更新3种操作。 第三章 宿舍管理系统详细设计
3.1系统功能模块图
图3.1 系统功能模块图
在整体设计中,我们将宿舍管理系统分为八个大的模块:系统管理模块、公寓管理模块、学生管理模块、信息查询模块、出入登记模块、信息修改模块、报表管理模块、关于模块。每个模块将实现不同的功能。下面将具体进行介绍。
3.1.1 系统管理模块 系统管理模块包括:超级用户登录、普通用户登录、用户密码修改、用户管理、退出系统五个部分。
1.超级用户登录:实现系统管理人员登录。
2.普通用户登录:实现一般管理人员登录。
3.用户管理:实现系统管理人员授予或取消一般用户登录该系统的用户名和密码。
4.密码修改:实现所用用户的密码更改功能。
5.退出系统:实现正常退出宿舍管理系统。
3.1.2 公寓管理模块 公寓管理模块包括:楼房管理、宿舍管理、员工管理三个大的部分。
1.楼房管理:登记学校所有住宿楼情况。
2.宿舍管理:登记学校所有宿舍的情况。
3.员工原理:实现楼房管理人员的添加功能。
3.1.3 学生管理模块 学生管理模块包括:学生基本信息录入、学生财物登记、学生学期注册、学生离校管理四项功能.
1.学生基本信息录入:实现学生基本信息情况的登记及宿舍的分配功能。
2.学生财物登记:登记学生在校期间所拥有的公共及私有贵重物品情况。
3.学生学期注册管理:登记学生在校期间每学期的宿舍缴费情况。
4.学生离校管理:实现学生毕业离校处理,注销该学生信息。
3.1.4 信息查询模块 信息查询模块基本上包括:按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询、每栋楼房住宿情况查询五个部分。
1.按学号进行查询:实现每个学生基本信息情况的查询功能。
2.按姓名查询:通过学生姓名查询学生基本信息情况。
3.按班级查询:通过班级查询某班级学生住宿情况及该班级学生信息。
4.按寝室号查询:查看每个宿舍所住学生信息情况。
5.楼房住宿情况查询:查询每栋楼房的所有宿舍的住宿情况及宿舍楼所住学生统计情况。
3.1.5 出入登记模块 出入登记模块包括:进楼物品登记、出楼物品登记、人员来访登记、结束访问登记四个功能模块。
1.进楼物品登记:详细登记某学生搬入宿舍楼的物品情况。
2.出楼物品登记:详细登记某学生搬出宿舍楼的物品情况。
3.人员来访登记:详细登记进入宿舍楼的外来人员情况。
4.结束访问登记:详细登记外来人员的离开情况。
3.1.6 信息修改模块 信息修改模块包括:学生基本信息修改、员工基本信息修改、个人财物信息修改三个大的功能。
1.学生基本信息修改:实现系统管理人员对学生基本信息情况所作的添加、修改、删除。
2.员工信息修改:实现系统管理人员对楼房员工的修改、删除功能。
3.个人财物修改:实现对学生个人财物的添加、修改、删除功能。
3.1.7 报表管理模块 报表管理模块包括:学生信息打印、员工信息打印、宿舍交费情况打印、物品出入楼信息打印、某宿舍住宿情况打印五个功能。
1.学生信息:查询并打印每个学生的详细基本信息情况。
2.员工信息:查询并打印每栋宿舍楼的所有员工信息情况。
3.宿舍交费情况:查询并打印已交清或未交清住宿费的学生信息。
4.物品出入楼信息:查询并打印某学生的物品出入宿舍楼的信息情况。
5.宿舍住宿情况:查询并打印某个宿舍的详细住宿情况。
6.人员来访情况:查询并打印某个时间段的人员来访情况。
3.1.8 关于模块 此模块是对学生宿舍管理系统开发者相关信息的一个简单介绍。
3.2系统E-R图 在我所设计的模块中,主要涉及到员工、楼房、寝室这三个实体,所以在E-R图中我只是将这三个实体的属性进行了详细说明。
图3.2系统E-R图
3.3 系统所需表 综合以上分析,要实现上面的所有功能模块,共需要设计九个表,它们分别是:学生基本情况表、寝室表、员工表、楼房表、人员来访表、学生财产表、学期注册表、权限表、物品出入楼表。