苏晶 张冬梅 李盘靖
摘 要:近年来,移动软件行业蓬勃发展,市场对此方向的人才需求也急剧增加,鉴于移动应用与传统桌面应用在软件开发过程、开发方法、质量管理等多方面存在不同,高校现有的软件工程系列课程内容也需随之调整。在深入分析了移动开发的特点和目前高校软件工程系列课程所存在问题后,该文从教学内容、教学方法和考核机制三方面论述了面向移动应用的软件工程系列课程建设的研究内容及实施方案,该方案的初步构建和实施,对于系统的增加学生的移动开发知识,训练移动开发能力具有重要的意义。
关键词:软件工程 移动应用 课程改革
中图分类号:G642 文献标识码:A 文章编号:1672-3791(2015)04(b)-0165-02
当前计算机的发展已经进入了移动互联网时代,智能手机、平板电脑,甚至电视机都成为了计算机终端,继而社交、导航、支付等应用日益盛行。随着对移动设备使用率的飙升,人们对移动应用的需求骤增。从2011年至今,移动软件开发成为就业首选,移动软件开发技术也成为学习热点和就业必杀技。分析移动互联网行业的人才需求,首先是熟练的移动开发技术,此外还要求人才的创新能力和知识结构的跨界复合能力。该院将软件工程专业设为教学试点,调整培养目标,改革软件工程系列课程,强化移动开发知识和技能,以适应日益完善的移动开发生态体系。
1 教学改革的目的和意义
移动应用(Mobile Application)简称APP,是指运行在智能移动设备上的软件。从本质上讲,移动应用仍是软件,其开发过程依然遵循软件工程过程。但是,移动开发有其自身独特的技术特点,平台多样化、数据安全性、系统能耗等传统桌面软件开发相对关注程度较少的问题,在移动应用领域尤为突出。
另外,移动应用也有其独特的开发模式。2014年8月15日,在主题为“在移动计算时代获得成功”的客户研讨会上,Gartner研究副总裁Van Baker提出了“传统应用程序开发实践将对移动应用失效”的观点。他表示“应用程序开发经理应该采用功能、性能、负载、用户体验测试以及敏捷开发实践。”以区别于传统的线性软件开发过程。移动应用所采用的这一开发模式将开发和测试周期延长至企业应用使用的整个周期。开发完成一定功能,立即测试,并部署上线使用,根据反馈和需求变化,再继续开发,测试,部署。即将原来线性的周期,变为更短的不断循环的多个小周期[1]。
综上所述,移动应用呈现出一种不同于传统桌面应用的开发模式和特点。而与此同时,在高校的软件工程系列课程中,却缺乏对近年来蓬勃兴起的移动应用软件开发过程的应有关注。为此,研究移动应用开发中的需求工程、软件重用与软件质量度量等问题,分析相关研究者的研究成果与开发者在工程实践中的实际应用成果,并将其引入软件工程系列课程中来,作为相应的教学内容,对于提高计算机相关专业学生的移动应用开发能力与移动互联软件工程意识都将有着重要的推动意义。
2 教学改革的内容
通过在该院建立软件孵化实验室作为改革试点,对移动应用软件开发过程进行跟踪和分析,总结经验不足,将软件工程系列课程改革的重点集中在3个方面:优化教学内容、改进教学方法和完善考核机制。
2.1 优化教学内容
该院软件工程系列课程包括理论类课程、系统开发设计类课程和实践类课程等,而鉴于移动应用开发与传统桌面应用开发的主要区别集中在软件过程模型、软件质量度量、对用户界面和用户体验的关注上,因此,该次课程改革方案主要集中在《软件工程》、《统一建模语言UML》、《人机交互》和《软件测试》四门核心课程上。
(1)在《软件工程》课程中,除介绍传统软件工程知识体系以外,增加移动互联软件开发过程和模型的相关知识,并在实践环节中,使用并验证此类知识。
(2)在《统一建模语言UML》课程中,依然采用案例驱动的教学模式。在实践环节,增设移动应用开发案例,并指导学生通过UML对案例进行分析与建模,对比非移动开发案例,体会其间异同。
(3)在《人机交互》课程中,除介绍人机交互界面的一般设计原则及方法以外,补充有关移动界面的设计原则、要素、设计技术与工具的相关知识。在实践环节,增设基于Android的移动应用设计实战项目,让学生体验移动界面开发过程。
(4)在《软件测试》课程中,除介绍常规功能测试和性能测试的方法以外,针对移动应用在用户操作方式、界面布局、设备网络连接方式等方面的特点,补充移动应用的用户体验、网络链接及安全性、兼容性等方面的测试知识。在实践环节,增设移动应用的系统测试项目,让学生参与测试用例和测试过程的设计,总结其与传统桌面应用测试间的异同。
2.2 改进教学方法
由于软件工程系列课程具有理论与实践紧密结合的特点,所以仅采用传统教学方法是不能满足社会对软件工程人才的培养需求的,因此需综合运用各种先进的多媒体技术作为教学手段,配合多样化的教学方法,以达到既普及知识又训练技能的目的[2]。
(1)课堂教学方法的改革
鉴于软件工程类课程具有较强的应用和实践性,在授课过程中,建议采用案例教学方法,教师变身为项目导师,充分调动和发挥学生的主导作用,引导学生独立思考,寻求和验证解决方案,激发学生的创新能力。
在此基础上,推动实施软件工程课程群“一案到底”教学法[3],摒弃传统教学中以课程章节或知识点作为案例的讲解方法,改进原有系列课程中独立选择案例的教授方法。精心挑选综合性的系统案例,既保证学生对其业务处理熟悉、感兴趣,且功能足够全面、具有代表性,又要兼顾传统桌面应用和移动应用的特点。通过课堂教、学互动完成对案例核心部分的分析和设计,并形成完整的解决方案,使学生深入理解课程内知识点之间、课程之间、以及课程与实践之间的衔接关系,并逐步形成整个软件工程课程体系的全局观。
(2)实践教学方法的改革
在完成核心部分的解决方案后,综合性案例的扩展部分可作为学生自主实验内容。如果案例规模较大,则可采取分组形式完成。通过案例实战,将理论与实践紧密联系在一起,有效调动学生主动学习的积极性,锻炼学生在课堂所学知识的指导下独立分析问题和解决问题的能力,加强学生团队合作和沟通表达的能力。
在单独开设的实践环节中可采用“项目式-任务驱动”教学方式,以学生为主体,将项目或案例进行任务分解,并分配到各小组,要求学生严格按照时间要求完成任务,并进行讲评和答辩。同时,针对移动软件开发中具有的软件规模较小、需求较明确等特点,采用“场景法”,由学生扮演最终用户的角色,切身感受和想象手机用户在不同场所需要的交互和功能,继而完成软件的需求采集、需求分析、设计和测试任务,在很大程度上调动学生学习的兴趣和主动性[4]。
(3)加强课程信息化建设
充分利用学校的在线教学平台,共享教学资源,将教学计划、教学内容、自学任务和课后作业等及时发布,帮助学生更好的学习。教师主动与学生进行网络互动,利用各种沟通交流工具,了解、解答学生在学习过程中遇到的问题,掌握学习情况,及时调整教学进度,帮助学生实现课外主动学习的目标。
教师在授课的同时,通过此平台进行网络课程建设。教师定期对内容进行维护和更新,修订教学大纲、课件、案例库等教学资源,增设有关移动软件开发的相关知识和内容,收集有关移动应用领域的成功案例,对软件工程系列课程完成全方位覆盖,并保证知识新颖、内容详实,实现网络平台内容的动态化。
(4)扩宽学生获取新知识的途径
除了课堂教授、实践过程巩固等教学方式外,通过“任务型”教学、案例分析拓展实战、推荐阅读经典教材、借助网络资源等方式鼓励学生多渠道获取知识,培养学生自主学习的能力,增强职业素养。
2.3 完善考核机制
由于软件工程系列课程的特点,其培养目标要求学生在理解基本理论和原理的基础上,能够熟练掌握主流软件的工程管理体系、质量管理体系、系统建模工具、程序设计方法等技术,培养科学的思维方法和开发方法,并提高动手实践能力和独立分析解决问题的能力。而现有的考核方式过于单一,重结果而轻过程,考核内容偏理论轻实践,大大影响了学生学习的积极性和兴趣,而对学生动手实践能力的培养没有得到应有的重视。因此需建立科学完善的课程考核机制。
(1)注重过程考核
将过程考核纳入考核评价体系中,并适当增加比重。过程考核内容主要体现为课堂出勤率、案例的参与度、自主完成作业的质量、实践环节解决方案等。通过将考评侧重点向过程考核转移,督促学生积极主动的学习。
(2)完善实验考核制度
在传统的实验教学中,实验指导教师对学生实验成绩的评定主要是以出勤率、实验成果和实验报告作为评价依据,这种考核方式通常无法考核出学生的真实水平,且所有学生用同一种标准来衡量,尽管公平却不利于学生个性的发挥和创造力的培养。可将实验项目分配至各小组,对学生实验成绩的评定综合考虑整个小组的实验结果、学生的态度和表现、在小组内部发挥的作用等方面,并增加小组集体答辩和小组互评环节[5],增强学生团队合作意识和集体荣誉感。
3 结语
随着移动互联软件开发产业的蓬勃兴起,移动互联企业的人才需求突飞猛进。与移动互联开发相关的软件工程领域的研究也方兴未艾。作为人才培养土壤的高等院校,其软件工程系列课程中目前更是缺乏其应有的支撑内容。因此,在高校软件工程系列课程中,提出合理的软件互联知识域框架,引入移动互联开发所需知识,增加移动互联实践案例,建立配套的考核机制将成为必然之举。一方面可以为面向移动互联及“大数据”的先进软件工程技术提供理论研究基础,另一方面也为学生在移动互联开发时代提供技术利器,以更好的适应社会发展的需要。
参考文献
[1] Gartner:传统应用程序开发实践将对移动应用失效[EB/OL]. 2014. http://tech.ifeng.com/mi/detail_2014_08/18/38311310_0.shtml.
[2] 曾少宁.面向移动开发的软件工程专业教学改革研究[J].中国电子商务,2013(3):159-160.
[3] 邓先礼.“一案到底”教学法在软件设计课程中的实施[J].鸡西大学学报,2014(7):24-27.
[4] 王振铎.移动平台下软件开发教学研究[J].现代计算机(专业版),2012(29):60-61.
[5] 李迎春.《软件测试》实验方法的改革和实践[J].现代计算机(专业版),2013(6):31-32.