基于J2EE的学生社团管理系统论文_第1页
基于J2EE的学生社团管理系统论文_第2页
基于J2EE的学生社团管理系统论文_第3页
基于J2EE的学生社团管理系统论文_第4页
基于J2EE的学生社团管理系统论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE32摘要随着Internet技术的兴起,将原本在单片机或者本地局域网上运行的数据库系统移植到因特网中,即开发B/S模式的新一代MIS(ManagementInformationSystem,管理系统)系统,正成为技术发展的趋势。为了保证系统系能的可扩展行,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JSP(JavaServerPages)技术和采用SQLServer2008数据库系统组件来构成的应用信息管理系统,本文开发了基于B/S模式多用户学生社团管理系统这一程序。它运用方便、操作简单,效率很高,并且具有跨平台性,主要提供了对学生社团的管理平台。在系统中,主要分为五个模块,第一模块是用户管理,第二模块是社团信息,第三模块是社团成员,第四个模块是社团活动,第五个模块是留言板模块。这些模块组成了社团管理系统。本设计利用了Java的开源框架,使得系统解耦化和模块化,便于系统的维护。关键词:SQLServer2008,JSP技术,学生社团,信息管理系统.ABSTRACTWiththeriseofInternettechnology,originallyinthestand-aloneorlocalareanetworkdatabasesystemrunningonmigrationtotheInternet,whichdevelopedB/SmodelofanewgenerationofMIS(ManagementInformationSystem,ManagementSystem)system,isbecomingthetrendoftechnologicaldevelopment.DepartmentofEnergytoensurethesystemcanbeextendedtrip,andtoachievedatasharingandnetworkmanagementpurposes,thesystemusestheB/Sarchitecturedesignanddevelopment.Useofnetworkanddatabasetechnology,combinedwiththecurrenthardwarepricesgenerallyfallandthebroadbandnetworkbuiltinafavorableadvantages,applicationsusingJSP(JavaServerPages)technologyandSQLServer2008databasesystemcomponentstoformtheapplicationofinformationmanagementsystems,thepaperdevelopedbasedonB/SmodeandmoreUsermanagementsystemthatprocessesstudentsocieties.Itusesconvenient,easy,efficient,andhascross-platform,primarilytoprovideamanagementplatformforthestudentsassociation.Inthesystem,dividedintothreemodules,thefirstmoduleiscommunitymanagement,andthesecondmoduleisacommunityeventmanagement,andthethirdmoduleistheuseramessagemodule.Thesemoduleshaveformedaclubmanagementsystem.Thesystemusesajavaopensourceframework,makingthesystemdecouplingandmodularization,easysystemmaintenance.Keywords:SQLServer2008,JSPTechnology,StudentAssociation,MIS.

目录TOC\o"1-3"\h\u799摘要 I980ABSTRACT II23237第1章引言 1147731.1背景 1258051.2研究内容 2292491.3系统可行性分析 210850第2章学生社团管理系统分析 4313492.1需求分析 448712.2业务流程分析 479062.3系统子功能分析 4319162.4系统技术分析 5124122.4.1B/S模式的优点 525502.4.2数据库选择SQLServer2008的优点 6188092.4.3JSP技术介绍 7263852.4.4MyEclipse6.5开发工具 7312482.4.5MVC系统架构 8156572.4.6SSH框架 8338第3章数据库设计 10182893.1系统模块功能图 10195733.2数据库设计概述 10188683.2.1概念模型设计(E-R图) 11137683.2.2E-R图向关系模型的转化 12276573.2.3物理模型设计 12102353.2.4数据项具体设计 13116343.2.5数据库关系图 16125043.3数据库设计总结 1727700第4章系统项目的创建 1898974.1创建SQL数据库 18148834.2系统项目的创建 18240224.3项目与Tomcat的搭建 1892864.4项目搭建总结 196284第5章程序主要页面设计介绍 2042055.1系统首页 20267205.2用户登录与注册 20104235.3用户管理界面 21149275.4社团管理界面 23194885.4.1社团活动管理界面 23183215.4.2社团成员管理界面 24298285.5留言板管理界面 26148605.6主要程序代码 2617854第6章系统测试 2924226.1测试目的 29222266.2测试环境 29323546.3测试方法 2933876.3.1白盒法 29293826.3.2黑盒法 29255566.4测试步骤 29255446.5社团管理系统的测试 30513第7章结束语 3118125致谢 3227888参考文献 33第1章引言1.1背景大学生社团管理是新时期高校学生思想政治工作新的着力点,随着学分制的实行以及学校管理集中化,系统管理机构被压缩,班级的集体意思逐渐淡化,凝聚作用和贯彻思想政治教育的功能弱化了[1];学生社团以其影响的广泛性、内容的直接性、参与者的自愿性以及活动方式的多样性和活动效果的有效性,在大学生素质教育中发挥着越来越重要的作用,同时也为学生思想教育管理提供了新的阵地。在新时期,加强高校学生社团的管理,积极引导青年学生参加健康向上的社团活动,是关系到青年学生健康成长和素质教育全面推进的大事,也是学生自我实现和成长成才的现实需要。据调查,全国高校中的社团大都是挂靠在校团委,有校团委负责全部社团管理。这种管理体制的好处是团委代表学校熟悉全校社团的整体发展情况,同时学生社团具有较大的自由性,激发了学生的积极性和创造性,实现了学生自己管理自己组织的目的;但另一方面,由于校团委本身事务繁多,资金有限,社团只是其工作内容的一部分,由于管理松懈,活动缺乏创意甚至很少搞活动,社团经费管理混乱,常常经费不足,会员信息经常删改,管理干部工作分工不明,使社团活动正常开展收到了很多的制约[1]。总体看来,自学生社团联合会到各社团,都不同程度地存在管理上的缺陷,主要问题如下:(1)活动不够稳定,缺乏持久的生命力,常看到这样一种现象:新学年开始,各社团的宣传标语、活动介绍铺天盖地,纷纷招兵买马,并趁势开展一些活动,但不久就平静下来,会员兴趣递减,积极分子所剩无几,没有社联有效的监督,愈多社团处于闲置状态,很少主动地开展活动。(2)社团联合会长期没有一个健全的规章制度,对社长,社团干部无健全的监督与管理机制,缺乏服务意识。社团的活动与财务管理混乱,社团联合会缺乏一种对各社团会长监督与管理的机制。(3)社团内部管理混乱,缺乏或者不遵守明确地能真正约束社员行为的章程。对会员信息的增改等也缺乏及时的,有效的管理,加上组织能力差导致社团活动的失败或者夭折。(4)没有一整套调动社员积极性的方案。社员对社团活动抱着可参加可不参加的态度,甚至某些社员对社团活动根本不闻不问,从不参加社团通知的活动,五十社团的纪律,缺乏奖惩管理。(5)财政不足是普通影响社团发展的问题。目前,大多数高校学生社团的活动经费大致来源于三个途径:从校团委的行政经费中拨划;会员所交的会费;企业的赞助。三种方法中,后两者虽为活动资金的主要来源,但一个数量有限,一个不稳定,学校团委方面一般拨款也是很有限。很多社团的财务管理不善,而且不公开透明,导致资金缺乏,会员也不知钱都用在什么方面,产生诸多问题。总之,高校的学生社团管理是一个比较长期的、复杂的过程,期间会牵涉到诸多方面的因素,随着科技的发展和生产力水平的不断提高,计算机已成为人们生活中不可缺少的工具。今天,信息资源是各个部门的重要财富和资源。建立一个满足各级部门信息处理且行之有效的信息系统也成为一个企业或组织生存发展的重要条件,使用一套功能完善的大学生社团管理系统,会大大的提高社团的管理效率。1.2研究内容为了能更好的对学生社团进行信息化系统管理,本系统以学校社团的实际情况为基础,采用JSP+SQLServer2008,开发出一个适合我校的B/S架构的社团管理信息系统,该系统是站在社联的角度上,对整个社团进行有效、协调的管理,并且给每个社团分配一定的权限,增强各个社团对自身的独立管理,这样便达到了社联在管理社团的同时保证了每个社团的独立性,从而健全和完善了我校学生社团的管理机制,使社团的工作能够更加顺利的开展。对于本学生社团管理系统,其功能目标是实现将现有的社团管理模式向基于Internet的无纸张化社团管理模式的转变,所以它必须实现本身社团信息的管理,对参与社团活动的学生的管理。通过互联网联络协会成员的关键是要建立一个通畅的沟通平台,这样可以方便地实现会员与协会,会员与会员之间的沟通。通过B/S结构,实现对学生社团的活动管理,社团信息和会员信息管理等,方便操作。1.3系统可行性分析随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经拥了百兆,甚至千兆的校内网络通信息平台,通过计算机网络实现各种信息服务,并进行异地教育和培训。另一方面,现在的很多高校,为丰富学生的校园生活,培养学生的个性,促进特长学生的培养,学生会组织了很多社团。每个同学,根据参与自愿的原则,可以参加与自己兴趣相符的社团,但随着校园学生人数的增多,对社团及社团成员的管理,传统的方式日显不能胜任。学生社团的管理主要有两大部分,一是批准合法的社团的建立及无人员参加的社团的清理或删除,另一个是对具体社团本身的管理[2]。其中很重要的一个环节就是具体社团管理,同时它也是本系统最难实现的环节。对于,一个具体的社团,学生可以自由的参加该社团组织的各种活动,如何对这类信息的管理是一个难点,另一方面,随着学生社团的增多,如何有效的对各个社团间信息的划分也是一个难点,这就需要对社团进行归类处理.显然,随着学生人数的不断增加及学生社团要求的不断提高,管理者的工作量将会越来越大,并且其工作将是一件十分烦琐和非常难以组织的事情,可以说传统的管理方式已经不能适应急剧扩大的学校规模需要。随着计算机应用的迅猛发展,网络应用不断扩大,如WWW服务、虚拟社区等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行学生社团的组织和管理,以减轻管理者的工作负担及提高工作效率,与此同时也提高了校园的文化氛围,更加激发学生的学习兴趣。基于B/S模式的信息管理系统是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使使用者不受地域的局限。一个完备的学生社团管理系统可以使学生在任一台接入校园网或Internet的计算机上,浏览社团信息,查看各社团组织的各种活动,这将大大的激发学生的兴趣,使在校大学生能力、个性得以全面的培养。为了适应新形势的发展,本文进行了这一系统的初步设计工作,希望它能够在各类高校中发挥高效、便捷的作用,达到简化管理、面向学生的目的。第2章学生社团管理系统分析2.1需求分析需求是对信息系统应该具备的目标、功能、性能等要素的综合描述。根据对浙江科技学院的社团管理的调查,详细了解、分析了社团管理的现状,归纳和总结了社团的需求,明确了系统的功能。其功能主要如下:前台显示最新的社团活动信息,以及其他用户在留言板上的留言!后台管理:•用户管理(添加、删除、修改用户信息)•社团管理(添加、删除、修改社团信息)•社团活动管理(添加、删除社团活动信息)•留言板信息管理(添加、删除留言)2.2业务流程分析业务流程图是系统各部门、人员之间关系、业务关系、作业顺序、管理信息流动的图形表示。它可以帮助分析人员找出业务流程中的不合理迂回,逐个调查所有环节需求信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态。下面图2-1是该社团管理系统简单的业务流程图。图2-1学生社团管理系统业务流程图2.3系统子功能分析本系统包括用户登录、用户管理、社团信息管理,社团活动管理、留言板管理等模块。根据所需的功能需求,各模块实现的功能如下:用户登录:本系统为3种用户实现登录即系统管理员(admin),普通注册用户和社团负责人登录。普通登录用户仅赋予对社团活动的查看,以及留言板上留言和回复。社团负责人可以对本社团相关的信息进行查询,编辑,删除,例如:添加社团活动信息,添加删除社团成员等。Admin则包括了以上2种权限,可以对所有的社团进行管理操作;用户管理功能:本社团负责人和admin可以对该社团的成员信息进行添加删除修改等功能;社团信息管理:admin可以添加一个新增的社团。当社团成立后,admin指定一个社团负责人对该社团的信息进行相应的操作;社团活动管理:社团活动信息由admin或者本社团负责人进行管理。可以新增一个社团活动信息并发布,也可以删除该活动信息;留言板模块:普通用户可以留言和回复留言。系统管理员还可以删除某些留言信息。2.4系统技术分析2.4.1B/S模式的优点在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器[2]。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器[2]。这种三层体系结构如图2-2所示:数据库数据库BrowserWeb服务器图2-2三层体系结构图采用该结构软件的优势在于:1、无须开发客户端软件,维护和升级方便;2、可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;3、具有良好的开放性和可扩充性;4、可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。这种三层结构层与层之间相互独立,任何一层的改变不影响其他层的功能。三层B/S结构将应用的三个部分明确的分开:表示部分、应用逻辑部分、数据访问部分。这三个部分在逻辑上独立的分开,分别加以实现,称之为:客户端、应用服务器、数据库服务器。而在客户端和应用服务器之间加入一个WEB服务器,就形成了一种特殊的B/S结构:Browser/Server,只在客户端安装浏览器软件即可[2]。客户端使用InternetExplore时,就可以让InternetExplore变成为能够处理数据的应用系统。由于这种模式是提供一个跨平台的、简单一致的应用环境,实现了开发系统与应用系统的分离,因此避免了为多重不同的操作系统开发同一应用系统的重复操作,便于用户群的扩展、变化以及应用系统的管理。因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件开发中一种流行的体系结构.所以在开发本系统时采用这种模式。2.4.2数据库选择SQLServer2008的优点SQLServer2008具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。SQLServer2008支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除、检索数据[3]。SQLServer2008能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQLServer2008的情况,SQLServer2008为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQLServer2008还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O等。SQLServer2008不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也用在需要在客户端本地存储独立数据库的应用程序中。SQLServer2008可以动态地将自身配置成能有效地使用客户端桌面或膝上型电脑中的可用资源,而不需要为每个客户端专设一个数据库管理员。应用程序供应商还可以将SQLServer2008作为应用程序的数据存储组件嵌入到应用程序中。SQLServer在网络组件的顶部添加了服务器特有的中介组件,诸如开放式数据库连接(JDBC)后能使不同客户机进行相互连接,它可处理基于Internet的应用程序,帮助用户把SQLServer数据库信息集成到Web页面。2.4.3JSP技术介绍JSP(JavaServerPages)使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑[4]。为什么要使用JSP呢?1.一次编译,多次、多处运行,代码的执行效率高。JSP的脚本语言是JAVA语言,因此它具有JAVA语言的一切特性。同时,JSP也支持现在大部分平台。当JSP第一次被请求时,JSP页面转换成Servlet,然后被编译成.calss文件,以后(除非页面有改动或Web服务器被重新启动)再有客户请求该JSP页面时,JSP页面不被重新编译,而是直接执行已编译好的.class文件,因此执行效率特别高[4]。2.组件的重用性可重用的、跨平台的JavaBeans和EJB(EnterpriseJavaBeans)组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序(如页面中需要显示的动态内容及对数据库的操作)放到组件中。可以多次使用这些组件,极大的减少了在JSP页面中重写重复的代码。3.将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者脚本来生成页面上的动态内容。生成动态内容的语句一般被封装在JavaBean组件、EJB组件或JSP脚本段中[4]。这样,页面的设计人员和页面的编程人员可以同步进行。同时在客户端通过查看源文件,看不到JSP标识的语句,更看不到JavaBean和EJB组件,也可以保护源程序的代码。2.4.4MyEclipse6.5开发工具MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高了工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,JavaScript,SQL,Hibernate。2.4.5MVC系统架构MVC(Model-View-Controller)是一个架构模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务[2]。视图是用户看到并与之交互的界面。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBS和ColdFusionComponents这样的构件对象来处理数据库[2]。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:Servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据[3]。总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户[3]。2.4.6SSH框架Spring+Struts+Hibernate简称SSH架构[4]。Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的Web应用程序的开发[4]。Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任[4]。这三个技术在系统中的关系是,Spring代理Struts,管理Hibernate,在Struts层实现MVC结构,表单验证数据的合法性,控制请求和页面的跳转,用Hibernate实现数据库访问的持久化。

第3章数据库设计为了给本系统的数据库维护和扩展留下一定的余地,我采用的是SQLServer2008作为后台支持的数据库。为了储存库存管理系统的数据,在SQLServer2008中建一个名为StudentLeague的数据库,在此数据库内存放相关的系统的数据表。3.1系统模块功能图系统结构图是结构化设计方法使用的描述方式,也称结构图或控制结构图[5]。它表示了一个系统(或功能模块)的层次分解关系,模块之间的调用关系,以及模块之间数据流和控制流信息的传递关系,它是描述系统物理结构的主要图表工具。为了能更清楚地了解本系统的开发功能,下面是该系统的结构图:学生社团其他用户查看社团学生社团其他用户查看社团社团成员管理社团活动管理留言板社团管理用户管理社团成员管理社团活动管理留言板社团管理用户管理管理员管理社团匿名用户注册个人或管理员管理用户管理员能删除留言所有用户可留言和回复管理员管理社团成员负责人管理社团成员其他用户查看社团活动信息负责人管理社团活动信息管理员管理社团活动信息管理员管理社团匿名用户注册个人或管理员管理用户管理员能删除留言所有用户可留言和回复管理员管理社团成员负责人管理社团成员其他用户查看社团活动信息负责人管理社团活动信息管理员管理社团活动信息图3-1学生社团管理系统功能结构图3.2数据库设计概述数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求[5]。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作[5]。数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境包括:数据库数据的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。3.2.1概念模型设计(E-R图)概念模型是按用户的观点对数据和信息建模,是将现实世界的客观对象抽象为一种不依赖与计算机系统和一个数据库管理系统(DBMS)的信息结构模型。这一设计阶段是在需求分析的基础上进行的,目的是设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的表设计打下基础。概念模型最常用的表示方法是实体-联系方法(EntityRelationshipApproach)。E-R图提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[5]。下面是该学生社团管理系统的E-R图:图3-2E-R图根据对该系统的分析,可以得到如下的实体之间的联系:一个用户可以参加多个社团,而一个社团由多个成员组成;一个社团可以举行多次社团活动;一个用户可以是多种角色,而一种角色可以有多个用户;一个用户可以发表多条留言信息。3.2.2E-R图向关系模型的转化关系模型的逻辑结构是一组关系模式的集合。E-R图则是实体型、实体的属性和实体型之间的联系3个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转化为关系模式[6]。E-R图向关系模型转换的结果如下所示,其中带下划线的是关键码:普通用户:(用户编号、用户名、昵称、所在班级、密码、邮箱)社团成员:(ID号、用户编号、所属社团、是否社团负责人)学生社团:(社团编号、社团名称、创建日期、社团人数)社团活动:(活动编号、标题、所属社团编号、开始日期、结束日期、是否发布、发布日期)留言板:(留言编号、用户编号、内容、父留言编号、留言日期)3.2.3物理模型设计数据表结构设计的主要目的是根据逻辑设计的结果,将逻辑模型转换成选用的数据库系统所支持的数据模型相一致的模型,本系统选用SQLServer2008数据库作为本系统的后台数据库。下面对本系统的数据库的数据表进行了设计和介绍。表3-1数据结构表编号结构名称含义说明组成1用户用户的基本信息用户编号+用户账号+用户名+班级+密码+邮箱2社团信息学生社团的基本信息社团号+社团名称+创建日期+社团人数3社团成员社团成员信息用户编号+社团编号+是否为社团负责人4社团活动社团活动信息活动编号+标题+所属社团+开始日期+结束日期+是否发布+发布日期5留言板留言板信息留言板编号+用户编号+留言内容+父留言编号+留言日期3.2.4数据项具体设计每张表在数据库里都有相关的具体的定义,为此表3-2至表3-8就是对表中不同的数据项进行具体化。表3-2用户表编号数据项名称数据项别名数据类型及长度数据项含义1用户编号UserIDint客户的唯一标识2用户账号UserNamevarchar(20)非空3用户名字Namevarchar(20)非空4班级ClassNamevarchar(20)5密码Passwordvarchar(20)非空6邮箱E_mailvarchar(50)以下是通过SQL语句来创建用户表信息的代码:CREATETABLESL_Users( UserIDintnotnullprimarykey, UserNamevarchar(20)notnull, Namevarchar(20)notnull,ClassNamevarchar(20)null,Passwordvarchar(20)notnull,E_mailvarchar(50)null,);表3-3社团信息表编号数据项名称数据项别名数据类型及长度数据项含义1社团编号StudentleagueIDint社团的唯一标识2社团名称Namevarchar(50)非空3创建日期CreateDatedatetime非空4社团人数User_Numberint非空以下是通过SQL语句来创建用户表信息的代码:CREATETABLESL_StudentLeague( StudentleagueIDintnotnullprimarykey, Namevarchar(50)notnull, CreateDatedatetimenotnull,User_Numberintnotnull);表3-4社团活动信息表编号数据项名称数据项别名数据类型及长度数据项含义1活动编号ActivityIDint社团活动的唯一标识2标题Titlevarchar(50)非空3社团编号StudentLeagueIDint外码,非空4开始日期StartDatedatetime5结束日期EndDatedatetime6是否发布IsPublishbit非空7发布日期Publishdatedatetime以下是通过SQL语句来创建用户表信息的代码:CREATETABLESL_Activity( ActivityIDintnotnullprimarykey, Titlevarchar(50)notnull, StudentLeagueIDintnotnull,StartDatedatetimenull,EndDatedatetimenull,IsPublishbitnotnull,PublishdatedatetimenullForeignkeyStudentLeagueIDreferencesSL_Studentleague(StudentleagueID));表3-5社团成员表编号数据项名称数据项别名数据类型及长度数据项含义1社团成员编号IDint社团成员的唯一标识2用户编号UserIdintFK,非空3所属社团编号StudentLeagueIDintFK,非空4是否负责人IsHeaderbit非空以下是通过SQL语句来创建用户表信息的代码:CREATETABLESL_StudentLeague_Users( IDintnotnullprimarykey, UserIDintnotnull, StudentLeagueIDintnotnull,IsHeaderintnotnullForeignkeyUserIDreferencesSL_Users(UserID),ForeignkeyStudentLeagueIDreferencesSL_StudentLeague(StudentLeagueID),);表3-6留言信息表编号数据项名称数据项别名数据类型及长度数据项含义1留言板编号MessageBoardIDint客户的唯一标识2用户编号UserIdintFK,非空3留言内容MBContentVarchar(500)非空4父留言ParentIDint5留言日期CreateDatedatetimeCREATETABLESL_MessageBoard( MessageBoardIDintnotnullprimarykey, UserIDintnotnull, MBContentvarchar(500)notnull,ParentIDintnull,CreateDatedatetimenull,ForeignkeyUserIDreferencesSL_Users(UserID),);表3-7用户角色信息表编号数据项名称数据项别名数据类型及长度数据项含义1角色编号RoleIDintPK2角色名NameVarchar(20)非空3称谓NameDesVarchar(20)非空CREATETABLESL_Users_Roles( UserIDintnotnullprimarykey, Namevarchar(20)notnull,NameDesvarchar(20)notnull);表3-8用户角色信息表编号数据项名称数据项别名数据类型及长度数据项含义1用户编号UserIDintPK2角色编号RoleIDintPKCREATETABLESL_Users_Roles( UserIDintnotnull, RoleIDintnotnullprimarykey(UserID,RoleID));3.2.5数据库关系图数据库关系图可以是数据库结构的整体或部分图片;它包括表的对象、表所包含的列和它们之间的关系。为了让大家能够更好的了解系统数据库的结构,下面是系统的数据库关系图:图3-3数据库关系图3.3数据库设计总结本章主要介绍了数据库设计的重要性,并对本系统的数据库进行了分析与设计。一个成功的管理系统,数据库设计的好坏是一个关键。数据库设计就是对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)[5]。

第4章系统项目的创建4.1创建SQL数据库使用SQL数据库,步骤如下:安装SQLServer2008,安装完成后设置SQL数据库为"Sa"登录;打开SQLServer配置管理器,配置TCP/IP协议状态为“已启用”;重启SQLServer服务器;打开SQLServer2008,创建数据库,数据库名为:StudentLeague;可以手动建表,也可以输入SQL语句建表,例如:CreatetableSL_StudentLeague(StudentLeagueIDintprimarykey,Namenvarchar(50)notnull,CreateDatedatetimenotnull,User_Numberintnotnull);[9]4.2系统项目的创建打开MyEclipse6.5,右键-【New】-【Project】,选择【WebProject】,输入项目名称StudentLeague。图4-1MyEclipse6.5创建项目图4.3项目与Tomcat的搭建首先安装Tomcat6.0,启动MyEclipse6.5,点击【window】-【preferences】-【MyEclipse】-【servers】-【Tomcat6.x】,添加Tomcat6.0到MyEclipse6.5,然后点确定[6]。图4-2Tomcat与MyEclipse6.5的搭建4.4项目搭建总结本章主要演示了系统项目在MyEclipse6.5+Tomcat+SQLServer2008的搭建过程。搭建项目后,就可以在MyEclipse6.5里面编写程序代码,实现系统的各个功能模块。

第5章程序主要页面设计介绍5.1系统首页启动Tomcat6.0,在IE中输入http://localhost:8080/StudentLeague/。浏览器会跳转至该系统的首页[6]。图5-1系统首页5.2用户登录与注册点击图5-1系统首页上的登录按钮,可以跳转到用户的登录界面。该登录模块是实现管理员的合法性检查和操作权限验证。在程序开始后,首先输入用户名和密码。系统会对输入的用户名和密码在相应的数据库里核对,如果用户名和密码都正确,则登录成功。如果用户名或者密码错误,则会给出相应的提示。如果没有账户的游客想使用该系统,可以选择页面左边的【注册用户】进行资料的注册。图5-2用户登录图5-3用户登录失败5.3用户管理界面该模块主要实现了对用户这一块的管理,包括对用户的添加,删除,修改,查询等功能。这个权限只有管理员admin才拥有。当admin进入系统用户管理时,可以在查询框中输入用户的姓名或者用户名进行查询该用户的资料,对于查询出来的用户资料,还可以通过点击【编辑】和【删除】分别对用户资料进行修改或者删除。下面图5-4是用户管理界面图:图5-4用户管理界面图admin也可以点击【新增用户】,或者游客可以点击系统首页的【注册用户】,对新用户进行资料的注册,需要填写用户名、密码、姓名、班级、邮箱等资料。图5-5用户注册界面5.4社团管理界面该模块主要实现了对社团这一块的管理,包括社团活动的添加删除,社团成员的添加删除,社团资料的修改删除。只有管理员admin和本社团负责人可以行使该功能。普通用户则没有这权限。当管理员登陆成功后,可以点击页面左侧的【社团管理】,可以在最上面的框里输入社团名对社团信息进行查询;当不输入关键字时,点击【查询】,可以查看所有注册社团的全部信息,对于查询出来的社团,可以对其进行【社团活动】管理,【社团成员】管理,还能修改社团的资料或者删除一些不必要的社团。如图5-6;图5-6社团管理主页面还可以点击右上侧【新增社团】,添加一个新的社团。下面是社团管理的部分界面图:图5-7新增社团界面5.4.1社团活动管理界面该模块主要实现对社团活动的发布和删除。Admin和本社团负责人拥有该权限。点击【新增社团活动】,可以编辑发布最新的社团活动信息(图5-8)。点击【删除】,可以删除一些不用的社团活动。图5-8社团活动管理界面5.4.2社团成员管理界面该模块主要是针对社团招收新人,删除闲置人员而设计的。点击【添加社团成员】,可以在普通用户里面招收相关的人员到本社团。图5-9招收社团成员界面管理员还可以设置该社团的社团负责人,给予它一定的权限,可以对该社团进行添加社团成员和社团活动管理的操作。图5-10社团负责人设置当用户被给予了社团负责人的权限之后,就具有一定的权限,可以执行相关的社团活动管理。图5-11社团负责人权限界面5.5留言板管理界面为了使各位用户能够建立良好的沟通,分享身边发生的趣闻趣事,同时使更多的人关系学生社团的发展情况,因此开发了这个留言板[7]。只有管理员admin能够管理留言板,删除一些影响不好的留言。普通用户可以拥有留言、回复留言功能。而未注册的游客只能浏览一下留言板,不能发表任何留言和回复任何留言。下面是管理员admin对留言板管理的界面:图5-12留言板界面5.6主要程序代码<%@pagelanguage="java"pageEncoding="UTF-8"%><%@tagliburi="/tags-bean"prefix="bean"%><%@tagliburi="/tags-html"prefix="html"%><html> <head> <title>登陆页面</title> <linkrel="stylesheet"type="text/css"href="../css/skin.css"> <linkrel="stylesheet"type="text/css"href="css/skin.css"> <scriptlanguage="javascript"> functioncheck(){ if(document.all.username.value==""){ alert("请输入用户名"); document.all.username.focus(); returnfalse; } elseif(document.all.password.value==""){ alert("请输入密码"); document.all.password.focus(); returnfalse; } else{ returntrue; } } </script> </head> <body><divclass="login"> <html:formaction="/manageUser"> <tableclass="formTB"> <tr> <tdclass="caption"> 用户名: </td> <td> <html:textproperty="username"/> <html:errorsproperty="username"/> </td> </tr> <tr> <tdclass="caption"> 密码: </td> <td> <html:passwordproperty="password"/> <html:errorsproperty="password"/> </td> </tr> <tr> <tdcolspan="2"align="center"> <html:submitonclick="returncheck();">提交</html:submit> <html:reset>重置</html:reset> <html:hiddenproperty="act"value="login"/> </td> </tr> </table> </html:form> </div> </body></html>publicListfindUserNotInLeague(finalStringname,finalStringleagueId){ log.debug("gettingSlUsersinstancewithleagueId:"+leagueId+"andname:"+name); try{ Listusers=this.getHibernateTemplate().executeFind(newHibernateCallback(){ publicObjectdoInHibernate(Sessionsession) throwsHibernateException,SQLException{ Stringsql="SELECT*FROMSl_Userswhere1=1"; if(name!=null&&!name.equals("")){ sql+="andnameLike'%"+name+"%'"; } if(leagueId!=null&&!leagueId.equals("")){ sql+="andnotuserIdin(selectUserIDfromSL_StudentLeague_Users"; sql+="whereStudentLeagueID="+leagueId+")"; } System.out.println("sql:"+sql); SQLQueryq=session.createSQLQuery(sql); returnq.list(); } }); returnusers; }catch(RuntimeExceptionre){ log.error("getfailed",re); throwre; } }

第6章系统测试6.1测试目的依据用户需求,概要设计和详细设计说明,设计测试用例,对软件系统进行测试。其目的是:测试是为了发现程序中的错误而执行程序的过程。好的测试方案是极有可能发现迄今为止尚未发现的错误测试方案成功的测试是发现了至今为止尚未发现的错误的测试。6.2测试环境1.JSP+SQLServer2008+Tomcat6.0+操作系统Windows7。2.测试重点是系统基本功能模块。6.3测试方法6.3.1白盒法其测试的前提是可以把程序看成装在一个透明的白盒子中,也就是完全了解程序的结构盒处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每一条通路是否能按预定的要求正确工作[10]。6.3.2黑盒法其测试前提是把程序看成一个黑盒子,完全不考虑程序的内部结构盒处理过程。也就是说黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接收输入的数据产生正确的输出信息,并保持外部信息的完整性[11]。6.4测试步骤一般大型软件系统的测试基本上包括5个步骤:模块测试、子系统测试、系统测试、验收测试和平行运行[11]。软件测试在软件生命周期中横跨两个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论