APP下载

融入软件工程思想的Java实训改革

2018-01-09仇丽青张峰温彦

软件导刊 2017年12期
关键词:Java程序设计软件工程

仇丽青+张峰+温彦

摘要:针对目前Java实训中存在的“偏理论、轻实践”问题,将软件工程思想融入Java实训中。将实训与课堂教学内容、实验内容相结合,全面采取项目驱动教学法,强调“边学边做,融软件工程于实训,从实践中获取知识”的教学思路,从教学目标及内容、教学模式及方法、实训分组和考核办法4个方面进行改革探索。实践证明,融入软件工程思想的Java实训改革,激发了学生的学习兴趣,学生动手实践能力显著提高,取得了良好教学效果。

关键词:Java实训;软件工程;Java程序设计

DOIDOI:10.11907/rjdk.172200

中图分类号:G433

文献标识码:A 文章编号:1672-7800(2017)012-0232-03

Abstract:In view of the problem of partial theory and light practice existing in Java training, the idea of software engineering is integrated into Java training. The training is incorporated with the teaching and experiments, takes the project driven teaching method, emphasizes “learning by doing, melting in software engineering practice,obtaining knowledge from practice”, and explores the reform from four aspects:objectives and content, mode and method, training grouping and assessment methods. Practice has proved that the reform with the idea of software engineering has achieved good teaching results, which has aroused the students' interest in learning, and greatly improved the students practical ability.

Key Words:Java training; software engineering; Java programming

0 引言

Java程序設计课程作为高校计算机专业本科生的专业必修课,具有很强的实践性。现有教学模式以理论教学为主、上机实践为辅,侧重讲解语法知识和小型基础编程,忽略了从软件工程角度培养学生实际动手能力,缺乏全局性思维和软件后期可扩展性、可维护性考虑,实际教学效果欠佳[1-3]。学生除了掌握一些简单的语法知识,具备一些简单的编程基础外,面对比较复杂的实际项目,仍然无从下手,从软件工程全生命周期角度进行项目开发维护更是无从谈起。

为了适应高校教育改革需要,山东科技大学在大三下半学期开设Java实训课程,以培养学生实际动手能力为目标,采用以学生实践为主、教师讲解为辅的教学模式,将软件工程重要设计思想引入实训中,加深学生从软件工程角度对Java程序设计的理解,进而达到学以致用的教学目的。经过6年的实践,取得了良好效果。

1 Java实训改革背景

一般高校计算机类相关专业独立地设置《Java程序设计》和《软件工程》两门重要课程,由不同的任课教师进行讲解。《Java程序设计》课程以培养面向对象程序设计思想为目标,侧重讲解Java语言的编程知识点,采用以代码阅读讲解为主、学生上机实践为辅的教学方式。这种被动接受的教学方式使得学生无法真正理解这些编程知识点的应用场景,无法在实际项目中灵活应用,学生也感觉枯燥乏味,对编程失去兴趣。以山东科技大学为例,《Java程序设计》安排为48个上课学时和24个实验学时,这种学时安排不足以支持实际项目应用开发。

《软件工程》涉及复杂的工程性问题,以讲解软件工程的基本原则和方法为主,强调大型软件的设计和管理过程,由于课时安排所限,学生的亲身体会并不深刻,而且很容易产生厌学心理。因此,引入实际工程项目进行分析,从真实项目中强化理解软件工程思想,是对《软件工程》课程的有益补充[4-6]。

基于以上考虑,在山东科技大学计算机学院开展Java实训课程,安排48个学时。在实训中,教师明确要求学生必须按照软件工程的全生命周期开发管理项目,主要由学生动手完成具体实践项目。学生将学到的知识加以梳理巩固,同时重点掌握之前没有弄清楚的知识点,为进一步学习打好基础。

2 Java实训改革

为了更深刻地理解《Java程序设计》和《软件工程》课程理论知识,进一步提高学生实践动手能力,将实践与课堂教学内容、实验内容相结合,全面采取项目驱动教学法,强调“边学边做,融软件工程于实训,从实践中获取知识”的教学思路,从教学目标及内容、教学模式及方法、实训分组和考核办法4个方面进行改革探索。

2.1 教学目标及内容

Java实训教学目标是用分阶段的软件生命周期计划严格管理Java程序设计实训项目。软件生命周期包括需求分析、总体设计、详细设计、调试测试、验收运行、维护升级等阶段。这种按时间分层的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查并形成文档以供交流或备查,以提高软件质量。按照软件生命周期的定义,制定实训步骤如表1所示。

第一阶段:项目理解阶段,包括两个子阶段的需求理解和设计理解。在需求理解子阶段要求学生使用用例图等描述角色用例,并分别详细描述各功能的内容。在设计理解子阶段要求进行系统的总体架构和数据库设计。阶段结束后需撰写项目理解报告。该阶段一般安排8个学时。endprint

第二阶段:项目设计与编码阶段。这是最为核心的阶段。在项目理解阶段的基础上,进行项目开发与编码。该阶段主要包括:系统物理结构、物理部署、主要类的实现、主要功能实现,并总结实际编码中遇到的问题和解决办法。该阶段一般安排32个学时。

第三阶段:项目测试阶段。要求学生进行白盒测试和黑盒测试,并撰写项目测试报告。该阶段一般安排4个学时。

第四阶段:项目检查阶段。学生提交项目和最终报告,由教师对学生平时表现、项目、报告等进行考核评价,并给出最终成绩。该阶段一般安排4个学时。

在项目开发过程中,借鉴软件工程中自顶向下、逐步细化、模块化等思想,并强调软件过程管理,包括阶段性检查、版本管理等[7]。采用项目案例的形式,将这些软件工程基本思想和原则贯穿于整个实训中,一方面使得学生开发工作更加规范化、系统化和工程化,另一方面又使得软件工程中抽象的思想和原则具体化,进一步加深了学生对《Java程序設计》和《软件工程》两门课程的理解。

2.2 教学模式及方法

不同于以前的一些实训课程分散安排在各周,将Java实训集中安排在大三暑假的小学期。该时期,学生已经完成了大部分专业课程,储备了足够的专业知识,也没有其它课程负担,能够将全部精力投入到实训中。Java实训地点选择在机房,不再明确划分理论课和上机课,教师可以在学生上机实践过程中穿插讲解理论知识,便于教师发现学生中出现的问题并及时纠正。这种“边学边做”的方式进一步突出了学生实践的主体地位,强化了学生的实际动手能力。

与传统教学模式不同,学生是整个实训过程中的主要参与者,学生们既可以在小组内讨论,也可以小组间交流。教师可以在实验室巡视,对学生项目开发中遇到的问题给予个别辅导,也可以针对学生在实训中碰到的共性问题进行集中讲解。由此可见,教师角色变为项目发包方、监理方和指导方,因而对教师的项目组织能力、实践能力提出了新的要求。

2.3 实训分组

将全班学生进行分组,每4人一组,各自完成一个项目开发[8-9]。在组队时,要求优劣搭配,以期成绩好的学生带动成绩差的学生,达到共同进步的教学目的。每组中挑选一名优秀的学生当组长,实行组长负责制,统筹安排组内人员分工和团队协作。每组都要撰写需求理解报告,考查学生对项目的理解程度;还需要撰写项目测试报告,重点考察学生对软件测试的理解应用程度。最后按照项目考核办法对每组分别进行验收,每个学生都要参与答辩,叙述自己完成的工作,并完成实训报告。

这种实训分组的方式,培养了学生的自主学习能力和团队协作能力,可以经常看到学生们热烈讨论的场景。从检查结果和问卷调查看,这种方式提高了学生责任感,激发了学生参与积极性,提升了学生编程兴趣,教学效果良好。

2.4 考核办法

课程考核一般采用30%(实践)+70%(考试)的方式。Java实训是一门强调实践的课程,传统考核办法很难反映学生的真实水平[10]。鉴于此,明确了Java实训考核思想:重视实训过程,重视编程能力提高。采用复合考核方式,最后成绩由平时表现(占20%)、实训成绩(占60%)和报告成绩(占20%)组成。平时表现侧重于考察学生在实训期间的纪律表现,对于实训期间玩游戏、玩手机、缺勤、迟到、早退等进行记录,并采取一定扣分措施;实训成绩侧重于考查学生实际动手能力以及独立解决问题的能力,主要包括程序设计的正确性、实用性、完整性、创新性等;报告成绩侧重于考查学生完成的需求理解报告、软件测试报告和最终实训报告,主要包括内容是否正确完整、是否存在抄袭现象等。

3 Java实训改革效果

Java实训已开设6年,实践证明,将软件工程思想融入Java程序实训中,激发了学生的学习兴趣,显著提高了学生动手实践能力,取得了良好教学效果。以2013级软件工程一班和二班学生为例进行调研分析,其中一班共有42名学生,采用传统Java实训模式;二班共有40名学生,采用融入软件工程思想的Java实训模式。问卷调查结果如表2所示。

调查结果表明,与传统Java实训教学模式相比,学生们普遍认为融入软件工程思想后,Java实训教学效果明显提升,学习效果、动手能力和自主学习能力得到大幅提高,并且师生之间的交流互动明显增多。

4 结语

Java实训课程是目前高校计算机类专业开设的一门重要实践课程,在人才培养方案中占有十分重要的地位。融入软件工程思想的Java实训改革,通过项目案例形式,用分阶段的软件生命周期计划严格管理Java程序设计实训项目,将软件工程基本思想和原则贯穿于整个实训中,一方面使得开发工作更加规范化、系统化和工程化,另一方面也使得软件工程中抽象的思想和原则具体化,进一步加深了学生对《Java程序设计》和《软件工程》两门课的理解。实践证明,融入软件工程思想的Java实训改革取得了良好教学效果。

参考文献:

[1] 赵丽娜.基于实训项目的Java程序设计实验教学模式改革与实践[J].电脑知识与技术,2016,12(26):181-182.

[2] 张璞.“案例驱动+项目导向”的Java程序设计课程教学模式研究[J].计算机教育,2017(2):58-67.

[3] 汤海蓉,李锡辉.基于项目驱动的JAVA程序设计教学改革[J].教育与职业,2017,6(718):140-142.

[4] 杜小坤,涂韬,徐胜舟.《Java程序设计》与《软件工程》综合教学改革初探[J].现代计算机:专业版,2016(11):57-60.

[5] 李小荣,疏志年,陈丽萍,等.用软件工程指导Java程序设计[J].福建电脑,2015(12):66,150.

[6] 唐光义,刘胜辉,张淑丽.以工程应用为导向的JAVA教学方法探索[J].计算机教育,2013(5):86-89.

[7] 袁凤玲.软件工程思想在程序设计公共课教学中的应用[J].辽宁科技学院学报,2015,1(14):44-45.

[8] 薛岚.构建以“分级递进、逐步提高、综合应用”为实训核心的JAVA实践教学体系[J].山东工业技术,2014(13):194.

[9] 王江涛.基于项目实训的JAVA教学改革[J].福建电脑,2015(3):71-72.

[10] 刘爽,陈鹏.计算机类项目实训考核方法探索与实践——以Java项目实训考核为例[J].大连民族学院学报,2015,1(17):90-93.

(责任编辑:孙 娟)endprint

猜你喜欢

Java程序设计软件工程
《Java程序设计》项目化教学改革与实践
Java程序设计基础课实践教学中的分层教学模式研究
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
关于如何创新和完善计算机软件工程管理的探讨