学生宿舍管理系统.docx
- 文档编号:10499993
- 上传时间:2023-02-14
- 格式:DOCX
- 页数:44
- 大小:96.62KB
学生宿舍管理系统.docx
《学生宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理系统.docx(44页珍藏版)》请在冰豆网上搜索。
学生宿舍管理系统
高校学生宿舍管理系统
摘要
高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。
我们使用和MicrosoftVisualC++6.0和MicrosoftSQLServer2000数据库为开发工具,VisualC++以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。
比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。
其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。
这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。
旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。
这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。
关键词:
宿舍管理系统;数据库;VisualC++6.0
目录
摘要I
引言1
第一章系统需求分析2
1.1功能需求2
1.1.1基本功能需求2
1.1.2报表需求2
1.1.3用户界面需求3
1.2性能需求3
1.3数据库选择4
1.4环境4
第二章相关知识点介绍5
2.1MicrosoftVisualC++6.0知识介绍5
2.2SQLServer2000知识介绍7
第三章宿舍管理系统详细设计9
3.1系统功能模块图9
3.1.1系统管理模块10
3.1.2公寓管理模块10
3.1.3学生管理模块10
3.1.4信息查询模块11
3.1.5出入登记模块11
3.1.6信息修改模块11
3.1.7报表管理模块12
3.1.8关于模块12
3.2系统E-R图13
3.3系统所需表14
3.3.1系统表14
3.3.2表的说明18
3.4.1用户管理、密码修改模块功能详细设计19
3.4.2公寓管理模块详细设计20
3.4.3信息查询模块详细设计22
3.4.4报表管理模块详细设计26
第四章系统测试29
4.1所遇问题29
4.2系统测试30
第五章总结31
致谢32
参考文献33
附录A:
主要源程序34
引言
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
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数据库选择
数据库是数据管理的最新技术,是计算机科学的重要分支。
十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。
由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。
1.4环境
本系统是以Windows系统为操作平台,用MicrosoftVisualC++6.0编程语言和SQLServer数据库来实现高校学生宿舍管理系统所需功能的。
第二章相关知识点介绍
2.1MicrosoftVisualC++6.0知识介绍
VisualC++以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。
比如,它允许用户进行远程调试,单步执行等。
还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。
其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。
这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。
VisualC++最初叫做MicrosoftC/C++。
VisualC++1.0,集成了MFC2.0,是VisualC++第一代版本,1992年推出,可同时支援16位处理器与32位处理器版,可算是MicrosoftC/C++7.0的更新版本。
VisualC++1.5,集成了MFC2.5,增加了“目标文件链接嵌入(OLE)2.0和支持MFC的开放式数据库链接(ODBC)。
这个版本只有16位的,也是第一个以CD-ROM为软件载体的版本。
这个版本也没有所谓“标准版”。
它是最后一个支持16位软件编程的软件,也是第一个支持基于x86机器的32位编程软件。
VisualC++2.0,集成了MFC3.0,第一个只发行32位的版本。
这个版本提前发行了,几乎成了一个“丢失的版本”。
这是因为那个时候Windows95(开发代码为"Chicago")还没有发行,而WindowsNT又只占有很小的市场份额。
该版本用户可以通过微软公司的订阅服务(MicrosoftSubscriptionService)升级至2.1和2.2版本。
微软公司在这个版本中集成并升级了VisualC++1.5,作为2.0版本(VisualC++1.5升级后版本号:
1.51)以及2.1版本(VisualC++1.5升级后版本号:
1.52)的一部分。
VisualC++2.x附带了16位和32位版本的CDK,同时支持Win32s的开发。
VisualC++2.2及其后续版本不再升级VisualC++1.5(尽管它一直被集成至VisualC++4.x)。
尽管出生的比Windows95早,这个版本的发行日期还是非常接近Windows95,可是当Windows95发行时,VisualC++4.0也已经发行了。
因此很多程序开发者直接从1.x过渡到4.0,把2.x跳过去了。
VisualC++4.0,集成了MFC4.0,这个版本是专门为Windows95以及WindowsNT设计的。
用户可以通过微软公司的订阅服务(MicrosoftSubscriptionService)升级至4.1和4.2版本(此版本不再支持Win32s开发)。
VisualC++5.0,集成了MFC4.21,是4.2版以来比较大的一次升级。
VisualC++6.0,集成了MFC6.0,于1998发行。
发行至今一直被广泛地用于大大小小的项目开发。
但是,这个版本在WindowsXP下运行会出现问题,尤其是在调试模式的情况下(例如:
静态变量的值并不会显示)。
这个调试问题可以通过打一个叫“VisualC++6.0ProcessorPack”的补丁来解决。
奇怪的是,这个网页强调用户也必须运行Windows98、WindowsNT4.0、或Windows2000。
VisualC++.NET2002(也即VisualC++7.0),于2002年发行,集成了MFC7.0,支持链接时代码生成和调试执行时检查。
这个版本还集成了ManagedExtensionforC++,以及一个全新的用户界面(与VisualBasic和VisualC#共用)。
这也是为什么VisualC++6.0仍然被广泛使用的一个主要原因。
VisualC++.NET2003(也即VisualC++7.1),集成了MFC7.1,于2003年发行,是对VisualC++.NET2002的一次重大升级。
eMbeddedVisualC++,用于WindowsCE操作系统。
VisualC++作为一个独立的开发环境被MicrosoftVisualStudio2005所替代。
VisualC++2005(也即VisualC++8.0),集成了MFC8.0,于2005年11月发布。
这个版本引进了对C++/CLI语言和OpenMP的支持。
VisualC++2008(也即VisualC++9.0),于2007年11月发布。
这个版本支持.NET3.5,是目前最新的版本。
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系统管理模块
系统管理模块包括:
超级用户登录、普通用户登录、用户密码修改、用户管理、退出系统五个部分。
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系统所需表
综合以上分析,要实现上面的所有功能模块,共需要设计九个表,它们分别是:
学生基本情况表、寝室表、员工表、楼房表、人员来访表、学生财产表、学期注册表、权限表、物品出入楼表。
3.3.1系统表
1.用户表:
登记管理人员的用户名、密码及登录权限。
2.学生基本情况表:
详细登记学生基本信息及学生住宿情况。
3.寝室表:
登记所有宿舍的详细情况。
4.员工表:
登记所有管理人员的详细情况。
5.人员来访表:
登记所有来访人员的详细情况。
6.物品出入表:
详细登记学生物品出楼信息。
7.楼房表:
登记所有住宿楼情况。
8.学期注册表:
登记学生每学期的注册情况。
9.学生财产表:
登记学生物品情况。
表3.1用户表(LoginIn)
字段名
描述
数据类型
数据长度
NULL
Primarykey
UserName
用户名
char
10
N
Y
UserId
用户密码
char
10
N
Y
UserPower
用户权限
char
20
N
N
表3.2学生基本情况表(Student)
字段名
描述
数据类型
数据长度
NULL
Primarykey
Stu_Id
学号
char
20
N
YandF
Stu_Name
姓名
char
10
Y
N
Stu_Sex
性别
char
10
Y
N
Dor_Id
寝室号
char
10
N
F
Stu_Enr
入学日期
datetime
10
Y
N
Stu_Birth
出生日期
datetime
10
Y
N
Stu_Study
所学专业
char
10
Y
N
Stu_Class
班级
char
10
Y
N
Stu_Polit
政治面貌
char
10
Y
N
Stu_Add
家庭住址
char
50
Y
N
Stu_Tel
联系方式
char
10
Y
N
Stu_Sta
状态
char
10
Y
N
Stu_Des
备注
char
50
Y
N
表3.3寝室表(Dorm)
字段名
描述
数据类型
数据长度
NULL
Primarykey
Dor_Id
寝室号
char
10
N
Y
Dor_Sex
居住性别
char
10
Y
N
Dor_Num
应住人数
char
10
Y
N
Dor_Fact
实住人数
char
10
Y
N
Dor_Price
住宿费用
char
10
Y
N
Dor_Tel
电话
char
10
Y
N
Dor_Des
备注
char
50
Y
N
表3.4员工表(Employee)
字段名
描述
数据类型
数据长度
NULL
Primarykey
Emp_Id
员工号
char
20
N
Y
Emp_Name
姓名
char
10
Y
N
Emp_Age
年龄
char
10
Y
N
Emp_Sex
性别
char
10
Y
N
Hou_Id
楼房号
char
10
N
F
Emp_Job
职位
char
10
Y
N
Emp_Add
家庭住址
char
50
Y
N
Emp_Tel
联系方式
char
10
Y
N
Emp_Des
备注
char
50
Y
N
表3.5人员来访表(Visit)
字段名
描述
数据类型
数据长度
NULL
Primarykey
Vis_Name
来访人姓名
char
10
N
N
Vis_Host
被访人姓名
char
10
Y
N
Dor_Id
宿舍
char
10
N
F
Relation
所属关系
char
10
Y
N
Vis_Data
来访日期
datetime
10
Y
N
Vis_Time
来访时间
datetime
10
Y
N
Lea_Time
离开时间
datetime
10
Y
N
Vis_Watch
值班人
char
10
Y
N
Vis_Cred
证件名称
char
10
Y
N
Vis_Des
备注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生宿舍 管理 系统