基于JSP的校园社团管理系统.doc_第1页
基于JSP的校园社团管理系统.doc_第2页
基于JSP的校园社团管理系统.doc_第3页
基于JSP的校园社团管理系统.doc_第4页
基于JSP的校园社团管理系统.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计基于JSP的校园社团管理系统学生姓名刘伟强学 号070920061系 部计算机与电子工程学院专 业计算机科学与技术班 级计科0702指导教师汤凌冰职 称讲师湖 南 商 学 院2011年6月本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业论文(设计)作者签名: 刘伟强 二 年 月 日 湖南商学院毕业设计(论文) 内容摘要学生社团管理系统主要是为了给领导、各社社长、社员提供一个平台,在这个平台里社员可以在里进行活动策划、交流、发表对各社意见看法,社长可以管理本社团的社员,而学校领导则可以对整个学校的社员,活动情况进行有效管理。本系统主要完成了对用户权限、社员留言、社团新闻发表、社团活动申请、社员信息查询与修改、社团介绍等功能。系统开发主要包括JSP页面设计,servlet类编写与数据库表设计。本系统采用了JSP+Servlet+Mysql工具结构,因为学校社团数据量不是很大,故选用了简单方便的Mysql数据库。本系统共包括三个大模块,分别对应三种不同的权限。三个大模快分别为:社员模快,社长模快,学校领导模快,每个大模快又分为若干个小模快。社员模快包括社员留言、社团新闻阅读、社员信息修改、学校所有社团介绍、活动申请五个小模快。而社长模则包括社团成员管理、社团新闻发布、活动申请、个人信息修改四个小模快。学校领导则包括学校所有社员管理、社长任命、活动批准、发表社团新闻四个小模快。本文从社团管理系统在学校社团生活中产生的作用出发,详细阐述了一个功能较完善的社团管理系统的前后台开发、操作流程和涉及的一些关键技术。介绍了系统的需求分析,系统分析,具体完成了数据流分析,数据字典功能模块的划分,数据库的设计和界面设计。最后对系统进行了测试分析,以保证其性能的稳定性和功能的完整性。关键词Mysql,servlet,活动申请,社团留言,社团新闻 ABSTRACTStudent club management system is mainly to give leadership, each club President, membership to provide a platform, In this platform the membership can undertake event planning, communication, publication to each club opinions views. presidents can manage opinion views from corporate membership, and school leaders, can give a effective management to the entire school membership, activity. This system mainly completed a user permissions, membership messages, community news publication, activity of application, membership information query and modification, corporate introductions function. System development mainly includes the JSP page design, database table servlet class preparation and design. This system USES a JSP + Servlet + Mysql tools structure, because the school community data quantity is not very big, so choose the simple Mysql database.This system includes three big modules, corresponding three different permissions. Three big mould fast respectively is: members die fast, presidents mould fast, the school leader mould fast, each big modulus quick and divided into several small mould fast. Membership mould fast including membership messages, community news reading, membership information modification, school all societies introduction and activities for five small mould fast. And presidents modulus is including community members of management, corporate news release, activities of application, personal information modify four small mould fast. School leaders, including school all membership management, President appointed, activity approval, published community news four small mould fast. This article from club management system in school community life start of effects, this paper expounds the functions of a more perfect QianHouTai league management system development, operation process and some key technologies involved. Presents the system requirement analysis, system analysis, specific completed data flow analysis, data dictionary function module, database design and interface design. In the end, system was tested and analysed, to assure the performance stability and function integrity.KEY WORDSMysql,Servlet,Activity-application,Corporation-message,Community-news 湖南商学院毕业设计(论文) 目 录1.绪 论11.1选题背景11.1.1基于JSP社团管理系统的提出21.2系统设计的原则与目标31.2.1 系统设计原则31.2.2 系统设计目标32.系统关键技术的分析52.1 JSP技术52.2 Tomcat简介62.2.1 SERVLET容器62.2.2 TOMCAT的组织结构72.3 Java技术82.4 MySQL简介93.社团管理系统的需求分析113.1系统的需求分析113.1.1系统的功能需求113.1.2系统的运行需求123.2系统的用例需求123.2.1系统用户角色用例分析123.2.2普通社员子系统用例分析133.2.3社长子系统用例分析133.2.4管理员子系统用例分析144.社团管理系统的设计与实现164.1系统数据分析164.1.1 系统的数据字典分析164.1.2 系统ER模型分析174.2系统总体设计204.2.2 系统数据库设计224.3系统详细设计254.3.1用户管理模块254.3.2社团介绍功能模快314.3.2新闻功能模快334.3.3活动申请模快354.3.4留言模快374.3.5缴费模快424.4编码与测试454.5总结46参考文献48致 谢50II 基于JSP的社团管理系统1. 绪 论在现代大学教学模式中社团是培养学生的一个很重要的教学方式,故在每个学校里都有很多各种各样的社团,比如学术问题、社会问题的计论研究会,文学艺术、体育、音乐、美术等方面组成的活动社,当然还有学生会、表年志愿者这样的学生管理协会。这么多种类的协会如果只是用纸质文档进行管理的话不但耗费大量不必要的人力,而且给管理带来了很多不便,造成学校机构的臃肿,所以学校管理向以电子化、信息化为基本平台的方向发展成为必然。1.1 选题背景在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。在当今信息时代,人们的生活方式随着Internet的不断发展发生了不同寻常的改变。基于Internet的远程办公方式已经越来越受到大家的欢迎,应用的领域也越来越广泛,提高办公效率已经成为所有企业、公司、事业单位等各部门追求的目标。在传统的社团管理工作中,一项活动的开展往往需要策划,申请,批准,意见收集等环节,而这过程中找老师批准,获取各种活动资源都需要学生在老师办公室与寝室之间来回跑动,浪费了很多不必要的时间与精力,使得活动准备时间过长,也带来诸多不便。随着计算机技术和网络技术的发展,利用网络进行管理越来越成为学校管理的发展方向。社团管理系统,利用先进的计算机技术、网络通信技术、多媒体技术等相关的技术,将各社员与学校管理老师联系起来实现即时信息通迅,为老师学生都节约了大量的时间与精力并大大提高了学校管理工作的效率与质量,同时也精简了学校管理机构。1.1.1基于JSP社团管理系统的提出随着学校社团组织的蓬勃发展,在传统的社团管理方式下出现了各种各样的问题,使得社团管理比较混乱。这些问题主要表现如下:(1)上情下达不及时在一年中不同的时期不很多活动是不适合进行的或有很多地方需要同学在活动时要特别注意,比如社会出现整体情绪大波动时学生就不能到大街上去进行各种游行活动、夏天来临时学生进行游泳活动时就要特别注意做好各种防范措施等等。而学生可能注意不到这些这就需要学校领导对学生进行提醒,但传统方式是通过班主任在每周晚点名的时候对同学进行叮嘱,但这种方式信息传达很慢,有时更是错过了时间。这时如果有一种社团管理系统里将这些要注意的地方以社团新闻的方式发布出来的话,就能达到将信息及时传送到学生手里的目的。(2)学生意见收集困难在学校社团管理中肯定存在很多使学生不认同的地方,或同学心中有很多想法想向学校表达,但同学又不是很愿意直接打电话给老师说出心中的想法。这就使得学生意见传不到老师那里去,这时在社团管理系统中开辟出一个留言功能的话,学生就可以把自己的各种想法在留言中表达出来,这样学校老师就能及时知道同学的意见做出相应的改进或变动。(3)活动批准时间较长现在大学都比较大,学生寝室隔老师办公室都比较远,有时学生组织办一次活动找老师批准要找好几次,这样花费了组织者很多不必要的精力,直接在网上进行活动申报将为组织者节约很多时间精力。(4)对学生社员的资料用纸质文档管理也不方便,而利用电子文档对社员资料进行修改都比较简单。以上这几点社团管理问题直接要求有这么一个网站来解决这些问题。社团管理系统针对这些问题设计功能模快,很好的解决了传统社团管理中出现的各种问题。1.2 系统设计的原则与目标1.2.1 系统设计原则(1)可靠性、实用性原则根据社团管理系统的实际需要,选用Tomcat 作为系统平台,在此基础上方便、灵活、人机界面友好、直观清晰,非常实用。(2)分权管理原则不同级别用户的登录拥有对系统不同的权限,分别管理职权内的事务,不同用户拥有不同的界面,但高级用户可以以低级用户的身份登录进入系统,进行低级用户的操作,反之则不能。1.2.2 系统设计目标系统的总体目标是要提高社团管理人员的工作效率和管理水平,方便社员参与到社团的建设,并为社员与管理人员提供一个信息交流平台,达到将社团管理工作纳入科学化、规范化的轨道目的。为了实现系统设计的总目标社团管理系统应具备以下功能目标,主要包括:(1)系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。(2)系统注册:该模块负责社团人员的增添。(3)社团新闻:该模块提供了社团新闻的发布与阅读功能,新闻发布功能只对社长与学校管理员开放,新闻阅读功能则对所有社员开放。此功能主要用于上情下达,学校有任何通知要告知同学均可发布在上面。该功能主要是通过对数据库的插入与查询,发布时将新闻内容插入到数据库,阅读时从数据库中查询出来。学校管理员可以对所有新闻进行修改与删除,社长只有对本社团所发布的新闻有修改与删除的权力。另外社长发布的新闻要经过学校管理员的审批后才能够发表。(4)社员留言:该模快为所有社员提供了发贴与回贴功能。在这里社员可以将该系统作为一个论坛,发表自己对社团、学校管理、时事新闻、社会热点话题的一些看法。这样可以帮助学校掌握同学的想法以及思想动向,同时也给同学们一个互相交流的平台。学校管理员有对所有留言进行删除权力,每个注册用户拥有对自己所发表过的留言进行修改与删除的能力。(5)活动申请:这个模快中社员与社长均可以向学校管理员进行活动申请以获得活动所需要的各种资源。学校管理员有批准活动是否进行的权力,活动组织者只有在网站上获得老师的同意时才可以将活动继续进行下去,反之则终止活动。 (6)权限管理模快:这个模快与系统登录结合在一起。在登录的时候确你是以什么等级的用户登录,不同等级的用户登录进去后对应的界面也不相同,高等级用户可以以低等级用户的身份登入。(7)社团介绍模快:这个模快中将学校所有的社团都简单的介绍了一下,这样可以方便社员对学校各个社团进行了解,从而使他们可以更好的选择适合自己的社团。(8)个人信息修改模快:在这个模快中所有注册用户均可以对自己的资料进行修改,但一般社员与社长不能修改自己的权限与所加入的社团名称。学校管理员可以修改自己的任何资料。(9)会员管理模快:这个功能只对社长与学校管理员开放,社长有对本社社员进行增、删、查、改等管理,而学校管理员可以对学校所有社员进行管理,其中包括社长的任命。(10)会员缴费管理模快:这个功能主要对社员的缴费情况进行记录。这个功能只对学校管理员开放。2. 系统关键技术的分析在社团管理系统的设计实现中,涉及的技术较为广泛,其中最主要采用的技术是JSP技术,通过对JSP技术的分析,对系统的关键技术的了解,可以对系统的实现得到较好的支持。2.1 JSP技术JSP(JavaServer Pages)是一种基于Java的脚本技术。在JSP 的众多优点之中,其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出来。用 JSP 访问可重用的组件,如 Servlet、JavaBean 和基于 Java 的 Web 应用程序。JSP 还支持在 Web 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。(1) JSP 文件访问 Bean 或其它能将生成的动态内容发送到浏览器的组件。图5-1说明了该 JSP 访问模型。当 Web 服务器接收到一个 JSP 文件请求时,服务器将请求发送至 WebSphere应用服务器。WebSphere应用服务器 对 JSP 文件进行语法分析并生成 Java 源文件(被编译和执行为 Servlet)。Java 源文件的生成和编译仅在初次调用 Servlet 时发生,除非已经更新了原始的 JSP 文件。在这种情况下,WebSphere应用服务器 将检测所做的更新,并在执行它之前重新生成和编译 Servlet。图2.1浏览器发送 (2)JSP 文件请求发送至 Servlet 的请求生成动态内容,并调用 JSP 文件将内容发送到浏览器。图5-2说明了该访问模型。该访问模型使得将内容生成从内容显示中分离出来更为方便。WebSphere应用服务器支持 HttpServiceRequest 对象和 HttpServiceResponse 对象的一套新方法。这些方法允许调用的 Servlet 将一个对象放入(通常是一个 Bean)请求对象中,并将该请求传递到另一个页面(通常是一个 JSP 文件)以供显示。调用的页面从请求对象中检索Bean, 并用 JSP 来生成客户机端的 HTML。2.2 Tomcat简介TOMCAT是APACHE JAKARTA软件组织的一个子项目,TOMCAT是一个JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVA SERVER WEB DEVELOPMENT KIT)基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JAVA SERVLET容器的特性,并被一些企业用于商业用途。 2.2.1 SERVLET容器负责处理客户请求。当客户请求来到时,SERVLET容器获取请求,然后调用某个SERVLET,并把SERVLET的执行结果返回给客户。当客户请求某个资源时,SERVLET容器使用SERVLETREQUEST对象把客户的请求信息封装起来,然后调用JAVA SERVLET API中定义的SERVLET的一些生命周期方法,完成SERVLET的执行,接着把SERVLET执行的要返回给客户的结果封装到SERVLETRESPONSE对象中,最后SERVLET容器把客户的请求发送给客户,完成为客户的一次服务过程。TOMCAT的默认工作模式,作为独立的SERVLET容器,是内置在WEB服务器中的一部分,是指使用基于JAVA的WEB服务器的情形。SERVLET容器作为WEB服务器的插件和JAVA容器的实现。WEB服务器的插件在内部地址空间打开一个JVM(JAVA VIRTUAL MACHINE)使JAVA容器得以在内部运行。如有某个需要调用SERVLET的请求,插件将取得对此请求的控制并将它传递(使用JNI)给JAVA容器。进程内的容器对于多线程、单进程的服务器非常适合,并且提供了很好的运行速度,只是伸缩性有所不足。注意:JNI是JAVA NATIVE INTERFACE的缩写,是JAVA本地调用接口,通过JNI,JAVA程序可以和其他语言编写的本地程序进行通信。SERVLET容器运行于WEB服务器之外的地址空间,并且作为WEB服务器的插件和JVM使用IPC(如TCP/IP)进行通信。进程外容器的反应时间不如进程内的容器,但有较好的伸缩性、稳定性等性能。IPC INTERPROCESS COMMUNICATION(进程间通信)的简写,它是实现进程间通信的一种技术。2.2.2 TOMCAT的组织结构TOMCAT是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALINA SERVLET容器,其他的组件按照一定的格式要求配置在这个顶层容器中。TOMCAT的各个组件是confserver.xml文件中配置的,TOMCAT服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解TOMCAT的各个组件是如何组织的。 顶层元素,代表一个服务器 顶层元素,是Connector的集合,只有一个Engine 连接器类元素,代表通信接口 容器类元素,为特定的Service组件处理所有客户请求,可包含多个Host 为特定的虚拟主机处理所有客户请求 为特定的WEB应用处理所有客户请求 TOMCAT中真正处理客户请求与生成响应的三个组件是Engine 、Host、 Context2.3 Java技术Java技术是一门编程语言,也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为Java字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。这段是摘自网上的,编译原理学的不是很好,对这门语言的背后运行机制理解到这样了。Java平台是一种纯软件平台,它有三个版本Java SE、JavaEE、Java ME。Java SE(Java Platform,Standard Edition)这个版本以前叫做J2SE,后来版本号从1.4直接跳到5.0,其实也就是1.5,所以就叫成Java SE 5.0。目前Java开发人员使用较多的版本是5.0,当然还有Java SE 6.0这个更新的版本。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE还包含了支持Java Web服务开发的类,并为Java EE这个版本提供基础。Java EE(Java Platform,Enterprise Edition)这个版本以前叫做J2EE,也就是大家可能听得比较多的,也是Java比较流行的领域,Java的企业级版本。Java EE下有很多流行的开发框架,像Struts、Spring、Hibernate这种流行的所谓SSH组合等。根据项目大小、应用领域,技术平台的选择面还是很多的,除了Java EE,还有.Net,LAMP组合(Linux、Apatch、MySql、PHP组合),相对来说比较新Ruby在Ruby on Rails的框架应用,后两者可能在相对来说比较轻量级的Web领域运用成功案例比较多,更重量的企业级潜力还有待挖掘。Java ME(Java Platform,Micro Edition)这个版本以前叫做J2ME。应用领域像各种移动设备和嵌入式设备,比如:手机、PDA、电视机顶盒和打印机。Java ME不是太熟悉,不过移动设备和嵌入式设备的开发个人觉得算是比较有意思的领域,最近比较瞩目的业界新闻有一个就是Google发布开源智能手机操作系统开发平台Android,也就是前一阵子炒得很火的GPhone(原来Google出的不是手机,而是一个手机操作系统开发平台)。这个平台貌似会对Java ME有些冲击,按照网上的消息,Android包括:1、高度定制的Linux操作系统内核及智能手机硬件驱动支持;2、经过Google修改过的Java虚拟机Dalvik,这里的性能比SUN的Hotspot高,支持大部分Java核心类库;3、大量智能手机开发核心类库;4、大量现成的智能手机应用软件;5、基于Eclipse的开发环境。也是按照网上的说法,Java EE提供了统一的编程平台,但不能调用操作系统的资源;而Android下直达操作系统,上直达应用软件,如:浏览器、日历、地图等。Java开发工具很多,个人使用的IDE有Eclipse和NetBeans。Eclispe比较流行,各种插件也多,当然用起来也不错;NetBeans现在也是越做越好了,介绍这两个IDE主要是开源的,当然还有其它工具如JBuilder、IntelliJ、JCreator。这些IDE各有优势劣势,根据你开发的项目来选择了。2.4 MySQLMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。My SQL有以下特性:(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 (2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。(3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 (4)支持多线程,充分利用CPU资源 。(5)优化的SQL查询算法,有效地提高查询速度。 (6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径 。(8)提供用于管理、检查、优化数据库操作的管理工具。 (9)可以处理拥有上千万条记录的大型数据库。第50页 共50页3. 社团管理系统的需求分析3.1 系统的需求分析3.1.1系统的功能需求软件开发前的需求分析是软件成败的关键,如果没有进行详细的需求分析 ,没有充分理解系统的各类用户的实际需求 ,那么最终的软件产品充其量只能说是软件开发者的作品而已 ,没任何实用价值可言。因此 ,在开发基于JSP的社团管理系统之初 ,对系统需求进行了详细的分析,系统所实现的最终目标 :就是要使社团管理实现全面的规范化、 科学化、 自动化、 高效化和流程化。对于社团管理来说 ,主要是社员的管理,信息的发布,信息的收集,活动的管理,社团的介绍,会员的会费管理等等。因此 ,一个社社团管理系统应该具有如下的功能:(1)能通过后台发布或自动更新新闻信息。这些信息主要是学校要发给同学的通知,各个社团活动成果展示或活动人员集结通知等等,当然也可以是与同学紧密相关的一些社会事件。这些信息是随时都有可能更新的 ,系统必须提供一个简捷界面给管理人员进行操作。(2)给社员可以在线留言的功能。这个功能主要是用来收集同学的各种想法,有利于社团工作的改进同时也可能从这些想法中总结出一些好的活动点子,提高社团活动的质量,让普通社员更加积极的参与到社团活动的组织中来。(3)社员会费管理功能。(4)社团成员管理功能。为社长或学校管理人员对普通社员的一些信息进行增、删、查、改等操作。(5)活动申请功能。社长或普通社员要举办活需要在网上申请。得到学校领导同意方可举办。(6)学校所有社团的介绍功能。系统功能模块图如图3.1所示。图3.1 系统功能模块图3.1.2系统的运行需求(1)软件方面:系统将用Windows XP操作系统和Tomcat5.0以上版本,以MyEclipse6.5 为开发和测试平台,前台以JSP为前端界面编辑环境,后台用MySQL5.0来管理数据库。运行时对JDK的版本要求为1.5。(2)硬件方面:PIII500 CPU 或更高配置,256M内存或更高,20G以上硬盘,更好有10M共享带宽或更高。3.2 系统的用例需求3.2.1系统用户角色用例分析社团管理系统主要面对三类用户,即普通社员、社长、学校管理员,不同的角色完成不同功能.。因此,在设计系统时,将系统的整体功能划分成三个子系统,即普通社员子系统、社长子系统和学校管理员子系统。 这三个系统由于其面对的用户不同,其功能也不同,具有相对独立性,但它们又是紧密联系和相互关联的,如图3.2所示。图3.2 用户关系角色图3.2.2普通社员子系统用例分析普通社员子系统的主要功能包括公共新闻浏览、在线留言、活动申请、社团信息查看、个人信息修改等。在这里所有用户都必须登录才能进入系统,它不对非注册用户开放,如图3.3所示。图3.3 普通社员子系统用例图3.2.3社长子系统用例分析社长子系统是专门为社长管理本社团内部事务而设计的,社长在登录时在“登录类型”里选择社长这个选项就可以以社长身份登录进入系统,当然社长也有权以普通社员的身份登入系统中,当以普通社员身份登入系统时其权限将与普通社员一样。社长主要有新闻发布、本社社员管理、活动申请、修改个人信息等功能。社长登入系统时就可以进入社员管理界面,如图3.4所示。图3.4 社长子系统用例图3.2.4管理员子系统用例分析管理员子系统包括前台所有功能的维护,主要有新闻信息管理、留言信息管理、全校所有社员信息管理、活动批准。新闻信息管理是指管理员有权发布新闻同时也有权对错误新闻进行修改或删除,留言信息管理是指管理员有权对社员在系统留下的一些不当信息进行修改或删除。管理员还可对全校所有社员的信息进行增、删、查、改操作,批准社员与社长的活动申请。如图3.5所示。图3.5 系统管理员子系统用例图上述三个子系统共享一个后台数据库,因此任何一个子系统的信息发生变化都能及时反映到其他的子系统上来,使各方面的信息得到同步更新。 湖南商学院毕业设计(论文) 4. 社团管理系统的设计与实现在通过需求分析之后,则进入项目的具体设计阶段,在此阶段需要完成的有详细功能设计,数据库设计,界面设计,软件结构设计,然后编码完成功能实现,最终通过测试之后,交付使用。4.1 系统数据分析在需求分析的用例分析中,可以得出社团管理系统的数据字典分析和概念设计的实体。4.1.1 系统的数据字典分析数据字典是用来定义数据流图中各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典有以下四类条目:数据流、数据项、数据存储、处理逻辑。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。经过对系统的用例分析,对系统中的实体进行了查找和分析,最终得出系统的数据字典中共有三个子系统模块,在数据库中设计成为9张数据表。表4.1 会员信息表概念名:会员信息组成:用户编号+用户名登陆密码权限+性别+所属学院+所属社团表4.2 新闻信息表概念名:新闻信息组成:新闻编号+新闻主题新闻内容+发表人编号+发表时间表4.3 留言信息表概念名:留言信息组成:留言编号+留言主题留言内容留言时间+留言人编号+处女言 表4.4 活动申请信息表概念名:活动申请信息组成:编号+主题组织者+组织单位+地点+时间+电话+内容+资金+批准情况+赞助情况表4.5 缴费信息表概念名:缴费信息组成:编号+金额缴费人编号+时间4.1.2 系统ER模型分析 概念模型是对信息世界建模,所以概念模型能够方便、准确地表示出信息世界中的常用概念。概念模型一般用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型。E-R模型的关键元素是实体、属性和联系。实体是可以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体在E-R图中,用矩形表示,矩形框内写明实体名。实体具有属性,有时也称作性质,是用来描述实体的特征的。属性可以是组合的或者多值的。在E-R图中,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。实体可以通过联系相互关联。在一般的联系中,使用二元联系居多,二元联系主要有三种类型l:1,1:n,m: n。在“l:1”联系中,一种类型的单个实体实例与另一个类型的单个实体实例关联。在“l: n”联系中,一个类型的单个实体实例与另一个类型的多个实体实例相关联。在“m: n”联系中,一个类型的单个实例与另一个类型的多个实体实例相关联,同时地,后一类型的单个实体实例与前一类型的多个实体实例相关联。在ER图中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,l: n或者m: n)。以下是各实体的属性:(1)社员实体。社员信息主要包含了表明社员在系统中的基本登陆信息和标识了会员的编号。图4.1是会员信息的所有属性。图4.1普通社员实体图(2)新闻实体。新闻信息主要包含了新闻主题、新闻内容、新闻发布时间、新闻发表人。图4.2是新闻实体的所有属性。图4.2新闻实体图(3)留言实体。留言信息包含了留言编号、留言主题、留言内容、留言时间、是否首次。图4.3是留言实体的所有属性。图4.3 留言实体图(4)活动实体。活动实体主要包含了活动活动内容、活动主题、活动地点、活动时间、申请时间、所需资金、是否批准、活动编号、赞助。图4.4是系统信息的所有属性。图4.4活动实体图(5)缴费单实体。缴费单实体主要包含了缴费时间、编号、金额。图4.5是缴费信息的所有属性。图4.5 缴费实体图4.2 系统总体设计系统总体设计主要完成设计软件系统结构和各组成部分之间的相互关系的任务。为了实现目标系统,首先进行结构设计。具体方法为:(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息。(5)评价模块结构的质量。软件总体设计的主要任务就是软件结构的设计,为了提高设计的质量,必须根据软件设计的原理改进软件设计,遵循如下软件结构的设计优化准则:(1)划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。(2)一个模块的作用范围应在其控制范围之内。模块的作用范围是指受该模块内一个判定影响的所有模块的集合。模块的控制范围是指模块本身以及所有从属于它的模块的集合,包括直接从属的和间接从属的。判定所在的模块应与受其影响的模块在层次上尽量靠近。(3)软件结构的深度、宽度、扇入、扇出应适当。深度是指软件结构中控制的层数;宽度是指软件结构中同一层次上模块总数的最大值;扇出是指一个模块直接调用的模块数;扇入是指一个模块有多少上一级模块调用它。软件结构从形态上,总的考虑是顶层扇出数较高一些,中间层扇出数较低一些,底层扇入数较高一些。(4)模块的大小要适中。经验证明,模块的大小在50行左右(两屏幕可以显示的行数)较为合适。过大的模块不易理解,过小的模块增加了系统接口的数量,加大了系统的不必要开销。(5)模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。4.2.1 软件结构设计软件结构的设计主要通过对需求的用例分析得到,在经历ER模型的分析后,软件结构变得明确。在电子校刊处理系统中,主要分为用户信息管理、期刊分类管理、期刊信息管理管理、期刊审核管理、系统栏目管理、系统信息管理6个模块。具体的系统模块图如图4.6所示。图4.6 系统模块图4.2.2 系统数据库设计数据库设计在软件开发过程中起着极其重要的作用。数据库设计是否合理对整个软件的开发是至关重要的。数据库设计通常包括下述四个步骤:(1) 模式设计。模式设计的目的是确定物理数据结构。一般用第三范式,第三范式形式的实体及关系数据模型是模式设计过程的输入,模式设计的主要问题是处理具体的数据库管理系统的结构约束。(2) 子模式设计。子模式是用户使用的数据视图。(3) 完整性和安全性设计。(4) 优化。主要目的是改进模式和子模式以优化数据的存取。下面是数据库的详细设计,在数据库lwq中的共有五张数据信息表,表4.6是整个系统中的表的汇总。表4.6 系统表汇总表名描述userInfo此表主要是保存用户登陆网站的基本注册信息。news此表用于保存新闻信息。messagetab此表用于保存留言信息。activityApply此表用于存储 活动申请信息。payment此表用于保存社员的缴费信息。(1)会员信息表(userInfo)的主键是编号(userId),此表主要是保存用户登陆网站的基本注册信息。通过此信息来验证登陆网站后的权限身份,表4.7是会员信息表的详细设计。表4.7 用户信息(userInfo)表列名类型说明备注userIdint用户编号主键userNamevarchar(50)用户名称passwordvarchar(50)用户密码gendervarchar(10)用户性别departmentvarchar(50)所属学院emailvarchar(50)电子邮件telephonevarchar(11)联系方式powervarchar(1)登录权限Corporationvarchar(50)所属社团(2)新闻信息表(news)的主键是编号(newsId),此表主要是保存新闻的各种信息,通过这张表可以查到新闻的发布时间,发布人,新闻内容等。该表只有学校管理员与各社社长才有权用到。表4.8是会员权限信息表的详细设计。表4.8 新闻信息(news)表列名类型说明备注newsIdint新闻编号主键publisherIdint发布者编号外键newsThemevarchar(50)新闻主题newsContenttext新闻内容applicationTimedate发布时间(3)留言信息表(messageTab)的主键是编号(messageId),此表主要是保存社员留言信息,包括留言时间、内容、留言人等等。表4.9是系统栏目信息表的详细设计。表4.9 留言信息(messageTab)表列名类型说明备注messageIdint留言编号主键messageThemevarchar(50)留言主题messageContenttext留言内容applicationTimedate提交时间publisherIdint提交者编号外键(4)活动申请信息表(activityApply)的主键是活动编号(activityId),此表主要是保存活动相关的信息,包括活动内容、活动主题、申请者编号等等。表4.10是系统信息表的详细设计。表4.10 活动申请信息(activityApply)表列名类型说明备注activityIdint活动编号主键organizerIdint组织者编号处键organizationUnitvarchar(50)组织单位activityThemevarchar(50)活动主题activiytContentvarchar(50)活动内容activityAddressvarchar(50)活动地点activityTimevarchar(50)活动时间applicationTimevarchar(50)申请时间activityMoneyvarchar(50)活动资金supportvarchar(50)是否有赞助whetherAgreevarchar(1)是否被批准(5)缴费信息表(paymentInfo)的主键是编号(id),此表主要是保存所有社员缴费信息。表4.11是期刊分类信息表的详细设计。表4.11 缴费信息(paymentInfo)表列名类型说明备注idInt缴费编号主键timedate缴费时间howMuchVARCHAR(10)缴费金额payerIdint缴费人编号外键4.3 系统详细设计详细设计阶段的根本目的是确定应该怎样具体地实现所要

温馨提示

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

评论

0/150

提交评论