欧阳秀军
摘 要:介绍软件工程这门课程的内容特点,结合软件工程教学的现状及培养目标,对该课程的教学内容、教学模式、教学方法、考核方式等提出相应的措施。
关键词:软件工程;教学方法;课程设计
中图分类号:TP311.5
软件工程是为了解决“软件危机”的困扰应运而生的一门工程性学科,它指导着软件开发人员以工程化的手段规范地开发高质量的软件。软件工程课程的教学强调理论与实践相结合,要求教师利用实际项目及实践教学环节对软件工程的核心理论进行深入的讲解。
一、软件工程的教学内容体系
传统的软件工程的教学围绕软件开发生命周期各个阶段展开,主要包括可行性研究、需求分析、概要设计、详细设计、编码、软件测试及软件维护等内容。随着软件行业的不断发展,软件工程的内容已发生了很大的变化,该课程的教学内容必须及时更新,才能保证教学内容的先进性。现在的软件工程教学内容中,增加了面向对象的开发方法、UML统一建模语言、软件体系结构、软件度量、软件复用及构件工程等知识。在讲授软件工程知识体系和基本原理的同时,我们向学生介绍CMM(Capability Maturity Model for Software,能力成熟度模型)以及ISO9000等国际标准。布置学生课后了解敏捷开发、软件复用、构件接口等新技术。为了保证软件的质量,软件工程领域中项目管理这一部分也越来越受到重视。在CMM指导之下的软件开发的过程管理方法越来越科学,软件质量和开发过
程的评估体系也逐渐完善。学生应该了解这些新的理论、方法和
技术。
二、软件工程的教学模式
软件学院和常规的计算机专业在软件工程课程的教学模式上存在较大的区别。软件工程课程教学模式一般有纯英文教学或双语教学。常规的计算机专业在软件工程上采用纯英文教学的目前极少,但有不少采用双语教学。双语教学对于软件工程这样的计算机专业课程来说是十分必要的。双语教学有助于学生阅读国际软件工程权威们召开的研讨会报告原文,了解软件工程技术的发展趋势。双语教学过程中需要把握好几个问题:(1)授课者应综合考虑学生的英语水平,把握好教学过程中使用英文的比例;(2)需要选择合适的教材,软件学院基本选择国外软件工程专家专著类英
文原版教材,如,Roger Pressman的经典教材:《软件工程·实践者之
路》(第六版)(影印版,清华大学出版社);(3)毕竟学生的水平参差不齐,而且有别于传统的中文授课方式。教师课后要及时了解学生对课堂教学的反映,收集学生的反馈意见并调整教学方法,重视并做好课后辅导和答疑工作。
三、软件工程教学方法
软件工程教学的目标是培养学生的创新意识和解决实际问题的能力。为了实现教学目标,提高教学质量,我们可采用以下行之有效的教学方法。
1.理论与实践相结合
软件工程课程的理论性与实践性都很强。教师课堂上利用多媒体讲解理论知识中的重、难点,学生通过网上课件浏览、自行查阅资料等方式学习其余内容。没有扎实的理论做指导,在今后很难成为一个有创新思想的人才。当然,要很好地理解软件工程的理论知识体系是离不开实践教学的,在教学过程中,可设计一个贯穿整个教学过程的、完整的、易于理解的、实际的软件项目案例,在教学中结合该案例讲授每个知识点。该案例最好来源于授课教师参与过的项目,授课教师对项目的整个开发过程比较了解。讲解项目的每个知识点后,再布置一些让学生做的案例,学生在做的过程中能加深他们对理论知识的理解。这样可以激发学生的学习热情,培养学生分析问题、解决问题的能力,训练学生从事科学研究的基本技能和素养。
2.在教学中充分运用“反思性实践”
“反思性实践”注重学习中人的因素,采用反思思维方式可以提高学生自主学习的能力。美国教育家DonaldSchon在他的《反思性实践者》中指出,作为一个实践者,要不断地在行动中对行动进行反思,并不断地从自己的实践中学习。在学生的课程设计或实际的软件开发过程中,学生从软件系统的开发开始,反思自己和他人如何开发和使用算法。然后,再进一步反思与开发和各步骤相关的策略、规则和理论等。教师也可以将自己在课堂上的体验、教学心得、教学方法和教学过程的反思以随笔的形式记录在自己的博客上,学生通过阅读,将这些言传性知识内化为个人的实际能力。同时通过阅读,可以进行经验交流。在不断的自我反思和不停的相互追问中,教师可以不断地丰富和完善自我。
3.注重课程设计
在课程设计中布置大型项目,将学生划分为6~10人的小组,每个小组就是一个团队,团队成员分工合作,分别担任项目经理、客户、系统分析员、程序员和测试人员等角色,小组成员角色可以互换,让每个学生都能体验不同阶段的任务。教师、助教可以扮演用户的角色,帮助学生提高在需求分析中的谈判与沟通技巧。最后,学生分组上台,讲述本组对项目的理解、分析、论证和决策过程。教师和学生可以进行提问,对每个小组的工作进行指导和提出意见。通过合作和交流,学生间不仅能实现信息与资源的共享、整合,拓展并完善自己,还可以从中学会交往、学会倾听、学会尊重、学会合作、学会负责。经过课程设计,学生的创造性、应用能力、综合能力和团队合作能力以及与人沟通交流的能力都得到充分的锻炼和
发展。
四、构建多元化教学辅助平台
1.建立网络学习平台
可以设立软件工程学习网站,教师在网站上公布教学课件、课程进度、作业和实验要求等内容,并且将要补充介绍的一些先进技术放在网上供学生自行阅读,拓展学生的知识面。学生可以通过网络交流学习经验,随时和教师在网上进行交流和答疑。
2.加强实验室建设
实验室是软件工程课程实践环节的主要场所,软件工程的课
程设计要求实验室配备合适的硬件设施和软件工程工具软件,以便为教学研究和学生实践创造必要的环境和条件。
3.加强校企合作,建立实习基地
学校应该与管理规范的软件企业建立长期的实习合作伙伴关系,及时了解行业发展动态,并且经常请企业里有丰富开发经验的软件工程师为学生作软件工程技术和管理规范方面的专题报告。学生能够及时了解软件开发的实际问题、行业现状以及发展趋势,确定自己今后的专业研究方向。更为重要的是,让企业成为学生的实习基地,使学生就业时具有明显的竞争优势。
五、综合考评方式
软件工程课程的考试方式要注重学生综合知识和应用能力方面的考核,期末理论考试不是考核的重点,应该采用结构合理的考核方式,为此,我们建立了一个由课堂表现、课后作业、课程设计、期末笔试组成的综合评价学生的考核体系。我们的考核方案为:作业、课堂表现占20%,课程设计(小组为单位)占40%,笔试占40%。
计算机领域的发展日新月异,教师一定要不断提高自己的理论水平和科研水平,密切注意软件工程技术的发展趋势,根据软件行业需求的变化更新教学内容,设计合理的教学模式,采用有效的教学方法,为学生搭建良好的教学平台。培养学生的综合应用能
力,造就具有国际市场竞争力和软件行业急需的实用性人才。
参考文献:
[1]沈备军,宋超.反思和抽象在“软件工程中人的因素”课程学习中的应用[J].计算机教育,2006(1):52-56.
[2]肖春景,乔永卫.软件工程课程教学探讨[J].高教论坛,2007(2):133-135.
[3]林怀忠,杨小虎,陈越.软件学院中“软件工程基础”课程教学改革的探索与实践[J].计算机教育,2007(4):34-36.
[4]张海藩.软件工程[M].北京:人民邮电出版社,2002.
(作者单位 江西省吉安市井冈山大学电子与信息
工程学院)
编辑 韩 晓endprint