HI,欢迎来到学术之家,期刊咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 软件技能论文

软件技能论文

时间:2022-10-21 08:36:20

软件技能论文

第1篇

信息技术教育是时展的要求,是社会对劳动者基本素质培养的要求。要确保信息技术教育的流畅实施,必须对信息技术教育对应的文化层面有一个准确的认识。信息技术教育的最终意义,是使受教育者在适当的认知年龄,接受适当的信息文化熏陶,使其具备驾御信息文化、自由于信息社会的基本能力。因此,其接受信息文化的过程,应该是信息技术文化内化的过程。笔者对20世纪40年代以来具有代表性的、独特的信息价值观思想进行梳理和归纳,期望能充实信息文化教育的内涵。

硬件主导论:硬件决定一切信息技术发展初期面临的最大难题是硬件制造,全世界一年内能造出的计算机屈指可数,这些庞大而昂贵的计算机难以操作且极不稳定,有些计算机甚至需要通过调整电路结构来应对不同的计算任务。在这种背景下,硬件成了决定信息系统价值的核心因素,甚至是唯一因素,从而形成了硬件主导论,即硬件的价值等同于信息系统的价值,其他组成均附属于硬件。基于这种认识,当时的硬件厂商通常会把配套软件的源代码免费送给用户,以方便他们根据自己的需要进行修改。硬件主导论存在很大局限,忽略了软件等系统其他组成的价值,但正是在它的影响下,大量的社会资源集中投向硬件制造领域,制造工艺飞速发展。

软件价值论:软件具有独立价值随着硬件制造技术日益进步,越来越多的机构甚至个人购买计算机处理事务,计算机的使用情况发生了很大变化:一方面,使用目的日益丰富;另一方面,用户大多不具备开发软件的技能。于是,能否提供易用、可靠的软件成了评测信息系统的重要因素,软件的重要性日益突出。为了保护自身利益,开发者不再提供源代码,甚至要求用户付费购买软件。对软件的旺盛需求促使研究者反思硬件和软件的关系,并形成了软件价值论,即软件不是硬件的附属品,而是具有自身独立的价值。软件价值论深深地影响了中小学信息技术教育,无论是学习编程还是学习多媒体处理,都离不开软件的支持。在很长一段时间里,软件操作成了信息技术课程的焦点。

开源共享论:开放源码共享智慧开源共享论来自开发人员对软件价值论的反思,他们认同软件的价值,但反对闭源或设置软件专利等手段。他们认为,软件、通信协议等是人类智慧的结晶,不应掌控在少数商业机构手中,而应开放给全人类自由使用,开源正是保证这一权利的必要手段。经过长期努力,开源精神开始从软件开发向其他领域延伸。近年来,随着软件行业垄断的加剧,很多国家希望借助开源获得信息产业上的突破,开源共享的呼声日益高涨。与此同时,在中小学开展开源文化教育得到了更多关注,我国一些省市已明确把开源文化纳入课程。

普适计算论:计算无处不在普适计算论最早在1988年被提出,表现为人们能在任何时间、任何地点、以任何方式处理信息,而不必关心技术和设备。普适计算论源自科研人员对“人-机”关系的重新思考,力图让人成为信息系统的中心,其倡导的“以人为本”理念对信息技术普及具有重要意义。这一理念在信息技术课程改革中受到了充分重视,教育的重心从关注软件操作转变为关注学生信息素养的培养,不过计算机的中心地位还未动摇,已有的发展成果也没能得到课程设计者的充分认可。

网民时代论:你我都是时代人物随着以社交类网站、微博等为代表的Web2.0应用迅猛发展,网民时代论应运而生。网民时代论将网络技能看做必备的生存技能。基于这种认识,教育者必须重新审视原有的课程基础是否恰当,也必须慎重思考“常见的因特网服务”等内容是否应当成为每个学生都必须学习和掌握的必修内容。

(作者单位:人民教育出版社)

第2篇

关键词:项目驱动法;软件测试;教学方法

作者简介:赵晓君(1979-),女,河南南阳人,郑州轻工业学院软件学院,讲师;黄艳(1976-),女,河南信阳人,郑州轻工业学院软件学院,副教授。(河南 郑州 450002)

基金项目:本文系郑州轻工业学院校级青年教师教学改革项目的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)07-0101-02

随着软件产业的快速发展,软件系统的规模越来越大,功能实现也越来越复杂,导致软件中存在的缺陷数量大大增加,这些缺陷将会带来各种损失,甚至出现灾难性的后果。因此,如何保证软件质量已成为所有使用软件和开发软件的人们关注的焦点。软件测试作为软件工程的一个重要组成部分,是目前用来验证软件是否能够满足用户需求功能的唯一有效方法,是保证和提高软件质量的重要环节。为适应软件产业的发展趋势和满足软件测试人才的大量需求,目前已经有许多大学在软件工程专业添加软件测试课程或者添加软件测试专业方向。

软件测试专业包含多门专业课程,有“软件测试理论”、“软件测试技术”和“软件缺陷管理”等,其中,“软件测试理论”课程重点为初学测试的同学讲解测试的基础理论知识,主要包括软件测试基本理论、软件测试方法和技术等,在多门专业课程中占有举足轻重的地位。

一、“软件测试理论”教学现状

“软件测试理论”课程重点介绍软件测试的基本理论,因此整个课程主要以教师讲授为主,在教学的过程中存在以下问题:

1.教学内容理论性较强,难以调动学生学习的主动性

对于初学软件测试的学生,首先要向其讲授相关测试理论,使其建立系统的测试理念。

但是学测试的学生大都是理科生,喜欢操作性强的课程,“软件测试理论”课程的理论性太强,需要背诵很多概念性的知识,这对于他们来说是比较困难,不能激发学习的主动性,教学效果不理想。

2.测试方法和技术案例实际应用价值不足,学生很迷茫

测试方法和技术是“软件测试理论”课程学习的重点和难点,这部分内容仅靠老师的讲解和书本上的案例很难让学生深入理解掌握测试技术的内涵,学生在学习这部分知识时会产生迷茫:学习这些知识有什么用处,在具体的项目测试中,应该怎样应用这些知识?没有实际的项目案例做支撑,学生会失去继续学习下去的兴趣。

针对上面的问题,本文提出将项目驱动法应用于“软件测试理论”课程的教学中,学生在进行项目实践的同时,根据需要学习软件测试相关理论知识,这样有助于提高学生的学习主动性,有助于理论知识的牢固掌握,有助于提高学生的实践技术能力,改善该课程的教学效果。

二、项目驱动法

项目驱动法是目前中国教育领域中一种比较新的教育教学方法。

所谓项目驱动法,是师生通过共同实施一个完整的项目工作而进行的教学活动,它既是一种课程模式,又是一种教学方法。[1]这里的项目根据课程教学内容的不同所包含的涵义也不同。在“软件测试理论”课程教学中,项目即指一个已经开发完成的软件测试工作。通常,项目教学都是实践导向的和任务驱动式的教学。

在项目驱动模式的教学活动中,教师根据学生现有的知识水平和项目经验选择一个合适的项目,以项目实施为主线展开教学活动,把课程相关的知识点的讲解融入项目操作的每个步骤中。在项目实施的过程中,以学生为中心,教师主要做组织和指导工作,学生在整个项目的实施过程中处于探索知识的情景中,充分发挥主动性、积极性和创新精神,综合运用所学的知识和技能解决实际问题,最终达到有效地将所学知识系统化深入化的目的。

这种模式从根本上将传统课堂中老师满堂灌转变为“学生为主体,教师为主导”的教学模式。同时,学生通过一个具体项目的实践,感受到了真实项目管理的思想和团队协作的必要性,提高了学生的创新能力和项目实践能力。拥有真实项目的实践经验使得学生在择业时拥有很大竞争优势。

将项目驱动法应用于“软件测试理论”课程教学中,在课程理论教学中加入一个完整的项目测试实践环节,通过项目实践能够很好地激发学生的学习主动性,使学生经历了一个“先做,遇到问题,再学,解决问题,再做,获得经验”的学习过程,最终完成一个完整的软件测试实践,同时也学到了“软件测试理论”课程应该掌握的理论知识。这样,既解决了软件测试理论课程理论性太强的问题,又解决了测试方法和技术案例实际应用价值不足的问题;而且丰富了学生的实践经验,提高了软件测试理论课程的教学效果。

三、“软件测试理论”课程教学目标和教学内容

1.教学目标

通过本门课程的学习和实践,理解软件测试理论与原则;掌握主流测试技术和方法,熟悉测试用例的编制、熟悉软件测试的基本流程,熟悉软件测试过程中各类技术文档的编制规范,并能灵活运用测试技术解决实际问题。

对于一个具体项目软件,每一个学生都能够顺利完成如下手工测试流程:根据软件需求规格说明书撰写测试计划,设计测试用例、进行测试环境配置和测试数据准备工作、执行各种测试,撰写缺陷报告、跟踪并修复缺陷、进行测试评测,最后提交测试总结报告,达到软件企业对测试专业人才的要求。

2.教学内容

“软件测试理论”课程的教学内容主要包括软件测试基本理论、软件测试基本技术、软件测试过程和软件测试工具。[2]

软件测试基本理论包括软件测试、软件缺陷和测试用例的基本概念,测试的目的、测试模型、测试分类和测试流程。

软件测试基本技术包括白盒测试和黑盒测试;其中白盒测试包括静态测试和动态测试,动态测试又包括程序插桩、逻辑覆盖、基本路径测试等;黑盒测试包括等价类划分、边界值分析、因果图法、判定表法、场景法等。这些基本技术都是在进行测试用例设计时使用的。

软件测试过程是指执行测试的过程,通常分为四个阶段:单元测试、集成测试、系统测试和验收测试。

软件测试工具有多种:功能测试工具、性能测试工具和测试管理工具等。

四、项目驱动法的应用方案

1.项目的设计

实施项目驱动法,首先需要设计项目。项目的设计与选取直接影响到该教学模式的教学效果及学生的学习兴趣。“软件测试理论”课程项目的选取与其他课程又有所不同,学生要进行的操作是对现有的或者已经开发完成的软件的测试工作,因此在设计项目时应遵循以下几条原则:

第一,项目是现有的软件或已经开发完成的软件,软件中有部分明显错误,有部分隐藏错误;明显错误有助于提高学生的测试积极性,隐藏错误有助于启发学生进行更深入的测试。

第二,项目具有典型性,代表大部分软件的共性。通过该项目的测试,学生可以掌握大多数软件的测试流程和测试方法。

第三,项目中有多种情景元素,符合使用多种测试技术和方法,有助于学生在进行项目测试的同时,学习使用多种测试技术设计测试用例的方法。

第四,项目大小和难易适中。每个项目组的人数控制在3~5个人,设计的项目能使学生通过努力在一定的时间内完成。

根据以上原则,本课程目前选择的项目是《企业薪酬管理系统》。

2.项目驱动法的实施

本课程通过让学生进行企业薪酬管理系统完整的测试流程实践的同时,讲解测试需求编写、测试计划编写、测试用例设计、测试环境配置、测试执行、缺陷跟踪和管理、测试报告撰写等内容。课程授课方式主要是分阶段讲解测试过程和测试要求,每一个阶段开始,老师先讲原理,选择部分内容做例子进行讲解,然后学生比照例子跟着做;阶段内容完成时,学生提交完成的文档,老师选择典型的问题进行讲评,然后进行下一个阶段的内容,如此类推直至测试结束。

企业薪酬管理系统测试流程设计如图1所示。

本课程课时为60学时,根据图1系统测试流程图安排,基于项目驱动法的“软件测试理论”课程安排如表1所示。

在课程进行的过程中,必须严格按照项目的测试流程进行,测试流程为:先获取项目测试需求,撰写测试计划,设计测试用例,执行测试,提交缺陷报告并跟踪修复缺陷,最后提交测试总结报告。课程结束,要求学生提交项目测试报告,测试报告包括多个文档,整个流程中每个阶段的工作必须有撰写规范的文档提交,如:测试计划、测试用例、测试执行报告、缺陷报告和测试总结报告等等。

测试报告既体现了教师项目教学的结果,也体现了学生对测试知识技能的掌握水平。通过评价学生作品,找出学生在学习过程中的薄弱环节,进一步改进项目驱动教学的教学安排,使其能够发挥最大的教学效果。

五、结束语

本文针对软件学院软件工程专业的培养对象和教学特点,把真实项目引入“软件测试理论”课程课堂教学中,采用项目驱动教学法,从项目的需求评审、测试计划、测试用例设计、测试执行、缺陷报告、测试评测到测试总结一个完整的测试流程,交给学生组建测试团队,按照流程进行任务分配和管理,最终完成整个项目的测试工作。通过一个完整项目测试流程的完成,有效提高学生的学习和实践能力、解决问题的能力、团队协作能力等,使学生在掌握软件测试的各种测试技术和基本流程的同时,积累了一定的项目测试经验,为他们今后的就业打下了良好的基础。

参考文献:

第3篇

【关键词】软件工程;应用导向;“一体化”教学理念

平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。

1软件工程课程的课程目标

《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。

2教学设计原则

坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。

3教学设计策略

3.1知识域覆盖

针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。

3.2技术方法先导

软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。

3.3突出技能训练

技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-2006计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。

4教学内容设计

结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。

5教学方法设计

在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。

6课程重、难点解决方案

6.1软件工程课程重点

软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。

6.2软件工程课程难点

软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。

6.3重、难点的解决方案

软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。

7考核方式与评价方法

采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。

8总结

该教学过程设计,切合院系在2013年提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。

【参考文献】

[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2).

[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,2015(14).

[3]汪璟玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,2012(10).

第4篇

关键词:多元教学模式;软件工程;案例教学法

作者简介:司春景(1981-),女,新疆阿拉尔人,塔里木大学信息工程学院,讲师;李向阳(1973-),男,新疆阿拉尔人,塔里木大学信息工程学院,副教授。(新疆 阿拉尔 843300)

基金项目:本文系塔里木大学本科质量工程特色专业“计算机科学与技术”(项目编号:20090627)的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)07-0098-03

“软件工程”是一门指导计算机软件系统开发、维护和管理的学科,主要利用工程概念、原理、技术和方法,将现代技术方法和正确的管理技术相结合,重点研究应用软件开发的基本理论和工程技术来指导软件系统的开发、维护和管理。“软件工程”课程是学生参加工作以后最能直接应用的一门专业核心课,它要求做出一个满足用户要求的系统,这是一个很具体的实践过程,具有很强的工程和项目背景。[1]

一、传统教学模式的问题

“软件工程”是计算机专业学生的一门基础必修课。在目前的教育体系下,大学生学习知识的主要途径是教师讲授。传统的“软件工程”课程教学模式在理论教学方面重视基本知识的教授;在教学原则上强调教学的直观性、系统性和巩固性;在教学方法上强调学生预习、教师讲授和学生反复复习记忆;在教学组织形式上则选用“填鸭式”教学。这种强调知识的单线注入和忽略学生思维训练的方法,不能很好地调动学生的学习主动性,不能起到很好的学习效果。当前高校软件工程课程教学中存在以下突出问题:

1.教材重理论轻实践

对于没有任何大型软件开发经验或参与开发的高校本科生,如果教材只关注软件工程理论的讲解,包括软件开发模型、分析和设计方法等,则学生无法将理论联系实际,所学内容不知所云,更无法在日后发展中将理论与实际相结合。

2.实践教学缺乏系统性和针对性

目前许多高校“软件工程”课程除了理论讲解外,也加入了实践教学部分。往往受学时所限,实践分为软件项目若干设计文档的编写和软件工程工具的实验练习。前者受缺乏相应的开发环境、教师虚拟客户不能很好地反应现实需求、理工科学生的文字表达能力不足等因素的影响,设计文档的编写不能很好提高学生能力;后者在一定程度起到了一定的作用,但对于培养学生分析问题、解决问题、管理和团体协作能力方面仍显不足。

3.评分模式单一

软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。

二、现有的教学方法的分析

针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:

1.自底向上教学法在“软件工程”课程中应用

授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合IT从业人员的工作进程。[2]

2.模块化教学法在“软件工程”课程中的应用

在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]

3.案例教学法在“软件工程”课程中的应用

软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]

4.项目驱动教学法在“软件工程”课程中的应用

项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。[5]

5.三位一体式教学法在“软件工程”课程中的应用

根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]

对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。

三、基于多元教学法的课程改革新模式

某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。

1.理论教学内容多样化

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。

(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。

(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。

(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。

(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

2.实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。

(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。

(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。

(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

3.考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。

(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。

(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。

(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。

四、基于多元教学模式课程改革方案

基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。

第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。

第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。

第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。

第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。

第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。

五、结束语

在多元教学过程中,理论教学利用多媒体PPT充实了课堂内容,小组讨论调动了学生积极性,不断更新的教学内容跟上了发展,以及启发式的案例教学提高了学生的能力;实践教学从课后角色扮演、期末集中时间课程设计,到寒暑假校企实习,整个过程依据软件工程思想逐步的从小角色的扮演,团结合作做一个虚拟项目,到真正到软件公司去实习工作,提高了学生的语言表达能力、分析问题能力、实践动手能力和软件工程协作、纪律等。考核方式不再是单一的方式,除了考查基本理论的掌握情况,还考核学生是否已经具备了一定的动手能力和科研能力。从理论教学、实践教学和考核方式三个方面进行多元教学,按照方案进行实施,强调动手能力,将工作过程的职业环境融入学习过程中,将学生对知识、职业能力的掌握程度提高到了实践这一层面,使得学生能真正进入到“在学中做,在做中学”的理想学习环境中。

参考文献:

[1]张海潘.软件工程导论[M].第五版.北京:清华大学出版社,2008.

[2]温春友,敖广武.对软件工程课程自底向上教学模式的探索[J].辽宁高职学报,2008,(3):27-28.

[3]孙知信.软件工程课程模块化教学改革的实践与思考[J].南京邮电学院学报(社会科学版),2004,(2):39-42.

[4]彭佳红,彭佳文,等.基于案例的软件工程课程教学研究[J].高等农业教育,2009,(11):60-62.

第5篇

近年来,软件行业进入第二春,供需两旺。据调查,以北京为例,软件工程师每年需求50000人左右。据IT英才网数据显示:北京IT职场每月需求达3380个。 [1]但是,软件行业市场的供需出现了错位,一方面,IT企业对软件工程专业的人才需求旺盛,另一方面,软件工程专业的毕业生就业质量却不高。究其原因,是我们培养的人才不能满足企业对软件工程人才要求。 

软件工程专业是国家教育部在2002年新增的专业。该专业以计算机技术为主的专业,实践性很强,专业的实践教学体系是培养学生实践能力、计算机工程能力、创新能力的重要途径。我们应该充分了解市场和企业的需求,制订和实施切实可行的实践教学体系。[2] 

曲靖师范学院软件工程专业从2008年开办至今,已经培养5届学生,一直以来,我们不断丰富和完善该专业的实践教学体系,形成了相对完备、效果好的实践教学体系。 

2 实验室建设是硬件基础 

实验室是开展实践教学的硬件保障,实验室建设的好坏,直接关乎实践教学体系执行的成败。一直以来,我们非常重视软件工程专业的实验室建设。实验建设能充分满足软件工程专业实践教学体系的硬件要求。实验设备采购的指导思想是实验设备要先进、实用,充分满足学生的学习和教师的实践教学需要。 

该专业已经建成硬件实验室有2个,分别是“计算机组成原理实验室”、“计算机组装与维护实验室”;通信与网络实验室有2个,分别是“计算机通信实验室”、“计算机网络实验室”;软件类的实验室有3个,分别是“软件开发与测试实验室”、“数据库实验室”、“信息技术创新实验室”。同时,为适应当今云计算的研究需要,我们投资200多万建立了云计算平台。 

以上实验室的更新及新建,能充分满足师生完成实践教学的需要。 

3 软件工程专业技能训练是实践教学体系的抓手 

在学生大学期间,为了在不同学期适时提高学生的综合实践能力,我们结合“软件工程专业人才培养方案”的要求,开展了贯穿大学4年的专业技能训练。我们把专业技能训练当作实践教学体系的抓手,专业技能训练根据训练大纲,着力提升学生应具备的专业素养和能力。 

我院的专业技能训练主要包括两个级别,一级是课程设计训练,本训练以课程为依托,制定课程级别的训练大纲;二级是综合设计训练,主要训练学生的软件论文项目的开发能力,要求学生能灵活应用所掌握的知识和技能,完成一个综合性、设计性的软件项目。下面分别对这两级训练作详细介绍。 

3.1 课程设计训练 

“课程设计”是一个多义词词条。它可以指“为掌握某一课程内容所进行的设计”[3]。课程设计是课程实验的高级环节,课程实验是提升学生立体实践能力的根本,课程实验分为验证性实验、综合性实验和课程设计实验,我们在传统验证性实验的基础上开展课程设计实验,提升学生的课程综合实践能力。 

以《Java程序设计》课程设计为例,课程设计的目的:利用Java语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。 

软件工程专业的已经开出课程设计的课程有4门,分别是:OFFICE办公软件、计算机组装与维护、C语言程序设计、JAVA程序设计。我们针对这些课程,在编写实验大纲时,要求包含课程设计,设计方案要经过专业系的审核和教授委员的审定。最后,以审定通过的课程设计为依托,为后续综合实践能力的提升打下坚实的基础。 

3.2 综合设计训练 

综合设计训练的目的是锻炼学生综合所学知识,设计和开发一个小项目的能力。这些项目有“JAVA程序设计”、“商业数据库开发”、“J2EE企业应用”、“JAVA Web开发”等,这些小项目的训练要基于几门课的知识和技能,如“JAVA Web开发”就需要学生综合数据库、软件工程、JAVA程序设计语言等知识与技能。 

综合设计训练要与毕业设计区别开来,此训练的主要目的是让学生体验和掌握项目开发流程,同时锻炼综合应用所学课程来完成一个具体的小项目。 

3.3 软件工程专业技能训练安排 

为鼓励学生多渠道获得技能分,我们规定,学生参加通过全国软件资格(水平)考试(中级),可以获得2学分,参加通过软件资格(水平)考试(高级),可以获得3学分。 

4 毕业设计是实践教学体系总结性的实践环节 

毕业设计是教学过程的最后阶段采用的一种总结性的实践教学环节。通过毕业设计,学生可以综合应用所学的各种理论知识和技能,进行全面、系统、严格的计算机技术及软件工程能力的练习。[4]毕业论文(设计)是实践教学体系的技能整合,我院对毕业论文(设计)作重大改革,着力打造学生综合实践能力。 

参加毕业论文(设计)的学生分两部分,一部分在公司实习,同时要在公司完成毕业论文(设计)工作,余下的学生在曲靖师院完成毕业论文工作,为提高毕业论文(设计)的质量,经向教务处请示,允许我院结合专业实践性强的实际,改革本专业毕业论文(设计)工作。改革思路包括三点,一是我院学生的毕业论文(设计)以毕业设计为主,弱化对学生文本的要求,强化对实践动作能力的提升和检查,二是做好规范管理工作,制定相关文件,如:“信息工程学院毕业论文(设计)工作规定”、 “信息工程学院毕业设计开发文档的撰写与打印规范” 、“信息工程学院毕业设计开发文档”等。 

5 校企合作助力实践教学体系 

为提升学生的实习效果和就业质量。我们自2012年开始,与四川华迪信息技术有限公司开展毕业实习的合作,该公司是一家集软件外包、信息服务、学生专业技能培训为一体的公司,在以上业务深耕12年,在全国小有名气。我们的学生参加校企合作实习有两种类型,一是为期三个月的专业实习,二是为期四个月的就业培训。三个月的专业实习分为Java开发方向和计算机网络方向,Java开发实训的重点是提升学生的软件开发实践能力和水平,计算机网络方向的实训重点是提升学生的网络规划、设计、实施、部署的能力。 

从2013年开始,软件工程专业的学生几乎都参加校了企业合作的实习,取得了良好效果,学生的专业实践能力提升了,就业质量明显提高,很多学生就在四川成都就业、创业。 

6 结语 

本文结合长期的思考和实践,不同的实践环节有机整合,大大提高了学生的职业能力和素质。软件工程专业的实践教学体系的构建和实践是一个系统的、长期的过程,还需要我们不断地探索,进一步提高人才培养质量。 

参考文献: 

第6篇

[关键词]软件工程 课程体系 构建 实现

[作者简介]李泽平(1971- ),男,布依族,贵州贵定人,黔南民族师范学院计算机科学系,副教授,研究方向为软件工程和计算机教育。(贵州 都匀 558000)

[基金项目]本文系2009年贵州省教育厅自然科学类科研项目“贵州省中小学信息技术教育的现状调查与对策分析”(项目编号:黔教科20090048)和黔南民族师范学院2011年院级教改项目“民族地区高校应用型计算机人才培养实践教学体系构建研究”(项目批准号:jg-11-02)的研究成果。

[中图分类号]G642.3 [文献标识码]A [文章编号]1004-3985(2012)23-0128-02

2011年,软件工程学科经国务院学位委员会关于印发《学位授予和人才培养学科目录》的通知(学位[2011]11号)文件确定增设为一级学科(080835),同年5月,教育部组织开展第四次《普通高等学校本科专业目录》修订工作,软件工程专业被列为目录内专业(080902),而后由教育部高等学校软件工程专业教学指导分委员会编制的《高等学校软件工程专业规范》随之印发,标志着软件工程专业进入了一个规范发展的崭新阶段。软件工程专业在人才的培养目标、培养规格,教育内容、知识体系、课程体系等方面的界定已非常明确,教学方法也比较成熟。本文探讨了软件工程专业本科课程体系的构建,力求既能符合黔南民族师范学院的实际,又能凸显贵州省的地域和行业优势,培养符合社会需求的应用型软件工程人才。

一、培养目标

课程体系的构建必须以人才培养的目标为核心,使学生能依据个人的职业规划,在教学活动中自主地制定个性化的学习计划,主动地开展学习活动,最终实现人才培养目标。黔南民族师范学院(以下简称“我校”)将软件工程专业本科人才培养的目标确定为重点培养软件工程学科的基础知识和基本实践能力,培养德、智、体、美全面发展的,掌握自然科学和人文社科基础知识、计算机科学基础理论、软件工程专业及应用知识,具有软件开发能力、软件开发实践的初步经验和项目组织的基本能力,具备初步的创新、创业意识,具有良好的英语运用能力,能适应技术进步和社会需求变化的高素质软件工程应用型专门人才。

二、知识体系

软件工程教育兼具的科学教育属性和工程教育属性为课程体系的构建提供了指南。通过对SWEBOK、CCSE2004和《高等学校软件工程专业规范》的研究我们发现,软件工程学科与计算机科学、数学、工程学、管理学、经济学、系统工程学等有着密切的联系。软件工程专业本科课程体系的构建应注重发展交叉学科,以思想政治教育、自然科学、人文社科、经济管理、外语、文艺、体育、科技活动等通识教育和综合教育为基础,以软件工程学科专业知识、软件工程专业实践训练为核心设计课程体系,着重培养学生“软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程的工具和方法、软件质量”10个知识域中的一个或多个,使之在软件工程理论与方法、软件工程技术、软件服务工程、领域软件工程4个研究方向上有所侧重,并体现出明显的特色,提高学生的就业竞争力,适应软件产业的发展和社会的需求。

三、课程体系

根据知识体系的要求,结合我校的办学条件、就业情况,贵州省的地域和行业优势、生源素质等实际,设计出以工程专业课和工程实践课为主体,以自然科学为基础,以人文、社科、经济管理类课程为有益补充的软件工程专业本科课程体系框架(见129页图1)。

1.理论课程。贵州作为全国“欠发达、欠开发”的省份之一,软件产业起步较晚,与发达地区存在较大差距,软件人才更为紧缺,目前在应用领域的需求比较旺盛。我校在软件工程理论研究和领域软件工程方向的办学条件尚不成熟。因此主要以软件工程技术、软件服务工程作为专业方向,设计课程体系。课程体系由公共基础课、专业基础课、专业核心课、专业拓展课、素质拓展课和实践教育课六大部分组成,具体内容和相互关系如图1。

第7篇

关键词:《软件工程》 教学改革 理论教学 实践教学

中图分类号:S762.2 文献标识码:A 文章编号:1672-3791(2012)10(c)-0146-02

随着社会信息化技术的普及和软件产业的迅速发展,软件产业成为信息产业中增长最快的领域,然而高端软件人才的匮乏严重阻碍了我国IT企业的发展,因此提高软件行业从业人员具备必要的软件开发、维护与项目管理的能力尤为重要[1]。《软件工程》是高校计算机相关专业开设的一门专业核心课程,旨在培养学生理解和掌握软件工程的理论、技术和方法,应用工程的思维进行软件开发、管理和维护。为了顺应当前软件工程教育国际化和工程化的发展的需求,高等院校需要切实加强软件工程课程的创新与改革,这对软件工程人才的培养至关重要。

当前《软件工程》课程教学中存在的一系列问题,直接影响了教育质量和教学效果。具体表现为:教学内容重理论而轻实践,不能有效地培养学生软件开发技能[2];教学案例缺乏完整性和实用性,不能帮助学生从整体上全面理解软件开发的各环节及其之间的关联[3];实践教学也缺乏系统性和针对性,不能将基本原理融入当前软件实际案例中去讲解,教学内容与软件工程实践有明显的差距等。因此,迫切需要对教学体系进行改革,形成一个融基础理论、实验教学、工程实践为一体的整体培养机制,让学生的基础知识、科学素养、专业知识、创新能力、工程能力和职业素质都得到全面均衡的发展[4]。本文将从理论教学、实践教学以及教学评价几个方面进行改革与探索。

1 理论教学探索与思考

为了满足当前软件工程教育国际化和工程化的发展要求,《软件工程》教学以IEEE的软件工程知识体系为基础,结合基础知识、先进技术和工程实践等方面构建该门课程的知识体系。《软件工程》课程知识体系分为基础、应用、实践三个部分。基础部分为理论教学,根据教学目的和教学要求,采用案例及问题驱动等教学方法,讲解软件工程的理论基础知识,包括软件生命周期各个阶段、软件质量和软件项目管理等核心内容,通过案例的分析,促进学生的独立思考,提高其对理论知识的理解和掌握。应用部分是以当前流行的统一开发过程、面向对象技术和UML语言为核心,融入实际案例,Rational Rose、Visio、Project、SVN、Loadrunner等软件工程工具和环境,使学生掌握当前先进的软件工程方法与技术。实践部分要求学生分组组建团队协作完成一个软件系统的开发,让学生从“可实践”软件工程的角度学习和运用软件工程的思想和现代技术解决软件开发问题,拥有识别、分析和解决具体问题的能力。《软件工程》课程知识体系如图1所示。

单纯地讲授《软件工程》的理论和方法显得枯燥且难以理解,若能通过一些软件开发案例对理论知识进行形象的表述,不仅能让学生易于理解这些理论和方法,亦能建立软件开发的系统化与工程化观念和质量意识。那么如何收集经典案例以及采纳何种教学方法是关系理论教学成败的关键因素。首先案例的选择与设计要有针对性,如结构化和面向对象,这两种方法侧重知识点不同讲解所贯穿的典型案例应不同,其次案例的选取应是学生熟悉的领域且它的实用性能激发学生的求知欲和兴趣。如在软件工程技术方面,作者结合学生成绩管理信息系统、宿舍水电费管理系统、教学管理系统等,论述需求分析、软件体系结构设计、用户界面设计、详细设计和软件测试等内容,重点讨论基于案例的面向对象方法和组件技术。采用何种教学方法应根据具体的知识点而定,如以IBM初期系统开发失败的缘由为例利用问题驱动法引出软件工程的概念和原理;对于软件开发工具Rational Rose的介绍则采用项目驱动法。因此,在理论教学中,把抽象的知识尽量形象化、案例化,采用引导式、探索式、讨论式和交互式等教学方式营造融洽轻松的学习氛围,鼓励学生独立思考,查阅资料,细心体会当前软件工程的精髓。

2 实践教学内容创新模式

应用部分和实践部分均属于实践教学,在此教学过程中,实施项目驱动教学法,实验设计以项目开发为主,模拟企业软件的项目管理和开发过程,碰到问题困难,进行师生互动讨论寻找解决方案,开发完成通过成果展示来进行教学评价,整个过程使学生初步体验到一个软件项目开发的全过程。实践教学活动的流程具体如下。

(1)分配任务:第一次课,要求学生以项目小组(一般5~6人,自由组合,每个成员扮演项目开发过程中的不同角色)的方式组建开发团队协同开发一个规模及难度适中的完整项目,要求按照正规软件开发流程组织实施,完成项目开发过程中形成的分析、设计、编码和测试文档,同时将Rational Rose、Visio、Project及Loadrunner等软件工具在实施过程中进行有效地应用。

(2)组建团队:学生自愿组建团队,选出组长,每组角色包括项目经理、系统分析员、软件设计师、软件开发工程师、软件测试工程师等,组员项目角色可随项目开发进度而调换。项目实施过程中采取组长负责制,负责小组的讨论和项目实践的安排,分配组员任务,各小组查资料,自选软件项目,分析开发的各项任务的安排和沟通,制定项目的开发计划。

(3)计划可行性评定:授课教师审核各组项目及项目计划实施的可行性,不行则指导小组重新选定软件项目和制定项目计划。符合要求,方可进入实施阶段。

(4)项目实施阶段:小组成员根据各自的任务查找资料,收集解决方法,定时讨论交流,各个模块间相互配合协调完成任务。包括软件分析设计阶段,完成软件需求规格说明;设计软件系统的总体结构;对功能模块进行编程测试,完成项目实现编写所有相关文档,测试和调试代码。整个实施过程由授课教师控制项目的进度和质量,同时,教师要充分发挥引导作用,让学生在实践软件设计和开发技能的同时,通过协作培养学生多人之间的沟通能力和团队协作精神。

(5)项目验收:根据软件开发流程的各个阶段成果包括可行性分析报告、需求规格说明书、项目计划书、总体设计报告、详细设计说明书、软件测试报告、项目开发总结报告等。项目验收采用阶段验收分析设计文档,每次均以小组的形式提交作业。教师根据提交的材料结合学生是否熟悉软件常用技术和工具按照软件工程管理方法进行评审,还要求各组之间互评,发现不足之处进行讨论,提供给大家一个互相交流的机会。项目结束后,每组要组织答辩,先由小组长对项目基本情况及组员作简要介绍,然后让各组员对自身完成的任务进行PPT答辩,教师和其他同学针对该成员实际负责的部分进行提问。最后项目组提交系统和所有文档。

3 教学评价体制改革

教学评价是课程教学的必要环节,在本次教学改革实践中,将课程学习评价分成3个组成部分:理论考核占50%,项目实践成绩占30%,考勤、平时作业、实训练习等占20%。项目实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。小组成绩为小组中所有成员开发项目的考核成绩,包括各阶段成绩的平均值与最终答辩成绩;个人成绩为小组成员在项目开发过程中个人的考核成绩。度量因素包括个人分配工作量及难易程度、平时工作态度及项目汇报时表现等。这种评价体制充分调动了学生学习的主动性和合作精神,教学效果明显。

4 结语

本文对《软件工程》的课程教学进行了探索和改革,以IEEE公布的软件工程知识体系为基础构建了软件工程课程知识体系,提倡理论教学与实践教学并重。理论教学着重于经典案例的选取及教学方法的采纳,理论教学不再是抽象的讲授,而是贯穿案例的具体实践操作,达到了理论与实践的紧密结合。实践教学以项目为驱动模拟企业软件的项目管理和开发过程,引导学生积极思考和参与讨论,教师由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。实践证明,本课程极大地提高了学生的学习兴趣,取得了良好的教学效果。在今后的教学工作中,将进一步完善和实践教学改革的内容,逐步使这门课程规划化、工程化,取得更好的教学效果。

参考文献

[1] 张海藩.软件工程导论[M].5版.北京:清华大学出版社,2008:5-7.

[2] 董跃华,杨书新,李淑芝.软件工程专业多元化实践教学体系研究[J].江西理工大学学报,2009,30(3):53-55.

第8篇

Win 32 API历经Windows 95到XP,受到众多应用软件开发商的追捧。过去,无论是最常用的字处理、电子邮件、即时通讯软件,还是专业的杀毒、ERP软件等等,大都利用微软提供的API进行开发,这样能省去直接跟系统资源、硬件打交道的麻烦。微软提供了近7.8万个Windows API以及大量的辅助开发工具,这种友好的姿态让无数开发人员甘愿在微软平台上创造各种应用软件。但另一方面,微软又通过API“控制”了软件的开发,帮助自己成就了霸主地位。然而,在Win32 API逐渐淡出人们的视野后,新一代的API还能如微软设想的那样延续Win32时期的辉煌吗?

挑战来自互联网

事实上,微软首先要迎接的便是互联网所带来的挑战。在最近举行的“Zend/PHP展会”上,Google副总博思沃斯称,计算的力量正在由专有技术、微软的API转向Web上的链接和内容。他认为,10年前,API意味着控制,但目前占有主导地位的是链接。“在目前的这个世界上,API就是链接。”尽管博思沃斯有意跳过了应用软件最终都要跟硬件打交道这一事实,但也说明一种真实的现象:随着网络的兴起,技术不再让用户、投资人和软件开发商有多大兴趣,如何利用已有的技术提供多样化的服务才是关注的焦点。正如博斯沃斯所预测的,微软的API似乎有被边缘化的趋势。

软件的消费需求变了,应用软件开发商随之而变。过去在C/S(客户端/服务器)模式下,软件由开发人员根据客户的需求,制订开发计划,然后调用操作系统API来实现,最后部署到客户的终端和服务器上。现在,软件开发正在经历着从C/S结构到B/S(浏览器/服务器)结构的变革,软件可以不用部署到客户端,用户只要上网打开浏览器就可以实现需求。

“在企业级应用上,”大唐软件总经理助理兼规划咨询部经理陈彬说,“采用B/S开发的软件对客户端的要求降低了,(软件)大部分功能,包括界面控件,都放到应用服务器上部署和共享。”一旦一切操作都在网络上完成,实现这些操作的软件就不用像以前一样必须安装在客户端上,也就不必再调用桌面操作系统的API,而是把与硬件设备打交道的烦琐工作交给中间件或服务器去处理,这样,桌面操作系统API的生存空间不得不面临挑战。

在B/S模式下,变的不仅是软件开发的方式,软件开发人员也在变。新一代的程序员对Windows API的了解也大不如前,博思沃斯表示他们更多地使用PHP、LAMP组合(Linux、Apache、MySQL、Perl/PHP/Python)。这一点从人力资源的供求关系也可以看出。据纽约市人力资源调查显示,Windows API程序员的数量远不如从前,所以遇到需要Windows API开发人员时,这些程序员的身价可以达到13万美元/年,而近年来人数急增的网络开发人员却只能挣到8万美元的年薪。

不过,不同的应用软件开发产商对此有不同的解读。“防毒安全产品,在补足系统安全性时,需要尽可能地贴近操作系统,”趋势科技高级产品管理与技术顾问齐军介绍说,安全应用产品不仅需要与微软互相开放API,“实际上,为了更好地保护系统,对微软API的依赖很大。”尽管WinFX的前途不明朗,但在安全等跟操作系统联系紧密的领域,WinFX胜算还是很大。只是在CRM、ERP等注重客户业务开发的领域,随着B/S开发模式的渐渐普及,将逐渐淡化对操作系统API的需求。

出击,微软求变

微软已经看到了这些威胁。所以,Vista出来了,带着全新的WinFX。

没有全新的技术,就不会有震撼的软件。微软的WinFX已经把繁杂的Win32 API减少到8千个左右,在.NET框架下采用可管理代码编程模式,跟底层系统资源的关系更密切,能自动管理如内存等,减轻程序员的负担。另外,WinFX还加入全新的图形用户界面子系统Avalon、文件子系统WinFS和网络服务通讯子系统Indigo,使得开发环境更加友好。据Gartner预测,这些技术表明微软的API发生了巨大的改变,Win32 API终将被WinFX替代,而成为新操作系统中的遗产,正如Win32取代DOS和Win16一样。

尽管WinFX代表微软应用程序设计的重大进步,但Gartner认为这是有代价的。在一段时间内,程序员还可以继续使用Win32 API开发应用程序,不过利用WinFX开发的程序并不向下兼容,只能在Vista平台上运行。而且,Vista操作系统带来的变化和WinFX开发者框架迟早将会刺激开发者转向.NET框架,因此开发人员应当尽早掌握.NET框架可管理编码的技能,才能应付在2008年全面使用WinFX时会出现的种种问题。

当然微软不会忘记自己的霸主地位也来自于应用程序开发人员的贡献。所以,提供更好的开发工具、指南和大规模的宣传培训必不可少。随Vista一并提供的 SDK(软件开发者工具包)含有一套用户界面组件和行为,微软称新的Vista SDK将过去分散的工具、工具包和技术内容组合在一起,能支持端到端Windows客户开发。微软也准备了一系列能让开发人员熟悉和提高使用WinFX的活动,如Windows硬件工程大会等。

微软对自己的各种努力一向很自信。在最近一次专业开发人员大会(PDC05)上,微软宣布由三十多家独立软件供应商(IRV)已经确认将发行新的适用于Vista操作系统的应用软件。微软认为这是业界对微软下一代操作系统的热烈回应。从 2002 年就开始对微软下一代操作系统投入特别关注的Windows SuperSite专家 Paul Thurrott表示,微软把这些技术提供给现有的用户可以扩展 Avalon 和 Indigo 技术的市场,鼓励开发人员尽快的接纳这些技术。这样,WinFX 便能够更快的达到 Win32 API 几十年才达到的高度。

但火速蹿起的竞争对手们并不想把下一个十年再留给微软。在API的争夺战中,开源操作系统Linux所提供的免费API几年来在欧洲不断攻城掠地;在API之外,Sun公司力推的J2EE平台,也让年轻的客户端软件开发人员根本不用去了解Windows API;近段时间以来,Google举起“网络服务”的大旗,不断推出如Froogle购物、Gmail等免费的网络应用,直接威胁到利用微软API开发的各种应用软件。而微软当然也在Vista的一再而三的调整中努力寻求着对自己最为有利的方法。

“2005国家信息化发展论坛(中国・天津)文集”订阅

由国务院信息化工作办公室为指导单位,国家外国专家局为支持单位,信息产业部和天津市人民政府为共同主办的“2005国家信息化发展论坛(中国・天津)”于2005年11月4日~5日在天津隆重召开。

论坛主题突出、内容丰富,具有鲜明的时代特色。论坛还正式编辑出版了《2005国家信息化发展论坛(中国・天津)文集》,收录各位领导、专家学者及IT企业高层在本届论坛的照片及发言精华,欢迎订阅。

该文集采用国际16开的开本,25万字,采用铜版纸和胶版纸,四色印刷和两色印刷相结合的工艺。初期印刷10000册,每本定价60元(含邮费)。定于2006年上半年正式出版。

订阅方法一:邮局汇款,并在汇款单附言处注明“论坛文集及册数”。

收款单位:国家信息化发展论坛(中国・天津)组委会

通讯地址:天津市河西区吴家窑大街22号天津市科学技术信息研究所(300074)

订阅方法二:银行汇款,请在汇款用途处注明“论坛文集及册数”。

户 名:天津市科学技术信息研究所

帐 号:0302060809013077004

开户行:天津市工商银行佟楼分理处

第9篇

关键词:软件工程;一体化;教学模式;项目驱动;范型对照;案例复现;团队实践

软件工程课程是高等学校计算机科学与技术专业的一门专业核心课程,它在整个课程教学体系中的重要性,随着软件产业对软件人才的大量需求而愈加突出。如何改革传统的软件工程教学模式,采用新的教学方法与手段,培养出既懂软件工程基本理论又懂实践的高质量软件人才是广大软件工程教师迫切而又急需解决的问题。在长期从事该门课程的教学过程中,我们对该课程教学模式进行了一些有益的探索与研究,提出集成“项目驱动+范型对照+案例复现+团队实践”的一体化教学模式。

1传统软件工程教学模式存在的主要问题

1) 重理论、轻实践。传统的软件工程教学过程中,教学内容重理论、轻实践。教学时不涉及或较少涉及具体的软件项目,学生在学习过程中很难将抽象的理论与实际软件项目联系起来,被动接受抽象理论的结果使得学生学习该课程的兴趣和激情逐渐消失。这与该课程工程实践性非常强的性质完全不相适应。

2) 重讲解、轻讨论。传统软件工程教学过程中,都是教师一味讲解软件工程的基本原理、理论,或者一味分析一些简单案例,不能发挥学生的主观能动性,没有让学生参与教材内容或案例的分析讨论,导致学生学起来非常枯燥无味,教师教起来也非常费劲。

3) 重技术、轻管理。软件工程应该包括软件开发、维护相关的技术与管理两方面内容,在传统软件工程教学过程中,由于课时紧张或者课时安排不当,总是只注重软件开发相关技术方面的教学,如软件生命周期模型、软件开发范型、各种需求与设计建模技术等,而对软件项目管理方面的内容只是很简要地一带而过。这样容易给学生一个错觉,让学生认识到只有软件开发技术才是最重要的,而软件项目管理是无关紧要的。事实上,一个软件项目的成功开发,依赖于技术与管理支持两方面,如果其中任何一方薄弱,项目将面临很大的风险。

4) 重SSA&D、轻OOA&D。由于教材编写上的安排以及教师本身的原因,很多学校在软件工程的教学过程中,总是先花费大量的精力讲解面向过程的结构化系统分析与设计方法(SSA&D),等到后面再来讲解面向对象的软件工程(OOA&D)方法时,发现时间不够了,要么根本不讲,要么只是蜻蜓点水式简单介绍一下,这样容易给学生造成一种只有SSA&D才是当前主要技术的错误认识,而对当前真正的主流技术OOA&D不重视。

5) 重程序、轻文档。传统软件工程教学过程中,除了理论课程的教学外,有些学校安排了一些实验课或实践课,但往往这种实验课或实践课最后的收效都不是非常理想。很多学生还是不能真正从心理上去认识软件工程实践的重要性,认为这门课程的实验或实践,最后无非是交一个实际可以运行的系统,所以把大量的精力都花费在编写程序代码上,而不是真正去遵循软件工程规范完成这个实验,他们认为文档是次要的,可有可无的。如果老师严格点,非要提交文档的话,他们也是在现有系统(程序代码)的基础上,去凑一些拙劣的文档应付。

6) 重个体、轻团队。传统的软件工程教学,通常强调按部就班的理论学习与实验,伴随着以程序设计语言为引导的编程实践,这种实践活动通常是以学生个体为单位进行的,它并没有充分教授学生从事软件开发所必需的方法和技巧[1]。现代软件工程,非常强调团队协作精神,而学生在我们的软件工程教学过程中很难体会到这一点。

以上传统软件工程教学模式中出现的诸多问题,我们认为有多方面的原因,如教授该课程的教师缺乏项目开发的实践经验,教学中过分偏重于理论和基础

知识的构建,致使所培养的学生解决实际问题的能力不强,导致学生所受教育与市场需求脱节[2];但一个更主要的方面是对软件工程教学没有一个正确的认识。软件工程是一门综合性、实践性很强的课程,对软件工程的教学,必须要改革传统的教学模式,努力探索一些适应当代软件工程学科发展的、广大学生普遍能够接受的、有一定实际成效的教学新方法、教学新模式。为此,在长期对该门课程的教学过程中,我们提出了集成“项目驱动+范型对照+案例复现+团队实践”一体化教学模式,并将这种模式应用于软件工程课程教学,取得了良好的效果。

2集成一体化教学模式

本模式关键在于突破传统软件工程教学过程中以知识传授为中心的教学模式,围绕能力培养展开教学,强调以提高解决问题能力为主的教学原则,它是在全面分析总结以往软件工程教学存在不足的基础上提出的,其核心是教授学生如何有效地实践,让他们了解并亲身体会开发过程。它不仅关注学生对基本理论、原理的掌握,更注意培养学生的动手能力、协作精神、职业操守等,如图1所示。

2.1项目驱动

项目驱动教学法的主要特点是“以项目为主线、教师为主导、学生为主体、注重实践”[3]。在教学活动开始,就应该选择一个来自于实际开发的项目或是经过改编简化后仍具有实际意义的软件开发项目,根据项目的推进,带动理论课程的教学,从而将该项目的讲解贯穿到教授该门课程始终。在教学过程中,教师要打破传统“一言堂”、“填鸭式”教学模式,启发学生进行积极讨论,通过讨论,让学生加深对软件生命周期理论及其各个阶段的理解,同时要求学生去对一些建模工具加以了解、学习、实践,使学生明白所学知识“可以做什么”、“应该做什么”和“如何做什么”。因此,项目驱动教学法能更大地激发学生的学习爱好和求知欲望,充分调动学生的学习积极性和主动性,从而培养学生自主学习、分析问题、解决问题的能力以及协作、创新、探索的精神。

2.2范型对照

从计算机专业本科生教学层面来说,软件工程中对软件的开发范型,主要教授面向对象软件开发范型与结构化软件开发范型[4],为了使学生对这两种开发范型的不同特点有一个全面的认识,我们上课的时候,在项目驱动的环境下,通过同一个项目,结合软件生命周期模型,分别按照传统的结构化范型(SSA&D)与面向对象的范型(OOA&D)来对照讲解(见图1范型对照部分),如结合瀑布模型讲解SSA&D,结合喷泉模型讲解OOA&D,这样学生对结构化范型的阶段性、顺序性以及面向对象范型的迭代性、无间隙性有一个非常清晰的理解。

2.3案例复现

软件工程的案例复现[5]是指利用一些软件企业已开发成功的软件工程项目,在去掉一些商业秘密后,学生在企业管理人员、工程人员的指导下,将原来的项目重新再做一遍,让学生全程深入地体验软件开发工程化的真实过程。当然这要求我们必须与一些知名的软件企业有着必要的密切联系,条件可能的话,要多建立一些这样的校外实习基地。同时,在选取案例的时候,根据不同学生的熟悉程度与感兴趣的方面有针对性地选取,如我们有针对性地选取了信息管理系统类、嵌入式类、基础软件类3个类型的软件。通过这种对企事业单位中的实际项目或从中抽取出的模拟项目为实践中心的案例复现,为学生创造一个仿真环境,将工程的思想、方法和技术应用其中,使其在课堂上就能接触到实际问题和环境,从而学会在复杂条件下利用所学理论解决实际问题。

2.4团队实践

软件工程的教学实践证明,在教学实施的过程中,我们不仅要教授学生相关的软件工程基本原理、理论、实践知识,还要能够加强学生团队合作能力培养。所以,在案例复现的实施阶段,除选好案例外,还要学生在复现原有项目的过程中,形成一个实践团队,即在软件企业工程技术人员和教师的指导下,要求学生建立“项目小组”,每组不得超过5人,每个项目小组选出项目负责人或项目经理,由其召集项目组成员讨论、选定开发项目,并将项目开发各阶段的任务明确并落实到个人,小组成员分工合作,共同完成该项目的全部任务。开发过程中,每个成员各扮演一个角色,也可以扮演多个角色,或者轮流扮演角色。这种“以教师为主导,以学生为主体”的思想[6],让学生自主管理,分工协作,使其熟悉了软件项目的规范化开发过程,同时,编程能力、文档撰写能力和表述能力等都得到了一定提高。这既锻炼了学生参与项目管理的能力,又训练了学生之间的团队合作精神。

在实施以上集成一体化教学模式过程中,我们还注意到以下几点:在讲解软件开发范型的时候,在采用范型对照的同时,特别给学生指出,SSA&D与OOA&D的优点与不足,并指出后者已经成为当今软件开发的主要范型,并且将其作为主要教学内容来传授;在讲解软件开发各个阶段时,强调软件建模与组织文档的重要性,特别强调程序设计应该属于软件开发生命周期的软件实现这一阶段,软件工程不单是写程序,同时要求学生能利用有效的UML建模工具如Rational Rose或Microsoft Visio 进行系统建模[7],这样可使教学内容具有可操作性和趣味性;在团队实践的过程中,结合软件项目管理的基本知识,如人员组织、成本控制、计划控制等,指导学生有意识加强软件项目管理,认识到软件项目管理在软件工程中与软件开发技术同等重要。

3结语

通过这几年对以上软件工程集成一体化教学模式的实施,我们调查发现,学生对该门课程的学习兴趣日益增强,同时对该门课程重要性的认识也不断增加。我校2003级、2004级、2005级、2006级计算机专业学生对软件工程课程教学模式满意度的调查结果,如图2所示。

其中,2003级、2004级的学生是采用传统的教学模式,教师讲解软件工程的基本原理、理论,一味分析一些简单案例,不能发挥学生的主动性,学生满意度并不是很高。从2005级开始,我们采用了上文所提的一体化集成教学模式,可以看到,学生的满意度都能达到90%以上,受到了广大同学的认可。当然,在以后的教学实践中,我们也将进一步探索,使这种教学模式更好地得到完善。

参考文献:

[1] 周勇,黄国兴. 项目驱动的基于过程的小组开发在软件工程教学中的运用[J]. 计算机工程与科学,2006,28(A1):92-94.

[2] 王丽芳. 对“软件工程”教学改革的探究[J]. 计算机教育,2009(10):26-27.

[3] 李伟波. 项目驱动式的“软件工程”教学模式研究与实践[J]. 中国电力教育,2009(12):45-46.

[4] 齐治昌,谭庆平,宁洪. 软件工程[M]. 2版. 北京:高等教育出版社,2006:63-78.

[5] 林丕源,刘才兴. 本科软件人才培养探索与实践[J]. 计算机教育,2009(16):77-79.

[6] 孙艳春,王立福,梅宏. 软件工程本科教学的探索与实践[J]. 计算机教育,2009(16):112-115.

[7] 刘渝妍,解永刚. 软件工程教学情况调查分析与改革对策探讨[J]. 福建电脑,2009(8):29-30.

Discussion and Practice about Integrated Teaching Pattern of Software Engineering

WU Guo-dong, TU Li-jing

(Information and Computer College, Anhui Agricultural University, Hefei 230036, China)

第10篇

关键词:人才培养;策略;应用;软件工程;高职

中图分类号:G642 文献标识码:B

1引言

发展高等职业技术教育是国家的大政方针,是提高国民科技文化素质、实施科教兴国的重大战略举措。高职是高层次的职业技术教育,具有高等教育和职业教育的双重特征,肩负着培养社会经济建设急需人才的使命。高职要在激烈的竞争中持续发展,其核心的竞争力在于人才培养是否能满足社会的需求。这类应用型人才更侧重于理论的应用性,注重实际能力和实践技能的培养,以及多方面的应用能力和创新能力的养成。高职软件工程专业始终以应用型人才为培养目标,因此上述特点在本专业的人才培养中尤为突出。

2高职软件工程专业人才培养的目标

高职教育是以社会需求为导向,培养面向基层和生产第一线的应用型人才的,目标是使学生通过高等教育和职业教育的系统学习,具备灵活就业的能力,能适应社会主义市场经济发展的需要。

具体到高职软件工程专业来说,其培养目标定位为:培养具有系统、扎实的计算机软件基本理论知识,掌握计算机软件开发和设计的基本思想、方法及操作技能,能够熟练地操作计算机进行应用软件的开发和设计,包括独立地开发和设计小型应用软件,或在现代化软件产业中作为基层编程员按照规范从事软件生产的实用型软件工程人才。

当前计算机软件技术的飞速发展,要求高职软件工程专业的应用型人才培养模式要从实际出发,并能将此行业中的最新技术纳入其中,以适应社会需要的不断变化。

3高职软件工程专业应用型人才培养的指导思想

软件工程是研究用工程化方法构建和维护有效、实用、高质量软件的学科,涉及程序设计语言、数据库、软件开发工具、系统平台等方面的知识;同时它还是一门将理论应用于实践的学科,多处应用了计算机科学、数学、管理科学等方面的知识。

可见,从理论知识方面来说,高职软件工程专业主要涉及计算机软件的基本理论和方法,主要侧重计算机软件的基本知识、基本理论和计算机软件设计、实现方法等。更重要的是,从实践能力方面而言,高职软件工程专业要求培养学生在上述的计算机软件理论知识的基础上,具备较强的动手能力和二次开发能力,并以能力培养为本位,进一步提高学生的实际工作能力和解决实际计算机软件问题的综合能力。重点是在计算机软件的编程、实现、维护、管理、应用等方面。

无论是计算机软件理论知识还是实践能力,都是以实际应用为目的,只有应用才有意义。因此,将计算机软件理论知识与实践能力相互依托、相互结合,应用于实际软件工程专业的人才培养,是指导高职软件工程专业人才培养模式改革的主要思想。

4高职软件工程专业应用型人才培养策略研究

4.1进行充分的就业市场调研

传统教学模式忽视实践能力和创新精神的培养,过分强调理论知识传承的系统性与完整性,这种人才培养模式必然与当前就业市场对应用型人才的需求严重脱节。而基于高职软件工程的应用型人才培养应该进行充分的就业市场调研,获得第一手的需求信息。通过调查,充分了解软件工程专业面临的职业岗位群,了解每种岗位所需的基本理论、基本技术和工作规范,确定每种岗位的岗位能力,包括专业能力、方法能力和社会能力,根据岗位能力确定课程,根据能力形成规律,确定课程结构、排列顺序和教学形式,以职业岗位需求为依据,注重能力培养;通过调查,还要充分了解不同学生的不同思维方式、不同兴趣爱好以及不同发展潜能。只有这样,教学内容才能不仅具有学术性,还能具有现实针对性,人才培养才能贴近社会现实与市场未来发展的趋势和要求。

4.2教学计划和课程体系的科学设置

高职软件工程人才培养模式研究要完成的主要任务,是制定立足于市场就业需求的教学计划;成功的关键,则在于是否建立了及时、准确、合理的理论与实践、基础与应用课程体系。只有正确认识理论教学与实践教学在整个专业人才培养过程中的地位和作用,正确确定基础课程、专业课程和实践课程教学在整个专业人才培养过程中的比例,结合人才培养目标和社会需求,才能找到正确的教学方向。

教学计划中关于专业课程的开设,应有明显的层次区别,分清每一学年的教学难度和教学重点,循序渐进,合理安排。

(1) 注重计算机软件相关领域的基本知识,特别是计算机软件开发、数据库和程序设计基本知识的学习,使学生具有较为扎实的基础,才能为今后的发展奠定坚实的基础。

(2) 开设应用性强、实用价值高、就业去向地实用的课程,突出应用,注重实践能力的培养,突出理论联系实际和综合素质培养并重的专业办学特色,通过多种方式强化学生实践能力的培养,具有较强的适应社会要求的能力。

(3) 加强核心课程的教学与实践,对核心课程安排较多的学时,并有相应的实验课程、课程设计和技能培训,提高学生软件应用能力和开发能力。

(4) 关注不同的学生有不同的思维方式、不同的兴趣爱好以及不同的发展潜能这些差异,允许学生根据自己的特点选择所喜爱的课程,尊重学生的个性差异,满足多样化需求。

(5) 软件工程技术日新月异,教学计划、课程体系、课程内容也不是一成不变的,要根据职业岗位的变化、软件工程技术本身的变化和学生基础的变化进行调整和修正,讲授最新的软件开发方法和开发工具,与时俱进,建立动态教学计划和课程体系。

课程体系设置应将相应的软件工程实践项目与课程并重。甚至因为在软件工程项目实施中,需要学生综合运用多门课程甚至课程知识以外的知识、技能,所以软件工程实践项目具有更为重要的地位。软件工程课程(或项目,下同)依层次从低到高分为专业基础课程、专业必修课程、专业选修课程和专业方向选修课程。学生在掌握专业基础课程、专业必修课程的基础上,根据学习兴趣和职业方向进一步学习相应的专业选修课程和专业方向课程。同时,软件工程课程又依其对理论和实际操作的要求不同分为理论、实验、设计和技能四个不同的层次。

4.3理论教学的改进

理论授课要注重运用先进的教学手段和教学方法,在教学实践过程中改变以往的“填鸭式”、“一言堂”的教学,采用更加灵活的教学方法,实行案例、开放、探究、互动、分组、讨论、对抗、合作等教学方式,多给学生思考和讨论的空间,少灌输、多启发,使教学由注重知识向注重能力转变,由单向信息传递向多向交流转变,使学生由被动接受学习向主动学习转变,培养学生的独立思考、推理分析、创新能力和创新意识。课后多给学生一些资料,多布置一些课外作业,使得教学不光重视教,更注重了学。

在多媒体教学过程中,教师要充分运用多媒体技术的表现力和交互性、趣味性,同时注意转换角色,避免一味地讲授课件,使教学又回到了灌输式的课堂中。

4.4实践能力的培养

理论和实践是教学过程中非常重要又缺一不可的两个方面,二者相辅相成。高职软件工程专业要实现培养应用型人才的目标,要始终坚持软件工程理论教学与软件工程实践教学的有机结合、良性互动,没有通过实践,学生就不能真正领悟到知识的精髓,不能真正灵活运用所学的知识解决实际的工作问题。因此,高职软件工程人才培养模式改革的重点在于提高实践环节的教学质量,而提高实践环节教学质量的关键在于设计合理的实践环节和考核方式。

(1) 高职软件工程专业基本的实践环节包括课程实验和课程设计。课程实验可分为验证性实验和设计性实验,前者能加深学生对理论的理解,注重培养软件操作的能力,后者注重培养软件设计能力和独立工作能力。除了基本的课程实验,通过比较完整的课程设计,还能进一步增强学生的学习兴趣,激发学生的创造能力。

在课程的安排上,按照“实践―认识―再实践―再认识”的规律,科学确定理论、实验、课程设计之间的结构比例、时间顺序、结合方式等,有助于提高实验和课程设计的效果。

(2) 高职软件工程专业培养的是面向企事业单位生产管理工作一线的高技能应用型专业技术人才。为了增强学生的职业技能,在实践能力的培养上,需要学校加强与一些经营状况良好、信誉度高、对软件工程专业人才需求量比较大的重点企业、特定企业的合作,与企业共同承担教育任务。

在企业创建稳定的实习基地,可以为学生提供良好的软件工程实习平台,根据学生水平,模拟或实际承担企业软件工程项目的总体或部分,分多个项目小组组织学生完成,充分锻炼学生的动手能力和团队协作精神,让学生学以致用,表现优秀的学生还可以直接被公司录用为员工,抢占先机。同时,企业的品牌和社会影响力,可以帮助学校和毕业生较快地在社会中产生积极效应,增加高职软件工程专业的市场竞争能力,促进专业建设的良性健康发展,确保高职软件工程专业的人才培养方向不偏离市场的实际需要,做到学校教育与企业实践的统一,实现学校、企业和学生三赢的局面。

(3) 合理的实践考核内容、标准和方式对于提高学生的实践能力有积极的促进作用,基本的考核内容包括:吃苦耐劳作风、团队精神和合作意识、创新意识、质量成本意识、纪律意识、安全意识、环保意识、诚信观念以及专业认知程度、承受挫折的心理素质等等。同时,建立全面的、操作性强的软件工程实践环节考核标准。对操作性较强的软件工程实践课程,要求学生创造发挥完成考核内容。对于一些设计性强、项目较大的软件工程实践课程,可适当放宽考核场地,指定一段时间让学生们分工协作课外完成。

通过确立各项指标的考核标准和评价方式,建立起由企业指导教师、学校指导教师、学生、家长等评价主体参与的评价形式,以发展的观点建立学生的评价档案,结合各分项指标综合给出指导性的评价和建议,指出不足与努力方向,培养实践创新能力、适应社会能力和人际交往能力,培养健康的心理品质、高尚的人生情趣和良好的生活习惯,使学生做学问与做人协调发展。

5结束语

总之,牢牢把握高职软件工程人才培养的目标,通过深入开展就业市场调研,设置合理可行的、软件工程实践项目与课程并重的专业教学计划和课程体系,改进软件工程理论和实践教学环节,建立全面的、操作性强的软件工程实践环节考核标准,对于高职软件工程专业应用型人才的培养,为社会输送更多更好的软件工程专业技术人才有着积极和重要的意义。

参考文献:

[1] 李丹丹. 改进软件工程专业教学 培养社会急需的高职人才[J]. 计算机教育,2006(11):55-56,71.

[2] 王万良,王陆,杨卉. 教育软件工程专业人才培养模式的探讨[J]. 电化教育研究,2006(2):39-42.

[3] 张益新,曾庆尚,张立臣. 加强软件工程专业教育的意义与建议[J]. 高教探索,2004(1):72-74.

[4] 周镭,刘素红,孙海长. 企业需求与高职院校信息化人才培养[J]. 经济管理,2006(7):57- 59.

第11篇

关键词:软件测试;项目驱动;校企合作;课程改革

中图分类号:TP311

文献标识码:A

DOI: 10.3969/j.issn.1003-6970.2015.07.026

0 引言

随着软件规模和复杂性的大幅提升,如何保证软件质量的可靠性变得日益突出。而软件测试作为保证软件质量的关键技术之一,其在软件行业中的地位与日剧增,软件测试的理论和技术工具都在不断的更新。众所周知,软件质量的好坏直接影响着软件企业的发展进程,对软件质量的重视使得软件企业对软件测试人才的需求日益迫切,软件测试行业发展前景无限巨大。这也为众多计算机及相关专业的毕业生开拓了新的就业渠道,软件测试的教学工作显得越发的重要。基于上述背景,本文结合作者测试教学改革的实践,就该门课程的教学内容、教学方法等方面进行了一些探讨。

1 课程教学现状与面临的问题

当前,国内许多高校都没有单独开设《软件测试》这门课,只是把它作为《软件工程》课程的一个章节来讲,即使开设了该门课程的高校,大多因缺乏必要的测试实践经验及测试教学方法,教学效果往往不能达到预期的要求。因此如何帮助学生更好地掌握测试理论与测试技能,对我们的测试教学工作提出了新的挑战。目前,有关软件测试教学面临的问题主要有以下三个方面:

1.1 重开发,轻测试

目前,国内众多高校都或多或少存在着重开发,轻测试的思想,教学的主要精力都用在了对学生软件开发能力的培养,而忽略或轻视软件测试的教学需求,造成上述问题的主要原因有两个方面:一是,软件测试毕竟是新兴行业,目前国内重视的程度还不够,大部分软件企业招聘还是以软件开发岗为主,为了提高就业率,大部分学校只能侧重对学生编程能力的培养;二是,目前国内有关软件测试的教学素材还依然匮乏,好的测试教材不多,且软件测试实践环节需要的大量测试案例不足,教师自身缺乏实际的软件测试经验,从而造成很多教师都不愿意从事该门课程的教学工作,加之学生普遍认为测试没什么含金量,开发学不好才去学测试思想的流行,都给软件测试教学带来了极大的冲击。

1.2 课程内容设置不合理

目前,大部分软件测试教材对测试的讲解往往泛泛而谈,缺乏条理性,将测试技术、测试管理与测试工具混为一谈,学生很难把握测试的难重点,加之部分教材教学内容陈旧,不能紧跟测试最新技术前沿,学生学习兴趣度不高;测试课程内容普遍以理论讲解、概念介绍为主,缺少测试案例,淡化对学生实际测试能力的培养,学习的内容很难应用于实际的测试项目中。

1.3 教学手段和方法缺乏多样性

“PPT+板书”仍是测试教学的主要手段,教师注重满堂灌,学生只是被动的听,教学方法单一枯燥,学生课堂学习的积极性和学习效率大大折扣;而且教师在讲解测试基本原理时,往往就单一的测试知识点展开,忽略测试知识的完整性、渐进性,较少使用案例教学法,以项目驱动为主线展开知识,造成学生对测试原理理解不透彻,不能适应真正测试工作的具体要求。

2 课程教改思路

2.1 优化课程教学内容

软件测试教学重在对学生测试实践能力的培养,因此要合理分配好理论课程与实践课程的学时比例,尽量减少理论课程的教学学时,加大实践教学学时。理论课程的内容要做到“精而够用”,这就要求教师要着重梳理测试的基本理论、基本原理,挖掘出测试原理的精髓,摒弃不实用或对学生帮助不大的理论点,对测试理论讲解适度取舍。

笔者在实际的测试理论教学中,主要讲解测试的流程、黑盒测试、白盒测试、性能测试及面向对象测试等知识点,经实践证明,上述知识点能够做到“精而够用”。在实际的理论课程教学中,笔者不是单一的讲解每个测试原理,而是以项目驱动的方式展开,让学生在实际的测试项目中,循序渐进掌握测试的基本原理及方法。笔者选用在线招聘系统的客户端为测试项目,教学效果良好。对于测试工具的讲解则放在实践环节进行,提高了授课效率。

2.2 加强实践教学

软件测试重在实践,唯有重视实践,才能让学生真正掌握测试的基本方法,做到学以致用。为了达到对学生测试实践能力的培养,笔者精心设计了十次实验,这十个实验很好地涵盖了测试的基本流程及技术方法,具有一定的代表性。由于测试技术更新较快,在实验的设计中要充分考虑新技术、新平台的测试方案,如加入针对.net软件测试所需特殊性的测试技术实验、移动APP测试实验等,以培养学生适应未来测试工作的需要。

需要注意的是,仅通过单一的测试实验,学生还不能完全掌握测试的流程与技术,在有条件的情况下,还需通过综合性的测试案例来提高学生的测试水平,做到将各测试原理及测试方法融会贯通。笔者所在的学校现已进行了测试教学改革,增加了2个学分的测试课程设计,要求学生综合运用所学测试知识完成一个网站的测试实例,实践证明,学生学习积极性和测试水平都有很大地提高,

2.3 探索多样化测试人才培养方案

软件测试人才的培养与软件产业是无法割裂的一个整体。因此,培养符合社会要求的软件测试人才不单单是学校的任务,还应积极探索校企联合培养体系,把软件企业对学生的实际测试技能训练纳入到正常的培养方案中。尝试探索高校主要偏重对学生测试基本素质及基础理论知识的培养,而对学生测试职业素质及职业技能的培养则更多地置于真实的企业运行环境中去训练的人才培养体系。逐步建立高校与IT培训企业、IT企业的战略伙伴关系,鼓励教师与企业工程师的合作互动,打造共同奉献、共同获利的共赢平台。

学生在企业真正的测试环境中,通过真实案例的测试锻炼,不仅可以培养和训练协同工作、沟通交流、角色转换的意识,形成实际的工作能力,还可以使学生适应软件企业的工作环境和业界标准,并和国际先进的软件开发理念和测试技术保持同步。

有幸的是,笔者所在的院系现已积极走出了这一步。目前,我系与上海博为峰软件技术有限公司通力合作,共同培养软件测试人才,系部也引进了该公司的测试方案,相关教师也在积极培训中。

2.4 提高教师测试实践水平

“打铁还需自身硬”,为了适应培养应用型测试人才的需求,要求教师首先自身要提高测试实践水平,积累测试实践案例,逐步提高测试实践教学水平,而决不能照本宣科去教育学生。鼓励教师多下企业、及时了解测试学科前沿知识及掌握最新测试技术。在有条件的情况下,可以尝试教师与企业工程师的角色互换,相互交流,相互学习。

2.5 鼓励学生参与测试改革

在平时的学生培养中,应注重发掘动手能力强,有测试学习兴趣的学生,加大对这些学生的培养力度,可以适当调整教学内容和教学方法,鼓励学生勇于创新,勇于实践新技术,积极参与各类测试学术活动,提高自身竞争力。同时,注意引导学有余力的同学积极参与权威行业的认证与培训,考取相关测试职业资格证书。

第12篇

关键词 数字媒体技术;课程体系;游戏开发;实践

中图分类号G206.2 文献标识码A 文章编号 1674-6708(2013)107-0134-02

随着信息技术的发展和互联网的普及,以高速互联网、移动网络、数字广播电视、IPTV等为载体的数字媒体迅速发展。数字媒体技术专业是一个以计算机技术为主,艺术为辅,技术与艺术相结合的新兴专业。教育部于2004年正式批准设置数字媒体技术专业,至今已有100多所高校新办或改办了数字媒体技术专业。[1]重庆大学软件学院立以软件工程为基础,结合数字媒体新技术,培养能胜任软件系统分析与设计、数字媒体产品创作及编辑、数字内容传播、数字娱乐等领域的理论研究和应用研发工作的数字媒体技术专业人才。作为数字媒体技术重要应用领域的游戏开发近年来一直保持高速发展势头,国内从事动漫游戏自主研发的企业越来越多,国产游戏份额越来越大,自主研发的力量越来越强,培养复合型游戏开发人才的需求在不断增长。游戏设计与开发作为数字媒体技术专业中一个非常重要的方向,在课程设置上要结合当前的产业发展需要和行业发展需求,加强专业基础,加强不同学科间的交叉和渗透,重视动手实践能力的培养,注重创新能力的培养,为应用型、复合型、创新型人才的培养打下坚实基础。[2]国内很多高校在游戏人才的培养教育方面做了大量有益的探索,分析了培养现状及存在的问题,提出市场对游戏软件人才的需求及能力素质模型。[3]重庆大学软件学院开设了多门游戏相关课程,并与公司企业合作,结合实训实习以及创业实践等多种方式,培养游戏产业所需人才。

1 基础理论知识教学

数字媒体技术专业的游戏人才需要扎实的理论基础知识,具体包括数学基础、计算机基础、软件工程基础、数字艺术基础、数字媒体技术基础。

1.1 数学基础

数学基础为游戏开发提供数学和应用数学的理论和科学支撑,进行数字媒体的获取、处理、存储、传输都需要大量的应用数学知识。游戏中的数字图形的表示、生成、处理,游戏中音频图像视频的处理,游戏的算法都离不开数学基础的支持。重庆大学软件学院数字媒体技术专业的学生必须学习高等数学、线性代数、概率论与数理统计课程。

1.2计算机基础

游戏开发是以计算机技术为依托,结合计算机图形学、数字图像处理技术才得以实现,因此掌握计算机学科的基本理论、方法、工具是数字媒体技术专业学生所必须具备的。具体课程包括:信息系统基础、程序设计基础、数据结构与算法、数据库原理与设计、计算机组成与结构、操作系统原理、计算机图形学、数字图像处理等。

1.3 软件工程基础

软件工程是计算机科学的理论和技术与工程管理的原则和方法相结合,研究如何科学有效地进行软件产品的定义、设计、开发和维护。游戏作为一个产品包含文化创意、艺术设计和软件开发。游戏程序的制作就是一个软件开发过程,也一样遵循软件产品从可行性分析、需求分析、设计、实现、测试、维护升级一整套流程。所以作为基础,数字媒体技术专业需学习软件工程导论、软件需求分析、软件项目管理、软件测试理论与方法、软件体系结构与设计模式等课程。

1.4 数字艺术基础

软件学院数字媒体技术专业本科生来源于理科类高考生,缺乏艺术相关基础。而游戏是一个典型的文化创意、艺术设计和软件开发相结合的产物。游戏软件开发过程中需要与剧情创作、美工设计、音频视频制作的人员协作。游戏软件开发自身也需要一定的艺术修养,了解媒体艺术领域知识,成为技术和艺术相结合的复合型人才。在教学中安排了数字艺术导论、色彩与平面构成、数字摄影摄像、数字作品创意策划等课程。

1.5 数字媒体技术基础

游戏开发作为数字媒体技术在应用上的一个重要方向,需要数字媒体技术基础的支撑。具体开设有数字媒体概论、数字化音视频技术、DirectX图形程序设计、网站策划与Web程序设计、虚拟现实技术、移动多媒体应用开发等课程。

1.6 游戏相关课程

游戏开发是一个应用性很强的技术,所以数字媒体技术专业本科生游戏开发能力的培养采用课堂教学与实践教学相结合的模式。首先在课堂上讲授相关背景知识、技术基础,对以后在游戏的设计和开发过程中需用到的工具、方法加以系统地讲解。开设的课程有数字动画与游戏设计、游戏引擎分析与设计、游戏中的人工智能。

2 实践创新能力培养

采取分层次、分阶段、循序渐进的模式,由浅入深、由简单到综合、课内外结合,并通过开放式实践教学,鼓励学生自主立项,充分调动学生学习的积极性和主动性,培养学生的工程实践能力。依托学科,分步导向,构建实践教学体系。

2.1 课程实验

用于巩固和加深学生对于特定理论知识点的理解程度的实验。根据课程教学计划,在专业课程中安排与课程同步的验证性实验。在专业基础实验室开展计算机图形学、数字图像处理、多媒体技术等软件工程方面,及素描、速写、色彩等人文艺术方面的基础训练。在实践教学过程中,学生会获得绘画、摄影摄像、数字媒体制作、计算机图形图像处理、动画设计、游戏开发以及音视频后期编辑、虚拟现实技术与人工智能技术应用等方面的专业知识。

艺术基础素质的培养:通过艺术赏析、绘图和绘画、形态构成基础、视觉传达设计等系列课程的学习和实践,培养学生的艺术欣赏和艺术理解能力。

基本程序设计能力的培养:通过程序设计语言和面向对象程序设计、数据结构、软件技术基础、Java程序设计等系列课程从浅入深完成学生基本程序能力的培养。

数字媒体前期制作能力的培养:通过数字媒体与数字艺术、多媒体技术、平面设计与摄影摄像、计算机图形与图像处理等系列课程培养学生对数字媒体技术专业有充分的认识,具备多媒体技术和计算机图形图像处理的应用能力。

动漫游戏设计能力的培养:通过动画设计、动画制作、游戏概论等系列课程使学生掌握动漫游戏前期的设计与制作的基础概念和技术。

2.2 课程设计

要求学生采用特定的系列技术,运用已有的知识模拟系统分析、设计和实施的过程。采取团队实践的手段,遵循软件工程原则,是用面向对象方法,进行中等规模的应用开发。结合数字媒体技术专业培养计划进行计算机绘图课程设计和数据库课程设计。

在课程设计中,依据项目的大小,可以安排学生独立完成,或者分组完成,培养学生在项目开发过程中的合作交流能力。从小项目开始锻炼,为以后走入职场打下基础。

另外加入数字媒体技术方向的课程设计,使学生能够掌握和应用数字媒体作品制作和数字娱乐软件开发的各种专业知识和技术。学生按照指定的实践教学计划要求选择课题,提出设计方案进行讨论,最后在教师指导下完成课题。学生必须提交书面设计文档,学生也参加对于课题完成质量的评价,并最终以小型报告的形式提交课题。培养学生运用专业知识进行数字媒体作品的制作和数字娱乐软件的开发。

2.3 专业实训

实训环节着眼于,在未走出校门的情况下,在学院内部构造一个与在企业里实习相类似的工作环境,针对在校学生项目实战经验缺乏的突出问题,设计制定了合理的实战训练过程。基于一个具有一定规模的实际应用项目,是用主流的开发环境,采用符合软件产业界标准的软件过程规范,进行半封闭式企业化管理,让学生能够切身经历一个完整游戏项目开发的过程,培养和提高学生的实战技能和团队合作能力。

实训过程由软件企业具备丰富的项目开发经验的开发人员或学院教师指导,并带领学生在项目开发团队中扮演不同的角色,与团队其他成员共同完成实际项目。并在此基础上增加对学生职业素质以及求职技巧的培养,让学生具有更强的核心竞争力,能够在目前日益激烈的社会竞争中凸显自己的实力,能够使学生的毕业实习实现“零适应期”。

学生通过在实习基地或工程训练实验室中的实习活动体验游戏的制作工作,增加游戏作品创作和制作工程经验及团队精神的培养。专业实训安排在不同的学期末或者学期开始,集中2-3周时间完成,具体安排见表1。

2.4 工程实践

数字媒体技术专业的工程实践主要是指在短期或较长期培训之后,学生在实习单位直接参与企业实际课题的研发,在实践中进一步巩固所学知识,增强创新意识,培养动手能力和专业技能,提高就业竞争能力。部分学生到工程实践教学基地完成,部分学生在国内外软件公司完成。工程实践可以与毕业设计结合起来,一同开展。

3 结论

游戏人才是兼具数字媒体技术与艺术修养的复合型人才,须具有扎实的应用数学、计算机科学、软件工程的理论基础,和丰富的编程开发经验,掌握游戏这种特殊产品的创作开发技能。相较欧美日韩等发达国家,我国游戏产业起步较晚,但正在迎头赶上。高等学校在进行科研创新的同时,也要密切联系社会,与相关行业沟通交流,共同探讨符合产业发展的游戏人才的培养。

参考文献

[1]教育部示范性软件学院数字媒体技术专业规范研制专家组.高等学校数字媒体技术专业规范[M].北京:高等教育出版社,2011.