1 绪论 1.1研究目的和背景 学生宿舍是大学生学习,生活,休息的重要场所,使用管理信息系统来进行大学宿舍的管理工作无疑将提高宿舍管理工作的效率和保证信息的准确性。目前,各学校的大部分管理工作已基本上实现全电脑操作,但是学生宿舍的管理仍使用人工操作。传统人工操作的宿舍管理方式,需要强大的人力进行支持,管理各项信息的准确性也较差。在现今的知识时代,现代社会人们有着高度强烈的时间观念,如果仍使用手工操作,即浪费了人力,又浪费了物力,效率无法提高。 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期,当今社会正快速向数字化,信息化,网络化迈进,管理信息系统的作用也越来越大。高等学校作为培养高新技术人才的场所,自然也成为计算机高新技术发展的先驱。在计算机飞速发展的今天,将计算机这一信息处理利器应用于学校的日常管理已是势必所然,将各类管理系统应用到学校的各项管理中,这将为学校管理带来前所未有的改变,以及意想不到的效益,同时也会为学校全面建设及飞速发展提供无限潜力。采用计算机管理已成为学校管理科学化和现代化的重要标志,也将决定着一个学校的层次和位置。 1.2开发的意义 信息社会的高科技,商品经济的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机已经成为我们学习和工作的得力助手,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大地提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。现在我国的各学校学生宿舍的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。学生宿舍管理系统既可存储所有的宿舍管理的信息,而且仅需要一名宿舍管理员对此系统进行操作,节省大量人力,同时还可以迅速查到所需信息。为此开发学生宿舍管理系统软件,能够适应现今社会并提高学校宿舍管理效率。在以人为本全新设计理念下,该系统软件应非常容易被接受,它具有简单易学性,便于管理等功能,是一个适应现今学校学生宿舍管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。 2 需求分析 目前,我们学校的宿舍管理采用的还是人工来进行管理的, 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。 2.1功能需求 2.1.1 基本功能需求 本课题要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能: (1)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。 (2)系统应提供增加、删除、修改用户帐户的功能。 (3)系统应该提供学生住宿情况的基本登记。 (4)系统还应具有添加、修改、删除学生基本信息的功能。 (5)系统应提供学生每学期的注册及学生的离校处理。 (6)系统要求用户必须输入正确的用户名和密码才能进入系统。 (7)系统应提供学生在校期间物品出入宿舍楼的详细情况登记。 .1.2 报表需求 学生宿舍管理系统的某些信息应当能够以报表形式打印出来。基本上应该能够实现学生基本信息的报表打印、某宿舍具体住宿情况的报表打印、所有学生各年度宿舍交费情况打印、学生物品出入的信息打印及人员来访信息的打印等的功能。 2.1.3 用户界面需求 学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。快捷按钮的创建也是非常需要的,以方便用户操作。 2.2性能需求 学生宿舍管理系统中的增加用户、学生学期注册(交住宿费方能注册)、学生毕业离校等的某些模块都是和学生住宿费相联系在一起的,只有每年度的住宿费用交纳完毕才准许该生离校,所以在系统的管理权限上应当进行严格控制,具体思想如下: 1.在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于用户管理模块、学生学期注册(涉及到交费问题)及学生毕业离校等(此模块需判断该生有无欠费)牵扯到经济之类的模块是无权使用的。 2.在上述要求基础上可以为该系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录和普通用户登录两个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统。 3.要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。 2.3数据库选择 由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我们选用MySQL作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而MySQL是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用MySQL数据库。 数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。 .4系统环境 .4.1 硬件环境 系统运行环境:CPU AMD 3400 ,内存1G,硬盘80G,网卡TP-LINK TF-3239DL .4.2 软件环境 系统软件需求如表2.1所示。 3 相关知识点介绍 (1) JAVA语言简介 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是Java Applet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。 (2) JSP基础Servlet技术 Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的。 (3) JAVA语言的网络运用 程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用 Java中相应的方法(method)获取该对象所代表的资源, Java Applet可以直接从网络上结点获取图象并显示出来。目前,Java更广泛的应用是在服务器端,这是本文研究的主要话题,下文提及的Servlet、JSP等技术都是Java在服务器端应用的具体形式。 (4) JavaBeans技术 就是Java的可重用组件技术。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。 (5)MySQL知识介绍 是Microsoft 公司推出的MySQL数据库管理系统,它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成度高等优点,应用程序的操作系统支持所有Windows版本。 在MySQL中,使用的是T-SQL语言,T-SQL是ANSI SQL的加强版语言,它提供了标准的SQL 命令,由于SQL语言功能丰富、语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。经过多年的发展,SQL语言已成为关系数据库的标准语言。 在数据库中,数据查询是通过SELECT语句来完成的。SELECT语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。当然用户在查询数据库时往往并不需要了解全部信息,而只需要其中一部分满足某些条件的信息。在这种情况下就需要在SELECT语句中加入条件以选择数据行,这时,就用到WHERE子句 。WHERE 子句中的条件是由表达式以及逻辑联结词AND、OR和NOT等组成。用户在进行查询时,会出现重复结果,这时就需要使用DISTINCT关键字来取消重复部分。在WHERE子句中,可以使用谓词LIKE来进行字符串的匹配检查。当用户要对查询结果进行排序时,就需要在SELECT语句中加入ORDER BY子句。在ORDER BY子句中,可以使用一个或多个排序,要求其优先级次序从左到右。 为了使数据库更加精简,最大限度的减少数据库冗余数据。可以使用连接查询来实现多个表的连接。连接查询可以分为等值连接查询、非等值连接查询、自身连接查询等。表之间的连接如果是通过相等的字段值连接起来的查询称为等值连接查询。在等值查询的连接条件中,不使用等号而使用其他比较运算符,就构成了非等值连接查询,可以使用的比较运算符有〉、〉=、!= 等。连接不仅可以在表之间进行,也可以使一个表同其自身进行连接,这种连接成为自身连接,相应得查询成为自连接查询。 语言主要有数据定义语言、数据操纵语言、数据控制语言和其他类语言要素组成。T-SQL的分类也有类似于SQL语言的分类,不过做了许多扩充。T-SQL语言的分类如下:变量说明语句、数据定义语言(用来建立数据库、数据库对象和定义其列,大部分是以CREATE 开头的命令)、数据操纵语言(用来操纵数据库中的数据的命令,如:SELECT、INSERT、DELETE等)、数据控制语言(用来控制数据库组件的存取许可、存取权限等的命令,如:GRANT 等)、流程控制语言(用于设计应用程序的语句 ,如:If While和Case等)、内嵌函数(说明变量的命令)、其他命令(嵌于命令中使用的标准函数)。 一个数据库能否保持信息的正确性、及时性、很大程度上依赖数据库的更新功能的强弱与数据库的实时更新能力,这些操作包括插入、删除、修改,也成为更新3种操作。 4 详细设计 4.1系统功能模块图 在整体设计中,我们将宿舍管理系统分为六个大的模块:系统管理模块、楼栋管理模块、学生管理模块、信息查询模块、信息修改模块、报表管理模块。每个模块将实现不同的功能。下面将具体进行介绍。 4.1.1 系统管理模块 系统管理模块包括:超级用户登录、普通管理员登录、学生登录三个部分。 1)添加学生:只要输入需要添加的学生人数就可以添加指定人数的学生,方便批量添加学生,添加出的学生只有用户名,即学生学号,学生注册时需根据自己指定的学号才能注册,填写基本信息 2)添加普通管理员:通过填写姓名和联系电话就可以添加一个普通管理员,密码是系统默认的123,普通管理员登录后可通过密码修改功能修改密码。 3)添加宿舍楼:通过填写宿舍楼名称,单元数,层数,每层房间数就可以添加一栋宿舍楼。 4)超级用户登录:实现系统管理人员登录。 系统管理人员具有最高的管理权限,具有添加普通管理员,添加宿舍楼,添加学生及通过缴费时间,宿舍,经手人对添加水电费的记录进行查询 5)查询添加水电费的记录:可通过某一时间段,宿舍号,经手人查询出缴费的记录。 6)退出系统:点击退出系统返回到登录界面 (2)普通管理员登录:实现普通管理人员登录。 普通管理人员具有首页,学生管理,宿舍管理,财产报修,修改密码,退出六个部分。 1)学生管理:普通管理员可以通过学生姓名,楼栋号,单元号,楼层号,学院名,专业,班级等查询出学生的信息。 2)首页:普通管理员可以在首页通过选择缴费的类型及某一时间段,宿舍号,经手人查询出缴费的记录。 3)财产报修:通过某时间段查询出该时间段报修事件的信息,如:报修标题,报修时间,报修的宿舍号,报修人,处理人,状态等。还可进行操作。 4)修改密码:通过原始密码可以更改现在的密码。 5)宿舍管理:普通管理员可以通过输入或选择宿舍名称,楼栋,单元,楼层,等信息可以搜索出宿舍的名称,楼栋,单元,楼层,剩余电量,剩余水量,是否已满等信息。还可以进行交水费和电费的操作。 6)退出:退出普通管理员界面返回到登录界面。 (3)学生登录:实现学生登录 学生登录进入管理页面有首页,宿舍电费,宿舍水费,财产报修,退出等五个部分。 1)宿舍水费:登录学生可通过输入某时间段查询自己的交水费记录,还可以看到自己宿舍的水费剩余量。 2)宿舍电费:登录学生可通过输入某时间段查询自己的交电费记录,还可以看到自己宿舍的电费剩余量。 2)财产报修:登录学生可通过输入某时间段查询自己的财产报修记录,报修状态等。 3)首页:首页可以显示已登录学生的基本信息,如:学号,姓名,学院,专业,班级,宿舍等。还有温馨提示(显示电费低于5度的宿舍号),方便学生及时交电费,以免因为没及时交电费而停电带来不必要的麻烦。 5)退出:退出管理界面返回登录界面 4.1.2 楼栋管理模块 楼栋管理模块包括:楼房管理和宿舍管理两个大的部分。 (1)宿舍管理:登记学校所有宿舍的情况。 (2)楼房管理:登记学校所有住宿楼情况。 .1.3 学生管理模块 学生管理模块包括:学生基本信息录入、学生财物登记、学生学期注册、学生离校管理四项功能. (1)学生离校管理:实现学生毕业离校处理,注销该学生信息。 (2)学生财物登记:登记学生在校期间所拥有的公共及私有贵重物品情况。 (3)学生基本信息录入:实现学生基本信息情况的登记及宿舍的分配功能。 (4)学生学期注册管理:登记学生在校期间每学期的宿舍缴费情况。 .1.4 信息查询模块 信息查询模块基本上包括:按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询、每栋楼房住宿情况查询五个部分。 (1)按寝室号查询:查看每个宿舍所住学生信息情况。 (2)按姓名查询:通过学生姓名查询学生基本信息情况。 (31)按学号进行查询:实现每个学生基本信息情况的查询功能。 (4)按班级查询:通过班级查询某班级学生住宿情况及该班级学生信息。 4.1.5 信息修改模块 信息修改模块包括:学生基本信息修改、员工基本信息修改、个人财物信息修改三个大的功能。 (1)个人财物修改:实现对学生个人财物的添加、修改、删除功能。 (2) 员工信息修改:实现系统管理人员对楼房员工的修改、删除功能。 (3) 学生基本信息修改:实现系统管理人员对学生基本信息情况所作的添加、修改、删除。 .1.6 报表管理模块 报表管理模块包括:学生信息打印、员工信息打印、宿舍交费情况打印、物品出入楼信息打印、某宿舍住宿情况打印五个功能。 (1) 物品出入楼信息:查询并打印某学生的物品出入宿舍楼的信息情况。 (2) 学生信息:查询并打印每个学生的详细基本信息情况。 (3) 宿舍信息:查询并打印某个宿舍的详细住宿情况。 (4) 员工信息:查询并打印每栋宿舍楼的所有员工信息情况。 (5) 宿舍缴费情况:查询并打印已交清或未交清住宿费的学生信息。 4.2系统E-R图 在我所设计的模块中,主要涉及到员工、楼房、寝室、学生这四个实体,所以在E-R图中我只是将这四个实体的属性进行了详细说明。 .3 系统所需表 综合以上分析,要实现上面的所有功能模块,共需要设计八个表,它们分别是:学生基本情况表、寝室表、员工表、楼房表、学生财产表、学期注册表、权限表、物品出入楼表。 4.3.1 表的说明 本管理系统共用到八个表:用户表(LoginIn)、学生基本情况表(Student)、寝室表(Dorm)、员工表(Employee)、物品出入楼表(Goodsmove)、楼房表(House)、学生财产表(Riches)、学期注册表 (Enroll),各表之间均有一定的关系,可以进行关联。 (1)由于员工是负责管理某栋楼房的,因此员工表(Employee),楼房表(House)这两个表之间有一个相同的字段:楼房号(Hou_Id)来进行关联。 (2)学生基本情况表(Student)、学生财产表(Riches)、学期注册表 (Enroll)、物品出入楼表(Goodsmove)这四个表里面都有一个相同的字段:学号(Stu_Id),通过学号这个字段就可以将系统的这四个表关联了起来。当某个表发生插入、修改、删除等方面的改动时,相联的表之间也要进行相应的改动。学生基本情况表(Student)和寝室表(Dorm)也有一个相同的字段:寝室号(Dor_Id)将两表相关联。 .3.2系统表 (1)用户表:登记管理人员的用户名、密码及登录权限。 (2)学生财产表:登记学生物品情况。 (3)寝室表:登记所有宿舍的详细情况。 (4)员工表:登记所有管理人员的详细情况。 (5)学生基本情况表:详细登记学生基本信息及学生住宿情况。 (6)楼房表:登记所有住宿楼情况。 (7)物品出入表:详细登记学生物品出楼信息。 (8)学期注册表:登记学生每学期的注册情况。 5 系统功能实现与测试 .1系统功能实现 (1)查询添加水电费的记录界面实现了通过缴费时间,宿舍,经手人对添加水电费的记录进行查询的功能 (2)超级管理员的基本功能:添加普通管理员,添加宿舍楼,添加学生及查询添加水电费的记录 (3)登录主界面提供了超级管理员登录界面,管理员界面和学生登录界面,不同的用户选用不同的选项卡 (4)添加宿舍楼界面实现了添加宿舍楼的功能 (5)添加学生界面实现了添加学生的功能(通过输入需添加的学生数量可以实现批量添加), (7) 添加普通管理员界面实现了添加普通管理员的功能 .2系统测试 .2.1 系统测试的必要性 系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。测试是开发过程中一个独立且非常重要的阶段,测试过程基本上与开发过程平行。 测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试,硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行。 5.2.2 系统的测试环境 (1)系统测试的性能要求 系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 本系统运行环境为网络版,在运行时对系统整体性能要有一定的要求,软件要求:系统环境winXP+MySQL 硬件系统环境要求:P4 2.4、1G内存、80G硬盘系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。 (2) 测试数据 1) 信息添加测试 向系统添加一条信息,显示添加成功后查询刚添加的那条信息,当成功查询到刚添加的那条信息说明添加成功。 2) 信息查询测试 查询符合某特定条件的信息,检查查询结果是否和设计时数据一致,以确认数据的正确性。 3) 信息删除测试 删除某条信息,显示删除成功后查询刚删除的那条信息,当询不到刚删除的那条信息时说明删除成功 4)登录测试 输入正确的用户名,密码及验证码成功进入管理页面。当用户名或密码错误时会提示用户名或密码错误。当用户名和密码都正确但验证码错误时会提醒验证码错误。 当随便乱输入登录信息时有时会报错,本人至今未找到答案,可能是程序的健壮性不够强,希望今后能找到解决的办法。 5) 密码修改测试 按照系统的要求修改完密码后,退出管理系统,返回到登录界面,用刚修改的新密码登录管理界面,不能成功登录说明修改失败,能成功登录说明密码修改成功。
信息发布:广州名易软件有限公司 http://www.myidp.net
|