移动终端软件开发技术课程教学改革研究与实践
摘 要:为适应移动应用开发商的需求,选择Android应用程序开发作为移动终端软件开发技术课程的教学内容。对教学目标、教学内容的选取、以项目过程控制的课程开发方式以及课程考核方法等方面进行阐述。实践表明,改革后的教学效果良好。
关键词:android;教学改革;移动终端
中图分类号:TP311.53 文献标识码:A
Teaching Reform and Its Practice in Mobile Terminal Software Development Technology
HONG Zhiyong1,ZHANG Ning2
(1.School of Computer Science,Wuyi University,Jiangmen529020,China;
2.College of Information Engineering,Shenyang Radio and Television University,Shenyang 110003,China)
Abstract:In order to satisfy the demand of mobile application developers, Android applications development is selected as the teaching contents of mobile terminal software development technology course.Teaching aims, teaching contents,the development mode of course based onthe project process control and the course evaluation are elaborated. The practice shows good results have been achieved after the teaching reform.
Keywords:android;teaching reform;mobile terminal
1 引言(Introduction)
随着信息科学与计算机网络技术的发展,手机已经从简单的通讯工具变为复杂的综合信息处理平台,丰富的智能手机应用软件出现,使得“智能终端+应用”的产业结构模式成为当今移动通信产业与软件行业新的重心[1]。目前我国的移动用户数量全球第一、移动终端数量全球第一、移动终端应用软件市场需求量极大,这为终端软件开发者提供了新的机遇与挑战,社会对移动终端软件开发人才需求量急剧增加。为此学校针对移动终端软件开发岗位任职要求开设了《移动终端软件开发技术》课程,该课程是软件工程专业及其他计算机相关专业学生在完成相关的基础理论课程和相关专业基础课程学习之后开设的一门具有较高综合性及极强专业性的课程。课程目的在于培养学生具备根据客户需求进行独立进行系统分析、软件开发、工程管理和团队协作能力,使学生了解移动终端软件开发过程,学会根据移动终端软件开发文档编写符合软件工程规范的应用程序,提高开发能力, 积累移动应用软件项目开发经验,为进入移动应用开发领域做好充分的准备,增强对移动应用开发就业岗位的适应度。然而在以往的教学工作中存在诸多问题,如重理论而轻实践,考核方式过于单一,通常只注重单一技能考核、忽略综合动手能力的考核[2];只重视最终结果考核,而忽略过程性的考核。在这种学习环境下,学生为了应付传统考试,将主要精力放在了理论知识与单一技能上,而忽视综合能力的提高。学生在实践过程中出现走过场、不重视,甚至浑水摸鱼等情况,其结果是造成学生实际动手能力较差,难以掌握移动终端软件开发所需的隐性知识,不能满足软件企业的工作要求。
综上所述,改革《移动终端软件开发技术》课程,形成以职业岗位确定目标、以培养职业能力为依据选择课程内容、注重实践、以实际项目为载体实现课程内容专业化与综合化[3]、构建“基于项目过程控制”的课程管理方式、借助社会平台来考核,以达到全面培养学生创新能力、系统分析能力、研发能力和团队协作能力等综合能力,并最终形成一套新型的教学与考核方法,具有突出的意义。
2 教学改革思路与内容(Ideas and content of
education reform)
2.1 按照职业岗位确定课程目标
移动终端软件开发技术主要培养面向大中小型移动终端开发商的软件开发工程师,其中包括移动终端系统驱动工程师、移动终端应用开发工程师、移动终端软件工程师、移动终端程序员、用户体验工程师等。从目前市场人才需求类型来看,移动终端软件开发人才需求主要在于移动终端应用软件开发,根据51job网站上的数据统计,目前移动终端开发商对移动终端应用软件开发人才的需求占移动终端人才需求比例达75%。由于移动终端软件开发技术发展时间较短,技术较新导致移动终端软件开发人才数量极缺,人才短期内供不应求,从长期看,随着移动应用的各种需求的日益增加,也将激励移动终端开发商的加大开发力度,因此移动终端应用软件开发的就业前景也非常广泛。根据移动工程师软件开发的能力要求,学生在本课程的学习之后,能够综合Android基本知识、软件工程技能、Java编程等各种基本能力,形成较强的综合能力,达到能够独立开发小型的移动终端应用软件,在项目经理的带领下能够参加大中型移动终端应用软件的开发,能够胜任移动供应商各个开发岗位上的工作。
2.2 以职业能力形成为依据选择课程内容
移动终端软件开发技术课程以能够胜任移动供应商提供的工作岗位的能力要求为依据,选择移动开发工程师完成开发所需的知识为课程主要内容,将岗位工作的能力要求与知识结合起来,打破传统教学模式中仅以知识本身的相关性来组织教学内容。通过分析移动终端软件开发各个岗位所需的职业能力,选择Android的基本知识与Android应用软件项目开发为主题作为教学内容。Android基础知识学习阶段包括:Android的系统架构、Android平台特点、java语言、Android编程风格等内容;Android项目开发内容学习阶段包括:Android UI设计、Android数据库系统设计、Android网络程序设计、Android传感器应用程序设计、Android游戏开发等,最后以一个大的综合Android交友项目复习贯穿所有知识点。在教学过程中始终以项目开发作为课程主要内容,在项目开发过程中融入移动终端软件工程师所需的态度、知识与能力,确保项目开发中每个阶段的教学内容都来自实际的软件开发内容[4],通过软件项目开发培养学生的知识与技能的学习并形成良好的职业素质。
2.3 以项目为载体实现课程内容综合化
移动终端软件开发技术选择个人交友软件等项目作为课程载体,课程先期讲解基础知识与交友软件中各个分模块知识点,最后以软件工程方法来实现整个系统。个人交友软件有四大版块:用户个人资料、话题、私信、好友。软件实现划分为前台和后台两部分。系统具有一定的复杂性,需要经过需求分析、概要设计、详细设计、系统实现等几个阶段才能完成,项目过程覆盖了移动终端软件开发技术的各个方面,能够实现知识与能力的综合。整个项目包含中若干个模块,每个模块又包含若干项独立工作任务,每一项任务可以综合培养学生的职业精神、知识技术与实践技能,在教学上形成了一个完整的模块。在教学中要求学生在开始每一项工作任务时,需明确任务的目的和要求,从而制定合理的开发计划,选择正确开发方法,然后进行总体设计、详细设计、编码与测试,最后按照企业标准进行验收。经过一个项目的完整的训练过程,使得学生获得综合职业能力。
2.4 构建“基于项目过程控制”的课程开发方式
在课程的实训环节中要求学生每3-5个人组成一个团队,以往实训教学过程由对团队缺乏有效控制,学生团队不仅没有进行有效沟通、交流、协作,无法达到相互补充与提高作用,甚至有些团队出现分工不明确现象,一些学生在团队中混水摸鱼。我们针对传统软件实训课程进行改革,提出以培养职业岗位能力为根本的课程实训理念、基于项目过程控制的课程开发方式。与移动应用软件供应商共同开发课程的真实教学项目案例,课题组的老师组成教学团队,共同负责实训环节,将开发移动终端软件系统所需要的软件行业知识、编程语言、数据库知识、软件工程、项软件测试和项目管理等课程内容融合到该实训环节中,贯彻“实践中学习”的思路,将学生在前期所学的知识点进行总结提升,解决普遍存的“只见树木不见森林”的问题。通过课程实训,使学生了解移动供应商的软件开发方式,熟练掌握移动端终软件的开发流程,培养良好的沟通表达能力与团队协作能力,具备较强自学能力与独立解决问题的能力,养成规范编码习惯与严谨的工作作风,能够综合应用主流开发技术、数据库技术、软件工程方法等进行有效的开发工作,能够参与到大中型移动终端软件系统的开发的团队中,胜任移动应用软件供应商提供的各种岗位工作,为进入移动终端软件开发岗位工作做好充分的准备,最大限度地增强学生对移动应用开发岗位的适应能力。
2.4.1 项目启动过程
学生在实训环节中主要选取Android应用程序如:个人信息管理、音乐播放器、基于传感器的游戏开发等作为实训题目,每个团队可根据自己的兴趣自由选择其中一个系统进行开发,每个团队选出一个项目经理,课程组为每个团队配备一个指导老师,指导老师同时模拟担任客户角色,协助团队项目经理制定项目开发时间表、项目里程碑、项目进度与质量控制计划,项目计划制定后要求每个团队项目经理向全班同学演讲项目计划情况,其他同学可以进行提问及建议。为了激励每个同学进行思考,我们给予有启发性的提问或建议者适当奖励性加分。团队的项目计划将作为最后课程考核的一个指标。计划制定后,开始启动项目。
2.4.2 项目控制过程和阶段性成果评审
项目实训环节能否达到预期的效果的一个至关重要环节就是项目过程的控制与评审,因此,我们要求每个学生团队每周定期开1次项目进展例会,团队的每个成员都必须汇报个人当周工作进展情况与下周工作计划,汇报本周遇到的难题,是否需要团队及指导老师协助解决;项目严格按照软件生命周期管理方法进行管理,每到达一个里程碑,组织课题组织全体教师集中对项目成果进行评审。首先要求每个团队按照项目计划规定的的里程碑提交项目成果,同时派团队的项目经理做现场答辩,教师和其他团队成员进行提问。在介绍过程中,通过加分方式鼓励学生提问。在适当时候邀请与学院有合作的移动软件供应商相关专家参加阶段评审,并给团队作指导点评。
2.4.3 项目验收
项目完成提交后,教师首先根据项目计划书检查项目功能、进度、质量是否达到计划书中所规定的各项要求,同时邀请与该课程有合作的移动软件供应商专家、同学代表、其他相关课程教师一起对项目进行评审,评审通过后,将项目放到课程信息平台项目评测区,供同学与老师下载使用,并邀请有兴趣的教师和同学公测填写反馈意见并打分。
2.5 考核方式改革
传统考核方法通常以学生卷面成绩为主,缺乏对同学动手能力及综合能力的评测,与社会对软件开发者的需求脱节,为此我们在课程考核中采用项目评审法,要求学生以2-4个人组成团队并自由选定一个开发课题,最后我以对课题完成情况的评审来给定每位同学的成绩。在对项目团队的考核中往往也只注重结果考核而不注重过程考核,甚至很多情况下由于团队分工不清晰导致团队成员成绩过于平均化,一些同学甚至混水摸鱼。如果没有完善的激励机制,学生的积极性得不到提高。以往考核成绩往往由任课教师一人评定,难免存在一定的主观性与片面性。考核成果未经社会企业的检验难于判断学生水平与真实的社会需求之间的距离,因此在结合本课程特点的基础上,对课程考核体系进行大胆的改革与创新,以求最大限度提高学生参与度与积极性为目标,建立全面的、科学、严谨课程考核体系,将最终评审结果与每阶段评审合起来,将团队的考核与个人考核结合起来,每位同学的最终成绩由团队成绩和个人成绩综合决定,同时把一部分学生的作品放到社会公共平台让公众和企业来评判。课程考核评分方式如表1所示。
表1 课程考核评分方式
Tab.1 Assessment methods of course
课堂理论教学
20%项目开发 80%
团队评分 40%个人评分 60%
考勤、课堂提问教师组评分 80%教师评分 80%
同学与MM平台评分20%组内同学互评 20%
阶段评审提问加分
2.5.1 阶段性成果评审与项目最终评审相结合进行考核
对项目团队的考核不仅注重最终结果而且更要注重项目过程的各个阶段的考核,我们要求每个学生团队每周定期开1次项目进展例会,团队的每个成员都必须汇报个人当周工作进展情况与下周工作计划;项目严格按照软件生命周期管理方法进行管理,每到达一个里程碑,组织课题组织全体教师集中对项目成果进行评审。首先要求每个团队按照项目计划规定的里程碑提交项目成果,同时派团队的项目经理做现场答辩,教师和其他团队成员进行提问。在关键里程碑阶段,邀请移动软件供应商专家来参与评审。项目开发完成后要在机房集中进行系统演示,团队每个队员对自己所负责的工作进行答辩,教师组和同学进行提问并打分。项目验收后对优秀的项目团队和优秀个人进行表单并将学生的作品上传到课程网站展示区,培养学生的竞争意识。
2.5.2 引进社会公共平台对学生作品进行检验
在课程选题时鼓励学生选择目前最流行的行业热点移动3G开发,充分利用中国移动MM平台,要求学生把开发完成的作品上传至MM平台。MM平台的工作流程:以真实身份注册→上传相关个人资料→填写要求发布的应用程序信息→上传应用程序→MM平台对应用进行严格测试→中移动与个人签订合同→发布应用供用户下载。MM平台的工作流程会对学生上传的作品进行严格测试以确保应用程序的合法、有效、可运行性;同时MM平台会记录每个作品的下载量及下载用户的评价,通过与中移动江门市分公司合作,既可以丰富MM平台上的作品,又可以通过MM平台来检测学生作品的实用价值及创意,通过MM平台作品的下载次数及用户评价给学生加分。
3 结论(Conclusion)
通过教学改革与实践,明确教学目标,以移动应用工程师职业岗位确定教学目标、以培养职业能力为依据选择Android技术为课程内容、注重实践、以实际项目为载体实现课程内容专业化与综合化、构建“基于项目过程控制”的课程管理方式、借助社会平台来考核,以达到全面培养学生创新能力、系统分析能力、研发能力和团队协作能力等综合能力,通过一年教学实践,学生的实际开发能力得到了很大提高,在全国软件设计大赛取得很好成绩,学生学习热情得到极大提高,在后续的教学过程中,我们将加大教学实验环节改革,进一步提高学生实际动手能力。
参考文献(References)
[1] 杨凤年,等.手持设备应用软件开发课程教学方法研究.教学
园地,2011(24):23-35.
[2] 祝衍军,等.软件开发课程实践教学改革与探索.福建电脑,
2013(1):52-54.
[3] 李伟波.项目驱动式的“软件工程”教学模式研究与实践[J].
中国电力教育,2009(12):45—46.
[4] 李继芳,等.基于“项目化”实践教学模式的探究[J].计算机
教育,2007(9):74-76.
作者简介:
洪智勇(1978-),男,博士,讲师.研究领域:智能信息处
理,软件开发.
张 宁(1978-),女,研究生,讲师.研究领域:Android软
件开发.