




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 I 目 录TOC o 1-3 h u HYPERLINK l _Toc20359 内容摘要 II HYPERLINK l _Toc2820 4.2 系统总体设计 PAGEREF _Toc2820 20 HYPERLINK l _Toc4301 4.2.1 软件结构设计 PAGEREF _Toc4301 21 HYPERLINK l _Toc5978 4.2.2 系统数据库设计 PAGEREF _Toc5978 22 HYPERLINK l _Toc9511 4.3 系统详细设计 PAGEREF _Toc9511 25 HYPERLINK l _Toc7118 4.3.1用户管理模块 PAGE
2、REF _Toc7118 25 HYPERLINK l _Toc2660 4.3.2社团介绍功能模快 PAGEREF _Toc2660 28 HYPERLINK l _Toc28405 4.3.3个人中心 PAGEREF _Toc28405 29 HYPERLINK l _Toc30838 4.4 编码与测试 PAGEREF _Toc30838 30 HYPERLINK l _Toc7625 总 结 PAGEREF _Toc7625 31 HYPERLINK l _Toc29180 参考文献 PAGEREF _Toc29180 32 HYPERLINK l _Toc19405 致 谢 PAGE
3、REF _Toc19405 33 高校社团管理系统的设计与实现 计算机科学与技术系 计算机092201H 王元 指导老师:甄磊 内容摘要校园社团管理系统主要是为了给领导、各社社长、社员提供一个平台,在这个平台里社员可以在里进行活动策划、交流,社团管理层可以管理本社团的社员、社团活动,而学校领导则可以对整个学校的社员,社团,活动情况进行有效管理。本系统主要完成了对用户权限、社团经费、社团活动申请、社员信息查询与修改、社团变更等功能。系统开发主要包括JSP页面设计,Action类编写与数据库表设计。本系统采用了JSP+SSH+Mysql工具结构,因为学校社团数据量不是很大,故选用了简单方便的Mys
4、ql数据库。本系统共包括五个大模块,分别对应五种不同的权限。五个大模快分别为:社员模快,社长模快,学校领导模快,超级用户模块,普通注册用户模块,每个大模快又分为若干个小模快。社员模快包括社团经费查看、社员信息修改、学校所有社团介绍、活动申请五个小模快。而社长模则包括社团成员管理、经费申请、活动申请、个人信息修改四个小模快。学校领导则包括学校所有社员管理、社团管理、社长任命、经费批准四个小模快。本文从社团管理系统在学校社团生活中产生的作用出发,详细阐述了一个功能较完善的社团管理系统的前台开发、操作流程和涉及的一些关键技术。介绍了系统的需求分析,系统分析,具体完成了数据流分析,数据字典功能模块的划
5、分,数据库的设计和界面设计。最后对系统进行了测试分析,以保证其性能的稳定性和功能的完整性。 关键词:Mysql,SSH,活动申请,经费申请,会员管理,社团管理。 Community colleges and universities management system Computer science and technology The computer092201H WangYuan Guide teacher:ZhenLei ABSTRACT Student club management system is mainly to give leadership, each club Pr
6、esident, 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 mem
7、bership, activity. System development mainly includes the JSP page design, database table servlet class preparation and design. This system USES a JSP + SSH + Mysql tools structure, because the school community data quantity is not very big, so choose the simple Mysql database.This system includes t
8、hree 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 n
9、ews reading, membership information modification, school all societies introduction and activities for five 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 man
10、agement system in school community life start of effects, this paper expounds the functions of a more perfect on the stage league management system development, operation process and some key technologies involved. Presents the system requirement analysis, system analysis, specific completed data fl
11、ow 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,Struts2,Spring,Hibernate,Activity-application,Funds-application,Member-manager,Community-manager
12、第一章 绪论 在现代大学教学模式中社团是培养学生的一个很重要的教学方式,故在每个学校里都有很多各种各样的社团,比如学术问题、社会问题的计论研究会,文学艺术、体育、音乐、美术等方面组成的活动社,当然还有学生会、青年志愿者这样的学生管理协会。这么多种类的协会如果只是用纸质文档进行管理的话不但耗费大量不必要的人力,而且给管理带来了很多不便,造成学校机构的臃肿,所以学校管理向以电子化、信息化为基本平台的方向发展成为必然。1.1 选题背景在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对
13、信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。在当今信息时代,人们的生活方式随着Internet的不断发展发生了不同寻常的改变。基于Internet的远程办公方式已经越来越受到大家的欢迎,应用的领域也越来越广泛,提高办公效率已经成为所有企业、公司、事业单位等各部门追求的目标。在传统的社团管理工作中,一项活动的开展往往需要策划,申请,批准,意见收集等环节,而这过程中找老师批准,获取各种活动资源都需要学生在老师办公室与寝室之间来回跑动,浪费了很多不必要的时间与精力,使得活动准备时间过长,也带来诸多不
14、便。随着计算机技术和网络技术的发展,利用网络进行管理越来越成为学校管理的发展方向。社团管理系统,利用先进的计算机技术、网络通信技术、多媒体技术等相关的技术,将各社员与学校管理老师联系起来实现即时信息通迅,为老师学生都节约了大量的时间与精力并大大提高了学校管理工作的效率与质量,同时也精简了学校管理机构。1.1.1基于JSP社团管理系统的提出随着学校社团组织的蓬勃发展,在传统的社团管理方式下出现了各种各样的问题,使得社团管理比较混乱。这些问题主要表现如下: 在一年中不同的时期不很多活动是不适合进行的或有很多地方需要同学在活动时要特别注意,比如社会出现整体情绪大波动时学生就不能到大街上去进行各种游行
15、活动、夏天来临时学生进行游泳活动时就要特别注意做好各种防范措施等等。而学生可能注意不到这些这就需要学校领导对学生进行提醒,但传统方式是通过班主任在每周晚点名的时候对同学进行叮嘱,但这种方式信息传达很慢,有时更是错过了时间。这时如果有一种社团管理系统里将这些要注意的地方以社团新闻的方式发布出来的话,就能达到将信息及时传送到学生手里的目的。 在学校社团管理中肯定会举办各种各样的活动,而举办这些活动都需要一定的经费,出了找赞助商和合作单位外,还需要社团批准一定的经费来让活动圆满的举办成功。 现在大学都比较大,学生寝室隔老师办公室都比较远,有时学生组织办一次活动找老师批准要找好几次,这样花费了组织者很
16、多不必要的精力,直接在网上进行活动申报将为组织者节约很多时间精力。 以上这几点社团管理问题直接要求有这么一个网站来解决这些问题。社团管理系统针对这些问题设计功能模快,很好的解决了传统社团管理中出现的各种问题。1.2 系统设计的原则与目标1.2.1 系统设计原则根据社团管理系统的实际需要,选用Tomcat 作为系统平台,在此基础上方便、灵活、人机界面友好、直观清晰,非常实用。不同级别用户的登录拥有对系统不同的权限,分别管理职权内的事务,不同用户拥有不同的界面,但高级用户可以以低级用户的身份登录进入系统,进行低级用户的操作,反之则不能。1.2.2 系统设计目标系统的总体目标是要提高社团管理人员的工
17、作效率和管理水平,方便社员参与到社团的建设,并为社员与管理人员提供一个信息交流平台,达到将社团管理工作纳入科学化、规范化的轨道目的。为了实现系统设计的总目标社团管理系统应具备以下功能目标,主要包括:(1)系统登录:该模块负责将用户分为普通会员和注册用户来实现用户权限的管理。(2)系统注册:该模块负责普通用户的增添。(3)活动申请:这个模快中社员与社长均可以向学校管理员进行活动申请以获得活动所需要的各种资源。学校管理员有批准活动是否进行的权力,活动组织者只有在网站上获得老师的同意时才可以将活动继续进行下去,反之则终止活动。 (4)权限管理模快:这个模快与系统登录结合在一起。在登录的时候确定你是以
18、什么等级的用户登录,不同等级的用户登录进去后对应的界面也不相同,高等级用户可以以低等级用户的身份登入。(5)社团列表模快:这个模快中将学校所有的社团都简单的列举了一下,这样可以方便社员对学校各个社团进行了解,从而使他们可以更好的选择适合自己的社团。(6)个人信息修改模快:在这个模快中所有注册用户均可以对自己的资料进行修改,但一般社员与社长不能修改自己的权限与所加入的社团名称。学校管理员可以修改自己的任何资料。(7)会员管理模快:这个功能只对社长与学校管理员开放,社长有对本社社员进行增、删、查、改等管理,而学校管理员可以对学校所有社员进行管理,其中包括社长的任命。(8)经费管理模快:这个功能主要
19、对社团费用情况进行记录。(9)社团管理模块:这个功能对社团进行记录。 第二章 系统关键技术的分析在社团管理系统的设计实现中,涉及的技术较为广泛,其中最主要采用的技术是JSP技术,通过对JSP技术的分析,对系统的关键技术的了解,可以对系统的实现得到较好的支持。2.1 JSP技术 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种HYPERLINK /view/348756.htm动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的HYPERLINK /view/828.htm网页HTML文件(*.htm,*.HYPERLI
20、NK /view/692.htmhtml)中插入JavaHYPERLINK /view/1005329.htm程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他HYPERLINK /view/880.htm操作系统上运行。 JSP是一种基于Java的脚本技术。在JSP 的众多优点之中,其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出来。用 JSP 访问可重用的组件,如 Servlet、JavaBean 和基于 Java 的 Web 应用程序。JSP 还支持在 We
21、b 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态HYPERLINK /doc/3683001.html网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与HYPERLINK /doc/4458083.html网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的HYPERLINK /doc/3417785.html应用程序的开发变得迅速和容易。WebHYPE
22、RLINK /doc/4487696.html服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTMLHYPERLINK /doc/4469555.html代码一起返回给客户。插入的Java程序段可以操作HYPERLINK /doc/187927.html数据库、重新定向网页等,以实现建立动态网页所需要的功能。 (1) JSP 文件访问 Bean 或其它能将生成的动态内容发送到浏览器的组件。图5-1说明了该 JSP 访问模型。当 Web 服务器接收到一个 JSP 文件请求时,服务器将请求发送至 WebServe应用服务器。WebServer应用服务器
23、对 JSP 文件进行语法分析并生成 Java 源文件(被编译和执行为 Servlet)。Java 源文件的生成和编译仅在初次调用 Servlet 时发生,除非已经更新了原始的 JSP 文件。在这种情况下,WebServe应用服务器 将检测所做的更新,并在执行它之前重新生成和编译 Servlet。 图2.1浏览器发送 (2)JSP 文件请求发送至 Servlet 的请求生成动态内容,并调用 JSP 文件将内容发送到浏览器。图5-2说明了该访问模型。该访问模型使得将内容生成从内容显示中分离出来更为方便。WebSphere应用服务器支持 HttpServiceRequest 对象和 HttpServ
24、iceResponse 对象的一套新方法。这些方法允许调用的 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和SERVL
25、ET的最新规范。经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JAVA SERVLET容器的特性,并被一些企业用于商业用途。 Tomcat 运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实
26、际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 2.2.1 SERVLET容器负责处理客户请求。当客户请求来到时,SERVLET容器获取请求,然后调用某个SERVLET,并把SERVLET的执行结果返回给客户。当客户请求某个资源时,SERVLET容器使用SERVLETREQUEST对象把客户的请求信息封装起来,然后调用JAVA SERVLET API中定义的SERVLET的一些生命周期方法,完成SERVLET的执行,接着把SERVLET执行的要返回给客户的结果封装到SERVLETRESP
27、ONSE对象中,最后SERVLET容器把客户的请求发送给客户,完成为客户的一次服务过程。TOMCAT的默认工作模式,作为独立的SERVLET容器,是内置在WEB服务器中的一部分,是指使用基于JAVA的WEB服务器的情形。SERVLET容器作为WEB服务器的插件和JAVA容器的实现。WEB服务器的插件在内部地址空间打开一个JVM(JAVA VIRTUAL MACHINE)使JAVA容器得以在内部运行。如有某个需要调用SERVLET的请求,插件将取得对此请求的控制并将它传递(使用JNI)给JAVA容器。进程内的容器对于多线程、单进程的服务器非常适合,并且提供了很好的运行速度,只是伸缩性有所不足。注
28、意:JNI是JAVA NATIVE INTERFACE的缩写,是JAVA本地调用接口,通过JNI,JAVA程序可以和其他语言编写的本地程序进行通信。SERVLET容器运行于WEB服务器之外的地址空间,并且作为WEB服务器的插件和JVM使用IPC(如TCP/IP)进行通信。进程外容器的反应时间不如进程内的容器,但有较好的伸缩性、稳定性等性能。IPC INTERPROCESS COMMUNICATION(进程间通信)的简写,它是实现进程间通信的一种技术。2.2.2 TOMCAT的组织结构TOMCAT是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALINA SERVLET
29、容器,其他的组件按照一定的格式要求配置在这个顶层容器中。TOMCAT的各个组件是confserver.xml文件中配置的,TOMCAT服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解TOMCAT的各个组件是如何组织的。 顶层元素,代表一个服务器 顶层元素,是Connector的集合,只有一个Engine 连接器类元素,代表通信接口 容器类元素,为特定的Service组件处理所有客户请求,可包含多个Host 为特定的虚拟主机处理所有客户请求 为特定的WEB应用处理所有客户请求 TOMCAT中真正处理客户请求与生成响应的三个组件是Engine 、Host、 Co
30、ntext2.3 Java技术Java技术是一门编程语言,也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为Java字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。这段是摘自网上的,编译原理学的不是很好,对这门语言的背后运行机制理解到这样了。Java平台是一种纯软件平台,它有三个版本Java SE、JavaEE、Java ME。Java SE(Java P
31、latform,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的企
32、业级版本。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、电视机顶盒和打印
33、机。Java ME不是太熟悉,不过移动设备和嵌入式设备的开发个人觉得算是比较有意思的领域,最近比较瞩目的业界新闻有一个就是Google发布开源智能手机操作系统开发平台Android,也就是前一阵子炒得很火的GPhone(原来Google出的不是手机,而是一个手机操作系统开发平台)。这个平台貌似会对Java ME有些冲击,按照网上的消息,Android包括:1、高度定制的Linux操作系统内核及智能手机硬件驱动支持;2、经过Google修改过的Java虚拟机Dalvik,这里的性能比SUN的Hotspot高,支持大部分Java核心类库;3、大量智能手机开发核心类库;4、大量现成的智能手机应用软件
34、;5、基于Eclipse的开发环境。也是按照网上的说法,Java EE提供了统一的编程平台,但不能调用操作系统的资源;而Android下直达操作系统,上直达应用软件,如:浏览器、日历、地图等。Java开发工具很多,个人使用的IDE有Eclipse和NetBeans。Eclispe比较流行,各种插件也多,当然用起来也不错;NetBeans现在也是越做越好了,介绍这两个IDE主要是开源的,当然还有其它工具如JBuilder、IntelliJ、JCreator。这些IDE各有优势劣势,根据你开发的项目来选择了。2.4 MySQL简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL A
35、B公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。My SQL有以下特性:(1)使用C和C+编写,并使用了多种 HYPERLINK /view/487018.htm t _blank 编译器进行测试,保证源代码的可移植性。 (2)支持AIX、 HYPERLINK /view/21459.htm t _blank Fr
36、eeBSD、HP-UX、 HYPERLINK /view/1634.htm t _blank Linux、Mac OS、 HYPERLINK /view/68826.htm t _blank Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。(3)为多种编程语言提供了API。这些编程语言包括 HYPERLINK /view/10075.htm t _blank C、C+、 HYPERLINK /view/21087.htm t _blank Python、Java、 HYPERLINK /view/46614.htm t _bla
37、nk Perl、 HYPERLINK /view/99.htm t _blank PHP、Eiffel、Ruby和Tcl等。 (4)支持 HYPERLINK /view/65706.htm t _blank 多线程,充分利用CPU资源 。(5)优化的 HYPERLINK /view/34.htm t _blank SQL查询算法,有效地提高查询速度。 (6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的 HYPERLINK /view/237708.htm t _blank 编码如中文的GB 2312、BIG5,日文的Shi
38、ft_JIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径 。(8)提供用于管理、检查、优化数据库操作的管理工具。 (9)可以处理拥有上千万条记录的大型数据库。第三章 社团管理系统的需求分析3.1 系统的需求分析3.1.1系统的功能需求 软件开发前的需求分析是软件成败的关键,如果没有进行详细的需求分析 ,没有充分理解系统的各类用户的实际需求 ,那么最终的软件产品充其量只能说是软件开发者的作品而已 ,没任何实用价值可言。因此 ,在开发基于JSP的社团管理系统之初 ,对系统需求进行了详细的分析,系统所实现的最终目标 :就是要使社团管理实现全面的规范化
39、、 科学化、 自动化、 高效化和流程化。对于社团管理来说 ,主要是社员的管理,信息的发布,信息的收集,活动的管理,社团的介绍,经费管理等等。该系统是基于web开发的高校社团管理系统,利用ssh框架完成的。拥有的功能有:用户登陆、注册、修改信息。新建、修改、删除、查询社团会员。新建、修改、删除、查询社团活动。申请、修改、删除、查询社团经费。新建、修改、删除、查询、提交、审批社团。因此 ,一个社团管理系统应该具有如下的功能:个人信息的修改。学校所有社团的介绍功能。会员列表及查询信息。活动列表、新建活动及查询活动。社团经费的管理。包括经费列表、新建经费及查询经费。社团管理包括社团列表及查询社团。个人
40、中心包括修改密码及修改资料。社团成员管理功能。为社长或学校管理人员对普通社员的一些信息进行增、删、改、查等操作。社长或普通社员要举办活动需要在网上申请,得到学校领导同意即可举办活动。系统功能模块图如图3.1所示。图3.1 系统功能模块图3.1.2系统的运行需求软件方面:系统将用Windows 7操作系统和Tomcat6.0以上版本,以MyEclipse8.5 为开发和测试平台,前台以JSP为前端界面编辑环境,后台用MySQL5.5来管理数据库。运行时对JDK的版本要求为1.6。硬件方面:PIII500 CPU 或更高配置,256M内存或更高,20G以上硬盘,更好有10M共享带宽或更高。3.2
41、系统的用例需求3.2.1系统用户角色用例分析社团管理系统主要面对三类用户,即普通社员、社团管理者、学校管理员,不同的角色完成不同功能.。因此,在设计系统时,将系统的整体功能划分成三个子系统,即普通社员子系统、社团管理子系统和学校管理员子系统。 这三个系统由于其面对的用户不同,其功能也不同,具有相对独立性,但它们又是紧密联系和相互关联的,如图3.2所示。图3.2 用户关系角色图3.2.2普通社员子系统用例分析普通社员子系统的主要功能包括活动申请、社团信息查看、个人信息修改等。在这里所有用户都必须登录才能进入系统,它不对非注册用户开放,如图3.3所示。图3.3 普通社员子系统用例图3.2.3社长子
42、系统用例分析社长子系统是专门为社长管理本社团内部事务而设计的,社长在登录时在“登录类型”里选择社长这个选项就可以以社长身份登录进入系统,当然社长也有权以普通社员的身份登入系统中,当以普通社员身份登入系统时其权限将与普通社员一样。社团管理者主要有对本社社员管理、活动申请、修改个人信息,经费管理等功能。社团管理者登入系统时就可以进入社员管理界面,如图3.4所示。图3.4 社团管理者子系统用例图3.2.4管理员子系统用例分析 管理员子系统包括前台所有功能的维护,主要有新闻信息管理,全校所有社员信息管理、活动批准。如图3.5所示。 图3.5 系统管理员子系统用例图第四章 社团管理系统的设计与实现 在通
43、过需求分析之后,则进入项目的具体设计阶段,在此阶段需要完成的有详细功能设计,数据库设计,界面设计,软件结构设计,然后编码完成功能实现,最终通过测试之后,交付使用。4.1 系统数据分析在需求分析的用例分析中,可以得出社团管理系统的数据字典分析和概念设计的实体。4.1.1 系统的数据字典分析数据字典是用来定义数据流图中各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典有以下四类条目:数据流、数据项、数据存储、处理逻辑。数据项是组成数据流和数据存储的最小
44、元素。源点、终点不在系统之内,故一般不在字典中说明。经过对系统的用例分析,对系统中的实体进行了查找和分析,最终得出系统的数据字典中共有三个子系统模块,在数据库中设计成为6张数据表。表4.1 普通注册用户表概念名:普通注册用户表组成:包括用户ID、名称、登录账号、密码、用户职务等内容表4.2 社团会员表概念名:社团会员表组成:会员id、会员编号(系统生成唯一不重复)、会员姓名、所在社团、职务、加入时间、性别、所在班级、院系、寝室,电话、备注表4.3 社团活动表概念名:社团活动表组成:id、活动主题、举办活动社团名称、活动编号(系统生成)、活动举办时间、活动负责人、社联监查人、承办单位、活动主要内
45、容 表4.4 社团经费表概念名:社团经费表组成:id、申请社团名称、尚有金额、申请金额、申请人名称、审批人、审批状态、审批日期、备注表4.5 社团信息表概念名:社团信息表组成:id、社团编号、社团名称、负责人、创始人、成立日期、社团性质、社团简介、社团收费情况、社团共有经费、社团审批通过或驳回状态、备注表4.6 职务信息表概念名:职务信息表组成Id、职务名称、备注4.1.2 系统ER模型分析 概念模型是对信息世界建模,所以概念模型能够方便、准确地表示出信息世界中的常用概念。概念模型一般用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型。E-R模型的关键元素是实体、属性和联系。实体是可
46、以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体在E-R图中,用矩形表示,矩形框内写明实体名。实体具有属性,有时也称作性质,是用来描述实体的特征的。属性可以是组合的或者多值的。在E-R图中,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。实体可以通过联系相互关联。在一般的联系中,使用二元联系居多,二元联系主要有三种类型l:1,1:n,m: n。在“l:1”联系中,一种类型的单个实体实例与另一个类型的单个实体实例关联。在“l: n”联系中,一个类型的单个实体实例与另一个类型的多个实体实例相关联。在“m: n”联系中,一个类型的单个实例与另一个类型的多个实体实例相关联,同时地
47、,后一类型的单个实体实例与前一类型的多个实体实例相关联。在ER图中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,l: n或者m: n)。以下是各实体的属性:(1)社员实体。社员信息主要包含了表明社员在系统中的基本登陆信息和标识了会员的编号。图4.1是会员信息的所有属性。图4.1普通社员实体图(2)社团实体。社团信息主要包含了社团创始人、社团编号、社团名称、负责人、成立时间。图4.2是社团实体的所有属性。图4.2社团实体图(3)经费实体。图4.3是经费实体的所有属性。图4.3 经费实体图经费信息包含了申请经费的社团名称、尚有金额、申
48、请金额、申请人名称、审批人名称、时间。(4)活动实体。活动实体主要包含了活动活动内容、活动主题、活动地点、活动时间、申请时间、所需资金、是否批准、活动编号、赞助。图4.4是系统信息的所有属性。图4.4活动实体图4.2 系统总体设计系统总体设计主要完成设计软件系统结构和各组成部分之间的相互关系的任务。为了实现目标系统,首先进行结构设计。具体方法为:(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息。(5)评价模块结构的质量。软件总体设计的主要任务就是软件结构的设计,为了提高设计的质量,必
49、须根据软件设计的原理改进软件设计,遵循如下软件结构的设计优化准则:(1)划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。(2)一个模块的作用范围应在其控制范围之内。模块的作用范围是指受该模块内一个判定影响的所有模块的集合。模块的控制范围是指模块本身以及所有从属于它的模块的集合,包括直接从属的和间接从属的。判定所在的模块应与受其影响的模块在层次上尽量靠近。(3)软件结构的深度、宽度、扇入、扇出应适当。深度是指软件结构中控制的层数;宽度是指软件结构中同一层次上模块总数的最大值;扇出是指一个模块直接调用的模块数;扇入是指一个模块有多少上一级模块调用它。软件结构从
50、形态上,总的考虑是顶层扇出数较高一些,中间层扇出数较低一些,底层扇入数较高一些。(4)模块的大小要适中。经验证明,模块的大小在50行左右(两屏幕可以显示的行数)较为合适。过大的模块不易理解,过小的模块增加了系统接口的数量,加大了系统的不必要开销。(5)模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。4.2.1 软件结构设计 图4.5 系统模块图4.2.2 系统数据库设计数据库设计在软件开发过程中起着极其重要的作用。数据库设计是否合理对整个软件的开发是至关重要的。数据库设计通常包括下述四个步骤:(1) 模式设计。模式设计的目的是确定物理数据结构。一般用第三范式,第三范式形式的实
51、体及关系数据模型是模式设计过程的输入,模式设计的主要问题是处理具体的数据库管理系统的结构约束。(2) 子模式设计。子模式是用户使用的数据视图。(3) 完整性和安全性设计。(4) 优化。主要目的是改进模式和子模式以优化数据的存取。下面是数据库的详细设计,在数据库project中的共有六张数据信息表,表4.6是整个系统中的表的汇总。表4.7 系统表汇总表名描述Activity此表主要是保存社团活动信息。Community此表用于保存社团信息。Duty此表用于保存五种职务信息。Funds此表用于存储经费申请信息。MemberUser此表用于保存社员信息。此表用于保存注册用户信息社团活动信息表(act
52、ivity)的主键是编号(activity_id),此表主要是保存社团活动信息。表4.8是社团活动信息表的详细设计。表4.8 社团活动(activity)表列名类型说明备注activity_idintId主键activity_themevarchar(255)活动主题activity_communityvarchar(255)所属社团activity_namevarchar(255)活动名称 activity_codeint活动编号activitydatedatetime活动时间principalvarchar(255)活动负责人hkcss_inspectionunitactivity_con
53、tentnotevarchar(255)varchar(255)varchar(255)varchar(255)社联监查人承办单位活动内容备注 社团信息表(community)的主键是编号(community_id),此表主要是保存社团的各种信息,通过这张表可以查到社团的详细信息等。表4.8是会员权限信息表的详细设计。表4.9 社团信息(community)表列名类型说明备注community_idintId主键community_namevarchar(255)社团名称community_codevarchar(255)社团编号principalvarchar(255)新闻内容founder
54、unitfounddatequaleintromoneycommunity_moneynotestateuser_accountvarchar(255)varchar(255)datevarchar(255)varchar(255)varchar(255)varchar(255)varchar(255)varchar(255)varchar(255)发布时间合作单位成立日期社团性质社团简介社团收费社团经费备注状态用户账号职位信息表(duty)的主键是编号(duty_ID),此表主要是保存职位和对应的职务id,与用户表示一对多的关系。表4.10是职务信息表的详细设计。表4.10 职务信息(dut
55、y)表列名类型说明备注duty_IDintid主键duty_namevarchar(255)职务名称duty_othervarchar(255)备注 经费申请信息表(funds)的主键是活动编号(funds_id),此表主要是保存社团经费相关的信息。表4.11是系统信息表的详细设计。表4.11 经费申请信息(funds)表列名类型说明备注funds_idfunds_communitysurplus_moneyfunds_moneyfunds_reasonfunds_peoplefunds_date examine_programexamine_peopleexamine_datenoteexa
56、mine_noteIntvarchar(255)varchar(255)varchar(255)varchar(255)datetimevarchar(255)varchar(255) varchar(255)varchar(255)varchar(255)varchar(255)Id申请社团尚有金额申请金额申请理由申请人申请日期审批状态审批人审批日期备注审批备注主键 会员信息表(member)的主键是编号(member_id),此表主要是保存所有社员信息。表4.12是社员信息表的详细设计。 表4.12 社员信息(member)表列名类型说明备注member_idIntid主键member_c
57、odemember_namemember_communitymember_dutyvarchar(255)varchar(255)varchar(255)varchar(255)会员编号会员名称所在社团名称所在社团担任的职务joindatedatetime加入时间genderclassesdepartmentdormitorytelnotevarchar(255)varchar(255)varchar(255)varchar(255)varchar(255)varchar(255)性别班级院系寝室电话备注4.3 系统详细设计详细设计阶段的根本目的是确定应该怎样具体地实现所要求的系统,也就是在这
58、个阶段的设计工作,应该的出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计阶段的任务是设计出程序的“蓝图”,程序员以后根据这个蓝图写出实际的程序代码。详细设计的目标不仅仅是逻辑上正确地实现每个模块地功能,更重要地是设计出的处理过程应该尽可能简明易懂。在每个模块中都有相应的功能界面。结构程序设计是实现上述目标的关键技术,是详细设计的逻辑基础。下面是系统中主要的功能模块及其子功能模块具体的实现方法(仅对一些典型模块进行说明)。4.3.1用户管理模块(1)用户登录模块用户登录模块是整个系统最基础也是必不可少的一个模块,通过用户登录模块对用户的合法性进
59、行有效的验证,以及对用户的权限级别进行识别。前台界面通过JavaScript验证输入的有效性,后台业务层验证用户的合法性。用户登录界面包括输入账号及密码,假如密码丢失,可以通过点击忘记密码来找回,回答原先设置的密保问题,就可以找回密码了。前台用户登录界面如图4.6所示。 图4.6 登陆界面(2)用户注册模块社员的添加是通过用户注册界面进行注册来完成的。注册时有很多限制,这些限制都是为了使用户正确填写用户资料,这些限制条件均用javaScript在JSP界面写出来。如果用户输入的内容与系统要求不符,系统均会以alert警示框的形式提醒新注册用户。注册时的“账号”不能与据库中已经存在账号相同故在鼠
60、标离开用户名框时注册界面就与数据库进行了账号核对,只有当新注册账号在数据库中不存在时才可以使注册继续进行下去。通过填写注册用户界面的用户名、密码、真实姓名、密保等问题,来注册账号,账号是唯一的,必须记住,然后前往登录界面登录。图4.7为用户注册的表单界面。图4.7 用户注册界面(3)用户修改模块该模快主要是社员的借误信息进行修改。修改界面如图4.8所示。图4.8 社员信息修改界面(4)用户删除模快。该模快没有对应的界面,只配制了一个删除按扭,点击用户资料旁边的删除按扭,该用户将会被删除。与删除有关的界面如图4.9所示。图4.9删除有关的界面4.3.2社团介绍功能模快(1)社团介绍模快该模快只是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《第8课 算法的多样性》教学设计教学反思-2023-2024学年小学信息技术浙教版23六年级上册
- 七年级语文上册 第三单元 10 再塑生命的人教学设计1 新人教版
- Unit6 SectionA 1a~1c教学设计 -2024-2025学年人教版英语八年级上册
- 《两位数加两位数(不进位)》教学设计-2024-2025学年一年级下册数学人教版
- 4.3.1空间中直线与直线的位置关系课件高一下学期数学湘教版(2019)必修第二册
- 腹部手术围术期管理
- 《神奇的计算工具》教学设计-2024-2025学年四年级上册数学北师大版
- 车辆保险知识详解
- 2024年高中化学 第一章 认识有机化合物 第四节 第2课时 元素分析与相对分子质量的测定 分子结构的鉴定教学设计 新人教版选修5
- 课件圣诞节礼物
- 新版《医疗器械经营质量管理规范》(2024)培训试题及答案
- 2025年初级社会工作者综合能力全国考试题库(含答案)
- GB∕T 21489-2018 散粮汽车卸车装置
- 教育部人文社科项目申请书范本-2-副本
- 液力偶合器参数
- 高填方路基及挡土墙施工方案
- 《侧面描写》教学课件.ppt
- 不锈钢栏杆制作与安装工程工检验批质量检验记录
- 2020版《中国药典》微生物限度计数—耐胆盐革兰阴性菌
- 可编程控制器实训报告
- 清产核资基础报表(模板)
评论
0/150
提交评论