版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
景德镇陶瓷学院工学学士学位论文第一章系统概述本科生毕业设计(论文)题目:基于WEB的高校学生宿舍管理系统景德镇陶瓷学院工学学士学位论文 摘要45第四章主要功能详细设计通过前面的需求分析和概要设计,整个系统的功能结构和数据结构已经非常清楚,利用程序实现各个系统的功能,完成各种数据结构的处理,整个系统功能包括学生信息管理,宿舍房间信息管理,住宿信息管理,卫生纪律评比,交费信息管理,用户管理,以及学生自助查询页面。另外要进行各个信息的管理,还必须通过系统的用户认证模块,下面我就各个模块的详细设计实现做解析。4.1登陆模块的实现作为现代社会的信息管理系统,登陆模块一般是不可缺少的,它能保证未授权的用户进入系统非法操作,从而保证了系统的安全性。系统登陆模块的运行界面如图4-1所示。图4-1学生宿舍信息系统登陆界面图4-2学生查询登陆界面其实现在login.aspx和loginuser.aspx中,该页面程序通过类别选择,跳转到对应的登录界面。在login.aspx页面中根据submit变量的值是否为空可以判断用户是首次进入本页面还是通过点击‘登陆’按扭提交认证表单信息进入本页面,如果submit变量为空就直接显示需要填写认证信息的表单,否则提取表单中的帐号、密码、权限和数据库中的信息进行比较,如果不一致就给出相应的提示信息,都正确了会设置session变量admin的逻辑值为真,然后根据session变量power重定向到管理员系统页面和宿舍管理员页面。在loginuser.asp中根据submit变量的值是否为空可以判断学生是首次进入本页面还是通过点击‘登陆’按扭提交认证表单信息进入本页面,如果submit变量为空就直接显示需要填写认证信息的表单,否则提取表单中的学号和数据库中的学生表信息进行比较,如果不一致就给出相应的提示信息,都正确了会设置session变量studentNumber的逻辑值为真,然后重定向到学生查询首页。页面登录功能模块的程序流程图如下:是是Submit变量为空吗?Submit变量为空吗?取得学号取得登陆帐号、密码、权限参数取得学号取得登陆帐号、密码、权限参数是否用户不存在是否存在该账号?是否用户不存在是否存在该账号?否是否存在该学号?否是否存在该学号?是学号不存在是学号不存在否是提示密码错误密码是否正确?否是提示密码错误密码是否正确?权限宿舍管理员权限管理员权限宿舍管理员权限管理员是是是是登录成功宿舍管理员操作页面登录成功管理员操作页面登录成功,转到学生查询页面登录成功宿舍管理员操作页面登录成功管理员操作页面登录成功,转到学生查询页面显示管理登录页面显示管理登录页面Login.aspx程序设计的关键代码如下:if(admin.checkAdmin())//如果验证用户名和密码都成功{DataSetds=admin.GetAdminpowerTypeName();Session["addminUserName"]=UserName.Text;//设置登陆成功的session变量Session["powerTypeName"]=ds.Tables[0].Rows[0]["powerTypeNmae"].ToString();if(Session["powerTypeNmae"].ToString()=="管理员"){Response.Redirect("main.aspx");//转入到系统管理员操作界面}elseif(Session["powerTypename"].ToString()=="宿舍管理员"){//设置登陆成功的session变量//Session["adminUserName"]=UserName.Text;Response.Redirect("main2.aspx");//转入到宿舍管理员操作界面}else{ErrMessage.Text="对不起你没有权限进行操作";}}Login.aspx程序设计的关键代码如下:if(user.checkUser())//如果验证用户名和密码都成功{//设置登陆成功的session变量Session["studentNumber"]=studentNumber.Text;Response.Redirect("mainUser.aspx");//转入到主操作界面}else{this.ErrMessageText="<fontcolor=red>"+user.ErrMessage+"</font>";}4.2学生信息管理模块的实现对住宿宿舍学生的管理,包括院系的添加删除,新入住学生的登记,学生信息的修改,查询,以及当有学生离开宿舍时可以对学生的信息进行删除。对学生信息进行管理的专业信息管理界面如图4-3所示:图4-3专业信息管理运行界面对新入住学生的登记信息管理界面如图4-4所示:图4-4新生登记运行界面对学生信息维护的界面如图4-5所示:图4-5学生信息管理界面4.3宿舍信息管理模块的实现对于宿舍的管理,包括宿舍的添加删除,房间信息的修改,查询,以及当宿舍没有学生入住时可以对房间的信息进行删除。对宿舍信息进行管理的添加宿舍界面如图4-6所示:图4-6添加宿舍界面对宿舍信息进行管理的宿舍名称管理界面如图4-7所示:图4-7宿舍名称管理界面对宿舍信息进行管理的添加房间界面如图4-8所示:图4-8房间信息添加界面对宿舍信息进行管理的房间信息管理界面如图4-9所示:图4-9房间信息管理界面4.4住宿信息管理模块的实现对于住宿信息的管理,包括学生入住的添加,入住信息的修改,查询,以及学生迁出房间和学生转房间功能。对住宿信息管理的学生入住界面如图4-10所示:图4-10入住信息界面对住宿信息管理的住宿信息维护界面如图4-11所示:图4-11住宿信息维护界面对住宿信息管理的学生转房功能界面如图4-12所示:图4-12学生转房界面4.5住宿信息管理模块的实现对于卫生纪律评比的管理,包括寝室卫生纪律评比信息的添加,修改,查询的功能。对卫生纪律评比管理的添加界面如图4-13所示:图4-13评比信息添加界面对卫生纪律评比管理的维护界面如图4-14,4-15所示:图4-14评比信息查询删除界面图4-15评比信息修改界面4.6缴费信息管理模块的实现对于缴费信息的管理,包括缴费信息的添加,修改,查询以及统计欠费信息的功能。对缴费信息管理的费用信息界面如图4-16所示:图4-16费用信息界面对缴费信息管理的费用信息维护界面如图4-17所示图4-17费用信息查询删除界面对缴费信息管理的费用信息修改界面如图4-18所示图4-18费用信息修改界面对缴费信息管理的欠费信息统计界面如图4-18所示图4-18欠费信息统计界面4.7用户信息管理模块的实现对于用户信息的管理,包括用户信息的添加,修改,查询的功能。用户信息管理的添加用户界面如图4-19所示:图4-19新用户添加界面用户信息管理的删除界面如图4-20所示:图4-20用户信息的删除界面用户信息管理的修改界面如图4-21所示:图4-21用户信息的修改界面4.8学生自助查询模块实现学生通过loginuser.aspx输入正确的学号,进入学生自助查询模块在图4-3所示的学生信息管理运行界面中,只要在信息查询拦中选择一种查询方式,然后输入关键字内容,点击查询按扭就可以实现相关信息的查询了,查询结果还是一列表方式显示在本页中。程序实现原理:首先构造一个要查询所有学生信息的sql语句,如果用户没有选择查询方式,那么该值就是‘请选择查询方式’,否则就将该查询方式的条件附加到该sql语句的后面,这样查询到到的学生信息就是我们按要求需要的了。程序流程:首先根据查询条件构造sql语句查询符合条件的记录总数,然后根据得到的总数和每页需要显示的记录数计算总的页数,,根据总的页数和当前页计算出前一页和后一页变量的值,然后构造根据查询条件在构造一个查询符合条件的学生信息的sql语句,并将结果集定位到当前需要显示的页面,在该页中通过循环每页记录条数那么多次输出每个学生的信息,如果是最后一页,遇到记录末尾会自动退出循环,再显示分页显示的连接,因为上一页和下一页的值在前面的程序中已经计算好了,程序实现的流程图如下:学生是否登陆了?是学生是否登陆了?是否转到登陆页根据查询条件构建不同的sql查询语句使用该sql查询数据库表里信息根据每页显示记录数计算总的页数并根据当前页号显示查询信息4.81学生信息查询如图4-22所示:图4-22学生信息查询界面4.82房间信息查询如图4-23所示:图4-23房间信息查询界面4.83评比信息查询如图4-24所示:图4-24评比信息查询界面4.84缴费信息查询如图4-25所示:图4-25缴费信息查询界面4.85欠费清单如图4-26所示:图4-26欠费清单查询界面景德镇陶瓷学院工学学士学位论文 第五章编码、实现与测试景德镇陶瓷学院工学学士学位论文 第五章编码、实现与测试第五章编码、实现与测试5.1建立数据库连接在App_Code下建立DataAccessHelper文件夹,声明一个类SqlString.cs:该类为数据访问层辅助类,公有静态方法,将文本转换成适合在Sql语句里使用的字符串。类源码如下:publicclassSqlString{//公有静态方法,将SQL字符串里面的(')转换成('')publicstaticStringGetSafeSqlString(StringXStr){returnXStr.Replace("'","''");}//公有静态方法,将SQL字符串里面的(')转换成(''),再在字符串的两边加上(')publicstaticStringGetQuotedString(StringXStr){return("'"+GetSafeSqlString(XStr)+"'");}}在App_Code下建立DataAccessLayer文件夹,声明一个类DataBase.cs:该类为数据库连接类,能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。类源码如下:usingusingSystem;usingSystem.ComponentModel;usingSystem.Collections;usingSystem.Diagnostics;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;usingStudentApartment.DataAccessHelper;namespaceStudentApartment.DataAccessLayer{publicclassDataBase{//私有变量,数据库连接protectedSqlConnectionConnection;protectedstringConnectionString; publicDataBase() {ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;} //保护方法,打开数据库连接 privatevoidOpen() { //判断数据库连接是否存在 if(Connection==null) { //不存在,新建并打开 Connection=newSqlConnection(ConnectionString); Connection.Open(); } else { //存在,判断是否处于关闭状态 if(Connection.State.Equals(ConnectionState.Closed)) Connection.Open();//连接处于关闭状态,重新打开 } }//公有方法,关闭数据库连接 publicvoidClose() { if(Connection.State.Equals(ConnectionState.Open)) { Connection.Close();//连接处于打开状态,关闭连接 } }///<summary> ///析构函数,释放非托管资源 ///</summary> ~DataBase() { try { if(Connection!=null) Connection.Close(); } catch{} try { Dispose(); } catch{} } //公有方法,释放资源 publicvoidDispose() { if(Connection!=null) //确保连接被关闭 { Connection.Dispose(); Connection=null; } }//公有方法,释放资源//公有方法,释放资源 publicvoidDispose() { if(Connection!=null) //确保连接被关闭 { Connection.Dispose(); Connection=null; } }//公有方法,根据Sql语句,返回是否查询到记录publicboolGetRecord(stringXSqlString){Open();SqlDataAdapteradapter=newSqlDataAdapter(XSqlString,Connection);DataSetdataset=newDataSet();adapter.Fill(dataset);Close();if(dataset.Tables[0].Rows.Count>0){returntrue;}else{returnfalse;}}//公有方法,返回Sql语句获得的数据值//SqlString的格式:selectcount(*)fromXXXwhere...//selectmax(XXX)fromYYYwhere...publicintGetRecordCount(stringXSqlString){stringSCount;Open();SqlCommandCmd=newSqlCommand(XSqlString,Connection);SCount=Cmd.ExecuteScalar().ToString().Trim();if(SCount=="")SCount="0";Close();returnConvert.ToInt32(SCount);//公有方法,查询数据//公有方法,查询数据//输入:// 查询条件sql语句//输出:// 将执行结果以DataSet返回publicDataSetGetDataSet(stringqueryString){Open();SqlDataAdapteradapter=newSqlDataAdapter(queryString,Connection);DataSetdataset=newDataSet();adapter.Fill(dataset);Close();returndataset;}//公有方法,根据Sql语句,插入记录并返回生成的ID号publicintGetIDInsert(stringXSqlString){intCount=-1;Open();SqlCommandcmd=newSqlCommand(XSqlString,Connection);Count=Convert.ToInt32(cmd.ExecuteScalar().ToString().Trim());Close();returnCount;}//执行插入,更新,删除等操作,返回受影响的记录行数publicintInsertOrUpdate(stringsqlString){Open();SqlCommandcmd=newSqlCommand(sqlString,Connection);inteffectCount=-1;try{effectCount=cmd.ExecuteNonQuery();}finally{Close();}returneffectCount;//返回受影响的行数}5.2系统管理类在App_Code下建立BusinessLogicLayer文件夹,包括管理员类Admin.cs、用户类User.cs、学生类Student.cs、宿舍类Apartment.cs、房间类Room.cs、住宿类Live.cs、卫生纪律类Comparison.cs、缴费类Money.cs、欠费类GiveMoneyInfo.cs。由于在这些类中,有些类的定义框架是一样的,以下就介绍一些主要的类源码。5.2.1管理员类Admin.cs的主要源码//判断用户的登陆管理权限publicboolcheckAdmin(){stringqueryString;boolhasUser,isPasswordRight;//首先在数据库中查询该管理帐号是否存在queryString="select*fromadminwhereadminUserName="+SqlString.GetQuotedString(this.adminUserName);DataBasedb=newDataBase();hasUser=db.GetRecord(queryString);if(false==hasUser){errMessage="对不起,用户名不存在!";returnfalse;}//再查询数据库该管理帐号的密码是否正确queryString="select*fromadminwhereadminUserName="+SqlString.GetQuotedString(this.adminUserName);queryString=queryString+"andadminPassword="+SqlString.GetQuotedString(this.adminPassword);isPasswordRight=db.GetRecord(queryString);if(false==isPasswordRight){errMessage="对不起,用户密码错误!";returnfalse;}5.2.2住宿类Live.cs的主要源码//学生入住房间业务功能函数//学生入住房间业务功能函数publicboolAddLiveInfo(){//首先检查操作员输入的学号信息是否存在stringqueryString="select*fromstudentInfowherestudentNumber="+SqlString.GetQuotedString(studentNumber);DataBasedb=newDataBase();if(false==db.GetRecord(queryString)){this.ErrMessage="你输入学号的学生信息不存在!";returnfalse;}//然后检查该学号的学生是否已经登记了入住信息queryString="select*fromliveInfowherestudentNumber="+SqlString.GetQuotedString(studentNumber);if(db.GetRecord(queryString)){this.ErrMessage="对不起,该学生已经入住宿舍了!";returnfalse;}//然后检查要入住的房间人员是否已经满了,通过剩余床位判断Roomroom=newRoom();intleftNumberBed=room.GetLeftNumberOfBed(roomNo);if(leftNumberBed<=0){this.ErrMessage="对不起,目标房间没有剩余床位容纳学生了!";returnfalse;}//此函数判断在系统中根据学号判断该学生是否已经存在publicboolIsExist(){boolisExist=true;stringqueryString="select*fromshouldgiveMoneyInfowherestudentNumber="+//此函数判断在系统中根据学号判断该学生是否已经存在publicboolIsExist(){boolisExist=true;stringqueryString="select*fromshouldgiveMoneyInfowherestudentNumber="+SqlString.GetQuotedString(studentNumber);DataBasedb=newDataBase();if(false==db.GetRecord(queryString))isExist=false;elsethis.ErrMessage="<fontcolor=red>欠费信息已经统计过了</font>";returnisExist;}//根据查询条件查询数据库中的欠费信息//根据查询条件查询数据库中的欠费信息publicDataSetQueryShouldGiveMoney(stringstudentNumber,stringstudentName){stringqueryString="select*fromshouldgiveMoneyInfowherestudentNumberlike'%"+studentNumber+"%'";queryString+="andstudentNamelike'%"+studentName+"%'";DataBasedb=newDataBase();returndb.GetDataSet(queryString);}//得到所有的欠费信息的数据集publicDataSetShouldGiveMoneyALL(){stringqueryString="select*fromshouldgiveMoneyInfo";DataBasedb=newDataBase();returndb.GetDataSet(queryString);}5.3系统测试5.3.1系统测试的目的一个程序并不可能达到十分完美,难免存在一些错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失。通软件测试,尽可能多的找出系统中的错误,以便与及时修改。宿舍管理系统是对学生宿舍进行管理的系统,一旦系统无法运行,对学校的宿舍管理带来很多的影响。所以通过软件测试的手段,尽可能排除程序中的错误,已达到程序运行稳定的目的,使学校的工作不会因此受到影响。5.3.2系统的测试环境1、系统测试的性能要求:系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。本系统运行环境为网络版,在运行时对系统整体性能要有一定的要求,要求:软硬件要求:系统环境winXP+sql2005硬件系统环境P42.4、512MB内存、80G硬盘系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。系统测试2.1添加新用户,并且修改密码与权限:测试数据如图5.1为:用户名为1,密码为a,权限为宿舍管理员。图5.1测试数据图测试结果如图5.2:图5.2测试结果图修改密码与权限,测试结果如图5.3:图5.3测试结果图2.2录入新生信息测试数据如图5.4为:学号为200730457007,姓名为冯超,性别为男,政治面貌为团员,所在学院为信息工程学院,专业为计算机科学与技术,生日为1989-01-01,地址为机电,附加信息为冯老板。图5.4测试数据图测试结果如图5.5:图5.5测试结果图2.3添加院系信息测试数据图如图5.6:所在学院为测试,专业名称为测试图5.6测试数据图测试结果如图5.7:图5.7测试结果图2.4添加宿舍信息测试数据如图5.8:宿舍名为西区女寝图5.8测试数据图测试结果如图5.9:图5.9测试结果图2.5添加房间信息测试数据如图5.10:所在宿舍为西区女寝,房间编号为西区219,房间类型为6人间,价格100,总床位6,剩余6,电话0798-85835
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年项目管理流程与方法指南-1
- 企业环境保护管理制度与操作手册
- 电影院广告宣传与播放规定制度
- 人力资源管理创新与效能提升(标准版)
- 超市员工福利及慰问制度
- 菜地管理规章制度
- 办公室员工培训效果评估反馈制度
- 养老院老人健康监测报告制度
- 中国东方电气集团有限公司2025年校园招聘备考题库有答案详解
- 养老院家属探访制度
- 血友病膝关节置换
- 基于PLC的恒压供水控制系统的设计-毕业论文
- 人教鄂教版六年级下册科学全册知识点
- 超高速烟支切割系统综合分析与结构参数优化
- csg2023年西少班真题
- 2024年湖南生物机电职业技术学院单招职业技能测试题库及答案解析
- 跨文化沟通心理学智慧树知到期末考试答案2024年
- 工程项目施工计划书
- JC T 885-2016建筑用防霉密封胶
- 二手房买卖合同正式版下载(标准版)
- 2023-2024学年深圳市初三中考适应性考试英语试题(含答案)
评论
0/150
提交评论