(一)
一、应用型软件工程人才培养体系的构建
要培养受企业欢迎、适应经济社会发展需要的较高质量的软件技术人才,学校在培养人才时必须按照通用标准和行业标准,加强学生的工程应用能力和技术创新能力的培养,必须深化行业企业参与培养过程。在真正了解软件企业需求的基础上,完善和深化校企合作联合培养模式,及时调整专业结构、教学计划和课程设置,加大实践教学的力度,提高学生的动手能力和编程能力,只有这样才能培养出真正受企业欢迎的软件工程人才。常熟理工学院计算机学院在这方面经过多年的探索,取得了一定的经验。
(一)探索软件人才培养新模式,与企业联合制定
培养方案常熟理工学院软件工程专业从2005年申报开始,就组建了专业建设指导委员会,成员包括作为专业建设带头人的资深教授、知名软件企业负责人、具有丰富经验的软件高级工程师和相关高校的专家,该委员会负责审议专业发展规划、培养方案、教学计划等,对专业建设和教学改革提出意见和建议。在专业委员会的指导下,常熟理工学院和全球知名的IT教育和培训企业NIIT(印度国家信息技术学院)共同制定了校企合作嵌入式培养方案,即将NIIT课程模块与现行专业课程加以整合,衔接与调整,以取双方之长的全新模式,概括为“2+1+1”模式,即前2年完成公共课、NIIT的第一、二模块课程及部分专业平台课程教学,第3年结束专业平台课程教学,完成NIIT的第三、四模块课程教学,最后1年强化专业方向课、企业定制课程、软件工程实践和毕业设计。合格学生在取得本科学历教育文凭的同时,又可以获得NIIT颁发的国际软件工程师认证证书。该方案被省内外多所高校作为主要参考范本,实践课程体系和素质拓展体系得到企业的认可。
(二)走软件产业技术路线,构筑应用型教育教学体系
为了提高学生的市场适应能力,必须打破常规,积极探索和构建软件类专业适应市场需求的教育教学体系,以搭建起人才培养和企业需求之间的桥梁。这就要求既要打好软件技术的理论基础,更要加强学生的工程实践能力,使得教学始终与软件行业发展保持同步,课程体系切合行业需求,培养接轨行业发展、符合企业需求的专业人才,并通过职业化素质训练,历练学生良好的学识、专业的技能与敬业的态度。常熟理工学院计算机学院将软件专业学生在校期间的学习分为校内学习、实训基地学习和企业实习基地学习三个阶段:(1)校内学习阶段:学习计算机基础技术知识和软件核心技术知识,并具备相关能力后,进入实训基地学习。(2)实训基地学习阶段:以软件工程思想为指导,模拟企业软件项目管理一般流程开发软件项目,完成高级工程技术知识学习和训练。(3)企业基地学习:学生通过第二阶段的工程实践训练后,进入企业实习基地学习,通过软件开发的全过程或部分过程,使学生具有基本的软件开发能力和软件工程实践经验,感知企业,了解企业管理、软件开发过程管理以及项目管理,具备应用所掌握的开发工具和平台完成软件开发工作的能力,同时完成本科毕业设计(论文)。这个阶段学生培养方案和计划需单独制定,并采用以企业导师指导为主,校内导师指导为辅双导师制形式,联合指导。
1.理论课程教学体系设置
常熟理工学院计算机学院在课程体系的构建过程中,以“厚基础、精方向、重应用、强能力”为指导原则,以专业应用能力为主线,将理论、技术及应用结合起来,不断完善软件工程专业的课程体系,构建了由素质基础、学科基础、专业基础、工程技术、职业技能五大模块组成的课程教学体系,如图1所示。素质基础模块包括通识教育和数学工程职业基础两部分,培养学生从事软件工作所应具备的数学基础、软件工程基础、职业素质和专业外语能力。计算机软件基础技术课程构成学科基础模块,包括程序设计与算法基础、数据库应用技术、网络技术基础、离散数学等,以教授学生从事软件工作所应具备的软件专业基础知识。专业基础模块由专业核心技术课程和软件工程与软件管理两部分组成,课程包括数据结构、操作系统、软件工程、面向对象分析与设计、软件过程与项目管理、软件测试与质量保证等,这些课程的学习可为学生打下坚实的理论基础。工程技术模块由专业模块课程(NIIT工程师)和高级工程技术学习与培训课程两部分构成,常熟理工学院引进了NIIT博睿软件工程师培训课程,课程内容涉及web应用技术,嵌入式开发技术、移动计算技术与应用等软件企业一线技术,通过借鉴国外优质教育资源和先进管理模式,与国际软件人才培养目标和规格接轨。职业技能课程,包括职业素养训练、沟通技巧、外语交流、行业相关知识及企业文化等内容,课程内容根据不同企业的要求,按需设定,并以实际企业的软件开发案例为载体,将其贯穿在企业实训过程中。
2.实践教学体系设置
实践教学以提高学生核心应用能力,进而提高就业质量为最终目标,强调实践的延续性及关联性。实践教学包括课程实验、实践学期、综合工程实训、企业实践、毕业设五个层次,构成立体化的专业实践教学体系。课堂实验包括随堂实践、随堂实验、实验室实验、实战模拟等各种在专业基础课或者专业课等理论教学中穿插的实践环节,实践的内容围绕着各独立课程的核心知识点,表现出彼此之间的相对独立性。实践学期是学校安排的暑期小学期(三个星期),包括概念实训、技能实训和项目实训。分别在第一学年、第二学年、第三学年的实践短学期进行,实训内容以设计和开发一个相对完整的项目形式进行,设计的项目能将本学年核心课程相关知识点贯穿透起来,是整个学年所学课程的一个综合。实训内容从程序设计基础实训、信息系统实训到web应用、移动应用开发实训,循序渐近。综合工程实训安排在第7学期进行,软件工程学生参加IBM-ETP软件服务外包实训,为期6个月,分三个阶段,即二个月的英语或日语强化训练、二个月的IT技能强化,二个月进入实训中心或企业进行顶岗实习。实训分为Java、。NET、PHP、软件测试和大型机等五个方向,一方面对学生大学四年所学的核心知识和技能的再强化,另一方面选择当前软件开发的一线技术对学生进行项目实训,课程设置和实训内容与软件企业用人所需建立对应关系,在企业或仿真企业的实训中心,将企业的真实项目改造成的可教学化的实训项目,让学生参与开发的全过程,使学生体验企业化的管理流程,增强学生的工程应用和编程实践能力,从而弥补学校人才培养和企业用人需求之间的缝隙。企业实践是学生毕业之前的综合训练、全面提高阶段,在这个阶段学院派遣学生到具有一定规模的IT企业或IT部门进行企业实习。实习单位提供给学生一学期的软件开发或测试与开发相结合的实习项目,实习项目能够提炼出满足常熟理工学院本科生毕业设计(论文)要求的毕业论文。通过软件开发的全过程或部分过程,使学生具有基本的软件开发能力和软件工程实践经验,感知企业,了解企业管理、软件开发过程管理以及项目管理,具备应用所掌握的开发工具和平台完成软件开发工作的能力,同时完成本科毕业设计(论文),为成为能适应技术进步和社会需求变化的软件工程师打下坚实的基础。
(三)优化人才培养环境,打造立体的工程实训平台
在学校、政府和企业三方联合推动和支持下,我院的软件工程专业在建设过程中逐渐打造了一个“校内-园区-企业”立体的工程实训平台,它是进行实践教学改革,培养具有较强的工程实践能力、创新能力和工作适应能力的软件人才的重要保证。在校内,目前已建成具有较大规模的集教学、科研、学生创新活动为一体的计算机实验教学中心,拥有教学、科研型实验室和机房共23个,2009年该中心获批为省级实验教学示范中心建设点。与越田信息科技有限公司、网络神、中国电信常熟分公司等企业建立联合实验室,促进业界先进技术在教学中的体现,促进科研对教学的推动作用。在园区,在常熟东南开发区(软件谷)和海安软件园建立了能容纳三百多人的实训和实习基地,学院依托这些基地,大力推进与企业、地方政府、科研单位、园区等的实质性项目合作,实习见习、实验实训活动围绕地方科技应用开发、课题调研、信息产业等开展,着力构建互利互惠的合作机制,调动社会有关方面共建实习、实训基地的积极性。建立实践教学社会资源共享与服务社会相结合的新模式。在企业,常熟理工学院计算机学院与越田科技、上海理想等软件企业合作签订了“订单式”培养协议,学生进入四年级后,按照企业要求的知识和技能培训内容,以企业准员工身份接受教育,形成了实习与就业同步的校企零距离合作新模式。此外常熟市政府、IBM公司、南大苏富特科技有限公司三方合作实施IBM-EPT项目,项目实施由IBM派遣专职人员负责学生的实训、学业指导及职业指导。学生在第七学期开始接受为期半年多的外语强化、IT技能强化和公司模拟实训三个阶段的实用培训,让学生快速掌握软件一线实践技能,了解企业文化和企业相关管理流程,较快的缩小个人能力与企业实际需求的差距,提升了职业发展能力和就业能力。同时,用人单位能够借此缩短培养人才周期、降低培训新员工成本、保障和提升培训质量。2009年开始连续三年参训学生的培训费由常熟市人民政府补贴,补贴额度为每位学生1万元/期。该项目充分体现“政府资助零风险、成才就业双丰收”的新特色。
(四)多措并举,加快建设培养工程应用型人才师资队伍
要培养真正符合社会需要的软件人才,关键在于是否拥有一支满足工程人才培养要求的高水平教师队伍。教师作为教学的主体,对能否提高整个专业的教学质量起着至关重要的作用。为此学院采取多重措施,不断提高教师的工程实践能力、创新能力和科研技术水平。
1.实施青年教师导师制
学院为新参加工作的青年教师,未取得讲师以上职称,或需要在科研教学方面提高的青年教师配备导师,以充分发挥骨干教师和老教师“传、帮、带”的作用。通过导师的言传身教,不断提高青年教师的思想政治素质、业务素质、实践能力和教学水平,逐步形成严谨治学的态度和扎实的工作作风,尽快适应科学研究和教育教学工作,成长为合格乃至优秀的教师。
2.制定教师培训与轮训制度
为了增强教师的工程实践能力,学院一方面利用每年的暑假安排青年教师分批到IT企业进行挂职锻炼,通过参与企业技术服务和项目开发,了解软件产业动态,学习一线开发技术,提高教师的工程实践能力和项目实施经验。另一方面聘请企业有丰富工程经验的技术人员进校对教师进行实践课程、项目教学方面的培训,提高教师的“双师型”技能,逐步使教师达到一专多能。
3.优化师资队伍的结构
相比学历结构、职称结构,教师自身的专业背景、实践工作经验、参与工程技术项目(包括科研项目)的经历等对应用型软件人才培养的影响要更加深远,计算机学院很早就意识到了这一点,在软件人才引进上,除了学历、学位、高职的高要求外,更看重教师的工程背景和行业背景,优先考虑具有扎实学术功底和较强实践能力的教师。通过多年自身培养和有针对性的人才引进,学院具有企业背景和工程实践经历的教师比例逐步加大,“双师型”教师人数逐年增加,这对软件工程专业本身的建设与发展,对软件应用型人才的培养都起到良好的促进作用。
4.设立“学生专业导师制”
学院为大一新生配备专业导师,由各专业的专任教师担任,负责指导5-8名学生的专业学习和大学生活,并一直延续到学生毕业。通过这种制度的实施,加深师生彼此间的了解,增近了师生间的感情,教师也乐于让学生参与到自已的科研课题或承担的横向项目中,使学生得到组织、设计、操作、管理等多方面的锻炼。反过来,要想在指导学生时取得良好的效果,对专业教师也提出了更高的要求,要求专业教师不仅对本专业培养方案、教学计划、课程之间的相互关系能全面了解,尤其是对专业的横向联系、纵向内容有更加深入、细致的理解,而且在项目开发、项目管理、科技创新等方面都要具备较强的能力,只有这样才能胜任导师这一称号。
5.拓宽应用型师资利用渠道
“教师下企业,工程师进课堂”,学院在校企合作培养软件人才的过程中,充分利用企业资源,从具有丰富实践经验和教学能力的高级软件工程师、项目经理、技术主管等专业技术人员中选聘为学院“兼职教师”,承担一些实践性很强的专业课程、项目实训、毕业设计指导等教学任务。
二、结束语
软件产业的快速发展给软件工程专业的发展带来了机遇,也带来了挑战。常熟理工学院计算机学院结合自身特点,转变观念,经过多年的实践和探索,找到了一条符合自身发展之路,软件工程专业培养的学生动手编程能力、项目实践能力、社会适应力普遍较强,毕业生受到用人单位的青睐。学院所形成的一个共识就是要培养受社会欢迎的软件应用型人才,师资队伍结构必须优化,人才培养模式必须改革,课程必须更新,必须加大实训、实践教学的力度,只有这样才能在激烈的专业发展竞争中占有一席之地。
作者:宋东兴 殷旭东 刘永俊 单位:江苏常熟理工学院计算机科学与工程学院
(二)
一、加强课程知识的专业背景
软件工程经济学不同于普通的工程经济学,它以软件行业为研究背景,具有鲜明的行业特征。因此,对于本门课程的学习就要求学习者具有一定的软件项目工程经验。而对于在校学生来说,实际软件项目工程经验非常少,甚至有的学生根本就没有工程经验,导致学生对一些工程的概念和过程不清楚或者理解有偏差。该状况导致学生对本课程的学习和认知难度加大,很多学生最终也会对课程学习失去兴趣。因此,在进行本课程知识学习前,有必要加强学生的软件工程专业的背景知识。在教学过程中,笔者对一个实际的项目运作进行介绍,包括对项目的招标、投标团队的建立、项目投标、开发团队的建立、项目开发、项目验收和项目维护的详细介绍,其中,项目开发又从需求分析、设计、编码、单元测试、集成测试和系统测试进行介绍。上述学习内容让学生对软件的开发流程和公司的项目运作有了清楚的认识,提高了对课程乃至专业的兴趣,同时,这些学习内容有助于学生对后续课程中知识的理解和掌握,消除对本门课程学习的陌生和恐惧感,提高对课程重要性的认识。
二、进行启发式学习,注重双向交流
相对大二的低年级学生来说,工程经济学确实具有一定的难度。如果采用满堂灌的教学模式,注重知识的介绍,缺少教师与学生的互动交流,那么,课堂气氛将会很沉闷,学生学习的积极性和主动性则不能得到发挥。因此,教师要改革课堂上以教师讲解为主、学生被动参与学习的填鸭式陈旧教学方式,教师应积极引导学生参与课堂教学,鼓励学生课前预习和课中讨论,教师可采用“启发式”、“讨论式”、“引导式”、“参与式”、“研究式”等教学方法,增强学生对该课程的学习兴趣,提高学生的学习效率和效果。而针对软件工程经济学这种与实际结合度高的课程,完全可以采用启发式教学。笔者在课堂上经常采用“问题→思路→总结并引出课程内容”的教学模式。提出问题可以激发学生的独立思考,同时根据课堂情况再给予一定的思考方向的提示,这样的教学模式有效开启了课堂上的师生双向交流,活跃了课堂气氛,培养并提高了学生思考问题、分析问题的能力以及实际运用能力。适时的总结和课程内容的引出则可以把学生的讨论引向更深的领域,提高学生对课堂新知识的理性认识和兴趣。比如,在介绍项目风险的时候,笔者并没有一开始就进行风险的定义、风险的分类、风险的规避的介绍,而是先给出一个引导性问题。问题的具体内容为:有一天,总经理突然找到作为公司项目经理的你,并告知你有一个客户想开发一个ERP系统,想让你分析该项目存在哪些不确定因素有可能导致项目失败。然后进入课题讨论,并根据学生的讨论情况给予一定的引导。开始讨论的时候,学生往往集中在技术方面的风险,此时可以告诉学生不确定因素也包括市场、开发团队的经验等方面的内容,学生讨论的范围一下子就开阔了。最后觉得学生讨论的目的已经达到就可以对问题进行总结,并提出本堂课的知识:风险的定义、风险的分类和风险的规避。而在前面讨论的基础上,学生对风险已经有了一定的认识,对课堂新内容的理解和接受就更容易了,因此,课堂气氛也一直比较活跃。
三、加强辅助性工具的使用和学习
软件工程经济学的课程设置目的是培养学生的经济意识,并在实际工作中应用与其相关的知识。而工程经济学里有许多内容需要计算,这些内容除了用手工计算外,培养学生用计算机软件计算,具有十分重要的意义。如何才能有效提高学生使用计算机软件计算的能力,笔者认为首要的工作是课堂上加强计算机辅助性工具的使用和学习,特别是Excel和Matlab的应用学习。课程中需要进行计算分析的内容除了要重点介绍其计算和分析的原理外,更要教会学生在实际应用中如何使用计算机辅助性工具来做好计算和分析工作,这样既可以让学生从繁琐枯燥的计算中解放出来,把精力用在概念的理解和方法的掌握上,又可以把课内的知识直接与实际问题有效连接起来,提高学生的兴趣和对知识点的理解。比如,在讲授“资金时间价值计算”时就可以使用Excel提供的内置函数FV、PMT、PV进行资金的等值计算,而在进行经济评价的时候则可以使用内置函数NPV、IRR、PMT等。另外,在介绍敏感性分析等内容时,则可以充分利用Excel的图表功能来绘制敏感性分析图,然后以动态图表的绘制来直观地展示敏感性分析曲线的变化与项目条件变化的关系,方便确定敏感性因素及其对分析指标的灵敏程度。以上四点内容正是笔者在这一原则指导下对软件工程经济学课程教学方法的一点尝试和总结。从实际的应用效果来看,学生对该课程的认识和兴趣随着课程的深入有较大的提升,笔者相信这只是一个起点,作为一名教师应该不断创新教学方式并进行及时的总结反思,探索出更加高效的教学方式,不断提高自身的教学水平。
作者:高凤强 单位:厦门大学嘉庚学院
(三)
一、开展校内实训教学的必要性
当前,学生参加项目实训的主要途径是到校企合作企业或校外实践基地。然而,随着软件工程专业招生规模的扩大,软件企业出于工程质量、工期要求、客户资料及企业核心技术保密等多方面的考虑,无法接纳大量的学生进入企业进行工程项目的实践。为了满足大多数学生的软件项目实训需求,构建企业实训和校内实训相结合的实训教学体系已经成为一种必然的要求。为此,哈尔滨理工大学软件学院成立了软件实训中心,在校内为学生搭建一个模拟企业真实工作环境的学习实践平台,借鉴企业项目实训流程,以项目驱动的模式对学生
二、校内实训教学的总体思路
(一)总体思路
校内软件项目实训要坚持校企合作和产学研互动,以软件企业岗位技能需求目标为导向,以真实软件项目开发为驱动,以一流的设备和工作环境为依托,以有丰富工程经验的实训教师为指导,遵循软件企业的管理规范和软件项目的标准流程,在项目实训中培养、提升学生的工程实践能力、团队协作能力和工业化素质,从而缩短人才培养和企业需求之间的距离,协助学生尽快实现从“学生角色”到“职业人角色”的转变。
(二)基本原则
校内软件项目实训应该遵循仿真性、适用性、先进性和创新性原则。
1.仿真性原则。坚持“从企业中来,到企业中去”的原则,包括实训项目、管理形式、质量评估、指导教师都来源于企业,而实训效果和质量,最终也要到企业中去检验。
2.适用性原则。软件项目实训要结合学校软件工程专业人才培养的目标和特点,根据国家经济结构和产业结构调整对软件人才培养的需求来进行,既具有针对性,又具有适用性。
3.先进性原则。用于软件项目实训的设备和技术要具备先进性,实训条件应与软件企业的同期设备具有相同的水平,并争取有一定的超前性。
4.创新性原则。采用先进的CDIO工程教学理念,以项目驱动的方式实施实训教学,发挥观念引领和思想导向的作用。
三、校内软件项目实训的策略开展
软件项目实训的两个关键要素是实训案例和指导教师,同时涉及实训环境、教材、制度和平台建设等。
(一)实训环境建设
实训环境是开展校内项目实训的基础条件,应该体现仿真性和先进性原则。目前,哈尔滨理工大学软件学院专门成立了软件项目实训中心,致力于在校内搭建一流的实训环境,现已建成两个实训室和一个讨论室,配备了最先进的PC机和软件开发环境,每个实训室可以容纳68人,人均占有面积2平方米,每人一个工位、一台高配置计算机。讨论室供学生在项目实训中召开项目小组会议、进行项目评审等。
(二)实训案例建设
实训案例是开展校内软件项目实训的关键要素。实训案例应能体现当前软件技术发展的主流技术,具有先进性和代表性,同时考虑不同专业方向的适用性。实训案例建设采取企业引进和自主研发相结合的方式,具体措施包括:
1.合理规划,针对不同的专业方向建立相应的实训模块和实训案例。目前哈尔滨理工大学软件工程专业设有“软件开发J2EE技术”、“软件开发.NET技术”、“嵌入式技术”、“物联网软件开发技术”、“移动计算软件开发技术”共5个专业方向。为满足不同专业方向的需求,为5个专业方向分别建设实训案例3—5个。
2.规范管理,采用CMMI5项目管理成熟度模型,开发实训案例模板。针对不同方向,实训案例虽然具有不同的功能并采用不同的技术,但从教学角度来说,都应该遵循共同的规律。为了规范管理和保证质量,应用软件企业普遍采用的CMMI5项目管理成熟度模型,抽象出实训案例的共同特征,形成案例模板。每个案例都按照模板要求,具有完备的技术文档和参考程序,包括系统需求说明书、概要设计说明书、详细设计说明书、测试计划说明书,测试用例说明书、系统使用说明书等。
3.产学结合,以企业实际工程项目为背景,适当改造,开发实训案例。软件公司具有最先进的开发技术,但企业实际项目通常规模很大,不适于直接用做实训案例;另外,公司由于商业竞争和技术保密等原因,不愿意公开其技术方案、程序源码等项目资料。目前,软件学院已有多名教师在东软集团等企业参加实践锻炼,获得了部分项目资料,通过对这些项目资料进行整理和改造,开发项目案例,使之既体现实用性和先进性,又适合实训教学。
4.学研结合,以学生兴趣和创新为动力,自主研发实训案例。兴趣是学习的动力,创新是进步的源泉,学研结合是最好的学习方式。结合教师的科研项目,引导学生进行一些有创意的软件项目开发活动,边学习边开发,在此基础上形成实训案例。这些案例更适合对学生进行实训教学,有利于激发学生的学习兴趣,培养学生的创新意识。
(三)实训师资建设
当前,高校教师普遍存在缺乏工程实践经历和项目经验的问题。因此,校内软件项目实训由企业工程师和校内教师共同指导。聘请企业资深工程师担任企业指导教师,由参加过企业实际项目开发并且教学能力突出的专业教师担任校内指导教师。近年来,哈尔滨理工大学软件工程专业有多名教师在东软集团、青岛软件园等企业接受了企业实践训练,基本具备了开展校内实训的师资基础。
(四)实训制度建设
实训制度是实训质量的重要保障。实训制度建设包括建立并完善实训管理规范、执行细则、质量评估体系、学生管理规范、实训案例管理办法等一系列规范文件,并建立相应的实训运行机制等。
(五)实训教材建设
实训教材是将教育思想、理念、宗旨等转变为具体教学实践的基础,是保证实训教学顺利开展的重要工具。为了有助于培养学生的工程实践能力,实训教材的内容应该具有很强的工程指导性。实训教材编写要改变普通教材偏重知识体系完整性的做法,改为重视工程项目的完整性。每一本实训教材都应该有完整的软件工程项目案例,并充分体现指导性、实用性、完整性和技术先进性。实训教材建设可以采取有偿选用企业实训教材、教师和企业工程师合编教材相结合的方式。
(六)实训平台建设
软件项目实训涉及大量的人员信息、文档、代码和多媒体资料。通过开发软件项目实训平台,可以方便实训案例的管理和维护,对实训流程进行有效管理和实时监控,在减轻教师的教学压力的同时实现资源共享,使学生能够随时随地地参加实训学习。实训平台设计分学生、教师和管理者三种角色。学生可通过平台进行项目实训,获取参考资料和帮助文档,查看实训任务,撰写日报及工作总结、提交工作成果,全程接受实训指导和监控;教师可通过平台分配任务,查看学生任务完成情况,监控各教学环节,提高教学质量;管理者可获取实训的各类统计信息,随时了解学员的实训情况及实训教学情况,监控实训教学过程。
作者:姚登举 郭红 张淑丽 单位:黑龙江哈尔滨理工大学
(四)
一、问题分析
1.学时的限制。为了对学生进行全面的培养,在校期间,学生需要学习很多门课程,不论多重要的课程,分配的理论教学和实践教学的时间都是有限的。多数学校在设置《软件工程》理论和实践教学的学时一般为64—72学时。理论教学为40学时左右,实践学时为32学时左右。而开发具有一定规模的项目即使对于一个软件公司来说,都要以年和月为单位来计划开发时间。显然制定的实践教学的学时是不够的。面对这种情况,许多教师在实践环节只能选取软件开发过程中的一部分内容进行实践,这样做则破坏了实践教学的完整性。
2.考核方式的问题。多数实践教学是在实践环节结束后以答辩和提交报告的形式来进行考核。这种方式应用在软件工程实践环节中会出现问题,由于高等教育从精英教育转变为大众教育,班级学生人数较多,指导教师很难随时掌握所有学生的设计情况,就会发生各阶段出现的错误得不到及时纠正,从而造成错误的积累和放大,到最后想要弥补和改正都极为困难。
二、研究思路
针对以上问题,课题组主要对实践教学的课程安排、开发方法以及考核方式进行了改革与研究,具体改革的方法如下:
(一)采用分散式实践教学课程设置为了保证软件工程课程实践训练的系统性和完整性,加强理论教学与实践教学的衔接。课程组采取了独立设置实践课程,拉长实践教学周期的方法。具体的做法是:取消原来分散在软件工程课程中的实验课时,独立设置32学时的软件工程集中实践教学环节,实践教学周数为8周,每周4学时。具体的时间及内容安排,要注意的是这个内容安排包含了软件设计开发过程的各个阶段,其中软件项目管理是贯穿整个实践环节的,但各个阶段不是按照传统的瀑布模型严格地分阶段执行,可以根据具体情况进行调整。采用分散式的实践教学方式是由软件工程实践教学的特点决定的。对于分析问题的能力和工程化软件开发意识较弱的学生来说,对于软件项目进行的分析与设计,随着研究的深入,往往需要多次反复修改,在较短时间内仓促完成的成果会有诸多的问题。分散式实践环节与理论课程采用了类似的教学进度,上课时间主要是进行教师指导、研究讨论和分阶段答辩。课下学生有更多的时间去理解、思考、分析和设计。这种分散式实践教学与其他教学区别是:不同于理论课程的教学,在上课时间不会对理论进行大量讲解;不同于课内实验,分散式实践在时间的安排上要在《软件工程》课程结束以后,不属于课内实验;不同于课程设计,课程设计一般都是集中在一两周进行;不同于毕业设计,毕业设计侧重结果,分散式实践侧重过程。
(二)采用敏捷开发方法进行软件开发即使采用分散式实践教学,但是利用传统的方法去开发项目在时间上仍然不足,这就需要采用新的开发方法。敏捷开发方法是近些年被重视和研究的软件开发方法,敏捷开发方法具有特点是:以人为核心、循环迭代、响应变化等等,主要着眼于能高质量地快速交付让客户满意的软件。将敏捷开发方法应用于软件工程课程的实践教学过程中,能够克服传统教学方法的一些缺陷。与传统的软件开发相比,敏捷开发注重灵活性,简单、快速,适合于对时间要求严格的项目,采用敏捷开发方法学生能够在较短的时间内完成任务。同时,敏捷开发方法与其他的开发方法在原理和过程上是相同的,这就保证了实践教学的完整型和全面性,学生将来即使采用其他的开发方法也不会出现障碍。这些年,敏捷开发方法被很多软件开发公司广泛使用,掌握了敏捷开发方法,有利于学生毕业后求职和快速胜任工作。敏捷软件开发方法包含了5个价值观和一系列的原则。但是在实践教学中不是所有内容的都要采用,需要进行剪裁,找到适合的开发模式。有些理论和经验对于处在学习阶段的学生并不适用,只有在工作中经过一段时间的锻炼,才能够真正体会。学生阶段,主要就是让学生掌握理论、方法和技术,同时培养学生的沟通、简单、反馈、勇气和谦逊的价值观。要注意的是:采用敏捷开发方法,表1中列出实践内容的各个阶段并不是严格区分的,存在循环迭代。
(三)分阶段性答辩作为主要考核方式为了严格保证质量,一般工程项目都会进行阶段性验收。由于软件项目的分析与设计需要进行阶段评审,在实践教学中,采用分阶段答辩就是一个合适的考核方式。在项目开发的每个阶段都让学生对本组的设计成果进行介绍讲解,同时回答教师和其他小组同学的提问,这与毕业设计答辩在形式上相似。采用分阶段答辩可以及时纠正学生在设计过程中出现错误和偏差,避免问题的积累和扩大。学生的最后成绩主要是根据平时表现、答辩表现、提问情况和团队分数四个方面进行综合打分。不同阶段答辩的同学不能相同,这就要求组内所有的同学都要共同努力,只有团队取得较高分数才能保证个人的成绩。分阶段的项目答辩不但能检查项目的进展情况,而且能为更多的学生提供展示自我的机会,提高学生的表达能力和反应能力,培养了学生的自信心,也为将来的毕业答辩打下良好的基础。在此过程中,不仅要看学生设计的结果和解决方案正确与否,还要看学生是否认真地思考了问题。因为一个软件项目常有多种解决方案,看学生是沿用以前的方案,还是经过思考采用新的方案。即使新的方案有缺点和不足,也会给出较好的成绩,鼓励学生去思考创新。
三、改革成效
通过将改革后三个学年的学生学习情况与改革前的情况进行对比研究,发现两种培养模式在期末考试中客观题的解答上相差不大,但是主观题目的解答上,改革后的学生分数明显提高。许多学生在经历改革实践后发生很大变化,从被动学习到主动学习,从不愿在同学面前讲话到积极表达自己的看法,学生对软件工程产生了浓厚的兴趣,能够深入思考和创新。教师与学生之间的沟通也大大增加。从毕业生求职的情况来看,教学改革后毕业生在面试环节获得的评价很好,签约率也明显提高。改革后的第一届毕业生就取得很好的成绩,2011年国内某知名企业在吉林省招收了计算机专业6名学生,其中4名为其他院校的研究生,2名为我院的本科学生,公司报到后被安排在研发部门工作。
四、结语
本文为教研项目“基于敏捷开发方法的软件工程实践教学的改革与研究”的研究成果,在软件开发方法采用敏捷开发的基础上,又研究出了分散式实践教学的课程设置方式和分阶段答辩的考核方式,其中首次采用的分散式实践教学方式,在软件工程课程实践教学中实现了创新,并取得了良好的效果。通过改革和研究有效地解决了软件工程实践教学中的难题,实现了计算机软件开发应用型人才的培养目标。
作者:李天宇 张东辉 张秀坤 张素莉 赵洁红 单位:长春工程学院计算机技术与工程学院
(五)
一、借鉴国外优秀课程及教材
教材应该是领域内高水平、权威的、英语地区受欢迎的优秀教材,同时也是我们国内公开出版发行的书籍。授课教师最好接受过该课程的培训。软件工程课程借鉴了美国卡耐基梅隆大学(该大学在软件工程领域的研究与教学拥有全球公认的权威)软件专业的SSD9SoftwareEngineering课程,笔者还接受了该大学教授的课程培训,这为该课程多年来的双语教学和全英文授课都打下了良好的基础。软件工程课程借鉴了SSD9课程的教学内容、模式以及教材。该教材为软件工程权威专家StephenR•Schach所著,随着软件工程领域的发展,10年来,该教材多次版本升级,从StructuredandObject-OrientedSoftwareEngineering,到Object-OrientedandStructuredSoftwareEngineering(5th~8th版),直到最新版的Object-OrientedSoftwareEngi-neering。这样保证了我们所选教材的权威性和前沿性,做到了教学内容与国际先进技术接轨。
二、全英文教学资料
全英文教学的课堂资料主要包括英文课件PPT、英文案例描述、英文实验报告文档等。这样能够保证学生耳中所听到的和眼中所看到的课件相一致,保持课堂上纯正的英文氛围和英文思维的惯性。同时,这些资料应该与英文原版教材一脉相承,以保证学生在课后学习时能够获得纯英文学习资料,以避免学生在英文资料和中文资料之间的苦苦对照。软件工程是一个很宽广的学科领域,其中的很多术语在英文有唯一的、明确的含义。但是翻译成中文就会有多种译法,有些资料甚至有翻译错误,这反而给学生造成概念上的混淆,造成不必要的学习困难。所以确定英语作为课程学习语言,从全局来看反而更加有利于专业知识的学习。
三、授课教师的英语能力
全英文教学采用英文教材以及大量的英文资料,同时课堂上的授课语言为100%英文,这就要求授课教师有很好的英语能力,尤其是英语口语能力,这是开展全英文授课首要的硬件条件。授课教师要能够充分、深入地理解教材及各种教学资料的内容,同时,要能够在课堂上用流畅、准确、简单易懂的英语口语进行讲解。只有授课教师的英语水平达到相当程度,才能营造出良好的英语氛围,使学生能够沉浸在英语思维和学习中。通常在英语地区工作学习过的教师才能够达到这种英语能力。教师仅仅具有良好的英语水平还不够,还要对课程教学有相当的经验,只有这样才能够随时根据课堂学生的状态和接受的程度,来灵活掌控授课的节奏、重点、讲解方式、师生互动,这样才能最大程度地达到良好的教学效果。笔者除了有扎实的英语基础(取得过优异的TOEFL和GRE成绩),还有3年多英语国家的学习和工作经历,并且有10年的双语教学经历,这都为该课程全英文教学的顺利开展打下了坚实的基础。
四、组建英文授课班
近年来我国的英语教育从小学,甚至从学龄前就开始抓起,所以学生的整体英语水平较前几年确实有相当程度的提高。但是不可否认的是英语教育还存在地区和个体差异,所以一下子要求所有的学生接受和适应全英文教学不太现实。应该先从一部分学生做起,以点带面,逐步拓展到更多学生,乃至于其他课程,逐步形成全英文授课的大气候大环境。笔者的做法是组建全英文授课班:首先学生自愿报名,然后教师结合每名学生的英语能力、专业能力等综合情况组建一个全英文授课班。第一届全英文班有30名学生,初步尝试取得了很好的效果;第二年就有了更多的学生报名,经过双向选择最终确定为90名学生的规模。
五、课前预习
英语水平达到一定程度后,学生在专业课程全英文教学过程中所遇到的困难大部分集中于专业词汇上。如学生在聆听老师的英文讲授时会因为一两个听不懂、且多次出现的专业词汇,而产生越来越大的困惑和压力,进而使自信心和热情受到打击。如果授课教师在课前把下次课中可能要涉及的重点专业词汇和出现频率高的词汇布置给学生进行预习,就会大大提高课堂的学习效果。如在软件工程课程中经常出现词汇client,在软件专业的其他专业课程中client可能会是指“客户端”“客户机”等,而在该课程中频繁出现时都是指软件系统的“客户”。所以如果没有预习,学生就会对老师的授课内容产生误解和困惑。实践证明,课前预习有非常积极的作用。
六、课堂互动
为了使学生更好地融入到全英文的课堂学习中,一定要加强课堂上的师生互动,这样才能使学生能够紧紧地跟上教师的思路和节奏,达到最好的学习效果。要增加互动的形式,使互动更加灵活、没有压力感,使学生能够积极、愉快地参与,甚至主动发起课堂互动,从而真正融入到课堂教学中。笔者在软件工程课程的每一堂课,都至少有两个互动环节,其互动题目通常选取一个以某些先修课为基础的、学生以前遇到过的、感到困惑的,并且与本堂课的授课内容密切相关的问题。这样很容易引起学生的兴趣和参与,加以教师的适当引导,最终结合到每堂课的知识点上,从而达到理想的教学效果。
七、对学生的考核
对学生的考核是结果式考核和过程式考核相结合,并且均为全英文。结果式考核即传统的期末考试。笔者用2年多时间建设和完善了全英文版的在线题库和考试系统,学生在指定的时间内,在可监控的空间范围内(学校的机房),登录该在线考试系统进行机试,实现了考试的先进性和准确性。过程式考核包括实验情况和课堂表现(主要指课堂上积极与老师用英语交互)。软件工程课程有较强的实践性,所以实验教学占到24学时(课程总学时64学时,其中理论教学40学时)。实验开始前,要求学生每3~5人自愿组成一个实验小组,在老师的指导下选择感兴趣的、难度和规模适中的题目,以保证学生愿意投入、能够调研和完成,例如学生宿舍管理系统、网上订餐系统、校园一卡通系统等;题目确定后,要求学生以小组为单位运用课堂所学方法和技术,完成本组课题的实验报告,包括需求调研、需求文档、用多种UML图表达的分析和设计方案。这些文档均要求完全用英文完成。最终的实验成绩包括文档成绩和答辩成绩。文档成绩以实验报告的质与量来评分。答辩成绩以小组为单位的自述和答辩的形式来考核,要求学生在给定时间内(约10分钟)运用全英文的PPT、WORD文档和图片等各种形式,最大限度地展示本组的工作成果,用全英文作自述和回答老师用英语提出的问题(约8~10分钟)。对全英文验收答辩,学生一开始是很害怕的,但是有扎实的实验成果做后盾,加上全组同学的认真准备,最终绝大多数小组都能够作出较为精彩的英文答辩;而且有的小组的每一个成员都参与了英文自述和答辩,表现出极大的参与热情和自信。课程实验的整体验收情况很理想,老师给学生的答辩都作了现场录像,因为这对于学生来说是第一次全英文实验和答辩,笔者把答辩视频录像copy给学生留作纪念,学生们都很开心和自豪。
八、立体化课程资源建设
为了方便学生的课后学习,非常有必要对课程资源进行全英文的、立体化的建设,以此作为一个重要的教学资源和手段。课程资源应该做成web版,放到公共服务器上,以便广大软件专业的学生以及业内人员进行软件工程课程的学习和专业参考等。笔者将课程内容分为若干知识模块,每个知识模块的教学资源包括学习目标、学习指南、知识内容、练习、实践、作业、测验、案例、常见问题和知识结构;各个知识模块再向下分解为若干知识点,每个知识点的教学资源包括教学视频录像及其内容、练习、测验、案例、资源下载和扩展学习。同时还提供课程简介、教学团队简介、教学大纲、实验大纲、实验指导书、实验报告模板、往届学生实验报告样本、学生实验答辩录像等资源。
九、结语
软件工程课程的全英文教学在东北大学软件学院取得了很好的教学效果。超过95%的学生认可全英文教学,坦承参加全英文授课班有很大的收获,既学习到了最新的专业知识,又学习到了实实在在的专业英语,对自己成长为国际化的软件人才有很大的帮助。学生逐渐体会到英文软件专业书籍和资料的精妙之处,表示以后不会再回避和抵触英文专业资料,并且希望学院能够扩大全英文教学的范围。综上所述,在软件工程专业课程上进行全英文教学是可行的,能够带来理想的教学效果。
作者:张爽 朱志良 于瑞云 单位:辽宁沈阳东北大学软件学院
(六)
一、评价模式
人才培养实质就是知识、能力、素质的培养,通过传授知识,培养能力,提升素质,知识是素质形成和提高的基础,素质的核心是知识和能力,素质的表现是通过性格和能力表现出来,因此素质评价需要包括性格、知识和能力。高校人才培养是一个长期的过程,学习知识,能力和素质的提升、性格的改变是一个循序渐进的过程,因此素质评价模式应该包括素质评价指标和素质评价过程两个部分,下面本文将论述软件工程专业的素质评价指标和评价过程。
1、评价指标
根据东北大学软件工程专业的人才培养目标、培养计划和培养模式,本文提出了软件工程专业的素质评价指标,该指标体系中总共分为三个部分性格指标、知识指标和能力指标。性格指标采用美国伊利诺州立大学卡特尔教授的研究成果,确定了影响人们心理的十六种人格因素,包括乐群性、聪慧性、稳定性、恃强性、兴奋性、有恒性、敢为性、敏感性、怀疑性、幻想性、世故性、忧虑性、实验性、独立性、自律性和紧张性,根据十六种人格因素,可以综合测评出学生的六项实际应用素质和其适合的工作类型。知识分为自然科学知识和社会科学知识,从人才培养的角度看,社会科学知识对素质的提升也具有很大的作用,所以在知识指标中从专业知识、人文知识和外语知识三个方面进行评价,每一种知识又从知识的深度和广度两方面进行评价,从而能够满足软件工程专业人才培养的要求。软件工程专业学生需要具备良好的沟通交流能力、分析与解决问题能力、工程实践能力、团队合作能力、文档写作能力、主动获取知识能力、组织协调与项目管理能力、创新能力和外语能力,所以能力指标是对以上九种能力进行评价。
2、评价过程大学生在四年中通过课堂和课外学习知识,培养能力,提升素质,能力和素质的培养都是循序渐进的,评价的目的是为了下一步的培养,所以评价过程是一个渐进分步的过程。在本评价模式中评价过程有五个关键点,第一是在学生刚进入大学进行评价,评价的主要指标是性格特征,分析其应用素质,为其制定学习和改进目标。第二是在大一学习结束,根据其学习结果,对其进行知识、能力和性格指标评价,然后对学生进行评价结果反馈,找到下一年的培养目标和改进目标。第三、第四、第五分别在大二、大三、大四学习结束时进行,评价内容也是根据学习结果对知识和能力指标进行评价,同时评价性格指标。每一次评价结束,都会为下一阶段的学习和培养提出明确的要求。在本评价模式中,对性格指标的评价采用卡特尔评价法。对知识指标的评价是依据学生在课堂内外的学习结果进行评价,学生在获得每项学习成果时,由教师指定每项成果考核学生某类知识所占的比重是多少,学生在每项学习成果中获得的每项知识指标值就是学习成果乘以它所占的比重,学生每项知识指标值是他所有学习成果在每项知识指标值得总和。能力指标值也是根据学生的学习成果得到,由教师指定该项学习成果对九项能力指标贡献比重是多少,通过每项学习成果乘以比重,就是该学生在该项学习成果中得到的对应的九项能力指标值,而学生每项能力指标值是他所有学习成果对每项能力指标值得贡献值之和。
3、实践分析
依据上述评价模式,应用软件学院知识能力素质评价系统对软件2011级的79名同学进行跟踪评价。2012年3月测评每位学生的性格特征,分析他们的应用素质和适合的工作类型,同时根据他们已经完成的一个学期的学习情况进行知识评价和能力评价,分析他们的优势和劣势。然后根据每位同学的意愿,将他们分成文体兴趣小组、学习小组、创新创业小组进行分组学习。经过一年的学习,在2013年1月对他们进行性格、知识和能力再评价,从评价结果看,学生的性格变化不大,知识指标提升最快,学生的学习成绩比同年级的其他学生明显高,奖学金、各类大赛得奖率高。能力指标体现的是每个人有强项有弱项,但个体表现是强项更强,弱项有点变弱,总体能力在提升。
二、结束语
评价具有导向作用和激励作用,因此在实施素质教育时其关键环节就是评价,本文根据软件工程专业的培养目标和方案,提出了一个素质评价模式,应用该模式可以更好地了解学生,发现学生的不足,了解学生的特长,从而更有针对性地指导学生参与科研、学习活动,指导他们扬长避短,确定自己未来的发展方向。当然该模式的应用时间还比较短,究竟是否适合软件工程专业的素质评价和人才培养还需要时间的检验,下一步我们将继续跟踪学生的成长和培养状况,再继续修订该模式。
作者:黄利萍 韩春燕 姜琳颖 刘益先 单位:辽宁沈阳东北大学软件学院