首页 > 文章中心 > 软件工程课程总结

软件工程课程总结

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇软件工程课程总结范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

软件工程课程总结

软件工程课程总结范文第1篇

关键词:软件工程;案例教学;不足反思;项目开发驱动教学

引言

软件工程是计算机相关专业的一门核心课程,具有综合性、实验性极强的特点,其研究的范围非常广泛,包括软件开发的技术方法、工具和管理等许多方面,而且新的技术方法和工具源源不断涌现[1]。该课程的学习目标旨在提升学生的分析与设计能力、编码能力、工程素养及团队协作精神,为学生成为一名合格的软件工程师打下良好的理论、技术及工程基础。为了实现这一培养目标,很多院校对软件工程课程教学进行了改革,其中最为重要的改革应属于引入案例教学[2]。案例教学法是指教师以一个实际项目的运作为主线,讲授软件开发的全过程,讲解时贯彻理论与实践相结合的原则,从工具、方法、技巧各个角度,对学生进行实用性培养,同时重点培养管理和设计能力,在理论上有的放矢,强调理论的适用和适度[3]。案例教学法的引入改变了传统教学中知识内容枯燥、理论性强、学生难以理解运用的状况,在一定程度上激发了学生的学习兴趣,活跃了课堂氛围,提高了教学的质量。但是,在软件工程实际教学过程中,我们发现了很多问题,教学常常达不到预期效果。

1、软件工程案例教学过程中存在的问题

1.1以“老师教,学生听”为主

软件工程课程教学虽然引入了案例教学,但是,学生在教学过程中仍然处于被动接受状态。从案例的选择到案例的开发过程讲解仍然以“教师教,学生听”为主,学生仅仅是项目开发的“旁观者”而不是“参与者”。因此,学生很难真正体会相关理论的重要性,更不用说转化为自身的能力素质。学生学完课程后,往往“什么都知道,却什么都不会”。

1.2案例选择不合理

在案例教学中,教师通过把知识点与案例相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,软件工程案例教学的不足反思与对策研究文/田怀凤最终达到技术和知识点的掌握,因此案例项目的选择至关重要[4]。项目太大涵盖的内容太多,学生很难在有限的课堂教学中把握。项目太小又很难全面包含把软件工程的相关理论。有的项目算法相对密集,性能要求高,而功能需求简单,也很难用工程化的方法和手段对其开发过程加以促进。甚至有的教材或者教师仍然以C/S模式的软件为开发案例,不符合目前对软件B/S结构或者安卓开发的需求,使得学生学完软件工程课程之后,感觉课程的理论与现实需要脱节,影响学生学习课程的兴趣。

1.3不能满足学生对课程的不同期望

软件工程课程一般开设在大三下半学期,这时学生们的动手能力和专业技能差别很大。有些学生经过C++,JAVA等课程的学习以及参加大学生创新项目等方式,已经积累了一定的软件开发的经验,他们往往希望能深层次、系统的参与软件开发,培养管理能力,团队合作能力等。还有些学生由于自身主动性及能力的原因,动手能力还很弱,案例教学对他们而言更像“纸上谈兵”,往往只能记住一些理论、方法,不能通过课程的学习提高专业技能。

1.4实践课时不足

为了配合案例教学,软件工程课程一般会设置实践课时,供学生进行项目开发实训。但是,由于实践课时较少,(一般8课时左右),在这么短的时间内,往往只能完成项目的分析和设计的文档,其他工作要由学生课后完成,因为缺乏监督,难以确保每位学生都能保质保量的完成。

1.5对最新的项目实训工具介绍不足

随着软件工程理论的发展,软件项目实训的工具也在不断涌现,比如CASE工具、自动化测试工具、项目管理工具、配置管理工具等。在以往的案例教学中,教师往往注重讲解案例项目的开发过程理论,很少涉及这些工具的使用介绍,而实际情况是很多学生不知道用什么工具来表示分析设计的结果,也不清楚数据库设计、软件测试、项目管理等相关工具有哪些,如何使用。

1.6考核方式不能有效地激发学生的课后学习兴趣

采用平时30%+考试70%的考核方式,考核的重点还在理论知识的“纸上谈兵”,不能全面反映学生课后的努力,不能有效激发学生的学习兴趣。

2、改进措施

为了切实提升教学质量,培养学生的专业技术能力,我们以解决问题为目标,以教学模式的改变促进教学内容和考核方式等多方面有针对性地改进。

2.1以学生为中心的课堂教学模式

彻底改变以“教师讲,学生听”为主的教学模式,改变教师的角色,让教师的“教”变为项目的“引导”,学生的“听”变为项目的“开发”。把案例教学,变为项目驱动教学[5]。在整个教学过程中,由教师引导学生进行项目开发,让学生在开发过程中感受软件工程的理论,变“要我学”为“我要学”,再由教师对相应理论进行指导总结。具体实施方案如下:(1)有选择性的分组分工,满足不同学生对课程的不同期望在课程学习之初,教师对全班学生的专业技能和课程学习期望进行调研,选择专业技能较强或者有一定的软件开发经验的的几名同学担任组长,再由组长以自愿的结合的方式招募组员,将全班同学分成5人左右一组的几个项目小组。组长担任项目经理,小组中的其他成员根据能力分别担任编码、测试、数据库、美工等角色。这种分组方式,既防止了随机组合时的各组学生专业能力不均衡,又满足了不同学生的不同角色期望,自愿组合又利于团队融洽和交流。(2)从学生的实际需求产生项目案例在案例项目的选择方面,也完全以学生为中心,让每个开发小组自行选题。一般来说,功能需求较多,流程复杂而实现技术难度较小又为大家所熟悉的题目最适合。为了确保每组都能选到适合的题目,教师进行了引导,引导学生们从自己的日常生活需要出发,选择各类信息管理系统作为项目案例。比如“大学生社团管理系统”,“校园二手图书交易系统”等。(3)教师走下讲台,引导学生进行项目开发课堂教学不再是结合案例的理论讲授,而是根据软件开发的生命周期,由教师引导学生小组进行项目开发,并在开发的过程中,总结软件工程的理论。比如在需求分析阶段,教师首先让学生在课后以小组为单位,讨论自己项目的需求,再由教师在课堂上组织他们进行交流汇报,每一组汇报时,其他小组的成员都成为用户角色,提出新问题,直到确认项目的需求。然后由教师总结需求分析的方法,引导学生使用MicrosoftVisio和RationalRose进行需求规格说明书的撰写。软件生命周期的其他阶段按照同样的方式进行,先由学生小组自行主动学习开发,再由教师组织交流讨论,总结方法,引导学生使用相关项目开发的工具,一步一步完成项目开发。在这个过程中,由各小组的组长分配任务,协调安排人员,因为组长们有一定的项目开发经验和开发技能,保证了项目能顺利进行。小组内每个成员的团队协作能力和组长的组织管理能力都得到了锻炼。(4)成果汇报,总结经验在实践课时,安排所有学生进实验室,集中完成项目开发。由于各小组学生的能力有差异,项目进度各不相同,集中开发,有利于各小组的交流学习,教师也能随时指导。等所有小组的项目开发任务完成后,由小组组长进行成果汇报展示,教师和其他同学充当评委,指出得失成败,总结经验。教师从项目实践中让学生感受文档、规范编码、团队合作、项目管理等重要概念。这种“学生自学找出不足-交流汇报找出解决办法-教师总结理论经验”的项目驱动教学方法,极大地提升了学生的学习兴趣和主动性,取得了较好的学习效果。教师从知识传授者变成了项目开发的引导者、组织者和评价总结者。

2.2以项目开发为驱动设置教学内容

在以项目开发为驱动的案例教学中,对教师的能力提出了更高的要求,教师要能对项目开发的全过程精准的把握。在教学过程中,把教学内容巧妙地和项目开发任务结合起来,在学生最困惑最需要帮助的时候给与实践和理论的指导。每个阶段开始之前,提前将以往容易被忽略的项目实训工具进行介绍,比如软件分析与设计的工具MicrosoftVisio,面向对象设计工具RationalRose,数据模型建模工具PowerDesigner,软件集成编码开发工具VisualStudio等,让学生们掌握最先进的工具,更方便他们进行项目的开发。

2.3项目开发为主的考核评价方式,激发学生的学习兴趣

以项目开发为驱动的案例教学法,需要学生花费大量的课余时间,所以我们采用“项目发过程50%+项目文档20%+开卷考试30%”的方式进行考核。项目开发过程成绩=团队对软件工程的执行情况+团队的分工与协调情况+软件的复杂程度和最终实现情况。这种考核方式既要求学生小组不折不扣地完成项目过程开发,又充分强调了项目文档的重要性,再通过开卷考试强化软件工程重要的理论概念,将理论和实践充分集合,激发了学生的学习兴趣,取得了很好的效果。

3、结束语

以“学生为中心,项目开发为驱动”的软件工程课程教学方法,能更好地激发学生的学习兴趣,将学习的角色从受众变成主动者,让学生从枯燥的理论学习环境中解脱出来,全面深入体验软件工程分析、设计、编码、测试的开发过程,更好地培养了学生的理论应用能力,团队合作能力,问题解决能力,提高了工程实践能力。接下来,有条件的学校可以开设软件工程课程设计课程,或者与企业合作,选择最新的、为企业生产应用所需要的项目作为开发案例,让学生真正的做到学有所用。还可以将好的项目案例形成案例库[6],供后面的学生参考选择开发。培养具有高素质专业技术人才是一项需要长期坚持的系统化工程,需要持之以恒的不懈努力以及教学实践的不断尝试和反馈。

参考文献

[1]张海藩.《软件工程导论》(第6版)[M].清华大学出版社,2013

[2]王辰尹.面向应用型IT人才培养的软件工程教该关键问题研究[J].计算机教育.2014

[3]李峰.计算机软件工程专业卓越计划实践教学.计算机教育.2013

[4]吕云翔.《软件工程实用教程》[M],清华大学出版社,2015

[5]谭貌.软件工程专业多课程协作项目驱动教学模式研究[J],计算机教育,2011

软件工程课程总结范文第2篇

关键词:软件工程教学改进实践

中图分类号:

1、引言

提起软件,在当今社会人们并不陌生,正是由于软件的发展,使计算机应用逐步渗透到社会生活的各个角落,使各行各业都发生很大的变化。这同时也促进人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而,软件的规模越大、越复杂,人们的软件开发能力越显得力不从心。于是,人们开始重视软件开发过程、方法、工具和环境的研究,软件工程应运而生。

“软件工程”主要介绍软件工程的基本原理、开发方法和开发工具,通过本课程的学习,使学生了解和初步掌握开发1个软件项目所使用的方法和工具,以及“软件工程”的发展过程和发展趋势,为进行软件开发打下1个良好的基础。

2、课程特点

1。课程综合性强。

软件工程与其他计算机课程,如程序设计语言、数据结构、编译原理、数据库以及操作系统等课程都是相互作用和影响的。在1定程度上说,软件工程讨论的是在实际开发当中综合运用这些课程中讲过的理论和方法,将这些课程的理论和方法放在1个统1的目标下,这个目标就是在有限的时间及预算条件下,开发出高质量的令用户满意的软件。

2。课程内容不断更新。

软件工程课程的教学培养目标应该以市场需求为导向,使课程培养的学生真正能够在软件行业中发挥作用。因此,在授课时,我们不能拘泥于教材内容的限制。在讲解基本原理、基本概念和基本方法的同时,介绍1些新方法、新技术。这样,有助于开拓学生的视野和培养创新意识与开发能力,使他们走向社会后不至落伍。

3。课程的实践性强。

软件工程是1门实践性很强的课程,它是各种开发经验的总结与提炼。在学习过程中不但应注重概念、原理、方法和技术的掌握,更应注重方法、技术的实际应用。学习软件工程必须投身于软件开发的实践,才能真正领悟软件工程的精髓。

实际教学当中,这门课的教学效果往往不是很理想,教师觉得这门课教起来较困难,学生学习中多数也觉得枯燥无味,很难达到较好的教学效果或获得较强的实践能力等预期目的。如何改善?结合软件工程的课程特点,笔者认为可以从以下几个方面来改进《软件工程》的教学质量。三、软件工程教学改进的内容和方法

1。教学过程引入实际案例

软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生。因此,在教学过程中引入案例,将复杂抽象的概念用具体生动的实例进行诠释,能够收到事半功倍的效果。例如,在授课时教师可结合1个“学校教材购销系统”实例,给学生介绍具体的开发过程和方法。

另外,学校还可邀请领域内有实际经验的资深程序员,针对软件工程中具体理论和方法在实际开发中的应用,在课堂上和学生进行面对面讲座,深入浅出地作讲解。这样,学生可以更加熟悉、掌握软件开发的过程。

2。组织课堂讨论,形成教学互动

我国有句名言:“授人以鱼,不如授人以渔”。学生是教学活动的核心,教师要利用合适的方法调动学生的积极心理和参与意识,改变传统的教师高高在上的教学方式,让学生参与教学过程,有机会发表自己的看法。

比如在讲授需求分析这章内容时,可结合“学校教材购销系统”这个案例,要求学生按照软件工程教学的思想和方法认真做好需求分析。在实施过程中,首先由学生独立思考,给出解决方案。然后在课堂上,组织学生进行讨论,分析各自解决方案的优劣,并进行综合。最后由老师进行总结和评价,指出该案例所涉及的理论知识及其应用方法,就学生提出的问题进行解答。这样通过组织学生讨论,可使学生进1步理解和掌握课程内容的方法和步骤,使抽象的知识变得看得见,用得着,大大激发了学生学习的兴趣和自信。

3。加强实践环节

从本质上看,软件工程的实践性和综合性是其他相关课程难以比拟的。因此,必须结合设计项目和实际应用加以施教,才能取得良好的教学效果。那么,在把握教学进度的同时,必须及早安排好课程设计,让学生同步开展课程设计。这样,理论课讲完了,课程设计也基本结束,学生们能从理论和实践的结合上,加深对软件工程知识难点、重点的理解,进1步深刻理解软件过程和系统消化理论知识,训练项目设计的思路,锻炼实际开发能力,培养严格规范的项目开发方法和步骤,体验文档编写整理、阶段性评审总结以及软件测试等各个方面的工作流程,直接培养了学生从事实际开发的能力。

四、结束语

在教学中,我们还应根据学生的具体情况,因材施教。总之,通过不断改进教学,使学生能更好地理解、掌握知识,运用所学服务社会。

参考文献:

[1]史济民等。软件工程。北京:高等教育出版社,2002。12

软件工程课程总结范文第3篇

关键词:知识体系;技能标准;教学模式;课程体系

课程建设是专业建设的核心内涵,课程设置及其教学质量反映了一个专业的教育理念、办学特色和人才培养质量。我国软件工程专业教育可以追溯到2001年底国家推出的示范性软件学院计划,该计划中的专业定位是面向软件产业培养高素质的工程型软件实用人才。2011年2月,国务院学位委员会正式公布修订的学科目录,把软件工程新增为一级学科,这充分说明了软件工程学科在国家战略层面上已经提升到一个新的高度。虽然,我国1900多所高校中有近200所院校开设了软件工程专业,但是,软件工程的专业教育现状与软件工程的技术发展差距较大,市场对人才的需求仍存在较大缺口,适应产业市场不断发展的软件工程专业建设工作依然任重道远。

1 职业技能结构分析

软件工程专业教育同样面临着两个问题:一是培养什么样的人(即市场需要什么样的人才),二是怎样培养人(即高校的教育内容和培养模式)。在软件产业迅猛发展过程中,虽然高校招生规模不断扩大,但是制约企业发展的人才问题并没有得到有效缓解,尤其是中高端人才的矛盾还很尖锐。究其原因,一方面,大型软件企业对中高级技术和管理岗位人才需求量很大、要求也很高,这类人才通常需要3-5年的工作经验,有两个以上的项目经历;另一方面,高校教育和市场需求脱节,每年大量进入就业市场的计算机类毕业生很难直接符合企业要求,有些毕业生需要经过社会培训机构或者软件企业培训,有些毕业生甚至放弃了本专业工作。

在软件企业中,合理的软件人才结构应该是金字塔型的,塔的顶部是高级开发和管理人员,中间是相当规模的系统分析和设计人员,底部则是大量的基础程序员(也称软件蓝领)。这样一种合理的人才结构是软件企业的期待,更是对教育部门提出了人才培养的具体要求和明确目标,毕竟大量的软件人才是需要经过高等学校的学历教育。一个软件专业毕业生走出学校之后,其成长过程基本上遵循学习实践再学习再实践的模式。进入软件企业,在初始的工作岗位上,首先通过短期培训,从事初级的技术开发工作;经过一段时间的技术实践,逐步提高其职业技术水平,成为中高级工程师;通过更高级别的培训,使其承担更为重要的技术和管理工作。可见,大学生在校期间除了专业知识学习外,从事职业的技术能力和适应工作的职业素养培养十分重要。

软件工程是指导软件开发和维护的一门工程学科,换言之,采用工程的方法、技术、工具和管理手段,以期开发出低成本高质量的软件产品。从这个定义可以看出,软件人才大致可以划分为技术型和管理型两类。从产品的技术角度看,不仅有产业标准和行业规范,而且项目的施工和管理有一套技术文档,这就是软件工程规范。从项目的管理角度看,分工协作是软件产业市场的总趋势,项目团队的分工合作是现代软件工程的一个重要职业特点,因此,软件工程专业的人才培养不仅要求具有专业知识,还需要有职业技能和职业素养。

软件工程专业的专业知识可分为基础知识、专业知识和专业理论,职业技能可分为基本技能、专业技能和综合技能,职业素养可分为基本素养、职业素养和综合素养。在专业教学中,强调专业知识中的核心基础知识,不求全面知识,知识教学内容必须与技术发展同步更新。把职业技能分为特定技能、通用技能、核心技能3个层次,其中核心技能具有普遍适用性,在职业生涯中受益终生。在职业技能训练中,按照软件的阶段划分,制定不同阶段所要求的职业技能。如编码阶段,要求有规范代码书写、单元测试能力,教师或项目经理要善于观察、发掘、培养新人;根据学生的各自特点,通过固化训练或交叉培养其设计、编码、测试、文档书写等能力。在学生的职业能力成长过程中,关注哪些学生是技术型的,哪些是项目管理型的,哪些是技能操作型的。由于高校不是企业,企业也无法承担高校的职能,通过校企合作的项目实训,围绕学生职业能力训练,明确企业和高校的职责分工边界。在职业素养训练方面,着重训练学生的交流表达、文档写作、分工合作、敬业奉献等能力和精神。在教学过程中,明确软件工程专业的职业素养边界,坚持“任何人都有用”的原则,关键是用到何处。比如刁钻苛刻的人用到测试上,勤奋好胜的人用到技术攻关上,豁达人缘好的人用到项目协调上,条理规矩的人用到设计上去。

2 专业知识体系裁剪

软件工程学科是从计算机学科发展而来的,经历了从软件、软件开发技术、软件工程到软件工程教育的一个发展历程。国内许多高校参照了IEEE-CS的软件工程知识体系指南SWEBOK2004,该指南给出了软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等10个关键知识域,指出每个知识域的教学内容。此外,SWEBOK分析了软件工程职业特征,认为软件工程学科与计算机科学、管理科学、数学、项目管理、质量管理和系统工程等学科相关。这说明该专业需要开设一些相关学科的基础课程,但是要确定软件工程与相关学科之间的知识公共边界,要对相关课程进行内容裁剪。

浙江师范大学软件工程专业教学计划的规定如下:专业毕业最低总学分为170学分,其中通识课程50学分,学科平台课程1分,专业核心课程31学分,专业方向课程30学分,基础性实践课程5学分,提高性实践课程31学分,创新性实践课程4学分。围绕人才培养目标,构建了“通识课+学科平台课程+专业核心课程+专业方向课程+实践课程(基础性、提高性、创新性)”体系,其中“学科平台课程+专业核心课程+专业方向课程”构成了专业知识体系。该计划是在调研其他兄弟院校,如浙江大学、浙江工业大学等的基础上,紧扣人才培养目标,结合本校专业课程的进度安排,设置了4个层次的专业主干课程,如表1所示。

3 专业课程体系构建

实现人才培养目标,关键在于如何构建专业课程体系。面向社会需求,以课程为载体,合理设置课程。课程设置的原则是打好专业基础以保障学生就业能力、掌握主流技术以提高学生的基本技能、训练职业素养以成就学生的职业能力。注重加强数学基础,使本专业的学生具备较强的数学功底,引入国际公认的CMM5级能力成熟度模型,旨在提高学生规范化开发和团队分工协作能力,强化程序设计基础,使学生掌握软件开发所必需的知识与技能,熟练运用开发环境和工具。

软件工程专业课程建设的基本理念是遵循软件工程思想,强调以项目驱动的教学方法,如图1所示。课程开发要求项目真实、文档齐全规范,在教学过程中,教师采取项目实例教学,通过实例体验让学生掌握知识点。通过项目式教学改革,在掌握最基本、最必要的专业基础知识的前提下,在较浅的程度内掌握一两种计算机程序设计语言,然后学习目前流行且高效率的软件开发工具(如果企业需要,还可以学习一些更加专用的软件开发工具),学习实用的软件编程、数据管理、系统维护等技术,构建以技能训练为中心的知识结构和课程体系。

在软件工程教学过程中,通过教学实践总结,我们提出了“以职业技能为根本、工作体验为主题、知识点恰到好处”的教学方法;遵循软件工程规范,把职业技能划分为特定技能、通用技能、核心技能;提出“遵循软件工程规范、研究职业技能结构”的课程建设思想,构建了以核心技能为主的3个层次的专业课程体系。实践教学环节的项目分类及内容如表2所示。

专业课程的教学充分尊重软件工程专业的学科特点,在专业基础和核心课程教学的同时,通过教学的3个阶段划分来实现人才培养目标(见表3)。

软件工程课程总结范文第4篇

 

一、概述

 

作为国家战略性新兴产业,软件业急需一批领军型软件人才。教育部在2002年批准开办软件工程(以下简称SE)专业并设立国家示范性软件学院,2011年批准设立软件工程一级学科并把软件工程师培养列入了卓越工程师教育培养计划。至2013年,我国有425所高校开设软件工程专业,设点数、招生数及就业质量均进入前十。因此,研究与建设软件工程专业关键课程体系对于软件人才培养具有重要的现实意义和积极的推动作用。

 

国际上,IEEE和ACM共同制定了软件工程学科教程CCSE[1,2],给出了软件工程专业的教育知识体系,提出了组织和设计课程体系的若干建议,是公认的软件人才培养工作基础。CCSE推荐课程包括SE基础课程5门、CS中级课程3门和SE高级课程6门,并提出了SE优先的课程方案和CS过渡的课程方案。

 

但是,SE专业在教学实施中面临以下难题[3]:(1)传统计算机科学(以下简称CS)专业的软件工程课程如何合理过渡到SE基础课程和6门SE高级课程;(2)如何落实SE优先的教学理念,解决关键课程的教学实践与教学资源;(3)如何实施软件工程课程与程序设计类课程的融合教学。

 

具体来说,目前国际国内缺乏对SE关键课程的教学实践,SE优先的基础课程与部分高级课程属于全新构造,难觅教材和成熟的教学资源,从而导致SE专业教学在实施时面临很大困难,大多数学校只能因循计算机科学专业传统课程过渡。因此,贯彻SE优先的教育理念与落实系统化的SE专业教学体系成为摆在广大SE教育者面前的一个巨大挑战。针对这些问题,南京大学软件工程专业经过多年教学实践,以软件开发的核心工作——软件系统设计与构造为主线,提出了面向软件系统设计与构造的SE专业关键课程教学实施方案。

 

二、设置思路

 

CS传统课程按照知识领域安排,非常适合于培养研究性人才。软件产业则迫切需要能够综合运用各种工程技术知识解决具体问题的实用性人才。为此,南京大学SE专业教学体系从能力培养入手,强调持续培养学生的工程观、系统观和产品观;面向“软件系统设计与构造”主线,规划专业关键课程,实践并求精CCSE的SE优先课程设置方案;探索关键课程的教学内容与教学方法,建设相关教材与教学案例。

 

1.提出软件工程专业课程改革的基本策略。在专业教学早期开始培养学生工程观、系统观与产品观,引导学生持续以软件工程观的角度学习与体验软件系统分析、设计与构建的过程。在一年级开设软件工程课程,专业入门时就树立学生的工程观和系统观,将质量、成本、度量、折中、决策、纪律、规范等工程理念贯穿后续课程,通过反复强化来培养学生牢固的工程理念以及基于工程理念解决问题和进行开发的能力。

 

2.规划与实践SE优先的专业关键课程。遵循工程的集成与创新特征,面向“软件系统设计与构造”,按照软件系统规模由小及大的次序建立专业教学主线,即以小规模系统、中规模系统、中规模产品、大规模系统技术、应用领域来部署SE专业课程的展开。在单门课程中强调构建系统的全面知识融合教学,培养学生解决实际问题的综合能力。

 

3.探索适应培养卓越软件人才的教学方法。软件人才培养必须重视学生的工程实践能力、设计能力与创新能力培养,重视实验、实训、实习等培养过程,特别是理论教学与实践教学的完美融合。主要的教学方法包括:面向具体的软件系统构造项目开展综合性知识教学;加强课程教学案例与实践用例建设,实施理论、案例、实践相辅相成的教学;探索校企合作教学、面向问题教学、体验式教学、面向实际教学、研讨式教学、软件创新设计竞赛教学等适合卓越人才培养的新型教学方法。

 

三、课程体系框架

 

下图给出了南京大学SE专业的课程体系框架[4,5],其中左侧为重点建设的SE专业关键性基础课程,右侧为其他SE专业基础课程和高级课程,后者在教学上较为成熟,故不赘述。

 

面向“软件系统设计与构造”的SE专业关键课程共7门,分别为计算系统基础、软件工程与计算Ⅰ、软件工程与计算Ⅱ、软件工程与计算Ⅲ、软件需求工程、软件系统设计与体系结构、人机交互的软件工程方法,分别重点解决学生计算系统分层构建、个人级小规模软件系统设计与构造、小组级中小规模软件系统设计与构造、模拟团队级中规模软件产品设计与构建、大规模软件系统的需求技术、大规模软件系统的设计技术、交互式软件系统设计与评估技术等关键性能力培养。

 

南京大学软件工程专业课程体系结构图

 

这7门关键课程均围绕一个具体的软件系统教学案例,融合构建系统所需的多方面知识展开每门课程的教学。各课程都精心设计了一个教学讲解用的软件系统构建案例,并同步设计了一个培养学生工程能力的实践用例。课程围绕教学案例和实践用例的构建活动组织课程教学和实践教学。课程同时力图打破传统课程的技术藩篱,将程序设计、软件工程、交流与沟通、团队动力学、职业素质、过程管理、工程经济学等知识进行融合教学,在案例中引导学生使用软件工程的观念来观察、体验和实践计算系统软件的设计与构建过程,训练其软件系统设计与构造的综合能力。

 

四、课程描述

 

“计算系统基础”,以一个经典计算机指令集MIPS的简化版本DLX为线索,以C语言为载体,使初学者可以建立起完整的计算概念,了解经典计算系统的工作原理,理解计算系统自底向上、逐次构造的过程;理解结构化程序设计,能够利用自顶向下、逐步求精的方法完成小规模的结构化程序。具体教学内容包括:数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap 机制和子例程、结构化程序设计和语言处理。

 

“软件工程与计算Ⅰ”,在软件工程理念指导下,侧重于程序设计教学。以一个计算示例和实践用例的迭代式增量开发实践为线索,全面培养学生在个人开发级别的小规模软件系统构建能力,让学生初步体验软件工程方法与技术在系统开发中的关键作用。具体教学内容包括:程序设计基础、面向对象程序设计语言;OOA、OOD、调试与测试等软件工程知识;个人级别的软件开发活动管理、个人级别的软件职业知识。

 

“软件工程与计算Ⅱ”,以经典软件工程方法与技术为主线,软件设计与构造知识为教学重点,软件系统构建实例(计算系统示例与学生实践用例)为切入点,培养学生基于瀑布模型的、简单小组开发级别的、中小规模软件系统构建能力。具体教学内容包括:软件工程历史、软件职业知识;适用于中小规模软件产品开发的软件工程方法、原则与实践;软件工程方法指导下的程序设计原则与实践;小组级别的简单软件开发活动管理;包括代码和重要文档在内的关键软件开发制品。

 

“软件工程与计算Ⅲ”,以螺旋模型和团队实践为特征,通过开发一个中等规模软件产品的方式,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。将学生组织成8人左右的团队,按照6个阶段(即项目启动阶段、第一循环、第二循环、第三循环、第四循环、项目部署阶段)合作完成一个具有一定复杂度的具体项目。在项目完成过程中,涉及需求、设计、实现和质量保障,强调团队协作、文档写作、工具使用、陈述等能力,并在软件团队中对软件开发进行管理。

 

“软件需求工程”,以需求工程技术、软件经济学和迭代过程为特征,结合工业界实例综合分析,培养学生构建大规模软件系统所需要的需求获取、分析与建模能力,试图让学生把握需求工程工作给后继软件项目工作带来的影响。具体教学内容包括:需求工程基础、需求获取方法与技术、需求分析方法、需求分析模型与建模技术、需求管理与需求工程过程知识、软件工程经济学等。

 

“软件系统设计与体系结构”,以软件设计、体系结构、可复用软件过程为特征,结合复杂工程案例及其重构,培养学生构建大规模软件系统所需要的综合设计技术能力。具体教学内容包括:软件设计的要素、软件设计的支持与评价、软件设计方法、体系结构设计、详细设计、基于中间件的设计、基于复用的设计和设计演化。

 

“人机交互的软件工程方法”,以用户为中心的设计与软件再工程为特征,培养学生交互式产品开发的软件分析、设计和评估技术。具体教学内容包括:可用性工程、人机交互界面的经典模型、人机交互的需求工程方法、人机交互的设计方法以及基于行为观测与眼动分析的交互评估技术等。

 

五、教学方法

 

软件人才培养需要重视教学方法改革,面向软件系统设计与构造的SE专业采用了一系列新型教学方法。

 

面向问题教学要求各课程都以工程问题开始,并依照工程问题的解决过程和活动来组织教学,这既体现了多种知识的融合运用,又培养了学生的问题解决能力。体验式教学要求各课程在实验设计时必须考虑模拟现实环境的不确定性因素,让学生体验真实的开发氛围,这既能培养他们综合运用各种知识与方法解决问题的能力,又能重点训练他们的折中、决策、沟通等非技术能力。面向实际教学要求各课程在讲授软件开发方法与技术时,要结合实践调查数据说明企业对不同方法、技术的选择与权衡情况以及应用效果,要突出企业界的主流方法与技术,遵循企业界的行业标准与规范,这既能让学生更深入地理解方法与技术,又能开拓他们的视野。研讨式教学要求各课程针对教学难点和重点,给出启发式问题,让学生自行收集资料,研讨解决,这既培养了学生的问题解决能力,又培养了他们的创新能力。基础课程结合软件创新设计竞赛教学鼓励低年级学生在导师指导下,结合课程教学内容,自由选题,参加软件创新设计竞赛,鼓励学生创新。部分高级课程采取实训实习后回顾教学,通过理论教学考试和实训实习后再回顾总结报告综合评定分数,促使学生学习理论、实践体验、再总结提高,以提高他们的工程认知能力与创新能力。还有部分高级课程采取校企联合设计课程、联合实施教学的校企合作教学。

软件工程课程总结范文第5篇

文章结合软件工程课程的特点,阐述了兴趣引导、任务驱动教学法在课堂教学中的应用,指出了教学设计中要注意的问题,并举例分析其用法。

关键词:软件工程;教学方法;兴趣引导;任务驱动

在互联网+大智慧时代,计算机和移动智能终端的普及使得软件成为人们日常使用必不可少的工具。有了软件,人们的办公效率得到提高,生活质量也有了很大改善[1],人们幸福地生活在这个智慧的时代。随着国家经济的发展和对软件人才需求的增长,软件工程学科的作用和地位不断上升。2011年,国务院学位委员会及教育部将软件工程设立为国家一级学科[2],这反映出社会发展的重大需求,指明了学科发展的方向。目前高校中近80%的院校设有软件及相关专业,2015年国家对软件人才的需求旺盛[3]。教指委也认定软件工程是计算科学相关专业的核心课程之一,着重强调软件工程的重要作用[4]。软件工程是一门工程学科,主要讲述软件开发与维护的相关知识,涉及软件开发的各个方面:开发流程、原则、开发方法与常用工具、软件项目管理等,能够为高效地开发高质量的软件产品提供有效的技术支持[5]。它在培养学生的软件开发能力、提高项目管理水平方面起着重要的作用。软件工程课程涉及的原理、方法、概念多,涉及的知识面广且抽象,较难理解,实践环节操作困难。需要学习者既知晓理论知识,又能够在项目实践中灵活应用。在计算机相关专业的课程设置上起着重要的作用。因此,针对高职院校的软件工程教学现状,必须进行教学改革,不断探索更为有效的教学方法。下面是笔者结合自身的教学经验探索了“兴趣引导+任务驱动”的软件工程教学法,与同行探讨。

1软件工程课程教学现状

1.1教学方法陈旧

大多数高校的软件工程课程主要以理论讲授为主,在课堂上采用“灌输式”的教学方法。课堂教学枯燥无味,学生被动式地接受,教师是课堂的主导,学生为辅。情景式、互动式等教学方法较很少采用,课堂氛围沉闷,缺乏灵活性,课后缺乏实践训练。不能充分地调动学生学习的主动性,无法激发学生的学习热情,大多数学生学完后只记住了一些基本概念,很难灵活应用于项目开发实践中。有的学生甚至认为有了这些理论知识就能指导软件开发,开发出完美的软件产品。单一的课堂教学枯燥无味,加上理论抽象,教学效果大打折扣。

1.2教学内容与其他课程融合欠佳

软件工程的选修课程有数据结构、数据库原理及应用和程序设计语言等,这些课程学完之后,学生很难把这些课程的知识点融合在一起应用于软件开发过程中。学生难以融会贯通,理解起来困难,在项目实践中更是难以灵活应用。

1.3忽视实践环节

软件工程是一门理论性和实践性比较强的综合性课程,很多院校只注重理论课的教学,开设了很少的实验课程,甚至有的学校只开设纯理论课,没有实践教学环节。学生在实验过程中只是学习了一些软件工具的用法,而没有按软件开发流程完成一个完整项目的开发,不能真正领悟到软件工程在项目开发中的重要作用[6]。

1.4师生对软件工程课程重视度不够

软件工程不同于一般的应用软件,学完后会有立竿见影的效果,比如学习了photoshop就能够进行简单的图像处理。在完成一个软件项目的开发过程中,有些学生虽然能做出来,但是做出的软件产品却差强人意,软件质量缺乏保障,缺乏完整的文档资料,很难进行软件维护。许多学生认为软件就是程序,没学软件工程也能写代码,不重视软件工程,认为学不学没有太大的关系。随着信息化时代的来临,越来越多的应用都离不开软件,同时对软件的质量要求也越来越高,所以教师更要重视软件工程的教学,在教学中要进一步结合现代教育技术,开展信息化教学创新研究。

2教学方法设计

大多数高职学生基础薄弱,他们对理论知识的归纳、总结能力欠佳。在教学中,要尽量深入浅出,以简单、形象、生动的语言,把知识点阐述清楚,同时要注重培养学生的逻辑分析能力和动手能力,力争让每一位同学都能有所收获,有所提高。教学过程中“教”与“学”高效结合,需要注重教师和学生在课堂中主导角色的合理优化[7]。为了让学生更主动地参与到学习中来,兴趣引导是一种有效的方法,可以激发学生的学习热情。因此,在教学实践中采用“兴趣引导+项目任务驱动”的方法,激发了学生的兴趣,增强了教学效果。在信息化教学背景下,借助多媒体等现代教育手段,创造轻松、生动、形象的课堂环境,在寓教于乐中,把学生领进知识的海洋,学习相关的知识点,提高学生的逻辑分析能力、自学能力和动手能力,让学生在实践中能够学以致用。

3教学活动设计

在设计课堂教学时,要注意以下3个方面:

(1)转变学习方式。让学生主体主动参与到课堂中来,让学生成为课堂教学的主体,借助现代化教育手段,让学生通过多种方式(如移动终端等)参与到学习中来。

(2)场景与知识点相融合。设置与知识点融合的场景,让学生深入其中,再抛出知识点相关的学习任务,让学生在场景中顺其自然地进入学习状态。

(3)唤醒学生的自主学习意识。及时对学生的努力和成绩加以肯定,让学生体会成功的喜悦,激励学生主动学习。

4教学流程示例

结合当代高职学生的现状,以《软件需求分析》为例,本文进行如下的课程教学流程设计。

4.1兴趣引导,引出知识点,导入新课

课前的知识点回顾是很重要的,在复习上次课学习的知识点的同时,与学生互动,抛出问题,比如,什么是软件的生命周期,常用的开发模型有哪些?项目开发进行到哪个阶段了,接下来需要做什么?再通过一个“妈妈与孩子”的故事引出知识点,导入新课。故事是这样的:一个夜晚,有一位妈妈领着她的孩子走在回家的路上,孩子突然说:“妈妈,我想要吃鸡腿”,妈妈犯愁了,这么晚了,怎么办呢?附近店铺已经关门了,可又不能饿着孩子。突然,妈妈想起了包里还有一些下午买的披萨,就拿出来给孩子吃,孩子高兴地接过披萨开心的吃起来。讲完这个故事,注重与学生互动,及时提问学生,鸡腿=披萨?显然学生是乐意回答的,而且很高兴地回应老师的提问。显然是鸡腿不等于披萨,然后再追问,孩子的潜在需求是什么?学生的兴趣被激发出来,会接着分析,孩子的潜在需求是饿了,想要吃好吃的。由此引出知识点:需求的定义,导入新课。在讲解知识点的同时注重与学生的交互,实时了解学生的课堂学习状态、对知识点的理解程度,有针对性地进行讲解。

4.2以任务驱动结合项目案例讲授新课

提出问题,什么是需求分析,需求分析的任务,需求分析的过程。让学生带着问题看书,找出问题的答案,旨在培养学生自主学习能力。教师巡视教室,及时解答学生的提问,发现问题,专题辅导,启发学生,随时接受学生的咨询,巡回检查,个别指导,让学生成为课堂的主体。再以“传授技能,尝试练习”的教学法举例。精选出一两个有代表性的项目实例,引导学生用掌握的理论知识解决实际问题,案例讲完后,结合习题训练,通过与学生的交互情况,了解学生对这部分知识点的掌握情况。在授课过程中,借助PPT进行讲解,为了让PPT美观有吸引力,借助现代教育技术,增加一些动画、人物、技术的起源,插入一些流行影视图片等作为背景,增加趣味性,吸引学生的眼球。

4.3归纳总结

通过学生课堂习题训练的情况及师生互动情况,总结本次课的教学重点、难点,指出学生在解题过程中存在的问题,提醒学生在进行需求分析时容易出现的问题,结合具体项目案例讲解分析方法、工具及需求分析规格说明文档的格式,并总结方法和容易出现的问题。

5结语

软件工程是计算科学相关专业的核心课程,在计算机相关专业的课程设置上起着重要的作用。本文针对高校的软件工程教学现状,阐述了“兴趣引导+任务驱动”的教学方法在课堂教学中的应用。在以后的教学中还要进一步结合现代教育技术,开展信息化教学创新研究。

[参考文献]

[1]刘红梅.计算机软件工程管理与应用探究[J].无线互联科技,2015(2):97-98.

[2]樊富有,孟林,李忠.新形势下软件工程人才培养的思考[J].计算机教育,2013(13):82-86.

[3]易军,周伟,张元涛.软件工程专业办学现状及发展特色分析[J].计算机教育,2014(8):102-104.

[4]蒋宗礼.推进规范办学,培养合格本科毕业生[J].计算机教育,2008(7):7-10.

[5]曾强聪.软件工程方法与实训[M].北京:高等教育出版社,2010.