《软件工程》教学研究论文

2022-12-27

软件工程是高等院校计算机及相关专业的一门核心课程, 涉及计算机、工程学、数学等多个领域的知识, 是指导计算机软件开发与维护的一门工程学科。在学习软件工程课程之前, 学生必须完成高级语言程序设计、数据结构、数据库系统概论、操作系统、计算机网络等先行课程的学习。这些先行课程是计算机及相关专业的重要基础课程, 学生只有系统的学习了这些先行课程, 才能很好地理解和掌握软件工程技术。

计算机专业的学生毕业之后, 无论从事软件开发、维护还是销售, 都离不开软件工程的知识。可以说, 软件工程概论课是他们参加工作后马上就要直接应用的一门专业课。但是, 在校学生由于缺乏从事软件项目的实践经验, 往往认识不到软件工程的重要性, 更难于掌握软件工程的精髓, 导致实际教学中, 教师教得困难, 学生学得枯燥, 很难达到较好的教学效果。为了改善这种情况, 本文提出了“知识传授—实例讲解—项目演练—综合考评”四阶段教学模式, 从四个方面进行考察并就如何提高教学效果提出了一些建议。

1 四阶段教学法

1.1 知识传授

第一阶段为知识传授, 即教师系统地讲授软件工程知识体系。软件工程课程应该强调软件工程的思想与方法, 突出软件工程的过程概念, 侧重软件工程应用能力的培养。因此, 合适的教学内容是讲授软件工程课程的教师首要考虑因素。

1.1.1 完善合理的知识体系

美国计算学会ACM (Association fo C om p u ti n g M a c hi n e r y) 在2 00 1年制定的ACM CC2001草案中列出了软件工程学的七大核心专题, 即 (1) 软件过程和软件生命周期模型; (2) 需求分析; (3) 软件设计; (4) 测试和评估; (5) 软件进化; (6) 软件项目管理 (7) 软件工具和环境。相应的, 我们的教学内容应涵盖以上几方面内容。我们采用张海藩所编著的《软件工程》一书作为教材, 该书共7章。第1章概述, 讲述软件生命周期各阶段的基本任务, 全面概括地介绍软件工程这门学科以及典型的软件过程模型。第2章结构化分析, 讲述结构化分析的任务过程、方法和工具。第3章结构化设计, 讲述软件设计的任务、准则和启发规则, 介绍典型的设计方法和工具。第4章结构化实现, 讲述编码和测试, 重点介绍几种常用的测试技术。第5章面向对象方法学导论, 系统讲述面向对象的概念、方法和模型。第6章软件维护, 讲述软件维护的定义、特点和过程。第7章软件项目管理, 讲述软件项目的计划、组织和质量保证, 并简要地介绍国际上流行的能力成熟度模型。通过以上几章的学习, 可以使学生对软件工程的基本概念、原理、思想有一个总体性的认识。

1.1.2 采用现代化教学手段

多媒体技术集声音、图像、文字、动画于一体, 在教学中使用信息技术配合授课, 有着传统教学无法比拟的优势。教师可以制作生动美观、内容丰富的课件, 形象化地讲授软件工程基本原理。

网络信息也是软件工程教学中一个非常重要的信息资源补充库, 软件工程技术日新月异, 为了更好地掌握不断更新的知识, 教师应该借助网络这个庞大的数据库去学习软件工程中的新技术、新思想, 不断完善自身知识体系。例如, 可以设立软件工程学习网站, 在网站上公布课程安排、作业要求、课件和实验要求等内容, 同时提供大量有价值的参考书目和电子文献, 供学生查阅。学生可以通过BBS交流学习经验, 向教师提出问题, 从而使教师及时获得教学反馈信息, 进一步改进教学工作。

1.2 实例讲解

尽管软件工程课程中包含了许多理论内容, 但实践性是它的一个显著特点, 然而, 在教学过程中, 学生并不能体会到这一点, 总认为这是一门理论课, 感到枯燥、乏味, 学习兴趣不大, 待到用时又不知如何运用这些知识, 为帮助学生更好地学习、掌握软件工程, 我在讲授本门课程时首先从具体的例子谈起, 强调指出开发软件不等于编写程序, 学习和运用软件工程非常必要。然后用丰富的实例与原理性论述紧密配合, 讲透软件工程的基本概念、原理、技术和方法, 在讲完每个重点专题之后, 都用一个综合性的实例概括全章内容。例如, 在讲解结构化分析时, 最后讲述了工资支付系统的结构化分析过程, 在讲解结构化设计时, 最后讲述了汉字行编码程序的结构化设计过程, 认真学习这些综合性实例, 不仅对学生深入理解软件工程很有帮助, 而且有助于学生学会把软件工程的理论与技术运用到实际工作中去。

1.3 项目演练

项目演练可以和课堂教学同步, 也可以在课堂教学结束后进行。通常以团队的方式进行, 一个项目组由5~6名学生组成, 分别担任项目经理、客户、部门经理、系统分析员、程序员和测试员等角色。教师结合项目组中成员的软件应用领域, 为其提供一个虚拟的项目情景和要求, 这些虚拟项目都是从实际项目中提炼出来的, 具有典型性、客观性和启发性。项目组根据需求, 制定计划, 进行分析、设计、编码和测试, 运用本课程学到的知识, 分工协同、想办法、查资料、探寻问题的解决方案, 同时在研究问题解决问题的过程中创造性地学到了知识, 创造能力、应用能力、综合能力和合作能力等得到充分的锻炼和发展。

1.4 综合考评

考评的功能不仅是衡量学生对课程的掌握情况, 更重要的是激发学生学习的主动性, 并且作为实践性课程, 软件工程的考试方法应有别于其他课程, 检验的重点不是理论考试成绩, 而是学生能否在软件开发过程中贯彻软件工程学的思想和方法。为此, 我们根据学生出勤、课堂表现、平时作业、项目演练、笔试等几方面表现综合评定考核成绩。

(1) 出勤、课堂表现和平时作业占20%。

(2) 项目演练占40%。

(3) 笔试占40%。

笔试时, 综合性题目、实践性题目应占主要部分, 重点考查学生综合运用理论知识的能力和方法, 考核学生对软件工程思想和软件开发方法的实际掌握程度。

2 结语

软件工程是一门十分重要的计算机专业课程, 其教学成效直接影响学生毕业以后从事软件开发的能力和项目管理能力。本文提出了四阶段教学法, 这种教学方式实现了理论与实践的紧密结合, 极大地提高学生地学习兴趣, 较好地完成了软件工程课程的教学目标。

摘要:本文通过分析高等院校软件工程教学的特点, 结合软件工程课程教学的现状及培养目标, 提出了“知识传授—实例讲解—项目演练—综合考评”四阶段教学模式, 对软件工程教学进行了有益探索。

关键词:软件工程,教学方法,教学研究

参考文献

[1] 王立福, 麻志毅, 张世琨.软件工程[M].北京:北京大学出版社, 2006.

[2] 周苏, 等.软件工程学教程[M].北京:科学出版社, 2002.

[3] Evelyn Stiller.基于项目的软件工程[M].北京:机械工业出版社, 2002.

[4] 沈备军, 顾春华.软件工程教学模式的研究和实践[J].计算机教育, 2005 (1) .

[5] 马燕, 等.软件工程实验教学模式改革与实践研究[J].教育与职业, 2006 (36) .

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:计算机硬件云实验平台关键技术的研究与实现下一篇:阿勒泰地区天然林保护工程存在的问题及对策