现代软件工程教学初探.docx

上传人:老** 文档编号:92135440 上传时间:2023-05-30 格式:DOCX 页数:7 大小:17.11KB
返回 下载 相关 举报
现代软件工程教学初探.docx_第1页
第1页 / 共7页
现代软件工程教学初探.docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《现代软件工程教学初探.docx》由会员分享,可在线阅读,更多相关《现代软件工程教学初探.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 现代软件工程教学初探 1软件工程教育的几点对策 1.1建立良好的师生关系 良好的师生关系是构建和谐教学环境的必要条件。教师在这方面应起主导作用。现阶段,高校的学生已经普遍是90后,他们朝气蓬勃、共性鲜亮、思维独立,做事目的性特别强,有时学习显得功利。教师应当把握学生的特点,循循善诱、启发引导,注意构建教师与学生之间的桥梁。现阶段通讯兴旺,网络媒介特别兴旺,沟通渠道相当丰富,如Email、电话、短信、博客、微博等,多数学校还建立了网络课程。每个教师应当抓住主动性,主导师生之间沟通沟通的渠道,适时抛出争论话题,对学生的信息准时反应,构建公平的师生关系,通过沟通拉近师生之间的距离。 1.2基于“爬

2、山模型”的学习模式 前面分析了软件工程教学中存在的问题之一,即现阶段流行的根据“瀑布模型”阶段驱动教学法存在着明显的缺陷。建议根据软件工程师从学校走向软件企业所经受的过程来改革软件工程课程的理论教学与实践教学的培育流程。不妨按如下流程开展课程教学: (1)首先维护一些已有的软件。这些软件可以从上一届软件工程课程学生开发的软件中选取一些有代表性的软件。通过这个过程,学习软件维护的一些学问与方法。此外,学生们更能切身体会软件文档的重要性。 (2)学习测试软件,并尝试调试修复软件Bug。通过这个过程学习软件测试的一些方法与技术,如黑盒测试、白盒测试。同时,学生们能够学习软件错误定位、Bug的修复方法

3、。 (3)负责重写其中的一个小的软件模块。理解软件工程逆向工程,理解软件实现时需要遵循的原则。 (4)设计一个较大的模块。尝试编写设计文档,可以采纳UML建模,理解设计原则,并在实践中应用这些原则。 (5)开展需求分析。这时教师可以扮演用户的角色,与学生一道模拟需求分析过程。通过上述改良流程,将理论教学融合到真实的工程开发的与维护的过程当中,并且整个流程与软件工程师的成长过程全都,与瀑布模型的一泻千里相反,我们不妨称该模型为“爬山模型”。从山底(详细软件)开头,一级级登上山顶(用户需求),通过整个过程的训练学习,领悟软件工程之本质,到达一览众山小之目的。 1.3鼓舞自主学习 在学习的过程中,以

4、学生为主体,教师加以引导,鼓舞学生自我学习、自我治理。详细做法如下: (1)学生可以自由选择团队成员,内部民主评价团队成员的奉献。 (2)工程开发的编程语言、采纳算法、软件界面等由团队确定,指导教师可以指导,但不干预。 (3)学生可以自由选择感兴趣的工程。 (4)允许工程开发失败,学生可以通过其他途径,如帮助其他小组测试、编写文档等猎取相应的学分。 1.4构建科学的学习评价体系 课程学习评价是对学生学习成果的确定,科学的评价体系有助提高和保持学生学习的热忱。在教学过程中,留意做到如下几点: (1)准时反应作业状况。批阅每次作业,并公布学生的得分状况以及学生下一步需要做的工作。实现末位淘汰制,每

5、次将得分排名末位10%的学生划分到不及格档,迟交作业或不交作业扣分。 (2)客观评价学习成果。充分借助计算机网络的优势,将竞技竞赛引入学习,鼓舞学生之间绽开学习竞赛,竞赛程序速度、算法效率、测试用例数量、查找Bug速度与数量等。有条件开展网络课程的院校,可以将课程上传到网络,开设争论版,每个学生都可以共享自己的心得、观点,让其他学生评价打分。这一系列措施避开了由教师打分造成的主观偏差,可以对每个学生的学习给出相对客观、公正的评价得分。 1.5开发工具作桥梁,跨越理论和实践鸿沟 现有的软件工程教材侧重于总结理论,将软件开发理论抽象为一些大而空的原则、名词定义、学问点、关键步骤(KPA)等。教师盼

6、望学生记住这些学问,往往通过闭卷考试的方式检查学生。以考察记忆力方式代替理解把握学问点并不科学。计算机科学的进展过程中产生了大量的帮助软件工程工具。这些工具本身就是软件产品,表达了软件工程的思想,实践着软件工程的理论。以这些工具软件作为桥梁,可以让学生切身体会到教材中的软件开发思想在实践中的应用,使抽象的理论在实践中得到应用,而学生也能从中体会到理论的精华、实践的要义。例如,在学习单元测试时,可以利用Junit、gcov、CodeCoverage等工具理解单元测试中的分支掩盖、程序断言等概念和方法。在学习软件设计时,可以利用Rose、UMLModeler等工具理解软件设计中的模块化、信息隐藏、

7、封转、耦合与内聚等概念。此外,教师可以指定必读的经典参考书目,如浪潮之巅数字化生存人月神话人件软件工程实践者指南等优秀图书。通过广泛地阅读,深入争论IT界发生的重大大事,学习IT界的阅历与教训,探讨工程教育中的“学与习”等挑战性的问题。 2软件工程课程实践环节组织 软件工程课程实践性很强,学习过程中需要安排大量的实践环节任务。没有实践,再完备的概念定义,都是一句空话,学生难以真正理解把握。带课教师在安排和指导学生工程实践时要留意以下3点。 2.1贴近实战 学生都想做些有意义而非凭空臆想出来的工程。教师在安排实践工程时,要尽可能来源于现实生活,贴近学生的生活背景,最好是能满意学生的某些需求。例如

8、,南京大学软件学院学生开发了能用于学生选课的“超级课程表”。充分利用历史软件(LegacySoftware),一般软件工程实践工程都是学生从零开头编写软件的1.0版本,但是,IT行业能大多数软件都是历史软件进展而来的。不接触这些历史软件,如何学习软件工程的各项原理和实践呢?猎取这些历史软件,有以下途径: (1)各大开源网站下载开源软件。目前,软件开源势头进展强劲,消失了许多开源网站,如SIR、SourceForge、GoogleCode等,这些网站多数能供应各类软件的历史版本,可以鼓舞学生以这些开源软件作为讨论对象,在其上进展二次开发。 (2)把历届学生完成的工程用版本掌握软件治理起来,这样下

9、一届学生可以在以前版本的根底上连续开发。在工程的Alpha和Beta开发阶段,可以让小组的学生轮换到另一组。这样,学生们更能深刻体会沟通的意义、文档的重要性,把握如何理解他人程序、如何做回归测试、如何调试程序等软件工程任务。 2.2工程进度管控 学生的学习过程用什么驱动呢?大致可以分为以下几类:对教师的无条件听从;对软件技术的狂热;交作业的期限。我们调研发觉,绝大多数学生的学习动因是出于第条缘由,少局部学生是出于第条动机。而且,我们发觉,许多学生都是在交作业最终期限的前一晚通宵赶出来的,其作业的质量和学习效果可想而知。因此,我们建议在课程中设置若干检查点(CheckPoint),详细做法如下:

10、 (1)每个团队工程Alpha/Beta阶段完毕时要求公开工程成果,放在软件工程网络课程的博客,承受其他团队和带课教师的监视。这样有另外一个好处是,促进了其他团队的学习,有助于竞争学习气氛的营造。 (2)每个阶段的软件也要,供应下载,便利其他团队找出其中的缺乏之处,指导教师鼓舞这种“挑刺”行为,并对胜利的“挑刺”赐予嘉奖。 (3)每个阶段要开SCRUM会议,把每次的会议结果(每个程序昨天做了什么,今日准备做什么,存在的困难等)一一列举,并用软件工程的工程治理工具自动生成进度表。通过这些检查点的设置,避开了学生工作的拖延,也间接保证工程完成的质量。 2.3团队精神与个人特长发挥 软件开发过程布满

11、了智力活动,开发团队中力量强的学生往往挑大梁,做了相当多的工作。但是,带课教师很难客观区分团队内部成员所作的奉献大小,如何做到一方面鼓舞团队合作,另一方面也要避开局部学生在团队内部混学分的现象,到达既发挥能干学生的领头雁作用,又让团队中的“南郭先生”无法混迹呢?也可以尝试奖惩并举的措施,详细方法如下:依据团队完成工程状况,赐予肯定的嘉奖分,团队成员通过民主争论,根据每个成员的奉献大小安排这些嘉奖分,多劳多得,不劳不得。通过这种方式,可以让学生学习和体会到IT企业的绩效评估和团队治理方法,以及如何努力实现自己在团队中的价值。 3结语 软件工程课程教学不需要特殊的渠道,需要的是因地制宜的教学方法,“做中学”或“习与学”是辩证统一的整体,带课教师与学生双方的共同努力,是可以提升现阶段的软件工程教学效果的。 :鞠小林陈翔邵浩然单位:南通大学计算机科学与技术学院中国矿业大学计算机科学与技术学院

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁