09

2024-05

软件工程课程教学设计与改革探讨

| 来源:网友投稿

摘要:本文分析了《软件工程》的理论教学和实践教学过程中存在的问题,并结合教学的实际情况和现实需要,设计出了集综合性、理论性、实践性于一体的该课程教学体系。并强调了任务驱动、案例教学、基于知识点的教学法在该课程组织教学中的运用。

关键词:教学设计案例教学知识点教学任务驱动

中图分类号:G420文献标识码:A文章编号:1674-098X(2011)03(a)-0162-01

1 引言

传统的软件工程课程主要讲授软件工程的基本原理,以及软件生存周期中各阶段的任务、过程、方法和工具。我们在授课过程中发现学生普遍认为该课程内容抽象,难于理解和接受。主要原因是软件工程的理论性、综合性比较强,而大部分教材的重点在于阐述一般原理,对于如何基于这些原理指导实践阐述的不够。另外,软件工程和其它实验性较强的课程(例如,程序设计)相比较,实践教学的开展比较困难。因为软件生命周期的各阶段是相互衔接的,一个阶段的成果是下一阶段的工作基础,每个阶段都不是独立的,很难在每个阶段布置不相关的实验内容。传统的软件工程教材及教学方法已经越来越不适应当前教学需要,必须对软件工程的教学内容和教学方法手段进行改革。

2 软件工程课程建设的依据

OOSD是当前软件开发中先进的、主流方法。在ACM CC2001草案中,软件工程课程中把OOSD放在十分重要的位置,课程中的核心内容都强调OOSD的实现原理、技术、方法。ACM CC2001草案中列出了软件工程的七大核心专题,即:(1)软件过程和软件生命期模型;(2)需求分析;(3)软件设计(强调OOSA、OOSD方法);(4)测试和评估(除强调单元测试、集成测试、验收测试和系统测试外,强调面向对象的测试方法);(5)软件进化(强调可维护软件的特征、软件成熟度、软件重构、软件重用等);(6)软件项目管理(强调开发人员的组织、项目进度、软件评估、项目风险、软件质量保证、软件配置管理、项目管理工具等);(7)软件工具和环境(重点在编程环境、需求分析建模工具、测试工具、配置管理工具、工具集成机制等)。

从中可以看出,软件工程的教学目的是指通过理论教学和实践教学,使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的团队合作意识和良好沟通能力,培养学生对技术文档的编写能力,提高学生软件工程的综合能力和软件项目的管理能力。

3 教学设计

3.1 课堂教学设计

课堂教学内容以软件工程中涉及到的主要知识点为主线,采用基于知识点和案例教学(我们以学生比较熟悉的图书管理系统为教学案例)为主要教学方法,以任务驱动的方式展开组织教学。同时穿插讲解UML建模与分析设计方法。注重理论联系实际。例如:软件工程概述单元的知识点有软件危机;软件工程概念;过程模型;统一过程;敏捷过程;统一建模语言UML,主要讲解软件过程模型及其优缺点,并讲解各阶段的CASE工具;需求分析与用例建模单元的知识点有:项目计划、可行性研究、需求分析任务(起始,需求获取与导出,需求精化,协商,规格说明,需求评审与确认,需求管理)、需求分析方法(总体分析,建立数据模型,建立用例模型,建立对象模型,建立动态模型)、需求规格说明书(格式规范,案例),主要讲解(1)案例以《图书管理系统》为例,给出项目背景及项目目标,要求学生在后续课堂实验中陆续完成相关任务,并提交相关阶段性成果,(2)将学生分成5~6人的小组,并指定小组长,(3)提交各阶段成果前要求各小组组织讨论并由组长报告,由教师结合实际给出点评意见;软件设计单元的知识点有:设计工程(设计过程和设计质量,设计模型,基于模式的软件设计)、体系结构设计(软件体系结构,数据设计,体系结构风格与模式,体系结构设计,评估可选的体系结构,映射数据流到软件体系结构)、构件级设计(构件,设计基于类的构件,实施构件级设计)、用户界面设计(黄金规则,用户界面分析与设计,界面分析,界面设计步骤,设计评估),补充讲解面向对象的软件设计模式、UML(用例图、活动图、类图、顺序图、状态图、构件图、包图、部署图)、界面设计工具等内容,便于学生利用CASE工具深度分析与设计系统;系统实现单元的知识点有:程序设计语言、软件编码规范、软件代码审查;系统测试单元的知识点有:软件测试策略、实用测试策略(传统软件测试策略面向对象软件的测试策略)、系统测试(单元测试,确认测试,系统测试,调试技术)、测试技术(软件测试基础,白盒测试,墨盒测试,面向对象测试类级可应用的测试,类间可应用的测试),是基于知识点进行讲解,主要讲解如何设计测试用例、如何实施软件测试及测试工具的使用等。

3.2 实践教学设计

软件工程和实际的应用软件开发紧密相关,软件工程理论是实践经验的总结,同时它又指导软件开发实践。为了改善教学效果,让学生理解并感受到软件工程理论从实践中来又到实践中去的思想,更好地掌握软件工程理论,我们采用课堂实验+综合设计的模式组织实践教学(10次实验+1周综合设计)。按照“软件工程”理论课的进度,将不同阶段的任务分解为10次实验,实验的内容包括工具的学习和软件工程方法的掌握及每个阶段的文档的编写。最后一周分组(每组5~6人并指定组长)完成一个小规模的软件开发全过程,目的在于培养团队精神、合作意识及学生对全过程的把握能力。

结合软件工程课程的特点,课堂实验题目仍使用《图书管理系统》,通过一个实例的开发,使学生理解并掌握软件开发各个阶段的内容及提交的文档,并熟悉UML建模工具的使用,培养他们的创新意识和独立思考的能力。

4 结语

在从事《软件工程》教学的过程中,笔者结合软件开发项目实际,对教材进行了大量的处理,形成了集理论与实践并举的《软件工程》课程体系,并进行了基于知识点教学和案例教学相结合的尝试,取得了比较好的实践效果。但是在后续的工作中还有一些问题需要进一步深化和探讨。例如如何让学生体会项目管理、软件维护等问题,有待我们进一步完善。

参考文献

[1] 窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2009.

[2] 吕云翔,等.软件工程课程设计[M].北京:机械工业出版社,2009.

[3] 刁成嘉.UML系统建模与分析设计[M].北京:机械工业出版社,2009.

推荐访问:软件工程 教学设计 探讨 课程 改革

最新推荐New Ranking

1软件实施方案(实用8篇)(完整文档)

方案是从目的、要求、方式、方法、进度等都部署具体、周密,并有很强可操作性的计划。我们应该重视方...

22023年应聘自我介绍(优秀18篇)(精选文档)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料...

3房屋租赁合同电子版免费(汇总19篇)【优秀范文】

在人民愈发重视法律的社会中,越来越多事情需要用到合同,它也是实现专业化合作的纽带。那么合同书的...

42023年度上课看课外书检讨书(模板20篇)(精选文档)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料...

52023年最新春节晚会结束语十字(11篇)(完整)

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写...

6护理干事个人总结(实用8篇)

工作学习中一定要善始善终,只有总结才标志工作阶段性完成或者彻底的终止。通过总结对工作学习进行回...

7坚持方面名人名言(通用16篇)【优秀范文】

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便...

8代发工资协议签好后多久发放(优秀8篇)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便...

9美术论文鉴赏(大全19篇)【精选推荐】

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想...

10领导辞职报告(汇总20篇)(范文推荐)

在经济发展迅速的今天,报告不再是罕见的东西,报告中提到的所有信息应该是准确无误的。报告对于我们...