《高校大学生社团管理系统的设计与实现_kaic.docx》由会员分享,可在线阅读,更多相关《高校大学生社团管理系统的设计与实现_kaic.docx(37页珍藏版)》请在三一办公上搜索。
1、本科生毕业论文(设计)论文(设计)题目:XXXXXxXXXXXXXXXXXXX学院、系:信息工程学院信息管理系专业(方向):信息管理与信息系统年级、班:2017级信管1班学生姓名:XXX指导教师:_XXX年月日声明本人郑重声明:所呈交的毕业论文是本人在导师的指导下取得的成果。对本论文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。本毕业论文(设计)成果归兰州财经大学所有。特此声明毕业论文(设计)作者签名:摘要1一、绪论1(一)选题背景11、社团管理系统的提出1(二)系统设计的原则与目标21、系统设计原则22、系统设计目标2二、系统关键
2、技术的分析4(一)JSP技术4(二)Tomcat简介51、SERVLET容器62、TOMCAT的组织结构6(三)JaVa技术7(四)MySQL简介8三、社团管理系统的需求分析10(一)系统的需求分析101、系统的功能需求102、系统的运行需求H(二)系统的用例需求111、系统用户角色用例分析H2、普通社员子系统用例分析123、社长子系统用例分析124、管理员子系统用例分析13四、社团管理系统的设计与实现14(一)系统数据分析141、系统的数据字典分析142、系统ER模型分析15(二)系统总体设计181、软件结构设计192、系统数据库设计20(三)系统详细设计231、用户管理模块232、社团介绍
3、功能模块263、个人中心27(四)编码与测试27总结29参考文献30致谢31摘要校园社团管理系统主要是为了给领导、各社社长、社员提供一个平台,在这个平台里社员可以在里进行活动策划、交流,社团管理层可以管理本社团的社员、社团活动,而学校领导则可以对整个学校的社员,社团,活动情况进行有效管理。本系统主要完成了对用户权限、社团经费、社团活动申请、社员信息查询与修改、社团变更等功能。系统开发主要包括JSP页面设计,ACtiOn类编写与数据库表设计。本系统采用了JSP+SSH+Mysql工具结构,因为学校社团数据量不是很大,故选用了简单方便的MySql数据库。本系统共包括五个大模块,分别对应五种不同的权
4、限。五个大模块分别为:社员模块,社长模块,学校领导模块,超级用户模块,普通注册用户模块,每个大模块又分为若干个小模块。社员模块包括社团经费查看、社员信息修改、学校所有社团介绍、活动申请五个小模块。而社长模则包括社团成员管理、经费申请、活动申请、个人信息修改四个小模块。学校领导则包括学校所有社员管理、社团管理、社长任命、经费批准四个小模块。本文从社团管理系统在学校社团生活中产生的作用出发,详细阐述了一个功能较完善的社团管理系统的前台开发、操作流程和涉及的一些关键技术。介绍了系统的需求分析,系统分析,具体完成了数据流分析,数据字典功能模块的划分,数据库的设计和界面设计。最后对系统进行了测试分析,以
5、保证其性能的稳定性和功能的完整性。关键词:Mysql,SSH,活动申请,经费申请,会员管理,社团管理。ABSTRACTStudentclubmanagementsystemismainlytogiveleadership,eachclubPresident,membershiptoprovideaplatform,Inthisplatformthemembershipcanundertakeeventplanning,communication,publicationtoeachclubopinionsviews,presidentscanmanageopinionviewsfromcorpo
6、ratemembership,andschoolleaders,cangiveaeffectivemanagementtotheentireschoolmembership,activity.SystemdevelopmentmainlyincludestheJSPpagedesign,databasetableservletclasspreparationanddesign.ThissystemUSESaJSP+SSH+Mysqltoolsstructure,becausetheschoolcommunitydataquantityisnotverybig,sochoosethesimple
7、Mysqldatabase.Thissystemincludesthreebigmodules,correspondingthreedifferentpermissions.Threebigmouldfastrespectivelyis:membersdiefast,presidentsmouldfast,theschoolleadermouldfast,eachbigmodulusquickanddividedintoseveralsmallmouldfast.Membershipmouldfastincludingmembershipmessages,communitynewsreadin
8、g,membershipinformationmodification,schoolallsocietiesintroductionandactivitiesforfivesmallmouldfast.Schoolleaders,includingschoolallmembershipmanagement,Presidentappointed,activityapproval,publishedcommunitynewsfoursmallmouldfast.Thisarticlefromclubmanagementsysteminschoolcommunitylifestartofeffect
9、s,thispaperexpoundsthefunctionsofamoreperfectonthestageleaguemanagementsystemdevelopment,operationprocessandsomekeytechnologiesinvolved.Presentsthesystemrequirementanalysis,systemanalysis,specificcompleteddataflowanalysis,datadictionaryfunctionmodule,databasedesignandinterfacedesign.Intheend,systemw
10、astestedandanalysed,toassuretheperformancestabilityandfunctionintegrity.KeywordsiMysql,Struts2,Spring,Hibernate,Activity-application,Funds-application,Member-manager,Community-manager一、绪论在现代大学教学模式中社团是培养学生的一个很重要的教学方式,故在每个学校里都有很多各种各样的社团,比如学术问题、社会问题的计论研究会,文学艺术、体育、音乐、美术等方面组成的活动社,当然还有学生会、青年志愿者这样的学生管理协会。这
11、么多种类的协会如果只是用纸质文档进行管理的话不但耗费大量不必要的人力,而且给管理带来了很多不便,造成学校机构的臃肿,所以学校管理向以电子化、信息化为基本平台的方向发展成为必然。(一)选题背景在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。在当今信息时代,人们的生活方式随着Internet的不断发展发生了不同寻常的改变。基于Inter
12、net的远程办公方式已经越来越受到大家的欢迎,应用的领域也越来越广泛,提高办公效率已经成为所有企业、公司、事业单位等各部门追求的目标。在传统的社团管理工作中,一项活动的开展往往需要策划,申请,批准,意见收集等环节,而这过程中找老师批准,获取各种活动资源都需要学生在老师办公室与寝室之间来回跑动,浪费了很多不必要的时间与精力,使得活动准备时间过长,也带来诸多不便。随着计算机技术和网络技术的发展,利用网络进行管理越来越成为学校管理的发展方向。社团管理系统,利用先进的计算机技术、网络通信技术、多媒体技术等相关的技术,将各社员与学校管理老师联系起来实现即时信息通迅,为老师学生都节约了大量的时间与精力并大
13、大提高了学校管理工作的效率与质量,同时也精简了学校管理机构。1、社团管理系统的提出随着学校社团组织的蓬勃发展,在传统的社团管理方式下出现了各种各样的问题,使得社团管理比较混乱。这些问题主要表现如下:在一年中不同的时期不很多活动是不适合进行的或有很多地方需要同学在活动时要特别注意,比如社会出现整体情绪大波动时学生就不能到大街上去进行各种游行活动、夏天来临时学生进行游泳活动时就要特别注意做好各种防范措施等等。而学生可能注意不到这些这就需要学校领导对学生进行提醒,但传统方式是通过班主任在每周晚点名的时候对同学进行叮嘱,但这种方式信息传达很慢,有时更是错过了时间。这时如果有一种社团管理系统里将这些要注
14、意的地方以社团新闻的方式发布出来的话,就能达到将信息及时传送到学生手里的目的。在学校社团管理中肯定会举办各种各样的活动,而举办这些活动都需要一定的经费,出了找赞助商和合作单位外,还需要社团批准一定的经费来让活动圆满的举办成功。现在大学都比较大,学生寝室隔老师办公室都比较远,有时学生组织办一次活动找老师批准要找好几次,这样花费了组织者很多不必要的精力,直接在网上进行活动申报将为组织者节约很多时间精力。以上这几点社团管理问题直接要求有这么一个网站来解决这些问题。社团管理系统针对这些问题设计功能模块,很好的解决了传统社团管理中出现的各种问题。(一)系统设计的原则与目标1、系统设计原则根据社团管理系统
15、的实际需要,选用T。InCat作为系统平台,在此基础上方便、灵活、人机界面友好、直观清晰,非常实用。不同级别用户的登录拥有对系统不同的权限,分别管理职权内的事务,不同用户拥有不同的界面,但高级用户可以以低级用户的身份登录进入系统,进行低级用户的操作,反之则不能。2、系统设计目标系统的总体目标是要提高社团管理人员的工作效率和管理水平,方便社员参与到社团的建设,并为社员与管理人员提供一个信息交流平台,达到将社团管理工作纳入科学化、规范化的轨道目的。为了实现系统设计的总目标社团管理系统应具备以下功能目标,主要包括:(1)系统登录:该模块负责将用户分为普通会员和注册用户来实现用户权限的管理。(2)系统
16、注册:该模块负责普通用户的增添。(3)活动申请:这个模块中社员与社长均可以向学校管理员进行活动申请以获得活动所需要的各种资源。学校管理员有批准活动是否进行的权力,活动组织者只有在网站上获得老师的同意时才可以将活动继续进行下去,反之则终止活动。(4)权限管理模块:这个模块与系统登录结合在一起。在登录的时候确定你是以什么等级的用户登录,不同等级的用户登录进去后对应的界面也不相同,高等级用户可以以低等级用户的身份登入。(5)社团列表模块:这个模块中将学校所有的社团都简单的列举了一下,这样可以方便社员对学校各个社团进行了解,从而使他们可以更好的选择适合自己的社团。(6)个人信息修改模块:在这个模块中所
17、有注册用户均可以对自己的资料进行修改,但一般社员与社长不能修改自己的权限与所加入的社团名称。学校管理员可以修改自己的任何资料。(7)会员管理模块:这个功能只对社长与学校管理员开放,社长有对本社社员进行增、册k查、改等管理,而学校管理员可以对学校所有社员进行管理,其中包括社长的任命。(8)经费管理模块:这个功能主要对社团费用情况进行记录。(9)社团管理模块:这个功能对社团进行记录。二、系统关键技术的分析在社团管理系统的设计实现中,涉及的技术较为广泛,其中最主要采用的技术是JSP技术,通过对JSP技术的分析,对系统的关键技术的了解,可以对系统的实现得到较好的支持。(一)JSP技术JSP(JavaS
18、erverPageS)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页技ML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)o用JSP开发的Web应用是跨平台的,既能在LinUX下运行,也能在其他操作系统上运行。JSP是一种基于JaVa的脚本技术。在JSP的众多优点之中,其中之一是它能将HTML编码从Web页面的业务逻辑中有效地分离出来。用JSP访问可重用的组件,如ServletsJavaBean和基于Java的Web应用程序。
19、JSP还支持在Web页面中直接嵌入Java代码。可用两种方法访问JSP文件:浏览器发送JSP文件请求、发送至Servlet的请求。JSP技术使用Java编程语言编写类XML的tags和SCriPtlets,来封装产生动态网页的处理逻辑。网页还能通过tags和SCriPtletS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网更垣t和显示分离,支持可重用的基于组件的设计,使基于Tyeb的应用程序的开发变得迅速和容易。Web服务迷在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JaVa程序段可以操作数据库、重新定向网页等,
20、以实现建立动态网页所需要的功能。(1)JSP文件访问Bean或其它能将生成的动态内容发送到浏览器的组件。图5T说明了该JSP访问模型。当Web服务器接收到一个JSP文件请求时,服务器将请求发送至WebSerVe应用服务器。WebSerVer应用服务器对JSP文件进行语法分析并生成Java源文件(被编译和执行为Servlet)oJava源文件的生成和编译仅在初次调用Servlet时发生,除非已经更新了原始的JSP文件。在这种情况下,WebSerVe应用服务器将检测所做的更新,并在执行它之前重新生成和编译Servleto图2.1浏览器发送(2) JSP文件请求发送至Servlet的请求生成动态内容
21、,并调用JSP文件将内容发送到浏览器。图5-2说明了该访问模型。该访问模型使得将内容生成从内容显示中分离出来更为方便。WebSphere应用服务器支持HttpServiceRequest对象和HttpserviceResponse对象的一套新方法。这些方法允许调用的Servlet将一个对象放入(通常是一个Bean)请求对象中,并将该请求传递到另一个页面(通常是一个JSP文件)以供显示。调用的页面从请求对象中检索Bean,并用JSP来生成客户机端的HTMLo(二)Tomcat简介TOMCAT是APACHEJAKARTA软件组织的一个子项目,TOMCAT是一个JSP/SERVLET容器,它是在SU
22、N公司的JSWDK(JAVASERVERWEBDEVELOPMENTKIT)基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JAVASERVLET容器的特性,并被一些企业用于商业用途。Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的
23、场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APaChC服务器,可利用它响应对HTML页面的访问请求。实际上TOnICat部分是APaChe服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与APaChe独立的进程单独运行的。1、SERVLET容器负责处理客户请求。当客户请求来到时,SERVLET容器获取请求,然后调用某个SERVLET,并把SERVLET的执行结果返回给客户。当客户请求某个资源时,SERVLET容器使用SERVLETREQUEST对象把客户的请求信息封装起来,然后调用JAVASERVLETAP
24、I中定义的SERVLET的一些生命周期方法,完成SERVLET的执行,接着把SERVLET执行的要返回给客户的结果封装到servletresponse对象中,最后servlet容器把客户的请求发送给客户,完成为客户的一次服务过程。TOMCAT的默认工作模式,作为独立的SERVLET容器,是内置在WEB服务器中的一部分,是指使用基于JAVA的WEB服务器的情形。SERVLET容器作为WEB服务器的插件和JAVA容器的实现。WEB服务器的插件在内部地址空间打开一个JVM(JAVAVIRTUALMACHINE)使JAVA容器得以在内部运行。如有某个需要调用SERVLET的请求,插件将取得对此请求的控
25、制并将它传递(使用JNl)给JAVA容器。进程内的容器对于多线程、单进程的服务器非常适合,并且提供了很好的运行速度,只是伸缩性有所不足。注意:JNl是JAVANATIVEINTERFACE的缩写,是JAVA本地调用接口,通过JNLJAVA程序可以和其他语言编写的本地程序进行通信。SERVLET容器运行于WEB服务器之外的地址空间,并且作为WEB服务器的插件和JVM使用IPC(如TCP/IP)进行通信。进程外容器的反应时间不如进程内的容器,但有较好的伸缩性、稳定性等性能。IPCINTERPROCESSCOMMUNICATION(进程间通信)的简写,它是实现进程间通信的一种技术。2、TOMCAT的
26、组织结构ToMCAT是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALlNASERVLET容器,其他的组件按照一定的格式要求配置在这个顶层容器中。TOMCAT的各个组件是confserver.XInI文件中配置的,TOMCAT服务器默认情况下对各种组件都有默认的实现,下面通过分析server,xml文件来理解TOMCAT的各个组件是如何组织的。顶层元素,代表一个服务器顶层元素,是COnneCtOr的集合,只有一个EIIgine连接器类元素,代表通信接口容器类元素,为特定的SerViCe组件处理所有客户请求,可包含多个HOSt为特定的虚拟主机处理所有客户请求为特定的W
27、EB应用处理所有客户请求ToMCAT中真正处理客户请求与生成响应的三个组件是Engine、Host、Context(三)Java技术JaVa技术是一门编程语言,也是一个平台,它基于JaVa虚拟机技术,借助这个东西建立了跨平台的优势。JaVa编程语言与众不同之处在于:JaVa程序既是编译型的(转换为一种称为JaVa字节码的中间语言),又是解释型的(JVM对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM优化过的机器码形式;解释器是JVM的实现。这段是摘自网上的,编译原理学的不是很好,对这门语言的背后运行机制理解到这样了。JaVa平台是一种纯
28、软件平台,它有三个版本JaVaSE、JavaEEJavaMEoJavaSE(JavaPlatform,StandardEdition)这个版本以前叫做J2SE,后来版本号从L4直接跳到5.0,其实也就是1.5,所以就叫成JaVaSE5.0。目前JaVa开发人员使用较多的版本是5.0,当然还有JaVaSE6.0这个更新的版本。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的JaVa应用程序。JaVaSE还包含了支持JaVaWeb服务开发的类,并为JaVaEE这个版本提供基础。JavaEE(JavaPlatform,EnterpriseEdition)这个版本以前叫做J2EE,也就是大
29、家可能听得比较多的,也是JaVa比较流行的领域,JaVa的企业级版本。JaVaEE下有很多流行的开发框架,像StrUts、Spring、Hibemate这种流行的所谓SSH组合等。根据项目大小、应用领域,技术平台的选择面还是很多的,除了JavaEE,还有.Net,LAMP组合(Linux、APatCh、MySq1、PHP组合),相对来说比较新RUby在RUbyOnRailS的框架应用,后两者可能在相对来说比较轻量级的Web领域运用成功案例比较多,更重量的企业级潜力还有待挖掘。JavaME(JavaPlatform,MicroEdition)这个版本以前叫做J2ME。应用领域像各种移动设备和嵌入
30、式设备,比如:手机、PDA、电视机顶盒和打印机。JavaME不是太熟悉,不过移动设备和嵌入式设备的开发个人觉得算是比较有意思的领域,最近比较瞩目的业界新闻有一个就是Google发布开源智能手机操作系统开发平台Android,也就是前一阵子炒得很火的GPhone(原来Google出的不是手机,而是一个手机操作系统开发平台)。这个平台貌似会对JaVaME有些冲击,按照网上的消息,Android包括:1、高度定制的LinUX操作系统内核及智能手机硬件驱动支持;2、经过Google修改过的Java虚拟机Dalvik,这里的性能比SUN的Hotspot高,支持大部分Java核心类库;3、大量智能手机开发
31、核心类库;4、大量现成的智能手机应用软件;5、基于ECIiPSe的开发环境。也是按照网上的说法,JavaEE提供了统一的编程平台,但不能调用操作系统的资源;而Android下直达操作系统,上直达应用软件,如:浏览器、日历、地图等。Java开发工具很多,个人使用的IDE有Eclipse和NetBeansoEclispe比较流行,各种插件也多,当然用起来也不错;NetBeans现在也是越做越好了,介绍这两个IDE主要是开源的,当然还有其它工具如JBUilder、IntelIij、JCreatOr.这些IDE各有优势劣势,根据你开发的项目来选择了。(四)MySQL简介MySQL是一个小型关系型数据库
32、管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在InterrIet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL有以下特性:(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。(2)支持AIX、FreeBSDHP-UXLinux、MacOS.NovellNetware.OpenBSDOS/2WrapsSolar
33、iSsWindows等多种操作系统。(3)为多种编程语言提供了APIo这些编程语言包括C、C+、Python、JavaPerKPHP、EiffeKRUby和TCl等。(4)支持多线程,充分利用CPU资源o(5)优化的0L查询算法,有效地提高查询速度。(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的缄码如中文的GB2312、BIG5,日文的ShiftJIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。(8)提供用于管理、检查、优化数据库操作的管理工具。(9)可以处理拥有上千
34、万条记录的大型数据库。三、社团管理系统的需求分析(一)系统的需求分析1、系统的功能需求软件开发前的需求分析是软件成败的关键,如果没有进行详细的需求分析,没有充分理解系统的各类用户的实际需求,那么最终的软件产品充其量只能说是软件开发者的作品而已,没任何实用价值可言。因此,在开发基于JSP的社团管理系统之初,对系统需求进行了详细的分析,系统所实现的最终目标:就是要使社团管理实现全面的规范化、科学化、自动化、高效化和流程化。对于社团管理来说,主要是社员的管理,信息的发布,信息的收集,活动的管理,社团的介绍,经费管理等等。该系统是基于Web开发的高校社团管理系统,利用SSh框架完成的。拥有的功能有:用
35、户登陆、注册、修改信息。新建、修改、删除、查询社团会员。新建、修改、删除、查询社团活动。申请、修改、删除、查询社团经费。新建、修改、删除、查询、提交、审批社团。因此,一个社团管理系统应该具有如下的功能:(1) 个人信息的修改。(2) 学校所有社团的介绍功能。(3) 会员列表及查询信息。(4) 活动列表、新建活动及查询活动。(5) 社团经费的管理。包括经费列表、新建经费及查询经费。(6) 社团管理包括社团列表及查询社团。(7) 个人中心包括修改密码及修改资料。(8) 社团成员管理功能。为社长或学校管理人员对普通社员的一些信息进行增、出h改、查等操作。(9) 社长或普通社员要举办活动需要在网上申请
36、,得到学校领导同意即可举办活动。系统功能模块图如图3.1所示。未注册V注册成功登录页面主页面注册页面团费理社经管其它小功能登录页面图3.1系统功能模块图2、系统的运行需求软件方面:系统将用Windows7操作系统和Tomcat6.0以上版本,以MyEclipse8.5为开发和测试平台,前台以JSP为前端界面编辑环境,后台用MySQL5.5来管理数据库。运行时对JDK的版本要求为1.6。硬件方面:PI11500CPU或更高配置,256M内存或更高,20G以上硬盘,更好有IOM共享带宽或更高。(二)系统的用例需求1、系统用户角色用例分析社团管理系统主要面对三类用户,即普通社员、社团管理者、学校管理
37、员,不同的角色完成不同功能因此,在设计系统时,将系统的整体功能划分成三个子系统,即普通社员子系统、社团管理子系统和学校管理员子系统。这三个系统由于其面对的用户不同,其功能也不同,具有相对独立性,但它们又是紧密联系和相互关联的,如图3.2所示。图3.2用户关系角色图2、普通社员子系统用例分析普通社员子系统的主要功能包括活动申请、社团信息查看、个人信息修改等。在这里所有用户都必须登录才能进入系统,它不对非注册用户开放,如图3.3所示。3、社长子系统用例分析社长子系统是专门为社长管理本社团内部事务而设计的,社长在登录时在“登录类型”里选择社长这个选项就可以以社长身份登录进入系统,当然社长也有权以普通
38、社员的身份登入系统中,当以普通社员身份登入系统时其权限将与普通社员一样。社团管理者主要有对本社社员管理、活动申请、修改个人信息,经费管理等功能。社团管理者登入系统时就可以进入社员管理界面,如图3.4所示。图3.4社团管理者子系统用例图4、管理员子系统用例分析管理员子系统包括前台所有功能的维护,主要有新闻信息管理,全校所有社员信息管理、活动批准。如图3.5所示。图3.5系统管理员子系统用例图四、社团管理系统的设计与实现在通过需求分析之后,则进入项目的具体设计阶段,在此阶段需要完成的有详细功能设计,数据库设计,界面设计,软件结构设计,然后编码完成功能实现,最终通过测试之后,交付使用。(一)系统数据
39、分析在需求分析的用例分析中,可以得出社团管理系统的数据字典分析和概念设计的实体。1、系统的数据字典分析数据字典是用来定义数据流图中各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典有以下四类条目:数据流、数据项、数据存储、处理逻辑。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。经过对系统的用例分析,对系统中的实体进行了查找和分析,最终得出系统的数据字典中共有三个子系统模块,在数据库中设计成为6张数据表。表4.
40、1普通注册用户表概念普通注册用户表名:组成:包括用户1D、名称、登录账号、密码、用户职务等内容表4.2社团会员表概念社团会员表名J组成:会员id、会员编号(系统生成唯一不重复)、会员姓名、所在社团、职务、加入时间、性别、所在班级、院系、寝室,电话、备注表4.3社团活动表概念社团活动表名:组成:id、活动主题、举办活动社团名称、活动编号(系统生成)、活动举办时间、活动负责人、社联监查人、承办单位、活动主要内容表4.4社团经费表概念社团经费表名:组成:id、申请社团名称、尚有金额、申请金额、申请人名称、审批人、审批状态、审批日期、备注表4.5社团信息表概念社团信息表名:组成:id、社团编号、社团名
41、称、负责人、创始人、成立日期、社团性质、社团简介、社团收费情况、社团共有经费、社团审批通过或驳回状态、备注表4.6职务信息表概念职务信息表名:组成Id、职务名称、备注2、系统ER模型分析概念模型是对信息世界建模,所以概念模型能够方便、准确地表示出信息世界中的常用概念。概念模型一般用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型。E-R模型的关键元素是实体、属性和联系。实体是可以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体在E-R图中,用矩形表示,矩形框内写明实体名。实体具有属性,有时也称作性质,是用来描述实体的特征的。属性可以是组合的或者多值的。在E-R图中,属性
42、用椭圆形表示,并用无向边将其与相应的实体连接起来。实体可以通过联系相互关联。在一般的联系中,使用二元联系居多,二元联系主要有三种类型一一1:1,l:n,m:n0在“1:1”联系中,一种类型的单个实体实例与另一个类型的单个实体实例关联。在“1:n”联系中,一个类型的单个实体实例与另一个类型的多个实体实例相关联。在“m:n”联系中,一个类型的单个实例与另一个类型的多个实体实例相关联,同时地,后一类型的单个实体实例与前一类型的多个实体实例相关联。在ER图中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或者m:n)。以下是各实体的属
43、性:(1)社员实体。社员信息主要包含了表明社员在系统中的基本登陆信息和标识了会员的编号。图4.1是会员信息的所有属性。图4.1普通社员实体图(2)社团实体。社团信息主要包含了社团创始人、社团编号、社团名称、负责人、成立时间。图4.2是社团实体的所有属性。图4.2社团实体图(3)经费实体。图4.3是经费实体的所有属性。经费信息包含了申请经费的社团名称、尚有金额、申请金额、申请人名称、审批人名称、时间。(4)活动实体。活动实体主要包含了活动活动内容、活动主题、活动地点、活动时间、申请时间、所需资金、是否批准、活动编号、赞助。图4.4是系统信息的所有属性。图4.4活动实体图(二)系统总体设计系统总体
44、设计主要完成设计软件系统结构和各组成部分之间的相互关系的任务。为了实现目标系统,首先进行结构设计。具体方法为:(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息。(5)评价模块结构的质量。软件总体设计的主要任务就是软件结构的设计,为了提高设计的质量,必须根据软件设计的原理改进软件设计,遵循如下软件结构的设计优化准则:(1)划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。(2)一个模块的作用范围应在其控制范围之内。模块的作用范围是指受该模块内一个判定
45、影响的所有模块的集合。模块的控制范围是指模块本身以及所有从属于它的模块的集合,包括直接从属的和间接从属的。判定所在的模块应与受其影响的模块在层次上尽量靠近。(3)软件结构的深度、宽度、扇入、扇出应适当。深度是指软件结构中控制的层数;宽度是指软件结构中同一层次上模块总数的最大值;扇出是指一个模块直接调用的模块数;扇入是指一个模块有多少上一级模块调用它。软件结构从形态上,总的考虑是顶层扇出数较高一些,中间层扇出数较低一些,底层扇入数较高一些。(4)模块的大小要适中。经验证明,模块的大小在50行左右(两屏幕可以显示的行数)较为合适。过大的模块不易理解,过小的模块增加了系统接口的数量,加大了系统的不必
46、要开销。(5)模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。1、软件结构设计社团管理系统会员管理其它 小功 能修改信息会员列表删除信息新增会员一社团删除 社团修改 社团新建 社团列表 经费列表 删除经费 修改经费 申请经费 删除活动 修改活动 新建活动 活动列表修改密码修改个人信息图4.5系统模块图2、系统数据库设计数据库设计在软件开发过程中起着极其重要的作用。数据库设计是否合理对整个软件的开发是至关重要的。数据库设计通常包括下述四个步骤:(1)模式设计。模式设计的目的是确定物理数据结构。一般用第三范式,第三范式形式的实体及关系数据模型是模式设计过程的输入,模式设计的主要问
47、题是处理具体的数据库管理系统的结构约束。(2)子模式设计。子模式是用户使用的数据视图。(3)完整性和安全性设计。(4)优化。主要目的是改进模式和子模式以优化数据的存取。下面是数据库的详细设计,在数据库ProjeCt中的共有六张数据信息表,表4.6是整个系统中的表的汇总。表4.7系统表汇总表名描述Activity此表主要是保存社团活动信息。Community此表用于保存社团信息。Duty此表用于保存五种职务信息。Funds此表用于存储经费申请信息。Member此表用于保存社员信息。User此表用于保存注册用户信息社团活动信息表(activity)的主键是编号(activityid),此表主要是保存社团活动信息。表4