校本项目在MVC框架开发技术课程中的应用案例

2017-07-31 00:02朱冬玲
计算机教育 2017年7期
关键词:项目教学法

朱冬玲

摘 要:校本项目以当地周边社区或学校为背景,项目的结果能应用于学生的学习和生活,作为教学的项目载体有着独到优势。介绍MVC框架开发技术课程采用的多个小型校本项目和一个校本贯穿项目——广州城市职业学院学生缓考网上申请与审批系统的开发过程,详述校本贯穿项目的设计思路要点、项目目标设计、开发模型选择、项目单元设计及项目教学实施情况。

关键词:MVC框架;项目教学法;校本项目

文章编号:1672-5913(2017)07-0089-03

中图分类号:G642

0 引 言

项目教学法以建构主义和情景学习理论为理论基础,是以完成项目、职业体验和解决问题为主的教学方法[1],在高职软件开发类课程中被广泛采用。MVC框架开发技术课程是软件技术专业的专业核心课程,也是Java平台系列课程中的一门。广州城市职业学院采用“2+1”人才培养模式(2年校内课程+1年顶岗实习)后,为压缩校内课程总学时,把JSP程序设计课程和J2EE应用开发(轻量级架构)课程整合成MVC框架开发技术课程。因此,该课程的课程内容包括两部分:一是Java Web编程的技术基础;二是一个有代表性的MVC开发框架。目前,我们在课程后半部分讲授Struts 2框架。

1 校本项目的设计思路

1.1 校本教学资源

校本教学资源体现了学校的办学理念、教育哲学、教学经验和实际环境[2],能较好地服务于学生、教师和学校的发展需要。近年来,很多高职院校十分重视校本教学资源的建设,但是关注点主要集中在粒度较大的教学资源,如校本课程、校本教材等,而一些粒度较小的教学资源,如校本项目、校本案例、校本题库等,则还未得到足够重视。

在很多软件开发类课程中,不同院校和课本采用的项目类似,如成绩管理系统、留言板系统、网上商店等屡见不鲜。这些常见项目集中体现了典型的软件技术,不失为教学的上佳范例;但是又使得学生有网上抄袭的可乘之机,不利于培养学生的创新思维,项目的开发过程和结果也并不适合作为学生学业评价的依据。校本项目具有自己的鲜明特色,结合学生的生活实际和能力水平,以培养学生的学习能力、实践能力、创新能力和职业素养为目的。

1.2 校本项目设计要点

项目的选择与设计是项目教学法成功与否的关键。MVC框架开发技术课程采用多个校本项目,包括多个小型项目和一个贯穿项目。贯穿项目是指贯穿整个课程或课程较多部分的综合项目,在培养学生职业岗位综合能力方面有显著优势。

课程前半部分采用小型项目与贯穿项目相结合的方式进行教学。小型校本项目有学生休闲活动调查、专业班级人数查询、最受欢迎课程投票、班级通知网站等,这些项目比较简单,可由学生独立完成,旨在使学生能在较短时间内掌握JSP基本语法、内置对象、JavaBean、Servlet等Java Web编程的技术基础,为进一步学习MVC框架做好准备。贯穿项目从第5周开始引入并贯穿至学期末,由学生组成开发小组进行开发,每组5~6人。

课程后半部分用贯穿项目组织教学。贯穿项目应该具有实用性、典型性、覆盖性、综合性、趣味性、挑战性和可行性[3]。作为Java平台课程链的末端课程,校本贯穿项目的设计还考虑了以下几点。

(1)为学生自主进行软件需求分析和系统设计预留空间。课程前半部分的小型项目都由教师给出明确的软件需求和系统设计,学生只需要编程实现指定功能。进行真实项目开发时,需要通过需求分析来确定软件需求,系统设计也有很大的灵活性,因此,为了缩短学与做的距离,贯穿项目只明确系统的基本功能,而在系统运作流程、功能需求、数据需求、系统设计等多个方面给学生预留自由发挥的空间。

(2)鼓励学生综合运用多门课程的技术。MVC框架开发技术课程只涉及Web后端编程技术,而一个Web应用系统的开发,即使不考虑软件工程的规范和要求,也必然涉及数据库技术、Web前端技术甚至图形图像处理技术。为了培养学生的职业岗位综合能力,我们在分数评定上为采用Web前端技术设置奖励分数,以鼓励学生综合运用多门课程的技术。

(3)为学生的探究性自主学习预留拓展空间。我们在校本贯穿项目具备基本功能的基础上,还设计了一些扩充功能,供学有余力的开发小组选择实现,让优秀学生在探究性自主学习中培养创新能力。

2 校本贯穿项目的设计

2.1 项目目标设计

广州城市职业学院学生缓考网上申请与审批系统的基本功能包括以下几方面。

(1)申请人网上提交缓考申请。缓考申请的数据内容与数据形式由各开发小组自行分析确定。

(2)系领导网上浏览并审批缓考申请。系领导登录系统必须作身份校验,身份校验和审批的实现方式由各开发小組自行分析确定。

(3)教师与学生网上浏览和查询缓考申请。浏览与查询时信息的组织方式由各开发小组自行决定。

有能力的开发小组可以考虑实现下述扩充功能。

(1)教务处领导网上浏览与审批功能,即把一级审批改为与实际情况完全相符的两级审批。审批的实现方式由各开发小组自行分析确定。

(2)证明材料的上传和下载功能。申请人可以把证明材料作为文件上传,通常是图片文件,领导审批时可以下载并查看证明材料。

(3)邮件通知功能。申请人提交申请时须填写邮箱地址,领导审批后,系统会自动发送邮件通知申请人。

(4)用户管理功能。可以仅增加领导用户的管理功能,也可以增加领导用户、学生用户、教师用户和管理员用户的管理功能。

2.2 开发模型选择

校本贯穿项目包含的工作任务较多,如果在开发中采用瀑布模型,则在项目接近最后阶段才能得到可运行的系统,这样不仅会打击学生学习的积极性,还可能因累积的程序逻辑错误数量超出学生的程序调试能力而导致项目失败。

为了激发和保持学生的学习兴趣,也为了便于学生调试程序代码,我们在校本贯穿项目开发中采用了螺旋模型,即在开发过程中有多个不同的软件版本,最初的版本是可运行的完整系统,每次迭代后又都会得到一个功能更强的软件版本。

2.3 项目单元设计

把整个项目划分为8个项目单元,且第4—8单元是主体单元,各单元设计如下。

1)软件需求分析。

新的支撑知识:无。

项目单元结果:系统用例图及用例文档。

2)数据库设计与实施。

新的支撑知识:①MySQL5.6的安装与使用;②MySQL脚本文件的编写。

项目单元结果:①数据库设计说明书;②创建数据库和表的MySQL脚本文件。

3)系统概要设计。

新的支撑知识:DAO设计模式。

项目单元结果:①类图;②构件图。

4)用JSP编写缓考网上申请与审批系统。

新的支撑知识:①JavaBean;②JDBC编程。

工作步骤:①在Eclipse中创建动态Web项目,设置好数据库连接池;②编写数据库连接类;③编写各VO类;④编写各DAO接口;⑤编写各DAO实现类;⑥编写工厂类;⑦创建各JSP页面。

项目单元结果:校本贯穿项目版本1。

5)用Struts 2框架改写缓考网上申请与审批系统。

新的支撑知识:①MVC设计模式;②Struts 2类库;③Struts 2核心控制器;④Struts 2的动作(Action)类;⑤Struts 2的配置文件;⑥把请求参数绑定到Action属性的几种方法;⑦ActionContext类。

工作步骤:①复制项目并加入Struts 2包;②创建各Action类;③创建struts.xml配置文件;④在web.xml中配置好核心控制器;⑤逐一修改各个JSP文件,在JSP文件中使用Action类。

项目单元结果:校本贯穿项目版本2。

6)用Struts 2标签改写缓考网上申请与审批系统。

新的支撑知识:①OGNL表达式;②Struts 2的常用标签;③模板与主题。

工作步骤:①复制项目;②逐一修改各个JSP文件,在JSP文件中使用Struts 2标签。

项目单元结果:校本贯穿项目版本3。

7)用拦截器实现身份认证。

新的支撑知识:①拦截器的作用;②自定义拦截器;③拦截器的配置与使用。

工作步骤:①复制项目;②创建拦截器类;③在struts.xml中配置拦截器。

项目单元结果:校本贯穿项目版本4。

8)增加输入验证功能。

新的支撑知识:①验证配置文件;②常用的内置验证器;③手工验证。

工作步骤:①复制项目;②创建验证配置文件;③修改相关的JSP文件,在JSP文件中输出验证出错信息;④必要的情况下增加手工验证。

项目单元结果:校本贯穿项目版本5。

3 校本贯穿项目的实施

校本贯穿项目在实施中有两个特点。

1)课程采用贯穿项目双线并行。

从课程第5周开始,学生在课程学习中同步开发两个贯穿项目。一个是课本上作为贯穿案例的留言板系统[4],另一个则是校本贯穿项目。留言板系统在教材中就有绝大部分的程序代码,可作为学习案例使用,由学生独立开发,开发结果不作为学业成绩的依据;贯穿项目没有现成的标准答案,有很大的自由发挥空间,项目开发过程和结果是学生学业成绩的主要依据。

2)在项目开发过程中设置若干个关键检查点。

学生是项目开发的主体,教师主要起指导和咨询作用。由于学生缺少项目开发经验,在开发过程中容易出现偏差,需要教师指导纠偏,尤其是及时纠正项目开发前期出现的错误,因此,我们设置了4个关键检查点,分别安排在项目单元1结束时、项目单元2结束时、项目单元3结束时以及项目单元4完成JSP界面设计时这4个时间点上,教师在关键检查点逐组检查把关,及时对学生项目开发进行中出现的问题进行指导纠偏。其他时间点上,教师主要充当咨询者的角色,回答学生的疑难问题。我们发现,学生容易出现的错误主要有以下几个。

(1)做需求分析时,数据需求和功能需求不匹配,对数据需求考虑得不够充分,使得数据内容过少而不足以支撑软件功能。针对这种情况,教师须首先要求学生认真编写用例文档,在用例文档中列出用例界面的全部界面元素,然后要求学生分析输出界面元素的数据来源,并提醒他们数据不会是无源之水。

(2)数据库表的设计不合理。指出存在的问题后,教师须要求学生自行复习数据库课程的知识,重新进行数据库设计。

(3)系统界面设计不合理。在教务处网站下载的缓考申请表中,“学生所在系意见”和“教务处意见”这两栏须由领导填写具体内容。学生由于缺乏开发经验,在进行界面设计时依葫芦画瓢,用文本框控件呈现让领导审批的两栏内容,這将导致难于准确获取审批信息。这种错误的普遍程度令人意外,教师应在全班提醒各开发小组,对于只有同意、不同意等几个离散状态的数据输入,应该使用单选按钮组、下拉列表或多个提交按钮。

大多数开发小组都对校本贯穿项目表现出较大的兴趣。项目小组长根据各小组成员的特长,安排他们做图像处理、Web前端编程、Web后端编程、文档编写等工作,成员之间既有分工,又有合作。课程结束时,项目完成情况良好,所有开发小组都实现了系统的基本功能且都在项目中采用了Web前端技术,而实现两级审批或证明材料上传下载的小组各占一半左右,还有一组实现了用户管理功能,但是没有小组实现邮件通知功能。

4 结 语

广州城市职业学院2014级软件技术专业的教学实践表明,校本项目源于学生的学习和生活环境,充分考虑到学生的实际技术水平,能激发学生的学习兴趣,明显提升他们的编程水平,丰富其软件开发经验的同时培养创新能力,并为学业评价提供较好的依据,从而提高课程的整体教学质量。

参考文献:

[1] 陈旭辉, 张荣胜. 项目教学的项目开发、教学设计及其应用[J]. 中国职业技术教育, 2009(8): 59-61.

[2] 熊健民, 郭兴红. 职业教育校本教材建设研究[J]. 长江大学学报(社会科学版), 2010(1): 67-71.

[3] 戴士弘. 职业教育课程教学改革[M]. 北京: 清华大学出版社, 2007: 40.

[4] 李文超, 赵新慧, 石元博. Web应用程序开发技术: JSP+Struts 2[M]. 北京: 清华大学出版社, 2013: 69-71.

(编辑:宋文婷)

猜你喜欢
项目教学法
高校声乐小组课教学效率的提升途径探讨
项目教学法在“Flash动画短片制作”课程中的应用研究
项目教学法在建设项目LCM课程实训中的创新应用
项目教学法在PLC课程教学中的应用
探析项目教学法在化工管路拆装实训中的应用
项目教学法在中职flash课程教学中的应用探究
基于项目化教学形成性考核评价体系探索
浅谈项目教学法在房屋建筑学实训课中的应用
基于高职教育的印品整饰与成型课程改革探索