还剩36页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要毕业设计题目基于C#的宿舍管理系统的设计与实现姓名李石鹏学号201204120044系(院)信息工程系班级P13软件技术2班指导教师李锋职称二O一六年五月十六日毕业设计(论文)答辩评审表课题名称学生姓名答辩小组评分评语答辩小组负责人签字年月日答辩小组成员签名指导教师评分(30分)评阅人评分(30分)答辩评分(40分)综合成绩答辩委员会负责人签字年月日毕业设计(论文)成绩评定表摘要管理信息系统在现在社会已深入到各行各业,由于计算机的迅速发展和普及,信息管理系统MIS事实上已成为计算机管理信息系统,大学生宿舍管理系统就是一个典型的管理信息系统,它可以让宿舍管理工作变得更轻松,本毕业设计的任务是设计一个大学生宿舍管理系统,其开发过程主要包括前端应用程序的开发和后台数据库的建立、维护两个方面主要任务就是建立基本数据库,后台程序主要负责的都是管理上的功能经过分析,本系统运用了MicrosoftSQL2008为后台数据库,以VisualStudio2012为开发工具,用C#为开发语言系统实现了5个基本模块系统模块,资源管理模块,学生管理模块,报修管理模块,违规管理模块,其操作简单,界面友好,运行比较稳定,适用于大学院校宿舍的管理关键字学生宿舍管理系统、sql
2008、C/S、VisualStudio2012目录TOC\o1-3\h\z\uHYPERLINK\l_Toc26493摘要I目录II第一章绪论11.1开发背景与现状11.2开发设计的意义1第二章开发环境介绍22.1开发平台MicrosoftVisualStudio201222.2开发语言C#22.3操作数据库SQLServer20082第三章系统需求分析33.1功能需求
33.
1.1基本功能需求
33.
1.2功能模块33.2性能需求
43.
2.1系统安全性
43.
2.2数据库选择4第四章系统设计54.1数据库设计
54.
1.1物理设计
54.
1.2E-R模型设计
54.
1.3表/字段及表间关系设计64.2模块设计
84.
2.1系统模块
94.
2.2资源管理模块
94.
2.3学生管理模块
94.
2.4违规管理模块9第五章系统的编码与实现105.1系统的实现平台
105.
1.1系统环境105.2子系统功能模块的实现
105.
2.1用户登录界面模块
105.
2.2系统管理模块
115.
2.3水电资源管理模块
135.
2.4学生管理模块
155.
2.5宿舍违规管理模块
175.
2.6辅助界面185.3对数据库操作的实现195.4系统测试
205.
4.1系统测试的目的
205.
4.2系统测试的性能要求
215.
4.3测试的步骤
215.
4.5测试的主要内容21第六章技术难点分析
236.1学生登记信息保存不完整问题
236.2数据库内容无法查询的问题
236.3密码修改后的登录失败问题26第七章总结28致谢29参考文献30第一章绪论1.1开发背景与现状当今时代是飞速发展的信息时代在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因计算机的最大好处在于利用它能够全面、快速、高效的进行信息管理使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高其安全性尤其对于复杂的信息管理,计算机能够充分发挥它的优越性计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是信息管理的前提本系统就是为了更好管理学生宿舍信息而设计的学生宿舍寝室作为学生休息的地方,有许多信息需要处理和管理现今,有很多学生宿舍都是初步开始使用,甚至尚未使用计算机进行信息处理以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于男、女生住宿信息都是用人工手抄进行数据信息处理工作量大,容易出错,数据繁多,容易丢失,且不易查找数据处理手工操作,工作量大,出错率高,出错后不易更改总的来说,缺乏系统、规范的信息管理手段1.2开发设计的意义基于此类问题,我们使用日趋成熟的计算机技术来代替传统的人工模式,实现学生信息的现代化管理,这一技术具有手工管理所无法比拟的优点,如检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等这些优点极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率可见计算机已经得到了广泛的应用,几乎各行各业都有关于计算机的使用,这使得计算机已成为社会中普遍存在的事物第二章开发环境介绍2.1开发平台MicrosoftVisualStudio2012Microsoft是面向WindowsVista、Office
2007、Web
2.0的下一代开发工具代号“Orcas”,是对VisualStudio2005一次及时、全面的升级VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁使用VisualStudio2012可以高效开发Windows应用程序设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率同时VisualStudio2012支持项目模板、调试器和部署程序VisualStudio2012可以高效开发Web应用,集成了AJAX
1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用2.2开发语言C#Csharp又被简称为C#是微软公司在2000年6月发布的一种为.NETFramework量身订做新的编程语言C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向Component-oriented的程序语言,和C++与Java一样亦为对象导向object-oriented程序语言2.3操作数据库SQLServer2008SQLServer2008在Microsoft的数据平台上发布,能随时随地管理任何数据它可以将结构化、半结构化和非结构化文档的数据(例如图像和音乐)直接存储到数据库中SQLServer2008提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,操作数据而不用管数据存储在哪里SQLServer2008允许在使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据信息工作人员可以通过他们日常使用的工具直接访问数据SQLServer2012提供一个可信的、高效率智能数据平台,可以满足所有数据需求第三章系统需求分析学生宿舍管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然学生宿舍管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点系统在研制开发过程中,严格遵循软件工程方法,采用结构化程序设计方法采用C#作为前台用户界面的开发语言,而后台的数据库采用SQLServer2008界面友好、操作简单、功能齐全、具有较好的人机接口界面是本系统的最大优点3.1功能需求
3.
1.1基本功能需求实现学生宿舍管理系统,在设计该系统时,应尽可能的贴近用户便于用户操作系统在实现上应该具有如下功能
1.用户验证系统要求用户输入正确的账号、密码以及匹配的权限才能进入系统
2.系统提供三种用户权限楼管会、维修部、总务处针对各种登陆权限,赋予用户不同的操作权限
3.系统应该提供宿舍楼信息的管理添加、删除、修改、查找等及为当前宿舍楼创建寝室
4.系统提供了学生基本信息的管理添加、删除、修改、查找等及为学生分配宿舍
5.系统提供了寝室的维修记录登记以便宿舍管理员及时维修并更新当前维修记录状态是否维修
6.系统提供了寝室的违规登记记录了寝室的当前问题及处罚结果
3.
1.2功能模块宿舍管理系统主要实现的功能有用户注册、资源管理宿舍楼管理、寝室管理、学生管理、寝室维修管理、寝室违规管理等功能模块图如图
3.1所示图
3.1宿舍管理系统模块图3.2性能需求
3.
2.1系统安全性对于系统为方便学校管理学生宿舍而开发,便于统一管理,共设置3个权限在登录时,使用用户验证控件,来确认用户是否为合法用户,是否有其权限,以保证信息安全
3.
2.2数据库选择基于学生宿舍管理系统功能数据的实现,用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有宿舍和宿舍楼的变化等,选择SQLServer2008做后台数据库能满足系统开发的需求第四章系统设计4.1数据库设计数据库设计DatabaseDesign是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程数据库设计是建立数据库及应用系统的技术,是信息系统开发和建议中的核心技术建立学生宿舍管理系统数据库的设计,是反复探寻,逐步求精的过程规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程都要经过反复的考虑
4.
1.1物理设计从需求分析考虑,为系统设计了以下八张数据表表
4.1物理设计数据表
1.学生表姓名学号性别入学时间学院专业备注
2.学院信息表编号系院名专业名系院代码
3.宿舍楼信息表编号所在校区宿舍楼号住宿类别
4.寝室信息表寝室ID所在校区宿舍楼号寝室号床位备注
5.学生分配寝室表学号所在校区宿舍楼号寝室号
6.寝室违规信息表违规ID所在校区宿舍楼号寝室号违规时间违规原因处罚结果
7.寝室维修表维修ID所在校区宿舍楼号寝室号维修时间维修原因维修状态
8.用户基本信息表用户ID用户账号用户密码用户类别
4.
1.2E-R模型设计根据实体设计,可以得到各个实体E-R图和部分子系统E-R图
(1)学生实体E-R图如图
4.1所示图
4.1学生实体E-R图
(2)宿舍楼实体E-R图如图
4.2所示图
4.2班级实体E-R图
(3)寝室实体E-R图如图
4.3所示图
4.3寝室实体E-R图
(4)用户实体E-R图如图
4.4所示图
4.4用户实体E-R图
4.
1.3表/字段及表间关系设计
1.用户基本信息表DB_ManageInfo存储了用户登录的账号密码表
4.2用户基本信息表字段名数据类型数据长度是否为空条件KeyloginIdIntNP_KloginNoVarchar15NloginPwdVarchar15NloginTypeVarchar10N楼管会维修部总务处
2.学生信息表DB_StuInfo存储了学生的基本信息表
4.3学生信息表字段名数据类型数据长度是否为空条件KeystuNoChar15NP_KstuNamevarchar10NstuSexChar2N男或女stutTimedatetimeNstuDepartVarchar25NF_KstuProVarchar25NF_KstuElseTextY
3.学院及其下属各个专业基本信息表DB_SubInfo存储了学院和各个专业的基本信息表
4.4系院信息表字段名数据类型数据长度是否为空条件KeysubNoIntNP_KsubDepartVarchar20NsubProVarchar20NsubCodeChar20N
4.宿舍楼基本信息表DB_BuildInfo存储了宿舍楼的基本信息表
4.5宿舍楼信息表字段名数据类型数据长度是否为空条件KeybuildIdIntNP_KbuildAreaVarchar25N西院或东院buildNoIntNbuildMsgChar10N男或女
5.寝室基本信息表DB_DormInfo存储了宿舍的基本信息表
4.6宿舍信息表字段名数据类型数据长度是否为空条件KeydormIdIntNP_KbuildAreaVarchar25N西院东院buildNoIntNF_KdormNoIntNbedNumIntN46812dormElseTextY
6.学生分配信息表DB_DromRegister把学生信息和入住宿舍寝室信息关联起来表
4.7学生分配信息表字段名数据类型数据长度是否为空条件KeystuNoChar15NP_KF_KbuildAreaVarchar25NF_KbuildNoIntNF_KdormNoIntNF_K
7.寝室违规信息表DB_DormDes存储了寝室的基本违规情况和处理结果表
4.8寝室违规信息表字段名数据类型数据长度是否为空条件KeymsgIDIntNP_KbuildAreaVarchar25NF_KbuildNoIntNF_KdormNoIntNF_KfoulsTimeDatetimeNdormMsgTextNdormResultTextY
8.寝室维修表DB_DormRepair存储了寝室的需要维修的项目和处理结果表
4.9寝室维修表字段名数据类型数据长度是否为空条件KeyrepairIdIntNP_KbuildAreaVarchar25NF_KbuildNoIntNF_KdormNoIntNF_KRepairTimeDatetimeNdormJobTextNrepairResultTextY4.2模块设计系统有3个不同的登录类型楼管部、维修部和总务处以不同登录类型进入系统会有不同的操作权限实现方法是以不同的登录类型登录本系统,得到的主界面是一样的,不同之处在于,某些菜单的Enabled属性为true还是为false的区别,其中总务处的是最高权限总务处登录类别包含了其它两个登录类型细节模块如下
4.
2.1系统模块系统管理模块有两个功能管理员注册和管理员更新注册时伴随3个权限楼管部、维修部和总务处注册不同权限的用户有着不同访问系统的权限图
4.5系统模块E-R图
4.
2.2资源管理模块该模块主要实现对宿舍楼的管理及对应的寝室管理功能模块宿舍楼管理和宿舍管理图
4.6资源管理模块
4.
2.3学生管理模块该模块实现的功能有两个学生信息录入和分配寝室图
4.7学生管理模块
4.
2.4违规管理模块该模块实现的功能有两个违规登记和处理意见图
4.8违规管理模块第五章系统的编码与实现5.1系统的实现平台
5.
1.1系统环境
1、系统软件环境
(1)服务端操作系统MicrosoftWindowsXP数据库系统SQLServer2008
(2)客户端操作系统适用于各种平台开发工具MicrosoftVisualStudio2012开发语言C#5.2子系统功能模块的实现
5.
2.1用户登录界面模块宿舍管理系统登录主界面图
5.1宿舍管理系统登录界面登录界面后台代码Login.cs中通过两个函数对用户输入信息进行校验privateboolIsValidataInput;privateboolIsValidataUser;IsValidataInput函数验证用户是否填写了账号、密码和是否选择了登录类型任何一种为空就会有登录提示,提醒用户输入相应信息,并返回false,都正确则返回trueIsValidataUser函数在用户正确输出的情况下验证账号密码和登录类型是否匹配DB_ManageInfo表中的记录,即是否是有效的用户信息,如果是返回true,否则登录提示:“你的账号或密码不正确!”返回false登录事件登录按钮事件privatevoidbtnLogin_ClickobjectsenderEventargse;首先验证信息是否合法有效,再按数据表中的信息显示登录进去系统界面图
5.2宿舍管理系统主界面
5.
2.2系统管理模块系统管理
1.管理员密码修改图
5.3管理员密码修改界面管理员更新窗体加载时的事件privatevoidWFUpdata_LoadobjectsenderEventArgse;它主要作用是窗体加载时填充listviewlvManageInfo自定义的函数privatevoidFormRefresh//刷新窗体回到加载时的状态各事件函数privatevoidbtSearch_ClickobjectsenderEventArgse//查询privatevoidlvDBM_ItemSelectionChangedobjectsenderListViewItemSelectionChangedEventArgse//选中lvManageInfo中选项促发的事件privatevoidbtnAll_ClickobjectsenderEventArgse//刷新privatevoidbtnDel_ClickobjectsenderEventArgse//删除privatevoidbtnUpdata_ClickobjectsenderEventArgse//更新
5.
2.3水电资源管理模块
1.宿舍楼水电管理如下图
5.5图图
5.4学生宿舍楼水电基本信息界面窗体加载时填充listviewlvFloorInfoprivatevoidBuildInfo_LoadobjectsenderEventArgse//窗体加载事件privatevoidFormRefresh//刷新方法privateboolIsValidataInput//校验填入信息是否有效正确,正确返回true,否则falseprivatevoidbtnAdd_ClickobjectsenderEventArgse//添加按钮事件首先判断数据表DB_BuildInfo是否存在该宿舍楼号,存在返回false,否则返回true,并更新至数据库privatevoidbtnAll_ClickobjectsenderEventArgse//刷新按钮事件privatevoidbtnRefresh_ClickobjectsenderEventArgse//更新按钮事件判断是否选择的要更新的记录,然后更新宿舍的描述(住男生还是女生)最后更新至数据表DB_BuildInfoprivatevoidbtnSearch_ClickobjectsenderEventArgse//查询按钮事件privatevoidbtnDel_ClickobjectsenderEventArgse//删除按钮事件
2.宿舍管理如下图
5.6图图
5.5学生宿舍基本信息界面窗体加载时填充listviewlvDormInfoprivatevoidDormInfo_LoadobjectsenderEventArgse//窗体加载事件三个验证函数
1.IsValidataInput//验证录入信息是否有效(是否全部由输入)
2.IsValidata//验证要录入的宿舍楼号是否存在
3.IsSearchConditions//验证查询条件是否有效privatevoidbtnEnter_ClickobjectsenderEventArgse//录入按钮事件privatevoidbtnRefresh_ClickobjectsenderEventArgse//刷新按钮事件privatevoidbtnQuery_ClickobjectsenderEventArgse//查询按钮事件并显示在listviewlvDormInfo中privatevoidbtnDel_ClickobjectsenderEventArgse//删除按钮事件privatevoidbtnUpdate_ClickobjectsenderEventArgse//更新按钮事件
5.
2.4学生管理模块
1.信息录入图
5.6学生基本信息录入界面验证函数privateboolIsValidataInput//判断录入学生信息输入是否完全privatevoidbtnEnter_ClickobjectsenderEventArgse//确定按钮事件
2.来访登记如下图
5.8图图
5.7学生入住登记界面窗体加载时privatevoidDormRegister_LoadobjectsenderEventArgse//把没有入住学生信息填充到listview中验证函数privateboolIsValidataInput//判断入住信息是否填写完全privatevoidbtnEnter_ClickobjectsenderEventArgse//入住按钮事件
5.
2.5宿舍违规管理模块
1.违规登记图
5.8宿舍违规登记界面窗体加载时privatevoidDormFouls_LoadobjectsenderEventArgse//填充地理区域的下拉框的itemsprivatevoidcboBuildArea_SelectedIndexChangedobjectsenderEventArgse//地理区域的下拉框被选择所促发的事件,填充宿舍楼号,以此类推,依次填充privatevoidbtnAdd_ClickobjectsenderEventArgse//记录按钮事件2图
5.10宿舍违规处理意见发布界面窗体加载时privatevoidFoulsFeedback_LoadobjectsenderEventArgse//填充listview数据从DB_DormDes数据表中获得privatevoidbtnEnter_ClickobjectsenderEventArgse//发布按钮事件
5.
2.6辅助界面基本如上5个模块,实现了宿舍管理系统的基本功能要求另外加上4个子菜单,使得系统操作简单容易和明了1.学生基本信息图
5.9学生信息界面主要功能如下a.按学号查询学生基本信息b.删除学生信息c.修改(更新)学生信息2.学生住宿信息查询如下图
5.12图图
5.10学生住宿信息3.宿舍违规记录图
5.11宿舍违规记录界面主要功能如下a.查询具体寝室的违规记录b.删除具体寝室的违规记录5.3对数据库操作的实现在系统开发过程中,因为要多处用到对数据库的操作,如果这些操作在每次用到时在每个cs程序中去实现,将非常繁琐,因此,为了简化这些操作,在开发时设计了一个可重用组件DBHelper.cs,把对数据库的操作都封装在DBHelper类中,需要用到时生成对象调用便可见附件DBHelper.cs对于数据库的操作通常包括连接数据库、执行查询操作、执行更新操作和关闭数据库连接等,因此在DBHelper.cs中应设计3个方法,分别是:
1.publicstaticSqlDataReaderGetResultstringsql//返回结果集
2.publicstaticintGetSqlResultstringsql//对Select语句返回int型结果集
3.publicstaticintGetDsqlResultstringsql//对UpdateInsert和Delete语句,返回该命令所影响的行数其中各方法的数据库打开与关闭操作都在方法内实现,互不影响5.4系统测试
5.
4.1系统测试的目的
(1)测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计测试是所有工程学科的基本组成单元,是软件开发的重要部分自有程序设计的那天起测试就一直伴随着统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上而在软件开发的总成本中,用在测试上的开销要占30%到50%如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:
①认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;
②以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;
③测试工作枯燥无味,不能引起人们的兴趣;
④测试工作是艰苦而细致的工作;
⑤对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量
(2)测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置
①软件测试是为了发现错误而执行程序的过程;
②测试是为了证明程序有错,而不是证明程序无错误;
③一个好的测试用例是在于它能发现至今未发现的错误;
④一个成功的测试是发现了至今未发现的错误的测试这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此首先,测试并不仅仅是为了要找出错误通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法
5.
4.2系统测试的性能要求系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性运行效率等方面的考虑本系统运行环境为网络版,在运行时对系统整体性能要有一定的要求,要求软硬件要求系统环境winxp+SQLServer2008+MicrosoftVisualStudio2012硬件系统环境P
42.
4、512MB内存、80G硬盘系统运行时对数据的保密性要求不高对一般的数据不要求进行加密此外,对其它软件几乎没有依赖性,程序健壮性较好
5.
4.3测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成因此,大型软件系统的测试基本上由下述几个步骤组成
(1)模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误
(2)系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误
(3)验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误
5.
4.5测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试
(1)单元测试单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误
(2)集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等
(3)确认测试确认测试的目的是向未来的用户表明系统能够像预定要求那样工作经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样
(4)系统测试软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试包括恢复测试、安全测试、强度测试和性能测试等单独对系统的测试主要从以下几方面入手
①功能测试测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准
②强度测试及性能测试测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况
③安全测试验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束第六章技术难点分析
6.1学生登记信息保存不完整问题学生信息录入遇到的问题,学生登记信息包括真实姓名,学号,宿舍号,楼号,楼层等为了保证信息的完整所以必须有必须填写的内容为了实现这一点所以用以下代码实现userRegisterjsp:%Stringstr=response.encodeURLuserRegister.jsp;%H3P输入您的信息,带*号项必须填写FORMaction=%=str%Method=postBR登录名称Inputtype=textname=logname*BR真实姓名Inputtype=textname=realname*BRInputtype=passwordname=password*BRInputtype=textname=email*BR联系电话Inputtype=textname=phone*BR通信地址Inputtype=textname=address*BRInputtype=submitname=gvalue=提交/Formjsp:useBeanid=loginclass=book.Registerscope=request/jsp:useBean其中注明带*号为必须填写,和通过代码的调整可以保证信息的完整性
6.2数据库内容无法查询的问题当登记成功后查询时可能出现数据库没有导入已注册信息,所以导致无法查询的问题,为了登记信息能准确加入数据库和如果登记的姓名名重复可以返回登记页面的问题最终实现代码如下% //提交信息后,进行登记操作 String logname=realname=password=email=phone=address=; if!session.isNew { logname=request.getParameterlogname; iflogname==null {logname=; } logname=codeStringlogname; realname=request.getParameterrealname; ifrealname==null {realname=; } realname=codeStringrealname; password=request.getParameterpassword; ifpassword==null {password=; } password=codeStringpassword; email=request.getParameteremail; ifemail==null {email=; } email=codeStringemail; phone=request.getParameterphone; ifphone==null {phone=; } phone=codeStringphone; address=request.getParameteraddress; ifaddress==null {address=; } address=codeStringaddress; } % % //为了以后处理汉字方便,我们采用了第1种方式初始化beans if!logname.equals!address.equals!phone.equals !realname.equals!password.equals {% jsp:setProperty name= login property=logname value=%=logname% / jsp:setProperty name= login property=realname value=%=realname% / jsp:setProperty name= login property=password value=%=password% / jsp:setProperty name= login property=email value=%=email% / jsp:setProperty name= login property=phone value=%=phone% / jsp:setProperty name= login property=address value=%=address% / % login.addItem; } else {out.print你还没有填写信息,或信息填写不完整; } % % //返回登记信息 if!session.isNew { %jsp:getProperty name= login property=message /本程序用了Bean: Rigister.javamport java.sql.*;public class Register{ String logname realname password email phone address; String message; Connection con; Statement sql; ResultSet rs; public Register { //加载桥接器 try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver; } catchClassNotFoundException e{}}//添加记录到数据库的user表 {try{ con=DriverManager.getConnectionjdbc:odbc:shop; sql=con.createStatement; String s= +logname++++realname++++password++++ email++++phone++++address+; String condition=INSERT INTO user VALUES++s+; sql.executeUpdatecondition; message=注册成功了; con.close; } catchSQLException e {message= } }}通过以上修改的代码可以确保登记界面的录入,登记界面如图
6.1所示图
6.1新生入宿登记界面的实现
6.3密码修改后的登录失败问题图
6.2错误信息提示图经过分析后采用privatevoidBuildInfo_LoadobjectsenderEventArgse//窗体加载事件privatevoidFormRefresh//刷新方法privateboolIsValidataInput//校验填入信息是否有效正确,正确返回true,否则falseprivatevoidbtnAdd_ClickobjectsenderEventArgse//添加按钮事件首先判断数据表DB_BuildInfo是,存在返回false,否则返回true,并更新至数据库privatevoidbtnAll_ClickobjectsenderEventArgse//刷新按钮事件privatevoidbtnRefresh_ClickobjectsenderEventArgse//更新按钮事件判断是否选择的要更新的记录,然后更新宿舍的描述最后更新至数据表DB_BuildInfoprivatevoidbtnSearch_ClickobjectsenderEventArgse//查询按钮事件privatevoidbtnDel_ClickobjectsenderEventArgse//删除按钮事件它主要作用是窗体加载时填充listviewlvManageInfo自定义的函数privatevoidFormRefresh//刷新窗体回到加载时的状态各事件函数privatevoidbtSearch_ClickobjectsenderEventArgse//查询privatevoidlvDBM_ItemSelectionChangedobjectListViewItemSelectionChangedEventArgse//选中lvManageInfo中选项促发的事件privatevoidbtnAll_ClickobjectsenderEventArgse//刷新privatevoidbtnDel_ClickobjectsenderEventArgse//删除privatevoidbtnUpdata_ClickobjectsenderEventArgse//更新经过这些,就可以完美的解决此类问题的发生了第七章总结学生宿舍管理系统历时三个月已基本完成了,完成了学生宿舍管理的基本功能,对学生寝室楼添加、修改和删除,文明寝室、损坏寝室进行管理,以及对学生系别、专业等进行添加、修改和删除的功能、对学生的基本信息进行修改,添加新的学生信息以及添加管理员,修改管理员密码的功能,在室员呵呵寝室长模块有班级查询、寝室查询、损坏情况登记和文明寝室评分录入,留言板,个人资料修改的功能运行于Win95/98/2000/NT/XP等系统系统采用当今流行的B/S结构数据库系统,支持SQLServer等大型数据库系统在vs20005开发环境下,以asp.net为开发工具系统基于浏览器/服务器的体系结构,全新的分布式计算模式,从而极大提高了系统速度本系统为全中文界面,功能全,易操作,价格合理可灵活设置模块中的字体显示属性系统的操作方式、界面均为Win9x风格用户可自由地设置系统中的各类相关参数和各种项目代码系统中具有强大的工作站权限、操作员权限、密码管理等功能模块,确保系统运行安全致谢毕业设计与论文即将完成之际,回想起开始工作的不知所措,以及调研、调试过程中的多次遇阻,真是说不出的艰辛幸好,有许多老师、同学的帮助,我才得以调试成功,一次次的改进自己的程序,实现各种功能正是在这些朋友的帮助下,我才及时纠正了自己的语法错误、逻辑错误、攻克了不少难点在此,我首先感谢我的导师李老师是他在毕业设计之处帮助我分析题目,讲解整个软件的思路,为良好的开端奠定了基础李老师多次解答了我的问题和疑惑之处,并在资料上给予我最大的帮助,如果没有曾老师的指导,我想我的设计是不会那么顺利完成的所以,再一次感谢李老师的指导参考文献
[1]王凌云﹒基于.NET的学生信息管理系统的设计与开发[J]﹒科技信息﹒200955190~194
[2]张跃廷,王小科﹒Asp.Net数据库系统开发案例精选﹒北京人民邮电出版社﹒2007210-220
[3]彭玉华﹒基于Web的学生信息管理系统的设计与实现[J]﹒民营科技﹒20100920175~180
[4]张宇.基于.NET框架数据访问层的优化[J].电脑学习,2008,250~60
[5]美JohnKauffman著﹒张哲峰,黄翔宇译﹒Asp.Net数据库入门经典[M]﹒北京清华大学出版社,2003
[6]美KarliWatsonChristianNagel著﹒齐立波译﹒C#入门经典第3版[M]﹒北京清华大学出版社2003
[7]琼斯著,陈建春译ASP.NET与C#从入门到精通﹒北京:电子工业出版社,200335-
47.
[8]胡琴﹒基于ASP的高校学生信息管理系统模式研究[J]﹒科技广场﹒201021338
[9]胡越﹒基于C/S和B/S混合模式的高校学生信息管理系统设计[J]﹒江西电力职业技术学院学报﹒200993131~134
[10]刘再跃﹒基于网络B/S结构的学生信息管理系统设计与实现[J]﹒现代情报﹒20092132~231
[11]杨平乐﹒基于ADO.NET学生信息管理系统的设计与实现[J]﹒计算机技术与发展﹒201005103~109。