基于 Web 的学生志愿活动信息管理系统的设计与实现
摘 要
随着国内经济水平和社会文明水平的不断提高,志愿者、志愿者组织的数量在不断增加,志愿活动也逐渐被重视。其中,高校志愿活动得到蓬勃发展,志愿活动管理机制在其中起到了至关重要的作用。但在志愿活动管理逐步发展的过程中,各种问题也不断暴露出来。其中,信息化建设水平不足,部分高校的志愿活动信息管理平台建设流于形式,提供的功能有限,不符合志愿活动管理需求,阻碍了志愿活动管理效率和水平的提高。本文通过文献研究法、实证研究法、原型法等方法了解国内外志愿活动管理系统的发展现状,分析当前志愿活动管理系统存在的问题,针对性的开展系统需求分析,并设计实现适合高校需求的志愿活动管理信息系统。
本系统在 Django 框架基础上,采用 Python 和 MySql 技术实现,用户权限分为学生和管理员。其中学生功能模块包括登录、查看志愿活动信息、证明材料提交等功能。管理员功能模块包括审核证明材料、查看志愿活动信息、对志愿活动信息进行统计等功能。
第 1 章 引言
1.1 研究背景
改革开放以来,随着国内经济水平和社会文明水平的不断提高,志愿者、志愿者组织的数量在不断增加,志愿活动也逐渐被重视。其中,大学生志愿者成为了志愿活动中的有生力量,随着大学生在志愿活动中的广泛参与,高校志愿活动得到蓬勃发展,其影响力与日俱增已成为推动社会文明进步的重要力量,而志愿活动管理机制在其中起到了至关重要的作用。
目前国内高校的志愿活动管理广泛依托于由校级管理的志愿者组织和由院系级管理的志愿者组织,这种管理方式便于以校级和院系级对志愿活动进行管理。
当前各高校也正在逐渐通过网络平台实现对志愿者、志愿活动的管理,许多高校已经拥有了志愿活动信息化管理平台,在志愿者的注册和招募,以及对志愿活动信息的记录等方面实现了一定程度上的信息化管理。但部分高校的志愿活动管理的信息化建设流于形式,提供的功能有限,不符合志愿活动管理需求,阻碍了志愿活动管理效率和水平的提高。
1.2 研究文献介绍与总结
当前各高校广泛采用的二级管理方法中,存在着交叉管理、重复管理的问题,导致管理存在一定程度上的混乱,制约了高校志愿活动的进一步发展。
当前国内高校志愿活动信息化建设水平不足,部分高校的志愿活动信息管理平台建设流于形式,提供的功能有限,不符合志愿活动管理需求,阻碍了志愿活动管理效率和水平的提高。
研究国外高校的志愿活动,发现国外高校注重志愿者的技能培训,往往是借助高校优质课程资源的优势,根据项目的专业和技能需求开展的培训,内容主要为综合能力培养,如数字技能、项目管理、时间管理、沟通表达、创新思维等。
研究国外高校的志愿活动,发现国外高校重视志愿服务管理人才的培养,以加拿大为例,其高校为了培养更多的志愿服务管理人才,会提供志愿管理方面的课程。
随着高校志愿活动的项目化、专业化发展趋势,以及志愿活动开展形式的多样化,高校的志愿活动管理方式也正朝着符合该发展趋势的方向发展。
总结学者们的观点,可以得出当前国内高校的志愿活动管理水品相对落后,尤其体现在信息化建设上。同时也指出了志愿活动管理的发展方向,即志愿活动管理应朝着信息化、专业化的方向发展,并且在志愿活动管理中体现本高校特色。
1.3 研究意义
一个合理的志愿活动信息管理平台的实现,将会为志愿者提供一种更方便的参与志愿活动的方式,并能记录自己所参加的志愿活动的信息,便于后期对志愿活动情况统计归纳。
一个合理的志愿活动信息管理平台的实现,有利于提高高校对于志愿活动的管理效率和水平,减少管理成本,为志愿活动管理者提供合理、有效的管理方式。
本文旨在实现一个合理的志愿活动信息管理平台,为志愿者提供一种更方便的参与志愿活动的方式,并能记录自己所参加的志愿活动的信息,为志愿者参加志愿活动减少不必要的负担,并且提高高校对于志愿活动的管理效率和水平,减少管理成本,为志愿活动管理者提供合理、有效的管理方式。
1.4 研究内容
本文在对教师和学生的现实需求开展调查后,进行了了相关研究,并结合相关文献和其他志愿活动管理平台案例,最终设计并实现了基于 Web 的志愿活动信息管理系统,具体研究内容如下。
本系统主要分为基于 Bootstrap、ajax 框架的页面前端,和基于 Python Django 开发框架开发的服务器端,使用 Mysql 数据库存储。主要的用户有学生和教师,学生在学生端使用该平台的一系列功能,教师在教师端则负责系统内信息和数据的管理。
1.5 研究方法
文献研究法:查阅大量关于Web系统开发研究及相关理论,同时阅读相关专著,整理出此次设计的总体思路和大纲。
讨论交流法:和老师沟通并确定选题,与老师交流选题的具体功能需求,在系统开发过程中遇到的问题同学之间可以互相探讨,进而寻求老师的帮助,给予更加专业的意见。
网络查询法:通过网络的途径广泛收集资料,集思广益,构思出创新的想法。
实证研究法:通过相类似的信息管理平台,去研究系统是什么、怎么实现的问题。
原型法:结合自己所需的技术要求,研究已有的信息管理平台实例。
第 2 章 相关技术
本系统使用 Python 作为开发语言,并且使用 Django 框架进行开发,在数据库方面选择Mysql作为本系统使用的数据库,在前端页面开发中使用Bootstrap框架页面设计与开发。
2.1 MySql
MySQL 是一个开放的小型关系型数据库管理系统,其广泛应用于中小型网站中,因其体积小、处理少量数据时速度快、轻量级、使用和维护成本低,并且开放源码,众多中小型网站为降低网站运营成本,选择了 MySQL 创建数据库管理系统。
2.2 Django
Django 框架的设计初衷是为了简便、快速地开发出易于维护的数据库驱动型网站,其所独具的代码复用功能,支持将各种组件以“插件”方式嵌入到整个应用框架,从而极大地提高了应用开发的效率。
Django 框架主要用于开发数据库驱动型网站,因此其具有十分强大的数据库方面的功能。使用 Python 类的继承方式,仅仅通过几行代码就可以获取一个完整的、动态的数据库操作接口(Database API)。
2.3 Bootstrap
Bootstrap 是一套基于 HTML、CSS、JavaScript 的,为实现快速开发 Web 应用程序的前端框架。它支持响应式布局,提供 HTML 和 CSS 规范,自推出后一直是一个深受欢迎的开源项目。
2.4 Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性, 它的解释器易于扩展,并具有丰富的标准库,提供了适用于各系统平台的源码。
第 3 章 系统分析
3.1 系统需求分析
3.1.1 现实需求
对于一般学生而言,可以查看当前的可参加的志愿活动信息,可以自行参加或退出,并且在活动结束后可以提交本次活动的证明材料,留下本次参加的相关记录可供日后查看为主要需求。
对于学生干部而言,除了一般学生的需求外,还需要责提交证明材料的审核工作,而且需要能查看本班的志愿活动信息,以及一定的统计功能,并且需要下载证明材料的功能,作为相应班级工作的需要。
对于班级老师而言,则需要可以查看所管理班级的志愿活动信息并带有一定的统计功能,并且还需要有指定班级干部的功能。
对于系级老师而言,需要设置发布志愿活动的功能,还需要可以查看本系班级的志愿活动信息并带有一定的统计功能。
3.1.2 功能规划
一般学生功能
1.查看已发布的志愿活动信息:学生可以在志愿活动展示页面查看当前已发布的志愿活动,并且页面上有对每个志愿活动信息的展示。
2.参加/退出志愿活动:学生可以在志愿活动展示页面选择志愿活动进行参加、退出的操作,并且会形成相应的记录信息。
3.查看过往参加志愿活动的信息:学生可以在过往志愿活动展示页面查看自己参加过的志愿活动记录,在此页面进行结算操作,并且在结算完毕后可以下载证明材料和查看备注信息。
4.结算活动、提交证明材料:当学生参加的志愿活动结束后,学生可以进行结算操作,可以上传证明材料以及对该活动进行留下备注信息。
5.查看统计信息:可以按年份查看自己参加活动的相关统计信息,包括参加活动的次数,总共获得的学分,按活动类型分类技术。
学生干部功能
1.学生基本功能:学生干部具有上述一般学生的全部功能。
2.审核学生提交的证明材料:学生干部可以在审核页面审核本班学生已进行结算后的活动记录,可以查看其提交的证明材料是否合格,可给与通过或不通过的结果。若通过则代表该活动记录结算完毕,学生可以下载其证明以及查看留存备注,若不通过,学生干部需填写不通过备注说明情况,学生需要重新进行结算。
3.查看本班学生志愿活动信息(按年份),带有相关统计功能(总数等):学生干部可以在统计信息页面按学期查看本班学生的统计信息,包括参加活动次数的统计以及按活动类型分类的次数统计。
班级老师功能
1.查看已发布的志愿活动信息:班级老师可以在志愿活动展示页面查看当前已发布的志愿活动,并且页面上有对每个志愿活动信息的展示。
2.指定学生干部:班级老师可以在教师管理页面进行指定班干部的操作,选择所领班级学生作为班干部。
3.查看所带班级的学生志愿活动信息,带有相关统计功能:可以按班级和年份查看统计信息,包括参加活动次数的统计以及按活动类型分类的次数统计。
系级老师功能
1.系级老师具有上述班级的全部功能。
2.系级老师可以进行志愿活动的管理,包括发布、编辑、删除志愿活动的功能。
3.系级老师可以进行教师的管理,包括新建、编辑、删除教师信息以及指定教师所领 班级的功能。
4.系级老师可以进行活动类型的管理,包括新建、编辑、删除活动类型的功能。
5.查看本系学生志愿活动信息,带有相关统计功能:可以按届数和年份查看统计信息,包括参加活动次数的统计以及按班级分类的次数统计。
一般功能
1.登陆退出功能:系统内用户无论学生还是老师需通过登陆页面登陆方可进入系统,并且可以通过退出按钮进行用户退出。
2.修改密码功能:用户都可以通过修改密码按钮进行修改密码的操作。
3.2 系统业务流程分析
3.2.1 查看、参与志愿活动流程
由系级老师设置志愿活动,存储相关志愿活动信息,并以此形成展示页面供学生可查看志愿活动并进行参与/退出活动,如图所示。
3.2.2 志愿活动结算流程
学生提交证明材料后,由班级老师指定的班级干部审核,审核通过后则存储证明材料, 学生可重复查看下载证明材料,不通过学生需要重新结算,如图所示。
3.2.3 查看志愿活动统计信息流程
学生通过参加志愿活动形成参加信息表,以形成数据供班干部以及老师查看统计信息, 如图所示。
3.3 可行性分析
3.3.1 技术可行性
系统的硬件条件要求不高,现有计算机的硬件标准基本都能满足系统开发和运行。在软件层面上,系统拟在 Windows 10 系统下使用 Pycharm 开发平台和 MySQL 数据库,按照软件工程的方法开发整个系统。Browser/Server 结构可以完成用户在浏览器中的阅读;Python 语言可以使程序员快速高效地编写应用程序;JSP 技术将脚本语言和高级程序设计语言以及数据库结合,调试相对简单,使得信息管理可通过 Web 程序动态管理。当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
3.3.2 经济可行性
对系统从开发者的经济状况和用户的使用费用进行分析。经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。系统使用的 Pycharm、MySQL 都可以从网上免费下载,而计算机是已经具备的装置,开发者不需要在系统开发上花费相关费用,这为使用者减少了相关费用,从经济角度讲可行性较高。
3.3.3 社会可行性
在现代化管理中,计算机管理信息系统已经成为组织活动管理不可缺少的帮手,它的广泛应用已经成为管理现代化的重要标志[15]。开发部署合理的志愿活动信息管理平台,可以减轻志愿者参与志愿活动中不必要的负担,提高高校对志愿活动的管理效率和水平,降低管理成本,为志愿活动管理者提供合理有效的管理方法,无论是高校还是其他志愿活动管理机构,都乐于接受一种合理的志愿活动信息管理平台。
第 4 章 系统设计
4.1 系统架构设计
本系统采用 Django 框架,采用 MTV 设计模式,分为 Template 层、Views 层和 Model 层以及数据存储层,如图所示。
4.2 系统功能模块设计
根据需求分析和功能规划,系统功能模块可分为两部分,一是学生功能模块和管理员功能模块,其中学生功能模块包括登录、查看志愿活动信息、证明材料提交等功能。管理员功能模块包括审核证明材料、查看志愿活动信息、对志愿活动信息进行统计等功能,具体设计如图所示。
4.3 数据库设计
4.3.1 概念模型设计
数据库设计首先应该进行概念模型设计,而 E-R 模型表示法为概念模型的常见表示方法,E-R 模型也就是实体-联系模型,是用于表现系统内各实体间的关系,如一对一、一对多、多对多的关系的模型,本系统内实体的关系如图所示。
4.3.2 实体属性图
4.3.3 逻辑模型设计
数据库的逻辑模型设计是根据概念模型设计,将其转换为可由数据库软件实现的数据 逻辑结构,其包括实体的数据项、数据的一致性约束、记录间的关系等。根据上述概念模 型设计,得出本系统的逻辑模型设计,具体包括如下数据库表。
第 5 章 系统实现
第 6 章 系统测试
6.1 测试目的
进行系统测试旨在发现尽可能多的缺陷,包括功能的错误、性能低下,易用性差等等,系统测试的目的就是发现程序中的错误,进而确保软件的质量、确认系统功能的正常实现。
本系统的系统测试基于本系统的系统功能和系统设计,设计相应的测试用例,以发现系统的可能存在的缺陷并予以修改,尽可能的保证系统的质量、完善系统功能。
6.2 测试方法
本系统采用黑盒测试以及动态测试的测试方法。
黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据系统功能设计,检查程序的功能是否符合它的功能说明。
动态测试是指按照预先设计的数据和步骤去运行被测软件系统,从而对被测试软件进行检测的一种测试技术。
6.3 测试用例
6.3.1 一般学生功能测试用例
6.3.2 学生干部功能测试用例
6.3.3 班级老师功能测试用例
6.3.4 系级老师功能测试用例
6.3.5 一般功能测试用例
6.4 测试结果
共测试 13 个测试用例,符合预期 10 个,发现缺陷 3 个。在发现缺陷后已进行修改。
重新测试后无功能不可用及影响流程问题,无功能实现有误不能操作问题,系统功能可正常使用。
结 论
本系统的设计和开发中使用了 Python、Django、Boostrap、Mysql 等技术,包括学生和老师两类主要用户,并划分了相应的用户权限,主要设计并实现了学生功能、学生干部管理功能、班级教师管理功能、系级教师管理功能等功能,实现了一个志愿活动信息管理系统的所需的基本功能。在开发过程中通过自行学习掌握了 Django 框架中的文件传输、统计数据的可视化等技术,并最终实现了这些功能。
本系统具有以下优点:系统功能针对实际需求开发,实用性强,可满足用户的大部分需求;系统页面简洁、操作简单;访问网址即可使用,使用便捷。
但本系统也存在一定的不足和缺点:系统的页面设计较为简单,和用户的交互性较弱,美观度不足等问题。