项目驱动的《软件工程》教学法初探

时间:2022-09-11 07:13:32

项目驱动的《软件工程》教学法初探

摘要:《软件工程》是我校计算机专业本科阶段唯一一门综合性课程,除了介绍软件开发的过程、原理、方法,还需综合运用多方面的专业知识。抽象的理论知识和高度的实践性使之成为老师难教、学生难学的课程。文章提出采用项目驱动教学法来解决目前软件工程教学中存在的问题,将项目开发贯穿于教学过程,设计了各阶段教学内容、实践内容和实施步骤。教学实践表明,该方法能全面提高学生的动手能力,加深对理论知识的理解。

关键词:软件工程;项目驱动;教学实践

中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2013)34-0124-02

Research on the Project-driven Teaching Method of “Software Engineering”

Chen Haiyan,Zhang Yuping,Zang Lie,Shen Guohua

(College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China)

Abstract:“Software engineering” is the only comprehensive curriculum for undergraduates of our college. In this curriculum,the process,principles and methods of software development are introduced,furthermore,a wide range of expertise are much needed simultaneously. Abstract theoretical knowledge and high degree of practicality make this curriculum difficult for teachers to teach and for students to grasp. This paper proposes applying the project-driven teaching methods to solve the problems existing in the current “software engineering”teaching,In this method,project development activities will go throughout the whole teaching process. Teaching content,practical content and implementation steps of each stage are designed. The practice shows that the method can improve students' practical ability and deepen the understanding of the theoretical knowledge.

Key words:Software engineering;project driven;teaching practice

软件工程的教学目标是教授学生软件开发的方法,以指导学生进行实际系统的开发。《软件工程》课程教学目前仍以教师讲授为主,缺少同步的软件开发环节,这使得软件工程的基本原理、方法只能是抽象而枯燥的概念,学生无法深入体会其精髓和本质,严重影响了学习兴趣。软件工程课程所介绍的内容可以看作是高度总结的软件开发经验,学生只有通过同步的实践才能深刻体会,进而转化为自己的开发经验,在找工作和工作过程中受益。

一、项目驱动教学法介绍

项目驱动教学法是一种建立在建构主义学习理论基础上的、有别于传统教学的新型教学方法。建构主义教学设计原理强调,学生的学习活动必须与任务或问题相结合,以探索问题的解决方法来驱动和维持学习者的兴趣和动机。“项目驱动”教学模式的主要特点是“以项目为主线、教师为主导、学生为主体、注重实践”。将该思想运用到软件工程的教学过程中,就是按照软件工程思想将软件开发项目按阶段展开并贯穿于整个教学过程。通过项目的导入,有效激发学生的好奇心和求知欲,促进学生主动学习;通过项目的逐步展开使学生不知不觉地掌握抽象的软件开发和项目管理知识,并对软件开发过程产生系统的认识;经历整个过程能培养学生分析、解决问题的能力和团队协作精神,最大可能地将理论转化为自己的经验。

二、项目驱动教学法的实施

项目驱动的软件工程教学法包含课堂讲授和项目实施两个部分。教师在课堂向学生传授软件工程的原理和方法,介绍常用开发环境、开发工具,使学生有一定的理论知识准备和平台准备。项目的实施由学生根据所学方法进行项目开发。在实施过程中,教师必须及时评价学生的阶段性成果。此三步就形成了学习—实践—反馈的良性过程。本章剩余内容将详细阐述项目驱动的软件工程教学实施过程。

1.准备阶段。教学内容:软件工程概述;补充介绍选题方法。实践内容:分组与选题。(1)分组。将一个班的学生分为若干个项目组,每组3~5人,每组有一名组长作为项目经理组织后续的项目开发,负责给成员分配角色,如系统分析员、软件设计师、软件开发工程师、软件测试工程师。根据角色,每个成员都有相应的任务。(2)选题。在项目驱动教学法中,项目选择是关键步骤,关系到整个项目能否顺利实施。因此,在各组自选项目时要注意:尽量选择自己熟悉的流程来构建软件系统,如图书馆借还书系统;所选系统有3~5个功能模块,过于复杂则难以把握,过于简单则缺乏整体性;尽可能选择与实际需要相结合的项目、科研创新基金项目等;项目开发所需的软硬件都是可获得的,所需开发技术是学生已掌握的或短期内可掌握的。最后,教师要认真审查学生选题,避免重复,控制规模,确保可实现。

2.需求分析阶段。教学内容:软件需求分析原理、结构化分析法、面向对象分析法;补充介绍主流建模工具、开发平台、Web开发环境。实践内容:深入了解和分析需求,形成文字化需求说明;安装建模工具,使用Rose/Visio进行需求建模,绘制用例图和活动图,完成软件需求分析报告。配置开发环境,熟悉开发环境的使用,编程实现“登录”功能。教师及时批阅和评价需求分析报告,重点检查用例分割的粒度是否合适,指出学生在运用方法和工具解决实际问题时存在的不当之处,对突出问题进行集中讲解,确保学生建立正确的认识,树立信心。

3.软件设计阶段。教学内容:软件设计原理、结构化设计法、面向对象设计法;补充介绍平台设计、界面设计及工具的选择、数据库设计及数据库管理系统的选择、程序设计语言及编程环境的选择、出错处理。实践内容:在Rose/Visio中绘制类图、顺序图、状态图;用PDL对关键处理进行描述;对典型界面进行设计;数据库基表设计;完成软件设计报告。编程实现“读取数据库数据并显示到页面”的过程。教师及时批阅和评价软件设计报告,重点关注类图的合理程度、顺序图表达细度等,指出存在的问题,确保学生充分经历软件设计阶段的各种设计任务。

4.实现和测试阶段。教学内容:软件测试方法、主流测试工具介绍。实践内容:编写系统源代码;设计测试用例,进行单元测试、集成测试和系统测试;完成系统测试报告。教师及时批阅和评价测试报告,指出可能存在的漏洞。在系统完成后,根据开发文档对系统进行整体检查,重点关注学生常常疏忽的出错处理问题,在软件用户友好性方面提出更高要求,增强其专业素质。

三、结束语

初步的教学尝试表明,在项目驱动的软件工程教学模式下,教师和学生的工作量都有大幅增加。教师必须熟悉开发过程和主流开发平台,必须有实际开发经验以应对学生遇到的各种问题,必须积极引导和评价以增强学生开发软件的自信心和成就感。学生则必须依据自身能力进行自主学习与协作学习,在项目开发过程中充分发挥主观能动性和创造性思维,全面提高其作为软件专门人才的综合素质。

参考文献:

[1]舒新峰,陈莉君.“软件工程”教学改革与实践[J].教改纵横,2009,(4):59-60.

[2]曹晓兰,彭佳红.项目教学法在“软件工程”课程中的实践[J].计算机教育,2012,(22):69-71.

基金项目:2011年江苏省教改项目物联网工程特色专业建设研究与实践;2012年南京航空航天大学重点教改项目物联网工程专业卓越计划培养模式研究与实践

第一作者简介:陈海燕,女,博士,讲师,研究方向为数据挖掘、民航信息化。

上一篇:浅议非正式性评价在高中数学课堂上的应用 下一篇:加强大学生“心理亚健康”疏导教育的研究