主页 > 案例大全 > 论文知识案例-社团管理系统

论文知识案例-社团管理系统

2021-05-24 12:50:13

  对高校社团的管理进行改革创新是提高各个高校社团并使之良性正面发展的必经之途。然而,在大多数大学网站上都没有找到较为完善的学生社团管理模块,甚至有的仅仅只在学校新闻中略加提及,缺少明确的社团管理体系结构。因此,设计并开发一款功能完善,权限分明,便于维护的高校社团管理系统是具有一定深远意义的研究项目。

  该社团管理系统主要系统模块包括以下几个部分:社团信息管理模块、成员信息管理模块、物资信息管理模块、通知新闻管理模块、个人信息管理模块、论坛模块和活动管理模块。

  这个系统开发主要基于Java,以Java开发语言为基础底层,逐步构建出各个模块与相应功能,并最终组成整个系统。在必要部分,将详细的论述需求分析、概要设计以及详细设计的思考与设计过程,并以用例图、功能结构图、流程图、时序图等图例明确标出具体结构,以方便理解。本项目基本实现了预期的开发目标。在文章最后,将对系统存在的不足以及缺陷进行阐述,并附上各模块运行及测试部分描述。

  本系统可同时处理大量数据,界面清新明确,操作简单快捷,易于使用。

  高校学生社团是在对应管理教师的指引下由兴趣相同或相似的学生自发组成的带有俱乐部性质的学校小型团体组织,它们通常以举行带有社团独特风格的集众性活动来吸引学生加入社团组织。大学生社团是我国高校校园建设中不可欠缺的一环,其潜移默化的影响着校园文化的发展。

  。随着社团发展的重要性逐渐凸显,我国对高校社团的发展、建设能力略显陈旧,难以满足当下壮大并走向繁荣的社团发展现状。我国早期社团研究主要从以往的建设经验入手,较为感性的对大学生社团进行探索、研究相关管理以及组织方法。直到近十年,少数学者在着眼于校园教育时对社团的发展产生了较多的关注并进行了相关的学术研究,有关论文,逐年递增,使我们对大学生社团的了解更加深刻且具有理性。

  1.2项目意义

  在信息时代,对社团数据进行信息化管理,可以极大地减少了管理人员的工作量。但多数大学网站上缺少相应的学生社团管理模块,更缺少便捷快速且易于管理的信息维护渠道。如何在不改变传统社团功能与结构的情况下,对社团进行统一的管理与维护,是一个比较具有挑战意义的研究课题,也是当下急需解决的问题。这对于社团的组织与发展具有积极的促进意义。

  1.3国内外研究现状

  1.3.1国内研究现状

  大多数高校网站上并没有专门的学生社团相关模块,有的也只是在新闻内容中略微提及,缺少明确的社团管理体系部分,且存在信息更新间隔过长、缺乏维护工作的问题。显然,高校社团在信息化的管理方面缺乏相应的社团管理的策略,更多地处于放任学生之间自由的发展社团的阶段;这使得社团之间发展的不均衡,或从根本上名存实亡的现象屡屡存在。

  然而,在大多数大学网站上都没有找到较为完善的学生社团管理模块,甚至有的仅仅只在学校新闻中略加提及,缺少明确的社团管理体系结构。

  1.3.2国外研究现状

  国外的社团管理系统种类繁多,但主要以单一的社团管理为主体,这主要是因为国外的社团成员大多在大学结束后,可直接加入具有社会性质的俱乐部。大多数社团并不与学校有较明确的管理关系,但在社团相关活动等信息上更新与维护较为及时,

  1.4可行性分析

  1.4.1社会可行性分析

  随着社会通讯技术的快速提高,我们的交流与沟通方式发生了许多改变。在社团管理系统不存在时,通过利用一些现在较为常见的社交软件,我们也可以进行社团之间的交流与管理,但不可否认的是,它同时存在着众多的不足。首先,社交软件的不统一与不成体系,使社团难以进行管理。其次,社团之间普遍存在着信息交流上的阻碍。这些问题通常并不明显,但出现时往往难以挽回。很明显,一个从根源上进行解决的手段是极其必要的。而社团管理系统,正是解决以上问题的最佳方法。这将极大的改

  善我们混乱的社团活动。

  1.4.2技术可行性分析

  社团管理系统主要应用了Java、Servlet、Mysql……的技术,这些技术在软件发展的进程中历经多次的更新与修改,与时俱进,满足开发所需要求。且技术应用广泛,从兼容性、经济性、逻辑性等各角度皆受到了足够长的时间检验,满足常规硬件设施要求,从而降低了系统在应用推广上的难度。

  1.4.3操作可行性分析

  本系统在开发过程中预计使用电脑台数为一,且开发过程中对服务器要求不高,即对应用户在允许使用网络的情况下,只需访问系统对应网络前台页面,即可远程操作、更改用户信息,以达到在低成本情况下使用本系统。其简单的界面设计使用户无需在操作上过多的犹豫,符合操作理念。

  1.5本章小结

  本章简单地介绍了系统的项目背景以及意义,随后对国内外关于本管理系统的研究现状进行阐述,并通过对项目开发的可行性进行分析,概述性的介绍了本系统的研究对社团管理相关工作所带来的改变。并从现实角度出发,结合实际的条件以及相关经验进行严谨准确的分析调查,以确保本系统可以达到开发预期,在技术、操作可行性方面,本系统可以开发使用。

  第2章需求分析

  2.1整体功能概述

  社团管理系统主要为各高校社团服务,在方便各社员的基础上用以帮助管理人员管理社团相关信息。设计者根据管理人员与社员在社团活动过程中过程中可能出现的各种状况,确定本系统的功能并满足用户需求。

  系统主要功能模块为:社团信息管理模块、成员信息管理模块、个人信息管理模块、物资信息管理模块、社团活动管理模块、通知新闻管理模块和论坛模块。

  社团信息管理模块的主要目的是为了方便社团管理老师对整体社团信息进行管理、维护。每个社团的最大人数!社长的年级、姓名!通过对社团信息管理模块的查询,管理教师可以轻松获得目标信息。当有社团申请成立时,管理教师可以增加一个社团并初步填写对应社团信息。

  成员信息管理模块的主要使用者包括管理教师与社长,当换届或者有人事调动时,管理教师或社长将对成员信息进行更新。除此之外,所有用户都可以通过该模块查看社团成员的信息,所查看信息是否完整与用户权限有关。

  物资信息管理主要以对社团物资的添加、外借、归还、删除等信息进行统一的系统性记录,其主要管理者包括社长以及管理员。

  活动管理包含审核活动申请,社员申请参加活动,社长对社员社情情况进行审核。

  通知新闻的管理是管理员对新闻消息的增删改查操作,包括发布消息、查看通知消息、修改新闻消息、删除通知新闻。个人信息管理可以对自己的个人信息进行维护与更新,可以修改除自己登陆系统的账号ID以外的大部分信息。

  论坛模块是社团成员进行沟通交流的主要场所。普通用户以楼主的身份发帖后,即可创建主贴并成为对应主贴的主贴用户,主贴用户查看下面回复自己的帖子。相对的,系统管理员可以创建以及管理主题,并对论坛模块进行管理,即对一些不符合规定的主贴进行不显示或删除操作。

  2.2功能需求

  2.2.1登录注册功能

  登录注册功能主要是为了确认用户的登录信息,从而保证用户正确的使用对应功能。社团管理系统的主要用户分为教师以及学生,两者之间的账号ID生成规则不同。教师可以通过任命社长的方式,授予学生一定的权限。这使得用户在登录注册功能上的操作更加简单快捷,易于使用。

  2.2.2成员管理功能

  首先对用户成分进行分析,用户主要分为两类:教师以及学生。教师主要作为管理以及维护人员,学生为主要用户。学生按身份大致可以分为四类:未加入社团的学生、普通社员、社长。未加入社团的学生具有用户的大部分功能;普通社员具有用户的基本功能;社长除具有用户的基本功能外还具备管理所在社团的部分功能。

  1、查看成员信息

  成员信息除部分个人信息外,还包括所在社团名称、社团相关信息。社长可以查看所有用户的成员信息。学生可以查看所有社团相关信息;社员可以查看所在社团成员的社团相关信息;社长可以查看所在社团成员的成员信息。

  2、申请入团

  学生在查看社团时,可以申请建立新社团以及申请加入社团。学生申请加入社团后,入社申请会提交到对应社团,由社长进行批复。社长可以在申请入社的学生中进行选择,添加到社团。当批复通过后社团人数会增加一个。

  3、删除社团成员

  当社长觉得个别社员品格或行为有不当的可以将该社员踢出出团社,社员也可自行退出改社团。

  用户分类以及成员管理功能相关用例图如图2-3所示。

  图2-3用户分类以及成员管理功能用例图

  2.2.3社团管理功能

  通过初步分析,社团管理功能主要分为以下几部分:查看社团信息、添加社团、修改社团信息、删除社团。根据用户身份以及权限不同,部分功能有一定的区别。

  1、查看社团信息

  通过查看社团的详细信息可以粗略地了解一个社团。社团主要信息包括:社团编号、社团名称、社长账号、社长姓名、社团简介、社团现有人数。此外,在详细信息部分可通过查看社团活动、新闻通知、社团成员等其他信息进一步了解社团情况。教师可以查看所有社团的全部信息。学生只允许查看社团的主要信息以及社团的部分信息。已有社团的学生允许查看已加入社团的全部信息。学生在查看社团的同时,可以申请加入社团以及申请建立新社团。学生进行申请时须保证自身信息完整,进行新社团申请时须填写社团申请理由以及部分社团主要信息。

  2、添加社团

  添加社团是教师专有的功能。当学生的新社团申请被通过或学校要求新建立一个社团时,教师可以找到对应功能,点击新建一个社团。添加新社团时,社团的名称、人数上限、社长等信息是必填项。点击提交后,新社团会被分配一个独有的社团编号与其他社团进行区分,同时可以被查询到对应信息。被任命为社长的学生会在下次登录时获得对应权限。

  3、修改社团信息

  修改社团信息可以及时反映社团当前活动状态。社团信息的修改主要由社长负责。部分社团信息如社团活动、新闻通知可由对应社团干部进行修改。社团人数上限以及社长姓名由教师负责修改。在社团需要社员纳新时,社长可以通过改变社团状态信息使社团可以被学生查询到并进行申请入社。

  4、删除社团

  当一个社团需要被删除时,教师可以删除对应社团。社团现有所有社员退社,并删除社团对应所有信息。社团管理功能相关用例图如图2-4所示。

  图2-4社团管理功能用例图

  2.2.4个人信息管理功能

  进入个人信息部分,可以对自己的注册信息进行查看以及修改。在修改个人信息时,对应社团信息不可进行修改。在信息修改后需进行提交同步数据。

  个人信息相关用例图如图2-5所示

  图2-5个人信息用例图

  个人信息部分:学号、密码、姓名、性别、身份证、电话、院系、班级、地址、照片、是否审核。

  社团信息部分:所在社团、社团物资归还情况、社团活动参与情况、消息通知。

  2.2.5物资管理功能

  在社团活动过程中,一些社团活动所需器材是必不可少的。一些社团活动器材,如足球、书籍、桌椅等物资,在社团活动中通常无需人人必备。社长根据社员参加活动社员人数申报物资,申报通过后参加活动的社员可向社团进行借用,和归还操作。

  1、查看物资信息

  一件物资主要包括以下信息:物资ID,物资编号,物资名称,库存数量,社团名称,物资简介;在进行物资管理时可通过查看物资详细信息,具体了解物资的外借情况,如借用人学号、姓名,借用数,归还数,申请借用物资消息。普通社员只允许查看物资的主要信息以及自己的借用情况。

  2、修改物资信息

  社长以及对物资的信息进行修改。同时在社员归还物资后进行归数。如物资正常,减少相等的借用数额以及归还数额。当借用数额、系统允许删除社员借用信息。社员归还物资后,物资库存数量相应增加。

  3、添加物资信息

  社长添加物资,添加物资时必须添加对应物资简介。普通社员不允许添加物资,但允许添加物资借用申请。

  4、删除物资信息

  当物资需要删除时,社长可以对物资进行删除。当物资被删除时,社员将无法借用改物资。

  5、借用与归还物资

  社团成员可以向加入的社团申请物资借阅,社长审核通过后才算借用成功,借用后学生可以归还物资,社长查看物资是否归还。

  物资管理功能相关用例图如图2-6所示

  图2-6物资管理功能用例图

  2.2.6活动管理功能

  社团活动管理主要以社团活动的策划以及申请功能为主要功能目标。以社长在活动策划完成后进行添加活动、社员在查看社团活动的同时进行报名作为社团管理的主要管理流程。

  1、查看活动信息

  已添加主要包括以下信息:活动ID,活动名称,活动起止日期,已报名人数,活动相关介绍,活动状态;在进行活动管理时可通过查看活动详细信息,具体了解活动的报名情况,如成员姓名,报名时间,是否报名成功。普通社员只允许查看社团活动的主要信息以及自己的报名情况。

  2、修改活动信息

  社长以及对应社团干部允许对社团活动的信息进行修改。如社团活动的状态,介绍,已报名人数等。只有社长可以将已报名成功的社员的报名审核通过之后。社员通过报名改变已报名人数。

  3、添加活动信息

  社长以及对应社团干部允许添加活动,添加活动时必须添加对应活动名称、简介,报名人数、起止日期等信息。

  4、删除活动信息

  当活动结束或提前终止时,社长可以删除对应活动。当活动被删除时,社员将无法查看该活动,活动时间到之后状态自动变为已结束,活动结束后社员将无法参加该活动。

  5、报名活动

  活动没结束以及报名人数未满时,社团成员可以报名该社团的活动,社长来对活动报名名单进行审核。

  活动管理功能相关用例图如图2-7所示

  图2-7活动管理功能用例图

  2.2.7通知新闻管理功能

  新闻通知,主要负责校内最新新闻的发布学生及教师都可查看新闻通知信息。

  1、查看通知新闻

  学生以及教师均可以在允许的条件下自由查看。

  2、修改通知新闻

  管理员对通知新闻进行修改。修改提交后,对应通知新闻在下次打开时进行更新。

  3、添加通知新闻

  管理员添加新的通知新闻。通知新闻的标题内容等信息编辑,内容调用的编辑器能让内容更加丰富。

  4、删除通知新闻

  管理员删除新闻通知。删除后,前台页面将不会展示该条新闻通知。

  通知新闻管理功能相关用例图如图2-8所示

  图2-8通知新闻管理功能用例图

  2.2.8论坛功能

  论坛是学生进行讨论的地方。根据用户成分进行分析,用户主要分为两类:教师以及学生。教师主要作为管理以及维护人员,学生为普通用户。

  1、普通用户

  普通用户具有较为基础的权限。看帖、发帖、回复。

  2、楼主

  普通用户发帖后就拥有了属于自己的主题帖,在自己的主题帖内即为楼主。楼主可以删除自己主题帖内的其他人的跟帖以及回复信息。

  3、管理维护人员

  管理维护人员通常为教师,教师除具有基本权限外,还可以创建主题板块。通常一个主题板块下会有若干个主题帖,通常情况下教师允许改变主题的名称,或删除某个无效的主题。

  论坛功能相关用例图如图2-9所示

  图2-9论坛功能用例图

  2.3性能需求

  2.3.1数据安全性

  社团管理系统是一个集众多师生个人信息且长时间持续运转的系统,它储存了大量的信息,所以需要保证数据不会出现泄露、损坏等情况。只有良好的数据安全才可以保证系统对社团的管理。

  2.3.2时间特性

  由于本系统具有社团交流性质,涉及报名、借用、发帖等及时性较强的功能,所以,为了提高用户体验,需要及时反映操作的准确性以及有效性,预计需要控制系统响应时间在3s内,数据传输在50ms以内。

  2.3.3稳定性

  本系统集信息收集与管理功能于一身,除涉及大量信息数据外,还需满足学生以及教师访问。可以预见,这种访问通常是集中的、突发性的访问,这种访问很容易导致服务器满载、迟缓,最终崩溃。所以这要求在软件以及硬件部分均需要拥有应对短时间内大量数据吞吐的能力。在系统设计方面,我们通过减少不必要的信息提交量等方法来提高系统在特殊情况下的稳定性能。

  2.4本章小结

  本章从需求的角度进行分析,简单概括了本系统的基本功能模块。根据实际的需求调研结果,确定了系统用户的基本权限功能以及其他特殊权限所对应功能,并用绘制的用例图直观的进行了说明。通过阐述本系统的功能特点,概述了本系统的用户使用权限要求。在阐述需求的同时,也要对系统的每个功能的管理流程进行大概的说明。并最终对系统必要性能进行概括,为之后的开发工作建立了良好的基础。

  第3章系统概要设计

  3.1系统体系结构

  在系统架构部分,主要以Java、Jsp为底层基础,以最常见的分层式结构进行架构,这里采用较为经典的三层架构模式:数据库、逻辑层、web表示层。

  3.2系统功能结构图

  3.2.1登录注册功能模块

  使用社团管理系统必须要先在登录页面进行注册,注册之后登录注册账户开始使用本系统。本系统的主要用户分为教师以及学生两种,根据用户以及权限的不同,分别打开不同的操作界面。该部分主要利用JavaScript脚本和CSS样式,从而实现页面的设计,通过调用servlet文件进行逻辑判断后,调用dao层中的方法匹配database中的数据完成登录操作。当数据库匹配失败时,返回相应提示。注册部分设计与登录类似,只需数据库不存在相同账户信息就可实现注册功能。

  登录注册功能模块图如图3-2所示。

  图3-2登录注册模块图

  用户进行系统登录时,需输入账号、密码、身份进行登录,当输入数据与数据库中数据不匹配时,返回“用户名或密码错误!”进行提示。当数据匹配成功时,返回用户相关信息,转跳至用户对应主界面。由于本系统主要为各高校社团服务,用户主体为在校师生,注册时要与学校对应号码进行关联,即通常与学校师生管理系统账号保持一致。在这里,由于不存在对应系统数据,故账号注册时只考虑重复性问题。在用户输入个人信息进行注册时,当出现账号与数据库中数据重复、两次密码输入不一致等问题,注册页面会显示相应提示。

  登录功能流程图如图3-3所示。

  图3-3登录流程图

  3.2.2普通学生、社员用户

  用户登录成功后会进入相应界面,这里主要描述普通学生、社员模块相关概要设计、社长部分功能模块。系统前台页面主要利用JavaScript脚本和CSS样式,从而实现页面设计部分。当用户点击前台对应操作时,系统会直接转跳到指向页面,即通过逻辑层判断后,调用数据访问层中相应的方法完成目标操作。用户在进行社团申请、活动物资申请、报名等操作时,需要进行相关权限查询,满足逻辑要求则对操作进行提交。其它类似验证也是通过逻辑层判断后,才进一步实现前后台数据的交互。

  普通学生、社员功能模块图如图3-4所示。

  图3-4普通学生、社员功能模块图

  普通学生主要可以进行以下操作:申请建立新社团、查看正在纳新社团的部分成员信息以及社团主要信息、申请加入社团、管理个人信息。普通学生加入社团后还可以进行以下操作:查看所在社团信息、退出社团、进行社团活动物资借还、参加查看社团活动。

  用户登录时,若忘记密码可以点击找回密码根据邮箱和手机找回密码。普通学生登录后可通过查看、对比正在纳新的社团选择心仪的社团进行申请加入,也可以尝试申请创建新社团。相关申请信息会提交到社长或教师处进行审查,通过则创建或加入社团;否则返回审核、加入无效。社员除可进行普通学生可以进行的操作以外,还可以查看所在社团的活动物资信息,并对物资进行借用申请、归还申请,并查看自己的物资借用归还情况,以及查看所在社团正在进行的活动信息,并进行报名,并随时查看自己的活动参加情况。

  普通学生在查看个人信息中修改个人信息,修改后的信息在保存到数据库后,用户修改的信息就会更新。社员在查看个人信息时会多出对应的社团信息,社团信息通常不允许修改。通知新闻属于社团展示信息的一部分,普通学生以及社员均可以在允许的条件下自由查看。

  申请入团流程图如图3-5所示。

  图3-5申请入团流程图

  物资借还流程图如图3-5所示。

  图3-5物资借还流程图

  社团活动报名流程图如图3-5所示。

  图3-5社团活动报名流程图

  申请建团流程图如图3-5所示。

  图3-5申请建团流程图

  3.2.3社团干部、社长用户

  用户登录成功后,如果验证用户拥有对应权限,则可以打开相应界面。这里主要描述社团干部、社长部分功能模块相关概要设计。社团干部、社长部分功能模块是在普通学生、社员功能模块基础上,用户额外拥有对应权限才允许使用的部分。

  系统前台页面主要利用JavaScript脚本和CSS样式,从而实现页面设计部分。当用户点击前台对应操作时,会先通过逻辑层进行权限验证,验证通过后,用超链接的方式跳转到相应的页面。即通过逻辑层判断后,调用数据访问层中相应的方法完成目标操作。用户在进行社团管理、活动物资管理、活动管理等操作时,需要通过Ajax-jQuery进行数据查询、修改,满足逻辑要求则对操作进行提交。其它类似验证也是通过逻辑层判断后,才进一步实现前后台数据的交互。

  社团活动管理流程图如图3-6所示。

  图3-6社团活动管理流程图

  物资管理流程图如图3-6所示。

  图3-6物资管理流程图

  新闻通知管理流程图如图3-6所示。

  图3-6新闻通知管理流程图

  社长允许拥有普通学生所拥有的基本功能外的功能,主要包括以下操作:成员信息管理模块、社团信息管理模块、物资信息管理模块、活动信息管理模块、通知新闻管理模块。社员可以通过成为社团干部获得使用物资信息管理模块、活动信息管理模块、通知新闻管理功能中的一种或几种功能的权限。即社长主要可以额外进行以下操作:成员信息管理模块、社团信息管理模块、物资信息管理模块、活动信息管理模块、通知新闻管理模块。社团干部主要可以额外进行以下操作中的一种或几种:物资信息管理模块、活动信息管理模块、通知新闻管理模块。

  用户登录后,会首先进行身份校验,用以区分教师、学生,之后根据身份权限的不同分别给予开放不同的功能权限。

  社长的成员管理权限主要包括以下功能:添加、删除社员,查看社员信息,修改社员职务。社长的社团管理权限主要包括以下功能:修改所在社团信息。社长与社团干部共有权限主要包括:对社团活动、新闻通知消息、社团物资的信息进行查看,添加,修改,删除操作。

  入团申请审核流程图如图3-7所示。

  图3-7入团申请审核流程图

  已入社团查询流程图如图3-7所示。

  图3-7已入社团查询流程图

  社团活动发布流程图如图3-7所示。

  图3-7社团活动发布流程图

  3.2.4教师用户

  用户登录成功后会进入相应界面,这里主要描述教师模块相关概要设计。

  系统前台页面主要利用JavaScript脚本和CSS样式,从而实现页面设计部分。当用户点击前台对应操作时,会先通过逻辑层进行权限验证,验证通过后,用超链接的方式跳转到相应的页面。即通过逻辑层判断后,调用数据访问层中相应的方法完成目标操作。用户在进行社团相关操作时,需要通过Ajax-jQuery进行数据查询、修改,满足逻辑要求则对操作进行提交。其它类似验证也是通过逻辑层判断后,才进一步实现前后台数据的交互。

  社团发布流程图如图3-8所示。

  图3-8社团发布流程图

  教师在社团管理系统中主要起到管理员作用。一方面,教师不可以随意干涉社团内部管理;另一方面,教师要拥有对每一个社团的大致活动有所了解、管理所有社团的相应手段与方法。教师部分主要包括以下功能:查看社团全部信息,修改个人信息,修改部分社团信息,添加新的社团,删除社团。

  3.2.5论坛功能模块

  论坛模块的用户成分划分与社团管理系统的总体用户成分划分不同,但用户主体相同,只要是学生就允许进入论坛模块。用户可以通过超链接的方式跳转到相应的页面,并在相应页面进行看帖、发帖、跟帖、回复等操作。

  普通用户具有较为基础的权限。其中发帖、跟帖、回复权限主体结构类似,将重复利用新闻发布部分代码,只对发布内容进行不同的字数限制。发布内容拥有单独的表存储到数据库中,按页面结构取出进行排列。

  楼主可以利用权限删除自己主题帖内的其他人的跟帖以及回复信息,当楼主删除自己的主题帖时,对应管理权限消失。楼主可以隐藏自己主题帖内的发帖信息,通过点击隐藏按钮使信息对所有人不可见,只有楼主点击恢复可还原信息。当信息不可见时显示提示为:该楼层信息已隐藏!是否恢复?

  管理维护人员通常为教师,教师除具有基本权限外,还可以创建、修改主题。通常一个主题下会有若干个主题帖,教师可以改变主题帖的排列顺序,并将主题帖划分到不同的板块信息中,如热门、冷门,校友等。通常情况下教师允许修改主题的名称,或删除某个无效的主题。

  论坛部分功能模块图如图3-9所示。

  图3-9论坛部分功能模块图

  发帖回帖流程图如图3-10所示

  图3-10发帖回帖流程图

  主题版块管理流程图如图3-10所示

  图3-10主题版块管理流程图

  3.3开发运行环境设计

  3.3.1开发环境

  开发过程中硬件设备需要满足要求如下:由于系统是在Windows 7操作系统上开发的,本系统以MyEclipse 10.0版本用作软件开发。本系统使用的数据库为MySQL数据库。支持在局域网环境中运行,且支持TCP/IP 4传输协议内容。

  硬件设备支持如表3-7所示。

  表3-7开发环境要求

  表3-8软件环境要求

  3.3.2运行环境

  数据库服务器:采用MySQL。

  用户操作系统以及硬件需求:Windows Xp以上版本,3.40G GHz以上CPU,8G以上内存。

  3.4本章小结

  本章主要对社团管理系统的概要设计进行了论述,在确定好系统构架后,简单的对系统从表现层到逻辑层再到数据访问层,一整套完整的反应过程。根据对功能编码内容的不同选择,调用不同的功能方法可以满足用户不同的需求,这些操作的最终结果会以较快的速度返回到前台页面。并通过对系统进行粗略的架构结构分析,达到了方便开发人员之后的代码编写工作的目的;本章在最后对开发环境、运行环境进行确定,保证了系统开发所需的软、硬件条件,为编写工作做好了前置准备。

  第4章系统的详细设计与实现

  4.1数据库设计

  4.1.1系统E-R图

  社团管理系统包含如下实体:社团、成员、用户、社团物资、社团活动、新闻、申请、论坛。

  系统E-R图如图4-2所示

  图4-2系统E-R图

  4.1.2数据库逻辑设计

  用户进行系统登录时,需输入账号、密码、身份进行登录,当数据匹配成功时,返回用户相关信息,转跳至用户对应主界面。当输入数据与数据库中数据不匹配时,返回“用户名或密码错误!”进行提示。用户表表结构如表4-1所示。

  管理员表:

  序号字段名称字段类型字段含义约束条件最大长度

  1 ID Int ID主键、唯一4

  2 username varchar用户名非空默认150

  3 pwd varchar密码非空默认150

  4 cx varchar权限非空默认150

  5 addtime DateTime添加时间非空默认8

  板块表:

  序号字段名称字段类型字段含义约束条件最大长度

  1 ID Int ID主键、唯一10

  3 mingcheng varchar名称非空默认255

  4 jianjie text简介非空默认255

  5 banzhu varchar版主非空默认255

  6 addtime DateTime添加时间非空默认19

  参加活动表:

  序号字段名称字段类型字段含义约束条件最大长度

  1 ID Int ID主键、唯一4

  2 huodongmingcheng varchar活动名称非空默认150

  3 huodongshijian varchar结束时间非空默认150

  4 huodongdidian varchar活动地点非空默认150

  5 shechangzhanghao varchar社长账号非空默认150

  6 shetuanmingcheng varchar社团名称非空默认150

  7 xuehao varchar学号非空默认150

  8 xingming varchar姓名非空默认150

  9 dianhua varchar电话非空默认150

  10 shenqingliyou text生情理由非空默认0

  11 issh varchar审核非空默认6

  12 addtime DateTime添加时间非空默认8

  关于我们表:

  序号字段名称字段类型字段含义约束条件最大长度

  1 ID Int ID主键、唯一4

  2 leibie varchar类别非空默认150

  3 content varchar内容非空默认0

  教师信息表:

  序号字段名称字段类型字段含义约束条件最大长度

  1 ID Int ID主键、唯一4

  2 jiaoshigonghao varchar教师工号(去重)非空默认150

  3 mima varchar密码非空默认150

  4 jiaoshixingming varchar教师姓名非空默认150

  5 xingbie varchar性别非空默认150

  6 shenfenzheng text身份证非空默认0

  7 dianhua varchar电话非空默认150

  8 zhicheng varchar职称非空默认150

  9 dizhi text地址非空默认0

  10 zhaopian varchar照片非空默认150

  11 beizhu text备注非空默认0

  13 addtime DateTime添加时间非空默认8

  申请入团表:

  序号字段名称字段类型字段含义约束条件最大长度

  1 ID Int ID主键、唯一4

  2 shetuanbianhao varchar社团编号(去重)非空默认150

  3 shetuanmingcheng varchar社团名称非空默认150

  4 shechangzhanghao varchar社长账号非空默认150

  5 shechangxingming varchar社长姓名非空默认150

  6 shenqingliyou Text申请理由非空默认0

  7 xuehao varchar学号非空默认150

  8 xingming varchar姓名非空默认150

  9 issh varchar审核非空默认6

  10 addtime DateTime添加时间非空默认8

  社团活动表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  2 huodongmingcheng varchar活动名称非空默认150

  3 huodongshijian varchar活动时间非空默认150

  4 huodongdidian varchar活动地点非空默认150

  5 zhubandanwei varchar主办单位非空默认150

  6 xiebandanwei varchar协办单位非空默认150

  7 shechangzhanghao varchar社长账号非空默认150

  8 shetuanmingcheng varchar社长姓名非空默认150

  9 baomingrenshu varchar报名人数非空默认150

  10 zhuangtai varchar状态非空默认150

  11 huodongjianjie Text活动简介非空默认0

  12 addtime DateTime添加时间非空默认8

  社团生擒表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  2 shetuanmingcheng varchar社团名称非空默认150

  3 shetuanrenshu varchar社团人数非空默认150

  4 shetuandizhi Text社团地址非空默认0

  5 shetuanjianjie Text社团简介非空默认0

  6 shetuanLOGO varchar LOGO非空默认150

  7 xuehao varchar学号非空默认150

  8 xingming varchar姓名非空默认150

  9 dianhua varchar电话非空默认150

  10 shenqingliyou Text申请理由非空默认0

  11 zhuangtai varchar状态非空默认150

  12 pifu Text批复非空默认0

  13 pifujiaoshi varchar批复教师非空默认150

  14 addtime DateTime添加时间非空默认8

  社团信息表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  2 shetuanbianhao varchar社团编号非空默认150

  3 shetuanmingcheng varchar社团名称非空默认150

  4 shetuandizhi varchar社团地址非空默认150

  5 shetuanrenshu varchar社团人数非空默认150

  6 shetuanLOGO varchar LOGO非空默认150

  7 shechangzhanghao varchar社长账号非空默认150

  8 mima varchar密码非空默认150

  9 shechangxingming varchar社长姓名非空默认150

  10 dianhua varchar电话非空默认150

  11 shetuanjianjie Text社团简介非空默认0

  12 addtime DateTime添加时间非空默认8

  收藏表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一10

  2 username varchar收藏用户名非空默认255

  4 ziduan varchar字段名称非空默认255

  5 biao varchar来自表非空默认255

  6 addtime DateTime添加时间非空默认19

  帖子表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  3 biaoti varchar标题非空默认150

  4 leixing varchar类型非空默认150

  5 neirong Text内容非空默认0

  6 faburen varchar发布人非空默认150

  7 addtime DateTime添加时间非空默认8

  物资归还表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  2 bianhao varchar编号非空默认150

  3 wupinbianhao varchar物资编号非空默认150

  4 wupinmingcheng varchar物资名称非空默认150

  5 faburen varchar发布人非空默认150

  6 jieyongshuliang varchar借用数量非空默认150

  7 xuehao varchar学号非空默认150

  8 xingming varchar姓名非空默认150

  9 addtime DateTime归还时间非空默认8

  物资借用表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  2 bianhao varchar编号非空默认150

  3 wupinbianhao varchar物资编号非空默认150

  4 wupinmingcheng varchar物资名称非空默认150

  5 faburen varchar发布人非空默认150

  6 kucunshuliang varchar库存数量非空默认150

  7 jieyongshuliang varchar借用数量非空默认150

  8 xuehao varchar学号非空默认150

  9 xingming varchar姓名非空默认150

  10 zhuangtai varchar状态非空默认150

  11 beizhu Text备注非空默认0

  12 issh varchar审核非空默认6

  13 addtime DateTime借用时间非空默认8

  物资信息表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一10

  2 huodongmingcheng varchar活动名称非空默认255

  3 wupinbianhao varchar物品编号非空默认255

  4 wupinmingcheng varchar物品名称非空默认4

  5 kucunshuliang varchar申报数量非空默认150

  6 tupian varchar图片非空默认150

  7 faburen varchar发布人非空默认150

  8 shetuanmingcheng varchar社团名称非空默认150

  9 xingming Text姓名非空默认0

  10 wupinjianjie text物品简介非空默认0

  11 issh varchar审核非空默认150

  12 addtime DateTime申报时间非空默认0

  新闻通知表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一4

  2 biaoti varchar标题非空默认0

  3 leibie varchar类别非空默认150

  4 neirong Text内容非空默认0

  5 tianjiaren varchar添加人非空默认150

  6 shouyetupian varchar首页图片非空默认150

  7 dianjilv Int点击率非空默认4

  9 addtime DateTime添加时间非空默认8

  学生信息表:

  序号字段名称字段类型字段含义允许为空最大长度

  1 ID Int ID主键、唯一10

  2 xuehao varchar学号非空默认150

  3 mima varchar密码非空默认150

  4 xingming varchar姓名非空默认150

  5 xingbie varchar性别非空默认150

  6 shenfenzheng varchar身份证非空默认255

  7 dianhua varchar电话非空默认150

  8 yuanxi varchar院系非空默认150

  9 banji varchar班级非空默认150

  10 dizhi varchar地址非空默认255

  11 zhaopian varchar照片非空默认150

  13 beizhu Text备注非空默认0

  14 issh varchar审核非空默认6

  15 addtime DateTime添加时间非空默认8

  4.1.3数据库物理设计

  数据库设计主要分为数据库逻辑设计以及物理设计两部分,其物理设计部分主要是根据数据类型、精度、长度等选择较为适合的存储结构、存储路径,从而提高空间以及时间效率,降低维护代价。通常,在我们选择所使用的数据库产品时,对数据库的物理结构需要优先进行考虑。本系统所用数据库为MySQL,其体积小,速度快,开放性的源码在低成本的基础上为用户提供了微调的可能性,且数据存储灵活,在支持多种存储引擎的同时还支持处理拥有上千万条记录的大型数据库,其功能完全满足社团管理系统的数据管理要求。在数据存储方面,D盘做为数据存储的目标位置。其拥有足够的存储空间且不影响数据的存取速率,可以轻易满足对系统数据的增删改查操作,且不会对系统的运行造成过多的影响。

  4.2系统模块设计与实现

  4.2.1登录注册功能模块

  用户注册主要使用xueshengxinxiadd.jsp页面。用户在输入必要的注册信息后,点击注册按钮对用户信息进行判断并提交保存。注册时,首先对用户名进行判断,当用户名取值为空时,返回相应提示信息:“用户名不能为空!”当用户名不为空时,前台与后台进行数据交互,调用$.ajax({type:"post",url:'${pageContext.request.contextPath}/UserServlet',data:{"username":obj,"method":UsernameJudge},success:function(message){}});语句,获取前台数据data:{},并请求用UsernameJudge方法与数据库数据进行比较,当返回success==success时,function(message=='false'),返回“用户名重复!”提示,反之,用户名可用,判断通过,继续对密码行进行非空判断,如密码为空,返回提示:“密码不能为空!”当登录用户名、密码、电话、年龄、姓名都已输入数据,且主键数据满足入库要求时,用户注册成功。

  用户登录主要使用qtuserlog.jsp和login.jsp页面。首先,用户需要进行身份权限选择,不同的角色role:U_level数据不同,进入页面后显示菜单有所区别。前台通过action="${pageContext.request.contextPath}/LoginServlet"method=post onsubmit="return validateCode()"调用LoginServlet方法,比对用户密码以及账号是否存在于数据库中,从而决定登录是否成功。在点击登录按钮前,需要输入页面中显示的验证码,验证码采用var checkCode=document.getElementById("checkCode");var codeChars=new Array(0,1,……,'Z')自动生成,并在登录时首先进行验证,当验证码、账号、密码,角色职位判断均无错误时,用户登录成功,进入系统菜单页面部分。

  用户登录功能的时序图如图4-3所示。

  图4-3用户登录功能时序图

  4.2.2普通学生、社员用户

  根据不同用户的角色差别,进入系统界面后,用户的操作功能并不相同。当点击提交申请时调用按钮对应的Servlet,DAO层通过Connection=DataSourceUtils.getConnection();与数据库建立连接,并通过String调用SQL语句更新/保存申请内容,保存状态默认为提交申请中。之后跳转到查看我的申请列表页面,request.getSgtyguulxlDispatcher("/jsp/material/myApply.jsp").forward(request,response);当进行查询操作时,对应的QueryUserServlet程序调用对应DAO层方法进行查询,取数据到前台部分,QueryRummdr rummdr=new QueryRummdr(Dat...ls.get...rce());String sql=“select*from user”;并以列表形式输出到前台页面List<UserType>matList=rummdr.query(sql,new BeanListHandler<UserType>(UserType.class));return matList;当进行修改操作时:列表显示所有查询数据,找到要修改的数据的位置进行点击,前台将要修改的数据ID传给Servlet部分,调用dao层中的update方法修改,DAO层通过Connection=DataSourceUtils.getConnection();与数据库建立连接,通过update方法更新数据库的数据;并将操作结果返回到Servlet中,最终再返回到前台部分。request.setAttribute("alert","修改成功!");当进行社团活动报名操作时,在活动查询页面进行报名操作,同时传值(此值为要参加的活动的id)给Servlet;在对应社团活动表中查找是否存在此活动,若存在,返回提示用户确定是否要报名,若要报名则继续传值给Servlet,Servlet中调用dao层的insert插入方法,通过insert方法在对应社团活动报名表(视图)中插入报名成员ID信息;之后将操作结果返回给Servlet的insert方法,由Servlet中的insert方法判断前台应弹出的操作显示结果。request.setAttribute("alert","操作成功!");同时可查询已参加活动数+1。

  学生、社员模块相关功能的时序图如图4-4所示。

  图4-4学生、社员模块相关功能时序图

  4.2.3社团干部、社长用户

  根据不同用户的角色差别,进入系统界面后,用户的操作功能并不相同。当进行审核操作时,点击通过/返回按钮更改审核内容状态,前台将要修改的数据ID传给Servlet部分,调用dao层中的update方法修改,DAO层通过Connection=DataSourceUtils.getConnection();与数据库建立连接,通过update方法更新数据库的数据;并将操作结果返回到Servlet中,最终再返回到前台部分。之后跳转到查看我的审核列表页面,对应ID由未审核更改为已审核/返回。request.getSgtyguulxlDispatcher("/jsp/material/myApply.jsp").forward(request,response);当进行成员查询操作时,使用对应QueryUserByMIdServlet调用对应DAO层方法进行查询,取数据到前台部分,QueryRummdr rummdr=new QueryRummdr(Dat...ls.get...rce());String sql=“select*from member where id=?”;并以列表形式输出到前台页面List<memberType>matList=rummdr.query(sql,new BeanListHandler<memberType>(memberType.class));return matList;当进行修改操作时:列表显示所有查询数据,找到要修改的数据的位置进行点击,前台将要修改的数据ID传给Servlet部分,调用dao层中的update方法修改,DAO层通过Connection=DataSourceUtils.getConnection();与数据库建立连接,通过update方法更新数据库的数据;并将操作结果返回到Servlet中,最终再返回到前台部分。request.setAttribute("alert","修改成功!");当进行社团成员添加操作时,在成员审核页面进行审核通过操作,同时传值(此值为要修改的id)给Servlet;Servlet中调用dao层的insert插入方法,通过insert方法在对应社团成员表中插入成员ID信息;之后将操作结果返回给Servlet的insert方法,由Servlet中的insert方法判断前台应弹出的操作显示结果。request.setAttribute("alert","操作成功!");当进行成员删除操作时,将选中要删除的成员,传值给Servlet部分,调用dao层中的查询方法,在对应社团成员表中查找此成员信息是否存在,返回ture or flase,若为ture,返回提示:“用户是否删除?”;若继续删除,前台传值给Servlet部分,并通过Servlet中的del方法调用Dao层的Del函数,从而达到令对应成员信息退出成员表,并将操作结果返回到Servlet中,判断后再返回到前台JSP部分输出。

  社团干部、社长模块相关功能的时序图如图4-5所示。

  图4-5社团干部、社长模块相关功能时序图

  4.2.4教师用户

  用户登录成功后会进入相应界面,进行相关功能操作。当进行社团申请审核操作时,点击通过/返回按钮更改审核内容状态,前台将要修改的数据ID传给Servlet部分,调用dao层中的update方法修改,DAO层通过Connection=DataSourceUtils.getConnection();与数据库建立连接,update方法刷新数据库的数据;并将操作结果返回到Servlet中,最终再返回到前台部分。之后跳转到查看我的审核列表页面,对应ID由未审核更改为已审核/返回。审核通过后,Servlet中调用dao层的add添加方法建立一个默认的初始社团,社长默认为教师用户ID,教师需要修改社团规模(人数)以及指定新社长人选,之后被指定的新社长才算社团申请成功。同时教师允许进行社团删除操作,当进行社团删除操作时,将选中要删除的社团id,传值给Servlet部分,调用dao层的查询方法,在对应社团表中查找此社团信息是否存在,返回判断结果;若返回ture,则返回提示:“用户是否删除该社团?(社团相关关系一并解除)”,若继续删除,前台传值给Servlet部分,并通过Servlet中的del方法调用Dao层的Del函数,从而达到删除目标社团的目的,同时由于相关社团成员表找不到指向社团,之后将按预定方法删除对应的成员表,解除对应社团与成员的关系。并将操作结果返回到Servlet中,判断后再返回到前台JSP部分输出。

  教师模块相关功能的时序图如图4-6所示。

  图4-6教师模块相关功能时序图

  4.3本章小结

  本章主要对社团管理系统的详细设计进行了论述,是在概要设计所提供的开发工具以及功能描述的基础上,进行编码以及运行原理上的概括。限于章节以及篇幅问题,详细设计部分主要选择了系统各模块中最为重要的编写部分进行详细的描述,其主要目的在于解释系统开发过程中最基本的设计理念以及想法。包括功能实现的具体调用流程、判断顺序等,为了让使用者便于了解系统各功能内容,绘制了相关功能时序图以及流程图,大大减少了对系统理解所需的时间,为以后系统的维护、更新工作提供便利。

  第5章系统运行与测试

  5.1测试环境

  5.1.1软件配置

  MyEclipse10配置:通过“运行—运行配置”进入配置设置,在左侧栏中找到MyEclipse server下的MyEclipse Tomcat V8.5(自带服务器),检查并设置jdk目录

  数据库配置:运行MySQL数据库:打开MySQL Notifier,右击状态栏小图标选择启动(通常自启动)。新建数据库连接:通过“窗口—perspective—打开透视图—Database Explorer”打开并查看数据库连接,新建MySQL数据库连接,填入正确数据后进行测试,测试通过配置结束。

  5.1.2硬件设备

  系统的运行与测试所需硬件设施要求如表5-1所示。

  表5-1硬件设备表

  5.2测试方案

  黑盒测试也叫数据驱动测试,即在输入一定数据的情况下,通过模拟用户操作过程完成对系统功能测试的方法。在黑盒测试中,通常不考虑内部逻辑编码是否有错,只要系统可以完成相应的功能,就认为测试结果符合要求。在实际应用时,系统的抗压性、兼容性以及系统性能优劣等问题,也影响着系统的实际价值。

  5.3测试用例

  5.3.1登录注册功能模块测试

  用户需要注册拥有相应的账号才可以进行登录,用户登录界面如图5.3.1-1所示。登录后界面显示如图5.3.1-2,验证码错误提示如图5.3.1-3,登陆失败显示如图5.3.1-4。

  图5.3.1-1用户登录界面

  图5.3.1-2登录成功界面

  图5.3.1-3验证码错误提示

  图5.3.1-4登录失败

  5.3.2普通学生、社员模块测试

  登录对应的用户模块,对应普通学生、社员模块进行相关查看以及申请操作。登录时角色选择社团成员进行测试,点击成员管理,查看所在社团成员大致信息,测试结果如图5.3.2-1。

  找到个人信息管理部分,查看个人信息,同时允许修改权限范围内与需修改的部分信息,测试结果如图5.3.2-2。

  点击物资管理部分,查看社团物资数量,点击编辑操作进行物资借用申请,申请提交后相关信息保存到借用物资申请记录中。测试结果分别为图5.3.2-3、5.3.2-4、5.3.2-5。

  图5.3.2-1查看社团成员

  图5.3.2-2修改个人信息

  图5.3.2-3查看社团物资

  图5.3.2-4借用社团物资

  图5.3.2-5查看借用物资申请记录

  5.3.3社团干部、社长模块测试

  登录对应的用户模块,对社团干部、社长模块进行相关查看以及操作。登录时角色选择社长进行测试。

  点击成员管理,选择新增成员,输入成员基本信息以及新的社团内身份信息后,进行提交,当数据库中存在信息相符的成员时返回提示,添加成功,测试中间流程如图5.3.3-1。

  图5.3.3-1增加社团成员

  点击活动管理,进行活动申请操作,输入活动相关信息点击保存进行提交,当审核通过时,活动相关信息可见,允许相关社员进行报名,活动申请部分如图5.3.3-2。

  图5.3.3-2活动申请

  5.3.4教师模块测试

  登录对应的用户模块,对教师模块进行相关查看以及操作。登录时角色选择管理老师进行测试。

  点击社团管理,当社团申请审批通过时,点击新增社团,输入社团名称、社团类别进行添加,添加成功后点击社团信息维护,查看所有社团信息,找到新增社团,变更部分社团信息,进行保存。测试中间部分流程如图5.3.4-1。

  图5.3.4-1新建社团

  5.3.5论坛功能模块测试

  任意用户点击论坛管理进入论坛,查看主题帖(标题+部分内容)。点击主题帖转跳查看主题帖内容。点击主题帖底部跟帖按钮转跳到跟帖页面。点击跟帖内容右侧按钮‘回复’转跳到回复页面。点击删除按钮进行验证,当操作用户ID与发布主题帖的用户ID相同时,操作允许继续运行。用户可以通过主动发帖创建主题帖,发帖部分测试如图5.3.5-1。

  图5.3.5-1发帖

  添加申请参加活动的详细截图

  5.4系统运行情况

  系统评价是指在系统完成或改建后,根据预定的系统目标或现有成绩,从技术、经济、社会、功能等方面进行的评价或审核。本系统个人初步评价如下。

  (1)系统功能评价:

  根据需求分析以及测试结果来看,本系统已将达到了初期的需求目标,满足了用户对应需求。

  (2)系统技术评价:

  本系统设计略显繁杂,开发过程中对功能进行了一定的简化,运行时较为稳定,暂未发现安全问题。

  (3)系统经济评价:

  系统在低成本开发的基础上达到了设计要求。预计可以为用户节省一定的人力、物力。