软件工程课程教学
软件工程课程教学(精选8篇)
软件工程课程教学 第1篇
《软件工程课程设计》教学大纲
英文名称: Software Engineering Course Design
学分:3 适用专业:
参考学时:
3周
实验学时: 3周 070472 课程编码:
上机学时:
计算机科学与技术(专升本)
大纲执笔人:
一、课程目标
系(教研室)主任: 李震
《软件工程课程设计》是实践性教学环节之一,是《软件工程》课程的辅助教学课程。通过课程设计,使学生掌握软件工程的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本过程,将理论与实际相结合,应用现有的CASE工具和软件开发文档规范,完成一个基于数据库的应用系统(DBAS)的设计与实现,把理论课与实验课所学内容进行综合,并在此基础上强化学生的实践意识、提高学生的综合运用能力和创新能力。
通过本课程学习,使学生掌握软件开发的基本概念、软件开发技术和流程;独立完成所有程序、文档的编写和调试工作;开发一套基于C/S或B/S结构的基于数据库的应用系统。形成数据库设计开发的基本能力;提高综合运用理论知识解决实际问题的能力。
二、基本要求
1、课程设计要求学生按项目分组进行,每个项目组由10人左右组成,可根据分组情况分别担任项目经理、技术经理、软件工程师、测试工程师、配置管理员、数据库管理员等角色。
2、在规定的时间内完成1个小型项目的计划、需求分析、设计、编码、测试和交付的全过程,要求按照软件企业的正规开发流程组织实施,并按照给定的文档规范标准撰写相关文档。
3、每组完成一个项目,题目可为学生信息管理系统、图书管理系统、在线考试系统、网上购物系统、超市管理系统等,也可自拟题目,但要经教师审核。
4、项目实训集中在机房进行,每天考勤,学生每天填写工作日志,每周进行周总结。
三、教学内容与学时分配建议
1、实训内容
(1)选题并制定项目开发计划
1天 由学生自愿或推荐选出项目经理,并成立项目小组,项目经理召集小组成员根据教师提供的题目进行选题,也可自由命题但要经教师审核通过。
针对所选项目讨论开发计划,明确项目的大小、范围、复杂度等,进行任务分解与任务分配,确定任务进度,确定完成项目的环境和工具,由项目经理完成《项目开发计划》。
(2)需求分析
2天
对系统的功能及性能需求进行分析,在项目组内答辩评审后,由任务承担人完成《需求规格说明书》。
(例如采用面型对象的方法进行需求分析,用Rational Rose工具进行UML建模。测试负责人组织书写测试用例。)
(4)概要设计
1天
在项目小组成员的配合下,任务承担人完成项目的初步设计任务,进行答辩评审后完成《概要设计说明书》。
(5)详细设计
3天
项目小组确定系统总体设计方案,建立软件系统的体系结构,并进行总体设计的答辩式评审,然后项目小组成员分工进行详细设计和界面设计,期间应建立数据库、表等,任务承担人完成《详细设计说明书》。
(6)编码及测试
7天
根据前期分析和设计工作进行代码的编写工作,要求给出详细的注释,包括:模块名,模块功能,中间过程的功能,变量说明等。
所有测试过程都要求采用综合测试策略;先作静态分析,再作动态测试。应事先制订《测试计划》,并要求保留所有测试用例,完成《测试分析报告》。
(7)项目交付、总结
1天
在全班范围内教师组织项目评审,项目经理完成项目开发总结报告。
2、提交内容
项目组按照软件工程文档模板要求提交以下文档的打印稿和电子稿:项目开发计划、需求规格说明书、概要设计说明书、详细设计说明书、编码清单(部分或全部)、测试计划、测试分析报告(部分任务)、项目开发中介报告。文档中必须注明完成者(签名)和完成日期。
每位同学要提交工作日志和周总结,需要项目经理签字。
项目经理提供本项目组的任务分工,及本项目组的成员工作评定,小组成员签字。
3、成绩评定 本次实训必须提交正式的针对特定项目的完整的设计文档和报告书。软件综合实训的成绩评定实行优秀、良好、中等、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。
四、教材及主要参考资料
[1] 史济民,顾春华,郑红.软件工程-原理、方法与应用[M].北京:高等教育出版社,2009.3.[2] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.2.[3] 肖瑞奇.Dreamweaver CS5制作网页[M].北京:人民邮电出版社,2010.7.[3] 吴晨,张亮,张静.ASP.NET+SQL server 数据库开发与实例[M].北京:清华大学出版社,2006.8.请根据项目情况,修改和补充其它参考资料。
软件工程课程教学 第2篇
《软件工程课程设计》教学大纲
英文名称
课程代码:
学分:1 分
执笔人:金霜 审定人:
一、前言
《软件工程课程设计》是一个综合的设计性实验,是在学习完核心课程《软件工程》后,对《软件工程》所学内容的一次综合运用;旨在使学生进一步掌握软件工程的方法和技术,树立团队合作精神,培养学生的自主学习能力和创造性的工程设计能力,提高综合分析和解决问题的能力。
二、教学大纲
1、目的要求
《软件工程》是一门理论性和实践性非常强的课程,学生仅仅通过课堂获取知识是远远不够的,必须加强实践教学,利用具有实际工程背景的软件设计题目,和软件工程设计工具(rose、viso),培养学生对软件系统的需求分析、系统分析、软件测试能力。初步掌握系统分析、系统设计、系统测试的方法,让学生掌握软件工程设计工具(rose、viso)使用方法。
2、主要内容
(1)项目可行研究
☆ 成立项目小组,六人一组,其中4名开发人员,2名测试人员,并选定项目组长一名。
☆ 项目组长召集小组成员选择设计项目
项目可由老师指定,也可以学生自选后报老师审核。
☆ 项目组长召集成员进行项目可行性研究,确定项目的大小、范围和复杂程度等。☆ 确定任务进度、分工和完成项目设计的工具。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《项目可行性研究》部分。(2)需求分析
☆ 根据项目的大小、范围和复杂程度等情况,由全体组员共同完成项目的需求分析,包括项目功能、项目运行环境、项目开发环境、项目角色等。
☆ 使用软件工程设计工具绘制项目总功能图、总用例图,并进行文字阐述。☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《需求分析》部分。(3)系统概要设计
☆ 项目组长根据需求分析,进行任务分工,由开发人员进行系统概要设计
☆ 开发人员根据自己所分的模块任务,对模块的功能和参与者进行详细阐述,使用软件工程设计工具,绘制模块用例图
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统概要设计》部分。
(4)系统详细设计
☆ 开发人员根据自己所分的模块的概要设计,进行详细设计
☆ 开发人员对自己所分模块的实现流程进行阐述,并使用软件工程设计工具,绘制类图、活动图(或者是状态图,二选一)。
☆ 组长绘制项目的ER图。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统详细设计》部分。
(5)系统测试计划
☆ 根据系统需求分析,由测试人员共同完成测试计划编写。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《测试计划》部分。(6)系统功能测试用例设计
☆ 组长根据测试需求分析,对测试人员进行任务分工。☆ 测试人员根据任务分工,绘制自己所分模块的实现顺序图。☆ 测试人员根据自己所绘制的顺序图,进行系统功能测试用例设计
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统功能测试用例设计》部分。
(7)答辩(根据进度可选)
☆ 将各部分文档进行整合,完成《软件工程课程设计报告》
☆ 制作PPT,答辩时间5分钟,提问3~5分钟。(8)课时安排参考 ☆ 项目可行研究、需求分析4学时
☆ 系统概要设计、系统详细设计(系统测试需求分析、系统功能测试用例设计)8学时 ☆ 答辩4学时
三、成绩考核与评定
成绩考核由以下几部分组成:
(1)平时考勤占10%。
(2)设计表现占20%。组员的设计表现成绩由组长提供;组长的设计表现成绩由老师根据小组整体完成情况给于。
(3)答辩表现占20%,若没有答辩环节,以考勤分代替。(4)文档完成情况占50%。
成绩评定实行优、良、中、及格、不及格五个等级。
四、重点说明执行本大纲应注意的问题
1、严格审核学生所选项目,提倡项目的新颖性和实用性。
2、严格审核学生的需求分析和任务分工,确保每个学生有足够的工作量。
3、严格考勤,迟到15分钟之内算迟到,迟到2次算旷课1次;迟到15分钟以上算旷课。旷课2次,成绩即为不及格
4、允许学生上网查资料,但严格控制学生不得上网进行玩游戏、看电影等与课程设计无关的活动。
5、答辩主要围绕项目设计的合理性和可实现性提3-5个问题,根据学生回答情况,确定答辩分数。
6、审核文档,允许学生有所借鉴,但不得完全抄袭,一旦发现,以0分计。
附:教学参考书目(添加教材信息)
1、《软件工程》(第4版)人民邮电出版社
张海藩
2、《软件工程概论》 清华大学出版社
郑人杰、殷人昆
3、《软件工程课程设计大纲》由老师提供
4、《软件工程课程设计报告》由老师提供
5、《UML系统建模与分析设计课程设计》 机械工业出版社 刁成嘉、刁奕
软件工程课程教学 第3篇
《软件工程》偏重于系统设计理论与方法学的讲解, 抽象概念和理论较多, 对于项目经验缺乏、系统知识不足的学生来说, 学习起来颇为困难, 容易导致学生的抵触、怠慢情绪。鉴于教学中存在的诸多问题, 《软件工程》课程教学模式必须进行改革。笔者所在院系自2011年开始进行教学改革, 主要从教学内容、教学模式、考核方式等方面进行, 并尝试以“课程融合, 工学交替”的模式进行教学。通过三年的不断探索和逐步完善, 教学改革取得了良好的效果。
1 教学改革方案
1.1 丰富课程内涵, 拓展课程外延
在课程内涵建设上, 以适用、实用为原则, 科学取舍课程内容。删减部分已过时、实用性不强的内容, 增加比较成熟的软件开发新技术。
在课程外延建设上, 实施“1235计划”。1235计划的具体内容是:“1”采用项目教学, 完成一个项目开发;“2”分别在期初和期中组织学生进入大型软件公司参观学习;“3”每位学生完成3篇自学论文;“5”开展5次软件工程专题讲座, 涉及的主要内容有:软件危机与软件工程、软件产业的发展、软件人才的需求、软件项目管理、软件开发的新技术等。
通过这些方法, 开拓学生视野, 培养学生创新意识, 对学生应用新技术的能力大有帮助。
1.2 建设软件工程实验室, 为教学、实验、项目开发提供综合性应用环境
软件工具与环境是软件工程学的核心主题之一, 它在软件工程课程中占有很大比重, 尤其是在“概要设计”、“详细设计”、“系统测试”等内容的学习过程中, 都要利用相关的工具软件来进行设计和测试工作。显然, 这些工具软件对教学乃至项目开发都是不可或缺的。所以, 有必要建设一个软、硬件齐备的“软件工程”实验室, 并不仅仅是为教学使用, 也是为科研实验、项目开发提供一个综合、开放的学习和工作环境。
“书读百遍, 其义自现”, 用这种方法来学习《软件工程》效果不佳。《软件工程》是一门实践性课程, 不通过实际操作, 无法领会设计中的精巧所在。“纸上得来终觉浅, 绝知此事要躬行”, 技术来源于实践, 实践才是不可颠覆的真理。有了“软件工程”实验室, 学生就可以通过做实验, 边操作、边体验, 在反复的设计与修改中, 就能把理论和方法转化为技能。这样既加深了对理论知识的理解, 又掌握了操作技能, 而且, 来源于实际应用中的技术远比零散的理论掌握得牢固。
在《软件工程》课程的教学计划中要分配好理论与实验的比例 (建议理论40课时, 实验24课时) , 一般实践性较强的知识要尽可能安排做实验。先安排学生按步骤完成实验, 然后再画龙点睛提示实验中应该注意的关键点, 并指出学生设计中普遍存在的问题, 让他们去反思自己设计的错误和缺陷, 要求在规定的时间内完善自己的实验, 最后, 对本次实验进行理论与技术的对照并加以总结。通过这样的实验步骤, 既增加了学习的趣味性, 又培养了学习的主动性, 还锻炼了实际操作技能, 达到了课程教学目标, 也起到了“一石三鸟”的作用。
1.3 课程融合, 知识糅合, 突破常规, 化繁于简
《软件工程》的传统教学只讲理论, 导致学生大多是“半瓶水”, 知其然而不知其所以然。在后继课程中, 进行系统设计时, 学生对前驱课程中学过的方法几乎都忘记了, 更不用说灵活应用。这种“理论与实践两层皮”的现象屡见不鲜。然而, 《软件工程》课程应该突出软件开发的过程, 注重实际应用能力的培养。因此, 必须把“理论型”课程与“实践型”课程相互融合, 用理论指导方法, 通过实践获得技能, 两者相容互补, 从而彻底攻克“理论与实践两层皮”的难题。
把《软件工程》与《面向对象程序设计》相融合, 这种融合既不是课程的合二为一, 也不是教学内容的简单组合, 而是课程内容的糅合。让一位项目经验丰富的教师同时上这两门课程, 不是按照课表排什么课就上什么内容, 而是把软件工程和程序设计的内容像“和面”一样和在一起, 糅合成一体, 当做一门新课程来讲。糅合的过程是教师在课堂上完成的, 而学生只要领会糅合的结果即可。通过这样的授课方式, 就把两门课分开教学的诸多问题和不足化解于无形之中。
以课程融合的方式教学, 再配套必要的实验和实际项目开发, 使得理论与实践完美地结合在一起。这样的教学过程, 让学生既学习了理论, 又学会了编程技术, 还开发了项目, 如果学生自己再刻苦努力, 勤学多练, 必然有丰硕的收获。
总而言之, 课程融合不再使知识与技术彼此孤立, 它是思想引导方法, 方法指导实践, 实践练就技能的一个过程, 这个过程真正地让知识转化为技能, 这也是高等职业学校的教学宗旨。
1.4 工学交替, 创新教学模式, 提升教学质量
深化校企合作, 积极尝试“工学交替”的教学模式, 创新教学手段, 着力提升教学质量。
鹏锦科技责任有限公司 (简称鹏锦) 是校办企业, 除了从事软件开发、技术支持与服务之外, 还与学院密切合作, 承接一些教学相关业务, 主要包括:辅助教学、课程实训、毕业设计指导、顶岗实习、学生就业等。信息工程系的部分专职教师也积极参与到鹏锦项目开发和技术研发团队中, 鹏锦部分经验丰富的员工也兼任了某些专业技术性课程的教学工作。通过这样的合作, 形成了一种集教学、研发、生产一体化、互利共赢的合作关系。正是因为有这样一个良好的合作环境, 才使得软件技术专业的某些专业课程能够以“工学交替”的模式实施教学, 让教学有了质的飞跃, 让学生和教师都受益匪浅。
笔者所在院系《软件工程》课程采用“工学交替”教学模式的操作方法和实施步骤。
首先, 统筹安排课程, 协调组织教学过程。一般安排两位教师完成《软件工程》的教学工作, 一位是专职教师, 另一位来自鹏锦, 专职教师负责理论知识的教学工作, 公司教练负责学生在鹏锦的实践训练。虽然他们分工不同, 但是在教学过程中要彼此配合, 相互合作。《软件工程》是实践性和综合性很强的课程, 用这种理论结合实践的方法进行教学, 不仅符合《软件工程》课程的特点, 而且激发了学生的学习兴趣, 提高了教学质量。
其次, 课程教学实施分步进行。第一步:团队划分。将全班学生按5~8人一组, 分成若干小组, 每组选出组长。第二步:理论学习的阶段划分。可以按照“软件生命周期”将理论学习划分为“需求分析”、“概要设计”、“详细设计”、“编码与测试”4个阶段, 逐一进行。每学完一个阶段的理论知识, 就安排学生进入鹏锦进行该阶段的实践训练。到鹏锦之后, 公司教练事先已经选好了适合学生的开发项目, 并安排好每个小组的指导教练, 通常是由鹏锦的项目组成员兼任教练, 一个人带领一个小组, 以公司开发的真实项目为载体, 指导教练带领每个小组完成该阶段的项目开发任务, 边做项目边学习, 将所学的理论知识与项目开发中的具体操作无缝结合, 加深理解, 体验并领会设计的技巧。实践阶段的开发任务完成后, 学生再返回课堂, 继续学习下一个阶段的理论知识;掌握了理论, 又进入鹏锦继续实践训练, 就这样依次完成整个课程阶段的学习, 直到课程结束时, 每个小组提交自己的开发作品。第三步:阶段评审。在鹏锦的阶段性实践训练结束之后, 每个小组提交该阶段的开发成果, 然后由公司教练组织3~5名教师和项目经理, 对每个小组的作品进行阶段性评审, 评审不通过者, 必须在进入下一个阶段性实践训练之前完成修改工作。在学期结束之前, 每个小组将最后完成的作品提交给老师。
最后, 课程考核多元化。《软件工程》的课程考核由平时、实验、理论、实践4部分组成, 所占比例分别是20%、30%、20%、30%。
以这种理论与实践阶段性迭代进行的教学方法, 就是典型的“工学交替”教学模式。整个学习过程中, 理论与实践交叉、迭代进行, 用理论指导实践, 以实践巩固理论, 这样学生不仅将理论融会贯通, 而且也熟练了操作方法, 学习效果必然比纯理论学习好得多。20112013连续三届学生组织了学生评教和问卷调查活动, 将调研结果与往届学生教与学的情况进行对比可知, 教学质量有了较大提高。调查分析对比数据如表1所示。
2 结语
集上述4种方法于一体, 就形成了一套完整的《软件工程》课程教学改革方案, 将其科学规范地付诸于实际教学过程中, 对培养学生技能、提高教学质量大有裨益。
参考文献
[1]张海潘.软件工程[M].北京:清华大学出版社, 2012.
[2]白晓清, 王勇.软件工程课程教学改革探索[J].高教论坛, 2007 (2) :122-124.
软件工程课程教学方法探索 第4篇
【关键词】软件工程课程 案例教学 项目综合实践
【中图分类号】G712.4【文献标识码】A 【文章编号】2095-3089(2016)01-0010-01
1.引言
软件工程是一门采用工程化原则指导高质量且有效的软件开发过程的课程。软件工程课程是信息专业重要的专业基础课,除了加深学生程序设计语言和数据库知识的掌握,更重要的是培养他们在软件开发管理、设计模式、系统开发工具和团队协作等多方面的技能。
传统的软件工程教学注重理论教学,没有很好地结合理论与实际应用,虽然教学过程中也引入的案例和实践环节,但没有做到有机的结合和及时的监控,往往留于形式 教学效果并不理想[1,2]。
2.教学方法探索思路
2.1 理论知识的案例教学与”一页讲义”教学
软件工程理论知识的教学还是以教师授课为主,向学生教授软件工程的基本理论和设计原则,内容力求少而精,目的是在较短时间内让学生了解现阶段最广泛使用的软件工程技术的理论基础,为下一步应用部分的学习奠定基础。首先,在教学过程中结合具体的软件开发案例,我们选择的案例不是孤立的个案,而是一组精心设计的能够贯穿软件设计开发过程的整体案例,我们选择的是一个基于Web的图书馆管理系统,由于学生对该系统业务流程和功能及操作都很熟悉,易于理解。教师在理论讲述时同步结合图书馆管理开发的各阶段进行讲解,通过这种边做边教的模式使得学生能够理论结合实际,加深印象;其次在每个章节学习之前我们都会给学生发一张“一页讲义”,讲义的内容分为两部分,一部分是本章的知识提要和重点的知识点,据此,学生即能掌握本章学习内容框架,并对学习的重点难点有所了解。另一部分是少量的课堂练习题,包括选择、填空和问答题,课堂中会抽10-15分钟作课堂练习并进行讲解讨论,及时巩固学习的理论知识。我们发现纸质的课堂练习题学生的参与度比互动性比仅使用PPT要高,且许多设计思路学生会直接记在上面,将来是比较好的复习资料。案例教学与”一页讲义”教学能较好地帮助同学认识软件开发引入工程化思想的必要性并提高学习的积极性。
2.2 拓展实践与强调团队协作
课程实践对软件工程课程具有非常重要的作用,通过实践,学生能够增强运用软件工程基础知识的能力,对系统设计技能进行训练、培养软件项目的开发能力和团队协作意识。实践环节包括两方面内容:基础实验和综合实践。
基础实验通过CASE(计算机辅助软件工程)工具的学习并运用这些工具加深学生对软件生命周期各阶段的理解,着重培训学生对需求分析、概要设计、详细设计以及软件测试阶段相应辅助工具的掌握,并运用这些工具进行各阶段辅助设计。例如:运用Microsoft Visio绘制软件结构图、程序流程图等;使用ERWin辅助数据库设计;运用Rational Rose完成需求分析与系统设计中的用例图、类图、顺序图和部署图等绘制。基础实验主要实现软件工程各生命周期阶段教学内容的延伸与应用,强调CASE工具的运用,使得软件开发能够更高效、标准地进行。
2.3 培养工程管理与应用能力
软件工程强调使用工程化原则指导软件开发,因此对于软件开发过程中的项目管理也是学生需要关注和学习的内容。除了理论教学中需要对软件项目管理进行讲述外,在基础实验和综合实践环节,我们也加入了项目管理内容的实践,通过Microsoft Project学习项目资源的合理调度,通过VSS(Microsoft Visual SourceSafe)进行代码管理,防止各成员间代码版本的冲突,并且要求学生在综合实践环节必须使用这些工具,并作为考核的一项内容。
2.4 创造实践环境
在软件工程学习过程中可以让学生接触一些现成的软件系统,通过对商业化软件系统的观摩,能够让学生认识复杂系统的集成方案,加深对整体框架的理解,同时对真正软件系统的界面设计、出错处理、系统管理等方面有所了解,学习软件设计开发过程中注重软件的可用性、可操作性、健壮性和可维护性。由于我们专业特点,与医院和医用软件公司有长期的合作关系,可以免费获得一些成熟的软件系统(如:医院信息系统),这为学生创造了一定的实践环境。计算机或其他信息相关专业的教师也可以根据自身专业特点有意识的收集具有代表性的系统,供学生参观学习。
3.教学方法具体实践
在教学方法实践过程中,理论和实践部分并不是相互独立的,应当根据理论教学的推进,结合相应的案例并且逐步实现各阶段的文档。我们在课程教学初期,首先给以自主结合的方式完成分组,选定相应需要开发的子系统并分配给各小组。题目选定后,随着理论教学的推进,要求各小组逐步提交各阶段文档,而不是学期末一起上交,这样能规范各模块的开发按照先文档,后设计再编码的步骤进行,避免系统编码完成后再补充文档的尴尬。部分文档提交后需要集中小组长进行一定的讨论,特别是整体数据库的设计需要所有小组共同分析讨论来完成,教师旁听并指导,指出缺陷和不足,并综合得到最终设计结果。各模块接口设计由相关模块小组长共同讨论完成。在学期末专门安排一次课用于综合实践答辩,由小组代表对软件的设计和开发进行总结汇报并演示开发的系统。
在课程的考核方式上进行优化,强调实践能力,因此综合实践的部分的考核比例增加至40%,理论考试占40%,而平时分占20%。为了避免部分学生“浑水摸鱼”,我们会根据小组成员对项目开发做出的贡献进行度量,设置相应的权重,综合实践的考核分数根据贡献权重计算得到。这样能够激发学生的实践热情,并合理的体现各学生工作量。
4.结束语
软件工程课程非常强调理论联系实践程,在理论教学中引入贯穿整个学习过程的具体案例,能够提高理论的实用性;“一页讲义”式的教学能够帮助学生对整体知识框架的把握,配合具体的课堂练习能够及时对理论知识进行巩固。在教学过程中,我们始终把实践环节放在主要的地位,通过综合系统子模块开发,让学生认识到模块化设计和团体协作的重要作用;我们同时也关注项目管理知识的传授。教学结果证明,通过上述教学方法的探索与改革,能有效地提高了学生的学习兴趣,增强了学生使用软件工程方法和技术解决实际问题的能力,培养了学生团队合作精神。
参考文献:
[1]张剑波,方芳,袁国斌.软件工程专业实践教学体系改革[J]. 计算机教育,2013(12):37-41.
[2]王卫红,杨良怀,江领.软件工程优势专业的建设与发展[J]. 计算机教育,2013(10):1-4,9.
[3]吴建斌, 陈中育,叶荣华.软件工程类课程教学模式改革探索[J].中国信息技术教育,2013(5):119-121.
[4]Hay P,Katsikitis M.The expert in problem-based and case-based learning: necessary or not[J]. Medical Education, 2001, 35(1):25-30
软件工程课程教学 第5篇
0引言
翻转课堂是依靠信息技术而形成的新型教学模式,在信息化背景下,教师通过微视频等形式为学生提供学习资源,使学生在上课之前便能够对知识进行预习和掌握,师生一同在课上对不懂的问题进行探讨,从而颠覆了以往传统教学模式,使学生对学习更感兴趣,教学效果也得到有效改善,目前翻转课堂已经在软件工程教学中得到了广泛应用。
1翻转课堂教学模式的内涵与作用
1.1内涵
翻转课堂又被称为“反转课堂”,是对以往传统教学方式的颠覆,其将“白天上课,晚上回家完成练习”的模式转变为“晚上观看教学视频学习知识,白天完成知识内化与练习”。翻转课堂是在信息技术的支持下产生,能够以学生为中心,采用师生互动、自主学习、探究合作学习相结合的方式,使学生的学习兴趣得到提高,获得个性化的教育体验。
1.2作用
(1)提高学生自主学习能力。翻转课堂模式是由学生自己利用课外时间学习知识,在学习中以学生为主,教师起到主导、辅助作用,在学习进度、学习时间等方面都由学生自己安排,该模式的实施使学生的自主学习能力得到了有效的锻炼和提高。
(2)锻炼学生实践能力。在素质教育背景下,不但要求学生有丰富的理论功底,还要求其具有高超的动手实践能力,尤其对于计算机类课程来说,原本课程安排就十分有限,还要压缩时间开展实践课,常常由于知识点讲解不到位,而影响学生理解与吸收,使教学效果难以得到显著提升。对此,教师可以采用翻转课堂教学模式,根据教学内容在课前为学生提供视频资源,使其在自学过程中锻炼自身的动手实践能力。在正式教学中,师生一同参与讨论、答疑与实践演练,更有利于知识的内化与实践能力的锻炼[1]。
(3)有利于因材施教。每个学生都是独立的个体,在学习基础、理解能力、接受程度上存在较大不同,在传统教育中,教师通常采用“一刀切”的方式,无法顾及到每位学生的个体差异,使部分学生“吃不饱”,部分学生“吃不消”。而在翻转课堂模式下,则能够有效解决上述问题,学生借助信息技术在课前根据自己的能力、习惯、掌握程度自行预习,对学习进度、时间、快慢等进行调节,如若知识掌握较快,则可以自行进入到下一节的预习中;如若知识理解难度较大,学生可以通过重播、快进、慢退等方式反复琢磨某个知识点,真正实现了学生的主人翁地位,在个性化体验中实现了因材施教。
2翻转课堂信息化教学平台的构建
2.1平台优势
翻转课堂信息化教学平台是在全新交互式网络技术ArticulateStudio的支持下形成,具有较强的交互性,教学模块具有可视化、开放化特征,考核方式多样,其主要优势体现在以下方面:一是跨平台性,能够在移动中断中使用,为学员提供更多的自主学习时间,且支持离线模式,在无需联网的情况下,将教学资源直接拷贝到自己的手机或者其他移动设备中便可随时随地的使用,不受时间与地点的限制,真正实现了“翻转课堂”的教学理念;二是教学资源多样,导航目录清楚明了,平台中的课件资源与传统PPT有所区别,包括“软件工程”中相关操作视频演示、音频讲解、Flash动画等诸多资源的合体,使课件变得更加生动丰富,且配有“知识导航目录树”,各个模块结构清楚,能够使学生快速了解和找到知识点;三是跟踪检测,平台根据学生的学习进度,对学生的后续学习加以引导。例如,要想对某章节进行学习,需要首先完成基础知识的练习,这时系统便会随时跟踪学院是否对该章节进行学习,如若不符合要求,则该部门资源将在后续训练中反复呈现,在学生学完后系统会提供相应的测试题,学生完成后系统便会显示测试结果,学生可根据测试结果对后续学习进行规划和调整。
2.2平台功能
在翻转课堂背景下,信息化教学平台的主要内容包括“计算机基础”“软件工程”“计算机程序设计”等。平台支持学员“点菜式”学习,“打怪升级式”训练以及自由的交流和讨论,其中不但具有丰富多彩的课程资源,还具有在线练习、教师答疑、讨论室、兴趣小组、在线测验等多个功能,充分打破了以往以教师为主的单一化教学模式。在翻转课堂应用背景下,教学氛围更加浓厚,学生对教学活动的参与欲望更强,在学习中的主动地位得到尊重,为“软件工程”课程的实施提供了强有力的技术支撑[2]。
3翻转课堂教学模式在软件工程中的应用
在软件工程教学中,要想提高教学效率,则需要将翻转课堂教学模式应用其中,对各个教学环节进行创新,从而实现教学效率的提升。将翻转课堂教学模式引入到级软件技术专业学生的“软件工程”教学中,具体的应用措施如下所示。
(1)制定视频课件。学生在课前的预习效果将对教学任务的完成效果产生直接影响,因此课件的制作也十分关键。与学生学习特点相结合,每个课件视频的时长在15-20分钟左右,突出本节的重点内容,且语言简洁精炼,可供学生利用课余时间学习,减轻学生压力。对于操作类的短视频,在课件制作中可以采用一些常用的软件,如Recorder、Camtasia、WindoesMedia等,无需配置专业视频制作工具即可达到较好效果。
(2)课堂教学。首先,对学生的预习情况进行检测,以此来判定学生的掌握程度,为后续教学提供方向。然后,教师将学生划分成不同的.学习小组,让学生针对自己所学到的知识进行交流讨论,并将自己的学习成果向老师展示,由教师根据学生的完成情况进行指导和总结。这样做不但能够提高学生的课堂参与欲望,激发其学习兴趣,还能够使学生课下认真预习、课上主动思考,通过师生互动、合作探究等方式,使“软件工程”的教学效果得到进一步提高。
(3)教学评价。以往的教学评价仍然是以学生的考试分数为标准,这样不利于学生创新思维的培养。在翻转课堂背景下,在“软件工程”教学中,将实践任务完成情况、课堂表现、实践报告撰写等多个方面为指标,与传统考核方式相结合,对学生的学科成绩进行科学的评定,以此来激发学生学习的主动性与创造性思维。另外,对学生的课后作业成绩进行评价,分为自身作业与互评两个部分,可以借鉴MOOC平台中的分值比例,对于未参与互评的学生,作业成绩只能是自身成绩的50%,而参与互评的学生则可获得100%的作业成绩,这样做能够在很大程度上提高学生参与作业互评的积极性,使翻转课堂的教学效果发挥到最大[3]。
4结论
综上所述,大量实验研究表明,翻转课堂教学模式的实施具有十分可观的效果,能够充分调动学生的学习热情与积极性,与素质教育的要求充分符合,并且通过信息技术的方式使学生能够做到随时随地的学习与检验,该模式在“软件工程”中的应用使教学效率与质量得到了显著提升,是一种值得推广的特色教学模式。
参考文献:
[1]王蕊,萨娜.C#程序设计课程的翻转课堂教学模式研究与实践[J].软件工程师,,18(3):49-50.
[2]王素琴,王新,石敏,等.基于CDIO和翻转课堂的《软件工程》课程教学研究[J].中国教育信息化,2017(8):50-52.
软件工程课程教学过程设计的论文 第6篇
【摘要】软件工程课程软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。但在实际的教学过程中,存在较大的难度:知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,提出了以“应用”为导向的软件工程课程教学过程的设计,主要从教学设计原则、教学设计策略、教学内容、教学方法、课程重、难点解决方案、考核方式与评价方法等方面展开,给出了切实可行的方案,与院系“一体化”教学理念切合,通过实施,取得了一定的效果。
【关键词】软件工程;应用导向;“一体化”教学理念
平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。
1软件工程课程的课程目标
《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。
2教学设计原则
坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。
3教学设计策略
3.1知识域覆盖
针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。
3.2技术方法先导
软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。
3.3突出技能训练
技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。
4教学内容设计
结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。
5教学方法设计
在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的.进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。
6课程重、难点解决方案
6.1软件工程课程重点
软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。
6.2软件工程课程难点
软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。
6.3重、难点的解决方案
软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。
7考核方式与评价方法
采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。
8总结
该教学过程设计,切合院系在提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。
【参考文献】
[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,(2).
[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,(14).
[3]汪Z玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,(10).
[4]王小磊.任务驱动与情境认知学习理论在《软件工程》课程教学改革中的探索[J].福建电脑,(7).
软件工程课程项目的教学法论文 第7篇
【摘要】软件工程学科本身就强调理论与实践并重,在我国新课改以后,它更基于自身专业学科特点与多种创新教学方法相互有机结合,提出了丰富多变的软件工程课程教学实施创新方案。本文就研究了项目教学法在软件工程课程中的实际应用流程,并基于“多角色参与”理念重点探讨了项目教学法在软件工程学科教学中的实践案例应用。
【关键词】项目教学法;软件工程课程;多角色参与;实践应用
新课改以来,我国高等教育经历重大改革,教育领域也在不断寻找更符合素质教育的创新教学模式。而项目教学法能够提供最贴近真实的工作过程,可以为学生带来相对优越的学科实践临场感甚至工作感觉。它解决了传统教学与实际需求相互脱节的教育尴尬局面,真正实现了专业学生与社会企业就业岗位之间的无缝对接,达到了预期的教学目标,取得了不错的教学效果。
一、关于项目教学法
(一)基本概念
顾名思义,项目教学法就是围绕项目活动展开的,它是一种注重绩效的教学方法,源于美国哈佛工商管理学院的经典课堂教学模式。在项目教学法中,其教学活动目标相当明确,且具有高启发性、高实践性和高互动性,整体相比传统教学优势明显,能够有效提升教学过程的创新能力和师生解决问题的能力,尤其是解决教学过程中的一些难点问题,培养学生的分析和反思能力,强化课堂与课外的师生互动过程,让教学与实际的联系越来越多。
(二)教学方法实施流程
项目教学法在实际的教学实施过程中注重教学与项目开发两大阶段内容。教学当然以教师理论知识讲授为基础,它帮助学生积累一定的理论基础知识。而项目开发则在理论基础之上来展开具体的实践教学过程,首先教师要让学生了解课程理论与开发项目之间的关系,保证学生的知识体系建构完整,然后再将课程项目引入到教学过程中。就以软件工程课程为背景,它的项目实施就涵盖了项目研究、分析、设计3个主要阶段,其中项目研究主要围绕理论教学过程展开,分析则强调对项目中各个问题的阐述与解读,而讨论则围绕项目中的个体案例来展开师生相互交流,特别是重点讨论项目中的特定问题,启动项目实践,这也是整个教学中最有难度、最为复杂的部分。教师要根据实际的教学情况来选择真实的、合适的项目组织学生团队投入进去,例如软件开发等等,在开发过程中掌握软件工程的基本原理与制作方法。以下给出基于软件工程课程的项目教学法流程。
项目库建立首先要基于软件工程课程项目来建立项目库,结合课程教学内容的不同阶段与学生实际知识水平来选择合适的教学项目,建立一套完整的项目库,同时保证项目内在内容的多样性。因为每个项目所涵盖考察的教学知识点不同,所以教师要选择合适的项目来展开教学。2.项目分析这里以“学生档案管理系统”这一软件工程课程项目为例,首先教师要将这一大项目分解为若干个子项目,确立子项目所要达到的`能力目标与知识目标,根据子项目安排编制学生小组,制定相应的项目计划内容,同时展开项目讨论及分析过程。项目讨论与分析代表了项目教学法的关键环节,教师正是引导学生展开项目分析才透析课程理论知识内容,将教学中有关“学生档案管理系统”制作的操作流程展示给学生。在该过程中,学生是绝对的主动者,而教师则作为辅导者来启发学生思考、辩论、分析、最终解决项目中的特定问题,进而完成系统创建项目任务。该阶段考察了学生对问题的敏锐知觉与洞察力。
3.项目开发项目开发过程更要以学生为主体,教师作为重要引导者来引导项目开发过程,组织编制项目计划、系统制作工作流程,做到分阶段完成项目内容。在该过程中,教师还会专门分配不同角色,例如项目管理员、系统分析员、测试员、程序员和编辑员等等来分段完成子项目任务,最后展开项目阶段成果汇报,及时交流与改进教学过程,保证不同子项目的知识点都能有较好体现,完成完整的软件工程课程项目。在项目开发过程中,不同的项目任务对应不同的项目岗位,例如项目总负责人一般为教师,他负责统筹与协调项目整体内容;而像分析员则主要负责分析软件工程项目细节,制定项目方案并基于项目主体框架来展开设计过程;另外还有负责项目方案制定与代码开发的程序员、负责项目测试与测试报告编写的测试员以及编写项目说明书的编辑员。
4.对教学课时的调整在项目教学过程中要通过调整教学课时来体现项目教学法优势性,因为该教法相比于传统教学耗时更长,可能单节课无法满足设计项目需求,需要及时调整教学课时来实现合理教学安排。例如要对每周授课学时进行有效合并,这样更利于项目的设计过程优化。从整体来看,软件工程课程在采用项目教学法后,其教学过程变得更加生动有趣,对学生学习积极性的调动更到位,也强化了学生主动学习研究的意识,特别是在软件工程专业技能的培养上实现了全面优化,增进了师生、生生之间的相互感情,也解决了传统教学中理论实践教学与社会企业岗位就业内容相脱节的问题,确保了二者之间的无缝衔接,基本达到了预期的教学目标[1]。
二、基于“多角色参与”理念的项目教学法在软件工程课程中的应用案例
在新课改以后,项目教学法的内涵类型也有所丰富,像“多角色参与”项目教学方法就能从更深层次来激发学生研发项目兴趣,优化教学效果。
(一)关于“多角色参与”项目教学法
“多角色参与”理念的融入让传统的项目教学过程更加有趣,能够有针对性的提升学生的项目研发动力,同时实现多人参与合作学习过程,对团队精神的培养非常有益。“多角色参与”项目教学法强调整体协作、个体分工,基于不同阶段来分配不同学生展开项目分析过程,客观讲它属于一种典型的阶段性教学,没有明显的教学方式,但体现了一种强烈的任务阶段性,实现了教学过程的有效衔接。而且,“多角色参与”强调学生本身所拥有的角色观念,赋予了他们一定的责任意识,这对弥补传统项目教学法中的诸多不足是有好处的。
(二)案例教学设计应用分析
1.“多角色参与”项目教学法设计的基本思路“多角色参与”项目教学法首先要拟定教学项目,可以根据学生数量来拟定多个项目,然后教师为学生进行分组(保证每组3~5名学生),根据软件系统开发与所参与项目的不同来扮演不同角色,例如在项目设计中充当程序员、分析员、设计员、测试员以及用户等等。同时教师也会安排角色转换,强化学生在项目教学法中实践的责任意识,让每个阶段都变得更加重要,进而激发学生学习学科内容的积极性。
2.选取项目在选取软件工程课程的项目时,应该遵循3点基本原则:首先一点是要选择符合当前社会潮流的、为人所关注的热门项目,且该项目能够代表科研发展前沿,有创意,符合学生兴趣口味;第二要选择适合于软件工程课程教学展开的项目,且项目本身要尽可能覆盖多的知识点内容,便于学生构建知识认知结构,快速实现对学科的整体理解,特别是能帮助学生建立软件项目开发的大局意识;第三要选择适合于学生所处学段的题目,例如其中所涉及内容一定要难易度适中,是学生能够完成的,最好是他们所关注的项目内容。比如说目前学生所普遍关注的铁路订票系统,教师就可以设计一项有关“铁路订票系统”的软件工程课程项目,模仿12306订票网站来展开设计教学。该项目中也同样具有车票预订、余票查询、列车时刻表查询、票价查询等等功能,同时系统存在并发访问能力,支持最大5人同时订票,并设置了排队系统。
3.项目教学过程展开项目教学过程展开后,教师要通过分组来设定每一名组内成员所参与的软件工程课程项目独立任务,并要求学生分阶段将学习成果编撰成报告提交上来,让教师了解他们的任务完成进度,也作为成绩考核的重要参考。另外一点教师要做好自身项目总监的工作,时刻控制项目任务开展的进度与质量。在这里就融入了“多角色参与”思想,在同一个小组中不同学生在不同时期完成项目中的不同阶段内容,并考虑所设计内容的可用性与便捷性。再者,不同的小组也要做到相互承接组间任务,形成承上启下的联动机制,这是为了增强组间交流过程,实现阶段性成果提出与项目任务顺利交接,凸显学生在项目任务中的角色作用与责任意识。“多角色参与”在项目组中所承担的角色非常明确,那就是帮助组内成员快速完成某一个指定的项目任务,根据任务需求来引导学生进入项目进程的不同阶段。就以铁路订票系统软件工程项目的设计来讲,“多角色参与”就对项目实施过程实现了角色分类,假设该项目教师分配5个小组共同完成,那么第一小组专门负责系统构建需求定义、需求分析与概要设计,例如开展订票系统的软件需求分析、用例模型例图设计、系统顺序图编排等等;第二小组负责详细的系统设计编码,选用编码来初步构建系统;第三小组负责社会调查和收集数据,通过在火车站观察和收集相关数据来为项目中系统构建提供参考;第四小组负责订票系统的软件制作,第五小组则负责软件测试,比如对用例的详细测试等等。每一小组在完成项目任务后与下一组对接,实现任务无缝衔接[2]。
三、总结
总而言之,当前软件工程课程中融入项目教学法有它一定的优势之处,它可以基于“多角色参与”理念来弥补传统项目教学法可能存在的诸多不足,让学生在扮演不同角色的同时实现项目任务随时切换,激发学生学习该学科内容的主动性和自主学习能力,做到共同合力解决问题,共同创新。
参考文献
[1]孙超.项目教学法在高职软件工程课程中的应用[J].船舶职业教育,,5(1):35-38.
软件工程的课程教学探讨 第8篇
近年来,随着全国高校的大规模扩招,计算机相关专业的学生人数也逐年攀升。《中国大学毕业生就业报告(2009)》显示:各学科之中,计算机科学与技术已经成为就业率最低的专业之一,然而人才市场和网站IT职位的招聘却是供不应求。这一切都说明,我们的计算机教育存在着不足,作为一门重要的专业课程,软件工程教学中也存在着同样的问题。
2. 课程特点与存在问题
软件工程是涉及计算机科学、工程学、管理学和数学等领域的一门综合性学科,主要用于指导软件开发与维护过程。
2.1 课程特点
作为一门综合性课程,软件工程是对大量实践操作的理论抽象,是开发经验的总结与提炼;课程内容系统性,理论性较强,学生学习时会感到内容枯燥,缺少学习积极性;另外,课程教学内容更新速度快,操作性强,对教师自身素质的要求也比较高。
2.2 教学中存在的问题
受传统教学模式的影响, 对软件工程这样重实践的课程, 实际教学中许多老师仍然按照传统方式进行授课,导致诸多问题。经过分析,可将教学中存在的问题总结如下:
1)传统课堂的模板化教学模式
在传统模式下,课堂教学以教师讲授为主,单向灌输知识, 师生互动很少;课程实验、项目设计等多以课外作业的形式出现,很少在课内完成。作为学习主体的学生在教学过程中始终处于被动地位,致使学生无法把理论和实践结合起来。
2)教学培养目标与实际需求脱节
教学中,学生希望加强实践操作内容,从而与企业需求接轨,而这却是传统教育最欠缺的,面对枯燥的理论知识,缺乏学习兴趣与热情,也无法体会到软件分析、设计、实现、测试的重要性;而且,本科教学中多合班授课,学生人数较多,教师在实践环节难以应付,影响了教学效果。由于培养目标与市场实际需求有很大差距,从而导致了就业的困难。
3)教材内容不能及时更新
软件工程领域的理论和技术更新速度非常快,但使用的教材却因编写时间的限制等种种原因,在先进技术的应用、知识结构调整、内容取材及实践环节等方面都存在不足,这在很大程度上也制约了课程的教学效果。
4)师资素质和学生基础的问题
高校的计算机学科教师, 由于时间和环境的限制,大部分缺乏实际的项目经验,而课程又要求教师要有一定的软件开发经验,这就对教师的素质提出了较高的要求,要求教师不断提高自身的理论水平和实践能力;另外,随着高校的不断扩招,学生基础下滑是不争的事实。因此,教学中也需要考虑学生的实际水平来选取内容。
3.课程教学探讨与对策
针对软件工程课程实践性强、发展迅速的特点及专业培养的目标,笔者结合多年从事软件工程教学的实际经验,在教学模式、教学手段、考核方式等方面进行了有益的探索:
3.1 设计合理的课堂教学模式
3.1.1 改变课堂教学模式
首先,对完全以教师为中心的传统教学模式进行调整:采用案例教学法,通过实例来阐释枯燥的系统理论,以此调动学生的兴趣。课堂上选用一个完整的、精心设计的、规模和难度适当的案例来讲解,同时灵活运用各种教学方式:比如大胆采用由学生结合完成课程任务的体会,自己讲解设计内容中对课本知识的使用;采用课堂讨论的形式,活跃课堂气氛。
3.1.2 改变课堂组织形式
在课堂的组织形式上,安排学生以项目开发小组为单位,采用任务驱动的方法进行教学。首先,将具有不同能力和特点的学生分配到一个小组;接着,由各组自拟题目开发一个中、小型软件项目,要求在规定时间提交相应的作业(文档、源代码等);项目结束后,组织小组答辩:先由组长对项目的基本情况作简要陈述,然后每个组员说明自己所完成的任务并操作演示,教师针对每个学生负责的部分进行提问;最后,教师对学生完成情况进行总结。通过这种课堂组织形式可以加强学生的实践能力,培养学生的团队协作意识。
3.1.3 应用现代化的教学手段
软件工程课程理论性强,在板书讲解时内容很多,影响了进度,也难以调动学生兴趣。因此,我们结合多媒体等现代化教学手段进行教学,增强了授课的直观性、吸引了学生的注意力;不足的是多媒体教学时教室光线较暗,会导致学生精神不集中。因此,实际教学中,我们根据教学内容的实际情况,合理地把多媒体和黑板教学结合起来使用。
3.2 注重课程实践
在课堂内、外,我们都非常注重学生实践能力的培养。教学中,老师将大量的实际案例加入到学习过程中。在课程项目进行中,发现学生在任务完成中出现疑问时,通过沟通引导学生运用所学知识完成项目的开发。课堂外,鼓励学生到社会上的软件公司实习、尽早接触软件工程的实际问题,了解软件开发的全过程。
考虑到传统模式中实践时学生兴趣不大的实际情况,我们对实验内容进行了大幅度的调整,合理设计课程实践内容。每次的实验除了完成对应文档外,还增加了各阶段用到的工具和环境的实际操作,具体设置如表1:
3.3 改革考核机制
在课程的考试中,考虑到课程的特点,我们适当地增加实验考核的比例。实验成绩评定时,依据各软件开发小组提交的文档和最终完成的软件系统给出小组成绩,接下来充分考虑小组成员在项目中的贡献和组长评价给出组员的成绩;在理论考试中,除了考查软件工程的重要原理外,重点考察学生的软件分析与设计能力,促进学生对软件工程知识的掌握。
4. 结束语
软件工程是一门理论性和实践性都很强的课程,是各种开发经验的总结与提炼。通过探讨教学中存在的问题,探索新的教学与实践方法, 对于提高教学效果, 激发学生学习的热情和兴趣, 促进学生实践能力的提高都具有深远的意义。教学中, 我们把这些方法措施应用到我校2006级和2007级的教学过程中, 提高了学生学习的兴趣和积极性, 教学效果显著。
参考文献
[1]张海藩.软件工程导论[M].北京:清华大学出版社, 2009.
软件工程课程教学
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。