1 前言
1.1开发背景及意义
校园活动管理是中职学生素质教育的重要途径及有效方式,特别是对于一个院校的校园文化建设、校风学风建设和学生综合素质方面的提高至关重要t叫"。良好的学生活动组织可以更好地调动学生参与活动,让学生展示自己的能力,提升自我的综合素质。良好的学生风貌体现的是一个校园的教育和管理水平。对于强调操作技能为主的职业学校的学生而言,特别是有不同职业发展需求及不同个性的学生,高效的组织能力同样至关重要。
本系统充分利用微信小程序的使用优势,结合中等职业学校学生活动管理的现状,通过对学生系列活动的管理和策划,提高学生参与活动积极性,让活动管理者和学生能高效的、便捷的参与到活动中。活动管理者和学生能否通过使用微信小程序起到更好的管理和参与。
1、为了树立校园活动在网络上的形象,通过设计一个校园活动网站,以达到校园活动推荐、树立校园活动形象、展现校园活动文化的一个互动平台,校园活动网站为交流提供综合的网络环境,同时也为校园活动的宣传,发展,提供了一个平台。校园活动网站的迷人之处在于综合使用文本、图象等结合的信息和内容,具有丰富的多媒体表现与互动特点,无可置疑, web网站已成为最吸引人的也最有效的信息传递手段和方式。
2、现在很多家庭都已经具备或者已经实现了家庭上网,通过校园活动网站,促进校园活动与访客、社会之间的沟通交流,方便互动。
3、通过建立校园活动网站,可以大大推动公司员工在信息化环境下专业化发展以及提高公司的生产能力。
本网站图文并茂、界面直观、操作简单,内容布局条理清楚,版面协调、统一,颜色鲜明、搭配合理,内容丰富、详尽。
1.2 国内外研究现状及分析
在我国,多数中职学校采用传统的纸质与人手管理模式来管理活动。这种管理模式需要更多的人力物力,成本高、局限性强且信息传递慢、时效性差、无法共享,导致宣传效果差、参与度低下。纸质化的管理工作效率低和出错率高,也严重制约了学生活动的管理的发展。
近几年多数学校通过学校网站、qq群及微信群等新媒介来传播活动,这种形式也是弊端不少。信息的多渠道多媒介导致信息不清晰、混乱,它直接影响着学生的参与和积极性。而学生活动管理app和网站的开发,解决了学校活动分散管理的现状,带来了管理的便利,可是存在开发成本高、开发周期长、适用性不高等弊端。
通过知网的搜索,“学生社团管理系统”关键字,从2006年至今只有50篇的文章,开发的模式也基本是跟随者主流语言、数据库、框架的改变而改变。“学生工作管理”关键字也有若干文章。而专门用于“学生活动管理”的文章是没有的,可见专门的学生活动管理的系统是可研究的。而搜索“微信小程序”,从2017年起至今,可达到182篇文章。可见,近两年来,对于微信小程序的研究很是热门,主要还是依托于他的优势。微信小程序技术2016年由腾讯公司开发,随着微信在我国的普遍使用,微信小程序的应用实现了急速增长。微信小程序是基于微信即时软件,无需安装,即用即弃,不需重复登录,易于操作R。其开发的代码和界面组件、API接口统一发布,方便开发者学习开发。开发难度不高,与传统的开发语言、开发架构类似。
在国外,中职教育模式在教育体系中也是起到了重要的作用,他们也是很重视实践的能力%。学生活动的管理,国外有健全的制度和规范的管理。学生活动的管理从组织开展、经费筹集、自主管理上,多采用统一校园网站衍生的信息管理系统。这是基于校园网站的统一管理,形成了智慧校园势的管理"2。以美国哈佛大学为例,学生社团有专门的学校管理机构负责。社团活动申请需要在哈佛大学活动注册体系(Event Registation System——use to register your events)注册;活动需要在申请系统(Application to useoutdoor spaces)中申报。该校的学生社团管理依托校园网站的子系统,功能强大,但系统的开发设计模式大、开发费用高昂。对于我国中职院校的现状,首先学校无高昂的经费用于网站开发;再则中职学校的学生无法满足硬件的需求。相反,微信小程序开发成本低、开发周期短,只要学生在原有智能手机的基础上就可以使用。
2017年初在美国的谷歌公司一个类似微信的小部件诞生,安卓即时应用Android lnstant Apps。与微信小程序类似,它具备无须下载和安装、即开即用的功能技术。这和微信小程序不谋而合,同样作为原生.app的新生技术,可见优势明显,推广性强,应用性强,这个技术概念在国内外是认可的、可行的。
1.3 相关技术介绍
1.3.1数据库的选择
数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个校园活动或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般校园活动管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等,越来越多新的应用领域采用数据库存储和处理他们的信息资源[2]。
本系统选用MySql数据库,原因在于MySql是一种数据库管理程序,可赋予更佳的用户体验,并且新增了导入、导出和处理 XML 数据文件等功能。由于该程序可以识别和标记常见错误,同时提供更正错误的选项,因此在MySql中工作变得更加轻松自如。另外,MySql的新功能还可以帮助数据库开发人员查看有关数据库对象之间相关性的信息。它可访问和使用多种来源的信息、轻松备份信息;能够满足专业开发人员的需要,而且对于新用户来说,还十分易于上手[3]。
1.3.2 开发技术
JSP技术是Java系列技术的一部分,它是以Java为基础的。JSP 页面被编译成 servlets,并可以调用 JavaBeans 组件或者是Enterprise JavaBeans组件,以便于在服务器端的处理。因此,JSP 技术在构建基于Java Web的可以升级的应用程序的时候扮演了一个非常重要的角色。
JSP技术的设计是具有开放性的,符合行业的标准,同时它还支持大部分的浏览器、服务器以及相关的工具,它是行业的结果。所有的JSP实现的技术都支持脚本语言,都是以Java编程语言为基础的。JSP技术本身具有可适应性以及支持复杂的操作。JSP技术的发展速度非常快,主要是因为使用可重用的组件和标签取代了对页面本身的脚本语言的依赖。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,帮助程序开发者省下许多时间,JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计。
1.3.2.2 java
Java非常适合于公司网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。面向对象主要有四大特性:封装、抽象、继承和多态。
封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性;
抽象:抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的。比如鸟就是一个抽象实体,因为抽象实体并不是一个真正的对象,它的属性还不能完全描述一个对象,所以在语言中体现为抽象类不能实例化;
继承:继承就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体。
多态:多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供更好的可扩展性,同样也可以代码重用。
1.3.2.3微信小程序
微信小程序是连接用户和服务的新方法。用户可以在线下扫一扫或者公众号关联小程序码获取小程序应用,或在微信发现页面上搜索小程序。由于applet的整个文件占用的存储空间很小,因此用户需要下载并安装applet。这几乎是不可察觉的,因此从用户获得小程序并单击进入的那一刻起,它就非常快。并开始使用applet应用程序。 小程序多入口获取和触手可及用完即走的使用体验降低了传播和获取用户的成本。微信小程序的框架大致分为三个部分:逻辑层,视图层和系统层。
- 在视图层中,微信的WXML用作标签的布局。它支持数据绑定,输运运算,同时还支持模板引用(template),在微信的视图层事件绑定中,微信不使用绑定。该策略不同于HTML中的策略,但它也支持事件冒泡。微信本身封装了一系列视图层事件,例如bindtap click和bindlongtap long press。这些事件进一步针对移动终端进行了优化。 作为界面样式控件WXSS,它支持大多数CSS。 同时增加了尺寸单位rpx,可以根据屏幕的宽度进行调整,以便微信小程序可以在不同的移动屏幕上使用。
- 逻辑层
微信小程序的逻辑层将数据处理以后发送给系统层,同时接受视图层的事件反馈。
微信提供了丰富的API,例如微信定位,微信扫一扫,微信支付等功能。每个页面都有一个独立的范围并提供模块化。在逻辑代码中,可以执行诸如数据绑定,事件分发,生命周期管理和跌幅管理之类的功能。
- 系统层
系统层主要工作是临时数据或缓存、文件存储、网络存储与调用。
从高效管理目的出发,凭借微信普遍性及小程序的功能优势,构建一个模块丰富、功能完善的学生活动管理系统是本文的目标。
本文主要工作内容具体如下:
1.研读和分析文献,通过查阅国内外相关文献,分析国内外学生活动管理的现状以及国内外管理技术使用情况;
2.体验应用国内微信小程序,学习微信小程序框架理论和开发技术;
3.基于微信MINA框架,设计各功能模块的具体界面与功能,对学生活动管理系统实现开发;
4.构建数据库,实现访问数据库功能的实现和系统整体功能效果。
5.对系统进行性能和功能的调试与测试,结合实际应用情况进行分析,效果良好。
2 网站需求分析
2.1 项目概述
2.1.1目标
本系统作为一个在线组织、报名、评论的活动平台,用户主要被划分为两种:
活动管理员:作为学校活动的管理者,可以在一个高关注的途径,统一发布学校组织的活动信息;高质量地管理活动项目,及时更新活动项目,发布活动项目和活动进展;管理学生针对活动的报名和评论;
学生:作为使用的主体,可以在系统自由地选择活动项目、了解活动项目、在线报名,并且能够随时查看白己的报名情况,报名活动后可评论该活动。
2.1.2运行环境
硬件最小需求: 奔腾3以上CPU,256M以上内存,10G以上剩余硬盘空间
支持软件: 操作系统:Windows 98 /2000/XP
支持环境:IIS4.0
数据库:MySql
2.2网站的可行性研究
采用现代化统一的计算机信息网站系统,能够有效帮助旅游校园活动优化旅游行业TQC,使其在行业内处于优势地位,并相对长期地保持这种战略优势。开发本系统的可行性研究如下:
1.技术可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JAVA开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySql,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需[5]。
2.经济可行性:计算机技术发展异常迅猛的根本原因在于计算机的应用促进了社会经济的发展,给社会带来了巨大经济效益。因此基于计算机系统的成本-效益分析是可行性研究的重要内容。
3.1 系统总体结构设计
该系统在Windows7环境下,主要采用JAVA开发工具,MySql数据库来设计,开发过程与成果应符合GB/T 11457-1995软件工程术语,GB/T 8567-1988计算机软件产品开发文件编制指南等。
3.1.1网站系统总体结构图
绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图[8]。
系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。
3.1.2网站的结构
本网站的开发过程中采用的是浏览器/服务器(Browser/Server)模式。它以访问数据服务器为中心,HTTP协议为传输协议,客户端通过浏览器(Browser)访问WEB服务器和数据服务器。其三层结构见图3.4
图3.4 B/S三层结构图
图中从左到右,分为三层结构:
第一层:浏览器。主要完成客户和后台的交互及最终查询结果的输出。浏览器将HTML语言代码转化成图文网页。网页具备一定的交互功能,允许用户根据网页提供的表单输入信息,提交给后台并提出处理请求。后台处理完后,将结果返回至用户的浏览器。
第二层:WEB服务器,主要完成客户的应用功能。WEB服务器接受客户请求后,启动相应的进程响应这一请求,动态生成一串HTML代码,返回用户的浏览器。若用户请求中包含数据的存取,WEB服务器还将与数据库服务器连接,协同完成处理工作。
第三层:数据库服务器,主要协调不同的WEB服务器发出的请求,管理数据库[10]。
3.1.3系统功能模块设计
根据需求分析的结果,本系统将划分为以下主要功能模块:
1.系统功能模块
用户模块实现的主要功能包括新用户注册、老用户登陆,同时,管理员对用户进行管理。
角色模块主要是对用户角色和权限进行管理,登录日志主要是对登录信息进行记录展示,菜单管理主要是对菜单信息进行增删改查。
2.信息检索模块
该模块主要是方便用户对本站活动和资讯进行相关检索,并返回检索结果。用户可根据自己不同的需要,系统根据用户选择的不同组合检索方式和输入的关键字进行相关检索,得到用户检索的信息。管理员对活动及活动类型,资讯及资讯类型进销管理
3.在线评价模块
该模块主要是方便用户和管理人员进行沟通和交流,用户可以发表自己的看法。为了让管理员掌握各方面的反馈信息。评价信息包括:评价的用户、被评价的活动,评价内容。
4.我的报名模块
该功能模块主要是客户浏览了相关资料后,可通过活动信息列表,查看活动详情,进行报名活动。将个人信息填写完整后,上交给系统,而系统经过简单的逻辑判断信息是否有错后来确定报名是否成功。管理员在后台对报名进行管理
3.1.4主界面设计
主界面是一个网站的门面,如同公司的形象,特别注重设计和规划。它是用户首先见到的界面,它的好坏直接影响到网站的访问率。为此,作者从以下几个方面对主界面进行了设计。
1.在色彩搭配上,一种较明快的色彩为基调,配以相关的其他色彩,给用户一种鲜而不艳的美感。
2.在字体选用上,大小适当,尽量使用常用字体,适当配用艺术字。
3.在网页制作上,采用框架式结构,在框架中嵌入子页,将大表化小,图片压缩,尽量减少页面响应时间。
4.在内容上,主界面内容充实而不繁杂,既体现本站特色,又能满足用户需要。
5.在用户操作上,简化用户操作,删去那些空洞的环节。例如,“用户注册”只须填写简单信息即可。
3.1.5输入输出界面设计
网站系统的输入界面主要包括用户注册、登录,信息检索和在线评论等,输入设计的内容包括以下几点:
1.输入数据的内容设计,包括确定输入数据项名称、数据内容、精度、数值范围。
2.确定数据输入方式,用户注册、登录,信息检索和在线评论等输入操作,都是在客户端浏览器上完成,并立即更新服务器端数据库。
3.输入数据的正确性校验,保证输入数据的正确性。
网站系统的输出界面主要包括活动、资讯,检索结果等,输出设计的内容包括以下几点:
1.确定输出的内容。用户是信息的主要使用者,在进行输出内容的设计时,首先要确定用户在使用信息方面的要求,包括使用的目的、输出速度、频率、数量、安全性等。根据用户的要求,设计输出信息的内容,输出的项目及数据结构、数据类型、位数及取值范围,数据的生成途径,完整性及一致性的考虑。
2 . 确定输出格式。输出格式设计要满足使用者的要求和习惯,达到格式清晰、美观、易于阅读和理解的要求。在本系统中,输出页面的设计,尽量满足用户的信息需要,并有相关的提示信息。输入输出等界面设计,均仿照首页的风格进行,使整个网站页面风格一致,别具特色。
3.2 数据库设计
3.2.1数据库设计概述
数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。
3.2.5数据库的完整性和安全性
数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中[7]。本系统中定义了表与表之间的联系及表中各字段属性约束有助于实现有助于完整性。
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它可以保护数据库防止恶意的破坏和非法的存取。在系统中,用户通过浏览器打开本站首页后,必须经过注册登陆,方可对本站进行浏览、查看、检索等操作。在用户登陆,必须输入用户名和密码,并通过数据库的验证,同时对用户的权限进行验证,防止非法用户和未授权用户对本站进行非法访问和操作,保证本站的安全。
4 系统的实现
4.1登录
输入用户名、密码点击登录即可,如下图所示:
4.2注册
输入用户名、密码点击注册即可,如下图所示:
4.3首页
这里是小程序首页,如下图所示:
4.4分类分类
这里可以看到分类分类信息,如下图所示:
4.5详情页
点击某一个分类,进入到文章的详情页,如下图所示:
4.6活动资讯
这里可以看到所有的活动资讯信息, 如下图所示:
4.7资讯闲情
这里可以看到所有的活动的资讯详情信息, 如下图所示:
4.8我的
这里是我的信息, 如下图所示:
4.9我的报名
这里可以查看我的报名信息, 如下图所示:
4.10后台登录
输入用户名、密码点击登录即可, 如下图所示:
4.11后台首页
左边是菜单栏,右边是具体的显示区域, 如下图所示:
4.12评价管理
这里可以以列表的形式展示所有的评价信息,自己看自己的评价,管理员看所有评价信息, 如下图所示:
4.13活动管理
这里以列表的形式展示所有的活动信息, 如下图所示:
4.14类型管理
这里以列表的形式展示所有的类型信息, 如下图所示:
4.15报名管理
这里可以选择某个活动进行报名, 如下图所示:
4.16资讯管理
这里以列表的形式展示所有的资讯信息, 如下图所示:
4.17资讯分类管理
这里可以编辑所有的资讯分类信息, 如下图所示:
4.18用户管理
这里以列表的形式展示所有的用户信息, 如下图所示
4.19角色管理
这里以列表的形式展示所有的角色信息, 如下图所示:
4.20菜单管理这里以列表的形式展示所有的菜单信息, 如下图所示:
4.21用户管理
这里以列表的形式展示所有的菜单信息, 如下图所示:
5 网站系统应用与测试
5.1系统测试
该系统在本地服务器上进行运行和调试,首先是对IIS的安装,安装完毕后将文件放入根目录,并且建立虚拟目录后就可以在IE浏览器上进行运行和测试。
在开发软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。测试目的在于:测试是指“用意在发现错误而执行一个程序的过程”;一个好的测试用例是指这个测试用例有很高的概率可以发现一个尚未发现的错误;一个成功的测试是指它成功地发现一个尚未发现的错误[11]。
本系统的测试和纠错信息流程如图5.1所示。
图5.1 测试和纠错信息流程图
按照软件工程的观点,软件测试(主要是指多模块程序的测试)共包括4个层次。如图5.2所示,它表明了层次测试的信息流程。
图5.2 层次测试的信息流程图
1.单元测试。单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。
2.集成测试和确认测试。这一阶段的任务,是通过了单元测试的模块逐步组装起来,通过测试与纠错,最终得到一个满足需求的目标软件。
3.系统测试。在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试[12]。
在次测试中,我们采用白盒测试和黑盒测试相结合的方法。
5.2 单元测试实例
1.“用户登录”测试
测试要点 | 测试路径 | 测试结果 |
用户名、密码 | 用户名为假、密码为假;输入用户名“hddh”;密码“123456” | 提示“用户名密码错误”并返回重新登录 |
用户名、密码 | 用户名为真、密码为假;输入:用户名“liuqiang”; 密码“123456” | 提示“用户名密码错误”并返回重新登录 |
用户名、密码 | 用户名为真、密码为真;输入:用户名“liuqiang”;密码“147258” | 提示“登录成功” 返回主页 |
表5.1 用户登录测试表
2.“信息检索”测试
测试要点 | 测试路径 | 测试结果 |
关键字 | 关键字为空 | 提示“没有你要查询的信息” |
关键字 | 关键字为假 输入“啊” | 返回检索结果:什么都不展示 |
关键字 | 关键字为真 “篮球” | 根据选择的检索类型和方式返回检索结果 |
表5.2 信息检索测试表
以上测试结果均达到预期目标。
5.3 数据跟踪实例
在对网站系统测试过程中,作者对系统内的数据进行跟踪。数据跟踪实例如下:
1.用户注册。在“用户注册”测试中,用户通过注册页面按要求填写注册信息并提交完成。打开数据库,就可以看到用户注册时输入的信息。如果输入的数据不符合系统要求,数据就不能写入数据库且系统会提示错误信息。经过多次重复地测试,发现系统存在的问题并及时修改,最终达到既定目标,
2.用户登录。在“用户权限”测试中,用户通过输入用户名和密码登录,在此过程中,系统会验证用户的权限,如果权限值为1,则为管理员;权限值为0,则为普通用户。权限低的用户,对本站的访问会受到限制。通过对不同权限用户的测试跟踪,证明了此功能的正确性。
5.4 综合测试
在以上测试的基础上,对系统功能进行了整体测试,依次检验系统功能是否符合系统开发的目标。经过使用大量的数据多次进行系统测试,发现系统存在的问题并及时改进,最终实现了网站的开发目标。
6 结 论
本文从学校的实际需求出发,结合现在新型的微信小程序功能,开发了适用学生和学校组织者的学生活动管理系统。
本系统首先主要利用微信普遍性及小程序简便,从高效管理目的出发,搭建学生活动的管理系统。再则,在项目的开发和实现过程中,从系统的需求分析、功能设计、模块搭建,以及对微信小程序云开放技术的学习和实践使用,到最后完成小程序并测试成功。在整个的设计和实践过程中,独立学习了微信小程序及微信云开发技术。微信小程序基于“MINA”通信框架,微信云开发技术,采用丰富的组件和API来完成本系统的客户端前端的设计。
微信小程序实现了学校的活动能够在一个高关注的途径,帮助组织者高质量地管理活动项目;使学生能够自由地选择活动项目、了解活动项目、在线报名,并且能够随时查看自己的报名情况,提高活动开展的效率和学生参与的主动性。对校园的管理是起到推进的作用,在提高活动执行效率方面发挥着重要作用。