软件工程课程总结精彩4篇
【导言】此例“软件工程课程总结精彩4篇”的文档资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
软件工程课程总结【第一篇】
关键词:网络教学;软件工程;实验教学
中图分类号: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.
软件工程课程总结【第二篇】
课程建设符合财经院校人才培养定位,符合学科建设发展方向,符合财经院校课程建设总体原则,即课程建设要规范化、科学化、现代化的要求。从课程建设的指导思想、实施原则、建设目标及任务、课程体系、建设内容及措施等方面,动态定制财经类院校的课程体系。
1、既要突出财经类院校的特色,也要有软件工程本身的专业特色。
2、深入细致地探讨专业发展趋势,明确从事本专业技术工作必备的专业知识和专业技能,实时反映到课程体系和教学过程中。
3、人才培养应立足于地方需求,跟踪地方市场需求的变化,确定软件人才的知识结构和能力结构,制定与之相适应的课程体系。
4、项目驱动课程体系,以经济、管理项目的开发为主线,围绕项目开发的所需的理论和实用技术知识,结合流行的开发工具和手段,进行课程的设置。
5、“内外“结合教育机制。要以校内教师为主,结合校外相关企业的IT工程师,教师走到企业交流学习,同时聘请校外IT工程师来校做专业讲座、培训等。
二、基于财经院校的软件工程专业特色定位探讨
软件工程专业的特色,首先不能脱离软件工程本身,而作为财经类院校的软件工程专业,更要体现出自己独到的东西出来。现今的财经院校是以经济、管理为主体,其他专业兼顾的向综合性大学发展的院校。软件工程专业的办学必须与优势学科进行结合、相互渗透、互通资源,才能培养出有自己特色的复合型人才。以贵州财经学院为例,其办学定位是“建设西部高水平的财经大学”,服务指向是“立足贵州,关注贫困,富民兴黔”,人才培养目标是“儒魂商才”,即具有深切的人文关怀、强烈的责任意识、健全的人格心智、高深的道德情操、扎实的理论功底、较强的实践能力并富有创新精神的高层次复合型经济管理人才。软件工程专业也要从经济管理方面入手来探索其专业特色。[1]
1、管理型软件工程专业特色
管理类学科是贵州财经学院的一个学科优势,软件工程与管理学是密不可分的,整个软件的开发周期离不开管理活动。财经类院校的软件工程专业的学生可以通过全校性的管理类公选课以及论坛、讲座,吸吮到更多的管理类的知识,并且学校有不同类型的管理类实验模型和平台供他们使用,这是其他类院校无法比拟的。
2、经济型软件工程专业特色
经济类学科也是贵州财经学院的一个优势学科,现今各行各业的信息化都离不开经济与管理。信息化的目的就是要增强组织的竞争优势,增强竞争优势的目的就是要有更好、更高的经济效益。软件工程专业应该利用本校的经济大环境,让我们的学生学习到更多的经济类的知识,有利于他们更多的往如经济评价系统、经济分析系统等经济型系统方向走。大家都知道,隔行如隔山,让那些不懂经济的人从事这方面的系统开发,那所做出来的软件功能性是有了,但适用性就难说了。
3、经济管理结合型的专业特色
财经类院校的软件工程专业特色还应结合自身的经济、管理优势,把上面两个专业特色融会贯通形成一个复合型的经济管理结合型的专业特色。
三、总结
软件工程课程总结【第三篇】
关键词: 软件工程课程教学 问题 对策
一、引言
软件工程是建立在计算机科学基础上、指导计算机软件开发和维护的工程学科。本课程已成为计算机及信息学科相关专业最重要的专业基础课之一,在计算机科学专业和软件工程专业的人才培养上发挥着非常重要的作用。
软件工程是一门研究研究软件开发与维护的普遍原理和技术的工程学科,其研究的范围非常广泛,包括技术方法、工具和管理的等多个方面,软件项目的过程、组织和管理涉及面广,理论性、技术性、工程性都很强。软件工程自身的抽象性与应用性都很强,在目前教与学的双向过程中存在不少问题,致使教学效果很不理想。如何提高“软件工程”的教学水平和学生的学习效果,是国内外学者广泛探讨的话题。我从软件工程教学中存在的问题出发,在更新教学内容、激发学生的学习兴趣、改进教学方法与手段、加强实践环节、改革考试方式等方面提出了一些具体的建议。
二、目前教学中存在的问题
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].教学园地,
软件工程课程总结【第四篇】
(浙江工业大学 计算机科学与技术学院,浙江 杭州)
摘 要:分析国内高校在软件工程课程设置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。
关键词 :产出导向;软件工程;课程改革
1 背 景
作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多[1]。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性[2]和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。
2 课程现状
目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。
例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。
通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。
3 面临问题分析
工程专业毕业要求对课程的影响
工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。
与软件工程课程相关的专业技术资格考试分析
工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。
从表1分析内容可见,软件工程基础考试内容与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。
SWEBOK V3和课程对应关系分析
软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body of knowledge)、计算机教程软件工程卷(computing curriculum-software engineering, CCSE)及其中的软件工程教育知识体(soft engineering education knowledge,SEEK)而建立起来的[3-4]。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。
4 基于产出导向的软件工程课程改革与建设
课程教学目标修订
基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。
教学内容和教学方法改进
根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。
每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Internet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。
考核方式与持续改进并行
课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。
5 结 语
笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。
第一作者简介:江颉,女,副教授,研究方向为服务计算和信息安全,jj@。
浙江省计算机应用与教育学会教育委员会第十八届年会
参考文献:
[1] 廖礼萍, 刘宏哲, 马小军, 等。 面向应用型人才培养的软件工程课程教学改革[J]. 计算机教育, 2014(14): 19-21.
[2] 方峥。“华盛顿协议”签约成员工程教育认证制度之比较[J].高教发展与评估, 2014(4): 66-76.
[3] 沈备军。 解读软件工程知识体系SWEBOK V3[J].计算机教育, 2014(7): 1-2.
上一篇:软件工程课程总结【汇集4篇】
下一篇:软件工程课程总结精编3篇