软件工程实践教学体系的改革与探究

2011-12-09 00:55张运波陈明锐
关键词:课程设计软件过程

张运波,陈明锐

(1.海南琼州学院电子信息工程学院,海南 三亚 572022;2.海南大学 信息科学技术学院,海南 海口570228)

软件工程实践教学体系的改革与探究

张运波1,陈明锐2*

(1.海南琼州学院电子信息工程学院,海南 三亚 572022;2.海南大学 信息科学技术学院,海南 海口570228)

实践教学是学生理论联系实际最直接、最有效的环节,是教学工作非常重要和不可缺少的部分.文章结合我校软件工程课程的实际情况,以“工程应用”为主线,在制定完善教学大纲的基础上,对该课程实践教学体系的构建进行了一些思考和探究.

实践教学;创新性;软件工程

软件工程是一门实践性较强的计算机类专业核心课程,具有应用实践性较强,与产业标准行业规范联系紧密涉及面广的特点,属于高年级的专业必修课,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、规范、技术和方法进行软件工程项目的开发和维护,把经过实践证明正确的管理措施和当前能够得到最好的技术方法结合起来,以较少的代价获取高质量的软件产品.目标是培养软件技术人才所必需的实践能力、工程能力和创新能力,该课程实践教学体系的设计思想与目标是通过对合适的真实项目或模拟项目开发,使学生加深对软件工程原理的理解,巩固课堂教学内容,初步掌握软件项目计划、分析、设计、编码实现、测试的整个过程及最新技术,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力,成为当今信息社会和知识经济时代所需的高素质计算机专业人才[1].实践教学重点要求学生学习与软件开发和维护有关的四个方面的主要内容—过程与模型、方法与技术、工具与环境、标准与规范.实践性教学环节包括:实验课、课程设计、互动学习及竞赛式教学实验课.

1 课程实践教学管理的缺陷

软件工程要求学生学习软件工程的基本原理、概念和技术方法,自觉遵循软件工程方法论中的规范和工业领域中的行业标准;软件工程教学内容中的需求分析设计和软件测试等软件开发技术以及工程化的开发过程(例如软件过程配置管理项目管理等)必须通过实际软件问题求解过程以及团队合作进行体验,而综合的软件开发能力更是需要通过一个完整的软件项目开发过程进行锻炼和培养,因此,软件工程课程实验是巩固课堂教学成果,培养学生软件工程实践能力的重要手段[2].虽然许多软件工程课程都设置了实践教学课程体系,并开设了工程实践环节,但普遍缺乏对实践教学环节的过程管理,而且实践教学效果并不理想,主要存在着下列几个问题:

1)实践教学体系设置不够完善和合理,缺乏对实践教学的过程管理,而且没有建立配套的成绩考核体系.

2)不重视工程化思想的培养,没有很好利用先进的实践管理平台跟踪管理学生实践项目.

3)缺乏一支具备行业工程领域背景和高水平创新实践教学团队.

针对上述问题,如何完善实践教学体系,建设实践管理平台,培养创新性的教学团队,更好地实现理论和实践相结合,是当前急需解决的问题.

2 新实践教学体系的构建[3]

软件工程实践性教学环节包括有符合工程人才培养目标的实验教学大纲和课程设计大纲.

软件工程实验教学应和理论教学相结合,是消化、巩固和应用理论教学的环节,是一个重要的、不可或缺的实践环节.其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件设计、软件测试等阶段的方法和技术,通过该实验课程使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力.

课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节.通常,课程设计中的问题比平时的习题复杂得多,也更接近实际.课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识运用于解决实际问题,培养软件工作所需要的动手能力;另一方面,使书上的知识变活,起到深化理解和灵活应用教学内容的目的.平时的习题局限于一到二个知识点,而课程设计题是软件设计的综合训练,包括需求获取、问题分析,总体结构设计,用户界面设计、编码训练、基本技能和技巧的运用以及一整套软件工作规范的训练、科学作风和团队合作精神的培养.此外,还有很重要的一点是:计算机是比任何教师更严厉的检查者,因此,本课程在安排实验的基础上,又专门安排了课程设计.实验课、课程设计及竞赛式教学体系结构(见表1).

表1 软件工程实践教学体系结构Tab.1The Practice Education System Structure of Software Engineering

实验课是通过实际的操作,让学生加深对软件工程原理的理解,巩固课堂教学内容.课程设计课题的选题是以教师命题和学生自选课题相结合,以学生自选题为主,从系统定义、可行性分析、需求分析、设计、编码、测试等,完成一个完整的应用系统开发,培养学生综合应用知识的能力.互动学习主要包括平时课堂的提问、抽查、讨论,学生对一些疑难问题等还可通过E-mail,qq或者电话进行相互交流和讨论.以锻炼学生动手能力为突破点,本课程开展竞赛式教学.教学过程中让学生5到7人组成一个团队,进行系统分析与设计演讲竞赛,最后作为课程设计作品.竞赛首次由教师当评委并当场点评,课后总结颁奖;以后均由每个团队抽一名学生当评委,并由学生自行总结颁奖.为了把新的实践教学体系内容落实到位,采用了基于网络的“四位一体”教学模式(见图1).实现这一系列改革举措极好地体现了教育面向现代化,面向国际化的方向,培养了学生的实践意识和动手能力,取得了良好的教学效果[4].

3 项目实践管理平台的构建

没有高质量的开发过程,就没有高质量的软件.软件工程过程化的管理是保证实践教学的重要环节.建设完善的项目实践管理平台,对学生实践过程开展科学、规范化的过程管理,包括知识管理,源代码管理、错误跟踪管理、源代码统计、软件测试管理、项目管理.实践教学管理平台支持环境覆盖了企业中软件开发平台的主要功能,有效实施了实践教学过程和质量保障过程的统一管理,也为学生实践软件工程理论和方法提供了有力的底层支撑.在项目实践教学中,采用符合软件产业界标准的软件过程规范,制定了开发流程、文档模板和评审标准[3].例如有国家标准的项目开发计划,软件可行性研究报告,软件需求说明书,概要设计说明书,测试计划和报告,项目总结报告等,让学生能够切身经历项目开发的完整过程,深刻理解软件工程系列课程的理论和方法,提高实战技能和团队协作能力.

4 实践教学考核体系的建立

实验课依照平时成绩进行考核.考核内容主要根据学生平时出勤率和实验报告的成绩,综合评定实验成绩.课程竞赛中学生按照高中低水平,以能充分发挥团队总体实力和充分发挥个人特长为原则,由5到7人组成一个团队,进行系统分析与设计演讲竞赛,最后作为课程设计作品.首次竞赛由教师当评委并当场点评,以后均由每个团队抽一名学生当评委.评分标准分为6项,分别是团队精神、图形规范、表达仪表、系统完整、系统清晰和文字说明,每项以10分计,总分最高者获胜.课程设计考核成绩分为优、良、中、及格和不及格.考核内容分为四部分,其中理论设计方案,开发文档及演示所设计的系统,占总成绩60%;回答教师所提出的问题,占总成绩20%;考勤情况,占总成绩10%[2].例如有小组成员在制作“海口南婷玩具有限公司库存管理”和“小区物业管理系统”系统时,从系统的定义,可行性分析,用面向过程与面向对象的方法进行需求分析,达到总体设计和详细设计,编码成为实用软件水平,测试后真正投入使用,取得良好效果.小区物业管理系统界面见图2.

5 创新实践教学团队的建立

提高实践教学质量,需要建立一支具有行业背景、国际化的创新实践教学团队.防止实践类课程变为纯理论教学,教师必须有新的教学理念、讲授模式和课程管理机制.在实践教学中,教师不再是课堂讲授者,而更像一位工程项目经理,负责提出项目的要求、检查学生项目的开发进度、监督开发过程、评定软件质量.

创新型实践教学团队的建立需要一批高素质的教师,进一步加强教师队伍的建设,通过培养、进修等方式建设一支年龄结构、知识结构合理的、学术水平高、教学能力强、团队精神好的教师队伍.教师要掌握最新的软件技术,使用主流的软件开发平台,对教师能力有较高要求.所以,要重视对教师的培养工作,鼓励和资助年轻教师攻读学位和进修,通过团队合作、以老带青的形式,提升青年教师的研究能力和教学水平.加强实践教学,根据计算机技术和方法的不断发展,不断更新实验设备和实验手段.与校外计算机公司或单位建立合作关系,多与具有实际开发经验的计算机人员交流与沟通,把更多的案例和经验教训引入教学,提高该课程的教学质量[6].

6 结论

总之,实践教学是培养复合型软件工程人才的重要环节,要依据国际先进的工程教育理念,注重培养学生的工程创新思维和创新能力,针对实践教学设计并逐步建立具有可操作性、行之有效的实践课程体系,还要建立实践教学有效监督的管理机制,运用新的成绩考核体系能全面反映学生的综合素质,促进学生的发展;建立一支具有行业背景、国际化的创新实践教学团队,进一步完善课程体系和教学内容,不断丰富课程的典型应用案例,保持课程的前沿性和时代性才能提高该课程的教学效果,从而提高学生的创新思维和创新能力,培养出高质量的人才!

[1]张玉平.浅谈研究型大学的本科实践教学体系[J].实验室研究与探索,2005,24(3):33-34.

[2]陈明锐.海南省级精品课程《软件工程》[EB/OL].[2011-03-10][2011-03-20]http://web6.919t.com/

[3]孟正大.完善实践教学体系平台,加强创新和实践能力培养[J].实验室研究与探索,2008,9(2):23-24.

[4]马秀坤,张志芳,曹靖.自动化专业实践教学改革的探索与思考[J].中国教育技术装备,2010,8(58):68-70.

[5]张建伟,彭燕,刘强,等.软件工程实践教学平台的设计与实现[J].湖南工业大学学报,2009,5(37):56-58.

[6]曾一,朱庆生.软件工程课程体系的构建及其完善[J].重庆大学学报,2002(39):90-92.

Reform and Exploration of the Practice Teaching System of Software Engineering

ZHANG Yunbo1,CHENG Mingrui2*
(1.College of Electronic and Information Engineering,Qiongzhou College,Sanya572022,China;2.College of Information Science and Technology,Hainan University,Haikou570228,China)

As an important and indispensable part of the teaching,practice teaching is also the most immediate and ef⁃fective link to connect theory with practice.On the basis of improving the teaching syllabus of software engineering,this paper tries to explore a new construction of teaching practice on this course,which aims to establish an engineering appli⁃cation-based module according to its practical teaching condition.

Practice teaching;innovative;software engineering

TP 311

A

1674-4942(2011)02-0227-04

2011-02-20

国海南教育十一五课题(Qji11518);海南省高校计算机教革项目(Hjjsj201021)

*通讯作者

黄 澜

猜你喜欢
课程设计软件过程
禅宗软件
描写具体 再现过程
临终是个怎样的过程
龙凤元素系列课程设计
中秋明月
软件对对碰
基于Articulate Storyline的微课程设计与开发
在这个学习的过程中收获最大的是哪些,为什么?
即时通讯软件WhatsApp
圆满的过程