1.学生熟悉项目背景的案例。这样的案例学生容易接受。教师在课堂上多增加符合中国实际情况的成功的企业软件开发的案例,这样可以增加学生的感性认识。如学生考试系统、学生选课系统等。
2.国外经典案例。运用这些案例,使学生认识到软件行业的国际先进水平。借鉴国外软件开发的经验和方法,通过介绍这些经典案例,了解软件开发过程中的流程。学生可以了解到先进的软件理念和规范,可以为学生步入IT行业奠定基础。
3.在实践教学的过程中酌情引入相应的软件开发实例。重点讲授基本理论、基本方法的同时围绕中心的问题或者是中心环节适当加入软件开发实例,重点强调开发软件的各个环节步骤,理论与实践相结合,让学生随堂消化所学习的知识,并加深知识的强化与了解。
(三)讨论教学
教学方法
结语
关键词软件工程;TAP;教学模式;项目实践
软件工程学是一门指导计算机软件开发和维护的工程学科[1],是计算机科学与技术专业的主干核心课程,在专业知识结构中占有重要地位。采用“理论教学为引导、案例分析为基础、项目实践为关键”(简称TAP)的教学模式,使学生能更好地了解软件项目开发和维护的一般过程,扎实掌握软件工程的基本原理、方法和过程,真正做到学以致用。
一、软件工程课程特点及教学要求
(一)课程特点
一是综合性强。软件工程课程教学要达到良好的教学效果,其前提是要学好计算机应用基础、操作系统原理、离散数学、数值分析、数据结构及算法设计、数据库原理和一门高级程序设计语言等前导基础课程。学生只有掌握了软件工程的基本概念和基本原理,才能综合运用理论和方法开发出符合用户需求的、高质量的软件。
三是实践性强。该课程的最终目标是要学生把所学的知识运用到实际项目的开发实践中,并且只有在实际项目中才能培养学生学以致用的能力,并使其领悟软件工程的真正精髓。
(二)教学要求
软件工程适用的教学模式由课程的专业性质、理论体系和应用领域决定。首先,在当前计算机行业发展的大环境下,对软件工程人才的培养,既不等同于培养软件开发高级阶段的系统分析师,也不是培养刚入门的初级程序员。其次,该课程作为计算机系统结构、算法与数据结构、高级程序设计等的后续课程,是学生在掌握基本的程序开发技能后,进行毕业设计和以后具体软件项目设计和实施。就课堂训练而言,要教会学生如何在软件项目运行管理中避免失控、在软件进度的跟踪过程中防止偏离既定设计目标、在面临计划的突变时能协同开发团队顺利地调整阶段目标等,而不仅限于让学生掌握一般工具。基于以上教学要求,创建“理论教学+案例分析+项目实践”的教学模式便成为现实所需。
二、TAP教学模式内涵及运行
在软件工程课程的教授过程中,本文提出的TAP教学模式是指以课堂理论教学为引导(T:Teaching)案例分析为基础(A:CaseAnalysis)、项目实践为关键(P:PracticalTraining),具体见图1。
(一)课堂理论教学为引导
软件工程课程课堂讲授内容主要包括:软件工程概述、可行性研究、需求分析、概要设计、详细设计、实现、测试、维护和软件管理等。在讲授过程中,本着以学生为中心的原则,采用启发式讲授、引导式提问和互动式讨论的方法,深入浅出地对课程进行讲解,使学生更容易掌握基础知识,理解重要概念,了解软件开发模型和过程。作为一门实践性很强的课程,软件工程课程的讲解还应包括在具体案例分析和实践之后的重点、疑难点、盲点的分析和总结,并根据具体情况进行提问式和讨论式的讲解,以便学生能更系统、更全面、更感性地掌握该课程的知识。
(二)案例分析为基础
软件工程的理论和方法是从大量的软件开发案例中总结出来的,可借助真实的、经典的和学生使用较多的软件作为开发案例,从而激发学生内在的学习动力,使学生有效地理解和掌握理论知识,快速地与实际应用接轨。在教学过程中通过基于Android系统的手机游戏开发等案例的分析,使得学生对软件工程生命周期各个阶段的工作有一个深刻直观的理解。
一是可行性研究和需求分析阶段。通过案例分析,引导学生从可行性研究的经济、技术、操作和社会及法律等方面进行分析,假设学生自己作为用户,引导其思考会有哪些需求,如何进行需求分析,怎样生成报告等。
二是实施阶段。第一,结合案例的特点和开发策略,了解软件过程中喷泉开发模型,并讨论若用瀑布模型、原型化方法、增量模型和螺旋模型等进行开发,其过程有何异同。第二,重点分析该软件的架构设计、详细设计及设计模式。第三,通过课堂提问和讨论理解软件可维护性的重要性,及在课堂进行该软件的黑盒测试,对软件测试形成直接的感性的认识。
三是项目管理阶段。通过该软件的案例分析,充分认识项目管理在成本、人员、进度、质量、风险等各项活动中的重要性。
(三)项目实践为关键
1.企业实践
2.课程同步实践
在引导式教学和案例分析的基础上同步开展课程实践活动,使得软件项目管理贯穿于课程同步实践,从而全面做到理论与实践的实时结合。以基于Android的手机游戏开发作为软件工程课程同步实践项目。
首先,可行性研究、需求调研和需求分析。学生组成3~5人的开发小组对基于Android的手机游戏进行调研和可行性的实际分析,编写《可行性报告》和《需求分析报告》。
其次,软件设计,主要包括概要设计和详细设计。本实践项目的概要设计中的系统结构设计采用客户/服务器模式,在该阶段通过引导学生了解内聚和耦合的概念,并指导学生进行模块划分。在详细设计中,各小组成员根据模块的分工,确定各自负责的模块。在游戏类的详细设计中,界面设计占有至关重要的作用,学生也需对软、硬件接口、模块接口进行逻辑结构和物理结构设计。
第四,软件维护。各小组把完成的手机游戏软件安装到本小组人员的手机上,一旦发现问题进行及时维护。通过使用自己编写的软件,让学生体会软件健壮性和维护的重要性。
三、教学效果
(一)学生评教
近三年来,采用TAP教学模式对软件工程本科课程教学改革进行探索,效果显著。《软件工程》课程被评为校级精品课程,学生的学习成绩和学生给教师的评教分值逐年上升,见表1。
(二)社会评价
软件工程课程重点培养学生在计算机软件项目中分析和解决问题的能力,注重软件工程学方法和思想的引导,注重计算机软件与应用领域知识面深度和广度的拓展,着力培养学生的自主学习和实际动手能力。在企业实践中,以项目实战为导向,增强了学生学习的自信心和主动性,取得了良好的反馈。用人单位普遍反映毕业生的软件工程能力比较突出,毕业生到了新的“实战环境”后,其适应能力、创新能力、可塑性等方面都表现优异,得到用人单位的广泛好评。
(成都理工大学2013-2016年高等教育人才培养质量和教学改革项目《课程教学模式改革》,编号:13JGY68,主持人:胡文艺)
参考文献:
1.具有计算机类或财经、管理类大学本科毕业以上学历。
2.主任(副主任)应具同级副职任职2年以上或下级岗位任职5年以上的工作经历。
(二)知识要求:
1.熟悉党和国家有关科学技术工作的方针、政策、法律、法规。掌握烟草专卖法、专利法、技术合同法及标准化法等法律法规。熟悉有关保密法规。熟悉本系统生产经营环节及统计分析的基本知识。
2.了解烟草业务流程、标准化、安全技术、计算机、专利、技术经济分析及技术行政管理等知识。了解国内外烟草行业科学技术进步现状及发展趋势。
(三)能力要求:
1.理解判断能力:能准确理解、执行党和国家的方针、政策及上级指示精神。能对北京烟草信息化发展方向提出分析判断性意见。
2.组织协调能力:能组织本部门人员共同参与业务工作。能协调与有关部门和单位的工作关系。
3.语言文字能力:具有草拟、审核指导性文件、专题调研报告和技术论文的能力。具有较强的口头表达能力。
(四)素质要求:
1.具有较强的敬业精神和责任心,工作细致认真,能承受很大的工作压力。
2.具有刻苦钻研的精神和锐意创新的积极性。
关键词:应用型人才;信息工程监理;产学合作;培养模式;实践教学
产学合作教育是培养工程应用型人才的重要模式,是一种由学校与企业有机结合、共同合作,以提高学生全面素质、综合能力和就业竞争力为出发点,充分利用学校和社会两种不同教育环境和资源优势,把以课堂传授间接知识为主的学校教育与直接获取实际经验和实践能力为主的生产实践有机地融于学生培养过程中的一种开放式教育模式[1]。产学合作教育模式逐渐被大家认可,在信息工程监理行业产学合作教育北京联合大学走在前列,在合作过程中积累了大量经验,完成产学合作教育教学模式及运行机制教学体系设置[2]。实践过程中取得了一些丰富的成果,也有一些缺陷和不足,结合实践成果及经验完成实践教学环节的设计。
1产学合作模式实践及效果
近年许多高校确立了培养应用型人才的目标和定位,围绕应用型人才培养模式的讨论也各抒己见,提出了一些科学的方法和模式[3]。北京联合大学在信息工程监理行业进行了多年实践和总结,紧扣社会对信息工程监理人才的实际需求,促进专业设置、人才培养方案、课程体系及实践环节的改革;做到教学、实验、实践三个环节之间有机结合,强化学生的工程项目意识,提高实践能力和创新能力;产学合作教育为学生的就业、择业、创业及进入社会架起桥梁,加强产学合作,改变教学培养模式和方法,是学校培养高层次、应用型人才的重要途径。
从2003年北京联合大学开始与信息工程监理企业进行合作,合作培养流程如图1所示,采用观摩实习、合作讲学、教学培训和顶岗实习等多种合作模式,完成了信息工程监理项目和学生及社会人员信息工程监理人员的培训、课题研究、标准制定。毕业生在信息系统工程监理行业获得较好反响,他们在监理企业已得到很好的发展,成为企业的技术骨干,作为项目经理独立带领团队完成信息系统工程监理项目。学校与监理公司的合作已经走上良性循环。大量的信息工程监理企业主动要求跟北京联合大学合作,结合“十一五”国家课题“我国高校应用型人才培养模式研究”项目,承担了《信息工程监理与软件测评应用型人才培养模式研究》子课题的研究工作,研究应用型人才培养模式和产学合作教育教学方法。课题组结合信息系统专业方向,以及信息系统工程监理和软件测评行业人才需求,研究产学合作教育教学可行性、教学模式及运行机制、实践的内容和方式。
2合作过程中存在问题及原因
在产学合作过程中,多年延续的人才培养模式暴露出它的弊端,主要包括:
2)学生没有实际的项目实践,动手能力差;达不到整体项目的理解,各层次能力均处于初级。主要原因是每门课程的实验及实践都停留在简单的知识练习,实验和实训内容设计得不到重视。而且大部分教师没有实际的项目经验,设计的实训案例深度和真实度都不够。需要综合各门课程的核心内容,设计综合性、系统性的项目完成知识的综合、技能的锻炼、团队协作及创新能力的训练。
3)学生适应能力、创造能力及团结协作观念不强。在实际工作中,适应能力、创造协作能力是每个工作人员必须具备的基本能力,但仅通过知识讲授和课堂教学,学生这方面的能力得不到强化和训练。原因是教学过程中对这部分能力培养教学欠缺设计。完成课程学习、实验、实践都是简单的考试或任务分工。要培养学生的上述能力,需要课堂内外强化实践活动,需要有一个完整的实践教学体系来支撑。
3实践环节教学设计
结合产学合作模式的实践过程及遇到的问题,设计出实践教学环节的教学体系,实现应用型人才培养目标与产学合作模式的良性互动,这是对计算机科学与技术专业信息系统工程监理人才培养的教学体系的创新与实践。信息工程监理实践教学环节流程如图2所示。
结合信息系统专业方向培养目标,学院对教学方案进行了改革。依据教委教学,基础理论课程教学课时不变,合并了部分专业课程,如将“信息系统设计与实现”和“软件工程”进行合并,理论课程课时由60学时加为74学时。将所有专业课程的1周实训也进行合并,设置为“信息系统设计与实现”3周72学时,理论课程教学和实践教学课时约为1U1比例,同时理论课程的教学都依照实践任务为主线进行模块设计。如“高级语言程序设计”128学时的讲学按照语法、实验、模块任务和综合任务设计进行分配,比例为2U3U3U2,模块任务和综合设计任务的设计都是依照实训任务设计。各门课程的衔接和协调基本按照完成实际项目为目标来设计,所有专业基础课和专业课的讲学和实验都围绕实训任务来进行。通过课程讲学、实验、实训完成项目的需求分析、系统概要及详细设计、系统测试和初验、系统试运行和终验。
课堂教学结合专业核心课程(高级语言程序设计、软件工程、计算机网络工程、软件项目管理及文档写作、信息工程监理、软件测评等)联合备课,协调整体培养目标,为后期实践或实训的执行作好准备。课堂讨论要求围绕信息工程监理现状、发展及常见问题进行,目的是为了提高学生参与活动的积极性和主动性,激发和培养学生独立思考、分析问题的能力。
图2显示,信息系统专业方向实践教学包括以下三个环节:
1)教学项目能力训练。教师准备好项目素材及资料、以实际的项目为题目,有完整的需求分析报告、系统设计报告,学生分组讨论和理解项目文档,按照项目的要求完成系统的开发(积累软件开发能力、工程能力,消化软件工程理论知识)。在信息工程监理课程教学过程中,结合课程实验及实训,将学生按小组、分角色完成信息工程监理模拟活动,巩固信息工程监理的理论基础、熟悉监理流程和程序,巩固和综合软件项目管理、项目文档写作、软件测试、信息工程监理等课程知识。合作企业提供详实的案例内容,在有项目经验的教师的指导下,学生通过阅读和分析讨论案例素材,加深对项目管理知识的理解。
2)自主学习能力的训练。通过展开程序设计大赛、项目设计大赛等活动提高学生学习积极性,锻炼团队合作能力。通过开放实验室和实验教学平台,弥补课堂教学的不足。
4结语
北京联合大学在应用型人才培养模式上进行了积极探索。笔者结合信息工程监理行业提出了产学合作模式,设计了信息工程监理实践教学环节,通过强化项目驱动的实际训练,缩短学校人才的培养与信息工程监理企业用人需求的差距,优化教育资源的配置。
[1]佟建新,张冰峰.我国高校应用型人才培养模式研究:信息工程监理与软件测评应用型人才培养模式研究结题报告[R].北京:北京联合大学应用型人才培养模式研究结题报告会,2010-03.
[2]罗三桂,张俊平,董黎,等.以专业教育评估为导向的工程应用型人才培养模式的探索[J].中国大学教学,2008(5):37-40.
[3]刘伟.实践教学中应用型人才培养模式的研究[J].实验技术与管理,2009,26(9):123-127.
DesignofPracticeTeachingofInformationSystemProjectSurveillanceBasedonIndustry-universityCooperationModel
ZHANGBingfeng,TONGJianxin,ZHANGYuxiang
(InformationCollege,BeijingUnionUniversity,Beijing100101,China)
关键词:软件测试;高职;课程设计
CurriculumDesignofSoftwareTestingProfessionalofVocationalColleges
YUHai-hong
(NanjingCollegeofChemicalTechnology,Nanjing210048,China)
Abstract:Softwaretestingisthekeytosoftwarequalityassurance,whichisthroughoutthesoftwarelifecycle.Atpresent,softwaretestingprofessionalsaredifficulttomeettheneedsofthecommunitywhetherquantityandquality.Basedonthisstatus,thisarticlepresentsthecurriculumdesignofsoftwaretestingprofessionalinvocationalcollegestobringuprapidinductiontalentofthesoftwaretestingfortheenterprise.
Keywords:softwaretesting;vocational;curriculumdesign
1课程设计背景
软件应用已渗透到各个领域,小到生活中的家电、电子消费品,大到国防、航天、医疗领域的精密仪器,软件是现代服务业发展的核心。随着软件功能的增强和应用的扩展,软件的规模越来越大,内部结构越来越复杂,软件的质量和生产率难以适应发展需求,已经成为软件企业规范管理和软件产业快速发展的绊脚石。
1.1软件测试的重要性
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程规范了软件开发的过程,是生产最终能满足需求且达到工程目标的软件产品的保障。软件工程中提出了软件生命周期的概念,将软件开发分阶段有序进行,软件测试是软件质量得以保证的不可或缺的一环。
软件质量正确的内涵包括三方面,完整的需求、正确的代码和最少的缺陷。软件测试就是在软件开发的整个生命周期中对这三方面进行有效控制的重要手段,是软件质量的安全副驾驶。通过必要测试,软件缺陷数可至少降低75%,而软件的投资回报率能达到350%。软件测试工作对软件项目的重要性,从今天诸如微软这样的软件巨擎的人员架构上就可见一斑。如今,在微软内部,软件测试人员与软件开发人员的比率一般为1.5~2.5左右,即一个开发人员背后,有至少两位测试人员在工作,以保证软件产品的质量。
1.2软件测试现状
目前越来越多的软件开发机构认识到测试的重要性,并且成立了专门的测试机构,如QA小组,并且配有专门的测试人员。软件测试的过程也由最初的后期调试上升到软件开发全生命周期的质量控制,测试的重要性和规范性也不断提高。
软件测试的方式也开始由手工向自动化测试方向转变,自动化测试工具在测试过程中的应用越来越多,越来越广泛,诞生了很多自动化测试工具,诸如:QTP,Winrunner,Loadrunner等等。软件测试的蓬勃发展在促进质量提升的同时,也将软件产业带进发展的新时代。
1.3软件测试人才供给不足
2课程设计目标和原则
高职教育的内涵就是以市场为导向,培养具有较强动手能力,再培养成本低,能够快速切入工作领域的蓝领人才。也就是说高职教育的培养目标是具有一定应用能力的实用性人才。
软件测试工程师一般分为以下几个等级:1)高级测试工程师。高级测试工程师不但需要掌握测试与开发技术,而且要对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题进行分析和评估。2)中级测试工程师。中级测试工程师要能编写测试方案、测试文档,与项目组一起制定测试阶段的工作计划、能够在项目中合理利用测试工具来完成测试任务。3)初级测试工程师。初级测试工程师的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
根据高职学生的能力特点,应该把高职学生定位在初级和准中级测试工程师,具有一定的设计方案的编写能力,能利用测试工具完成一定的测试任务,并能够执行功能测试。整个课程的重点是软件测试岗位的基本技能,主要包括:软件测试基本概念的建立;软件缺陷生命周期管理;系统测试的基本概念、方法和用例设计;典型测试工具的应用;对于典型系统的测试方法。
3课程设计
基于软件测试工程师的工作性质和高职学生的特点,在高职院校开展软件测试方向课程,应分为三步走:第一,掌握一门软件开发语言和一种数据库应用技术,建立计算机信息系统的概念。开发语言的逻辑都是相通的,关键是通过对某一门语言的学习来建立软件开发和计算机处理信息的概念。第二,了解软件开发的过程,软件测试贯穿于整个软件生命周期中,只有对软件开发过程有了清晰的认识,软件测试的工作开展起来才会更完整,更有效,更加节省成本。第三,掌握一种自动化测试工具,软件的规模越来越庞大,测试的任务也越来越重,越来越规范,自动化测试工具的应用越来越广泛。
高职高专类学生的培养更加注重动手能力,特别是软件开发和软件测试方向学生的培养,单单靠课堂上有限的理论课程是很难建立对系统开发和测试的直观认识的,所以软件测试人才的培养实训课程的数量和质量必须有所保障。基于以上分析的这些特点,设计如下培养方案,以下设计每个环节都分几个方向,可根据学生自己的兴趣进行选择性学习。
3.1认识测试环境
学生首先应该有一定的计算机基础,对当前比较流行的操作系统和简单的网络知识有一定的了解。测试环境这一环节的内容属于专业基础课程设计。如表1。
3.2培养编程思想和数据库应用能力
无论从事软件开发还是软件测试,都必须掌握一门开发语言和数据库应用技术,来培养学生的编程思想和对信息系统这一概念的理解。编程语言基础众多,结合学院软件专业学生的培养方案,本文仅提出了.Net方向和Java作为参考。如表2。
3.3软件测试的巩固
要成为合格的软件测试工程师,首先要对软件开发的整个流程有所认识,因为软件测试贯穿于整个软件生命周期过程中。无论做软件开发还是做软件测试,在当前都要有一定的标准和规范,所以软件工程这门课程在软件行业显得非常重要。如表3。
3.4通过实训项目提高测试能力
4小结
软件测试工程师不仅要有一定的专业技能,更重要的是有良好的逻辑思维能、耐力和毅力,所设计的课程内容首先要考虑到学生的兴趣,也要尊重当前的市场需求,所以本文只是宏观上的设计,鉴于教学实践的积累,软件测试专业的课程设计会被不断的充盈和完善,反过来,这种宏观上的课程设计为具体的授课提供依据和指导。
关键词:软件专业;人才培养模式;校企合作
一、软件专业人才需求状况
随着国家“十二五”规划纲要的出台,预示着软件专业人才在今后几年信息化建设中将越来越受到行业、企业的重视。2011年1月28日,国务院正式了《进一步鼓励软件产业和集成电路产业发展的若干政策》,文件针对产业发展的薄弱环节以及自主创新能力不强等问题,进一步体现了鼓励自主创新,促进产业升级的导向作用,奠定了软件行业新一轮的增长基础。
二、软件专业人才培养的发展历程
三、软件专业人才培养模式
四、软件专业人才培养模式的改革与发展
随着软件行业发展的逐步成熟,企业对人才的需求依然旺盛,但对人才的知识结构、技能熟练程度的掌握也在发生着变化。软件企业需要的不再是仅仅掌握理论知识的人才,他们更多希望既有理论知识,又有熟练的专业技能,同时职业综合素养较高的专业人才,甚至他们更加看重人才的职业素养的高低。于是,在以上两种培养模式的基础上,逐步兴起了一种新的校企合作的培养模式。这种模式依靠高校在办学经验、教学管理、教学场所、大众认可的学历教育等方面的优势,结合培训机构,在师资、课程体系、教学方法、就业等方面的优势,实现强强联合,为软件专业人才的培养开辟了一条新的道路。从规范办学、提高人才培养质量的角度来看,这一新的培养模式将会成为改革发展过程中的一种必然结果。这也将会促使校企之间更加深度合作,弥补我国教育资源在分配上的不足,吸引更多的企业参与到学校对人才进行培养,为国家人才培养高质量的软件专业人才提供保障。
软件专业人才的培养经历了从小到大的历程,而培养模式的变革也为我国软件行业的发展、转型起着催化作用。在直“十二五”建设期间,随着我国经济转型的调整,软件行业对人才的需求也将发生变化,而校企之间更加紧密合作的人才培养模式,必将为行业发展、学校专业建设、师资培养、人才培养质量提高等方面提供更加牢固的保障。
[1]赵继会.工业软件人才培养现状分析报告[J].经济研究导刊,2011,(20).
[2]涂刚等.高职软件专业差异化的人才培养模式研究[J].职教论坛,2011,(3).
[3]李思莉等.软件工程专业人才培养模式研究与实践[J].教育教学论坛,2012,(34).
[4]朱彬等.软件工程专业服务外包人才培养模式[J].计算机教育,2012,(01).
[5]付勇智等.普通院校软件工程专业实践教学体系[J].计算机教育,2010,(17).