bs架构的宿舍信息管理系统(源码)

摘要:信息技术在飞速发展并逐步普及,传统宿舍管理的人工处理方式变得难以为继,它必然被计算机为基础的信息管理所取代。本文针对学校学生宿舍管理工作的需求,为弥补传统人工操作宿舍管理方式的不足与缺陷,采用C#作为开发语言进行开发,结合Asp.Net技术,采用SQL Server2008构建数据库,建立可视化的宿舍信息管理系统,提高宿舍管理水平,优化宿舍管理流程。该系统利用地图动态显示宿舍楼的故障情况,紧急情况下可一键触发报警系统,使管理员的监视变得更加及时有效。数据统计以柱状图体现,使数据呈现的更加直观。关键字:Asp.Net;宿舍信息管理系统;Web应用服务The dormitory management information system based on B/S architectureStudent majoring in computer science and technology DAI YifanTutor CHE JianhuaAbstract: Artificial processing of student information becomes difficult to continue, with the rapid development of information technology and popularization, the traditional management methods must be computer-based information management replaced. According to the needs of the school dormitory management of student information, to make up for the deficiencies and defects of the traditional manual operation of dormitory management, combined with Asp.Net technology, C# language development, database using SQL Server 2008 construction, establishing a system of dor
 *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$ 
mitory management system, optimizing the dormitory management process, improve the students dormitory management level. The system uses dynamic map show the fault of dormitory building, emergency situations can be a key trigger alarm system, the administrator monitor become more intuitive. Statistics data show that in a histogram reflects, more intuitive.1绪论学生宿舍是大学生休息、生活和学习的重要场所,使用管理信息系统对大学宿舍进行管理无疑将提高宿舍管理工作的效率和保证信息的准确性。目前,学校各部门的管理工作虽然都摆脱了人工方式,实现电脑操作,但是学生宿舍管理却仍然停留在手写登记。学生信息数据量的加大使学生宿舍人工管理的方式变得难以为继,信息技术飞速的发展必将导致信息化管理方式代替传统人工管理方式。因此,开发学生宿舍信息管理系统具有很强的现实意义和必要性。1.1课题背景信息技术发展已经深入到生活的各个角落,然而很多高校后勤管理仍然停留在人工管理模式上。日益扩大的学校规模,不断增加的学生人数,必将导致数据量的不断扩大。随之而来的预处理的数据量在不断增加,管理员的工作量也在不断增加,无形中施加给管理员很大的工作压力。传统的管理模式在巨大的数据量面前将变得不堪一击,只会是事倍功半。特别是随着硬件基础平稳快速的发展,计算机已经在高校中得以普及,这为宿舍信息管理系统奠定了基础,因此非常有必要建立一个完善的宿舍信息管理系统。这是学校自身实现信息化建设的一项举措,学校与时俱进,改革创新,更加吸引五湖四海的学子。本课题综合运用相关信息技术开发出这套宿舍信息管理系统软件,它体现了学生宿舍管理的实时性、动态性以及高效性,使宿舍管理工作流程得以优化。1.2研究意义在信息技术快速发展以及应用范围日益扩大的背景下,基于计算机技术的信息化管理方式是未来的管理趋势,传统管理模式终究会被替代。本课题结合学校学生宿舍管理的客观实际,设计并实现界面友好、操作简单、易学易用的人性化关键系统。通过该系统,宿舍管理员可以对宿舍信息、管理员信息以及学生信息进行快速查找,对卫生信息进行统计分析,可以快速准确无误的实现数据录入、删除、更新、保存等功能。该宿舍信息管理系统为宿舍管理员的日常信息处理工作提供了方便,如学生住宿信息管理、外访人员信息管理、宿舍卫生信息管理等。本课题开发的宿舍信息管理系统有着良好的运行界面,稳定性高,简洁易用,实用性强,而且采用地图显示宿舍故障信息,直观而且高效,一键即可触发报警系统,还可以生成柱形统计图。因此,开发一个宿舍信息管理系统具有较强的理论意义与现实意义。1.3国内外研究现状在国外,校园信息化(Campus Computing)的概念是在1990年由美国教授Kenneth C.Green提出的,并于同年他还进行了一个针对美国的高校信息化研究项目(Campus Computing Project,CCP),此后,高校的各个领域都应用到信息技术,例如管理、教学、研究等。目前,在宿舍信息管理系统非常成熟的众多国外高校中,欧美高校宿舍信息管理较早实行,早在上世纪70年代左右就大力推广校园信息化建设。如今已经形成了成熟的软件开发体系和信息标准,在教学业务领域及教学辅助管理系统的应用软件开发水平均比较成熟。过去的台帐式管理方式已经被完全取代了,就宿舍信息化管理而言,均采用了成熟的计算机信息技术进行管理,无论办学规模大小,性质为公立、私立,以及环境的差异[1]。宿舍实现信息化管理方式只是其最基本的功能,更加强大的功能是通过人脸识别进行头像扫描,学生的基本信息被直接存入系统,这样省去了键盘输入,变得更加快捷、方便和高效。而还有高校采用指纹识别的管理模式,学生只能通过指纹进行识别验证,打开钥匙柜并取出钥匙,然后凭借钥匙进出宿舍。不仅如此,宿舍周围全方位的电子监控设备全天候监控周边环境,保证了学生的人身安全和财产安全。一旦发生异常情况,监控中心就会第一时间予以处理[2,3]。在国内,跟随着CERNET项目启动的步伐,众多高校向信息化又迈进了一步。随着网络的日益普及,一半以上的学校开通了校园网,更有实力强大的开发了信息管理系统进行学生、教学、办公管理。相应的在教学、管理、科研中建立了自己的网络应用软件系统,实现了校园网络化。部分高校中宿舍信息管理系统已经建立并使用,但是只是部分信息化,仍然处于初级阶段。对于部分宿舍日常业务的办理仍然采用人工记录的管理方式,特别是学生档案管理、假期离校状况登记、消息通知、数据统计,房间钥匙借用等。这种纸质记录方式不仅浪费精力、财力、物力,而且工作效率和精准率也会降低。另外,由于目前在这方面没有完善的体制和统一的标准,局限性和针对性是大多数系统都存在的问题。所以各高校学生管理部门开发出自己的宿舍信息管理系统,来及时调整和管理学生入住宿舍的分配以及学校的宿舍资源,从而满足各系部对学生宿舍管理的需要[3]。1.4研究内容本课题结合当前高校宿舍管理的自身特点,利用C#编程语言以及数据库技术在.NET框架下开发一套基于B/S架构的能够满足需求的宿舍信息管理系统。通过该系统,管理员可以办理宿舍日常业务,查询学生的基本信息、住宿信息,了解学生入住情况和房间分配状况,实现房间分配、调寝、退寝的宿舍房间信息管理,使宿舍房间资源利用最大化、合理化,便于动态管理学生住宿情况。本课题设计与开发的宿舍信息管理系统可划分为八个模块:房间管理、出入登记管理、检查与评比、公共物品管理、报修故障、值班记录、学生宿舍管理、公告等。此外,设计与开发的宿舍信息管理系统还具有以下特点:(1)管理员通过地图显示故障信息,可直观动态的观察并发现当前宿舍楼的安全状况、待维修故障、待处理事宜,紧急情况下可一键触发报警系统,及时将重要信息发送至救援中心;(2)管理员可以对管理员、学生和宿舍信息进行查询、增加、更改和删除。对卫生信息进行统计分析,用柱形图直观显示;(3)界面简洁友好、易于操作、通用性强,无需专门学习即可上手操作。本论文主要介绍了系统实现应用的一些相关技术理论,系统需求平台及结构、系统需求分析、系统设计分析、系统实现等内容。2系统实现相关技术2.1系统开发平台及结构基于B/S模式的软件架构,即浏览器/服务器模式是随着网络技术及其相关应用系统开发兴起之后的主流开发模式[4]。该模式中服务器端将实现系统功能的核心部分,从而从很大程度上降低了软件系统的开发成本和维护成本。客户端用户的计算机上只需要有浏览器即可,不需要安装一些复杂的软件,就能在不同访问环境和平台下完成应用系统的相关操作,从而统一客户端配置和相关要求。B/S结构被广泛的应用,一方面,该模式与早期在C/S架构中不同的是与服务器上安装的数据库系统进行数据交互是通过Web Server实现的[5]。在B/S模式中,对于客户端配置要求比较低,用户在网络服务器性能支持的前提下,可以最大程度的并发访问操作系统功能模块。而系统数据结果的显示和交互则通过浏览器就能够获取。在国外通常称B/S模式的应用为Web应用[6],B/S模式的分层设计思想便随着网络技术的快速发展被提出。最为典型的结构是根据应用系统的业务操作来划分的,可以划分为三层结构,分别是客户端、Web服务器、数据库服务器端。如图2-1所示[7]。图2-1 系统B/S三层结构第一层客户端其实就是Web浏览器层,其主要工作就是向服务器端指定的应用程序模块发送用户的访问请求,如果用户身份确认则返回处理结果,该结果及访问的存储形式为HTML的文件形式,根据客户端的具体配置进行显示,其数据通信协议遵从HTTP协议[8]。实现业务逻辑处理过程,即应用软件的主要功能模块则主要由第二层Web服务器负责,具体为根据客户端用户的访问请求,生成SQL数据交互命令即SQL语句来操作系统数据库。第三层则为数据库的存储,这一层的主要工作就是将数据库操作的运行结果反馈给Web服务器端,数据库操作具体指查询、增加、删除、修改、更新等,根据功能模块的要求,在数据库中执行相应语句。2.2 ASP.NET技术ASP.NET是一种支持多种开发语言的程序构架,它建立强大的Web应用程序只需要一台Web服务器就可以实现。ASP.NET虽然支持多种开发语言,但是C#及VB.NET是首选开发语言。与此同时ASP.NET还提供了一种新的编程模型和新的结构,这无疑使安全保护变得更好,所生成的应用程序会更加的稳定并且更加容易伸缩[9]。可以随时通过在现有ASP应用程序基础上逐渐添加ASP.NET功能从而增强ASP应用程序的功能。不仅如此,所有的ASP.NET应用程序可以调用任何一个.NET Framework这个大类库中封装好的接口。ASP.NET与现在的Web开发模式相比较而言突出了它非常多的优点[10-12]:(1)ASP.NET构架的开发环境可以是Visual Studio.net开发环境,它是Microsoft公司推出的最新产品。(2)ASP.NET程序非常强大而且普遍适用。它适用于所有Web开发平台,并且在Web应用程序开发的所有平台上它几乎都能运行的。(3)对于ASP.NET而言,表单的提交、客户端用户的身份验证、分布系统和网站配置等一些很平常的任务都变得非常简单。.NET Framework体系结构图如图2-2所示,公共语言运行库及.NET类库是.NET Framework两个主要的组成部分,在.NET Framework运行环境下,公共语言运行环境是所有的对象、命名空间及类、应用程序等各种资源的运行环境[13]。3系统需求分析3.1总体需求长期以来,宿舍管理一直是高校宿舍信息管理业务快速发展的绊脚石。学校快速发展,随之而来的是规模扩大、学生数量急剧增加,在宿舍管理的过程中产生了日益扩大的庞大信息量,这使得宿舍工作人员的工作量巨大而且效率低下,学校这种落后的宿舍信息管理方法如果继续沿用,必将导致大量的数据误差、信息维护变得更加困难、查找及其困难等问题。不仅如此,一些日常宿舍管理工作所引起的大量数据信息变更,如调换寝室、毕业退寝、借用/归还钥匙、外来人员登记、夜归登记、假期离校登记等等,这些不仅是宿舍管理所必须处理的数据信息,而且是用户都显著存在的需求。而这样的需求还无法被满足,因此要建立一个既能节省各种人力物力的消耗又能最大程度提高管理工作效率的完整而高效的宿舍信息管理系统是非常有意义和急切的。3.2系统需求分析系统需求分析需要从用户的角度了解系统的主要业务功能以及现有组织管理的状态,从中找到业务逻辑、数据处理两者之间的相互约束关系,同时也是进行系统设计分析的前提条件。根据软件系统开发主要的业务逻辑的操作流程,该宿舍信息管理系统主要从以下几类用户来进行功能需求的分析。分别是系统管理员、宿舍管理员和入住学生。3.2.1宿舍楼的信息需求宿舍房间管理。对宿舍楼基本信息以及学生对应的宿舍信息进行管理;对新生进行宿舍房间分配,对已入住的学生进行房间调换、退寝管理;查询房间使用情况、宿舍信息以及学生住宿信息。出入登记管理。安全永远是排在第一位的。宿舍的安全管理非常重要。对于学生晚归的情况、外访人员以及假期留校情况都要进行详细的记录。宿舍管理员有必要记录学生的相关信息,以便于学校的管理和查证。卫生检查与评比。每周进行卫生检查,每月对宿舍卫生进行统计和评比。对于学生使用违规电器等违纪行为要进行监督和检查。公共物品管理。宿舍管理员有宿舍楼所有房间的钥匙。对于同学忘记带钥匙或是丢失钥匙的情况,有必要对钥匙的借用情况进行记录,包括学号和房间号。还可以查询钥匙借用情况。报修故障管理。为了故障被及时上报,提高故障处理效率,管理员和学生可以通过该系统及时上报故障给学校。包括故障地点、故障说明、上报时间、上报人姓名、宿舍楼号等。上报到系统的故障会在地图中显示,显示为上下跳动的红色标记点。当故障处理完毕,管理员可以对故障记录进行处理,故障记录的状态由等待处理变为已处理。值班记录管理。管理员对于宿舍的管理起到至关重要的作用。所以对管理员的工作情况进行记录十分必要。系统会从管理员登陆系统开始到注销退出为止自动记录登陆退出时间。公告管理。对于一些临时的通知和变动,管理员可以将消息发送到系统。3.2.2宿舍管理员的管理需求宿舍管理员主要对学生日常住宿信息进行处理,包括房间分配、调换寝室、退寝、房间使用情况查询、夜归登记办理、外来人员登记办理、假期离校申请处理、钥匙借用与归还登记、卫生检查与统计、违纪登记、故障报修及查询、宿舍信息查询、更新和删除、管理员信息查询、更新和删除、学生信息查询、更新和删除、编辑公告等。管理员用例图如图3-1所示。3.2.3住宿学生的信息需求3.3功能需求3.3.1房间管理需求房间分配管理主要是指对房间的分配、查询。对于学生提交的调寝、退寝申请进行处理。宿舍信息管理。管理员对宿舍楼信息进行查询、修改和删除。宿舍信息包括楼号、男寝女寝、楼层数、房间数等。宿舍房间基本信息管理。房间的编号,床位数,已住人数等信息进行添加,修改。房间分配管理。对尚未入住的房间和有空床的房间进行分配。申请调寝、退寝管理。学生想调寝、退寝,需要提交申请单。包括个人信息以及更改后的房间号,等待管理员处理。管理员处理后,学生可以在系统中查询。3.3.2出入登记管理夜归登记管理。登记学号,姓名,时间,原因等信息。对登记记录进行添加、删除、查询等操作。外访人员管理。登记姓名,性别,时间,身份证号等信息。对记录进行添加、删除、查询等操作。假期留校情况管理。由学生提交个人假期留校情况,包括学号,姓名,房间号,宿舍楼号,状态,离校时间、返校时间、学期等信息。管理员可以对其进行删除、查询等操作。3.3.3卫生检查与评比管理卫生检查管理。每周进行卫生检查,记录房间号、检查时间、评定等级等信息。对其进行添加、查询操作。违纪管理。对于学生的违纪行为,管理员要记录在案。统计管理。每周进行卫生检查,每个月进行卫生统计,并以柱状图的形式体现评比结果。3.3.4故障报修管理上报故障管理。管理员和学生都有权上报故障到系统,包括故障地点,时间,故障说明等信息。可以对其添加和查询。报警管理。在紧急危险状况下,管理员一键报警。3.4安全性与完整性要求3.4.1安全性要求(1)系统有效的区分该系统的合法用户与非法用户主要是通过用户输入的用户名及密码的方式。如果用户输入的用户名和密码经过验证后完全正确,则该用户可以进入自己的主菜单页面;相反如果输入的用户名不存在,或者用户名和密码不匹配则该用户无权访问系统;(2)根据不同用户的需求,系统设置了三个访问权限,系统管理员权限最高,宿舍管理员次之,学生权限是三者中最低的。系统管理员有最高权限可以管理该校所有宿舍楼,宿舍管理员则只负责管理自己所在的宿舍楼,而学生则只能提交一些调寝、退寝的申请和查询一些自身相关的信息。这样,每个用户都在自己的权限范围内进行访问,系统的安全性得到了保证;3.4.2完整性要求(1)实体完整性。主属性的取值不能为空,且各属性在不同表中的类型一致,从而确定查询数据的信息完整性; (2)参照完整性。关系与关系之间存在着相互引用,相互约束的关系,要确保外码与主码之间引用的正确性;4系统设计分析4.1系统设计平台系统整体设计充分利用了.NET框架的技术优势,并且又符合B/S分层体系的特点。该系统软件基于Windows操作平台进行使用与运行,系统的开发与设计综合应用了C#、SQL server2008、Visual Studio2010以及Photoshop等软件开发工具。其中,C#用于设计系统界面。采用SQL server2000作为本系统中的数据库开发工具,采用Photoshop设计登录界面和按钮。4.2可行性分析4.2.1技术可行性4.2.2经济可行性开发一个高效的宿舍信息管理系统不仅可以大幅度提高学校管理者的工作效率,还能够节省成本提高经济效应。从而使管理者可以有更多精力去从事其他重要的工作。从而达到事半功倍的效果,既节省人力、物力、还节省财力。因此,开发一个宿舍信息管理系统,在经济上是可行的。4.2.3操作可行性本系统运行界面简洁规范而友好,操作简单易上手,使用灵活方便。管理员用过便可熟练操作。4.3系统功能模块设计根据系统需求分析,宿舍信息管理系统主要分为八个模块:房间管理模块、出入登记管理模块、检查与评比模块、公共物品管理模块、报修故障模块、值班记录模块、学生宿舍管理模块以及公告模块。每个模块功能清晰分明,模块与模块之间又紧密相连,每个模块的功能严格按照需求分析而设计,宿舍信息管理系统的系统功能如图4-1所示。各功能模块概述如下:4.3.1系统登录进入系统前用户必须输入正确的用户名及密码,系统获取后到数据库中去比对,如果身份验证成功,即可进入系统。系统管理员的权限最高可以查看全校所有宿舍楼的信息;宿舍管理员则只能访问本宿舍楼;学生则只能对自己的信息进行访问。4.3.2房间管理此模块主要实现宿舍房间的分配、调整以及退寝。模块设计考虑的是宿舍楼号、房间号、床位数、房间状态、已住的人数。该模块有三个子菜单。其中房间分配是根据房间的使用情况对新入住的学生进行分配;房间使用情况查询则可以查看每个房间已入住的学生信息,包括学号、姓名、院系、班级以及床号;学生先提交调寝或是退寝的申请,等待管理员处理,管理员处理后,申请状态由未处理变为已处理,学生申请通过。4.3.3公共物品管理该模块主要是对寝室钥匙的管理。包括宿舍楼号、房间号、借出状态、借用人学号等属性。管理员可以及时记录并查询钥匙的使用状况,可以直观发现已借出还未归还钥匙的寝室,避免丢失。4.3.4出入登记管理该管理模块重点考虑学生的安全问题。对于夜归的学生要记录学号、姓名、房间号、夜归时间以及原因。外来人进入宿舍则记录姓名、性别、被访问人学号、来访时间、身份证号。假期学生离校留校去向不统一,需要重点记录学生离校和返校的时间,方便宿舍管理。4.3.5检查及评比管理员每周对寝室进行检查,每月对检查结果进行统计和评比。主要记录房间号、检查时间、是否合格、评比等级。对于有违纪的学生则记录房间号、学号、姓名、时间、违纪信息。这都将影响宿舍的评比。4.3.6报修故障管理员或者学生发现宿舍有物品损坏等情况发生时,可以通过系统上报故障,上报时间、地点、姓名及备注。这样问题会被及时发现,管理员也可以及时了解宿舍楼内的情况,早发现问题早解决。4.3.7值班记录系统管理员可以了解管理员是否来上班、工作时间是否充足等工作状况。宿舍管理员在登录系统后,系统便会自动记录登录时间,在注销退出后系统同样会记录注销时间。无需宿舍管理员手动填写,真实反应工作时间。4.3.8学生宿舍管理4.3.7公告系统管理员和宿舍管理员可以发布新的公告,并对现有公告进行编辑,如修改和删除。从而使消息通知的更为及时和广泛。4.4系统数据库结构设计4.4.1数据库概念结构设计先根据需求分析,画出各个局部应用的E-R图,对已经细化到无法再分的阶段逐步集成在一起,然后把这些E-R图合并起来,最后得出系统的总体E-R图即全局概念模式。4.4.2数据逻辑结构设计数据库的逻辑结构就是把概念结构设计阶段设计好的E-R图转换为数据模型。将E-R图转换为关系模型的意思就是要将实体型、实体的属性和实体型之间的关联转换为关系模型。即一个实体型向一个关系模式转换。转换的原则为实体的属性就是关系的属性,实体的码就是关系的码。宿舍管理系统数据库中E-R图转换为关系模型如下表所示。表4-1登录信息表LoginInfo字段名名称数据类型是否为空PrimarykeyNumbeintNYAdmin访问权限intNNLogname登录名charNNpassword密码charNN表4-2房间信息表RoomInfo字段名名称数据类型是否为空PrimarykeyID编号intNYrno房间号intNNdno楼号intNNbed_no床位数intNNstate入住状态charNNpeople已住人数intNNleft_bed剩余床位intNN表4-3管理员信息表AdministratorInfo字段名名称数据类型是否为空PrimarykeytnointNY/FtnamecharNNsex性别charNNdno楼号intNNtel电话charNN 表4-4宿舍信息表DormitoryInfo字段名名称数据类型是否为空Primarykeydno楼号intNYsex女/男charNNfloor_no楼层数intNNroom_no房间数intNNtnointNNtnamecharNNtel电话charNN表4-5公共物品信息表KeysInfo字段名名称数据类型是否为空Primarykeygno编号intNYdno楼号intNNrno房间号intNNkey_state借用状态charNNsno学号intNN表4-6学生信息表StudentInfo字段名名称数据类型是否为空Primarykeysno学号intNY/Frno房间号intNNbed床号intNNsname姓名charNNcno班级charNNspecialcharNNdep系别charNNsex性别charNNtel电话charNNdno楼号intNNschool_date入学年份charNN表4-7维修登记表RepairedInfo字段名名称数据类型是否为空Primarykeynom编号intNYrepaired_date上报时间charNNplace故障地点charNNrepaired_state维修状态charNNname姓名charNNdno楼号intNNremarks说明charNN表4-8假期离校登记表LeaveInfo字段名名称数据类型是否为空Primarykeyid学号intNY/Fsno房间号intNNsname床号intNNdno姓名charNNrno班级charNNleave_statecharNNleavedate系别charNNbackdate性别charNNstudyyear电话charNN表4-9来访人员信息表VisitorInfo字段名名称数据类型是否为空Primarykeyid编号intNYdno楼号intNNvname来访人姓名charNNsno被访人学号intNNsex性别charNNvisittime时间datetimeNNcard_no身份证号charNN表4-10 违纪登记表DisciplineInfo字段名名称数据类型是否为空Primarykeyno编号intNYdno楼号intNNrno房间号intNNsno学号intNNsname姓名charNNd_date时间charNNd_info说明charNN表4-11 卫生检查表ComparisonInfo字段名名称数据类型是否为空Primarykeyid编号intNYrno房间号intNNcheckdate检查日期charNNqualified评定等级charNNmark说明charNNdno楼号intNN表4-12 申请表ApplyforInfo字段名名称数据类型是否为空Primarykeyid编号intNYapplydate申请日期charNNsno学号intNNdno楼号intNNrno房间号intNNbed床号intNNapplyfor申请内容charNNstate申请状态charNN表4-13 夜归登记表NightbackInfo字段名名称数据类型是否为空Primarykeyid编号intNYsno学号intNNsname学生姓名charNNdno楼号intNNbackdate夜归时间datetimeNNreason原因charNN表4-14 值班登记表DutyInfo字段名名称数据类型是否为空Primarykeyid编号intNYdno楼号intNNtnointNNtnamecharNNstarttime登录时间charNNfinishtime注销时间charNN4.4.3各类系统表相互关系的说明本系统设计并建立了14张表,表与表相互之间的关联是通过主键实现的。具体而言,管理员信息表、登录表和值班登记表均有tno这个共同字段,从而实现这三个表数据的调用和提取。其中tno是管理员信息表的主键,也是另外两个表的外键;同理学生信息表中的主键sno在与之关联的其他表中是外键。若对其中一个表进行插入、修改、删除等具体操作,与之相关联的表也会随之发生相应变动,实现表间约束。具体表间的关联请参见图4-17至图4-20。图4-17 管理员信息表和其他表之间的关联图4-18 学生信息表与其他表之间的关联图4-19 宿舍信息表与其他表之间的关联图4-20 管理员信息表、学生表、宿舍表之间的关联4.4.4数据流图4.4.4.1用户登录模块流程图用户根据访问权限进入不同页面。系统管理员权限最高,其次是宿舍管理员,学生权限在三者中最低。如图4-21所示为用户登录的流程图。4.4.4.2房间分配模块流程图管理员通过查看房间信息,对尚有空床的房间和暂无人住的房间进行分配。房间分配流程图如图4-22所示。4.4.4.3借用/归还钥匙流程图4.4.4.4卫生检查及评比流程图4.4.4.5查询学生、管理员基本信息流程图对于管理员和学生基本信息可以进行模糊查询,用户通过输入学号、姓名、宿舍等关键字,系统会将包含关键字的数据以列表形式显示。查询信息流程图如图4-17所示。系统管理员可以对宿舍管理员和学生进行添加、修改和删除。4.4.4.6假期离校登记流程图5宿舍管理信息系统设计与实现5.1系统具体模块实现5.1.1系统登录界面实现登录模块对主要对用户进行身份验证,只有合法的用户才能进入系统。用户需要输入用户名和密码,如果用户所输入的和数据库中的数据一致,则该用户进入相应主菜单页面,否则无权访问该系统。系统登录界面如图5-1所示。程序说明:通过用户输入的用户名和密码,和数据库中的数据进行比较,如果用户名密码匹配正确,则根据访问权限进入不同的主菜单页面。如果用户名不存在或者用户名密码不匹配则需要用户再输入一次直至成功。登录部分代码如下:method method = new method();string strpassword = passwordTxt.Text;string strsql = "select password from LoginInfo where logname="+this.LoginName.Text+"";DataTable dt = new DataTable();DataTable ds = new DataTable();dt = method.check(strsql);if (dt != null && dt.Rows.Count == 1)//用户名存在{ if(dt.Rows[0][0].ToString() == strpassword)//用户名密码正确 { string str = "select * from LoginInfo where logname=" + this.LoginName.Text + ""; dt= method.check(str); string admin = dt.Rows[0][1].ToString().Trim().ToString();//访问权限 Session["admin"] = admin; Session["no"] = nom; if (admin != "3") {string strcheck="select dno,tno,tname from AdministratorInfo where tno="+ nom + ""; dt = method.check(strcheck); int dno = int.Parse(dt.Rows[0][0].ToString());//宿T舍楼号 int tno = int.Parse(dt.Rows[0][1].ToString()); Session["dno"] = dno; //Session["tno"] = tno; Session["Name"] = tname; string log_time = DateTime.Now.ToString();//向值班表中插入管理员信息 Session["log_time"] = log_time; string strduty="insert into DutyInfo(dno,tno,tname,starttime)values("+dno+","+tno+","+tname+","+log_time+")"; method.getsqlcmd(strduty); method.con_close(method.getcon()); } else if (admin == "3") { string strstu = "select sname,dno from StudentInfo where sno=" + nom + ""; ds = method.check(strstu); string sname = ds.Rows[0][0].ToString();//学生姓名 int dno = int.Parse(ds.Rows[0][1].ToString());//宿舍楼号 Session["Name"] = sname; Session["dno"] = dno;}5.1.2系统主菜单页面实现访问权限不同的用户进入的主菜单页面是不同的。系统管理员、宿舍管理员和学生的主菜单界面分别如下图所示。地图部分显示的内容是宿舍楼的故障信息,如果某宿舍楼有未处理的故障,则红点上下跳动。地图部分代码如下:var ddot_x = new Array(); //存放坐标 var ddot_y = new Array(); var remark=new Array();//存放具体故障 var admin=<%=admin%> if(admin==2) { ddot_x[0]="<%=x[0]%>"; ddot_y[0]="<%=y[0]%>"; map.centerAndZoom(new BMap.Point(118.852121, 32.036634), 100); } else if(admin==1) { map.centerAndZoom(new BMap.Point(118.853154, 32.036515), 100); }var opts = { width: 100, // 信息窗口宽度 height: 10, // 信息窗口高度 title: " ", // 信息窗口标题 enableMessage : true//设置允许信息窗发送短息 }; for (var i = 0; i < data_info.length; i++) { // 创建标注 var marker = new BMap.Marker(new BMap.Point(data_info[i][0], data_info[i][1])); var content = data_info[i][2]; map.add Overlay(marker); // 将标注添加到地图中 addClickHandler(content, marker); }<% for (int i = 0; i < n; i++) { %>//将后台数组传到前台 ddot_x[<%=i%>]="<%=x[i]%>"; ddot_y[<%=i%>]="<%=y[i]%>"; remark[<%=i%>]="<%=mark[i]%>"; <% } %> for (var k = 0; k < ddot_x.length; k++) { var point = new BMap.Point(ddot_x[k],ddot_y[k]); map.centerAndZoom(118.853154, 32.036515, 100); var marker = new BMap.Marker(point); // 创建标注 var content = remark[k]; map.addOverlay(marker); // 将标注添加到地图中 addClickHandler(content, marker); marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 }5.1.3房间管理模块界面实现该模块包括三个子菜单:房间分配、房间使用情况查询、办理迁出调换申请。系统会查找出尚未分配的房间和还有空缺的房间,选择房间后显示该房间已经入住的学生信息,管理员需要输入即将入住的学生学号,如果该学生的基本信息已经在数据库中,则选择床位后,添加到所选房间,入住成功。房间分配部分代码:string strupdate=null; int sno=int.Parse(TextBox1.Text.ToString()); string bed=DropDownList1.SelectedValue; int dno=int.Parse(Session["dno"].ToString()); DataTable dd = new DataTable(); //更新学生表 string sqlinsert = "update StudentInfo set rno=" + room + ",bed=" + bed + ",dno=" + dno + "where sno=" + sno + ""; m.getsqlcmd(sqlinsert); m.con_close(method.getcon()); //更新房间表 string strpl = "select people,left_bed from RoomInfo where rno=" + room + "and dno=" + dno + ""; DataTable pl = new DataTable(); pl=m.check(strpl); if (pl.Rows.Count == 1) { int people=int.Parse(pl.Rows[0][0].ToString()); int left_bed = int.Parse(pl.Rows[0][1].ToString()); people = people + 1; left_bed = left_bed - 1; string strroom = "update RoomInfo set people=" + people + ",left_bed=" +left_bed + "where rno=" + room + "and dno=" + dno + ""; m.getsqlcmd(strroom); m.con_close(method.getcon()); } string strcheck = "select left_bed,bed_no from RoomInfo where rno=" + room + "and dno=" + dno + ""; dd=m.check(strcheck); string sm = "已满"; string sk = "有空缺"; string sw = "无人"; if (dd != null && dd.Rows.Count == 1) { int left=int.Parse(dd.Rows[0][0].ToString()); int bed_no = int.Parse(dd.Rows[0][1].ToString()); if (left == 0) { strupdate = "update RoomInfo set state=" + sm + "where rno=" + room + "and dno=" + dno + ""; m.getsqlcmd(strupdate); m.con_close(method.getcon()); } if (left > 0 && left < bed_no) { strupdate = "update RoomInfo set state=" + sk + " where rno=" + room + "and dno=" + dno + ""; m.getsqlcmd(strupdate); m.con_close(method.getcon()); } else if (left == bed_no) { strupdate = "update RoomInfo set state=" + sw + " where rno=" + room + "and dno=" + dno + ""; m.getsqlcmd(strupdate); m.con_close(method.getcon()); }迁出、调换申请由学生填写并提交,宿舍管理员对申请进行处理。管理员同意申请后,申请状态由未处理变成已处理。学生可以登录系统进行查看。部分代码如下:int id = int.Parse(Request.QueryString["id"]); int sno = int.Parse(Request.QueryString["sno"].ToString()); int dno = int.Parse(Session["dno"].ToString()); int rno=int.Parse(TextBox1.Text.ToString()); int bed=int.Parse(TextBox2.Text.ToString()); int before_rno = int.Parse(rnoTextBox.Text.ToString()); int before_bed = int.Parse(bedTextBox.Text.ToString()); //更新学生表 string str1 = "update StudentInfo set rno=" + rno + ",bed=" + bed + "where sno=" + sno + "and dno=" + dno + ""; m.getsqlcmd(str1); m.con_close(method.getcon()); //更新RoomInfo表 //更房间表 string strpl = "select people,left_bed from RoomInfo where rno=" + before_rno + "and dno=" + dno + ""; DataTable dp = new DataTable(); dp = m.check(strpl); if (dp.Rows.Count == 1) { int people = int.Parse(dp.Rows[0][0].ToString()); int left = int.Parse(dp.Rows[0][1].ToString()); people = people - 1; left = left + 1; string strd = "update RoomInfo set people=" + people + ",left_bed=" + left + "where rno=" + before_rno + "and dno=" + dno + ""; m.getsqlcmd(strd); m.con_close(method.getcon()); }//更新调换后的房间 string strpl1 = "select people,left_bed from RoomInfo where rno=" + rno + "and dno=" + dno + ""; DataTable dp1 = new DataTable(); dp1 = m.check(strpl1); if (dp1.Rows.Count == 1) { int people = int.Parse(dp1.Rows[0][0].ToString()); int left = int.Parse(dp1.Rows[0][1].ToString()); people = people + 1; left = left - 1; string strd1 = "update RoomInfo set people=" + people + ",left_bed=" + left + "where rno=" + rno + "and dno=" + dno + ""; m.getsqlcmd(strd1); m.con_close(method.getcon()); }string strstate = "已处理"; string strdrop = "update ApplyforInfo set state=" + strstate + "where id="+id+""; m.getsqlcmd(strdrop); m.con_close(method.getcon()); Response.Write("alert(调寝成功)"); }5.1.4出入登记界面实现该模块有夜归登记与查询、外来人员登记与查询、假期留校情况查询。5.1.5卫生检查与评比界面实现该模块实现了月卫生统计,并用柱形图表现出来。宿舍管理员每周进行一次卫生检查,在月底对四次检查结果进行统计并评分。部分代码如下:public DataTable CreatData(int dno, Label label1) { DataTable dt = new DataTable(); dt.Columns.Add("rno", System.Type.GetType("System.String")); dt.Columns.Add("mark", System.Type.GetType("System.String")); string[] room_rno = new string[200]; int[] abcd = new int[200]; //月统计每个宿舍的合格次数,最多为4,3次以上为月卫生合格 string strcount = "select rno,COUNT(qualified) from ComparisonInfo where dno=" + dno + "and qualified=合?格?group by rno"; DataTable ddt = new DataTable(); ddt = check(strcount); if (ddt != null && ddt.Rows.Count > 0) { for (int i = 0; i < ddt.Rows.Count; i++) { room_rno[i] = ddt.Rows[i][0].ToString();//房间号 string count = ddt.Rows[i][1].ToString();//合格的个数 if (count == "4") abcd[i] = 100; else if (count == "3") abcd[i] = 90; else if (count == "2") abcd[i] = 80; else if (count == "1") abcd[i] = 70; else abcd[i] = 60; } } else { label1.Text = "暂无检查结果"; label1.Visible = true; } string daytime = DateTime.Now.ToString(); for (int i = 0; i < ddt.Rows.Count; i++) { //向月评比表中添加数据 string strgd = "insert into CompairMonthInfo(rno,mark,dno,daytime)values(" + room_rno[i] + "," + abcd[i] + "," + dno + "," + daytime + ")"; getsqlcmd(strgd); con_close(method.getcon()); DataRow dr = dt.NewRow(); dr["rno"] = room_rno[i]; dr["mark"] = abcd[i]; dt.Rows.Add(dr); } return dt; }5.1.6公共物品管理界面实现公共物品管理主要指借用和归还钥匙的操作。界面如下图所示。5.1.7报修故障界面实现该模块管理员在紧急状况下可以一键触发报警按钮,以最快时间通知整栋宿舍的学生逃离宿舍,避免不必要的事情发生。6总结随着信息技术的持续发展,越来越多的系统设计开发人员开始关注B/S模式。本文主要阐述怎样采取先进的.Net技术来开发并设计B/S架构的宿舍信息管理系统。在此系统设计开发过程中,.net提供了非常大的便利,使得开发环境被充分而有效的利用起来。之所以我们所看到的页面的逻辑性更强是由于后台完成的是代码的分离技术。本文开发设计了一个对学生宿舍进行管理的信息管理系统。利用本系统,学校的宿舍管理效率不仅能够提高,而且宿舍管理人员的劳累程度降低了许多,同时也减少了办公耗资和耗材,使宿舍的整体管理水平提高了一大截。本文首先介绍课题研究背景、研究意义以及研究内容,接着针对本系统设计与开发过程中运用到的各种基本信息理论与信息技术予以叙述。本系统基于B/S架构,采用面向对象的C#语言,后台数据库的开发采用SQL sever2008,从而实现宿舍信息管理系统中对信息的增加、修改、删除和查询等常见操作。本课题在设计并开发之前,做了充分的需求分析,根据需求分析进行数据库的设计与实现,包括概念结构设计和逻辑结构设计。具体而言,结合需求分析画出E-R图、数据字典,利用UML中的用例图,以及给出数据库中表间联系。然后设计系统相关的功能模块及子模块,并画出各功能模块的流程图。最后进行系统的实现与测试。本课题设计并实现的宿舍信息管理系统简洁实用、易学易用,不同的用户都易于操作。7致谢其次我还要感谢我的父亲和母亲,他们永远都在背后默默的支持我、关心我。参考文献:许义金,郑初华.宿舍管理中心管理信息系统的开发[J].南昌航空工业学院学报(自然科学版),2006.蔡国春.美国高校学生事务管理的观点、实务及其启示[J].黑龙江高教研究.2002(105).鲁满新.中澳高校学生宿舍管理现状之比较分析[J].学校党建与思想教育.2007.8.Berendt B,Kolbe-NusserS.Intelligent scientific authoring tools:Interactive data mining for constructive uses of citation networks[J].Information Processing&Management,2010,Volume 26,Pages 104-108.Maryam Sedaghat,Soudeh Rahmani.A review of approaches to teaching thinking:appropriate approach for Iran education system[J].Procedia-Social and Behavioral Sciences,Volume30,2011,Pages 1037-1042.白秋产,高爱华,沈显来.基于VFP的学生宿舍管理信息系统[J].计算机与数字工程,2006.宋明钧,方豪彪.高校学生公寓管理信息系统的应用[J].当代教育论坛(校长教育研究),2007(3):62-64.Siu Cheung Kong, Kai Ming Li. Collaboration Between School And Parents To Foster Information Literac: Learning In The Information Society[J]. Computers & Education. 2009,52(2):111-121.Min,Wei.A research on statistical information applied to tourist traffic and transport system design based on ASP.NET. Journal of Convergence Information Technology,6(1):147-156,2011.[10]张兆富.基于.NET的新疆基础教育资源库管理信息系统的研究与开发[D].成都,电子科技大学工程硕士论文,2011.[12]明仲,曾新红,倪宏业.连接XML与数据库的中间件的实现[J].计算机工程,2007,26(2):34-36.[13]谢红标.基于Web的智能化宿舍管理系统的设计与实现[J].计算机时代,2007(6).大学学院信息科技学院计算机科学与技术姓名论文题目一、对待毕业实习的态度及实习期间遵守纪律情况优良(15—11分)一般(10—6分)较差(5—0)二、观察、收集、整理、查阅资料及运用数据的水平优良(30—21分)一般(20—11分)较差(10—0分)三、学生的独立工作能力和动手能力优良(20—16分)一般(15—11分)较差(10—0分)四、毕业论文写作的规范化程度优良(15—11分)一般(10—6分)较差(5—0分)五、毕业论文(设计)总体评价优良(20—16分)一般(15—6分)较差(5—0分)审查意见、成绩及能否提交答辩:大学学院信息科技学院计算机科学与技术姓名论文题目一、论文选题的价值与合理性优秀(15—11分)一般(10—6分)较差(5—0)二、论文的难度、工作量大小和创新性优秀(30—21分)一般(20—11分)较差(10—0分)三、数据资料分析、归纳、概括及运算的能力优秀(20—16分)一般(15—11分)较差(10—0分)四、文字表达水平、文章的逻辑性优秀(15—11分)一般(10—6分)较差(5—0分)五、论文写作的规范化程度优秀(20—16分)一般(15—6分)较差(5—0分)评阅意见、成绩及能否提交答辩:大学本科生毕业论文(设计)答辩及综合评分表(由答辩小组填写)学院信息科技学院计算机科学与技术姓名论文题目一、内容的科学性、应用性和创新性优秀(30—21分)一般(20—11分)较差(10—0)二、论文写作水平及知识面掌握程度优秀(30—21分)一般(20—11分)较差(10—0分)三、语言表达能力、逻辑思维能力、回答问题的正确性优秀(40—31分)一般(30—11分)较差(10—0分)论文答辩意见及成绩:答辩小组负责人(签名): 年 月 日本科生毕业论文(设计)综合评定成绩(由答辩小组填写)毕业论文(设计)评阅成绩30%毕业论文(设计)答辩成绩40%综合评定成绩100%注:综合评定成绩等级:优秀(90-100),良好(80-89),中等(70-79),及格(60-69),不及格(60分以下)。答辩小组负责人(签名): 年 月 日
目录
摘要 4
关键字 4
Abstract 4
Keywords 4
1绪论 4
1.1课题背景 4
1.2研究意义 5
1.3国内外研究现状 5
1.4研究内容 6
2系统实现相关技术 6
2.1系统开发平台及结构 6
2.2 ASP.NET技术 7
3系统需求分析 7
3.1总体需求 7
3.2系统需求分析 8
3.2.1宿舍楼的信息需求 8
3.2.2宿舍管理员的管理需求 8
3.2.3住宿学生的信息需求 9
3.3功能需求 9
3.3.1房间管理需求 9
3.3.2出入登记管理 10
3.3.3卫生检查与评比管理 10
3.3.4故障报修管理 10
3.4安全性与完整性要求 10
3.4.1安全性要求 10
3.4.2完整性要求 10
4系统设计分析 10
4.1系统设计平台 10
4.2可行性分析 11
4.2.1技术可行性 11
4.2.2经济可行性 11
4.2.3操作可行性 11
4.3系统功能模块设计 11
4.3.1系统登录 12
4.3.2房间管理 12
4.3.3公共物品管理 12
4.3.4出入登记管理 12
4.3.5检查及评比 12
4.3.6报修故障 12
4.3.7值班记录 12
4.3.8学生宿舍管理 12
4.3.7公告 12
4.4系统数据库结构设计 13
4.4.1数据库概念结构设计 13
4.4.2数据逻辑结构设计 15
4.4.3各类系统表相互关系的说明 19
4.4.4数据流图 21
5宿舍管理信息系统设计与实现 24
5.1系统具体模块实现 24
5.1.1系统登录界面实现 24
5.1.2系统主菜单页面实现 26
5.1.3房间管理模块界面实现 28
5.1.4出入登记界面实现 32
5.1.5卫生检查与评比界面实现 33
6总结 36
7致谢 36
基于B/S架构的宿舍信息管理系统
引言

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2298.html

好棒文