论文参考格式.docx
《论文参考格式.docx》由会员分享,可在线阅读,更多相关《论文参考格式.docx(12页珍藏版)》请在冰豆网上搜索。
论文参考格式
编号
商丘工学院
毕业论文(设计)
题目:
高校宿舍管理系统
系别:
计算机科学系
专业:
计算机应用
学生姓名:
成绩:
指导教师:
2012年4月
摘要:
高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。
我们使用Borland公司的Delphi6.0和MSSQLServer2000数据库为开发工具,Delphi6.0是比较完备的面向数据库开发工具,同时它也利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,提供了强大的数据环境,更有利于对数据库和数据表的直接操作和处理,提高了编程效率和可靠性。
旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。
这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。
【关键词】:
宿舍管理系统;数据库SQLServer2000
目录
摘要I
第一章系统需求分析1
1.1功能需求1
1.1.1基本功能需求1
1.1.2报表需求1
1.1.3用户界面需求:
2
1.2性能需求2
1.3数数据库选择2
第二章相关知识点介绍3
2.1Delphi知识介绍3
2.2SQLServer2000知识介绍4
第三章校园管理系统详细设计6
3.1系统管理模块6
3.2公寓管理模块7
3.3学生管理模块7
3.4信息查询模块7
3.5出入登记模块8
3.6信息修改模块8
结束语9
参考文献10
第一章系统需求分析
1.1功能需求
1.1.1基本功能需求
本课题要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。
系统在实现上应该具有如下功能:
·系统要求用户必须输入正确的用户名和密码才能进入系统。
·系统应该提供学生住宿情况的基本登记。
·系统应提供学生每学期的注册及学生的离校处理。
·系统应提供人员来访登记及结束访问的详细登记。
·系统应提供学生在校期间物品出入宿舍楼的详细情况登记。
·系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的
查询)及楼房信息的查询。
·系统应提供增加、删除、修改用户帐户的功能。
·系统还应具有添加、修改、删除学生及员工基本信息的功能。
1.1.2报表需求
学生宿舍管理系统的某些信息应当能够以报表形式打印出来。
基本上应该能够实现学生基本信息的报表打印、某宿舍具体住宿情况的报表打印、某栋宿舍楼的所有员工信息打印、所有学生各年度宿舍交费情况打印、学生物品出入的信息打印及人员来访信息的打印等的功能。
1.1.3用户界面需求:
学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。
尽可能的为用户的录入、查询等功能操作提供方便。
快捷按钮的创建也是非常需要的,以方便用户操作。
1.2性能需求
学生宿舍管理系统中的增加用户、学生学期注册(交住宿费方能注册)、学生毕业离校等的某些模块都是和学生住宿费相联系在一起的,只有每年度的住宿费用交纳完毕才准许该生离校,所以在系统的管理权限上应当进行严格控制,具体思想如下:
·要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。
没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。
·在上述要求基础上可以为该系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录和普通用户登录两个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统。
·在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于用户管理模块、学生学期注册(涉及到交费问题)及学生毕业离校等(此模块需判断该生有无欠费)牵扯到经济之类的模块是无权使用的。
1.3数数据库选择
数据库是数据管理的最新技术,是计算机科学的重要分支。
十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。
由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。
第二章相关知识点介绍
2.1Delphi知识介绍
Delphi是美国BorlandSoftwareCorporation公司的编程工具产品。
它基于Pascal语言,具有语法严谨、结构清晰、可读性强和代码执行效率高等优点;最重要的是,它功能强大且易活易学,利用Delphi,我们在Windows平台下几乎可以做任何事情。
Delphi凭借其强大的功能、易用性以及在开发数据库和网络应用程序上的极大优势,作为一个优秀的、体贴的、以人为本的开发工具,Delphi一直坚持复杂问题简单化的思想,而且不隐藏其细节以适应不同层次的程序员。
在进行宿舍管理系统开发时,用到了Delphi中的许多重要控件,下面将主要组件进行逐一说明。
TTable组件通过BDE从一个数据库表格中取得数据并通过TDataSourse组件将数据传递给一个或多个数据控制组件。
而且,将从数据控制组件处得到的信息通过BDE传递给数据库。
TableName是TTable最重要的属性之一。
它是用来说明这个TTable组件所对应的是数据库中的哪一张数据库表格。
DatabaseName属性是用来说明当前数据集的来源,即应用程序所利用的数据库的名字。
TDBGrid组件的作用是一个将数据集记录显示在网格中,并且可以对其中的数据进行编辑修改。
在窗体中放置一个TDBGrid对象来显示和编辑一个数据集(table或query)中的记录,应用程序可以通过数据网格组件来插入、删除或编辑数据集中的数据,或者只是简单地利用它来显示数据集中的数据记录。
TDBNavigator组件(又称为数据库导航器)是用来在数据集中浏览数据和编辑数据的。
TDBNavigatoro组件是由一组控制按钮组成,通过这些控制按钮,用户可以完成在数据集中移动记录指针,增添或删除一项记录,编辑修改数据记录以及向数据库提交对数据集记录的修改等工作。
TDataSource组件提供了联系数据集组件(TTable组件、TQuery组件和TStoredProc组件)与数据控制组件(例如TDBGrid组件)的纽带。
通过使用TDataSource组件,可以利用数据控制组件显示、浏览以及修改数据集中的数据。
ADO组件页介绍:
TADOConnection是用来建立与ADO数据库之间联系的组件,各种ADO的数据集及操作组件可以共用这种联系来执行命令,读取数据,并执行相应的操作。
TADOTable组件主要用来从单个数据表格中读取数据,完成相应操作。
它可以直接与数据库相联,也可以通过TADOConnection来实现连接。
TADOQuery组件通过使用常用的SQL语句来读取数据,完成相应操作。
和TTable组件相比,TQuery组件的重要性体现在只有使用SQL语言才能完成查询的时候必须使用该组件,它支持复杂得嵌套查询,也就是Select中包含着Select子查询。
它还可以使用DDLSQL语句,它可以直接与数据库相联,也可以通过TADOConnection来实现连接。
TQuickRep组件:
报表是数据库应用程序设计中非常重要的一部分,数据库应用程序通常都要生成报表,并且打印出来。
该组件是设置报表外观的主要组件,将TQuickRep组件加入到窗体中,它可以定位到窗体上并扩展成全页的尺寸,给报表一个全页显示的可能。
DataSet该属性指定主报表将从哪一个数据集中获得数据。
对于简单的列表类型的报表中,通常使用一个数据集。
对于一个主/明细表,该属性应该设置为主数据集。
2.2SQLServer2000知识介绍
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,它继承了SQLServer7.0版本的优点,同时又为它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成度高等优点,应用程序的操作系统支持所有Windows版本。
在SQLServer中,使用的是T-SQL语言,T-SQL是ANSISQL的加强版语言,它提供了标准的SQL命令,由于SQL语言功能丰富、语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。
经过多年的发展,SQL语言已成为关系数据库的标准语言。
SQL语言主要有数据定义语言、数据操纵语言、数据控制语言和其他类语言要素组成。
T-SQL的分类也有类似于SQL语言的分类,不过做了许多扩充。
T-SQL语言的分类如下:
变量说明语句、数据定义语言(用来建立数据库、数据库对象和定义其列,大部分是以CREATE开头的命令)、数据操纵语言(用来操纵数据库中的数据的命令,如:
SELECT、INSERT、DELETE等)、数据控制语言(用来控制数据库组件的存取许可、存取权限等的命令,如:
GRANT等)、流程控制语言(用于设计应用程序的语句,如:
If…While和Case等)、内嵌函数(说明变量的命令)、其他命令(嵌于命令中使用的标准函数)。
在数据库中,数据查询是通过SELECT语句来完成的。
SELECT语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。
当然用户在查询数据库时往往并不需要了解全部信息,而只需要其中一部分满足某些条件的信息。
在这种情况下就需要在SELECT语句中加入条件以选择数据行,这时,就用到WHERE子句。
WHERE子句中的条件是由表达式以及逻辑联结词AND、OR和NOT等组成。
用户在进行查询时,会出现重复结果,这时就需要使用DISTINCT关键字来取消重复部分。
在WHERE子句中,可以使用谓词LIKE来进行字符串的匹配检查。
当用户要对查询结果进行排序时,就需要在SELECT语句中加入ORDERBY子句。
在ORDERBY子句中,可以使用一个或多个排序,要求其优先级次序从左到右。
为了使数据库更加精简,最大限度的减少数据库冗余数据。
可以使用连接查询来实现多个表的连接。
连接查询可以分为等值连接查询、非等值连接查询、自身连接查询等。
表之间的连接如果是通过相等的字段值连接起来的查询称为等值连接查询。
在等值查询的连接条件中,不使用等号而使用其他比较运算符,就构成了非等值连接查询,可以使用的比较运算符有〉、〉=、!
=等。
连接不仅可以在表之间进行,也可以使一个表同其自身进行连接,这种连接成为自身连接,相应得查询成为自连接查询。
一个数据库能否保持信息的正确性、及时性、很大程度上依赖数据库的更新功能的强弱与数据库的实时更新能力,这些操作包括插入、删除、修改,也成为更新3种操作。
第三章校园管理系统详细设计
图3.1系统功能模块图
在整体设计中,我们将宿舍管理系统分为八个大的模块,如图3.1所示,分别为系统管理模块、公寓管理模块、学生管理模块、信息查询模块、出入登记模块、信息修改模块、报表管理模块、关于模块。
每个模块将实现不同的功能。
下面将具体进行介绍。
3.1系统管理模块
系统管理模块包括:
超级用户登录、普通用户登录、用户密码修改、用户管理、退出系统五个部分。
(1)超级用户登录:
实现系统管理人员登录。
(2)普通用户登录:
实现一般管理人员登录。
(3)用户管理:
实现系统管理人员授予或取消一般用户登录该系统的用户名和密码。
(4)密码修改:
实现所用用户的密码更改功能。
(5)退出系统:
实现正常退出宿舍管理系统。
3.2公寓管理模块
公寓管理模块包括:
楼房管理、宿舍管理、员工管理三个大的部分。
(1)楼房管理:
登记学校所有住宿楼情况。
(2)宿舍管理:
登记学校所有宿舍的情况。
(3)员工原理:
实现楼房管理人员的添加功能。
3.3学生管理模块
学生管理模块包括:
学生基本信息录入、学生财物登记、学生学期注册、学生离校管理四项功能.
(1)学生基本信息录入:
实现学生基本信息情况的登记及宿舍的分配功能。
(2)学生财物登记:
登记学生在校期间所拥有的公共及私有贵重物品情况。
(3)学生学期注册管理:
登记学生在校期间每学期的宿舍缴费情况。
(4)学生离校管理:
实现学生毕业离校处理,注销该学生信息。
3.4信息查询模块
信息查询模块基本上包括:
按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询、每栋楼房住宿情况查询五个部分。
(1)按学号进行查询:
实现每个学生基本信息情况的查询功能。
(2)按姓名查询:
通过学生姓名查询学生基本信息情况。
(3)按班级查询:
通过班级查询某班级学生住宿情况及该班级学生信息。
(4)按寝室号查询:
查看每个宿舍所住学生信息情况。
(5)楼房住宿情况查询:
查询每栋楼房的所有宿舍的住宿情况及宿舍楼所住学生统计情况。
3.5出入登记模块
出入登记模块包括:
进楼物品登记、出楼物品登记、人员来访登记、结束访问登记四个功能模块。
(1)进楼物品登记:
详细登记某学生搬入宿舍楼的物品情况。
(2)出楼物品登记:
详细登记某学生搬出宿舍楼的物品情况。
(3)人员来访登记:
详细登记进入宿舍楼的外来人员情况。
(4)结束访问登记:
详细登记外来人员的离开情况。
3.6信息修改模块
信息修改模块包括:
学生基本信息修改、员工基本信息修改、个人财物信息修改三个大的功能。
(1)学生基本信息修改:
实现系统管理人员对学生基本信息情况所作的添加、修改、删除。
(2)员工信息修改:
实现系统管理人员对楼房员工的修改、删除功能。
(3)个人财物修改:
实现对学生个人财物的添加、修改、删除功能。
结束语
经过长时间的努力,我们的的毕业设计高校学生宿舍管理系统也终于接近了尾声,不过在系统测试时可让我们花了好多功夫,为了使系统变得更加完善,我们测试了一遍又一遍。
在测试之初,由于数据库中的数据都是刚开始编程时随便输入的,一点实用性也没有,所以我们又把数据库中的数据全部清理了一下,输入了一些真实可用的数据,以便完成后面的数据测试。
在系统管理员进行用户的删除时,刚开始时是用户名正确就可以进行删除,测试时才发现也许系统中存在重名的用户名,所以不能只凭借用户名、用户密码、用户权限中的一个或两个正确就可以将该用户删除,必须要三者都对应起来才能完成用户的删除。
还进行完善了的一点就是当管理员输入错误的用户名时,系统能够对其进行提示‘本用户信息不存在,注意核对’。
再有一点就是,在员工信息录入窗口中有一个字段‘楼房号’,在开始的系统实现时,我是将学校所有的住宿楼都添在了‘楼房号’的下拉列表框的Item属性中,是固定的。
在真正系统测试时才发现,如果我们学校新建一栋宿舍楼,并且为其分配管理人员,在具体添加时就不可能为该管理人员找到其应该管理的楼房号,因为以前添加是静态的,并没有将新建宿舍楼房加入进去。
所以我将这一部分进行了重新编程,实现了动态添加。
当楼房管理模块中新增一栋住宿楼后,员工管理模块的楼房号会自动添加一栋。
当然在系统测试阶段,我还完善了许多细节性的东西。
比如在查询模块、报表管理模块里面如果按学号进行查询,刚开始只是判断输入的学号不能为空。
后来才发现在用户输入学号后,系统应该还能够进行判断该学号到底存不存在,如果没有就应该提示用户输入了不存在的学号,应该重新进行输入。
经过一段时间的系统测试之后,我们的宿舍管理系统在整体上完善了许多,在设计上也更加具有人性化了,那么对于用户来说会更加容易适应本系统的各项操作。
参考文献
[1]萨师煊,王珊.数据库系统概论[M].北京:
高等教育出版社,1983
[2]李育龙.SQLServer2000数据库开发技术与工程实践[M].北京:
人民邮电出版社,2005
[3]侯太平,董爱红.Delphi数据库编程[M].北京:
清华大学出版社,2004.6
[4]周绪.SQLServer2000中文版入门提高[M].北京:
清华大学出版社,2003
[5]王华.Delphi5编程实例与技巧[M].北京:
机械工业出版社,2000
[6]龙劲松,王俞.Delphi6开发人员指南[M].北京:
机械工业出版社,2003
[7]徐谡,张雷.Delphi应用与开发安全教程[M].北京:
清华大学出版社,2005.1
[8]王业龙,范朝辉.Delphi软件工程案例精解[M].北京:
电子工业出版社,2005.1
[9]黄晓敏,陈强.Delphi程序设计基础[M].北京:
清华大学出版社,2004.9
[10]赵晓玲.可视化程序教程[M].北京:
机械工业出版社,2005.1