黄 健,程 虹,吴中博
基于合作学习的“软件设计与体系结构”教学
黄 健,程 虹,吴中博
(湖北文理学院数学与计算机科学学院,湖北襄阳 441053)
“软件设计与体系结构”是软件工程专业的重要课程,传统的“软件设计与体系结构”教学存在弊端,革陈出新势在必然. 文章将合作学习运用到“软件设计与体系结构”教学中,试从合作学习教学环境的建立,合作学习过程的实施,合作学习多元评价方式的形成等方面入手展开,以期为“软件设计与体系结构”教学改革提供必要的参考.
合作学习;软件设计;体系结构;教学改革
随着计算机技术的发展,以信息技术为核心的高新技术不断影响着经济社会的发展,影响着人们的生产与生活. 在信息技术产业迅速发展的前提下,我国各大院校纷纷设立软件工程学院,开设计算机软件相关专业,培养计算机软件人才,以满足市场发展对人才的需求. “软件设计与体系结构”是软件工程专业重要课程,重点在于培养学生的软件设计思想、运用软件开发技术的能力. 但是,目前我国高校“软件设计与体系结构”教学方法存在弊端,教学改革也处在起步阶段,因此,相关的教育工作者确有必要对此作进一步的深入研究和探讨[1]. 在此,笔者结合当前实际,试从合作教学出发,来探析“软件设计与体系结构”教学新途径,以期为“软件设计与体系结构”教学改革提供必要的参考.
合作学习兴起于20世纪70年代的美国,随着合作学习的应用发展,在我国教育领域也日渐受到重视. 合作学习是一种系统学习方式,也是一种教学策略. 在教学过程中将学生分为不同的学习小组,小组有一个共同的目标,通过学生之间在小组之内的相互学习、相互合作、相互讨论,最终完成设置的目标任务,从而完成各个学生的具体学习任务.
在传统教学中,“教师讲、学生听”的模式不利于学生与学生之间,教师与学生之间的实时互动与交流. 合作学习却注重发挥教学集体互动的特点优势,一改传统教学注重教师讲而忽略学生自主学习的状况,而将教学重点放在学生的互动上. 把合作学习运用到课堂上,构建以学生互动学习为根本的新型教学模式,学生通过互动学习活动来完成各自的具体任务,通过合作来完成共同的目标任务,从而促进学生的分工协作与共同发展,提高教学效率. 同时,在合作学习中,小组内的每个学生鉴于完成共同的目标任务,将会进行明确的责任分工,开展一系列的互助学习与活动,共享信息和资源. 并且,合作学习互动不仅仅限于学生之间,更强化了学生与教师之间的交流,从而达到了提高学生学习能力与认知水平的目的.
“软件设计与体系结构”主要是深入研讨软件设计的相关理论与技术,重点在于培养学生用工程化的方法设计、开发、维护软件. 其中包括软件开发理论、原理、方法和技术,解析软件开发、维护、管理等工程活动. 对“软件设计与体系结构”学习必须具备工程化思想,要求高;同时工程软件的运行与设计离不开研发团队,其中每一个开发人员必须具有基本的团队精神. 工程软件从设计、开发到顺利运行需要各个环节工作人员的共同努力与通力合作,某个人或某些人是不能够完成的. 完整的软件开发项目必须将各个环节的研发与组织者拧成相互协作的统一整体,团队成员间相互交流、相互合作、共同完成,而大型工程软件更是需要团队的通力合作.
“软件设计与体系结构”是软件工程的重要课程之一,综合性高、实践性强、专业特点突出. 这就突显出了开展合作学习,培养学生的工程能力与团结协作精神的必要性和迫切性. 团结协作是现代应用型软件人才必备的基本能力与素质. 具体在“软件设计与体系结构”教学中,应充分贯彻合作学习方式,共享学习信息与认知经验,参照真实的软件开发流程,模拟软件开发情境,训练在团队框架下的以小组学生为单位来完成软件工程项目. 教师是教学的引导者和组织者,要全程参与合作学习过程中,通过师生之间面对具体问题的交流,来引导学生完成目标任务,促进学生的学习与开发设计的积极性. 总之,“软件设计与体系结构”特点决定了其在教学中应用合作学习的合理性,是教学改革的必然要求[2].
3.1 明确课标
“软件设计与体系结构”内容主要有软件设计及软件体系结构的相关思想、理论与方法,包括软件设计与软件体系结构在软件工程中的地位和作用、软件设计的基本方法与原则、统一建模语言UML2.0、面向对象的软件设计方法、面向数据流的软件设计方法、人机界面设计、软件体系结构风格与设计模式、基于构件的软件体系结构、软件体系结构评估、软件设计进化等内容. 课标重点在于培养学生从软件体系结构角度开展软件设计,分析软件体系结构的能力,并探析已有软件的优势与不足,提出整改意见和方案;达到学生系统学习之后,设计出适合软件体系结构和形成相应的软件体系的整体风格的目的. 明确了课标要求,学生历经基于合作学习的不断实践,从而提高和培养学生设计大规模软件的技术水平和动手能力,以利于学生在合作学习中实现教学目标[3].
3.2 建立合作学习教学环境
对于“软件设计与体系结构”,仅为学生提供简单的软件工程项目是不够的. 软件开发的每一个环节都需要不同的技术与组织人才,需要每个研发者能够全面充分地在软件工程开发的各个环节中得以发挥,成功的软件开发离不开严格专业的产业化的生产运作,包括项目规划,项目设计,项目开发、测试、包装、宣传、营销、售后服务等等. 学生在学习中不仅需要熟悉软件设计与体系结构理论知识,更要学习掌握整个软件开发的总体过程,唯有如此,才能在真正意义上熟悉软件开发过程和把控研发全局[4]. 这种流程细节与全局整体缺一不可密切相联下的合作学习,首先要有适合学生合作学习的教学环境,配备软件开发的硬件设施尤其必要. 在软件课程项目中引进先进的软件工程,合理地使用建模工具、测试工具、软件设计开发设备等进行软件的分析、设计、测试. 还可以模拟企业开发软件的具体流程,编写“软件设计与体系结构”相关的软件设计流程规范,指导学生依据实际操作过程和步骤,在合作学习中有序地提高. 总之,合作学习下的“软件设计与体系结构”,通过模拟企业的软、硬件工作环境,让学生在具体的情境中开展研习,会使他们终生受益[5].
3.3合作学习的实施
合作学习教学模式强调全部学生在合作下共同学习、共同进步,仅将几个学生组织起来的学习是远远不够的. 合作学习可针对教学目标将学生进行合理分组,有利于教师对学生进行因材施教,提高教师的教学效率. 在“软件设计与体系结构”中,教师根据学生的具体学习认知能力将学生分为不同的小组,小组内的成员根据不同的技术水平和性格差异进行不同层次的分工. 小组的共同目标是一致的,但是每个成员的具体分工是不同的,小组成员之间互相合作,完成最终的目标项目.
教师可以通过具体案例来实施合作实习过程,比如:设置具体的教学情境为某软件工程企业,学生为企业员工,目标任务是开发具有一定规模的软件系统. 教师将学生分为5到8人的小组,小组成员自己进行“角色分配”. 项目组长主要负责软件开发任务的分配、进度管理以及人员协调,软件测试员主要负责软件的测试以及软件开发各个阶段的质量保障,软件设计师主要负责软件系统设计以及代码编写,软件需求分析员主要负责文档的撰写、传达客户意见与需求等工作. 各个小组成员在完成任务目标的过程中既有分工又要合作,小组内成员的交流和讨论有助于调动学习的主动性,积极性;小组中每个角色首先单独制定各自工作的内容与流程,然后进行汇总讨论,将每个角色的任务和流程汇总成一套完整的软件设计与开发流程. 最后再讨论实际操作问题. 同时,教师须参与全过程,给予学生必要的指导,指导过程是教师与学生的交流过程,加强了学生与教师间的互动与联系. 合作学习具体环节上既要注重学生小组内的合作,还要关注小组之间的竞争,确保每个小组成员都能完成属于自己的任务,鼓励小组成员之间、小组与小组之间的互帮互助,培养学生的团队意识[6].
3.4 形成多元化的评价方式
在合作学习的过程中,小组成员间的信息交流与共享是重点,从中能够发现各自成员在软件设计与开发项目过程中的优势特长与存在的问题. 因此,如何评判成绩与问题,对结果达成共识是必不可少的,也是非常必要的. 作为工程项目,采用项目评价方式比较适宜. 可以实行小组内成员互评,分析每个成员存在的问题或缺点,小组内部成员协助解决. 在项目完成后,各个小组展示自己的软件设计与开发成果,实行小组互评,从而让各小组能够通过评判自己与评判别人来学习其他小组的优点,认识到自己在实践过程中的不足,进而改进方法并进而解决学生学习的盲目性,有针对性地提高学生的学习与实践效率. 教师还应在学生自我评价全部结束后,从整体上总结学生在合作学习过程中存在的共性问题、难点环节,及时指导学生纠偏扶正,必要时进行现场演示,让学生更加深刻地体会到自己在学习与实践中的成败原因之所在. 通过对合作学习这种多元化的评价方式来实现学生的个体发展,促进学生合作精神的形成.
综上所述,在“软件设计与体系结构”教学中实施合作学习是必要的,具有可行性. 其充分发挥了学生的主体地位,考虑了学生的个体差异性,结合了教学目标,构建了合理的教学环境,把理论学习与真实案例实践相结合,采用了工程项目中的互评方式,从而引导学生既积极主动、分工明确,又整体协调地进行学习与实践. 并且,在学生学习与掌握软件设计与开发过程中,不仅加强了学生与教师之间的实时互动与交流,培养学生的自信心和主动性,而且提高了学生的实践能力,培养了学生的团队合作精神,为学生日后参加社会工作打下了坚实的基础.
[1] 骆 斌, 臧斌宇, 丁二玉. 软件工程专业教育知识体系的分析、重构与求精[J]. 计算机教育, 2010(23): 2-8.
[2] 骆 斌, 葛季栋, 丁二玉, 等. 软件工程专业课程体系的研究与创新实践[J]. 计算机教育, 2010(23): 9-13.
[3] 曾明星, 周清平, 王晓波, 等. 软件工程专业“项目化”教学实施体系的构建[J]. 实验室研究与探索, 2013(05): 158-163.
[4] 杨慧炯, 韩燕丽. 应用型工科院校软件工程专业工程化特色人才培养模式研究[J]. 计算机教育, 2012(06): 19-25.
[5] 史铭之. 中美合作学习的比较研究[D]. 成都: 四川师范大学, 2006.
[6] 尚金兰. 复杂理论视域下的小组合作学习研究[D]. 上海: 华东师范大学, 2012.
Teaching of“Software Design and Architecture”Based on Cooperative Learning
HUANG Jian, CHENG Hong, WU Zhongbo
(College of Mathematical and Computer Sciences, Hubei University of Arts and Science, Xiangyang 441053, China)
“Software Design and Architecture” is an important course in software engineering specialty. There are drawbacks in the traditional teaching of “Software Design and Architecture”, the new trend is inevitable. In order to provide the necessary reference for the teaching reform of “Software Design and Architecture”, the paper applies the cooperative learning to the teaching of software design and architecture, it will start with the establishment of the cooperative learning environment, the implementation of the cooperative learning process, the formation of the multi evaluation method of cooperative learning.
Cooperative learning; Software design; Architecture; Reform in education
(责任编辑:陈 丹)
G423.07
A
2095-4476(2015)08-0086-03
2015-06-08;
2015-07-01
湖北省教育科学十二五规划项目(2012B191)
黄 健(1969- ), 男, 湖北武汉人, 湖北文理学院数学与计算机科学学院讲师.