首页 优秀范文 软件工程实训总结

软件工程实训总结赏析八篇

发布时间:2023-03-13 11:14:28

序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的软件工程实训总结样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。

软件工程实训总结

第1篇

[关键词]应用型本科;软件工程;实践教学体系 

[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2016)04-0019-03 

2011年,为了进一步深化本科教育教学改革,提高本科教育教学质量,教育部、财政部决定在“十二五”期间继续实施“高等学校本科教学质量与教学改革工程”。政策实施多年以来,各级教育行政部门及高校非常重视,一批批国家级、省级“质量工程”项目相继立项建设,教学改革不断深化,教学质量显著提升,取得了丰硕的成果。“质量工程”涉及高校本科人才培养工作的方方面面,其中实践教学与人才培养模式改革创新是提高高等教育质量的重要内容。[1]2010年广州大学华软软件学院软件工程专业获广州市属普通高等院校第一批特色专业,同年,又被广东省教育厅评为2010年本科院校“特色专业建设点”,2012年获广东省高等学校“专业综合改革试点项目”。 

一、应用型人才培养目标定位 

广州大学华软软件学院作为全国300多家独立学院中唯一的一所软件学院,在办学过程中经过不断的研究探索,科学、客观地将人才培养的主体目标定位为“应用型人才”,即以应用为主,核心是“实践”,目的是“提高实际动手能力”,为地方经济社会发展培养适应中国软件产业发展需求的规范化应用型人才。学院构建了一套遵循全程化、层次化、模块化三个原则的应用能力培养体系。“全程化”即将培养学生的应用能力贯穿到学生在校学习的全过程;“层次化”即将应用能力分解为不同的能力层次分阶段进行培养;“模块化”即根据培养不同能力层次的需要,依托不同的课程模块和实践性教学环节模块进行培养。在应用能力培养体系架构下,结合珠三角地区经济发展需求,构建软件工程专业实践教学体系。 

二、以应用能力培养为核心,探索实践“三合一”实践教学体系 

以软件工程专业的核心课程为基础,以应用能力培养为核心,借助广东省计算机技术与应用实验教学示范中心、软件与信息技术服务协同创新发展中心,以及合作企业,构建集层次性的课程实验教学与实践、丰富性的课外科技专业实践、系统性的专业综合训练于一体的“三合一”实践教学体系,体系结构见图1。 

■ 

图1 实践教学体系结构图 

(一)深化教学改革,开展层次性的课程实验教学与实践 

结合学院实际情况和专业特点,分析了传统课程实验教学中存在的问题,探索新的课程实验和实践教学模式。软件工程专业的课程实验安排强调为学生建立坚实的理论基础,更要训练娴熟的技术技巧,提高学生自我学习、分析问题、解决问题的能力。课堂教学采用工学结合、案例驱动的大小课教学模式,大课注重理论教学,小课则注重实践操作,大小课相互结合。成立软件工程实验教学教研室,专门负责实验教学的审查和监督。定期召开教研会组织相关任课老师和专家对软件工程专业核心课程的实验内容进行精心的设计,把实验分为五种类型:基础性实验、设计性实验、综合性实验、创新性实验、研究性实验。对于实践动手能力要求高的课程增加课程设计综合实践环节来进一步巩固和加深学生对所学相关课程理论知识的理解,对于不同课程进行多课程融合的综合课程设计,把项目实训的案例按照相关专业课程的实验目标进行精心设计和分解,形成实验大纲融入课堂实验。与IT巨头微软、IBM深度合作进行课程的嵌入,包括实验的教材、实验内容等。整体课程的实验内容设计和安排遵循由易到难、由单元到综合、由基础到提高的教学规律,使之具备层次分明、结构清晰、目标明确等特点。 

(二)开展丰富性的课外科技专业实践,促进与实践教学的融合 

课外专业实践活动是培养学生实践能力、创新能力和人文精神,提高学生综合素质的重要途径,是实践教学的重要组成部分。[2]以“实践、求知、创新”为主题,以提高学生的实践能力、创新能力和综合素质为目标,大力开展软件工程专业大学生课外科技实践活动,积极创建大学生科技创新能力培养平台,激发学生参与课外科技实践的热情,推进学风建设。鼓励学生申报省级甚至国家级大学生创新创业计划训练项目,制定相关政策扶持大学生创业。每年定期举办“软件开发设计大赛”、“网页设计大赛”、“JAVA程序设计大赛”等专业竞赛,开展“IT论坛”、“湖边论坛”等各种学术讲座及“计算机协会”、“创新创业协会”等社团。成立学生课外学科竞赛专家库,鼓励和支持学生参加“全国计算机软件资格与水平考试”,参加“挑战杯大学生课外学术科技作品竞赛”、“全国大学生服务外包创新应用竞赛”、“蓝桥杯软件设计大赛”等学科竞赛、科技创新活动,让学科竞赛成为教学改革实践的载体,从多方面有力推动实践教学与提高学生创新能力。此外,积极改革探索将学科竞赛与教学活动相结合,把大学生的科技创新活动纳入实践教学体系之中,并不断加强大学生创新创业实践基地的建设,为学生进行科技创新、技术交流提供平台。 

(三)阶段式项目实训+毕业实习+毕业设计,开展系统性的专业综合训练 

项目实训有助于提高学生的实践动手能力,是实践教学体系不可或缺的组成部分,也是软件工程人才培养的一个重要途径。跟知名IT企业合作联合开展项目实训,并在软件工程专业的教学计划中明确规定从大一到大三学生需经历三个阶段的实训环节,到大四参加毕业实习、毕业设计。系统性的专业综合训练贯穿于大学四年的学习。项目实训以体现“层次化、全程化、系统化”为原则,分为三个阶段,分别对应大一、大二、大三的学生。因为年级差异,三个年级的实训题目大部分来自企业的真实项目并经过仔细斟酌和精心设计:一年级的实训题目是教师从某一个真实案例的模块简化而成,主要培养大一学生的基本编程能力和认知;二年级选择的实训案例尽可能体现学生程序分析与设计能力的培养;三年级的实训题目更侧重程序综合开发能力和创新能力的培养。项目实训在每学年的第二个学期末采用封闭集中方式进行,作息从早上9点到晚上10点,企业工程技术人员和在校老师一起担任项目实训指导教师,进行全程跟踪指导。整个实训过程尽可能在时间和空间上最大限度模拟软件企业的真实工作环境,严格按照企业管理模式管理、考核,让学生体会实际项目开发的工作氛围和职业要求,提高团队协作意识和沟通技能。[3]毕业实习则从第六个学期结束之后开始,到第八个学期毕业论文答辩结束,学生从进入企业开始,就按照企业的安排进入相关项目的研发和实施,由企业工程师和学校教师共同指导学生进行毕业设计。 三、不断完善实践教学体系,保障实践教学质量 

(一)加强软件工程专业课程群建设,优化实践课程体系 

课程群建设是近年高校课程改革的一个发展趋势,是高等院校课程建设实践中出现的一项新的课程开发思路。我们用课程群方法进行了软件工程专业课程体系优化的探索,对相关课程进行了深入的分析,坚持课程体系整体优化的原则,构建课程群课程体系,并在人才培养方案中有所体现。优化后的课程体系划分为四个群:专业基础能力课程群、专业与服务课程群、综合实践能力课程群、新技术探究课程群。[4]四个课程群之间的独立性、关联性、整体性和应用性,尽可能体现最新科技技术和方法,课程内容及时更新,做到前后课程衔接好,力争在实现专业培养目标、改进学生知识能力结构方面有比较大的突破,从而优化整个实践教学体系。 

(二)组建一支专兼职、校内外结合的“三三制”实践教学师资队伍 

在师资引入我们采取“三三制”原则,即教师队伍由三部分组成:一部分来自传统高校具有丰富教学经验的高职称教师;一部分来自企业具有丰富工程实践经验的工程师;一部分来自留学海外具有教学和工作经验的人员。同时,在实习、项目实训环节还邀请校外的工程技术人员和校内教师一起进行实习实训的指导。 

(三)加强实验室和校内外实训实习基地建设,促进实践教学质量提高 

为适应实践教学的需要,按照专业方向、专业基础构建了软件工程实训、程序设计、数据库、操作系统等6个实验室。我院“PARASOFT-华软软件学院软件自动化测试实验室”与中国移动、印度塔塔、深圳览众科技等企业合作,形成了完整的校内实验室和实训实习基地。 

(四)建立支撑实践教学体系实施的管理、资源、教学信息平台 

自主研发“毕业设计数字化管理平台”进行毕业设计的管理;自主研发“实验教学管理平台”,为实验指导老师、学生提供了一系列服务,从而提高工作效率,保证课堂实验教学效果;引入“项目实训管理平台”,帮助学生了解企业项目开发管理过程和规范,确保了项目实训的质量和效果;以FTP服务器、论坛为载体,建设了以课件、讲义、参考资料为基本内容的实验教学资源,为学生提供便利。 

(五)建立实践教学管理、考核和评价制度,确保教学秩序和质量 

制定软件工程专业实验教学管理办法、学生实验考核办法、软件工程专业项目实训实施细则、项目实训验收标准、毕业论文(设计)工作管理规程、毕业实习管理办法等多项规章制度,覆盖了课堂实验、项目实训、毕业实习、毕业设计等各环节的管理,以确保实践教学秩序和质量。 

四、结束语 

经过两年的教改实践,教学效果良好,各项指标基本达到预期目标,形成了一套较为完整的实践教学体系,有效促进了应用型人才的培养。实践教学是培养应用型软件工程人才的重要环节,而实践教学体系的构建与完善是一个复杂、艰巨的系统工程,需要在实践的过程中不断的探索与总结,从而促进实践教学的整体优化,真正实现应用型人才的培养目标。 

[ 注 释 ] 

[1] 王志安,王旭辉,李燕.计算机科学与技术“3+1”教学模式下的实践教学[J].计算机教育,2014(7):59-63. 

[2] 曾永卫,刘国荣.“卓越计划”背景下科学构建实践教学体系探析[J].中国大学教学,2011(7):75-78. 

第2篇

不同学科、不同专业的大学生,专业素质的培养要求是不完全相同的.软件工程人才培养注重“基础知识”、“技术”和“工程”三个方面.因此软件工程专业的大学生专业素质主要包括以下几个方面:

1)软件基础知识结构能力.软件基础知识结构能力是软件工程专业的大学生对软件基础知识框架的掌握程度及其融会贯通的能力.这种能力是一种软能力,也是该专业大学生最基础的能力,还是培养其他能力的土壤.软件工程专业的教师和大学生都应该注重这种基础性能力的培养.教师在教学过程中要突出重点、注重联系;大学生在学习过程要多思考,注意总结,把软件知识学得有条理、有脉络、有框架.这种能力的培养也为他们以后学习新知识打下坚实的基础.

2)编程能力.编程能力是在一定的平台上利用编程语言编写出计算机能够运行的程序而使某一问题得到解决的能力.这种能力是软件专业大学生所必须具备的能力,因为它是该专业大学生素质的核心体现,是软件工程专业的重要培养目标之一,也是本专业大学生在就业市场上找到自己理想工作的保障.编程能力的培养要有一个过程,对于刚刚进入大学的大学生来说,学习编程语言时要多写程序、多调试程序,不断积累编程经验.编程既锻炼了自己操作计算机的能力,更重要的是锻炼了自己的思维能力和利用计算机解决问题的能力.这种能力是应用能力的核心体现,是软件工程专业大学生的本色,在自己就业时具有至关重要的作用,也关系到自己今后的发展.

3)搜索能力.大学生是较高水平的知识分子,应该具有较强的知识搜索或查找能力.对于软件工程专业的大学生来说,不仅仅是指一般性知识的搜索和查阅,更多的是指与本专业相关的一些编程工具软件、插件、软件学习网站等的搜索与下载.当代社会是信息爆炸的社会,软件的种类繁多,软件技术的变化日新月异,作为软件工程专业的大学生应该掌握一定的检索技术,以满足自己学习和今后工作的需要.这种搜索能力是自己的充电器,会使自己终生受益.

4)软件工程实践能力.软件工程实践能力是软件工程专业大学生所必须具备的特殊能力,这是由软件工程专业的特殊性决定的.软件工程专业的大学生是工程性人才,要具有工程性思维和运用工程方法去解决软件项目问题的能力.工程方法是一种比较科学规范、可减少错误、有步骤地解决问题的方法,把这种方法用到软件项目上可以借鉴以往的工程方法和工程经验,从而降低软件开发过程中出错的可能性、降低软件开发成本、提高软件开发效率.在IT企业中的开发团队也常常用这种方法来开发软件.因此,作为工程性人才的大学生也要拥有这种能力,为自己以后的工作奠定基础.

5)团队协作与沟通能力.在IT企业中,软件开发人员往往是以团队的形式承接和开发某个工程项目的,团队是这类企业工作的基本单位.软件工程专业的大学生,毕业后往往在IT企业中工作,所以软件工程专业的大学生要具备这种若干个人在一起既分工又合作地完成一个相对庞大而又复杂工作过程的团队协作能力,才能适应工作的需要.团队协作能力较高的人才可以快速地融入团队,并和团队中其他成员一起解决问题.一个团队在开发项目的过程中,团队中的成员不可避免地会因为项目中的一些问题而进行彼此沟通,进而统一认识并找到解决问题的方法.因此,一个合格的软件开发型人才,必须具有较高的团队协作与沟通能力.

强化专业素质培养的几点举措

1优化课程体系

软件工程专业的课程体系的优化或改革要经历一个不断探索、不断完善的过程.课程体系改革的核心问题是优化课程体系的内部结构.以教育部关于高等学校软件工程专业的发展要求和规划为指导,结合软件工程专业应用型和工程型人才的培养目标,配合地方高校对软件工程专业发展的规划和实际情况及本地对软件工程人才的需求,为适应社会信息化和软件工程技术的不断发展对应用型人才的需要和要求,合理地按需设置或修整软件工程专业课程体系,进而划分成不同的课程群.

课程群建设并不是机械地进行课程排列组合,它是把一批具有相同认知结构和培养目标的本专业或跨专业课程的知识、方法、问题及解决方案有机地整合形成的课程体系.同一个课程群内课程间要具有一定的关联性,即课程群内的课程间要具有共同或相似的知识点和思维方式,整合这些关联性,避免知识的重复讲解和教学资源的浪费.课程群建设可以优化课程设置,整合教学资源,取得1+1>2的整合优势.我们可以把软件工程专业的主要课程分为以下几个主要课程群:

1)数学课程群.数学课是软件工程专业的专业基础课,对软件工程专业专业素质的培养起着基础性的作用.这个课程群包括的课程主要有高等数学、线性代数、概率论、组合数学、运筹学等.这些课程间的知识点是相联系的,解决数学问题的思维方式也十分相似.在讲解该课程群时,要把问题的求解过程讲清楚,培养学生的逻辑思维能力和数学建模能力.

2)程序设计课程群.编程能力是软件工程专业大学生专业素质的核心之一.程序设计课程正是培养大学生这个能力的,包括C/C++语言程序设计、Java语言程序设计、C#程序语言设计等.C语言的学习为后面程序设计语言的学习准备了数据类型、控制结构知识点的铺垫,C++的学习又为后面程序设计语言的学习提供了面向对象的相关知识的铺垫,Java在某种程度上可以说是C++的子集,C#是在吸收C++和Java的基础上设计的.对这个课程群的讲解既要注重知识点的讲解,更要注重编程能力的培养与提高.就这个课程群而言,可以实施项目教学,这样既讲解了知识点,又提高了编程能力,更是让学生及早接触项目并积累一些项目经验.

3)网站开发课程群.网站开发是目前一个比较火爆的方向,软件工程专业都会开设该课程群.主要包括JavaWeb、JSP、Asp.net、JavaScript等课程.在这些课程中,网页是其共同的知识,还有Ses-sion、Application等内置对象等,并且网站的设计思路也比较相似.在讲授该课程群时,如果同学们没有接触过这个课程群,则知识点要讲细一点,否则,可以略讲;在课堂教学中,要以一些常见的网站为项目来讲,如学习网站、学生管理网站等.

4)数据库设计与开发课程群.数据库是用来存放海量数据的,网站中存储数据的后台往往都是数据库.因此,数据库的设计与开发是软件工程专业必开的课程群.该课程群包括MySql、SqlServer、Oracle等,这些数据库的基础理论是一样的,如表、数据的完整性、SQL语句等.对于初学者,要把数据库基础理论讲得深一些;对于学过的,重点讲不同点,以一些生活中常用到的表为例,如学生表、员工表等,来讲数据库中表的设计与开发.

2布置作业和课程设计

软件工程专业是一个工程性的专业,培养的是应用型人才,要求教师布置的作业要有一定的针对性、应用性和专业性.特别是对于应用性课程,如程序设计、网页制作、网站开发、游戏开发等,这类课程要布置一些让学生自己去设计并亲自动手才能完成的作业.这样不但可以锻炼大学生逻辑思维和创造性思维,更能锻炼他们的应用能力.软件工程专业的特殊性也带来一些课程考试的特殊性.对于一些操作性很强的课,如JavaWeb、基于Asp.net的动态网站的开发、Java游戏开发等课程,可采用上交课程设计的方式代替传统的笔试考试.

3开展竞赛和报告活动

软件工程专业大学生的编程能力、工程实践能力和团队协作能力的培养和提高不能只靠课堂教学中所布置的作业,还要寻找一些其他途径.参与竞赛活动是提高软件工程专业大学生专业素质的一条良好途径.学校和软件工程院系要定期或不定期地举办专业性的竞赛活动,设置合理的奖项,鼓励大学生踊跃参加.参加竞赛活动的主体往往是以团队为基本单位,这些团队都拿着自己的作品去参赛.因此,参加竞赛活动的过程无疑会使大学生的团队协作与沟通能力、编程能力等得到提高.学校和院系也要鼓励软件工程专业的大学生参加国家、省、市举行的竞赛活动,这不仅可以使大学生的素质得到提升,而且得到荣誉后有利于大学生找到合适的工作.

书本知识是前人所发现和提出的,相对现在有较长的一段时间,不是当前新知识和研究成果的反映.为了让大学生对前沿知识有一定的了解,学校和院系可以在一学期内邀请一些国内外知名学者作一些学术报告或讲座.参加学术报告或讲座,既可以让学生对当前某些研究成果有一定了解,拓宽大学生的视野,又可以让他们仰慕学术大师的风范,坚定他们努力学习攀登高峰的信念与勇气,还可以锻炼他们的沟通能力.参加一些学术讲座和报告后,大学生可以聚焦自己的兴趣点和确定自己以后从事工作或研究的方向.

4深化企业实训

工程性和应用性是软件工程专业两个显著特点,因此软件工程院系除了优化教学课程设置外,还要提供锻炼大学生工程性思维和工程实践能力的平台,提高学生的知识应用能力.软件工程专业的大学生毕业后常常到企业或单位里做IT工作,所以企业实训是软件工程专业可以采取的提高本专业大学生工程实践能力和知识应用能力的好举措,也符合软件工程专业的专业性质.要实现企业实训,学校就要与企业合作,合作成功的前提是学校的人才培养定位与产业的发展需求保持一致,根据自身特色选择适合自身发展的合作企业.学生进行企业实训才能全面提升学生应用能力,为学生即将就业进入企业工作提供保障.深化企业实训,我们从以下几个方面抓起:

1)拟定一个校外实纲,与实习企业一起制订校企实习基地协议、实习安全协议、学生实习规范和学习实习鉴定表等,不断促进校外实习制度化、规范化.

2)开设实训时所需要的课程,向学生说明这些课程的重要性,一方面要求学生努力学习,另一方面要求教师不断改进授课方式,提高教学效果,并对学生作相应的考核.

3)合作企业要提供良好的实训场地,并配备资深的指导老师.在实训前,这些指导教师要了解实训生的情况,根据实际情况对讲课计划和讲课内容作适当的调整.

4)在实训期间,学校可以留一些教师监督实训过程,并适时地提出建议,保证学生训有所获.

5)实训结束后,要对实训生做一个项目式的考核,并认真填写实习成绩评定表.学校与企业经常沟通,不断完善和细化实训方案,增强其可控性和可操作性,使实训效果得到提高.如果有条件的话,可以让部分优秀实训生留企或推荐给其他企业,提高就业率.企业实训,既有利于培养出满足社会、企业需求的软件人才,也有利于学生的个性化发展.

5积极实施项目教学

项目教学是一种新的教学形式,以项目为依托,以教学计划为主线,把课程知识点循序渐进地传授给学生的教学形式.这种教学形式和传统的纯粹以知识点为中心的教学形式相比有以下几个特点:

1)项目开发与知识点讲解并重.项目教学是以讲项目的形式讲知识点,这样既可以使学生掌握所讲的知识点,又可以使他们了解这些知识点可以用在什么地方、怎么使用及可以带来什么样的效果.

2)项目驱动学习.项目通常都是为了解决某一问题的,问题的解决可以给学生带来些许的成就感,从而可以激发大学生的学习和求知兴趣.

3)关注知识的应用.在项目教学中,知识点是在应用中呈现给学生的,从而可以使他们学以致用.

4)可控性强.项目教学法由学生与教师共同参与,学生的活动由教师全程指导,有利于学生集中精力练习技能.项目教学是以项目为载体讲重要知识点的教学活动,其目的是在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的潜能,提高学生解决实际问题的能力.项目教学的这些特点使得它比较适合于像软件工程专业这类以培养应用型人才的专业,也使得项目教学成为当前一种新兴的教学方式.项目教学既注重知识基础,更注重应用能力和实践能力的培养与提高.在实际教学过程中,教师要结合所讲学科的特点和学生的能力特点,选择难易适中的项目教学,培养IT企业所需人才.

结束语

第3篇

肇庆学院软件学院从06级软件工程专业学生开始,与深圳某信息技术公司共同创建了软酷卓越实验室,在校内对学生进行实训,为期10天。2010年下半年与加拿大某IT培训集团、广州某计算机技术服务公司等企业合作开展07级、08级学生的项目实训活动。根据2006、2007、2008级学生的实训情况,本学院对公司实训过程进行分析,发现本院学生在实训后学习目的更明确,团队意识、就业能力、职业素质方面显著增强,视野更开阔,收获很大。但实训过程还暴露出学生存在以下问题:开发过程时间进度控制不当;前期团队成员交流不够;前期总体设计考虑不周,后期增加或修改数据结构;开发过程不重视文档工作,靠头脑记、口头约定,后期需要返工;团队精神缺乏,意见不统一,不会相互妥协;高估自身编程开发能力,测试时发现问题才不停修改;有些团队存在个人英雄主义,主要由一个人工作,其他成员在等结果。实训教学的目的是提高学生的职业素养与工程能力[3]。而在实训前几年的学习中,学生基本上都是在学习基础理论知识,实践机会较少。锻炼机会主要是理论课的实验,然而这种验证性的实验大多数是与市场需求和行业的发展有极大差距的。由于学院与主导实训的企业相互间沟通不足也导致一些问题,说明双方合作还有进一步改进之处,实训效果还有进一步提升的空间。结合前面所提到的学生自身所存在的问题,都迫切需要软件学院制订可行的的实训方案加以解决。

2实训方案

2.1实训方案体系结构

根据本校作为普通本科院校的课程设置特点以及在总结以往实训实习经验教训的基础上,以任务驱动为基础、市场需求为导向,本文提出本院的实训方案,其体系结构如图1所示。

2.2实训方案内容

从实训的体系结构可看到,整个实训过程主要分为3个阶段。

(1)第1阶段是软件开发理论指导。为让学生深入了解企业开发流程和相关软件工程标准,在实训前期先进行理论指导。首先是复习《软件工程》方面的教材,理解软件工程的原理、可行性报告和软件开发计划、需求分析、概要设计、详细设计、软件实现和测试、软件维护、面向对象技术与UML、软件开发环境、软件重用等过程和定义。同时还学习先进的软件能力成熟度模型CMM,了解国际通用的软件工程标准。其次强调软件开发过程不同于课程作业或实验,要遵守相关规范,不能一拿到题目就开始编码,需要先设计好数据结构和相应算法,并编写相关文档,才能开始编码和调试。还要选择合适的开发方法,如面向对象开发方法和面向过程开发方法;选择合适的开发模型,如增量模型、迭代模型、瀑布模型、螺旋模型、敏捷开发模型等;还要强调开发过程需要进行有效的软件开发过程控制,项目进度要得当,人力分配要合理,进行版本控制、项目质量管理等。最后强调测试,使用黑盒、白盒测试,运用Junit测试工具,自动生成测试文档,在小组内部进行内部测试和交叉测试,总结编程错误,提高编码质量。项目结束时,还要让每个学员发言,总结自身的得与失,感受自身的成长、成熟,责任心的提高,经验的积累。

(2)第2阶段是实训方案的核心,分为两个小阶段。首先在企业导师指导下进行知识强化,然后正式进行项目实训。知识强化作为项目启动前的一个必备阶段,主要采取案例式教学,以讲授和练习相结合的方式,内容包括语言基础、企业应用框架、专题技术讨论等形式,进行理论实践,目的是弥补学生在校学习的不足,实现向实训项目的平衡过渡。此小阶段最后进行综合强化实践,结合基础知识、先进开发技术、项目管理等组织实训内容,同时辅以企业职业素养的相关培训,使学生掌握软件工程知识、项目管理、先进开发技术和最新技术,提升知识拓展能力和协助沟通能力,为后续的项目开发和继续深入学习打下坚实基础。项目实训是整个实训活动的核心。整个方案针对学生的具体情况,提供一些前沿的、紧贴市场的行业热点项目供学生选择。这些项目使学生在掌握常规软件开发技能的同时,也能接触到物联网、云计算、移动应用开发、信息安全、3D等前沿IT热点。项目既包括.NET、J2EE开发平台通用编程技术的基础功能模块,也包括技术难度稍高,业务逻辑较复杂的附加功能模块,供不同层次、不同兴趣的学生进行选择,使参加实训的学生都能找到自己感兴趣的项目、感兴趣的内容、感兴趣的技术。整个实训又分为校内实践项目和校外实践项目。校内实践项目主要用于引导学生结合自己以往的体验进行开发的微小型项目,包括IT达人、基于Red5的视频课件点播系统、基于Silverlight的剑侠游戏、基于GoogleMap的拼车网系统、酷我相册、在线答疑系统、使用Mushup构建个性商品服务等。校外实践项目选择重点突出软件工程知识综合应用,项目企业级开发流程,行业成熟框架,行业项目。同时将项目详细分解,保证每个学生的工作量尽量饱满,突出实战。其内容包括Docstore系统、旅游垂直搜索引擎、聚票网、在线英语学习、汽车代驾管理系统等。整个实训实践过程在企业导师指导下,完全按照企业开发管理的各项制度进行组织管理,包括采用分布式网络远程协作模式,形成企业开发氛围,并提供质量保证,使工程实训能按照软件项目管理流程和规范进行运作。在管理制度上,严格执行考勤管理、考核管理、实验室管理、入退训管理等一系列管理制度。

(3)第3阶段是企业实习。第2阶段的实训项目虽然使学生的职业素养和工程能力有了极大提升,但这些项目仍是“虚拟”的,与现实项目仍有差距,仍不能做到与企业的生产实际无缝连接,还不能百分百地感受到在企业的工作压力。因此在实训后安排学生到与专业密切相关的软件开发企业中去实习,参与企业实际项目的开发流程,强化所学软件工程的理论知识与开发技术,综合运用在校所学知识以及通过实训掌握的技能进行实战,做到理论联系实际,最终为高质量的毕业设计与踏入工作岗位做好充分的思想准备。

3方案实施保证

肇庆学院历来重视应用型人才培养,办学定位是建设高水平、有特色、应用型综合大学。2010年下发的《肇庆学院关于加强实践教学工作的意见》,为本方案的实施提供了强有力的政策保证。另外,为保证软件学院的快速发展,肇庆学院把软件学院纳入学校的建设规划,占地113亩的中巴软件园在投入使用后,在2012年3月把软件学院的办公场所和实验室整体搬迁至软件园。这为实训基础的建设提供了用房保证。学院领导对教学改革尤其是实训基地和实践教学体系的改革高度重视,出台了相关的管理制度和激励政策鼓励教师从事教学改革,为教学改革的顺利进行提供了制度保证。

4结束语

第4篇

关键词:质量管理体系;一体化课程;软件工程;标准化

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

1前言

IEEE将软件工程定义为:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)对(1)中所述方法的研究。软件工程包括两方面内容:软件开发技术和软件项目管理。软件开发技术包括软件开发方法学、软件工具和软件工程环境。软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。

国际上从20世纪70年代初就开始研究软件质量管理和软件过程控制的问题,相继出台了如ISO 9000和CMM (Capability Maturity Model)等一些重要的国际标准。

目前我国的许多大学,都开设了软件工程相关的课程。为了培养能快速适应企业的软件工程人才,2001年7月教育部发出关于试办示范性软件学院的通知(教高[2001]3号),成立了35所示范性软件学院。但多年来,软件工程课程的教学以传授技术和开发方法为主,侧重于培养学生的软件开发能力,而忽略了对学生的软件项目管理和软件开发规范的培养。当然开设软件工程专业的学校也存在很多挑战:缺乏工业界经验的教师,教学队伍不稳定,计算机技术的快速更新,课程体系的不断完善,入学学生专业知识水平迥异等等,导致教学质量不稳定,毕业学生的知识和技能参差不齐。

为了应对这些挑战,适应面向工业的软件教育,教育机构需要制定相应的规范和质量保证系统,而基于ISO9000和CMM标准来建立一套质量管理体系以保障面向工业的软件教育质量是十分必要而且可行的。

2教学质量管理体系

ISO9000质量管理模式是在全面质量管理理论实践基础上发展的质量管理新模式,其核心是把质量管理从传统的对结果(产品)实行评估,转为对过程实施控制,即对形成最终结果(产品)的全过程实施过程控制,对影响质量的各个环节进行监测、纠错、反馈、修正,以保证每一过程质量管理在严格的监控之下进行。它的管理思想是重在过程管理,做法是每一个环节都不放过,目的是为了第一次就把事情做好。

建立教学质量体系的组织可以是整个学校,或者是软件工程教学相关的某个部门,也可以是相关的项目小组。

教学质量管理体系包括:教学组织的教学方针和组织的职责,教学过程的控制、预防和纠正措施、质量记录,以及教职员工的培训内容。要将先进的实践经验及时转化为文件化的程序,以文件形式监控质量管理体系,并不断在实施中完善。教学质量体系文件由4个层次的文件所构成,包括:

① 教学质量手册,一般是各类教学管理文件的指导汇编;

② 教学管理文件,即组织的质量体系程序文件,这些文件支持质量手册,对教学工作的策划、开发与准备,到运行、最终结果的各个阶段环节进行控制;

③ 教学工作与学习规范,相当于各个岗位工作指导书;

④ 教学质量记录和其他质量文件主要由各种教学文件(如教学大纲、教学计划等)以及各种管理工具和图表组成。

3一体化教学体系

软件工程相关课程的一体化教学体系是指整合软件工程相关的各教学实践环节,把培养学生综合能力(开发能力和管理能力)的教学实践环节作为整体来考虑,制定统一有机的课程体系包括教学实践计划与大纲,在具体实施中,通过一个综合的实训项目将软件工程涉及的关键过程的课程贯穿起来,使学生对软件工程和软件过程的基本理论、方法、技术以及管理有一个全面整体的认识,避免传统教学中存在的各课程、各环节相互脱节、缺乏有机联系。它包括一体化课程体系和一体化考核体系(见图1)。

3.1一体化课程体系

理论课程体系涉及需求工程、分析与设计、实施、部署、测试、项目管理、变更与配置管理、团队与过程等环节相关的多门理论课程。

实训项目体系涉及需求工程、分析与设计、实施、部署、测试、项目管理、变更与配置管理、团队与过程等环节相关的多项实践活动、实战工具(见图2)。

在本科软件工程教学中,我们给本科生提供三个综合实训项目,包括教务管理系统、掌上导航系统和情景游戏开发三个项目,分别体现了软件工程、嵌入式系统和数字娱乐三个专业方向,学生根据自己的方向选择其中一个项目来做。在“中等职业骨干教师国家级培训(计算机软件)”项目中,给培训学员提供了练习项目和实战项目。在一体化课程体系的每个课程中,这个项目始终贯穿其中,只是每门课在项目中的侧重点不同,例如:在“用例驱动的需求”课中,项目实训内容侧重需求分析,并建立需求的用例模型,在“面向对象分析与设计”课中,项目实训内容在于分析对象和类,给出分析类、设计类及类之间。这样可以通过一个统一的项目把相关各门课的知识内容连贯起来。

3.2一体化考评体系

一体化考核体系包括学生考核体系和教学质量评估体系。教育同其他服务行业一样,其所提供的产品和服务是否被社会认可最终是由顾客来确定的,就教育组织而言,这里所指的顾客应包括三个方面:外部顾客,即企事业用人单位;内部顾客,即学生;相关方,即学校主管部门、社会及学生家长等。学生具有双重身份,对外部顾客来讲,他是教育组织的“产品”,对教育组织的教学服务来讲,他是顾客。评估组织和教师的教学质量,一方面是内部的教学管理评审、考核,另一方面是用人单位及学生的评价,这是最终评价准则,因为用人单位及学生的评价教学质量的具有广泛性、公平性、公正性和合理性。另外对学生的考核应该站在外部客户的立场上,这就要求教育组织加强社会调研,最广泛地了解、掌握用人单位对人才的现时需要和今后的期望。从形式上来说,包括理论知识考核、定期项目报告及陈述、以及各阶段工件等。

3.3标准化

遵照ISO9000标准,一体化教学体系提出了四个方面的标准化,分别是课程标准化、案例标准化、教学实训流程标准化以及实训工件标准化。这四个标准化是在整个教学质量管理体系的规范下的产物。图3为项目实训标准流程。

4统一的管理教学平台

建立一个统一的管理教学平台包括质量管理体系管理平台、一体化课程互动平台和实训项目管理平台。统一的教学管理平台将有助于教学组织更好地管理质量管理体系的相关文档,更有效地推行其质量管理体系;便于学生共享教学资源,促进师生互动;还有用来管理和控制学生的实训项目(图4是平台的一个主要界面)。

4.1质量管理体系管理平台

用来在质量管理体系中对质量体系文件进行全面的管理,记录和评估运行ISO9000过程中的执行效果,对员工进行质量管理的培训。

该平台主要提供对质量体系文件的控制,实现体系文件的电子化、网络化,便于相关人员阅览,还提供了组织在运行质量管理体系时,提供质量记录信息的保存及流程控制。

4.2一体化课程互动平台

用来展示课程资源,包括课件、参考资料、案例等,授权用户可以上传、下载资源,并提供师生互动功能。该平台提供一个师生关于软件工程学习社区,学生有问题能够及时反映,教师能尽快提供反馈。

4.3实训项目管理平台

用来管理实训项目,教师可以审批学生申请的项目,对学生进行分组,设置组长,设置项目的起止日期,查收学生项目,给学生项目打分等;学生可以申请项目,上传项目工件,查看个人信息及项目成绩等相关信息(图5项目管理界面)。

5应用与总结

本文提到一体化教学方法已经在华东师范大学软件学院的本科生教学和中等职业学校骨干教师国家级培训(计算机软件)项目中进行了初步试行,从我们的统计、学生和学员的反映以及用人单位的反馈意见来看,效果比较明显。就拿我负责的“中等职业学校骨干教师国家级培训(计算机软件)”项目来说,这个培训项目我们已经做过了两期,每期大约30名来自20多个省市的中职教师,每期开始前,我们都做问卷调查,在毕业专业、学历、年龄、最近讲授的课程、对计算机软件相关内容(软件工程、项目管理、编程语言、数据库应用)熟悉程度及编程和项目开发经验等方面差异较大,较多中职教师没有开发经验,对软件过程规范和项目管理知道得不多,但经过将近两个月的规范培训,在文档和过程的规范性方面有了明显提高,学员之间的差异明显缩短,大部分学员的软件开发能力也有了不小进步。同时根据质量管理体系,我们及时做好纠正预防措施,对发现的问题能及时改进,并提出预防措施,防止类似问题继续发生,使得教学质量和教学管理稳步提高。

本文结合质量管理理论和一体化教学实践,探讨了软件教育组织建立质量管理体系的必要性及方法,最后通过实际的试行,说明了这种方法的可行性。

参考文献:

[1] IEEE Standard Glossary of Software Engineering Terminology, IEEE Standard 610.12-1990,1990:60.

[2] ISO 9001: 2000 Quality Management System――Requirements. International Organization for Standardization.

[3] Paulk, M. C., Curtis, B., Beth, M., et al. Capability Maturity Model SM for Software[J], Version 1.1, Technical Report, CMU/SEI-93-TR-024, ESC-TR-93-177. SEI Carnegie Mellon University,1993.

[4] 教育部. 教育部关于试办示范性软件学院的通知(教高[2001]3号)[Z]. 2001.

[5] Yugen Du. Software Education Quality Management System Based On ISO9000[J]. Journal of Harbin Institute of Technology(New Series),2005(12).

第5篇

关键词:软件工程;工程化方法;问题描述;建议;注意点

文章编号:1672-5913(2013)07-0062-04

中图分类号:G642

软件工程在计算机专业领域中是一门较普及的课程,本课程主要研究如何将工程化方法应用于软件的开发、运行和维护过程之中。根据培养计算机应用型人才的需要,本课程的任务是通过讲述软件的工程化开发方法和相关的软件开发工具、开发过程、开发规范,使学生了解软件工程的本质,掌握常用的软件开发方法,并且能够有意识地将软件工程原理运用于实际的软件开发和维护过程中,提高学生的专业素质。但在实际教学中,学生认为该课程内容理论性强,需要记忆的内容多,枯燥无味,学不进去,课程结束后对于软件开发过程、规范和开发方法的概念依然很模糊。笔者依据自己对于软件工程的理解,通过近几年从事软件工程课程的授课感受,结合学生的反馈意见,做了一些思考和总结。

1 程序与软件概念混淆

学生从接受计算机领域方面的课程开始,就一直以编程为主,所以,大多数学生认为该课程就是学习如何编程。当提出“什么是软件”这个问题时,大多数学生无法给出准确的定义;当提出“程序和软件的区别”这个问题时,大多数学生会回答“程序=软件”。

其实,程序和软件是不同的概念,编程的目标是程序,软件工程的目标是软件,软件=程序+文档。从软件工程的角度看,编程的比重不足15%,其他如需求分析、设计、制作、测试和维护等比重占85%。学生一开始就对课程认识存在误区,认为软件工程就是编写程序,因此,作为教师应引导他们认识软件和程序的区别,学生才会去思考它们之间的不同,此时再给学生输入软件工程的概念,学生才能开始有意识地去了解软件工程。

作为教师,首先应给学生介绍软件工程课程在专业知识体系中的地位,让学生在宏观上了解该课程的性质及与其他专业课程之间的联系和区别,指导学生正确认识该课程的特点,避免他们日后偏离课程方向,导致盲目学习。

2 案例教学法在教学中的运用

相比计算机专业的其他课程而言,软件工程理论性和抽象性较强,学生学习起来比较吃力。大多数软件工程的教材都是重理论轻实践,需记忆的内容较多,不容易理解;各个阶段的概念和任务容易混淆,学生学习兴趣不大,极易造成反感情绪。

传统的满堂灌的教学方法显然不适合软件工程课程的特点和教学要求。经过几年的教学尝试,笔者认为在课堂中可以采用案例教学法。案例教学法是指教师根据具体的教学环境,将复杂抽象的概念运用到具体案例中进行讲解,引导学生分析问题,并最终解决问题的一种教学过程。

在教学中,教师选择软件开发中的一些实际案例,将学生分成若干小组,每组不同成员担任不同的角色。待小组成员确定案例后,模拟实际开发环境,运用所学的理论知识展开分析和讨论。讨论结束后,由各组选派一名代表在全班同学面前汇报讨论结果,教师再针对存在的问题进行补充。案例讨论增强了学生对软件开发项目的感性认识和实际经验,激发了学生的学习兴趣,提高和培养了他们分析问题和解决问题的能力。

在进行案例教学时,教师需注意以下几点:一是要选择合适的案例,案例不在于多,而在于是否适合课程特点和学生的实际情况;二是教师要及时引导,案例讨论时,教师要把握好讨论方向,要摒弃主观臆想的成分;三是注重加强学生理论知识的掌握,学生的软件开发经验较少甚至完全没有,案例教学是需要学生有理论知识作为讨论的基础,如果没有一定的理论知识是无法讨论的,所以教师要注重培养学生的理论知识。

3 团队合作完成任务

软件开发是团队合作完成的任务。在教学过程中,要让学生体会到团队的氛围,培养其团队合作的能力和精神。团队合作以5~6人一个小组为宜,人数太多会导致“三个和尚没水吃”,人数太少会带来工作量偏重。教师在进行分组时,最好根据学生的能力和水平,明确学习任务,进行合理有效的分工,按软件开发阶段把各组学生分为需求分析、设计、编码、测试及项目管理人员,每位学生承担一个角色。例如,在南京城市职业学院该课程的教学过程中,我们将学生每5人分为一个项目组,每人承担相应的角色,如项目经理、技术支持员、配置管理员、软件工程师和测试工程师等;教师担任企业培训师的角色,分配给每一个项目组课题,让学生模拟参与到软件企业实训中,最终使学生完成需求分析、设计、代码编写、测试、部署全过程,使得学生在学习过程中体会到软件开发工程师的角色任务。这样,学生就有合作意识、责任感和集体荣誉感,模拟软件企业项目组的情境,根据公司管理体制开发项目。学生在团队合作学习时,作为教师应加强对其合作方法的指导;学生在开发过程中遇到问题,教师建议他们自行讨论来解决,提高他们的沟通交际能力,培养其团队合作精神。

在组织学生团队合作学习时,笔者认为还应注重培养学生以下能力:一是尊重他人,在其他人发言时,要善于倾听,尊重他人的观点,能够对他人的发言做出合理的评价;二是善于总结,在各小组发言完毕后,能根据发言情况,总结出要点;三是敢于质疑,当自己的观点与他人观点发生碰撞时,要敢于质疑,提出自己的想法,从而完善自己的观点和认识。

4 实践教学环节以大作业的形式贯穿

由于计算机专业学生毕业后大部分从事与软件开发相关的工作,所以该课程的实践教学尤为重要。实践教学是加深理解理论知识的有效途径。是培养学生动手能力和技术创新精神的有效手段。但在教学过程中,由于实验条件有限,教师仅给出项目各阶段文档模板或范例,学生按照要求编写相应的文档,文档完成后没有企业项目开发的严格评审机制,学生无法发现开发阶段里存在的问题,难以建立标准化和规范化的思想。实践教学环节相对理论教学环节而言,内容薄弱,甚至有些流于形式。

作为教师,在软件工程实践教学环节中,尽可能灵活安排实验时间,实践环节应以大作业的形式贯穿于整个教学过程。教师在该课程教学初期,首先给学生若干项目课题进行选择,为了让学生能有较充足的基本知识和充分的准备,应当给学生足够的时间来完成。比如,需求分析可安排在第3周布置、第5周提交;设计可安排在第6周布置、第8周提交;测试案例可安排在第9周布置、第11周提交;质量评估可安排在第12周布置、第14周提交。教师应要求每位学生参与,抽查部分学生并要求其在全班进行汇报和交流。

除此之外,笔者认为还可以邀请一些理论知识和开发经验都很丰富的行业人员与学生互动交流,定期举办专题讲座,如行业发展趋势、行业现状和自己的从业经验等,让学生了解企业软件开发中的实际问题,让学生学到在课堂中学不到的知识和实际经验,提高学生实际软件开发的能力。

在进行实践环节教学时,笔者认为需注意以下几点:一是加强师生对实践教学环节重要性的认识,大多数师生重理论轻实践,而软件工程课程的特殊性,必须加大学生实践能力的培养;二是规范实践教学环节的考核,教师应及时检查学生实践环节的质量,与学生面对面交流,注意收集学生的反馈意见,发现问题,及时解决,不要使实践教学流于形式;三是加大实践教学环节的考核比例,我们将实践教学环节考核比例增加至总成绩的70%。在对学生的实践环节考核中,我们更侧重于对学生的实践操作能力、综合应用能力、文档编写能力、团队合作和沟通能力的考核。南京城市职业学院该课程的实践考核主要从2个方面进行:职业素养评定和业务能力考核。职业素养评定主要通过对学生的平时工作表现,评价其所具备的工作素质,实行百分制,占实践教学环节考核比例的30%。内容包括考勤情况、个人素养、团队沟通和日志填写等。例如,学生是否能够按企业工作制度进行工作;学生对于教师或组长交代的工作是否能反应迅速准确,是否能抓住工作的关键;是否有不断提高个人工作效率和自己业务水平的意愿;是否能够和小组成员进行良好的沟通和协作;是否能够按时认真完成每天的工作日志。业务能力考核主要评定学生在规定时间内完成任务的情况,同样实行百分制,占实践教学环节考核比例的40%。内容包括软件完成的质量和所花费的时间。例如,提交的程序是否能够正常运行;程序代码是否能够严格遵守代码规范性;项目团队、教师和企业专家对其开发的软件产品是否满意;提交的软件产品是否达到预期效果;是否在规定时间完成任务。2方面综合计算后评定学生的实践环节成绩。软件工程课程的教学目的是使学生能将软件工程的思想和方法应用于实际软件开发过程中,应着重培养学生的动手实践能力,加大实践教学环节的考核比例可使实践教学环节不再薄弱。

5 打造良好的软件工程环境

一个成功的软件必须经过一系列严格的过程,包括可行性研究、需求分析、设计、编码、测试、包装、发行、宣传、销售和客户服务等。在软件工程教学中,大多数情况是学生将实验中所做的工作整理成作业的形式提交给教师,教师进行批改,并没有严格的走查、审查和技术复审等评审机制,没有交付给用户使用,更谈不上验收和维护。此时,学生对于软件工程的理解程度依然停留在分析、设计和编码这几个层面。

对于软件工程课程来说,如果只是让学生在实践环节中进行软件开发是不够的,学生需要在一个符合软件工程要求的环境下开发软件,才能够真正掌握软件工程的思想和方法,因此软件工程教学取得效果的关键是建立一个良好的软件工程环境。

笔者认为,在课程教学中可适当引入一些常用的软件工程工具,比如进行软件需求分析和设计时可使用建模工具,进行软件测试时可使用测试工具等。结合课程实践教学环节的要求,根据学生实际情况和项目的固有特点,教师可编写实验指导手册,包括开发过程模型、文档模板、编码标准、阶段评审标准和验收审查标准等,将实践环节的过程规范化和产业化,要求学生在相对真实、良好的软件工程环境中去理解软件工程方法论、过程模型、开发环境和软件开发的管理技术等,体会和掌握软件工程的思想,能将这一系列活动灵活运用到实际开发工作中去。例如,南京城市职业学院与软件开发公司合作开发了“软件人才实训平台”,该平台构建了良好的软件工程环境。在软件工程课程实训中,我们利用该平成了相关实训,学生可以通过该平台了解软件开发过程中的一系列流程,如项目环境准备、需求分析、设计、编码、测试、部署和维护等。该平台要求学生完成相应阶段后,必须在该平台上提交文档和相关资料,教师可以通过该平台学生提交的相关成果进行考核评分。这就很好地模拟了软件工程环境,让学生参与到真实化企业实训中去。

在构建软件工程环境时,应以软件工程环境的主要目标和基本需求为基础,把开发技术、管理技术、支撑环境、相关工具和开发平台等有关因素有机地结合在一起,全方位考虑。

第6篇

关键词:普通院校;实践教学体系;工程实践能力;路线图

软件工程专业在我国高等院校还是一个很不成熟的专业,比起传统的工科专业来说,软件工程专业有更多的技术成分,因此,我们的教学体系和模式就要有别于传统的教学体系和模式。实践教学体系是否合适将直接影响软件工程专业毕业生的质量。对于重点院校软件专业和软件学院实践教学体系已有很多专家学者进行了研究与实践[1-3],而普通院校无论是师资,还是其他教学资源,都不能与重点院校相比[4-5],应该有一套有别于重点院校的实践教学体系。本文将对普通院校软件工程专业实践教学体系的构建进行探讨,并结合我院软件工程专业实践教学体系进行总结。

1实践教学体系构建原则

软件工程专业实践教学体系构建原则可以从4个方面考虑:软件工程专业特点、教指委的软件工程专业规范、软件工程专业的职业定位、人类认识事物的规律。

1) 软件工程专业是一个综合性学科,既有科学的要求,又有技术的要求。从学生的培养目标来看,普通院校软件工程专业含有更多的技术要求。目前国内大多数普通院校软件工程专业还是按照传统的理工科人才培养方式进行学生的培养,忽视软件工程专业知识体系的特点,从而导致学校的学生大多数随能按照培养计划完成学业,成为一名合格的软件工程专业的毕业生,但与企业的要求相差甚远,企业找不到合适的人才的现状。

2) 软件工程专业规范给定的软件工程专业知识体系包括:计算机科学与技术知识、软件工程知识和领域知识。计算机科学与技术专业、软件工程专业是实践性、应用性非常强的学科,要使学生掌握好计算机科学与技术的基础理论知识,应用软件工程技术的基本技巧与方法,就必须确保实践教学的教学质量。

3) 按照现在职场流行的说法,人才分为3类:白领、灰领、蓝领。根据本地区和学校的特色,我院软件工程专业的定位是培养“灰领”人才,因此,学生除了学习传统的计算机科学与技术知识、软件工程知识外,还要学习管理学知识,同时根据我校的特色与定位,把汽车设计与制造过程中信息结构作为应掌握的领域知识。管理学知识将用于团队管理、软件开发过程管理以及信息结构建模等开发活动;汽车设计与制造过程中的信息作为软件开发实践的应用对象,是软件的加工对象。

4) 人类对事物的认识是一个由简单到复杂,由具体到一般的过程,是一个分析与综合的过程,将随着知识的积累逐步深入。这就要求实践教学要按照培养计划进度设置不同的实践内容,而且可以根据学生的个体情况进行少量的调整。

2实践教学体系构建方案

现在高等教育的教育方式正在从以教师为中心转变为以学生为中心,既以学生的目的需要为中心、以学生的能力拓展为中心、以学生的知识结构为中心开展实践教学。因此,我们在设计实践教学体系时,始终注重按照学生理论学习的进度和学生能力提高的需求,依据软件开发过程的特点,分层次开设不同的实践内容。

按照学生能力培养的路线图,实践教学体系始终围绕着培养知识应用能力和创新能力进行构建。能力培养方面分为3个方面,即程序设计能力、软件开发能力、工程实践能力。实践教学课程体系由5个层次的实验构成:课程实验、课程设计、项目实训、开发实践、毕业设计,如图1所示。

2.1课程实验

本类实验主要是加强学生对所学知识的理解,“听过的会忘记,看过的会记住,做过的会理解”。实验内容分为3类。第1类:掌握和运用工具,包括语言类,软件开发工具类等;第2类:理解所学知识,包括操作系统、编译原理、设计模式、计算机网络、数据结构与算法等;第3类:同时兼顾工具学习和知识理解,如数据库原理。这类实验主要是学生按照实验指导书完成规定的实验内容,但也有一部分内容只给出实验目的,让学生自己设计实验内容(设计型),以兼顾学生的不同层次与兴趣。

2.2课程设计

本类实验的目的就是培养和训练学生对所学知识的综合运用能力和学习新技术、新知识的能力,属于规范中的设计型与综合型实验。教师给出课程设计题目、相应的背景描述和课程设计要求,学生在教师的指导下独立完成课程设计项目,时间一般为1~2周。实验内容和要求根据学生的理论课进程安排,如VC++课程在数据结构与算法设计之前开设,因此VC++课程设计要求学生做好类的设计、界面设计,数据存储用文件形式,对软件的效率不做要求;数据结构与算法设计课程设计,除了VC++课程设计的要求外,要增加对算法的效率和存储空间的要求;设计模式与UML建模课程设计除了VC++课程设计和数据结构与算法设计课程设计的要求外,增加软件可靠性与高效的要求等。所有的课程设计都要求界面美观。同时鼓励优秀学生应用一些还没有开设的课程内容。

2.3项目实训

本类实验的目的主要是训练项目的组织能力、工程实践和团队协作能力,着重开发过程的训练,按照软件生命周期,完成各阶段的工作。项目实训放在软件工程和数据库原理等专业基础课程之后,软件体系结构之前。同时开展多个项目,把学生分成小组,在不同的项目中担任不同的角色,教师扮演客户和技术总监的角色,要求学生按时上下班,实验室允许学生加班,学生要负责实验室设备安全。要上交较完整的需求分析与设计文档,特别是各部分的公共信息要完整。可以只实现部分需求,时间安排为2~4周为宜。

2.4开发实践

开发实践在软件工程的专业实验室或校外实习基地进行。2008年我们与东风悬架弹簧公司和武汉天喻软件有限责任公司合作,利用武汉天喻软件有限责任公司的PLM软件,装入东风悬架弹簧公司产品开发的基础数据。学生通过该平台,可以了解企业产品的开发流程,不懂的地方随时可以向企业工程师咨询;可以选定一个模块,按照PLM系统接口规范进行设计开发,然后集成到PLM系统中去。可以是替换原来的模块,也可以是增加新的功能,进行集成测试检验程序的可靠性和效率。时间安排为4~8周为宜,由学校教师与企业工程共同指导。

2.5毕业设计

毕业设计是大学教学过程的最后一个环节,是一个学生自主开发的综合性实践教学环节。通过毕业设计,能使学生综合应用所学的各种理论知识和技能,进行全面、系统、严格的技术及基本能力的练习。我院毕业设计时间安排为16周,鼓励学生把就业与毕业设计结合起来。学生在企业实习阶段参与项目开发,由企业导师进行项目开发的相关指导,回校在校内教师指导下完成论文和答辩。

3软件工程专业实践教学的师资要求

软件工程专业的实践教学要求实践教师既是实践的指导者,又是直接的参与者。要对学生在实践中遇到的各种问题给予解答,包括编程语法、算法逻辑、软件体系结构设计、用户需求分析、团队协作方法等;在实践过程中更多地是站在用户的角度对学生的成果进行验收测试,使学生体会到在现实情况下怎样的软件才能被用户接受,体会到用户怎样检查软件的可靠性、可用性、正确性,用户怎样评价软件的优劣。

软件工程专业的特征要求从事软件工程专业教学的师资队伍是一支具有综合素质的队伍,既有专业理论基础,又要有企业实践背景;要充当软件开发过程的各种角色――投资者、使用者、组织者、设计者、编码者、测试员等。课程实验主要由理论基础扎实的教师担任,课程设计由理论基础扎实的教师和有企业实践背景的教师共同指导,项目实训和开发实践主要由有企业实践背景的教师完成。

4结语

本文介绍的软件工程专业实践教学体系是我校通过几年的不断摸索与改正后形成的。在探索过程中获得了湖北省教育厅项目(软件工程创新型人才培养研究)和学校的支持(2007年软件工程特色专业建设费15万元)。该实践教学体系利用一些基础实验帮助学生理解和掌握专业理论知识,为今后的发展打下坚实的专业基础,同时通过参与各种项目,提供了发展其动手能力的环境,贴近了企业需求,提高了就业率。2009年我校软件工程专业的一次就业率达到了90%。由课程设计、开发实践和毕业设计构成的创新训练体系,使学生获得了科学研究方法和软件开发活动的工程化的经验。

参考文献:

[1] 李红梅. 面向能力培养的软件工程实践教学体系[J]. 高等工程教育研究,2009(2):84-87.

[2] 董玮. 引入实训体系,培养应用型软件人才的探索与实践[J]. 计算机教育,2007(23):10-19.

[3] 董玮,邱建华,杨英鹏,等. 培养应用型软件人才的实践教学体系的研究与实践[J]. 计算机教育,2008(10):16-18.

[4] 郑耿忠,刘秋梅. 地方性院校软件工程专业建设探讨[J].电脑知识与技术,2009,5(30):8477-8478.

[5] 郑耿忠,刘秋梅. 软件工程专业实践教学体系构建探索[J]. 电脑知识与技术,2009,5(27):7690-7691.

[6] 白伟华. 软件工程专业应用型人才培养模式的思考[J]. 计算机教育,2008(22):35-37.

Practice Teaching System of Software Engineering in General Institutes

FU Yong-zhi, WANG Wen-yan, SHI Lü-hua

(Department of Computer Science School of Electrical & Information Engineering Hubei University of Automotive Technology,

Shiyan 442002, China)

第7篇

(哈尔滨师范大学 管理学院,黑龙江 哈尔滨 150025)

摘要:翻转课堂作为一种新型的教学形式,实现了对传统教学模式的革新。构建云计算教学平台是一种有效实施翻转课堂的现代技术手段。文章介绍翻转课堂的概念,提出软件工程专业课程翻转课堂的教学模式,讨论如何构建一个与翻转课堂教学模式相适应的软件工程专业教学平台。

关键词 :翻转课堂;云计算;软件工程;教学平台

第一作者简介:聂晓秋,女,硕士研究生,研究方向为公共部门人力资源管理、教育经济与管理,110947225@qq.com。

0 引言

软件工程是一个具有实践性、工程性、实用性等特征的综合型应用学科。软件工程专业的学生要在不断的实践中掌握软件开发的方法和思维方式[1]。目前各高校的软件工程专业课程仍然沿用计算机类课程的教学模式,重理论而轻实践,导致学生学习积极性不高、实践能力较差。业界诸多学者提出面向应用的教学模式和项目驱动式教学法等新型教学方式来强化软件工程专业课程的实践学习,提高学生的动手能力和创新意识。翻转课堂是这些教学理念中较为成功的一种,而借助计算机、网络和多媒体等是翻转课堂成功的关键所在,云计算环境的引入就是翻转课堂得以实现的重要手段。

1 翻转课堂的概念

翻转课堂(flipped classroom),顾名思义就是颠覆课堂教学过程和课下学习活动的一种新型教学模式。美国科罗拉多州的林地公园高中于2007年最早提出了翻转课堂的概念,该校的化学教师乔纳森伯尔曼使用软件录制了一段教学视频并上传到网络中供缺席的学生学习,学生在家观看教学视频,然后在课堂上完成作业和答疑活动。这种教学方式很快得到了学生的认可。翻转课堂在全美迅速推广,各大高校推出的微课视频为翻转课堂教学模式提供了充足的资源支持,促进了翻转课堂的发展[2]。

翻转课堂教学模式颠覆了传统的知识传授和知识内化的过程,让学生在课上通过实践完成知识内化,提高课堂教学的成效性。学生可以在教师的帮助下在于同学的互动中主动学习,避免了传统课堂的单一教学形式对学生积极性的影响。寓教于乐的教学视频也可以提高学生在课下主动学习的积极性,为知识传授提供了新的形式。

2 软件工程专业的翻转课堂教学模式

软件工程专业课程的特点是基础理论较为抽象、对学生的创新能力要求较高。目前各高校的软件工程专业课程都有专门的实践教学环节,但仍离不开理论知识的讲解和思维方式的训练,这些都导致学生积极性不高、教学质量下降。哈尔滨师范大学软件工程专业在研究翻转课堂教学模式和本专业课程特点的基础上,提出了一个适用于软件工程专业课程特点的翻转课堂教学模型,如图1所示。

在软件工程专业的翻转课堂教学模式中,学生课前观看教学视频学习理论知识,通过和教师的即时交流完成知识学习;教师则根据学生的反馈统计课程的开展情况,酌情安排课上时间分配。在课上的教学环节中,教师首先集中讲解学生反馈的疑难知识点,对重点内容进行简要归纳,然后根据课程内容和教学统计结果提出实践学习内容。学生自由分组创建实践团队,按照软件开发过程的要求进行分工和调研,最终在教师的指导下完成一个具有项目特征的实训工作,提交相关的设计文档和研究成果。教师的课上任务就是点评提交的成果,总结学生的表现,解答学生实践过程中的问题等。

3 软件工程翻转课堂云计算教学平台

翻转课堂教学模式需要一定的技术和资源支持,云计算环境无疑是最佳选择。经过不断的探索和研究,哈师大软件学院构建了一个基于云计算环境的翻转课堂教学平台,包括课堂软件开发、课前理论学习、运行管理和教学评价等模块,如图2所示。

3.1 软件开发模块

软件开发模块体现了翻转课堂中实践教学的具体内容,是整个教学平台的核心功能模块。按照软件工程对软件开发生命周期的定义,软件开发模块分为项目规划、需求分析、系统设计、代码实现和系统测试等教学过程。在一个项目目标的规划内,每个教学过程都对应前后关联的任务、文档和成果。实际的教学过程是学生登录云计算平台进行实际的软件项目实训练习,以团队的方式完成项目,编写文档和提交成果报告。教师也要登录云计算平台全程监控和指导。云计算教学平台的教学资源库是通过深化校企合作得来的,所有的案例都来源于真实的软件开发项目,学生甚至可以在企业项目经理的指导下通过教学平台进行真实项目的开发。软件开发模块结合了翻转课堂、任务驱动和校企联合等面向应用的教学模式,体现了“工学结合、顶岗实习”的软件工程专业课程实践教学理念。

3.2 理论学习模块

理论学习模块是体现翻转课堂模式课前学习的功能模块,该模块的主要功能包括教学视频、课前训练和课程统计等。教学视频功能的资源都来自国内知名高校的公开课,并且具有快进、回放、重放、暂停等播放功能,便于学生自定义课前学习。课程教学视频的内容、视觉效果、互动性和长短都要根据学生的学习效果定期调整,不仅要保证教学内容和课前学习的目标吻合,还要突出教学重点和难点,方便教师和学生的课前交流。课前训练功能是在每个教学视频播放前设置一些教学问题,让学生在观看视频时寻找答案,在视频结束后学生要根据提示进行简单的问题解答和知识训练。课程统计模块可以统计学生观看视频和回答问题的情况,有效提高教学的目的性。除了上述3个主要功能外,教学平台还提供了方便教师和学生交流的论坛,所有与课程相关的讨论和问题都可以在论坛上交流和解答。

3.3 运行管理模块

运行管理模块是部署在软件工程翻转课堂云计算教学平台云端应用服务层中,将各种即时通讯、视频播放和在线论坛等应用集中封装的服务层次。具体的功能包括项目管理、学生管理、资源管理和师生沟通等。

1)项目管理子模块。

项目管理模块用来保存学生的实训成果和相关报告。该模块具有文档在线编辑和软件展示功能,可以根据课程类别和章节提供在线的实训环境和展示服务。学生在课程进行中提出的问题也可以在项目管理模块,由任课教师或企业专家在线解答。在实践教学中,教师可以通过项目管理模块掌握所有学生团队的项目进展情况,并通过在线成果交流来提高实践教学的教学质量。学生在项目管理模块中能够即时了解本队同学和其他团队学生的开发进度,这不仅有助于提高团队内部的沟通和协作,还可以通过比较和竞争提高团队凝聚力。

2)学生管理子模块。

学生管理模块用来监控学生的课前视频观看和课中实训练习状态。学生课前的视频教学是独自进行的,有效的教学监控是保证出勤率和质量的重要因素。学生管理功能不仅能监控学生是否观看了视频,还能知道他们观看了哪些视频,哪段视频的播发次数最多、时间最久。这些监控数据对教师掌握学生课前学习状态有至关重要的作用,教师可以通过在线统计获取课前学习数据,也可以在线设置各项参数自动获取指定人员和章节的统计数据。对于课中的实践教学,学生管理模块也可以获取学生团队的练习资料,比如项目进展情况、资料是否齐全等,这些数据可以为课后评估和项目管理等模块提供有效数据支持。在课程结束后,学生成绩也通过学生管理模块统计和查询。

3)资源管理子模块。

资源管理模块用来存储和维护云计算教学环境中教学资源。教学资源包括理论学习视频、课堂项目资料、软件开发资源和企业开发知识库等。这些资源的质量决定了教学的质量和效果,比如理论学习视频是否寓教于乐直接影响学生的学习积极性,课堂项目资料是否具有针对性直接影响教学的应用价值,企业开发库的资源是否有效直接影响学生的实际工作能力等。资源管理模块不同于传统的软件资源库,它具有在线文档编辑、视频制作、网络资源搜集等高级功能,可以实现对已有资源的改进和创新,也可以实现网络资源的汇总和摘选。另外,通过和一些国内知名云供应商的合作,我们还构建了包括软件开发云环境、企业软件项目库和软件开发技术资料库、软件开发文档模板库等在内的高级应用型软件开发资源平台。

3.4 学生评价模块

学生评价模块对学生学习过程和教师教学过程的评估打分。其中学习过程根据翻转课堂教学模式的要求分为课前理论学习和软件开发实训两部分:课前理论学习主要包括视频观看、作业完成、课堂交流表现等方面的评估;软件开发实训则是通过对项目成果和研发报告的评估来获得分数。这两部分分数按照一定比例折算成学生专业课程的课程分数,和期末考试笔试成绩一起考核。对教师教学的评估则通过课程中的表现定性评价,评价的指标包括在线时间、操作频率、交流次数和学生打分等。

4 实施效果

基于云计算环境的软件工程专业翻转课堂教学经过4个月的试运行,取得了显著的教学成果。使用云计算平台的学生在知识认知和技能实践等方面的能力比往届学生有较大提升。学生可以通过线上交流和团队合作完成开发任务,教师可以通过在线审核完成教学任务,基本达到了云计算平台的设计目标。

为了进一步掌握云计算平台的翻转课堂教学模式的实践效果,通过校内走访和问卷调查等方式深入了解学生的学习积极性、动手能力和计算思维意识。结果显示学生对这种寓教于乐的教学方式普遍认同,对自身知识掌握和动手能力的提升感到满意,教师则对系统带来的丰富教学资源和低成本办学模式感到满意。

5 结语

云计算环境为软件工程专业课程的翻转课堂教学提供了技术条件和资源条件,在摆脱了课堂的束缚后,学生的在线学习更有针对性,更贴近真实,教师的在线教学资源更丰富,教学组织更有效,学生和教师在线一对一或一对多的交流更顺畅。这些都是传统课堂教育和实验室教学无法达到的。另外,所有的教学资源都在云端实现,学校对教学固定资产的投入和运行成本也较低,最大限度地降低了学校和学生的负担,可谓一举多得。

参考文献:

[1] 夏东锋.“翻转课堂课下教学模型”与对应云教学系统的构建[J]. 江苏开放大学学报, 2014(5): 27-31.

第8篇

近年来,软件行业进入第二春,供需两旺。据调查,以北京为例,软件工程师每年需求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 结语 

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

参考文献: