基于JavaWeb的兴趣培养机构推广系统设计与实现

2022-11-10 03:55邱士庆
北京印刷学院学报 2022年8期
关键词:管理员账号数据库

邱士庆,王 燕

(北京印刷学院,北京 102600)

随着社会经济的发展,越来越多的人想去学习更多自己喜欢的内容,扩展自己的技能。而目前的兴趣培训班大部分都是线下教学,每个兴趣培养机构(简称:培养机构)之间没有彼此的联系,这也就让培养机构有机可乘,这些机构不仅师资条件不足,而且价格也高得离谱。而真正有能力但却并没有多余资金去做宣传的培养机构无法从中脱颖而出,也让那些想去培养自己兴趣的人无法认识到各个培养机构的师资水平,教育环境等方面所存在的问题。[1]因此,针对上述问题,本文设计了一个兴趣培养机构推广系统,可以提高有能力的培养机构的知名度,以便在使用者想去学习内容的同时,找到适合他们自己兴趣方面的培养机构。

1 系统需求分析

根据目前兴趣培训行业存在问题以及当前网络调研结果来看,兴趣培养系统的主要需求如下:(1)系统实现管理员和机构用户的注册和登录功能,并且账号名称不可重复。(2)系统可将机构用户所添加的内容进行完整显示,并能进行实时修改、添加或查询。(3)管理员用户可查询机构用户添加的内容,如个人信息、联系方式等,查看其主要推广产品以及教学质量并对其进行审核。(4)系统有一套完整的管理员信息管理系统,可以添加新管理员成员进系统,系统管理员可修改、删除机构用户的基本信息以及工作负责人方面的信息。

2 系统设计

2.1 系统架构

在软件体系架构中,为秉持高内聚、低耦合的开发思想,分层式结构设计是必不可少的一环,本系统采用了三层架构模式,可以降低层与层之间的依赖性,有利于相同业务功能的复用。[2]一般情况下将其划分为三层:显示层(User Interface Layer, UIL)、业务逻辑层(Business Logic Layer, BLL)、数据访问层(Data Access Layer, DAL)。

UIL是展现给用户的界面,用于显示数据和接收用户输入的数据,为用户提供可以交互的操作界面及表现逻辑,即用户所看到的视图部分。

BLL也被称为领域层,BLL针对具对数据层的操作,对数据业务逻辑处理。该层负责从UI用户中获取用户指令和数据,执行业务逻辑,并通过DAL写入数据源,还可以从DAL中获取数据,将结果返回给UI用户。

DAL也叫作持久化层,UIL所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。用来从数据源加载数据,其中数据源包括数据库、XML文件、文本文件等;向数据源写入数据或删除数据,系统三层架构模式图如图1所示。

2.2 系统模块总体设计

兴趣培养机构推广系统是一款可以帮助兴趣培养机构实现在线推广、编辑个人区域、上传教育特点等功能,并且可以帮助管理员管理和了解用户以及调查当前形势下的培养方式问题等功能的在线教育推广系统。[3]所以兴趣培养机构推广系统分为管理员用户和培养机构用户前台展示系统和后台管理系统两部分。系统模块结构设计如图2所示。

管理员用户模块主要包括对前端界面图文展示内容编辑修改的“新闻图文管理模块”、对管理人员账号进行增删操作的“管理成员增删模块”、对机构用户账号进行增删操作的“用户内容管理模块”。

机构用户模块主要包括编辑具体课程安排内容的“开设课程管理模块”、设置机构课程活动具体信息的“举办活动管理模块”、编辑机构用户介绍的“机构介绍管理模块”、修改创建机构用户账号信息的“机构资料修改模块”。

2.3 数据库模式设计

数据库设计采用概念模型设计中典型的E-R模型设计,通过实体-联系-属性的方式反映数据库表中关系。[4]根据系统模块设计和E-R设计图所示(图3),本系统主要有:机构用户表(user)、管理员用户表(admin_name)、资料修改表(data_modify)、通知管理表(notice_manage)、活动管理表(activity_manage)、课程管理表(course_manage)。

机构用户表:账号名(User_name)、密码(User_password)、手机号(Cell_phone)、签名(Autograph),电子邮箱(Email)、地区(Region)、身份证号(User_id)、企业名称(Enterprise_name)。用户注册创建表,在创建用户时,将User_name设置为主键,账号名和密码为用户登录系统时凭证,其他属性信息均为注册时的机构用户的个人信息。

管理员用户表:账号名(Admin_name)、密码(Admin_password)。管理员用户表中账号名和密码为管理员登录凭证,管理员用户注册时,只能通过超级管理员在后台添加管理员进行设置。

通知管理表:图片(Photo)、文本(Text)。通知管理表是管理员在展示页面编辑新闻通知内容的数据表,主要分为展示图片和新闻通知。

课程管理表:课程名称(Course_name)、授课老师(Teacher)、授课时间(Teaching_time)、发布机构(Enterprise_name)、上传时间(Add_Time)、课程简介(Course_introduction)。课程管理表是机构用户对发布课程进行编辑管理的数据表,Course_name为数据表主键,Add_Time为机构用户在添加课程信息的过程后点击提交的时间,其他属性信息均需要在课程编辑内容时填写。其中Course_introduction为课程介绍具体内容,Teaching_time为课程开始时间。

活动管理表:活动名称(Activity_name)、上传时间(Add_time)、发布机构(Publisher)、活动介绍(Activity_Introduction)、开始时间(Play_Time)、结束时间(End_Time)、活动范围(Range)。活动管理表是机构用户在对自身开设课程举办活动提交的数据表,Activity_name为数据表主键,Add_time同课程管理表中Add_Time类型相同,其他属性信息均需要在编辑活动内容时填写。

资料修改表:课程名称(Course_Name)、活动名称(Activity_Name)、简介(Introduction)、用户名(User_name)、机构简介(Enterprise_introduction)。资料修改表是机构用户编辑个人资料的数据表,其中包括上述课程管理表和活动管理表中的Activity_name、Course_name,若机构用户曾创建过课程或活动内容则可在此表中进行修改或删除。

3 系统具体实现

3.1 系统相关工具

整个兴趣培养机构推广系统,采用的是JavaWeb来实现开发。请求之中采用HttpServlet技术来实现前台的请求和响应,数据库连接使用JDBC技术,读取数据时使用JavaBean组件,数据库采用MySQL数据库。整个系统编写在IntelliJ IDEA中进行,自行下载jar包进行项目管理,并最终部署在Tomcat服务器上。

3.2 系统编码设计及分页实现

本系统编码设计上使用gb2312编码格式,这样设计在Tomcat服务器上启动时速度则会比其他编码格式更快一些,并且占用内存较少,较为适合轻量级开发[5]。分页设计通过后台数据库sql语句分页获取数据,然后使用limit关键字来实现分页操作。

3.3 系统注册登录实现

本系统设置Tomcat端口号为8080,我们在IntelliJ IDEA启动程序后,在浏览器地址输入栏中输入localhost:8080/index.jsp便可进入系统首页。首次机构用户登录该系统后,首先需要注册用户,成功后才可以登录使用机构用户后台系统进行内容编辑。用户机构登录后如图4所示,其中可在左侧栏中选择功能进行编辑,并将会在系统首页展示。本系统仅机构用户有注册功能,管理员账号为超级管理员设置。初始管理员为数据库表中自行添加字段,后可通过设置添加管理员成员协助系统维护,管理员后台如图5所示,可对机构用户和系统新闻通知进行管理操作。

4 系统质量测试

为保证系统能够正常运行,完成系统后对其全部功能进行测试是必不可少的步骤[6],本系统从三个方面系统测试,检测系统的功能完整性、是否存在安全问题和不同浏览器所显示内容是否存在不兼容情况。

功能测试:针对功能测试,通过本地端口打开本系统创建机构用户并对其进行注册登录操作,并在机构用户后台分别进行课程内容添加、活动添加、个人资料编辑,可在系统前台成功显示并可在数据库表中完整显示其修改内容,管理员后台操作相同,在增删管理员和修改新闻通知内容时,可在系统前台成功显示,也可观察到数据库表中相应数据的修改。

安全测试:针对安全测试,首先通过未登录用户来进入后台系统,系统弹出阻拦通知,并跳回首页,使用请求头中cookie调用查看其本地浏览器中用户登录记录并未成功,中途使用其他计算机和同一局域网在机构用户进行注册操作和编辑时,模拟中途断网操作,发现数据库表数据并未修改。

负载测试:本次测试中,20个用户访问系统进行一系列操作。在整个测试过程中,系统并未出现闪退、未响应、页面加载错误等问题,在Windows操作系统下的系统出现延迟稍缓的现象,但是已满足正常系统使用。机构中选择出适合他们的课程和负责任的老师,这也是该系统平台存在的价值,而采用的三层框架结构也为之后对系统内容进行扩展、补充、维护起到了不少的便利作用。

5 结语

本文对兴趣培养机构推广系统进行了框架和系统实现细节的讲解,可以直观看到,对于机构用户来讲,给他们一个可以展示内容的平台,而对于想学习兴趣培训班的群体来说,可以帮他们从众多

猜你喜欢
管理员账号数据库
玩游戏没账号租一个就行
施诈计骗走游戏账号
可疑的管理员
数据库
数据库
Google Play游戏取消账号绑定没有Google账号也能玩
数据库
让管理员管不了的名字
数据库
当小小图书管理员