• 832.00 KB
  • 2022-05-26 19:15:38 发布

高校班级管理系统 毕业论文

  • 36页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
摘要随着计算机技术应用的普及和世界信息化步伐的加快,上网冲浪的人越来越多,网络成为人们不可缺少的一部分,通过网络来发布信息已成为一种常用的方式,为了更合理地对这些信息进行管理,本人开发了高校班级管理系统,方便大家交流,及时获取新闻信息,也方便毕业之后同学之间保持联系。系统主要实现了班级管理(包括添加,查看,编辑和删除),用户管理(包括搜索,查看,权限设置),系统消息管理(包括发送,查看和删除),系统公告管理(包括添加,编辑和删除),教师通讯录管理(包括添加,编辑和删除)本文介绍了该系统开发的需求调查分析,系统概要设计,系统详细设计及数据库设计还介绍了系统设计中使用的理论知识和关键技术。关键字:班级管理系统,JAVA,Web,JavaBean,B/SII AbstractWiththeapplicationofcomputertechnologyandthepopularityoftheworldtoacceleratethepaceofinformationtechnology,surfingtheInternetmoreandmorepeople,thenetworkbecameanindispensablepartofpeople,toreleaseinformationthroughtheInternethasbecomeapopularwaytoamorerationaloftheseInformationmanagement,theauthorsdevelopedaclasssystemtofacilitatetheexchange,timelyaccesstonewsandinformation,andalsofacilitatethestudentsaftergraduationmaintaincontactbetween.Systemachievedamajorclassmanagement(includingadd,read,editanddelete),usermanagement(includingsearch,view,theauthorityset),managementinformationsystem(includingthetransmissionandreadanddelete),thenoticemanagementsystem(includingadd,editandDeleted),teachercontactsmanagement(includingadd,editanddelete)Thispaperdescribesthedevelopmentofthesystemneedssurveyanalysis,systemdesignsummary,thesystemdetaileddesignanddatabasedesignalsointroducedasystemusedinthedesignoftheoreticalknowledgeandkeytechnologies.Keywords:Classmanagementsystem,JAVA,JavaBean,Web,B/SII 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179目录摘要IABSTRACTII1.绪论11.1引言11.2开发背景12.系统相关技术32.1B/S模式介绍32.2三层B/S结构32.4JSP技术介绍42.5AJAX技术介绍42.6JDBC技术介绍52.7SQLSERVER2000简介53.需求分析73.1功能描述73.2系统结构图84系统设计94.1各模块设计94.3数据库设计135.系统详细设计215.1登录模块215.2用户权限管理215.3删除功能的实现225.4查询功能的实现225.5留言功能的实现235.6用户权限确认255.7数据库的详细设计256.系统测试286.1测试目的286.2测试方法286.3测试用例286.4测试结果30参考资料31致谢3233 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571791.绪论1.1引言Internet已经成为人们生活、工作、学习越来越离不开的平台。Web技术已经不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。例如网上电子商务、社会信息数据库等。网络实现了远程通讯,人们能够通过计算机网络进行电子邮件的发送,召开网络会议,网上购物,甚至坐在家里就可以上大学(网上教育)。网络有巨大的潜力待我们去开发与探索。因此,基于B/S体系架构创建这个班级管理系统,紧跟行业发展,满足人们生活、学习的需要。建立一个基于B/S架构的班级,实现信息网络化。通过较丰富的功能将Web的技术特点体现出来。该系统可供包括在校、离校、以及游客登录使用。登录者可以查询信息或者发布信息,也可以通过此网站与朋友联系,并且还能够创建虚拟班级等功能。系统中班级管理为必不可少的模块项,主要是为了安全有效地存储和管理登录网站的用户的信息,赋予管理员特定的权限,可以对用户进行分类,添加,删除,修改等。方便网站的管理与维护。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了SERVER作为后台数据库,以先进的JDBC技术与数据库连接,结合SQL语句处理对用户分类,添加,删除,修改等操作,使Web与数据库紧密联系起来。1.2开发背景1.2.1B/S模型的优点几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是B/S模型的优势所在。它和C/S模型比较优点极为突出。两层技术模型(Two-TierArchitecture)是指客户机直接与服务器交流,没有其他服务介入的技术模型。对用户量在12—100的局域网环境中,两层模型的确是个不错的方案。由于该模型中,所有的用户连接都是被保持的,也就是说即使在空闲状态,连接依然存在。所以,用户的并发请求数量有限的。为了解决这个限制,使得成千上万的用户可以被无顾虑地添加,我们选用三层模型。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者说是改进的结构。用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,是一种全新的软件系统构造技术。1.2.2JSP技术发展背景Web技术的迅猛发展正推动Internet上信息服务类的进步。WWW服务的基础是HTML语言。这个系统模块中用到的JSP技术是在HTML语言的基础上使用脚本语言对网页的对象模型进行编程。JSP全称JavaServerPages,它是由SunMicrosystems公司提出、许多公司参与建立的一种动态网页技术标准。它诞生在33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571791999年6月1日。目前国内外已经在广泛地使用JSP。随着JAVA语言得到普及,越来越多的公司开始关注JSP的前景。传统的动态网页制作包括CGI、ASP、JSP三种,而JSP具有明显的优势。使用CGI-BINJ接口是一个最早的动态WEB页面问题的解决方案。缺点,CGI程序必须从CGI接口读入一长串的字符串,再从字符串中取得所需要的数据并加以处理。过程十分繁琐。另一个缺点,除了Perl是解释语言外,其他都是编译式的语言。每次修改后,都必须重新编译一次,这给开发人员带来麻烦,增加了工作量。ASP和JSP都能取代CGI使网站建设和发展变得简单快捷。尽管JSP技术和ASP在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础,WEB服务器平台要求不相同。1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取代之过去单一平台开发。ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。2)从开发人员的角度来看其区别在于:ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。3)JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖4)生成可重用的组件。JSP基于组件的技术方法加速了总体开发过程。JSP组件(Javabeans,或定制的JSP标签)是跨平台可重用的。Javabeans组件可以访问数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。5)易于维护性。基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571792.系统相关技术2.1B/S模式介绍B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在.Net这样的预编译语言和AJAX技术出现之后,B/S架构Web软件更是方便、快捷、高效。2.2三层B/S结构B/S结构是真正的三层结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如图所示。客户端Web服务器后台数据库客户端……图1系统三级结构图图中从左到右,分为三个层次:第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上。第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;第三层数据库服务器是数据层。数据库服务器应客户请求独立进行各种处理。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。由以上比较分析可知,三层结构也可以理解为增加了Web服务器的C/S模式。2.4JSP技术介绍JSP(JAVASERVERPAGES)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP具备了JAVA技术的简单易用、完全面向对象、具有平台无关性且安全可靠,其在动态网页的建设中有其强大而特别的功能.JSP技术的优点如下:5.4.1将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如查询指定学院的专业或者某一位学生参加的文艺活动)。Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。生成可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。5.4.2采用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言的编程人员。但JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。以上这些使得Web页面开发人员能够使用熟悉的工具来执行特定功能。5.4.3提供所有Servlets的功能。与SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println书写和修改HTML更方便。此外,可以更明确的进行分工,WEB页面设计人员编写HTML,只需要留出地方让SERVLETS程序员插入动态部分即可。2.5AJAX技术介绍AJAX的全称是AsynchronousJavaScriptandXML,即异步JavaScript和XML。这是一种多项成熟技术的组合,其目的是让Web应用获得与用户快速、即时交互的能力。AJAX所组合的技术,包括对http://www.combysj.cn的分析:•JavaScript,Java脚本语言(注意,此Java非Sun公司的Java)•DHTML,DynamicHTML,动态HTML•XML,ExtensibleMarkupLanguage,可扩展标记语言•CSS,CascadingStyleSheets,层叠样式表单•DOM,DocumentObjectModel,文档对象模型•微软的称为XMLHttpRequest的对象33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179在AJAX技术下,用户会感觉到网页与普通桌面应用一样,响应迅速,而不是像传统网页那样,任何操作都需要等待页面的刷新。第一,AJAX可以只刷新部分页面,而不是整个页面;第二,AJAX的页面刷新是异步的,就是说,用户可以继续他的其他操作,而不必等候刷新完成。当用户浏览一个基于AJAX的Web应用时,用户的请求被提交给一个称为AJAX引擎(AJAXEngine)的代理,这个AJAX引擎负责接收用户请求,从Web服务器上获取响应,并更新浏览器内容。形象地说,传统的Web应用中,浏览器是直接和Web服务器打交道的,而在AJAX应用中,浏览器和Web服务器之间出现了一个来回跑腿的“中介”,而且这个“中介”相当的勤快,所以,能够给浏览器提供更好的服务,从而使用户获得更满意的应用体验。2.6JDBC技术介绍本系统为基于Web服务器的在线管理系统,Web服务器的发展趋势是管理动态信息,而不是静态的HTML网页,因此Web服务器就必须直接从数据库中获取符合要求的数据,并动态的插入到Web页面中,而其中的关键是Web服务器与数据库的连接技术。本系统采用的就是JDBC技术。JDBC(JavaDatabaseConnectivity——Java数据库连接)由一组用JAVA语言编写的类和借口组成,利用JAVA机制设计的标准SQL数据库连接接口去访问数据库。JDBC也是一种规范,让各个数据库开发商为JAVA程序员提供标准的数据库访问类和借口。JDBC与JAVA结合,是用户很容易把SQL语言传送到任何的关系数据库中,程序员用它编写的数据库应用软件和JAVA语言编写的程序具有一样的特性:一次编写,多处运行。JDBC大致可以分为以下三个部分:1、JDBCAPI的主要特点之一是简单且容易掌握。它主要由接口组成而不是集成类,被包含在java.sql和javax.sql两个包中。这些接口由提供JDBC驱动的软件商来完成。2、JDBC驱动管理器的作用是在JDBC运行结构上,提供最基础的指引功能,即当一个JDBCAPI程序进行数据库调用时,它会选择一个正确的JDBC驱动程序进行连接。3、JDBC驱动的作用是当JDBCAPI制作的程序进行数据调用时,实际连接数据库并进行相应的处理。JDBC驱动提供JDBCAPI的接口类。很多可视化的Java开发工具,如VisualAgeForJava、VisualCafe、J++等都提供了基于JDBC的更具有面向用户特性的类和包。在下文的代码实现中将给出在SQLSever中连接数据库的代码并深入解释。2.7SQLSERVER2000简介SQLServer2000是微软公司开发的大型关系数据库管理系统,它不但可以满足大型数据处理系统对数据储存量的需求,而且对于小型企业和个人来说,也可以作为管理数据的简易工具。SQLServer2000提供了两种最基本的服务:SQLServer服务和SQLServer2000分析服务,它们分别是性能卓越的数据库引擎和用于决策支持的数据分析工具。该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179与相关软件集成程度高等优点,是一个功能完备的正规数据库管理系统,是关系数据库开发的最好工具。它包括支持开发的引擎,标准的SQL语言,扩展的特性等功能。MicrosoftSQLServer2000的优点在于它不但可以满足大型数据处理系统对数据存储量的需求,而且对于小型企业和个人来说,也可以作为管理数据的简易工具。它提供了两种最基本的服务:SQLServer服务(SQLServerservice)和SQLServer2000(AnalysisService),它们分别是性能卓越的数据库引擎和用于决策支持的数据分析工具。SQLServer2000在SQLServer7.0版的基础上扩展了的数据库管理系统的性能、可靠性、质量和易用性。由于增加了这些新的功能,因此它成为大规模联机事务处理(OLTP),数据仓库和电子商务应用程序的优秀数据库平台。MicrosoftSQLServer2000包括以下特性:(1)与因特网的集成,SQLServer2000的数据库引擎提供了完整的XML支持;(2)可伸缩性和可用性;(3)企业级数据库功能;(4)易于安装、部署和使用;(5)SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具--数据仓库。鉴于MSSQLServer2000的诸多优点和容易使用等特点,我们选择了使用它作为我们开发系统的数据库管理。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571793.需求分析3.1功能描述本高校班级管理系统的主要目的是为了方便毕业之后大家保持联系,不会因为彼此分开而使得同学间的感情疏远。因此要为班级成员提供一个温馨,友好的操作界面,让大家进入系统感觉如同走进家庭般温暖,同时为具有较高权限的系统管理员提供相应的系统功能。高校班级管理系统主要需要实现以下基本功能:1.登入功能:系统首页提供登入对话框,输入用户名和密码,系统验证正确后进入系统,否则提示错误信息。2.注册功能:该功能为浏览者提供注册功能,在注册界面填写相应信息,系统验证正确后,成为系统用户。3.留言功能:所有用户都具有此功能,它用于用户发表留言。4.查看留言功能:所有用户都具有此功能,用于查看系统中所有成员留言。5.删除留言功能:该功能只有系统管理员才能使用,用于删除系统中不需要的留言。6.个人信息修改功能:所有用户都具有此功能,用于修改用户注册信息。7.查看班级信息功能:所有用户都具有此功能,用于查看当前系统信息,如班级创建者,班级说明,班级成员总数,留言总数,相片总数等。8.修改班级信息功能:该功能只有系统管理员才能使用,用于修改班级信息。9.上传相片功能:该功能只有系统管理员才能使用,用于将班级照片发布在系统中10.删除相片功能:该功能只有系统管理员才能使用,用于删除不需要的照片。11.浏览相片功能:所有用户都具有此功能,用于浏览系统发布的照片。12.发送短信功能:所有用户都具有此功能,用于在系统中发送短信,你可以指定发送对象。13.查看短信功能:所有用户都具有此功能,用于查看是否有自己的短信。14.删除短信功能:该功能只有系统管理员才能使用,用于删除不需要的短信。15.发布班级新闻功能:该功能只有系统管理员才能使用,用语发布班级重要通知等。16.修改班级新闻功能:该功能只有系统管理员才能使用,用于修改新闻内容。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:59905717917.删除班级新闻功能:该功能只有系统管理员才能使用,用于删除系统中的旧新闻。18.添加教师功能:该功能只有系统管理员才能使用,用于添加教师信息。19.查看教师信息功能:所有用户都具有此功能,用于查看教师信息,方便用户与教师取得联系。20.查看用户信息功能:该功能只有系统管理员才能使用,用于查看注册的所有用户信息。21.用户权限设置功能:该功能只有系统管理员才能使用,用于设置用户权限,是否将用户提升为管理员,或者将管理员降为一般用户。3.2系统结构图依据需求分析描述,高校班级管理系统大体上可以分为7个模块:用户登入模块、用户管理模块、留言管理模块、信息管理模块、新闻管理模块、短消息管理模块和相册管理模块。如图2所示。图2系统结构图33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571794系统设计4.1各模块设计4.1.1登录模块设计用户身份验证。用户进入系统,首先需要进行身份验证。如果通过了身份验证,则为合法用户,同时其帐号和权限等资料将会保存在Session对象,Session对象储存的信息是局部的,随用户不同而不同的。当用户访问系统的各个子系统时,系统自动从Session对象中获取用户的资料,而无须将用户的资料作为请求方法、参数名、参数值追加到URL中。这样可以避免用户恶意修改URL中的值非法访问。Session对象中的变量设置:Session[User_ID]用户名,Session[sign]用户权限。模块设计流程如图所示。用户登录过程是必须的,因为只有这样才能从数据库中得到用户名和权限。.图3登入验证流程图4.1.2班级信息管理模块设计班级信息管理功能的设计。只有管理员才可以对班级信息进行管理,用户只能查看班级信息而不能修改,班级宣言限制为200字以内并不能为空,系统将判断新班级宣言是否为空或超过200字,如果数据为空或超过200字则提示错误,返回班级信息管理页面,班级名称、创建人、入学年份同上。否则,班级信息修改成功,班级信息还包括了对新闻、留言、相片和成员总数和最新更新的动态统计。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179此模块的设计流程如图所示。图4班级信息修改流程图4.1.3用户管理模块用户管理功能设计。该功能只有系统管理员才能使用此功能,包括四部分:一是用户查询功能,二是用户权限管理,三是用户删除。l用户查询功能:该功能方便使用者查找亲友同学,还可以统计出目前班级拥有多少成员。此项功能是根据使用者输入的关键字遍历数据库,查找有无匹配的记录。如果记录存在将记录输出到用户浏览端,否则显示“暂无类似用户信息”。l用户权限管理功能:该功能方便管理员认命其他用户为管理员,这样不仅能减少自己的工作量,也能更好的维护网站,如果发现某管理员利用权限进行非法活动时超级管理员可以取消掉该管理员的管理权限。l用户删除功能,该功能使管理员能处理那些利用本网站进行非法活动的用户,删除其用户信息。此模块设计流程如图所示。图5用户管理流程图33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571794.1.4新闻管理模块新闻管理功能。该功能只用系统管理员才能使用,包括三部分,一是发布新闻,二是修改新闻,三是删除新闻。l发布新闻功能:该功能的实现是从新闻添加页面获取到新闻表单信息,然后调用相应方法进行处理,最后更新至数据库。l修改新闻功能:该功能的实现是先获取该新闻编号,然后使用SQL语言遍历数据库中有无该新闻记录,如果记录存在,将记录信息放入新闻对象实体内,管理员在JSP页面获取新闻信息,再进行修改,其后操作类似添加新闻。l新闻删除功能:该功能的实现需要使用SQL语言遍历数据库中有无新闻记录,如果记录存在,则把记录信息放入新闻对象实体,管理员可在页面查看记录并批量删除。模块设计流程如图所示。图6新闻管理流程图4.1.5相册管理模块班级相册管理功能设计。作为班级网站应该有上传相片的能力,班级相册管理功能的设计正是为班级管理员设置的管理功能之一。其中包括二部分,一是上传相片,二是删除相片。1)上传相片功能:该功能方便管理员批量上传班级活动的相关照片,管理员先选择好要上传的照片,点击上传后,通过JSP页面处理生成缩放的新图,然后把原图和新图放入服务器端的上传文件夹中,然后把照片信息存入数据库,上传完成。2)删除相片功能:该功能的实现需要使用SQL语言遍历数据库中有无相片记录,如果记录存在,则把记录信息放入相片对象实体,管理员在页面查看记录并删除。模块设计流程如图所示。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179图7相册管理流程图4.1.6留言管理模块班级留言管理功能设计。作为班级网站应该具备的能力,班级留言管理功能的设计正是为班级管理员设置的管理功能之一。其中包括二部分,一是发表、查看留言,二是删除留言。l发表、查看留言功能:该功能是作为网站成员之间交流信息的重要载体,用户可以在留言页面发表留言,用户如果没有登陆网站,则默认为“游客”身份,只能使用该名发表留言,不能使用其它用户名进行留言,登陆网站后则用户可直接发表留言,但只能使用自己的用户名进行发表。l删除留言功能:该功能的实现需要使用SQL语言遍历数据库中有无留言记录,如果记录存在,则把记录信息放入相片对象实体,管理员可在管理页面查看记录并批量删除。模块设计流程如图所示。图8留言管理流程图33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571794.1.7短消息管理模块短消息管理功能设计。包括三部分,一是发送短消息,二是查看短消息,三是删除短消息。l发送短消息功能:该功能是作为网站成员之间交流信息的另一重要载体,用户可以在短消息页面发送短消息,用户如果没有登陆网站,则不能访问短消息页面,因而无法发送短消息,登陆网站后用户可向其他用户发送短消息,收件人必须是数据库内现有的用户名。l查看短消息功能:该功能的实现需要先查看短消息列表,点击其中一个短消息标题即可查看详细内容。l删除短消息功能:该功能的实现需要使用SQL语言遍历数据库中有无该用户短消息记录,如果记录存在,则把记录信息放入短消息对象实体,用户可在短消息管理页面查看记录并批量删除。模块设计流程如图所示。图9短消息管理流程图4.3数据库设计4.2.1系统数据流分析根据上面的模块功能分析与设计可知,有关数据操作的对象有2个,实体有7个。两个对象分别为用户和管理员,7个实体分别为用户信息表、短消息信息表、班级信息表、班级新闻信息表、班级留言信息表、班级相册信息表和教师信息表。系统总体数据流如图所示。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179图10系统数据流图4.2.2实体E-R图系统数据库设计是系统功能实现的基础。制作数据库表首先要确定实体的属性和实体间的关系。数据库要存储的班级信息、短消息信息、新闻信息、相片信息、留言信息、教师信息和用户信息,这些信息是班级、短消息、新闻、相片、留言、教师和用户的属性。图11用户E-R图33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179图12班级信息E-R图图13短消息E-R图图14教师E-R图图15留言E-R图33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179图16相册E-R图图17新闻E-R图4.2.3实体关系E-R图一个用户可以发表若干的留言,一个留言只能属于一个用户;一个用户可以有若干的短消息,一个短消息只能属于一个用户;一个管理员可以管理若干的用户,一个用户可以被若干的管理员所管理;一个管理员可以管理若干的新闻,一个新闻可以被若干的管理员所管理;一个管理员可以管理若干的相片,一个相片可以被若干的管理员所管理;一个管理员可以管理若干的教师信息,一个教师信息可以被若干的管理员所管理。实体间关系如图所示。33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179用户管理员短消息留言新闻班级信息教师通讯录发表1N发送N1管理NM管理1N管理MN管理MN管理MN管理MN管理相片NM图18实体关系E-R图4.2.4数据库主要表结构说明l用户信息表{帐号,密码,真实姓名,性别,生日,权限,是否锁定,Email,个人主页,注册时间,联系电话,手机号码,通讯地址,QQ,自我介绍,所属班级}l班级信息表{班级编号,班级名称,创建日期,班级人数}l教师信息表{教师编号,教师姓名,所属学院,Email,办公地点,手机号码,联系电话,通讯地址}l短消息信息表{消息编号,发送者账号,接收者账号,标题,内容,发送时间,是否阅读}l班级新闻信息表{新闻编号,标题,内容,发布时间}l班级相册信息表{图片编号,所属班级,图片名称,存储路径,图片介绍}l班级留言信息表{留言编号,留言者账号,所属班级,留言内容,留言时间}1、用户信息表(members)记录所有的用户信息。在此表中,每一条记录都是一个用户,其中User_ID是用户名,并且含有相对应的信息,在表中作为唯一标识。表1用户信息表members序号字段名称字段含义类型宽度是否为空备注1User_ID用户名varchar16NOPrimarykey33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571792Password密码Varchar16NO3Sex性别Varchar2NO4Realname真实姓名Varchar16YES5Birthday出生日IntYES从01至316Birthmonth出生月IntYES从01至127Email电子邮箱地址Varchar40NO8AddTime注册时间Varchar50NO9Mobile手机号码Varchar15YES10Phone家庭电话Varchar15YES11Address家庭住址Varchar40YES12Introduction自我介绍Varchar500YES13Locked锁定用户EnumNO14QQQQInt10YES2、留言信息表(word)留言信息表记录了用户在班级中的留言信息,“Word_ID”为主键。表2班级留言信息表word序号字段名称字段含义类型宽度是否为空备注1Word_ID留言编号Int10NOPrimarykey33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:5990571792User_ID留言者编号Varchar16NOForeignkey3Time留言时间TimestampNO4Content留言内容Varchar500NO3、教师信息表(communicate)包含了教师通讯信息,其中Teacher_ID——“教师编号”是系统分配的唯一标识,在整个教师通讯录表存储的数据里是互不相同的。表3教师通讯录表communicate序号字段名称字段含义类型宽度是否为空备注1Teacher_ID教师编号Int4NOPrimarykey2Realname教师姓名Varchar16NO3Academic所在学院Varchar16NO4Email电子邮箱Varchar40YES5Office办公地址Varchar40YES6Mobile手机号码Varchar15YES7Phone联系电话Varchar15YES8Address家庭住址Varchar40YES4、短消息信息表(messages)是用户管理短消息和管理员给用户发送系统消息用的表,每一条记录代表一封邮件。其中id——“邮件编号”是系统为邮件分配的唯一标识符,是此表的唯一标识。表4短消息表messages33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179序号字段含义类型宽度是否为空备注1Id惟一编号Numeric4NOPrimarykey2Sender发件人Varchar16NO3Incept收件人Varchar16NO4Title主题Varchar50NO5Content内容Varchar2000NO6Flag邮件标志int4NO7Sendtime发送时间Varchar50NO5、新闻信息表(notes)记录系统的新闻信息。Note_ID——“新闻编号”是系统为其分配的唯一标识。表5班级新闻表notes序号字段名称字段含义类型宽度是否为空备注1Note_ID新闻编号Int4NOPrimarykey2Body新闻内容Varchar1000NO3Addtime发布时间Varchar50NO4Title新闻标题Varchar50NO6、相册信息表(up_imges)记录相册信息。ID—相片编号是系统为其分配的唯一标识。表6相册信息表up_imges33 蓝天工作室为您提供最优秀的计算机毕业设计论文解决方案QQ:599057179序号字段名称字段含义类型宽度是否为空备注1ID相片编号int4NOPrimarykey2times上传时间Varchar503Path相片位置Varchar60NO4ip上传者IPVarchar1007、班级信息表(classes)记录班级信息。Class_ID——“班级编号”是系统为其分配的唯一标识。它在整个班级信息表存储的数据里是互不相同的,而且在系统的许多其它表里也要用到它。表7班级信息表classes序号字段名称字段含义类型宽度是否为空备注1Class_ID班级编号Int4NOPrimarykey2Classname班级名称Varchar16NO3Classmaker创建者Varchar16NOForeignkey4Registtime创建时间TimestampNO5Number成员人数Int46Classtop班级宣言Varchar200YES33 5.系统详细设计5.1登录模块网页中建立用户登录机制,为的是限制未经过登录的浏览者不能查看用户信息、收发短消息。让用户以帐号方式登录网页是一种可行的网页管理方法。在这个系统模块的后台数据库中建立membser表,用来对用户的登录帐号、密码等信息加以保存。此处设置了用户对象的session值。通过获取session值,遍历数据库,可以确定用户是否合法和用户在班级中的权限。运行效果如图所示。图19用户登录界面5.2用户权限管理管理员对班级日常工作的维护和管理的作用,角色权限高于普通的成员,那么需要特定的属性来标识管理员的身份。用户信息表中sign字段,若为管理员此列为“1”,否则此列为“0”。只有管理员才能对用户权限进行管理,提升或取消图20权限管理界面33 5.3删除功能的实现主要技术环节是如何有效地与数据库连接,并通过使用SQL语句对数据库进行操作。删除新闻、相片、教师、留言和用户信息是管理员权限的一项重要功能。设计的实施如下所述。从表单中取得字符串,然后查询数据库有无与其相等的记录。如果有,按下删除键可以将其删除,如果记录不存在,返回用户信息,并可以继续重新操作。删除新闻、留言、相片处理方法类似用户删除操作。此处从表单中取出客户端的输入值必须被转换成与数据库中字段类型相匹配的类型,否则不能够正确的进行数据库遍历。用户删除运行效果如图所示:图21用户删除界面5.4查询功能的实现主要技术环节是如何有效地与数据库连接,并通过使用SQL语句对数据库进行操作。如果用户想要查找某人的信息或者想寻找某个教师信息,那么这项功能正好满足使用者的需要。设计思路是从表单中提取用户输入的字符,连接并查询数据库,如果查找到数据库中存在相匹配的记录,将其记录输出,否则返回一条用户信息“不存在”。具体流程:if(表单为空){33 查询数据库表}else(不为空){查询数据库中有无匹配的记录DBConnectdbc=newDBConnect("select*frommemberswhereUser_IDlike?");dbc.setString(1,("%"+User_ID.trim()+"%"));ResultSetrs=dbc.executeQuery(); if(!rs.next())//遍历到数据库末没有匹配记录{ 返回给用户信息:没找到“” }else(记录存在){ VectoruserVector=newVector();//新建用户对象do{//此处对USER的各种属性进行赋值UsertempUser=newUser();//实例化对象tempUser.setUser_ID(rs.getString(1));………………………………………tempUser.setSign(rs.getInt(17));userVector.add(tempUser);//添加用户对象}while(rs.next());dbc.close();//关闭数据库returnuserVector;//返回对象}5.5留言功能的实现此模块中通过获取用户的session值来确定数据库操作的对象。用户可以使用这个功能在本班能留言。具体实现功能代码如下:publicstaticvoidaddWord(HttpServletRequestrequest)33 throwsUserAlreadyExistException,Exception{StringUser_ID=ParamUtil.getString(request,"User_ID","");Stringcontext=ParamUtil.getString(request,"context","");StringAddTime=Format.getDateTime();DBConnectdbc=newDBConnect();//连接数据库对象if(!"游客".equals(User_ID)){HttpSessionsession=request.getSession(true);Useruser=(User)session.getAttribute("User");if(user==null||"".equals(user))thrownewException("对不起,你还未登陆,请先登陆网站.");Stringuserid=user.getUser_ID();if(!userid.equals(User_ID))thrownewException("对不起,你输入的用户名与你登陆的用户名不一致,请重新输入。");}dbc.prepareStatement("insertintoword(User_ID,context,AddTime)values(?,?,?)");dbc.setString(1,User_ID);dbc.setString(2,context);dbc.setString(3,AddTime);dbc.executeUpdate();dbc.close();}留言功能运行效果如图所示。图22用户留言界面33 5.6用户权限确认当用户点击进入班级时,他是普通成员还是管理员,他应该有哪些操作权限,此时识别用户身份具有非常重要的意义,只有认清用户的身份之后才能确定该用户能够执行哪些操作。这也是本系统模块设计的重要环节之一。功能实现使用了数据库表关联操作。首先取得用户Session值,然后执行如下语句:if(curUser.getSign()!=1)thrownewException("本页面为系统管理员专用,请在用户界面登陆。

--点此进入");被标识为管理员者才有使用删除、锁定等功能的特权。权限确认运行效果如图所示。图23用户权限确认图5.7数据库的详细设计5.7.1安装驱动程序本系统模块用JSP技术编写,那么就必须借助与JDBC(JavaDataBaseConnectivity)来操作数据库。JDBC是一组API(ApplicationProgrammingInterface),即应用程序设计接口。JDBC共有四种类型:类型一,利用桥连接器(Bridge)的概念连接数据库。类型二,运用由数据库厂商提供的用于操作数据库的API函数。类型三,这类驱动程序通过网络协议与中间件连通,中间件负责转换数据库操作信息。类型四,这类驱动不通过任何中间件,而直接以Java数据库驱动程序来执行数据库的访问。相比之下,此系统选择第三种类型的数据库驱动。它的优点更适合这个系统创建与数据库的连接。SERVER的JDBC驱动程序放在项目目录classWebRootWEB-INFlib中。Java环境并不能自动找到该驱动程序。应用时可以把驱动程序压缩包复制到ApacheTomcat服务器下的class目录中。33 5.7.2建立用户JSP与数据库连接的时候,需要使用一个合法的用户登录数据库。此系统模块在数据库中建立用户名为sa。使用控制命令:createusersaidentifiedbysa;  grantconnect,resourcetosa.建立并授予用户sa权限。密码为sa。用户的缺省表空间为SYSTEM表空间。5.7.3操作数据库  在执行查询动作之前,必须在程序中使用Connection对象的createStatement方法,建立Statement对象,以代表执行的SQL语句。连接驱动,用户登录数据库Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringm_url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=class";Stringm_user="sa"; //sa为数据库用户名。Stringm_password="sa"; //数据库密码sa。ConnectionconDB=DriverManager.getConnection(m_url,m_user,m_password);建立Statement对象Statementst=conDB.createStatement();执行查询动作,并将查询结果以Resultset对象返回。Resultset rs=st.executeQuery("select*frommembers");取得字段数据。使用ResultSet类的get方法,可以从ResultSet对象中,取得当前记录中各个字段的数据。利用while取得记录集中的所有记录。在程序中执行数据库查询动作所得到的查询结果,相当于在程序中建立了一个虚拟数据工作表,既记录集。当需要从这个虚拟数据工作表中取得记录时,必须先将记录指针移到该记录上,然后利用ResultSet对象的get方法取得。此时必须利用ResultSet.next()方法,配合while循环移动记录指针,逐条将数据从记录中取出。当next()方法将指针移动到最后一条之后时,返回false值。while(rs.next())  {   <%=rs.getString("banjimingcheng")%>   <%=rs.getString("nianji")%>  }关闭数据对象和链接对象publicvoid33 jspDestroy(){ try {  st.close();    conDB.close();    rs.close(); } catch(Exceptionex) {  System.out.println(ex.toString()); }}5.7.4数据库接口JDBC驱动程序连接数据库是通过表4.5中的接口来完成的。所有的驱动程序提供java.sql.*的实现。表JDBC驱动程序接口接口名称功能描述Java.sql.Driver提供各种方法,用于读取数据库驱动器的信息。提供connect()方法。Java.sql.DriverManager主要用来管理Driver对象连接数据库。Java.sql.Connection创建Statement对象。Java.sql.Statement对特定的数据库执行SQL语句。Java.sql.ResultSet控制一个特定语句的行数据的存取。33 6.系统测试6.1测试目的任何系统的开发都不可能做到完美,都存在一定的问题和漏洞,有些很明显的表现出来,而有些却很隐蔽,只有不断的检验测试才能发现系统中存在漏洞及不足的地方,并在此基础上总结系统开发过程中所出现的问题和解决的方法,汲取软件开发经验。为系统今后可能出现的更多更深层次的问题的解决提供一定的基础,力求进一步完善创新系统的各项性能。6.2测试方法软件测试方法一般分为两种方法:黑盒测试和白盒测试。黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程统开发周期中一个十分重要的阶段,其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程的最终审查,如果错误不能在测试阶段被发现并纠正,就会造成不堪设想的后果。在仓库管理系统中测试的对象不仅仅是源程序,而是整个软件。系统测试是以找错误为目的,不是要证明程序无错,而是要精心选取那些易于发生错误的测试数据,以十分挑剔的态度,证明程序有错。白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否符。在进行白盒测试时,开发者对其软件进行测试,在完全了解系统功能、内部结构的前提下对系统进行测试,看实现的功能与想要实现的设计有什么冲突不符,并及时改正。6.3测试用例本系统采用黑盒测试方法,运用边界值分析法测试输入输出。测试结果如下图所示。33 图24系统测试用户注册过程中,两次输入的密码不一直,系统提示错误信息。图25系统测试用户注册时输入的密码少于6位数,系统提示错误信息33 图26系统测试用户注册中输入的用户名少于6个字符,系统提示错误信息6.4测试结果经过多次测试,证实系统基本达到了设计目标,实现了功能设计目标但是还存在许多不足和缺陷,还需今后进一步完善。33 参考资料[1]张海藩著.《软件工程导论》[M].清华大学出版社.2003.12.[2]HansBergsten著.何健辉,许俊娟译.《JSP设计》[M].中国电力出版社.2001.1.[3]飞思科技产品研发中心编著.《JSP应用开发祥解》[M].电子工业出版社.2001.7.[4]杨钰,卢银娟,赵昊彤等编著.《JSP网络开发技术》[M].人民邮电出版社.2002.1.[5]徐进明编著.《JSP网站开发技术》[M].清华大学出版社.2002.6.[6]吴建平,尹霞,冯晓冬编著.《JAVA程序设计语言》[M].清华大学出版社.2004.6.[7][美]HerbertSchildt著.张玉清,尚勇等译.《JAVA2参考大全》[M].清华大学出版社.2000.2.[8]北京博彦科技发展有限责任公司编著.《JAVA编程高手》[M].北京大学出版社.2002.4.[9]CayS.Horstmann,GaryCornell著.李如豹,刚冬梅等译.《JAVA核心技术I》[M].清华大学出版社.2000.4.[10]计算机毕业设计网著.刘芳等译.《J2EE技术内幕》[M]http://www.bylw120.com.2003.4.[11]萨师煊,王珊编著.《数据库系统概论》[M].高等教育出版社.2002.4.[12]龚波,等.《SQLServer2000教程》[M].北京:希望电子出版社,2002.733 致谢这次毕业设计是对我大学四年来所学知识的回顾和总结,在此基础上进行了综合应用和拓展。在这次毕业设计过程中,我掌握了一般系统设计的方法,同时也对我实践应用能力提出了更高的要求,开拓了视野,拓展了知识面。在设计中,我遇到了诸多困难,主要原因是自己掌握的知识并不扎实,所以光懂得一些书本上的知识是远不行的!通过实践我发现需要学习的东西还有很多,不仅限于课本上还有好多实践的经验。知识不是知道了,了解了就好,一定要去应用它,发展它,让它在现实生活中体现,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在联系。计算机是一门非常复杂、庞大的学科,一项课题往往需要多项技术才可以完成。感谢指导老师xx对我的耐心帮助,感谢大学四年里对我辛勤培养和教育的所有老师,感谢给予我帮助和鼓励的所有同学33

最近下载