软件工程技术探索
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程技术探索
【摘要】本文基于软件工程课程群建设,通过使用多线程教学模式,完成对课程教学时数的优化。在该优化学时的基础上,对“软件工程”专业课程群的教学方法做了深入的研究。本文有助于专业课程教学大纲的编写,也有助于每门课程教学进度表的安排。
【关键词】软件工程教学方法课程群
在“软件工程”专业课程群建设中,有些课程的教学内容出现重复不仅是不可避免的,而且根据某些教学规律的要求来说是必要的。比如:在计算机导论这门课程中讲过一些有关计算机原理、操作系统和数据库等方面的知识,在日后的相关课程中还要讲到,从教学规律上来讲,这样做是必要的。但是,从课程群观念上来讲,就需要我们从教学方法上对这些在不同课程中的重复知识点上做到各有侧重,以尽可能的减少教学资源的浪费。
1软件工程课程群课程内容分析
考虑课程之间的关系和内在联系,尤其是对重复系数较大的章节要减少对重复内容的讲述,例如:在“计算机科学导论”中对数据处理的各个阶段、实体之间的对应关系、数据库的体系结构等知识点描述的较为详细,所以在后继的“数据库原理”课程中就可以不做重点,将课时调整给实用性较高那些知识点,以保证获得更好的教学质量。
在“软件工程”课程中,有许多和其他课程交叉的内容。例如:“软件工程”的总体思想和“信息系统分析与设计”课程较为类似;“软件工程”中的统一建模语言与“UML基础与ROSE建模”课程也有重复之处;“软件工程”中的软件测试部分的内容在“软件测试”课程中也有详细的论述。
2以“软件工程”课程为核心的课程簇教学方法
首先,对课程簇定义如下:在课程群中,教学内容紧密相关又互相交叉,开课时间又十分接近的一组课程称为课程簇。
课程内容的重复,在许多学科都是存在的。软件工程专业以“软件工程”课程为核心的课程簇所依赖的知识框架是以网状结构而相互关联的,如图1所示:
分析上面的课程,应当重视交叉知识点的整理,可以考虑以“软件工程”课程为核心,以软件开发过程为主线的课程簇教学方法。
2.1并发开课、多线程教学模式
同一课程簇的课程尽量安排在同一个学期开课,课程簇中的各门课程的基本
理论部分还是要在各自的教学结构中讲解,在讲到相互重叠的知识点时,应该以包涵知识量较多的课程为主要讲解科目,包涵知识量较少科目主要是引用其结论和结果。这就像程序设计中的多线程结构一样,加快了速度,提高了教学质量,同时也节约了大量的教学资源。例如:“软件工程”课程中,在系统建模时用到统一建模语言,就可以使用“UML与ROSE”课程中的结果。“软件工程”课程中,在讲到软件测试时,就可以直接使用“软件测试”中讲过的内容,以“软件工程”课程为核心的课程簇的学期活动图如图2所示。如果时间上能够保持同步,就可以减少重复内容的讲解,节约教学资源,提高教学水平。如果在某些课程簇中各门课程的教学进度确实很难达到同步的话,就应以哪一科先讲到共同的知识点就以哪一科为主的原则。
我们都知道,软件工程专业发展的很快,每年都有许多新的知识点出现,要想将这些新知识纳入到软件工程专业的教学体系中也绝非易事。首先,每个学校的专业人才培养方案的总学时都是固定的,而在总学时中,教育部所规定的必修课的学时是不能减少的,这样留给我们在学时上的调整空间就非常少,如果利用上述的并发开课、多线程教学模式,就可以挤出较多的课时用来增加新的知识点教学。
2.2小课实验与大课演示相结合
“软件工程”专业课程群中的各门课程都有较多的实验内容,这些内容不仅仅在上小课时领着学生动手实验,而且在上大课时某些内容也必须当时就给学生演示,否则,就不能将问题讲的很清楚。那么,哪些实验在大课上做,哪些实验在小课上做,一定要科学划分。在大课上应该只做哪些与基本理论密切相关的实验,并且,这些实验内容应该在电子课件中事先写好,在讲解时,先讲解实验内容,然后复制运行就可以了,因为任何一个优秀的程序员,也不敢保证自己打入的程序不会发生错误。这样,不仅能够保证在演示时不会出错,又节约了上大课时的宝贵时间。而在小课上所做的实验内容,在给学生演示时则应该尽量现场手工输入,这样能够让学生看清楚解决问题的每一个详细步骤,即便是在现场输入时出现了错误,再修改错误对于指导学生调试程序也是非常有益的。因为,学生不但从中了解到操作中容易出错的地方,还能够掌握解决问题的方法。在安排教师的课表时,应该将同一个班级的实验课和理论课安排让同一个老师来讲授,这样可以保证理论课和实践课之间的每一个细微的环节不脱节。在同一个课程群中,如果可能的话后继课程应经常引用一些前期课程中的知识点,使得整个课程群融为一体。
3加强实践教学,提高学生动手能力
在“软件工程”专业课程群中的各门课程,他们的实践性都比较强,在4个学分的课程中我们理论和实践的学时比例大多是2:2,在上理论课时与基本理论相关的例题,我们要求老师要100%讲解并演示。在上小课时,要求教师要加强学生的独立操作能力,要增加实验课中的测试环节,对于交给学生的每一项任务,允许学生互相请教,但是绝对不允许相互抄袭,在可能的情况下,将学生的个人信息或者在实验室的座位号作为任务的输入参数,这样每个学生对于完成任务的
解决方案也会不同,结果也会不同,这就避免了学生的抄袭行为,同时会使教学质量有所提高。
在“软件工程”课程的教学中,我们做到大课与小课相结合的方式,大课与小课的学时比例是2:2。在小课中根据大课讲到的理论知识和内容顺序,让学生组成若干个开发小组,每个小组本学期内完成一个相互独立的设计项目。模拟在企业中开发软件的环境,每个学生在开发团队中扮演不同的角色,在锻炼学生的动手能力的同时,也培养了学生的协作能力。
“软件工程”专业课程群中的各门课程都有非常紧密的联系,例如:从《程序设计》到《数据结构》,从《数据库原理》到《软件工程》,它们之间的衔接是非常重要的。所以,我们将“软件工程”专业课程群中涉及到得教师分成了几个教师群,在教师群中尽量做到老、中、青相结合,使得在教师群中既有丰富的教学经验,又有新鲜的、活跃的新思维。教师群中的成员要相对固定,以确保相关课程之间的衔接通畅。
4结语
在当今知识爆炸的年代,各种新知识增加的数量之大,速度之快,是前所未有的,尤以IT行业为更甚。作为大学本科教育,要跟上社会的发展就要在教学中不断增加新的知识点,而本科教育的总学时不增加,这就要求我们改进教学方法,向教学改革要时间,通过使用上述的并发开课、多线程教学的教学模式,可以让学生在有限的学时中学习到更多的新知识,以满足社会发展的需要。通过使用上述的加强实践教学,提高学生动手能力的教学方法,就可以使学生在参加工作后尽快地融入到企业的软件开发团队之中。
参考文献:
[1]Pressman R.S.Software Engineering:a practioner’s approach. Six edition.McGraw Hill,2004.
[2]Shari Lawrence Pfleeger.Software Engineering:Theory and Practice.2nd edition.Prentice Hall,2001.
[3]鲍里奇(美).有效教学方法[M].南京:江苏教育出版社,2002.12.
[4]郑金州.教学方法应用指导[M].上海:华东师范大学出版社,2006.8.
[5]郑山红.软件工程课程群建设[J].职业技术教育,2006,26:23-24.
[6]钱乐秋.软件工程课程群设计[J].计算机教育,2007,10:5-7.
[7]范守信.试析高校课程群建设[J].扬州大学学报,2003年9月.