《软件工程》实践教学改革探讨

2017-11-17 10:25任小娟
软件工程 2017年10期
关键词:软件开发软件工程实践教学

摘 要:文章在分析了软件工程课程现状的基础上,找出了传统软件工程实践教学中时间不集中、实践内容不具备挑战性等不足。针对这些不足,本文分别从实验内容设计、组织方式和实施步骤三个方面,详细阐述了在《软件工程》实践教学中采取的新模式和改革措施。通过实践教学的改革,学生的主动学习能力、团队合作能力、沟通交流能力和独立解决问题能力都得到了很大提高,教学效果明显改善,真正起到实践教学推动理论学习的作用。

关键词:软件工程;实践教学;改革;软件开发

中图分类号:TP311.5 文献标识码:A

1 引言(Introduction)

自1968年北大西洋公约组织提出软件工程[1]一词以来,经过将近50年的发展,现已成为集软件工程原理、软件工程方法、软件工程模型、软件工程环境、软件工程管理等内容于一身的一门综合性较强的学科。通过对《软件工程》课程的学习,学生能够了解软件开发的各过程阶段,选择合适的过程模型和开发方法,熟悉使用项目管理中的相关技术,编写各阶段的文档资料,为日后学生在做毕业设计和踏上软件开发的工作岗位时打下一定的基础。

2 《软件工程》实践教学存在的问题(Problems

existing in the practice teaching of Software

Engineering)

《软件工程》课程按软件生命周期划分成若干阶段,如图1所示。学习掌握软件过程模型,选择合适的开发方法和开发工具,并且还要将管理和工程化的思想融于其中,如进度管理、人员管理、经济管理等。因此,《软件工程》课程采用了理论和实验相结合的教学方式,通过理论课程学习软件开发技术,全面了解软件系统的实际开发过程。但理论教学知识抽象,通篇都是文字,需记忆的内容多,学生们感觉比较枯燥。怎样让学生更加容易理解软件的生命周期各阶段?怎样将技术、方法和思想真正地融合于软件开发当中去?《软件工程》课程的实践教学就显得尤其重要。一个好的实践教学,会使学生在理论学习中学到的知识点能够得到更好地理解和掌握,对理论学习起到一个很好的推动作用;而且有时实践教学过程中还会出现一些创新点,这样更能激发学生的学习兴趣,也能丰富教师的理论知识,做到授课的时候实例信手拈来,因此实验与理论教学是相辅相成、必不可少的。

根据《软件工程》课程的特点和培养计划的安排,本学院安排该课程理论学时较多,实验学时很少,而且实验时间也很分散,即两周上一次课。实验课内容只能要求学生利用CASE工具,按照老师提供的系统进行建模和编写软件开发各阶段的文档。由于缺乏挑战性,导致学生对此不感兴趣,照搬照抄的现象比较严重。这样不仅学生的实践能力没有真正地得到锻炼,而且也没法推动理论教学。因此如何开展能够取得良好教学效果的实践教学就显得尤其重要。

3 《软件工程》实践教学改革与实践(Reform and

implementation of the practice teaching of

Software Engineering)

基于以上,在《软件工程》实践教学中出现的问题,该课程的实践教学改革已迫在眉睫,希望通过实践改革,能确实提高学生的分析、设计、沟通、管理等各方面能力,于是我们主要从实验内容设计、组织方式和实施步骤这三个方面对《软件工程》实践教学进行了改革与创新的尝试[2,3]。

3.1 实验内容设计

设计的题目受到时间、学生能力等因素的限制,不能太难,也不能过于简单,因此需要严格把关。如果选择诸如“图书馆管理系统”“成绩管理系统”等题目[4],这些系统对于学生来说过于熟悉,易于掌握系统的需求,学生们就不会花费太多的精力去进行需求调研,而是直接进行编程,从而就会產生“软件开发=编程”的误区,总是认为编程是最重要的;同时也丧失了锻炼自己沟通、合作等方面能力的机会;此外,学生对此类题目缺乏兴趣,只会应付了事。由此可见,软件工程实践中应采用具有一定的操作性(即可结合本校实际情况,就地取材,方便学生随时随地调查研究),而且还要具有适当难度(日后可以进一步扩充完善)的题目,如学生宿舍管理系统。学校目前没有类似的系统,学生参与度高,这样既能激发学生的开发热情,还能培养他们的沟通、合作及各方面综合能力,从而真正达到课程实践的意义。

3.2 组织方式

软件工程实践课程意在培养学生的团队合作精神、交流沟通能力和软件研发能力,让他们获得较真实的软件开发经验,从而丰富他们在校期间无开发经验的经历,为日后进入软件开发公司打下基础。所以我们采用的是仿企业职责分配式的“项目小组”形式。先让学生自由选组,然后再根据学生能力统一调配,最后确定每组人员5—6人,推选出一名项目负责人,由其召集小组成员选定开发题目。

企业中会按照职责分配设置为系统分析员、设计员、程序员和测试员等,但是就现在大三的学生来说,不能完全仿照这种方式来。从图2来看[5-7],学生目前学习较多的是程序设计课程,而分析与设计工作才刚接触。如果采用职责分配的方式,显然不太合适,因此在此阶段采用“共同合作,集思广益”的方式,学生们共同分析要与之打交道的用户,选择合适的沟通方式,共同设计调查问卷等,帮助部分学生克服“不知道怎样与陌生人打交道”的心理问题,提高了他们的沟通技巧,增强了分析能力,更便于学生的成长和进步。而在编程时,需要项目负责人进行合理分工,责任明确。这样的实践组织模式,既能培养学生的团队合作精神,又能锻炼他们的独立解决问题的能力,能够起到事半功倍的作用。

图2 软件工程实践教学方案结构

Fig.2 Software engineering practice teaching

scheme structure

3.3 实施步骤endprint

软件的生命周期各阶段被划分成问题定义、可行性研究、需求分析、系统设计、编码和单元测试、综合测试和软件维护阶段,而在实验过程中,我们把部分阶段进行了简化,具体详见表1[8]。而且在整个生命周期中,并不是所有阶段都适合在实验室进行,有些任务工作不可避免地要在课后完成,如需求调研等。因此就将实践上课时间进行了调整,由原来的分散上课,调整成将16节实验课集中在一个月内上。这样既能保证前期学生们有足够的时间进行分析和设计,也能促进他们在后期进行系统联调。

4 《软件工程》实践教学改革效果(Reform effects

of the practice teaching of Software Engineering)

目前,《软件工程》实践教学改革已在山东英才学院信息工程学院计算机科学与技术专业的学生中进行了实施,教学效果有了明显地改善。第一,学生的参与度很高,很有兴趣。如开发“班主任管理系统”小组,在需求分析阶段大家畅所欲言,积极踊跃,本来计划只有一人进行讲解,结果该组有三人上台表达了自己的意见。第二,实践教学推动了理论知识的学习。在开发系统过程中,难免会遇到问题,学生通过各种途径来获取知识,如查找书籍,请教老师和同学,从网络中寻找答案,因此学生主动学习能力得到大大提高。第三,学生的综合能力明显增强。学生的管理能力(尤其是项目负责人)、团队合作能力、交流沟通能力和独立解决问题能力都得到了明显提高。虽然学生们所做的系统并不那么完善,但这并不影响他们的成长进步,而且很重要的一点是学生们体验到了软件开发的整个过程,感受到了来自团队合作的魅力,这才是软件工程实践教学的真正意义。

5 结论(Conclusion)

从《软件工程》实践教学改革的效果看,我们取得了一定的成绩,同时也得到了学生们的肯定。以后随着软件工程实践教学模式的日趋完善,学生们的各项能力必将得到持续稳定的提高。

参考文献(References)

[1] 张海藩,牟永敏.软件工程导论(第6版)[M].北京:清华大学出版社,2015:1-14.

[2] 张美娜,迟呈英.《软件工程》实验教学改革与实践研究[J].教育教学论坛,2013(37):25-27.

[3] 馬燕,张根耀,王文发.软件工程实验教学模式改革与实践研究[J].教育与职业,2006(532):149-150.

[4] 贾经冬,林广艳,谭火彬.面向市场需要的软件工程实践教学改革——以北航软件学院为例[J].北京航空航天大学学报(社会科学版),2014, 27(2):108-112.

[5] 邓晓军,李长云,王志兵,等.基于项目驱动的软件工程专业实践教学改革[J].湖南工业大学学报,2013,27(4):99-102.

[6] 陈昊,明仲,彭小刚.软件工程课程群实验教学改革探讨[J].实验科学与技术,2011,9(4):94-96.

[7]王长波,董军.教学科研实践一体化,知识能力素质齐增长——软件工程专业实践创新教学改革探索[J].计算机教育,2010,(7):9-11.

[8] 金孟霞.创建《软件工程》实践教学改革新模式[J].海南广播电视大学学报,2008(31):57-58.

作者简介:

任小娟(1976-),女,硕士,副教授.研究领域:软件工程,数据挖掘.endprint

猜你喜欢
软件开发软件工程实践教学
信息安全环境下的计算机软件开发研究
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
核电厂定期试验管理软件开发
关于如何创新和完善计算机软件工程管理的探讨
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
高职院校商务礼仪课程教学改革探索刍议
FPGA软件开发过程中编码规范的作用
《数据库高级应用》教学创新方法研究