“设计模式”课程教学网站的设计与实现

2018-05-28 11:10姚明
电脑知识与技术 2018年9期
关键词:MySQL数据库S架构设计模式

姚明

摘要:为了方便“设计模式”课程教学以及提高教学质量,设计与实现一个“设计模式”课程教学网站。网站基于B/S架构,采用MVC+DAO设计模式和Java Web、MySQL数据库技术设计与实现。经测试,可以发布、浏览信息,上传、浏览或下载资源,留言交流和在线自测等,达到了设计要求。

关键词:教学网站;B/S架构;MVC+DAO设计模式;MySQL数据库

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)09-0167-03

Abstract: In order to facilitate courses teaching of "design pattern" and to improve teaching quality, a "design pattern" courses teaching website was designed and implemented. Based on B/S architecture,using MVC+ DAO design pattern,Java Web and MySQL database technology,the courses teaching website was designed and implemented. Through testing,information can be published and can be browsed,resources can be uploaded,browsed or downloaded,message can be exchanged and self test can be online,the courses teaching website meets the design requirements.

Key words: teaching website; B/S architecture; MVC + DAO design pattern; MySQL database

网络化、信息化是当今教学改革的必然趋势之一,信息技术为教学信息化的顺利实施提供了强大的技术支持。随着网络技术的发展与网络的普及,网络教学平台在当前课程教学中得到广泛应用。课程教学网站作为现代信息技术与课程整合的一种形式,其整合和节约了教学资源,构建了一种新型教学模式,提高了教学效率。结合网站教学的特点,为方便“设计模式”课程教学以及提高教学质量,对“设计模式”课程的教学内容和教学方式进行适当安排和调整,设计和实现了“设计模式”课程教学网站。

1 功能需求分析

设计的网站主要为在网上进行“设计模式”课程的教学服务,学生和教师可以在网上方便地浏览网站上的信息如公告、教学资源以及观看或下载资源,学生可以完成练习或测试并通过留言板与同学、教师在网上互动。教师除具备学生用户所具有的功能外,还可以发布和删除各项教学资源。管理员(一般由任课教师担任)在后台进行用户信息和教学资源的管理。

因此,将系统用户分为学生、教师和管理员三类。他们分别有不同的功能需求,将这些需求整理如下。

1.1 学生:个人信息维护,公告浏览,课件、视频、试题浏览或下载,在线自测,在线讨论。

1.2 教师:个人信息维护,公告浏览,课件、视频、试题浏览或下载,课件、视频、试题发布或删除,在线讨论。

1.3 管理员:

1)用户管理:教师、学生用户的添加、修改和删除,學生信息的浏览、修改和删除。

2)公告管理:发布、修改、删除教学计划、课程安排、考试日程、教学安排、通知等信息。

3)留言管理:浏览、发布、删除留言,修改留言内容。

4)资源管理:浏览、删除课件、视频、试题。

2 系统架构和功能模块设计

网站基于B/S架构,采用MVC(Model-View-Controller,模型视图控制器)+ DAO(Data Access Object,数据访问对象)设计模式进行设计。MVC设计模式很好地实现了数据层与表示层的分离,而DAO设计模式则用于封装数据库持久层的所有操作,使低级的数据逻辑和高级的业务逻辑分离。MVC+DAO设计模式通过在MVC设计模式中作为控制层部分的Servlet里创建并调用DAO接口实现类的对象完成相应操作得以实现。

根据前面的需求分析,将系统功能模块分为三个部分:管理员功能模块、教师功能模块和学生功能模块。其中,教师功能模块和学生功能模块作为前台管理模块处理,管理员功能模块作为后台管理模块处理。系统整体功能模块如图1所示。

用户根据登录身份的不同进入不同的功能模块界面:系统首先获取登录页面提交的用户名、密码、身份,之后根据身份到数据库里对应的表中匹配用户名和密码,若匹配成功则根据身份即权限的值进入相应的页面,否则输出账号或密码错误。

学生在系统首页注册账号后,需要管理员的审核才能生效。只有管理员审核通过以后该学生才具有学生功能权限,例如观看教学视频、在线自测、留言等。

在相应的用户页面中,左侧部分提供了各个功能的导航即页面链接,其余部分为相应操作窗口。以已实现的管理员操作页面为例,点击其中“公告管理”链接可打开公告管理界面页面,如图2所示。

3 数据库设计

通过分析、设计,在数据库中共建了九个表:管理员信息表(t_admin)、教师信息表(t_teacher)、学生信息表(t_student)、公告信息表(t_notice) 、留言信息表(t_message)、课件信息表(t_ courseware)、视频信息表(t_video)、试题信息表(t_test)、自测题信息表(t_testself)。这里仅对其中的学生信息表和公告信息表进行介绍说明。学生信息表用于存储学生的基本信息,主要字段包括:ID、学号、姓名、性别、年龄、登录账号、登录密码等,如表1所示。公告信息表用于存储管理员发布的公告信息,主要字段包括:编号、公告标题、公告内容、发布时间等,如表2所示。

4 系统功能实现

4.1 网站首页设计与实现

设计的网站首页采用DIV+CSS排版布局方法实现。设计顶部、左侧和底部页面,分别保存为top.jsp、left.jsp和foot.jsp,然后在主页面相应的DIV块中通过指令包含进去,页面如图3所示。

4.2 学生注册设计与实现

在注册/登录界面中,未注册的学生用户点击“注册”按钮,系统弹出注册页面(stuReg.jsp),填写信息并点击”提交”进行注册。提交时,会调用当前页面里的JavaScript函数作输入内容是否为空以及数据格式是否正确的检查。检查通过之后,再通过表单名调用submit()函数发送到服务器。注册的用户名需要等管理员审批后才能生效,是否审核通过只需更新学生信息表(t_student)中用于记录审批状态的approval字段值即可。注册界面如图4所示。

4.3 教學视频发布设计与实现

登录成功的教师用户通过点击相应操作网页界面菜单中的“视频管理”菜单项,再点击“视频添加”子菜单项即可对欲上传视频进行编辑提交实现视频发布,如图5所示。视频上传采用Apache Commons组件包中的FileUpload组件完成。学生登录系统成功后可在线播放视频或下载视频附件。通过点击网站主页菜单的“教学视频“菜单项可浏览教学视频信息列表,并可点击红色文件名查看视频介绍,如图6所示。

在线播放视频通过在页面中插入Windows Media Player播放器用来播放,文件下载则通过使用response对象和io流编程完成。文件下载关键代码如下:

String fileName=new String(request.getParameter("filename").getBytes("iso8859-1"));

File file = new File(getServletContext().getRealPath("/") + "download/"+ fileName);

InputStream is = new FileInputStream(file);

OutputStream os = response.getOutputStream();

response.addHeader("Content-Disposition", "attachment;filename ="

+ new String(file.getName().getBytes("utf-8"),"iso8859-1"));

response.addHeader("Content-Length", new Long(file.length()).toString());

response.setCharacterEncoding("utf-8");

int n = 0;

while((n = is.read()) != -1){

os.write(a);}

4.4 公告管理设计与实现

管理员登录成功后,通过点击管理员操作页面中的“公告管理”链接可查看公告标题列表或添加公告如图2所示。因为公告具有时效性,过期公告会作定期删除,所以查看公告的页面不必加入分页功能。点击某条公告的“查看内容”按钮即可查看该公告的具体内容或者点击页面下方的“添加公告”按钮进入公告编辑发布页面。

5 结束语

设计与开发的“设计模式”课程教学网站实现了作为教学、教辅网站所应具备的基本功能,经测试和试用,可满足教学的需求,对教学起到了一定的辅助作用。

参考文献:

[1] W3school在线教程[EB/OL]. http://www.w3school.com.cn.

[2] 卢瀚, 王春斌. Java Web开发实战1200例(第I卷)[M]. 北京:清华大学出版社, 2011.

[3] 卢瀚, 王春斌. Java Web开发实战1200例(第II卷)[M]. 北京:清华大学出版社, 2011.

猜你喜欢
MySQL数据库S架构设计模式
“1+1”作业设计模式的实践探索
三维协同设计模式下的航天项目管理实践与展望
交通机电工程设计模式创新探讨
C/S架构下的中职教学辅助系统的新探索
互动式设计模式研究