学生宿舍管理信息系统的设计与实现论文Word文件下载.docx
《学生宿舍管理信息系统的设计与实现论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理信息系统的设计与实现论文Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
它是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本[4]。
3系统分析
3.1系统需求分析
3.1.1管理需求分析
本系统的最终用户为宿舍楼管理员,根据实际情况学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理,一般是宿管中心的老师加本校学生进行管理。
根据我们日常生活中的经验,结合对自己学校宿舍楼管理老师的咨询,得出宿舍管理员用户对管理涉及宿舍信息的下列实际要求。
(1)学生的基本信息
入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。
另外,为了管理上的方便,同一院系的学生的宿舍可能在一起也可能不在一起,所以相应地会有其所在的院系班级等管理,能对住宿人员进行信息的增添、查询、修改和删除。
(2)宿舍的基本信息
每个宿舍的财产属于学校,比如床铺,柜子,桌椅等能进行相应的记录和备注情况的说明。
每当放寒假或暑假时,同学们大部分都会回家。
这时,为加强学校对同学财产安全的管理,离校和返校的同学应对随身所带的贵重物品如电脑进行进出楼的登记。
此外,能对每个宿舍的卫生情况进行记录,可用于年末评选优秀宿舍。
(3)来访人员的管理
学生中可能有亲人或者朋友到校舍访问同学,那么在宿管那里应该能根据不同的情形如被访问学生姓名来查询该学生所在的宿舍及该学生的信息,并对到宿舍访问的人的信息根据所提供的有效证件进行登记,以保证宿舍楼内的安全。
3.1.2宿舍管理员对系统的要求
(1)系统的易操作性
系统要求界面简单易于操作、方便管理、系统稳定性高、管理效率高、管理能力强。
宿舍楼管理员能查询上面提到的相应的宿舍楼及个宿舍设施的所有相关信息,包括某间宿舍的财产如床位桌椅信息以及某一学生在宿舍楼中住宿的详细信息,以利于对整个宿舍楼的全面管理。
(2)对信息的处理要求
当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。
比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;
或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。
当宿舍楼的电话号码发生变更时,宿舍楼管理员能根据有关证明做出修改。
另外,根据实际情况学生所住宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理,一般是宿管中心的老师加本校学生进行管理。
对于普通的管理员只能对某些相关信息进行添加或者根据实际情况进行查询,而不能随意的修改或者删除以保证数据的安全性。
3.2系统的功能设计
根据如上得到的需求分析,我们将本系统按照所完成的功能分成以下几模块进行设计。
3.2.1对管理员用户的管理
(1)管理员的登录管理
(2)管理员用户密码修改
(3)管理员用户注册及权限分配
(4)对管理员用户的删除
3.2.2对宿舍信息的管理
(1)对宿舍财产信息的添加、查询、修改、删除
(2)对宿舍相关信息的备注添加
(3)记录每个宿舍的卫生情况
3.2.3对学生的管理
(1)对学生基本信息所在院系、班级、宿舍、性别、电话进行管理
(2)根据学号、姓名、宿舍对学生信息进行检索
(3)对来访人员进行管理
(4)对学生贵重物品及其他物品进出楼管理
4宿舍信息管理系统详细设计
4.1系统总体功能及结构图
系统将充分利用计算机的功能实现对宿舍信息进行管理,在整体设计中,我将宿舍管理系统分为以下几个的模块:
系统用户管理模块、宿舍管理模块、学生信息管理模块、物品出入登记模块、来访人员管理、关于模块。
每个模块将实现不同的功能。
4.1.1管理员登录
系统管理员用户管理模块包括:
超级用户登录、管理权限用户登录、普通操作权限人员登录、用户密码修改、用户管理、退出系统。
超级用户登录:
实现系统管理人员登录。
普通用户登录:
实现操作权限管理人员登录。
用户管理:
实现系统管理人员授予或取消用户登录该系统的用户名和密码。
密码修改:
实现所用用户的密码更改功能。
重新登录:
用新创建的用户登录。
退出系统:
实现正常退出宿舍管理系统。
图1管理员登录及管理模块
Fig.1Administratorsloginandmanagementmodule
4.1.2宿舍信息管理
宿舍管理模块包括:
宿舍内基本信息的管理、查询宿舍相关信息、宿舍卫生管理。
宿舍基本信息:
宿舍号、床位数、宿舍电话号码、住宿费、椅子数、桌子数以及宿舍的备注信息说明等进行添加、删除、修改并能对根据宿舍号对宿舍信息进行查询。
宿舍卫生管理:
对宿舍卫生检查结果记录和公布。
图2宿舍管理模块
Fig.2Dormitorymanagementmodule
4.1.3学生信息管理
学生信息管理模主要块包括学生基本信息的管理、学生院系管理、学生的班级管理。
基本信息管理:
学生姓名、学号、性别、电话、所在宿舍以及其他备注信息。
院系管理:
学生所在院系及其简介和说明。
班级管理:
学生所在班级及其简介和说明。
图3班级管理模块
Fig.3Classmanagementmodule
4.1.4来访人员管理
人员来访登记:
详细登记进入宿舍楼的外来人员情况。
结束访问登记:
详细登记外来人员的离开情况。
图4来访人员管理模块
Fig.4Visitormanagementmodule
4.1.5物品进出楼管理
进楼物品登记:
详细登记某学生入住宿舍楼时的贵重物品情况(如电脑)。
出楼物品登记:
详细登记某学生出宿舍楼时的贵重物品携带情况(如电脑)。
图5物品进出楼管理模块
Fig.5Goodsmanagementmodule
4.1.6数据的操作功能
数据的操作功能主要包括对信息的内容的显示,对某些信息内容的添加、修改、查询、删除。
考虑到各栋宿舍楼可能有不同的管理人员对宿舍信息进行管理,因此从数据安全性考虑对系统管理人员给以不同的管理权限对宿舍信息进行管理分为管理员权限和普通操作员权限,管理员权限可以对所有的宿舍内部信息数据进行添加、修改、查询或者删除包括可以删除管理员;
而普通操作权限管理员只可以对数据进行添加或者查询功能,不能对数据进行修改或者删除,也不能删除管理员。
信息操作的主要内容包括:
学生基本信息、宿舍基本信息、来访人员基本信息、物品进出楼基本信息、宿舍卫生信息所作的添加、修改、查询、删除。
图6数据的操作模块
Fig.6Theoperationofthedatamodule
4.1.7关于模块
此模块是对学生宿舍管理系统开发者相关信息的一个简单介绍。
帮助模块。
4.2数据字典
综合以上分析,要实现上面的所有功能模块,共需要设计九个表,它们分别是:
管理员登录表(Login_Table_1)、宿舍信息表(Dorm_Table_1)、学生基本情况表(Stu_Table_1)、院系信息表(Pastern_Table)、班级信息表(Class_Table)、来访人员信息表(Visit_Table)、宿舍卫生登记表(Health_Table)、物品出楼登记表(Goodsin_Table)、物品出入楼登记表(Goodsin_Table)。
5模块设计
5.1管理员登录模块设计
运行系统首先进入登录界面,界面简洁明了,如图所示
图7管理员登录界面
Fig.7Theadministratorlogininterface
功能实现及设计:
该部分实现管理人员的登录,主要用于判断用户输入的登录信息是否正确,输入账号和密码信息后单击登录键或者Enter快捷键;
如果不登录可以直接单击退出或按键盘Esc键退出程序。
5.2系统管理主界面设计
程序主界面包含菜单栏和状态栏两部分。
菜单栏所包含的信息有:
系统管理、宿舍管理、学生管理、外来人员登记、宿舍卫生检查、物品进出登记和关于选项。
状态栏包含信息:
当前登录用户、系统当前时间、系统制作相关信息。
界面如图所示:
图8程序主界面
Fig.8Themainprograminterface
5.3系统管理菜单
系统管理菜单内容包括:
用户信息管理、重新登录、退出。
5.3.1用户信息管理
用户信息管理包括:
添加用户、修改密码、删除用户。
(1)添加用户:
系统刚开始默认登录用户名为admin,密码为admin123。
可以根据实际的管理需要添加不同的用户并选择相应的管理权限。
界面如下图所示:
图9添加管理员用户界面
Fig.9Addtheadministratoruserinterface
功能设计及实现:
添加用户时可设置相关的权限,分为管理权限和操作权限。
管理权限可对所有信息进行增加、修改、查询、删除包括删除管理员;
而操作权限用户只能对数据进行增加、查询,不能删除和修改,也没有权限删除管理员。
单击重置所有输入框都被清空。
单击取消关闭此对话框。
(2)管理员密码修改:
管理员可根据自己的情况修改本人登录用户名的密码。
图10管理员修改密码界面
Fig.10Theadministratorpasswordmodifytheinterface
当用户注册成功账户密码分配好以后,用户可以根据可以根据自己具体的情况来修改账户的密码,增强数据和账户的安全性。
(3)删除用户:
该功能只有管理员权限的用户才能对管理用户进行删除,普通操作权限的用户没有权限删除管理用户。
图11删除管理员界面
Fig.11Deletetheadministratorinterface
在进入删除用户界面之前,系统先查询判断当前登录用户的权限,若为操作权限,则弹出警告对话框“你没有权限删除管理用户”;
若为管理权限则可进入删除用户界面,具有管理权限的管理员在删除时可选查询相关管理用户名来选择需要删除的管理用户。
5.4宿舍管理菜单
(1)宿舍管理菜单模块包含宿舍基本信息的管理,可以对当前数据库中的宿舍基本信息情况进行显示、添加、修改、删除和查询。
图12宿舍信息管理界面
Fig.12Dormitoryinformationmanagementinterface
通过Datagrideview控件来对数据库中Dorm_Table_1表中的内容进行显示。
能对相关的宿舍信息进行添加和查询,初始状态修改和删除按钮为灰色不可用状态,当用鼠标单击上图Datagrideview中显示的表格信息,选择行的信息会回写到下方单元格中,此时具有管理权限的管理员可以根据需要对某些数据进行修改和删除。
当单击查询∨时主窗体高度发生变化,下面显示可根据宿舍号进行查询。
5.5学生管理
学生管理菜单包含三个子菜单选项:
住宿学生管理、院系管理、班级管理。
5.5.1住宿学生管理
显示和记录住宿学生的基本信息,并对这些信息进行添加、修改、删除和选择学号、姓名、宿舍来查询学生的相关信息。
图13住宿学生管理界面
Fig.13Studentaccommodationmanagementinterface
通过Datagrideview控件来对数据库中Stu_Table_1表中的内容进行显示、添加和查询,初始状态修改和删除按钮为灰色不可用状态,当用鼠标单击上图Datagrideview中显示的表格信息时触发dataGridView1_CellClick事件,当前选择行的信息会回写到下方单元格中,此时只有管理权限的管理员可以根据需要对某些数据进行修改和删除。
当单击查询∨时主窗体高度发生变化同时状态变为查询∧,下面显示可根据学号、姓名、宿舍来查询学生的相关信息。
学生所在院系的选择通过combobox与数据库的表Pastern_Table绑定,实现对表中的内容的显示和选择。
班级的选择则通过对class的combobox与Pastern_SelectedIndexChanged事件来触发,对相应学院下有的班级来选择。
5.5.2院系管理
管理员可以在这里对住宿学生所在院系及相关信息进行添加、修改和删除。
界面如下:
图14院系管理界面
Fig.14Thefacultymanagementinterface
5.5.3班级管理
管理员可以在这里对住宿学生所在班级及相关信息进行添加、修改和删除。
图15班级信息管理界面
Fig.15Theclassinformationmanagementinterface
在添加班级之前先选择该班级所在的院系,学生所在院系的选择通过combobox与数据库的表Pastern_Table绑定,实现对表中的内容选择。
5.6外来人员登记
外来人员登记实现对来访问者信息的管理包括:
来访人姓名、访问人姓名、来访人数、访问人宿舍、来访时间、离开时间以及其他备注说明进行管理。
图16来访人员登记界面
Fig.16Thevisitorregistrationinterface
通过Datagrideview控件来对数据库中Visit_Table表中的内容进行显示、添加和查询,初始状态修改和删除按钮为灰色不可用状态,当用鼠标单击上图Datagrideview中显示的表格信息时触发DataGridView1_CellClick事件,选择行的信息会回写到下方单元格中,此时只有管理权限的管理员可以根据需要对某些数据进行修改和删除。
当单击查询∨时主窗体高度发生变化同时状态变为查询∧,下面显示可根据学号、姓名、宿舍来查询访问人的相关信息。
5.7宿舍卫生管理
宿舍卫生管理包括对宿舍卫生情况的检查、检查时间、检查情况和备注信息说明等记录和管理。
图17宿舍卫生管理界面
Fig.17Healthmanagementinterface
5.8物品进出楼登记
物品进出楼登记包括物品如楼登记和物品登记两块内容。
主要包括:
物品所有者姓名、宿舍、登记的有效证件(学生证、教师证、身份证或者其他)及号码、物品出入楼时间、物品及其他情况备注说明的信息管理。
物品入楼登记界面如下:
图18物品入楼登记界面
Fig.18Thearticleregistrationinterface
物品出楼登记界面如下:
图19物品出楼登记界面
Fig.19Itemsregistrationinterface
功能设计与实现:
通过Datagrideview控件来对数据库中Goodsin_Table表和Goodsout_Table表中的内容进行显示、添加和查询,初始状态修改和删除按钮为灰色不可用状态,当用鼠标单击上图Datagrideview中显示的表格信息时触发dataGridView1_CellClick事件,选择当前行的信息会回写到下方输入框中,此时只有管理权限的管理员可以根据需要对某些数据进行修改和删除。
当单击查询∨时主窗体高度发生变化同时状态变为查询∧,下面显示可根据学号、姓名、宿舍来查询物品所有者的相关信息。
5.9关于
关于包括该宿舍管理信息系统的相关制作信息和帮助说明,界面如下图所示:
图20关于界面
Fig.20Aboutthesysteminterface
6.关键技术实现、编码及测试
6.1数据库技术的操作
由于程序中在多个窗体Form中都用到了对数据库的操作,主要包括对数据的显示、读取、查询、增添、修改和删除,为了是程序结构简单,条理清晰,在程序中新建了一个Class类DB,在文件夹database下,添加了对数据库的操作函数,在程序运行时通过对数据库类实例化以后便可以直接调用相关的函数对数据库中的信息进行处理。
6.1.1数据库的连接
SQLServer.NETFramework数据提供程序使用SqlConnection对象提供与MicrosoftSQLServer进行连接[3]。
在本程序设计中通过定义函数publicSqlConnectiongetcon()实现对数据库的连接,并返回一个SqlConnection的数据库连接对象
6.1.2对数据库操作函数定义
(1)通过定义函数publicSqlCommandgetcom(stringM_str_sqlstr)函数来完成对数据库的增加、修改、查询、删除操作。
关键实现代码如下:
SqlCommandSqlcom=newSqlCommand(M_str_sqlstr,Sqlcon);
Sqlcom.ExecuteNonQuery();
returnSqlcom;
(2)读取和显示数据库中的数据
使用DataReader对象,DataReader是一个轻量级对象,可迅速获取查询的结果。
用于从数据源中检索只读、只向前数据集,常用于检索大量数据结果,DataReader对象不能用new建立,只能调用Commend对象的ExecuteReader()来产生[5]。
在实现中定义publicSqlDataReadergetread(stringM_str_sqlstr)函数来实现对数据库中数据的读取。
SqlCommandsqlcom=newSqlCommand(M_str_sqlstr,sqlcon);
SqlDataReadersqlread=sqlcom.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
returnsqlread;
6.1.3对数据集的填充及对数据表的操作
(1)用数据填充DataSet
DataSet常见操作是用DataAdapter对象的Fill()方法给它填充数据。
Fill()方法有许多重载版本,这里使用带两个参数的,第一个参数指定要填充的DataSet,第二个参数是DataSet中要包含所有加载数据的DataTable名称[7]。
DataSet包含一个或一组DataTable对象,它们表示所操作的数据库表。
每个DataTable对象都有一写对象DataRow和DataColumn,表示数据表中的行和列。
通过这些对象可以获取表、行和列中的元素。
(2)访问DataSet中的表、行和列
DataSet对象有一个Tables属性,它是DataSet中所有的DataTable对象的集合。
Tables的类型是DataTableCollection,它有一个重载的索引符,可用两种方式访问每个DataTable:
(a)按表名访问:
thisDataSet.Tables[“Tables_name”]指定DataTable对象Tables_name。
(b)按索引(索引基于0)访问:
thisDataSet.Tables[0]指定DataTable中的一个DataTable。
(3)每个DataTable中,都有一个Rows属性,它是DataRow对象的集合。
Rows的类型是DataRowCollecion,是一个有序列表,按行号排序。
DataRow对象有一个重载的索引符属性,允许按列名或列号访问各个列。
在本程序设计中定义publicDataSetgetSet(stringM_str_sqlstr,stringM_str_table)函数先建立SqlDataAdapter的一个对象,并用该对象的Fill()方法来填充数据,对数据表的访问采用的是按索引的访问方式。
数据的填充代码实现如下:
SqlDataAdaptersqlda=newSqlDataAdapter(M_str_sqlstr,sqlcon);
DataSetmyds=newDataSet();
sqlda.Fill(myds,M_str_table);
returnmyds;
6.2数据的绑定
数据的绑定指将一个控件绑定到多个数据元素的能力,通常绑定的数据中含有多条记录[8],本程序设计中绑定的控件是ComboBox,用来实现学生信息登录时可以从数据库的Pastern_Table和Class_Table中选取相对应的结果。
绑定函数的代码实现如下:
publicvoidcboxBind(stringsql_text,stringstr_table,stringstr_tbMember,ComboBoxcbox)
{
DataSetmyds=this.getSet(sql_text,str_table);
cbox.DataSource=myds.Tables[str_table];
cbox.DisplayMember=str_tbMember;
}
其中参数stringsql_text定义的是我们的操作字符串,stringstr_table是数据的连接对象即数据源,这两个参数主要用于填充数据集;
stringstr_tbMember用于表示要显示的字段,ComboBoxcbox定义实际的控件名称[9]。
对程序设计中绑定选择的院系代码实现如下:
stringsqlC