软件工程课程设计总结(精选5篇)

  • 软件工程课程设计总结(精选5篇)已关闭评论
  • A+
所属分类:文学
摘要

1引言 自20世纪40年代第一台数字电子计算机问世,人们对于计算机的应用就以惊人的速度发展起来。以信息技术为核心的高新技术发展极大改变了我们的生产、生活以及经济、政治关系。计算机软件在我们日常生活的各个方面正扮演着一个核心角色,它涉及政府、银行和…

软件工程课程设计总结(精选5篇)

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

关键词:SEEK;软件体系结构;设计模式;教学模式

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

1引言

自20世纪40年代第一台数字电子计算机问世,人们对于计算机的应用就以惊人的速度发展起来。以信息技术为核心的高新技术发展极大改变了我们的生产、生活以及经济、政治关系。计算机软件在我们日常生活的各个方面正扮演着一个核心角色,它涉及政府、银行和金融、教育、交通、娱乐、医疗、农业和法律等各个领域。软件产业已成为信息产业的核心和灵魂。国内外高等学校、科研院所纷纷建立起软件工程学科,采取系统、规范的方式培养市场所需的软件工程人才。

软件工程作为一个专业方向,必须通过一套完善的课程体系来实施教学,ACM和IEEE-CS联合工作组织制定的软件工程知识体系SWEBOK(Software Engineering Body of Knowledge)、计算教程软件工程卷CCSE(Computing Curriculum Software Engineering)及其中的软件工程知识体系SEEK(Software Engineering Education Knowledge)都明确给出了相应的课程体系构成。我国于2006年推出了《计算机科学与技术本科专业规范(软件工程方向)》,该专业规范结合我国高等教育的实际情况,详细描述了软件工程教育知识体系、核心课程等内容。“软件体系结构与设计模式”是软件工程方向专业重要的专业核心课程之一,目前还处于专业课程体系建设的起步阶段,要建设高水平、高质量的“软件体系结构与设计模式”课程,还需要进一步深入的研究和探讨。本文在总结SEEK及专业规范对课程的具体要求的基础上,结合南华大学的实际教学情况,对该课程的教学模式提出了一些建议。

2该课程在SEEK和专业规范中的构成

2.1该课程在SEEK中所涉及的知识领域和知识单元

软件工程知识体系SEEK分为三层结构,最高层是教育知识领域(area),它代表了软件工程的子学科,通常被认为是本科生应该掌握的软件工程知识体的重要部分。知识领域是对软件工程知识进行组织、分类和描述的高层结构元素,每个领域使用一个缩写进行标识。每个知识领域又分成许多知识单元(unit),表示一个领域中的独立主题模块。在知识领域标识的后面,添加两到三个字母的后缀标识知识单元。每个知识单元被进一步分成知识点(topic)集合,知识点是层次结构的最底层。表1是SEEK总结的知识领域,列出了知识单元的集合,并推荐了每个知识领域和知识单元所需的最少学时数。表2则列出了SEEK中软件设计知识领域中包含的软件体系结构和设计模式的内容(其他四个知识单元的内容在此省略)。

由表1和表2的内容可知“软件体系结构与设计模式”涉及到SEEK十个知识领域中的软件设计(DES)这一知识域,其中软件体系结构对应于体系结构设计(DES.ar)知识单元,而设计模式则属于详细设计(DES.dd)知识单元的知识点之一。

SEEK中知识域的划分是以本科教学和课程体系建设为目标进行的,尽管SEEK不代表教程,但是SEEK为构成软件工程教程的教学单元提供了设计、实现和交付的基础,在课程建设中需要研究各个知识域之间的关系,并进行合理的权衡和安排。

2.2专业规范中该课程的构成和要求

在教育部制定的《高等学校计算机科学与技术本科专业规范(软件工程方向)》中,软件设计(DES)知识领域所包含的内容有:

软件设计策略(str):其主要内容为面向功能的设计、面向对象的设计、以数据结构为中心的设计、面向主题的设计。

体系结构设计(ar):其主要内容为体系结构风格、多属性间的体系结构折衷、软件体系结构中的硬件问题、特定领域的体系结构和产品线、体系结构的表示。

详细设计(dd):其主要内容为设计方法、设计模式、构件设计、构件和系统接口设计、设计表示。

设计支持工具与评价(ste):其主要内容为设计支持工具、设计属性的度量、设计标准、形式化设计分析。

专业规范中软件设计知识领域的知识构成跟SEEK中大体一致。规范中还对软件设计和体系结构的课程内容、教学目标等做了具体的描述。对软件设计和体系结构知识的学习,旨在使学生能够在各种软件设计中应用多种设计模式、框架和体系结构,使用不同的中间件技术设计并实现软件,能使用合理的变更控制方法更改设计以及使用逆向工程技术重新获得软件设计。课程内容涵盖设计模式、框架和体系结构、当前中间件体系结构综述、用中间件技术设计分布式系统、基于构件的设计、度量理论和设计中的合理性准则、设计质量、设计的评估和演化、软件演化、再工程和逆向工程的基础知识。专业规范结合了我国高等教育的实际情况,对课程的规划和建设具有极大的指导意义。

3该课程目前的教学模式及分析

软件工程专业是南华大学2005年新办的专业,并将迎来第一届毕业生。“软件体系结构与设计模式”已完成了第一轮教学。目前的教学计划将该课程列为专业必修课程,安排在学生第6个学期学习,学分为3分,以考试的形式进行考核,总学时为54课时,其中理论课时占30课时,实验课时占24课时。通过本课程的学习,要求学生对软件体系结构和软件设计模式有一定的认识和理解,掌握软件体系结构的基本概念和主要方法,熟悉在面向对象软件体系结构中常用的23种设计模式,并能够将这些设计模式应用到软件系统设计中。要求先修课程为“面向对象程序设计”、“离散数学”、“软件工程”。

从SEEK和专业规范中可以看到,软件体系结构和设计模式虽然同属于软件设计这一知识域,但是分属不同的知识单元,软件体系结构描述的是软件工程实施中概要设计的部分,是一个抽象层次上的设计,而设计模式则输入详细设计阶段的内容,具体指导了编码。因此,将软件体系结构和设计模式放在一门课程中进行讲授不太合理,事实上在目前的教材中也很少要将二者放在一起的,在第一轮的教学中我们选用的教材是设计模式经典之作――机械工业出版社的《设计模式―可复用面向对象软件的基础》,并以机械工业出版社的《面向模式的软件体系结构 卷1:模式系统》作为辅助教材,因前者仅对设计模式部分进行了介绍,选择后者补充体系结构知识的内容。

实践环节主要针对案例进行分析设计,让学生熟悉使用统一建模工具进行软件设计,我们选用了IBM的Rational Software Development Platform 和 Rational Rose Enterprise Edition,就实验教学的情况看,部分学生对统一建模工具的使用稍显生疏,需要在此之前加强学生对建模工具的运用。

4几点建议

(1) 课程安排:将目前本门课程的内容划分为两门课程,我们已在新的教学计划中对此作出了调整。

(2) 教学内容:设计模式的教学仅仅局限于23种设计模式是不够的,还应该将构件设计、构件和系统的接口设计等知识添加进来,以丰富详细设计阶段涉及的内容。

(3) 教师队伍:开设这门课的教师,最好由参与过面向对象的软件开发过程的人员承担,这样更有利于结合实际案例和经验进行授课。

(4) 前导课:软件工程、离散数学、面向对象的程序设计这几门课程必须讲授到位才会给本门课程的教学打下良好的基础,比如设计模式中,对于模式应用的举例主要源自.NET和JAVA,在面向对象的程序设计基础上,还需要学生对这些语言有一定的了解。

(5) 考核方式:本课程主要介绍各种体系结构风格与适用情况、23种常用设计模式及其应用、构件设计等,目的是要求学生能够在软件开发的实际过程中进行合理的设计应用,对于各种体系结构、设计模式没有必要强行记忆,因此,如果单独出卷进行闭卷考试意义不大,重在学生对知识点的理解,可要求学生根据对某些知识的学习体会、模式的使用情况等写总结报告,最后以所写报告、实验情况以及平时的表现综合给予评定。

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

关键词:软件工程;实验;软件开发;实践

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

文章编号:1672-5913 (2007) 20-0015-03

1软件工程实验教学的意义

软件工程是一门理论与实践并重的基础课程,教学内容紧密围绕软件开发过程中的各种工程化方法、技术和思想。软件工程从工程意义上讲是指软件开发、维护、管理等活动的总体,从学科意义上讲包括软件开发相关的理论、原理、方法、技术[1]。

软件工程课程一般安排在本科三年级开设,此时的学生经过一二年级的学习和实践已经掌握了一定的计算机知识和编程能力,但分析解决复杂软件问题的能力以及工程化软件开发的意识还比较弱。而软件工程课程设计的目标是使学生系统地掌握软件工程及软件管理的过程、方法和工具,为学生将来从事软件的研发和管理奠定基础[2]。软件工程教学内容中的需求分析、设计和软件测试等软件开发技术以及工程化的开发过程(例如软件过程、配置管理、项目管理等)必须通过实际软件问题求解过程以及团队合作进行体验,而综合的软件开发能力更是需要通过一个完整的软件项目开发过程进行锻炼和培养。因此,软件工程课程实验是巩固课堂教学成果、培养学生软件工程实践能力的重要手段。

2总体思路

作为研究工程化软件开发方法和技术的学科,软件工程课程的课程实验主要以课程实践项目的形式进行,从实验目的看主要分为三类:方法性实践、实现性实践、创新性实践。其中,方法性实践是在软件工程课程教学中讲述某种软件开发方法后安排的实践,主要目的是加深对方法的理解。实现性实践的主要目的是让学生参与软件项目的开发全过程,一方面将学得的理论知识运用于实践中,另一方面培养学生的工程能力(包括软件工具的使用)和团队协作精神。而创新性实践的主要目的是培养学生的创新能力,通过在实践项目设计中,有针对性地引入开放性问题和不确定问题,启发学生在探讨中寻找合理的、创造性的解决方案。

2.1三个实验阶段

根据学生的知识和能力基础以及教学目标,软件工程课程实验可以按照由浅入深的顺序分为三部分,即:认知性导入实验、方法性实验和综合实践。而方法性实践、实现性实践、创新性实践三类实践内容又以不同的形式体现在这三个实验阶段中。

认知性导入实验通过一个很小的程序开发案例完成认知性导入,引导学生思考软件工程的基本思想和原则,体会规范化分析、设计、实现、测试的意义和必要性。方法性实验紧贴软件工程教学内容,以结构化分析设计和面向对象分析设计为主要的实验内容。综合实践以面向对象的开发方法和统一软件过程RUP为基础,引导学生完成一个完整的软件项目开发过程,包括需求获取、需求分析、系统设计、实现以及测试等基本步骤,同时强调数据库、网络等开发技术的综合运用以及相关CASE工具的使用,在此基础上还鼓励学生尝试一些新的软件开发方法和技术。

三个课程实验阶段具有各自明确的目的和定位:认知性导入实验完成认知导入,方法性实验帮助学生巩固课堂中所学习到的知识,而综合实践则培养学生综合运用各种软件开发方法和技术的能力。此外,三个阶段的课程实验中还穿插着创新性实践要求,通过各种开放性问题和不确定问题鼓励学生运用自己的思考能力寻找合理的、创造性的解决方案。

2.2课时安排

三个实验阶段中,前两个紧密围绕软件工程课程的教学内容,而综合实践则是对学生工程化软件开发能力的全面训练。因此在课程安排上可以将认知性导入实验和方法性实验穿插在一个学期的软件工程课程中进行,而在后续的软件实践类课程中安排第三个阶段的综合实践性实验内容。

3认知导入、方法性实验和综合实践

3.1认知性导入实验

通过软件工程课程之前的程序设计相关课程的学习和实践,学生已经掌握了一定的问题分析、算法设计、编程和调试能力,但分析解决复杂软件问题的能力以及工程化软件开发的意识还比较弱。认知性导入实验的目标是从软件工程实践的角度完成认知导入,引导学生完成从程序设计到软件开发的第一次跨越。

认知性导入实验通过一个算法小程序(例如日期到星期的转换等)开发案例完成认知性导入,引导学生思考软件工程的基本思想和原则,体会规范化分析、设计、实现、测试的意义和必要性。认知性导入实验一般可以在一学期的第一次软件工程课上布置,要求学生用1-2周时间独立完成一个算法程序的规范化分析、设计、开发和测试过程并提交实验报告,内容包括问题分析、数据结构、算法及界面设计、完整的程序清单、测试过程及结果记录、心得与体会等。

本次实验采用简单的算法程序作为题目,是为了降低学生的认知难度并且通过规范化开发与以前程序设计时的对比加强学生对软件工程基本思想和原则的体验。实验以开发过程的规范性、个人体验和开放问题的思路为主要评价指标,不以算法和程序本身的正确性为主要的评判标准。

本次实验一般安排在一学期第一次软件工程课上布置,与之配套的课堂教学内容是 “软件工程概论”。课堂教学通过对软件工程基本思想和软件开发基本过程的介绍,使学生初步理解软件工程和工程化软件开发的含义,特别强调本次实验与程序设计作业的区别,即强调开发过程的工程性而不是算法和实现本身的正确性。此外,配套教学内容还对系统可用性、可维护性、可扩展性、测试自动化等开放性问题进行了铺垫,希望可以引导学生在完成基本功能之余能够加以思考和探究。

3.2方法性实验

软件工程的课程教学内容覆盖了完整的软件需求分析、设计、实现以及测试过程,对本科学生而言,主要讲述结构化方法和面向对象方法两部分。因此,这部分课程实验与相关教学内容同步进行,分为结构化分析设计和面向对象分析设计两个部分。方法性实验要求学生自由组合,分组完成,每组3人。每个小组从候选项目中选择一个完成结构化分析设计和面向对象分析设计两部分实践内容。本阶段实验可在导入性实验结束后布置。

本阶段实验以结构化及面向对象分析和设计方法以及UML基本表示法的掌握为主要评价指标,同时考查学生理解实际问题需求、解决具体问题的能力。本次实验与教学内容中的“结构化分析与设计”以及“面向对象分析与设计”配套。为了保证本次实验的顺利开展,相应的课堂教学需要着重强调以下内容:明确软件系统分析(做什么)和设计(怎么做)的区别,体会数据流图、系统结构图以及UML各类图的含义;在具体的系统分析和设计中需要综合各种具体要求和约束(例如可复用性、物理分布等)以及各种指导性原则进行系统分析和设计。

3.2.1结构化分析设计部分

这部分实验要求各小组使用结构化分析和设计方法完成实践项目的需求分析和设计过程,并在此基础上撰写实验报告(包括结构化分析和设计文档)。结构化分析阶段要求学生按照结构化分析的基本思想和步骤完成实践项目需求分析过程,将分析结果表示为相应的描述形式(主要包括数据流图、数据字典和加工小说明),并根据相关原则和判定方法保证数据流图的一致性和完整性。结构化设计阶段要求学生在结构化分析结果的基础上运用结构化设计的基本思想和步骤完成实践项目的结构化设计,包括初步的结构图映射以及后续的结构图优化。要求提交的结构化分析文档的内容包括总体需求概述、分层数据流图、数据字典、加工小说明等,结构化设计文档的内容包括总体设计说明、初始结构图、改进的结构图以及各模块说明等。

在完成基本实验要求的基础上,要求学生对一些开放性问题进行思考,并根据自己的理解在实验中加以体现:数据流图中文件的识别;对于数据流图分解程度的把握;对于系统模块物理分布的考虑;模块之间的交互设计,例如通信协议、数据格式等;对于系统可复用性的考虑等。

3.2.2面向对象分析设计部分

这部分实验要求各小组使用面向对象分析和设计方法完成同一个实践项目的需求分析和设计过程,并在此基础上撰写实验报告(包括需求分析和系统设计文档)。面向对象分析阶段要求学生按照面向对象分析的基本思想和步骤完成实践项目需求分析过程,将分析结果表示为相应的描述形式(包括领域模型、用例模型以及用例的详细描述等)。面向对象设计阶段要求学生在面向对象分析结果的基础上完成实践项目的面向对象设计,包括系统体系结构、结构设计、面向对象类设计等。

在完成基本的实验要求上,要求学生对一些开放性问题进行思考,并根据自己的理解在实验中加以体现:层次体系结构等体系结构风格的运用;面向方面(Aspect)、关注点分离的设计思想;系统可维护性和可扩展性的考虑、面向对象设计模式的运用;对于系统边界之外的外部接口的设计考虑等。

3.3综合实践

综合实践一般安排在软件工程课程后进行,此时学生已经学习并掌握了软件工程、程序设计、数据库等方面的基本方法和技术,而且即将走出校门参与软件开发实践。因此,综合性实验突出强调贴近实际软件项目的实践性以及相关软件开发能力的综合运用。实践性实验一般安排在软件工程课程后续的软件开发实践课程中,成绩评定完全根据课程实践情况。

综合实践以面向对象的开发方法和统一软件过程RUP为基础,引导学生完成一个完整的软件项目开发过程,包括需求获取、需求分析、系统设计、实现以及测试等基本步骤,同时强调数据库、网络等开发技术的综合运用以及分析、设计、测试等CASE工具的使用,在此基础上还鼓励学生尝试构件技术、AOP、Web Service等新的软件开发方法和技术。学生自由确定项目团队组成方式,每组设项目经理1名,项目组成员3~5人。每个小组从候选项目中选择一个完成整个开发过程,分需求分析、系统设计和系统实现与测试三个阶段提交文档、代码等实验结果,并提交最终的可运行软件系统进行检查。

与前面几个软件工程实验阶段相比,实践性实验具有以下特点:

1) 完整的软件开发过程。整个实验以一个实际项目的完整开发过程为主线,覆盖了需求获取、需求分析、概要设计、详细设计到实现和测试的整个开发过程。

2) 综合性与真实性。实验中要求完全实现所选择的实践项目,因此学生需要综合运用数据库设计、网络编程等知识,同时相关需求都来自于真实的管理信息系统项目,使学生能够体会到真实的软件开发过程中的一些问题(例如外部交互接口、第三方软件构件等)。

3) 开发过程的规范性。强调每个项目组的开发过程都应该遵从软件过程规范,同时在开发过程中引入基本的项目管理机制。

4) 学生的主体性体现得更见明显。实践项目的开放性更强,学生可以得到更多的自由发挥,例如学生自主参与需求调研确定详细需求、自由决定项目组组成模式和管理方式等。

4软件工程实验教学实践

我们在复旦大学计算机科学与工程系的软件工程相关课程体系建设中对这套三阶段的实验教学方法进行了实践。我们在第六学期安排软件工程课程,而在第七学期安排配套的软件实践课程,这样就使得软件工程实验教学具有很好的延续性和系统性。三个实验阶段中,前两个与软件工程课程配套进行,两个实验阶段作为软件工程课程配套实践占学生总成绩的40%。其中,认知性导入实验持续1~2周,另外安排1个课时进行讲解,方法性实验持续15周左右,另外安排3~4个课时进行讲解。综合实践安排在软件实践课程中进行,持续16周(共48个课时)左右,其中18个课时用于课堂教学、讲解和点评,30个课时用于实践(需求调研、项目讨论等)及上机,成绩评定完全根据课程实践进行。

这种三阶段的软件工程实验教学方法为学生提供了一条从编程序到软件项目开发的渐进式发展之路。通过这种系统的软件工程实践能力训练,学生可以将所学的各种软件开发方法和技术转化为综合的软件开发和管理能力,同时也对软件开发的一些现实困难(例如需求的不确定、测试覆盖度和效率、构件化开发和集成的困难等)有了初步认识,这些都为他们今后参加软件研发和管理打下了良好的基础。目前,复旦大学软件工程课程已经被评为上海市精品课程,在此基础上我们正在进一步推进软件工程课程体系建设。

参考文献

[1] 朱三元, 钱乐秋, 宿为民. 软件工程技术概论[M]. 北京:科学出版社,2002.

[2] 王志英. 实践教学:计算机人才培养的重头戏[J]. 计算机教育,2004,(9).

作者简介

彭鑫(1979-),男,博士,复旦大学计算机科学与工程系讲师,主要研究方向为软件构件技术、软件产品线、软件维护与再工程。

赵文耘(1964-),男,复旦大学计算机科学与工程系教授,博士生导师,主要研究方向为软件工程与电子商务。

钱乐秋(1942-),男,复旦大学计算机科学与工程系教授,博士生导师,主要研究方向为软件工程。

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

(浙江工业大学 计算机科学与技术学院,浙江 杭州)

摘 要:分析国内高校在软件工程课程设置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。

关键词 :产出导向;软件工程;课程改革

1 背 景

作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多[1]。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性[2]和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。

2 课程现状

目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。

例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。

通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。

3 面临问题分析

3.1 工程专业毕业要求对课程的影响

工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。

3.2 与软件工程课程相关的专业技术资格考试分析

工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。

从表1分析内容可见,软件工程基础考试内容与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。

3.3 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 基于产出导向的软件工程课程改革与建设

4.1 课程教学目标修订

基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。

4.2 教学内容和教学方法改进

根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。

每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Internet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。

4.3 考核方式与持续改进并行

课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。

5 结 语

笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。

第一作者简介:江颉,女,副教授,研究方向为服务计算和信息安全,jj@zjut.edu.cn。

浙江省计算机应用与教育学会教育委员会第十八届年会

参考文献:

[1] 廖礼萍, 刘宏哲, 马小军, 等. 面向应用型人才培养的软件工程课程教学改革[J]. 计算机教育, 2014(14): 19-21.

[2] 方峥.“华盛顿协议”签约成员工程教育认证制度之比较[J].高教发展与评估, 2014(4): 66-76.

[3] 沈备军. 解读软件工程知识体系SWEBOK V3[J].计算机教育, 2014(7): 1-2.

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

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

中图分类号:

1、引言

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

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

2、课程特点

1。课程综合性强。

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

2。课程内容不断更新。

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

3。课程的实践性强。

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

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

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

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

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

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

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

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

3。加强实践环节

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

四、结束语

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

参考文献:

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

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

软件工程专业是在计算机科学与技术等学科的基础上发展起来的,因此课程体系的建设不仅需要计算机科学的理论知识,同时也需要把工程经济学领域的知识包括进来,课程设置应始终以软件开发的整个流程为主线,培养学生良好的软件编程思想、软件项目管理和软件开发的团队合作精神。财经类院校的课程体系建设应该避免照搬其它工科院校的培养方案,应该以教育部的软件工程专业建设指导思想的基础上,根据自身的特点梳理软件工程系列课程之间与其它相关系列课程之间的关系,合理衔接,避免重复。课程设置要突出软件工程的重要地位和价值,专业模块的划分要突出行业特点及行业市场的需求。建立以能力培养为主线,分层次,多模块,互相衔接的课程教学体系,通过增加案例教学、添加社会和企业需要的专业技术课程,从而最大限度的发挥课程体系的作用。

2课程体系在专业建设中的位置

通过调研、走访、学习名牌大学、重点大学、国家示范性软件学院的经验和做法,总结财经类院校软件工程专业的建设,根据自身的特点和实际情况,依托财经类院校在经济、会计、管理等方面的专业优势,建设具有鲜明财经特色的学科专业体系,总的建设方案指导思想是:“整体设计、分布实施、发挥优势、突出特色”。建设的内容包括师资配置与建设、实训环境建设(包括实验室和实训基地)和课程体系建设。对于课程体系建设,主要从以下几个方面进行:梳理课程关系、夯实课程内容、教学方法建设、课程教材建设和实践体系建设。为保证软件工程专业建设质量,构建质量保障与反馈体系,总体建设结构如图1所示。

3课程体系主要建设内容

(1)梳理课程关系。通过划分课程群,梳理以软件工程为主线的课程之间的关系,重新梳理和制定大纲,确保基础课、专业基础课和特色专业课知识衔接合理,保障知识体系的连贯性,避免知识点缺乏或知识点重复,以及知识体系不连贯等问题。

(2)夯实课程内容。通过梳理好的课程关系,筛选课程内容,保障课堂内容充实。为增强对课内内容的巩固,在课外开展“软件工程设计大赛”、“数学建模大赛”以及认证类课程等作为补充,促进学生的主动学习,提高学生的基本技能和软件开发素质。

(3)教学方法建设。按课程群划分,组织同类课程组教学方法和教学手段的研究。改革现有的、传统的课堂教学方式,精炼教案内容。以培养兴趣、激发创新激情为出发点,加强案例教学和实践环节,通过增加案例教学、添加社会和企业需要的专业技术课程,从而最大限度的发挥实践实训课程的作用,真正使学生体会和做到学以致用。

(4)课程教材建设。以软件工程为主线的课程群体系研究的同时加强教材建设。目前采用“内编外引”的方式,做好教材的自编与挑选工作。在软件工程类课程中的教材都要求是重点教材,规划教材或原版外文类教材,选择质量高、特色鲜明的教材。

(5)实践体系建设。建立起更加完善的、与课程群体系相适应的实验、实训、实践教学体系。实践训练课程划分五个层次,分别为基本训练、基础理论训练、专业训练、工程训练和创新训练。使实践类课程涉及到的理论由浅入深,程序规模由小到大,开发队伍由个体到团队。实训环节中还考虑了加强与企业的合作,将企业的资源优势与学校的理论知识优势充分结合,共同设计和建设课程群中的实训项目。

4解决的关键问题

(1)把握主线与特色的关系。目前已有多个示范的软件学院,软件工程专业根据目标不同,有向高层次培养也有的向国际化目标培养。如何地足于地方,结合财经类发展特色,对课程群内容进行筛选和改革是解决的主要问题之一。目前特色软件工程专业建设的方针是首先确立以软件工程为课程群的主线,保障基础内容的涵盖和衔接。另一方面,结合财经学院特点,在开发案例、管理项目和课程选择上体现特色,如面向金融软件开发实践,因材施教培养实践动手能力,开设《软件项目管理与工程经济学》等课程内容。