软件工程课程总结(最新4篇)

网友 分享 时间:

【导言】此例“软件工程课程总结(最新4篇)”的文档资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!

软件工程课程总结【第一篇】

关键词实践教学 课程设计 科技竞赛

中图分类号G642 文献标识码A 文章编号2095-3089(2014)02-0243-02

一、软件工程课程实践教学现实情况

长期以来,由于软件工程课程偏重于方法学理论的讲授,其中心是软件生命周期的工程技术方法。然而这些技术和方法,对于缺乏工程开发经验和管理知识的在校学生来说非常难以理解。在实践教学中学生感觉软件工程理论对软件开发的帮助作用不大[1]!尽管实践教学对学生有严格的要求,但是他们往往为了能完成任务的考核,只能按照要求粗略地完成或者收集现成的文档来充数,而未能通过实践对所学的知识进行理解与消化。此外,靠死记硬背的知识、概念常常未能得到有效理解,从而难以转化为软件工程技能。多年来,各个学校在不断地探索和改进其实践教学方法,当前也有些对传统实践教学改进的方法并且取得了一些效果[2][3]。经过对这些方法的分析,可知其大致可分为两类:一类是直接套用软件工业界的要求,但学生缺乏技能和实践条件对任务根本无法完成,只能敷衍了事,达不到对软件工程知识理解和应用的目的;而另一类则是要求不明确且缺乏规范,因要求过于简单而无法达到增强对软件工程理论应用的目的。

鉴于这样的情况,学校迫切需要对软件工程实践教学加以改革,逐步建立实践与理论紧密结合的教学方法,着力培养学生的工程化开发能力,进而形成一个融基础理论、实践教学和参加软件科技竞赛的一种培养机制。因此,使课程设计成为对课堂教学的有效补充是实践教学改革的一个重要任务[4]。

二、“课程设计与科技竞赛”相结合的实践教学方法

课程设计与科技竞赛相结合就是要打破传统实践教学法的不足,充分调动学生学习的积极性和主动性,极大地激发学生的学习兴趣,以实践教学活动带动软件工程理论的学习。这样实践教学就能改变成为对理论知识的巩固应用和对工程实践能力培养的主动学习方式,从而使教学出现可喜的变化。它能把教师要求转变为以学生自主要求,把常规工程文档写作转变为以任务为驱动的分析、设计和实现的学习。

该实践教学是在教师的指导下由学生实施的一个较为完整的“项目”而进行的实践教学活动。参照科技竞赛题目的特点,并依据软件工程理论、方法的特点,制定了本课程设计的知识要求结构如图1所示。在软件工程理论知识的基础上,挑选某种易于扩展、应用的工程技术方法,在软件工程规范文档的要求下进行课程设计。从而使其按需求分析、总体设计、详细设计、实现和测试的流程来开发软件。这样,经过课程设计较为完整的项目训练,能有助于对学生工程技能的培养和对工程理论的理解,最终使学生在有限的时间内,对软件工程的核心理念有较好的把握。它能帮助学生有效地参与各级软件类科技竞赛,提高自己就业时的信心和社会竞争力,使其毕业后能够顺利过渡到实际的软件应用开发中,并在实践中对软件工程理论加以检验和完善并逐步锻炼成为社会急需的各类软件人才。

课程设计与科技竞赛相结合的教学方法是以学生为主体,教师为辅助,在课程设计实践中加深对软件工程理论的理解,培养学生在工程实践中发现知识与分析、解决问题的能力。要达到这样的实践教学目的,软件工程课程设计要做到以下的要求。首先,关于课程设计与科技竞赛相结合的教学内容的设计上,要以学生兴趣为中心自由选择题目。针对实践教学要求,学生选择合适的题目是保证该实践教学顺利开展的关键。因此,题目要以理论教学内容为依据,同时要考虑学生的知识结构特点和实践教学的要求。此外,题目要注重以解决身边的软件需求为背景,充分使其既包含教学知识点,又能激发学生软件开发的兴趣,达到培养学生软件工程能力的目的。其次,实践指导老师要提供合适的示范案例,并不断地引导学生向正确的方向前进。由此,在课程设计的准备阶段需要对为完成设计所需的基本知识进行明确且扼要地讲透。这样学生在遇到困难时,才知道行进的方向而不至于迷茫和不知所措!在课程设计中,要使学生明确课程设计的要求,并尽快地掌握工程的基本方法和使用工具的基本技能。同时,应尽量使学生独立地解决设计中所遇到的问题,而教师则需要对学生进行全程的指导和监督。再次,应确定合适评价标准,客观考核学生的学习效果。主要方法是以学生完成课程设计的情况来评价学生的学习效果,要求各课程组定时汇报开展的进度和情况,并及时地对各阶段性成果进行评价。

三、课程设计的教学实施

根据实践教学的具体要求,对课程设计与科技竞赛相结合的教学方法开展了研究,并总结出该方法的大致流程如图2所示。其基本指导思想是以案例示范为核心,不断地引导学生对其选定的课程设计进行改进,使其能满足掌握需求分析、软件设计与实现以及测试的基本技能,并把不断改进贯穿到整个设计中。由此,课程设计应从课程设计准备,精选小项目案例文档示范,课程设计题目的选定,课程项目的设计与改进,教师和学生一起对设计结果的评价与改进进行精心地组织。因此,准备阶段就是对训练内容所涉及的工程知识进行精炼概括与总结,使学生知道如何去应用这些知识。此外,示范的项目案例要进行精心的选择,使其能够覆盖课程设计实践教学要求,又要精干有效,易于参照与模仿学习,切忌过于庞杂。教师应把课程设计准备知识与项目案例进行参照讲解,让学生彻底了解训练的要求。在题目的选择上,可以适当地提供一些精选的小应用软件题目,让学生参照选择或根据生活经验自拟题目。并在项目设计中进行全程的监督和引导,并随时指出其设计和参照示范项目和实践要求的差距。对各阶段结果,应组织一些志愿学生和做得好的学生对各阶段结果进行评价并给出改进建议。如此不断地迭代改进,能够使学生较好地掌握软件工程的基本技能,并巩固对应的软件工程理论知识,从而取得举一反三的示范效果。这样就能够使学生理解并掌握一些基本的需求获取与分析、系统分析与设计等软件生命周期的技能,并学会软件工程规范文档的编写与应用。

软件工程课程总结【第二篇】

关键词:多模式融合;软件工程;翻转课堂

1本项教学改革背景

软件技术和产业的飞速发展进步,为我国经济注入了强大的推动力量,信息产业的人才需求量也在逐年扩大。据有关部门统计,未来五年,我国信息化人才总需求量高达1500—2000万人,其中“软件开发”、“网络工程”等人才的缺口最为突出[1]。以软件开发为例,职位数排名前五的职位依次是:软件工程师,高级软件工程师,网页设计,互联网软件开发工程师和网络推广专员。高校作为社会所需人才的培养基地,承担着培养大批合格软件人才的职责,满足软件产业发展和市场需求。为此,很多高校开设了多门软件技术方法课程,其中的核心课程包括软件工程,这门课程训练学生从工程化的角度认识软件开发和维护,通过实践理解和运用工程化的软件开发原理、技术和方法,在软件课程体系中具有重要地位。软件工程课程的特点是知识体系庞大,内容丰富,同时又与产业和应用联系密切,实践性很强。目前,大部分高校采用理论讲授上机练习的形式开展该课程,课程结构设置倾向于教师讲授,未给实践教学以足够的重视,学生参与软件工程项目机会很少[2]。即便是课堂讲授,有限的学时也难以展开或深入。大部分学生虽然学习过几门程序语言和一些软件专业课程,但基本上都没有经历过软件项目开发,普遍感到软件工程笼统抽象,很难真正理解其中的精髓。因此,如何改变软件工程课程的教学模式教学方法,提高教学水平和质量,切实培养学生的工程设计开发软件系统的能力,已经成为高校软件专业教改的重点热点之一。在多年的教学实践探索中,我们学习借鉴了多种新型教学方法的优点,包括Workshop&Teamwork教学法[3]、任务驱动的项目案例教学法[4,5]、情境教学法[6]、翻转课堂法[7]等,展开深入研究,将它们进行融合和合理改进,应用到软件工程教学中,提出了多模式融合的软件工程教学策略,结果表明,该教学模式收到了好的效果。

2多模式融合的软件工程教学策略

多种新型教学方法融合应用

&TeamworkWorkshop直译为工作坊、创作室、专题研讨会或实验班,是一种由几个人组成小组(Teamwork),进行密集讨论的集会,运用群体压力和有效的指导来完成复杂而具有挑战性的工作[2]。Workshop&Teamwork教学法以教师引领启发、学生分组学习和共同探讨问题为核心,通过充分的沟通交流实现思维能力、自学能力的培养,对于理解、领悟软件工程中抽象的理论及框架等概念模型具有一定的应用价值。它偏重于短期强化的专业训练,适合软件工程这样的短学制理论课程部分,通过充分调动参与者的积极性,在短期内高效率地完成教学任务。

任务驱动的案例项目任务驱动教学法将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态[3]。任务驱动法中的任务可以表现为案例(Case)或项目(Project)的形式。案例通常是能够突出体现一个或多个知识点、技能点的范例,在例子中设置问题或困难的情境,没有特定的解决之道,教师扮演设计者和激励者的角色,鼓励学生积极参与讨论,以求得解决方案。项目往往是综合性的案例,涉及本课程的大量知识技能点甚至融合了多门课程的知识。学生在老师的指导下独立处理项目,自我组织信息收集、方案的设计、项目实施、过程管理和最终评价,了解并把握整个过程。

情境教学情境教学法的主要理论依据是情感和认知相互作用和认识的直观原理,通过在教学过程中引起学生积极的、健康的情感体验,直接提高学生对学习的积极性,使学习活动成为学生主动进行的、快乐的事情[6]。在教学过程中,教师有目的地引入或创设具有一定情绪色彩的、以形象为主体的生动具体的场景,以引起学生一定的态度体验,帮助学生理解学习内容,并使学生的心理机能得到发展。

翻转课堂法翻转课堂是指重新调整课堂内外的时间,将学习的决定权从教师转移给学生。教师不再占用课堂的时间来讲授信息,这些信息学生在课后通过观看课程视频、电子书、与他人讨论、查阅参考资料等自主学习活动来掌握。课堂内的宝贵时间,学生能够更专注于主动的基于项目的学习,共同研究解决面临的问题,从而获得更深层次的理解。教师也能有更多的时间与每个学生交流,掌握学生的进度和缺欠,以便更有针对性地对学生指导和辅导[7]。

课程规划

软件工程课程系统地介绍软件开发的过程、方法和工具的基本概念及需求分析、软件设计、编码风格、软件测试的工程化方法,涉及计算机科学、数学、经济学、法学、管理学、心理学等多学科,具有理论深、涉及面广、实践性强的特点。针对这些特点,我们设计了以Workshop&Teamwork为基本组织形式,采取翻转课堂的部分做法,将学习内容分解为课外自学部分和课内学习部分,课前由学生独立或以小组为单位进行知识的自我获取和掌握,课堂上开展任务驱动下的案例/项目的互动分析讨论,经常引入模拟工作场景的情境学习,课后学生在教师的指导下进行总结归纳提高,答疑解惑,并开展综合实验。在课程开始时即规定考核方式,最终成绩由四部分组成:课前自学+练习占20%,课堂学习占30%,综合项目(含开展过程和最终答辩)占20%,期末笔试占30%。前三项均为过程性评价,占最终成绩的70%,体现了对实践环节和参与度的重视。在过程性评价中采取个人自评(20%)、小组互评(20%)和教师评分(60%),含多个评估项目如学习态度、参与积极度、任务完成程度、创新性等,能够较为全面和充分地反映学生的个体能力、合作能力和整体表现情况,激励和督促学生平时积极学习,避免了以往仅考笔试的临时冲刺,或者团队中的平均主义现象,真正达到了学习过程就是学习结果的目的。

小组活动的组织和实施

根据Workshop&Teamwork教学法中对案例及情境的需要,我们对软件工程课程教学计划进行总体规划和任务分解。通过收集整理具有代表性软件工程实例,创建若干对应课程相关章节内容的相应工程教学项目及工作情境,内容包括任务的名称、目的、需要解决的问题、项目需求的背景等相关资料。这些工作资料的收集和准备,是实现小组学习的关键。课堂任务的设计与选取强调以下几点:任务的相对独立性和开放性;任务是某项知识的学习和应用;将各子任务的完成贯穿到教学的各个阶段;每个具体任务既要覆盖一定范围的相关知识的运用,题目又不应过大,应相对独立,便于项目学习的实施。将学生分成小组,每个团队5-7人,选出一名团队负责人,教学活动将以小组形式,在负责人的主持下,在课内外展开和完成。每名学生在团队中有明确分工,不再是一个旁观者,而是分别担任客户、项目经理、系统分析员、程序员、测试员和评审人员角色等不同角色,完成特定任务,在不同的任务中,实行角色轮换,保证每个成员对所有角色有所体验。小组学习的基本流程是:呈现任务分析任务完成任务总结评价,四个步骤所包含的具体环节如下:呈现任务:创设情节、引起注意、提出任务;分析任务:针对问题、明确思路、提示重点;完成任务:自主探索、领会意图、解决任务;总结评价:检查结果、发现不足、总结经验。在课堂上,教师提出一个待解决的案例问题,每个团队独立提出问题解决方案,各团队对多种解决途径进行讨论,改进不足。在课外,每个团队自由选择或由教师给出一个要开发的实际项目作为案例。团队成员分别扮演各种角色分工,讨论问题解决方案。以案例为核心,围绕需解决的问题展开讨论及工作。小组中的每个人都应当畅所欲言,充分交流,团队负责人负责活动的开展,人员的组织和激励,要求每个成员认真努力,主动参与,及时纠正和避免“南郭先生”现象。教师对学员的实际表现进行考察、点评以便有针对性地提供咨询意见。

案例项目的开展

近年来,软件工程学科发生了巨大变化,从传统的结构化技术到面向对象技术,继而发展到基于构件和面向服务的技术;出现了平台网络化、方法对象化、系统构件化、开发工程化、过程规范化、生产规模化的态势;软件开发过程、工具和方法等方面有了重要的发展。为了及时反映技术和理论的进展,在案例和项目的来源方面,我们改变了以往主要由教师设计的做法,通过学院与广州、深圳、佛山等多家技术企业和技术机构的校企合作机制,从企业引入了大量的实际产品和项目,根据课程内容和进度,分解和改变成多个小案例和小、中、大型实训项目。为顺应移动互联网发展潮流,我们精选了移动互联网和游戏开发技术中的软件工程实践案例,在课程中介绍这些项目的设计和开发经验,鼓励学生探索;精准医疗是目前医疗发展的新方向,精准软件的设计和开发与云计算、大数据分析等新兴技术密切相关,我们就把纷繁的资源整理成较为系统的格式,提供给学生课外学习,从而使得课程内容紧紧贴合蓬勃发展的医疗应用实际。这些做法不仅解决了案例项目来源单一、数量不足的问题,而且避免了闭门造车,使得学生能够接触到一手的软件产品的分析、设计中的问题,具有很强的实用价值和岗位情境价值,激发了学生的探索欲和表现欲。软件工程中的案例为小例子,较容易为学生接受和理解,能够在15分钟左右的时段内获得结果,不仅在流程上相对完整,而且在课时上便于掌控。项目则更加复杂,综合性更强,往往在学习完软件工程的一个独立阶段之后提出,检验学生综合运用原理和方法的能力,涉及的时间段也比较长,教师在课堂出提出项目要求,学生开展分析,获得初步的需求规格说明,而项目的设计、分工实现和测试、维护等主要放在课外展开,以获得充分的时间保证。在课程结束时,学生课内外产生的设计和分析成果就构成一个完整的项目工程,利于总结、比较和提高。随着软件工程的案例项目数量不断增加,内容不断丰富,为了便于管理、检索和更新,目前已经建立了教学案例项目库,包括课堂案例50多个,各类实践项目30多个,使得课堂内容和训练内容得到大大充实,训练素材和学习过程的质量也明显提高。

真实情境的教学运用

在软件工程课堂上,我们组织学生以小组(Teamwork)形式讨论案例和项目中的疑难,提出案例和项目的解决之道并加以迭代修正,获得最终解决方案,组织软件开发和实施过程,就是对软件工程岗位的情境模拟,在其中引入了讨论情境、辩论情境、商议情境、多种媒体表现情境等,给学生以耳目一新的感受,活跃的课堂气氛,竞争与合作并存,使得学生全力投入,有效地促进学生思维的活动。例如,在开展学校医药费管理系统项目的需求分析时,教师提出问题:哪些干系人参与该项目的需求获取?学生小组经过讨论,给出了各自的结果。大多数小组认为,编程人员应当作为干系人参加需求分析活动,只有编写程序的人才知道某些功能是否能够实现。而实际情况则是,技术团队在前面的可行性分析中就已经证实了技术可行性,不必重复可行性分析。经过比较讨论,同学们强化了需求分析重要性的意识。又如,在软件测试环节,很多学生认为单元测试是编程者个人的事情,无需其他技术人员测试。为了验证同学们的想法,我们设置了如下情境:编写一个方法A,输入任意日期,输出该日期所对应的星期几,然后分别由编写团队和其他团队来测试代码有无bug;在学生已经完成的学校医药费管理系统版本中随机选出了几个模块(编号为B1-B4),分别由编写团队和其他团队来进行测试。经过20分钟的测试,所获得结果如下表。虽然以上只是小样本实验结果,但学生已经在情境学习中深刻认识到了单元测试中其他技术人员介入的必要性,同时还验证了一个测试原理:检出错误的代码段比其他代码段更容易发现新的错误。学生对相关内容有了更深的领悟。≤≥

翻转课堂向课外延伸

软件工程教学要想充分利用课内时间,使得学生在有限的学时中消化案例,理解项目,很有必要借用翻转课堂的课前自学普及型知识、课上讨论关键性要点、课后自我训练升华提高的策略。

课前布置任务:教师铺路学生自学要实现学生的课前自学,前提是教师充分重视课前准备工作。教师首先根据课程总体教学目标划分一系列的单元子目标,再根据子目标细化成具体任务。具体任务要适应学习者的水平,符合其课外自主学习的特点,任务难度适中,学生能够独立完成,或以小组形式自学完成。教师根据细化的任务和学习者的实际情况,制作相应的学习资料,以满足学习者的基础知识储备。例如,在总体设计环节,我们将学习内容分解为5个小单元,包括软件总体设计的概念和目标、软件体系结构与风格、总体设计的原则、总体设计的方法和工具、总体设计的应用,每个小单元里包括PPT、案例、思考题、阅读链接。学生在完成了这5个小单元的自学后,初步掌握了总体设计的基原理方法,未能解决的疑问将作为上课时集中讨论的主题。

课堂教学活动:解决疑难重点问题教师在课堂上组织学生进行任务完成情况的汇报、测评以及后续任务的布置等教学活动。通过组内交流和组间答疑,尽量使更多的问题由学生自行解决。例如,在总体设计学习中,A小组提出,设计软件时没有必要先确定体系结构风格,应当顺其自然。B小组发表了反对的意见,认为很多项目开发符合特定类型,事先设计好体系风格,有助于采用成熟的方案进行设计,少走弯路。通过讨论大家认识到:复杂系统采用面向对象方式设计比传统结构能够更准备地表示数据之间的关系,提高重用性和可维护性;过滤器类型的软件不必考虑交互性,可以采用管道风格设计;如果业务处理以数据为中心,则可以采用仓库体系结构,等等。教师对学生课堂表现进行考评,综合前期任务的实施情况,制定后续任务。

课后自我训练:巩固归纳升华提高教师根据本堂课的学习目标和知识要点,设计课后小练习,交给学生个人独立完成,设计课后综合性练习,交给学生以小组形式独立完成。学生可以将自己的练习结果和思路到网络群组中共享,分享经验,共享发现的新工具、新技术,互相帮助攻克困难。需要教师及时关注跟进,了解学生的练习情况,并及时进行辅导、提示和解答,从而保证学生在课后能够及时进行巩固练习,复习归纳。另一方面,学生中涌现的新点子、新材料,产出的优秀作品,教师可以及时收入素材库,作为今后教学的辅助材料。

3结语

近几年来,我们不断摸索尝试以小组为单位的任务驱动下的案例/项目教学新模式,在合适的环节开展情境教学,吸收翻转课堂的优点做法,以实际案例和项目为主题,以实现任务为模块学习目标,学生课外自学、开展小组活动、探索解决问题的方案、团队合作与竞争等,完全改变了传统的以教师为主体的讲授方式,使抽象的概念和工程原理经过学生的主动学习和实践而变得实际起来,取得了很好的教学效果,主要表现在:充分调动了学生的主动性和积极性,课程由原来干瘪无味变得鲜活生动,学生们戏称“软工课堂热,发言抢答忙”,学习观念得以改变,学生的自学能力、查阅文献的能力、分析软件系统和设计系统的能力、编程和测试的实战能力都得到了较大提高。学生通过大量案例和项目的实践学习,感受到了软件工程课程的指导意义和实用价值,提高了运用软件工程先进思想和方法设计开发软件项目的信心和愿望。对于教师来说,开发具有新技术、新思想的教学案例,才可能教好学生,因此,新的教学模式既给予了教师适度的压力,又提高了教师学习运用软件工程思想方法和技术的动力。运用新教学模式时我们也看到了存在的一些问题:随着软件工程技术和思想的发展,学习内容越来越庞大,如何在保留经典和引入新潮之间做好平衡,如何有效地过滤相对过时的内容,尚未有一个明确的原则和解决思路;软件类部分课程具有一定的重叠性,相关的课程是否可以合并,减少重复环节?我们将不断学习,不断实践,改进和完善软件工程教学模式,切实培养学生的思考能力、动手能力,为社会培养更多合格的软件工程人才。

参考文献:

[1]全面解析我国2015年IT行业发展与就业前景。

[2]毛燕琴。软件工程专业案例启发式教学实践框架研究[J].计算机教育,2015(7):22-24.

[3]吴建斌,陈中育,叶荣华,等。软件工程类课程教学模式改革探索[J].中国信息技术教育,2013(5):119-121.

[4]熊祥光。项目驱动的校企合作及做中学教改实践[J].计算机教育,2015(14):49-51.

[5]王文发,武忠远,许淳。地方高校软件工程专业校企合作实践教学的探索与实践——以延安大学为例[J].高等理科教育,2016(12):114-119.

软件工程课程总结【第三篇】

关键词: 软件工程课程教学 问题 对策

一、引言

软件工程是建立在计算机科学基础上、指导计算机软件开发和维护的工程学科。本课程已成为计算机及信息学科相关专业最重要的专业基础课之一,在计算机科学专业和软件工程专业的人才培养上发挥着非常重要的作用。

软件工程是一门研究研究软件开发与维护的普遍原理和技术的工程学科,其研究的范围非常广泛,包括技术方法、工具和管理的等多个方面,软件项目的过程、组织和管理涉及面广,理论性、技术性、工程性都很强。软件工程自身的抽象性与应用性都很强,在目前教与学的双向过程中存在不少问题,致使教学效果很不理想。如何提高“软件工程”的教学水平和学生的学习效果,是国内外学者广泛探讨的话题。我从软件工程教学中存在的问题出发,在更新教学内容、激发学生的学习兴趣、改进教学方法与手段、加强实践环节、改革考试方式等方面提出了一些具体的建议。

二、目前教学中存在的问题

1.教学内容陈旧。

近年来,软件工程中的WEB应用开发技术、软件重用技术、原型开发方法、软件构件、集成化CASE工具与环境等领域取得了显著的进展,而国内各高校使用的教材,因编写时间的限制,在先进技术的跟进、知识结构、内容取材及实践环节等方面或多或少存在缺陷,有的甚至还停留在对面向过程的结构化方法上,却忽略了目前更适用更流行的面向对象方法,有的教材连项目组织、软件成熟度、软件构架、项目风险等十分重要的内容都未给予足够的论述。同时,软件工程作为一门正在飞速发展的学科,目前大部分教材难以及时、全面、准确地反映当前一些新方法新技术和新工具。

2.教学方法不当。

目前有些高校仍然把软件工程列为纯理论课程,教学的工具就是一张嘴、一支粉笔和几乎是教课书内容翻版的教学课件,使得学生往往是被动地接受知识,非常地枯燥乏味,很难激发学习兴趣。另外软件工程课程的教学内容是针对较大规模的软件项目开发而设计的,十分庞杂,涉及面非常广,很多知识建立在实践经验基础之上,这种“填鸭式”的教学方法,对于尚未踏入社会、没有项目经验的学生而言,很难理解该课程的精髓,很容易对该课程产生虚无缥缈的感觉,使整个教学过程流于形式,该课程变成需要死记硬背的课程,学生在学习完课程后将一无所获。

3.学生学习中存在的问题。

在传统的教学过程中,软件工程往往是一门独立的理论性课,学生对软件工程的抽象理论容易感到枯燥乏味。这门课不涉及具体软件项目,不怎么涉及软件算法,没什么逻辑推理,不像程序设计课程那样能带给学生智力上的,激发学生的学习兴趣和热情。不少学生认为软件工程就是一些条条框框,由于缺乏实践经验,缺乏合作开发软件的感性体会,他们在学习过程中难以理解软件工程的精髓,很难在头脑中将软件工程的抽象理论和实际联系起来,因此较难对这门课程产生学习兴趣。

4.教学实践环节薄弱。

软件工程的理论并不是空洞的理论,它的许多理论及规范均来自于实际需要和前人的经验总结,它的目标是实实在在地做出一个满足用户要求的系统出来,这是一个很具体的实践过程。通过学习,学生应该具备从事工程实践的技能,包括软件项目的系统分析、编写文档、源码设计与控制、使用工具等基本技能。因此,教师需要将基本概念、原理和实现技术与具体的软件项目相结合,以实例增进学生理解,以实践锻炼学生的工程能力。然而,在当前的教学中,普遍存在理论教学与具体实践脱节的现象,有时甚至缺乏进行教学实践的场所与环境,这样势必造成学生无法真正理解软件工程的精髓,更难以做到学以致用。

三、软件工程教学改革建议

以上分析了当前软件工程课程在教学中存在的一些问题。随着教学改革的不断深入,软件工程的教学改革在迫在眉睫。下面我就软件工程课程的教学改革谈一些建议。

1.更新教学内容。

在教学实践中,应该结合软件工程的发展和国内外软件企业的人才需求现状,不断更新教学内容,更要注重一些新方法新技术的讲授。例如,关于软件工程方法学,重点讲授面向对象方法学,略讲传统的结构化方法,注重面向对象方法在内的一些新方法新技术,让学生尽快熟悉和掌握软件重用、快速原型、集成化CASE环境等,同时要保持教学内容对先进技术的跟进,介绍一些目前已经推出或比较成熟的新方法,如:基于组件的方法、面向Agent方法、敏捷软件方法等。而对一些没有长久生命力的,并且在今后的项目实践中又很少用到的知识,尽量少讲,这样既有助于开拓学生的视野和培养创新意识与开发能力,又能使他们步入工作岗位的时候而不落伍。

2.提高学生的学习兴趣。

“兴趣是最好的老师”,是学生求知欲的源泉,是思维发展的动力。教师应从教材实际出发,讲究教学方法,激发出学生对本课程的学习兴趣,这对于教学效果的保障具有重要的意义。“软件工程”包含了较多的理论内容,且大多数学生都是第一次接触,是一门理论联系实际的综合性很强的课程。所以教师应通过多媒体动画等教学手段生动地剖析基本概念和基本原理,并以基本概念和基本原理贯穿软件工程知识体系的方式组织教学内容,让学生深入理解基本概念和基本原理背后的深刻内涵,并让学生系统地掌握各知识点之间的逻辑关系。要鼓励学生主动地提出问题、分析问题、解决问题,激发学生的主动学习兴趣。

课堂讨论也是一个提高学生学习兴趣的有效途径。教师在每堂课讲完之后应该给学生留出5分钟时间,要求学生通过讨论对所学知识进行总结归纳,然后进行评价。评价方式可以是学生相互交换自己总结的内容并进行讨论,最后由教师补充、纠正和提炼知识点。这种方法不仅能提高学生总结归纳能力,而且能激发出学生的学习兴趣,使学生主动地参与到教学当中。

3.加强实践和工程训练,提高学生的实践能力。

软件工程是一门实践性很强的课程,实践环节能使学生对整门课程中的方法、技术、工具等有亲身的体验和系统理论知识的梳理,对整个教学质量的检验具有举足轻重的作用。抓好实践环节,对培养新型的合格的软件人才具有十分重要的意义。因此在努力提高课程教学质量的同时,还应该加强实践环节的管理。

软件工程的实践以课程设计为主,教师可根据学生的能力,设计一套完整的课程设计方案。课程设计的目标是通过在课程实践的一系列环节中,如需求分析、设计、编码和测试,让学生提高其综合运用软件工程的方法、技术、工具、过程进行软件开发和软件项目管理的能力,并培养其团队协作的精神。

课程设计要求完成的项目必须具有一定的规模和复杂性,教师可将学生划分为6―8人的项目小组,项目组成员相互合作共同来完成一个项目。各项目小组应严格按软件工程各阶段的要求来完成该项目,在项目开发的各关键阶段(可行性研究、需求分析、总体设计、详细设计、测试和项目开发总结),各小组都要进行报告,由老师和其他小组现场提问,最后教师给出点评,这种阶段评审有利于各小组开发进度和质量的保障。

在课程设计结束时,每个项目组应提交软件产品和规范的软件开发文档(项目开发计划、需求说明书、总体设计说明书、详细设计说明书、测试分析报告和项目开发总结报告等)。课程设计完成后必须进行现场答辩,在答辩过程中,不仅对学生进行评分,而且指出学生的不足,提出改进的意见和建议。通过现场答辩的方式可以让学生进一步明确今后需要改进的方向,使自身在分析问题、解决问题、交流沟通、团队协作、谈判沟通、适应发展等方面的能力获得较大的提高。

4.教学方式与教学手段的改革。

软件工程的原理、方法、技术若不与实际项目结合,学生往往难以有深刻的体会。因此,为增强授课效果,提高学生学习的积极性,课堂讲授应引入项目式教学法。教师可设计一个完整的、规模适中、难易适度的软件项目,在讲授软件工程基本知识点时结合该项目进行重点讲解,即以该项目作为贯穿整个软件工程授课的主线。

为了提高课程教学质量,激发学生的学习兴趣,不仅可以采用多媒体教学方式,而且可以建立软件工程课程的教学网站。软件工程课程网站中不仅有该课程的介绍,而且有大量的教学资源(多媒体课件、实验指导、自测题、试卷库、常用软件工程新技术介绍、新工具介绍和演示、有价值的参考书籍和网址等),学生还可在网站上提出自己在学习过程中遇到问题或者对本课程的教学好的建议,教师或其他学生则可进行回答或共同探讨,为广大师生学习、交流、提高提供很好的途径。

5.考核方式的改革

很多高校软件工程课程传统的考核方式以期末书面理论考试为主,但软件工程是一门实践性非常强的课程,原有的考核方式使学生不注重实践能力的提高,倾向于被动地接受理论知识,学习缺乏兴趣和主动性,只是在考试前突击复习来应付考试。理论考试成绩不是重点,主要是看学生能否在软件开发过程中贯彻软件工程学的思想和方法。因此,要加大实践考核的比重,如课堂出勤占10%;课堂表现占10%,为力避学生考前突击现象,本课程在平时课堂教学中采取课堂提问方式或者进行一些基础理论的测验,帮助学生循序渐进地巩固基础知识点;课程设计占40%;期末考试占40%。采用以上考评方法,学生们将非常重视课堂上的发言,以及知识的运用和创新,主动学习的积极性将会大大地提高。

总而言之,要改进软件工程的课程教学,除了要遵循教育学的普遍规律、合理安排好课程内容外,还要培养学生的学习兴趣,重视理论与实践的结合。

参考文献:

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

[2]曹薇。高职院校软件工程课程改革探析[J].高教论坛,2008,(02).

[3]陈丽萍,张芳。软件工程教学方法探讨[J].教学园地,

软件工程课程总结【第四篇】

关键词:网络教学;软件工程;实验教学

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)09-2194-03

1 概述

软件工程是研究计算机软件开发与软件管理的工程学科,是一门理论性和实践性都很强的综合性课程。软件工程本身涉及到的知识内容很广,是将面向对象技术、程序开发方法和数据库原理等课程综合的过程。通过软件工程的学习,目的是培养学生独立分析和解决问题的能力,增强学生实践和动手能力,并熟练地掌握计算机软件的各种开发工具。

目前的软件工程课程,比较注重课堂教学,实验教学学时少,任务重,包含的内容多,如果学生之前没有花时间预习和准备实验,没有对整个实验过程作系统规划,会导致上实验课时无从下手,影响学生的学习积极性和学习效果,因此科学地规划软件工程实验课程并对实验课程进行教学改革是非常有必要的。该文提出了采用网络教学平台作为软件工程实验课程的辅助手段,对软件工程实践课程的教学改革进行了探索。利用网络学习的方法,能够在更大程度上调动学生的学习主动性和积极性,增强学习效果,更好地实现教学目标

2 实验课程网站建设

近年来随着网络技术的不断发展,网络教学模式越来越显示出其优越性。教学网站具有教学资源丰富、学习自由的特点,网络教学的模式也有利于学生自主学习能力和创新精神的培养。建立软件工程实验课程网站的主要目的,是让学生对所要进行的软件工程实验有整体的认识和了解,明确实验任务、实验要求和实验方法,对整个实验过程有合理的规划。根据软件工程开发的整个过程和技术要求,设置实验课程网站,主要包括以下几个模块:

课程资源

课程资源是涵盖理论课和实验课的各种相关资源信息,主要包括课程介绍、教学大纲、实验大纲以及课程相关资料等。这个模块为学生课下自主学习提供了非常有针对性的资源, 对课堂教学是一个很好的补充。

理论教学资源

课程介绍:是对课程的主要内容、课程的特点、课程学习的目的和任务等多方面作一个总括性的简介方便学生对课程有一个总体的把握与了解。

教学大纲:主要包括课程教学的内容与要求,对每章节的知识点、重点和难点进行说明, 阐述具体的教学安排和课时分配, 便于学生按照大纲的指导进行学习。

教学日历:用来描述课程的进度安排。学生可以通过查看教学日历, 事先预习教学内容,使得课堂学习更有目的性和针对性,提高了教学效率。

授课教案和课件:这是学生自主学习最重要的部分,包括各章节的文字教案和多媒体教学课件。如果学生课堂上没有完全理解授课内容的,可以带着问题在课下继续进行自主学习,能调动学生的自主学习的积极性,提高教学效果。

预备知识:列出学生已经学习过的与软件工程设计有关的课程目录,如程序语言、数据库、操作系统等,引导学生复习一些在软件工程中需要涉及到的相关知识。

实验教学资源

实验大纲:根据课程实验的要求组织实验项目,编写实验大纲,主要包括各个实验的实验目的、实验原理、实验内容和实验环境等。注意实验项目内容应从简单到复杂对学生进行引导, 给学生留下充足的学习思考空间,引导学生自主学习的方式和解决问题的方法,

课程设计要求:主要包括分组情况、任务分配、任务书的规范说明、提交方式、打印格式和成绩核定方法。

此外,还可以给出实验计划表和课程设计计划表等实验详细信息,使学生能合理规划好整个实验环节所要完成的任务。

项目任务

该模块主要包括项目实例,方便学生学习和了解;建立项目题库,学生可以选择项目,完成实验任务。

项目实例

教师根据学生的知识结构和实际情况,虚拟设计一两个小型系统,作为项目实例,如停车场管理系统、借还书管理系统等。贯穿软件生命周期整个过程,从问题定义、可行性分析、需求分析、总体设计、详细设计到调试分析和软件测试,给出项目的全过程设计。

学生通过实例学习,对软件工程开发项目有全面的认识和了解,知道软件生命周期的各个过程应该做些什么,如何进行可行性研究,需求分析的任务是什么,采用什么分析工具,怎样能全面周到的做好总体设计规划,详细设计阶段的设计说明书的作用是什么,系统模块如何划分,程序实现的方法有哪些,怎么设计软件测试方案以及软件维护说明书。

项目题库

教师可为学生准备一些软件项目, 如停车场管理系统,在线考试系统,图书管理系统,学生信息系统,银行卡管理系统,教材定购系统,工资管理系统,设备管理系统等,建立项目题库,每个项目配备相应的项目任务书,以便学生选择项目,下载相关的项目任务书,完成项目计划。

项目题库中的项目,要不断更新。项目的来源可以根据企业的需求、也可以是教师自己的科研项目,要对各个项目进行共同讨论,决定项目的可行性,并根据教学要求和课程特点,对实际项目进行剪切或划分成子项目,使其具有可操作性和实践性,便于学生操作和实训。

软件工具

该模块是配置相应的软件工程实验软件,主要提供建模工具和编程软件的下载,便于学生完成项目的分析过程,实现系统功能。

建模工具

对几种UML统一建模工具进行简单介绍,并提供软件下载,安装方法和使用教程。学生可以采用不同的分析工具,建立系统的分析模型,并做好需求分析和系统设计。

主要的建模工具有Microsoft Office Visio、Rational Rose和PowerDesigner三种。Microsoft Office Visio中引进了软件分析设计功能到代码生成的全部功能,可以更轻松地将流程、系统和复杂信息可视化、可以创建多种类的图表。Rational Rose主要是对开发过程中的各种语义、模块、对象以及流程、状态等进行比较好的描述,能从各个方面和角度来分析和设计,对系统的代码框架生成有很好的支持。PowerDesigner是一种数据库建模工具,允许使用一种结构化的方法有效地创建数据库或数据仓库,它还提供了直观的符号表示,使数据库的创建更加容易,并使项目组内的交流和通讯标准化。

编程工具

给出几种软件开发工具,如结构化编程语言或面向对象的编程软件(C、C++、JAVA、DELPHI),以及SQL、Powerbuilder等开发工具,并提供软件下载和安装方法,供学生选择编程软件,编写程序,并测试软件。

文档资料

该模块主要列出整个项目所要提交的各类文档资料。此外,还应该提供统一格式的实验报告和课程设计任务书范本,便于学生下载,并按要求填写内容。

项目文档:主要包括有可行性分析报告,需求规格说明书,项目计划书,总体设计报告,详细设计说明书,软件系统的程序代码,软件测试报告以及用户使用手册等。

规格说明:可以给出一些规格说明的样例和标准,学生可以使用非形式化、半形式化和形式化等方法描述需求分析规格说明,详细设计规格说明,并给出系统各部分的设计规格说明书。鼓励学生学习和使用形式化的方法描述规格说明,例如:有穷状态机、Petri网以及Z语言等,这样可以用数学方法研究和验证规格说明是否正确,并消除二义性。

成绩评价

该模块主要给出实验教学各阶段的成绩考核方式及评定标准。课程实验中,上机操作占课程实验成绩的50%(含平时上机操作和考勤),课程实验需要提交的文档和报告占50%。课程设计因为是分小组进行,成绩评定可以分成个人成绩和小组成绩两部分,个人成绩主要根据个人在小组中所分工作多少和完成工作情况来确定,小组成绩则由各个小组阶段成绩和系统最终验收的情况来确定(如系统是否达到需求规格说明中的功能性、提交的文档是否全面和规范, 源程序编写是否规范、可维护性等)。

每个项目组都应该进行汇报,展示自己的成果,由教师和其他同学组成评审团, 对每个项目组的汇报进行评审和打分, 提出修改意见和建议。汇报结束后, ,教师要进行总结点评, 并写出评语。既要评价项目成果,也评价学生的表现,帮助学生整理学习内容, 鼓励学生的积极性。

3 网络辅助教学

建立软件工程实验课程网络教学平台后,如何让学生充分利用平台资源进行网络学习,也是必不可少的关键部分。整个教学实践过程可在教师引导下, 学生自主管理, 分工协作, 这样既锻炼了学生参与项目管理的能力, 又训练了学生之间的团队合作精神。有了网络学习平台,在理论课程学习的同时,学生可以分三个阶段完成软件工程实验课程:

1)网络学习:该阶段主要学习课程资源,同时,学生进行选题,分小组和分派任务,进行项目的可行性研究和项目的需求分析。

2)课程实验:该阶段主要是让学生学习建模工具,通过使用建模工具,完成项目的分析过程,并进行系统的详细设计,划分系统的各组成模块,给出系统的各部分设计规格说明书。

3)课程设计:该阶段主要是根据项目的需求规格说明书和系统设计文档,采用合适的程序设计软件完成对整个系统的代码编写,遵循代码的开发规范。设计测试用例,对系统进行测试,并提交相关文档。

成绩评价部分由教师来完成,每个阶段都要进行阶段性评价,并根据项目的最终完成情况给出整体评价。要着力培养学生软件工程开发工具的应用能力, 要求学生按规定提交项目要求的各种文档,形成较为科学的综合成绩评定方法。

4 结束语

软件工程实验课程的教学改革是软件工程课程改革的一个重要部分,教学方法和实验环境是软件工程实验课程改革得以实现的重要保障。利用网络教学平台辅助软件工程的实验教学, 可以实现资源共享,使得学生对整个实验教学有全面的认识和了解,有利于调动学生的学习兴趣和主动性,提升学生分析问题能力和实际解决问题的能力,对增强学生的项目管理能力和开发能力,起到很好的作用。

参考文献:

[1] 张海藩。软件工程(第3版)[M].北京:人民邮电出版社,2010.

35 873778
");