软件工程专业课程范例6篇

软件工程专业课程

软件工程专业课程范文1

>> 软件工程的课程教学改革与研究 软件工程课程教学改革的研究 卓越软件工程师Java课程群教学改革研究 软件工程方向基于课程群的实践课教学改革 软件工程专业教学改革研究与探索 《软件工程》课程教学改革研究 软件工程课程教学改革研究 软件工程课程教学改革研究与实践 基于CDIO的软件工程专业教学改革 高职《软件工程》课程教学改革的探讨 关于《软件工程》课程教学改革的探究 《软件工程》课程教学改革的探索 《软件工程》课程的教学改革探索 “软件工程”课程教学改革的探讨 电大“软件工程”课程教学改革的探索 软件工程专业Java语言系列课程教学改革研究 软件工程专业面向对象程序设计教学改革研究 基于团队学习的软件工程专业课程教学改革探索 高职软件工程专业软件测试课程教学改革探讨 关于《软件工程》教学改革的研究 常见问题解答 当前所在位置: [EB/OL], May 2013.

[3] 李慧仙.论高校课程群建设[J].江苏高教, 2006(6):73-75.

[4] 张怡文,贺爱香,王美荣.基于软件课程群的合格课程建设——《C++程序设计》合格课程建设[J].电脑知识与技术, 2012(5): 46.

[5] 肖宿.软件工程课程教学方法初步探索[J].电脑知识与技术, 2012, 8(14).

[6] 李兆翠,乔京涛.软件工程课程教学方法研究[J].电脑知识与技术, 2011(2): 090.

软件工程专业课程范文2

(国防科学技术大学 计算机学院,湖南 长沙410073)

摘 要:针对国家和军队信息化建设对软件工程人才的迫切需求,以及软件工程专业课程面临的知识与工具变化快、项目实践要求高、强调协同与合作等特征为目前在线课程模式和平台带来的挑战性问题,分析研究2014版软件工程知识体(SWEBOK)对在线课程建设的影响,分别针对大规模公开在线课程(MOOC)和小规模私有在线课程(SPOC)的建设提出一系列建设思路与方案。

http://

关键词 :软件工程;在线课程;软件工程知识体;MOOC;SPOC

第一作者简介:董威,男,教授,研究方向为可信软件工程技术、软件分析与验证,wdong@nudt.edu.cn。

0 引 言

随着软件在各种领域迅速发展,软件的类型、规模、复杂度都急剧增长,在有限的时间和成本约束下开发出高质量的软件被人们高度关注,因此提高各类信息化系统开发人员的软件工程能力越来越受到普通和军队高等院校的普遍重视。然而,由于软件从业人员所需知识更新快以及大量软件开发人员接受软件工程教育的经历不足,仅靠传统的高校课堂内授课方式,难以满足社会和军队信息化快速发展对软件工程人员的需求。研究如何通过建设软件工程专业在线课程加快软件工程人才的培养、优化软件工程课程资源的配置,对于我们国家和军队未来的发展具有重要价值与深远意义。

1 软件工程教育的发展与主要问题

软件工程指将系统的、规范的、可量化的方法应用于软件的开发、运行和维护的过程[1]。ACM和IEEE/CS成立联合工作组,在2004年制定了计算教程软件工程卷CCSE (computing curriculum-software engineering)[2],并把软件工程作为计算学科下与计算机科学、信息技术、信息系统、计算机工程等并列的学科。2014年,ACM和IEEE/CS推出软件工程知识体SWEBOK 3.0版[3],知识领域与2004年版SWEBOK相比从10个增加到15个。此外,由ACM和IEEE主导,国际一些著名高校和企业的专家针对软件工程硕士教育制定《软件工程研究生学位教程指南》(GSwE2009)[4],描述软件工程硕士需掌握的核心知识体系和相应教程。我国从2001年开始建立示范性软件学院,并于2006年推出《计算机科学与技术本科专业规范(软件工程)》[5]。2011年,软件工程专业经国务院批准增列为一级学科。

软件工程师目前在国内外都是最具吸引力的职业之一,如美国著名的就业网站CareerCast在2012年进行调查,从收入、工作环境、发展前景等因素评选出的十大最佳职业中,软件工程师名列第一[6];在我国近来对本科毕业生的职业调查中,软件工程师的收入也一直名列前茅。尽管近年来软件工程教育有了很大发展,但国内外的软件工程教育还存在诸多挑战性问题,主要包括以下几方面。

(1)现有的软件工程课程从学时数、教学安排等方面都难以达到实际职业对软件工程深度、广度和实践能力的要求,相关培养方案的制订较少考虑企业的实际需要,针对性不强。

(2)尽管聘请企业中有丰富经验的软件工程师授课是一条有效措施,但整体来看,软件工程授课老师普遍缺乏软件开发实际经验,甚至很多都未从事软件工程领域的研究工作。

(3)软件工程目前存在众多不同的开发方法学,它们各有特点和优势,并且软件工程相关技术发展迅速,新的方法不断出现,这使得教学内容的选择和准备变得非常困难。

(4)当前国内外软件工程教材多是对众多方法和技术的描述,对具体技术的深入程度不足且无法适应软件技术、工具的快速变化,对学生进行实际项目开发帮助有限。

(5)企业的软件开发中使用了众多的软件工具,并且对于重要领域的软件开发,很多企业采用商业化工具。在教学过程中,这些昂贵的、专用的商业工具较为缺乏,并且在有限课程时间内学生难以接触到众多不同类型的软件开发工具。

(6)软件工程教育资源非常不平衡,在教育和经济发达地区,聘请优秀软件工程师进行授课、使学生参与到企业的实际开发中是可行的,但对于大量其他地区高校就难以实施。

(7)软件工程技术和工具发展迅速,很多软件从业人员从程序员开始起步,未接受过系统的软件工程教育或所受教育很快过时,因此需要持续性的、具有一定灵活性的优质教育资源适应这种情况。

由软件工程教育面临的以上挑战,我们可以看出传统的高校课堂内软件工程教育虽然还是必不可少的,但是必须找到新的软件工程专业课程教学方式,以满足其知识变化快、人员基数大、持续时间长、资源不平衡等特征。通过互联网在线课程的形式实施软件工程专业课程的教学,无疑是应对上述问题一种有效、可行的方式。

2 软件工程知识体对在线课程模式的影响

软件工程可以作为一门单独的课程进行讲授,而软件工程专业一般包含一系列的课程,如需求工程、软件设计与体系结构、软件构造、软件测试与验证等。软件工程专业课程如果作为在线课程进行建设会遇到众多问题,其中主要包括对实践环节的要求非常高、追求在真实平台中解决有一定规模的问题、需要团队合作以及项目管理等,而目前在线课程的教学方式和平台在这些方面有一定欠缺,需要我们进行深入的研究以提供解决方案。

软件工程课程应该覆盖一定的知识领域,表1对SWEBOK 3.0版中包含的15个知识领域和子域进行初步分析,判断其是否适合于目前一般性的MOOC在线课程教育模式和平台。表1中第2列的知识子域适合目前在线课程教学方式,第3列中的知识子域需要对当前在线课程模式进行适当改进才能适用,第4列中的知识子域则需要对当前在线课程模式和平台进行较大改进。对于不适合(需对模式和平台进行改进)的知识子域,笔者在第3节中将研究讨论应对方式和措施。

表1中最后两个知识领域计算基础和数学基础作为软件工程理论基础的一部分,由于一般放入与软件工程课程相独立的课程中讲授,如离散数学、编译原理、操作系统、数据库原理等,其相关课程也都有较为系统、完善的体系,因此这里我们不进行特别考虑。

3 软件工程专业在线课程的建设

目前已经出现一些软件工程的在线课程,如UC Berkeley的软件工程MOOC课程于2012年在Coursera、后来在EdX上线,并在此基础上发展、延伸出多个小规模私有在线课程(small private online courses, SPOC)[7]。国防科技大学也已有软件工程相关课程在内部网络上线,供部队和军队院校一定范围内的人员在线学习。

3.1 软件工程专业MOOC课程建设

从对相关知识领域的分析可以看到,目前一般性MOOC授课方式与平台难以适应的软件工程知识子域主要包含以下特点。

1)难以完全通过讲授使学生接受,如需要动手进行实践才能深入体会的技术以及与经验密切相关的过程、管理、度量等内容。

2)内容变化频繁的知识如一些软件开发技术、工具等总在持续发生变化或出现新的版本,课程每次新开时都可能需要调整。

3)需要团队式的协作与交流完成内容,如版本控制、需求获取、协同开发、团队交流等,仅靠讲授或个人作业难以达到效果。

4)软件工程教育强调具有一定规模和复杂性的项目实践,这对于教学辅导人员的数量和指导能力要求较高,不仅仅是普通答疑能完成的。

5)对于很多技术和实践来说,其结果是开放式的,软件设计、实现、测试、维护等任务一般不存在唯一结果,这给作业评价和成绩评定带来困难。

面向上述特点,根据目前国内外已有的相关实践、效果以及已经实施的建设情况,我们总结出一些供参考的解决方案。

(1)制订MOOC教学计划时应遵循持续改进的原则。传统课堂教学讲究制订教学计划时一次到位,但由于软件工程内容变化快,因此分解教学内容、视频、作业时应该使其能够适应快速变化,不要期望一次建设就大功告成。此外,在线课程需要了解大量学生的反馈意见和教学效果,这也需要不断的改进。如果可行,可采用自行编著的电子教材和 http://

参考文献,使得每次开课时学生教材也可以尽快进行相应修订。

(2)在线课程平台与软件协同开发环境的有机融合。对于需要协同、交流才能完成的内容,实际由于许多国际化企业的软件研发人员遍布全球,因此已有相应的平台(包括开源软件工具、开源社区等)支持地域分布的人员进行协同开发。教师可选择所需的协同开发环境,与软件工程在线课程平台集成在一起,提高对团队和协同任务的支持。

(3)对课程进行分而治之的划分。教师可以把课程按照其内容是否适合在线授课划分为一些小的子课程,每个子课程更偏重于适合或不适合(如理论内容和实践教学内容分到不同子课程),以减少整个课程设计的复杂性。在线课程偏重适合讲授的子课程,不适合已有在线授课模式的内容,可以通过其他方式实施(如其他高校单独开设实践课程、采用适合的平台或投入更多教辅人员等)。

(4)采用新的教辅人员委托模式。由于软件工程课程的实践性强,对教辅人员数量和质量要求高,因此仅靠开课学校的课程组难以完成。教师在实践中可以考虑招募在高校内或通过在线课程已经完成课程学习、成绩优秀的志愿者,通过一定的激励或者提高影响力等方式激发他们的热情。事实上,从开源软件的蓬勃发展以及Berkeley软件工程MOOC课程的实际效果看,该方式完全可行、有效。

(5)加强自动化结果评估和成绩评定系统的开发与应用。教师可一方面采用各种自动化软件工具,如通过测试驱动的开发工具、软件编码规范检查工具、基于服务的方式等对课程作业进行自动评估;另一方面可以让学生参与到开源软件社区的开发活动中,通过开源项目对其完成工作和贡献采纳情况等进行评价。

软件工程专业MOOC课程建设面临的问题众多,需要教师通过具体实践逐步研究和完善其在线课程的建设过程。

3.2 软件工程专业SPOC课程建设

软件工程在实际实施中所面向的领域背景非常重要,而不同领域的软件系统各有特点,一个软件企业一般有其针对性的领域,采用的软件工程过程、方法、工具、管理等都有各自的特点。因此,非在校学生的软件工程在线课程学习者可能在一般性的理论之外,希望学习更多对其背景有促进作用的知识。再者,MOOC课程学习者中有相当一部分本身就是高校教师,他们会借用MOOC课程的内容,然后在自己的课程中进行一定改造并增加项目实习等内容,形成适合其学生学习的课程。此外,国防领域未来基于信息系统的体系中,软件工程人才将会包括科研人员、技术开发人员、管理人员、保障人员、作战和指挥人员等不同类型[8],还会针对战机控制、舰船控制、车辆控制、指挥自动化等不同应用背景,对软件工程知识的要求都有不同。上述情况都要求能够在MOOC课程的基础上进一步建设小规模私有在线课程(SPOC)。UC Berkeley就在其软件工程MOOC课程基础上发展了多个SPOC课程,包括在本校以及在其他高校中开设的课程。

对于建设软件工程SPOC课程,教师可以遵循以下一些原则和策略。

(1)对于公共的知识讲授,尽可能利用MOOC课程完成,以减少SPOC课程的建设工作量,充分利用优质资源,提高课程的复用程度。

(2)加强每门SPOC课程的针对性,如针对具体学校学生的培养目标或针对具体领域背景选择相应的软件工程技术、工具、标准规范进行讲授。

(3)加强课程实践和项目开发环节的建设,这是MOOC课程本身具有的不足之一,但在SPOC课程中可以进行有效的弥补。

(4)课程成绩的评定可以把MOOC和SPOC课程的学习情况结合起来考虑,对学习者对软件工程共性理论和特定目标知识的掌握情况进行综合评价。

在未来在线课程发展中,软件工程专业MOOC课程可能并不一定很多,由能提供优质师资资源的机构开设,但针对具体背景领域的SPOC课程可以更多,因为毕竟软件作为现代社会无所不在的组成,软件工程面向的领域众多,都需要有针对性地培养软件工程人才。

4 结 语

软件工程专业课程具有变化快、对实践要求高、需要团队协作等特征,这些使建设软件工程专业在线课程具有更高的难度。MOOC课程和SPOC课程都是未来软件工程专业在线课程所需的模式,尽管已经有一些相关实践,但是如何建立较为系统、各门课程完善、质量高的软件工程专业在线课程,还需要更多的研究与实践。目前对SWEBOK中知识子域对在线课程建设影响的分析还较为初步,下一步还需要更具体地针对所包含的知识点研究如何通过在线课程进行讲授。此外,软件工程专业在线课程应该与软件协同开发环境有机结合,这还需要我们进一步进行研究,针对知识点要求形成科学的集成平台体系框架并进行建设。

http://

参考文献:

[1] 齐治昌, 谭庆平, 宁洪. 软件工程[M]. 3版. 北京: 高等教育出版社, 2012: 10-11.

[2] IEEE Computer Society. Software engineering 2004[EB/OL]./sites.computer.org/ccse/.

[3] IEEE Computer Society. Swebok V3[EB/OL]./www.computer.org/web/swebok/v3.

[4] Graduate Software Engineering 2009(GSwE2009). Graduate software engineering 2009[EB/OL]./www.gswe2009.org.

[5] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范[M]. 北京: 高等教育出版社, 2006: 248-330.

[6] Brienza V. The 10 best jobs of 2012[EB/OL]./www.careercast.com/jobs-rated/10-best-jobs-2012.

[7] Fox A, Patterson D, Ilson R, et al. Software engineering curriculum technology transfer: lessons learned from MOOCs and SPOCs [EB/OL]./www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-17.html.

软件工程专业课程范文3

关键词:软件工程;应用型人才培养;课程体系;教学改革

1高等院校应用型人才培养模式研究

在互联网飞速发展的今天,开发实用性强的软件呈现爆炸式的增长趋势,软件人才的培养需求在不断增加,传统的软件专业技术人才的培养模式过于强调对计算机科学知识体系和计算机领域理论的要求,对于人才技能的培养是否能更好满足现代化社会发展的用人需求的分析研究不够。高等院校必须打破软件工程专业人才培养的常规模式,按照应用型软件人才的知识需求、学习需求、实践需求、个人能力发展需求进行专业人才培养模式的探索和改革实践,在实践中不断完善、优化专业人才的培养模式。高等院校应用型专业人才的培养必须要能够促进地方经济的发展、满足企业生产的需求,通过对学生实践应用技能的培养和提升,让学生能够综合运用知识、培养学生的创新能力。按照“企业环境、双导师制、工学结合、创新项目驱动”为主要原则,构建将学校学习与企业生产实践融为一体、将学生的学习环境与工作环境融为一体、将学校教师与企业工程专业融为一体、将教育专业培训和学生职业培训融为一体的产教有机融合的专业人才培养模式。高等院校应用型人才的培养模式要以区域性社会经济发展为主,以应用型专业技术人才为培养目标,加强学校与企业之间、学校与政府之间、学校与学校之间形成紧密的合作关系,以高等院校的专业为单元体,实现学校与社会相应企业之间的无缝对接。高等院校的应用型专业技术人才培养的专业设置、招生计划安排、专业技术人才培养方案的拟定、教学计划的拟定及其实施等工作都要广泛征求合作办学企业的意见和建议。高校应用型人才培养必须充分发挥高等院校和企业的优势资源,不断拓展人才的服务能力,将校企合作育人的科技成果转化为促进地方经济建设的支持和保障,积极拓展学生的社会实践活动和专业实践平台,为应用型专业技术人才的培养提供优质条件。

2高等院校应用型软件工程专业技术人才培养模式研究

2.1优化应用型软件工程课程体系

2.1.1专业课程体系设置高等院校的应用型专业技术人才的培养模式可以采用“3+1”的形式,这种培养模式是学生前三年在学校进行文化课程的学习与实践,最后一年到企业进行实习实训。在这种人才培养模式下,如何进行专业课程体系建设,如何在学校、企业、政府与培训机构之间架构起有效的沟通桥梁,如何建立校企联合培养的实践教学模式,都是高等院校需要解决的问题。高等院校的软件工程专业本身就是以广泛应用于工程建设为主要特征的专业,要想把实践教学渗透到课程体系的每一个模块中,必须让每门专业课程都为应用型人才的培养进行服务。基于这个原则,高等院校可以针对课程体系建设进行优化调整,第一学年的第一个学期可以开设专业的引导课,第二学期可以开设基础性专业课程;第二学年的第一个学期开设强化型专业课程,第二学期开设基础性工程课程;第三学年开设专业核心课及专业方向课程;第四学年安排学生进行校内、校外实习实训。将学生学习的四个学年度根据发展的需求进行合理调整,将课程设计、软件项目开发、校内及校外的专业技能实习实训、综合技能训练、深入企业实训等内容都纳入到课程体系建设中。软件工程专业的课程体系建设必须要将企业的文化、生产等内容纳入到课程体系建设中,如第一学年可以开设职业教育课、企业文化课等,激发学生的学习兴趣,提高教育教学的质量和效果。2.1.2课程资源的开发高等院校专业技术人才培养的质量是通过师资队伍的整体水平、课程体系建设和课程教学质量等方面综合反映出来的。高等院校的专业技术人才培养必须要通过课程教学来实现,课程体系建设的优化与课程资源的有效开发是民办高等教育学校实现应用型转型发展的关键所在。目前,很多民办高等院校都十分重视课程体系的转型建设,但是效果并不明显。课程资源的有效开发是课程体系转型发展建设的关键要素,它不仅能够满足学生对知识和技能的学习需要,同时还能有效促进教师的专业成长。课程资源的开发不能局限在教科书的编写上,更不能局限在学校内部资源的开发上,课程资源的开发建设必须包括基本资源和拓展性资源两个方面,它是指学生在学习和生活中,涉及对学生成长有利的一切课程实施内容,以促进教育目的的达成。课程资源的形成是课程及教学内容最直接的素材,其包括课程的教学思路、课程教学的内容与方法、教学过程所需要的基本资源等。民办高等院校的课程资源开发必须着力于学生的创新意识培养和学生的实践应用能力的培养与提升。在课程资源的开发过程中必须要以优化工作过程为体系的应用型课程资源开发为切入点,将软件工程作为专业课程的核心重点,建立并完善课程资源的项目开发标准,不断改革与创新教学方法和教学模式,创新考核评价方式,通过示范、引领作用全面助推课程体系的转型建设,构建科学的应用型专业人才培养体系,打造高素质的专业技术人才培养模式。

2.2课程评价方式的改革创新

高等院校的软件工程专业课程评价体系必须要建构多元化的课程评价方法,将期末的一次性考核变为学生学习过程的多次评价,实行分段教学、多次考核、多样考核的课程评价体系,确保课程评价体系更加符合学生的成长需求。在日常教育教学中,可将学生的分组研讨、实习实训、技能考核、实战演练等学习、实践过程纳入学生日常学习考核中,综合每一阶段的考核评价结果作为学年或年度该学生的学习质量评价成绩,尽可能减少理论性的试卷考试,尤其是理论性的闭卷考试科目,将闭卷考试与开卷考试相结合,使学生的理论与实践技能操作相结合,重点考核学生的综合实践能力和应用创新能力。

2.3课程教学模式的改革研究

教师在教学中,要将原有的多门类软件理论课程进行教学资源的重组,将系统化、工程化的制作案例作为教学的主体思路。重点强调各科目理论课程的有效衔接,将理论知识教学融入到工程的开发与实践中,实现理论知识与实践应用相结合、相协调发展。软件工程的课程设计、软件项目的开发、校内及校外的专业技能训练、学生的综合技能实习训练等科目内容要作为学生学习课程的主线,通过深入分析课程教学项目的实际需求,进行创新设计并应用到实际教学中,让学生在学习过程中将理论知识运用到实践操作中,并能在实践操作中深化理解理论知识,更好地促进学生知识、能力与素养间的协调发展。

3结语

为了促进民办高等院校的办学质量和品质,保证民办高等院校能够走健康、可持续发展之路,民办学校的软件工程专业必须紧紧把握专业自身的创新发展优势,根据现代化社会的发展需求,创新专业人才的培养模式,建立专业的以培养学生能力为中心的专业人才培养目标,改革课程体系,充分调动师生教与学的积极性和自主性,切实提升课堂的教学质量,不断提升学生对问题的独立思考、分析、解决问题的能力,适应社会和企业对专业人才的需求。

参考文献:

软件工程专业课程范文4

关键词:软件工程;教学方法;项目驱动

中图分类号:R318-4

我校开设医学信息工程专业,该专业是一门以信息科学和生命科学为主的多学科交叉与融合的新兴综合性学科。为医疗卫生行业培养既掌握计算机技术,又掌握医学专业技术,还熟悉医院管理流程和临床科研数据处理的复合型人才[1]。

《软件工程》课程是该专业的专业核心课程。软件工程是指导计算机软件开发和维护的一门工程学科[2]。学生学习这门课程是要求他们掌握软件工程的概念、原理、技术和方法,从而经济、高效地开发出高质量的软件并有效地维护它。该类课程理论较多,同时其综合性、实践性要求较高。如何教授好这门课程是一个值得思考的问题。

1 《软件工程》课程教学中存在的问题

软件工程课程内容主要是许多概念和原理,教材上涉及的方法与技术并没有多难理解,但教学过程中仍发现有如下问题:

1.1 学生对软件工程类课程感觉概念、原理太多,难以记忆

软件工程课程主要讲解软件开发中的原理、方法、技术,很少涉及软件算法和程序设计。学生在学习时有个误区,觉得这门课既然是介绍各种概念和原理的,死记硬背就好了。而大量的概念和原理光靠死记硬背反而容易混淆,学习效果并不好。

1.2 教学模式单一,缺少有专业特色的固定的教学案例

目前软件工程课程仍以教师课堂授课为主,学生听课为辅,教学内容侧重于理论。实验学时较少,学生的实践多在课后完成,较难落到实处。课堂使用案例也多为教材上给出的小案例,实用性不强,缺少专业特色,学生很难接触真正的医学信息系统开发项目的实例。

1.3 学生缺少对相关课程间关系的理解

目前的教学模式是各门课独立讲授,对于软件工程课程而言其综合性很强,其理论与应用与许多课程相关,但学生在学习时是单独学习的,在头脑中没有形成完整的课程体系,不能把已学过的知识融会贯通的使用。

1.4 学生实践能力较差,难以满足专业需要

软件工程课程实践性要求高,而学生在学习的过程中,仅仅抽象的学习软件开发的过程,很少有机会参与软件开发的整个过程,从而实践能力较差。

2 解决办法

2.1 注重教学方法和教师的课堂感染力,结合学生实际教学

当课程内容不够吸引学生时,授课的效果就更依赖于教学方法和教师的个人魅力。教师要教授好一门课程,仅仅对课程内容的深入理解是不够的,有时要向一位演员一样的表演。声音抑扬顿挫的变化可以使本想打瞌睡的学生清醒。在教学中适度的加入一些“包袱”,博得满堂一笑,同样可以使涣散的注意力重新集中。学习软件工程课程的目的是为了让学生了解和掌握开发一个高质量软件的过程、方法及使用的工具。那么对于“高质量软件”要给学生一个定义,如果仅从理论上来解释将枯燥无趣。笔者在上课时以学生所熟悉的MS office、QQ等软件作例子,让学生从用户的角度讨论“高质量软件”的特性,将软件工程设计和实现阶段的一些基本原理、概念和启发规则引入进去,引起学生的共鸣,加深学生对这些原理、概念、启发规则的理解,在不用死记硬背的情况下轻松记住教学内容。

2.2 结合其他课程内容,使学生对所学内容融会贯通

软件工程课程的综合性和实践性都比较高。在教学中结合其他课程内容,并与其他课程教师交流共同教学,学生能将所学知识融会贯通,灵活应用,效果会非常好。例如在讲述软件工程需求分析阶段建立数据模式时引入数据库原理中的知识,解释数据对象、属性及数据对象间相互联系,以及它们对应到应用中的实现形式;在讲述设计与实现阶段内容时,可引入算法设计与分析课程中的知识对设计思想、代码的构造进行说明;讲述实现效率时,引入算法设计与分析中的时间复杂度和空间复杂度的概念来讨论效率问题,讨论存储效率时还可引入操作系统中存储调度的原理加深学生的印象。

在我校医学信息工程专业课程计划中,软件工程是在大三上学期开设,大三下学期还有《J2EE架构设计与开发》和《综合课程设计》两门课,结合这两门课,让学生分组以软件工程方法开发一个软件,并交付相应文档,从而再次巩固学生在软件工程课程中学习的知识并加以应用。

2.3 采用项目驱动模式,结合项目实例,使学生学以致用

采用项目驱动模式教学时应注意以下几个问题:

(1)尽量使用实际案例,虚拟的案例因为没有需求方,学生在需求分析和需求定义时很容易流于形式,体会不到获取需求有多么的困难,反而会觉得获得需求很容易,难在编程。在我校的教学中,软件工程前期有《医学信息系统》课程,为学生介绍医院的一些管理流程,并指导学生开发相应的软件;同时学院经常组织学生去医院实地参观;学院教师也经常与医院或企业有一些软件开发的项目。这些都为软件工程课程提供了很好的实际案例。

(2)指导学生分组,学生分组时最好不要任由学生自由分组。学生自由分组时,往往编程能力好的同学抱成一组,其他的同学以关系疏密来确定分组。导致一个项目组中只有个别学生起到作用。使整个教学过程流于形式。可以先让学生自由报名担当项目负责人,然后以公开竞聘的方式确定项目负责人,这个过程中,需要老师对学生有一定了解,对竞聘方式和过程加以引导,确定有组织能力和负责任的同学担任。然后再由个人向项目负责人申请职位(如软件设计人员、软件架构人员、程序员、软件测试人员等),一般一个项目组5-6人,由项目负责人决定小组人员,项目负责人负责项目的整体管理和协调工作。因为职位都是自己申请的,所以最后在项目实施时,各人职责明确,不会出现人浮于事的状况。

(3)定期检查工作进度。如果没有定期的工作进度检查,学生可能会直到课程快结束时才赶紧写各类文档交付了事,达不到教学目的,学生无法体会到软件工程在实际应用中的意义。所以要求各个项目组跟随课程的进度按时间段完成包括可行性分析报告、需求规格说明书、总体设计规格说明书、详细设计规格说明书、测试计划、源代码等各类文档。学时允许的话,安排几节课作为工作汇报会。适度的工作汇报会可加强小组间的交流,让学生从别人的工作中发现自己工作的优势和不足。每次汇报会的发言人由每小组成员轮流担任。笔者认为通过软件工程课程教学提高学生汇报工作的能力和与人交流的能力也是很重要的。教师对学生的文档和汇报予以总结和点评,在对学生的工作予以肯定的基础上提出对学生所给方案的改进意见或建议。毕竟软件开发的过程中没有唯一标答,学生的思路与老师的不同是很正常的现象,不要一味否定从而打击学生独立思考的能力。以开放的思想与学生讨论,更能促进学生更深入的思考。这样既能加深他们对软件工程理论的理解,同时也提高对这门课程的兴趣。

3 结束语

《软件工程》课程是一门理论知识较多,综合性、实践性要求高的课程。笔者从目前教学中存在的问题着手分析,思考并实践多种教学方法,提出了几点行之有效的解决问题的教学方法。在今后的教学工作中还将更多的研究、探索其它优秀的教学方法,积累经验,以期取得更好的教学效果。

参考文献:

[1]周毅,刘燕.医学信息学的研究领域及人才培养[J].医学信息学,2005,18(8):856-858.

[2]张海潘.软件工程导论[M].清华大学出版社,2008,2.

[3]李洪进.案例驱动式方法在软件工程教学中的应用[J].软件导刊,2013(6).

[4]李亚红.《软件工程》课程教学改革探讨[J].长江大学学报(自然版),2013(1).

软件工程专业课程范文5

一、引言

软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由论文联盟收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

gswe2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

在职业实践的第二步实际职业实践中,学生自己从课堂走出去,到实习基地、用人单位或者是校企合作的相关公司企业进行真正的软件工程实践,学习良好的职业道德,正规的软件工程管理方式,同时在实践中学习和总结自己的研究生学习过程,进入第三阶段论文撰写,这就避免了以往硕士研究生写论文闭门造车的现象,为论文提供了更好的实践依据,提高了硕士论文的质量,这一步通过从实践中回到学习上来培养学生的总结、概括、撰写文档的能力。

软件工程专业课程范文6

一、引言

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要 求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

GSWE2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于CMM 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学习核心知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

在职业实践的第二步实际职业实践中,学生自己从课堂走出去,到实习基地、用人单位或者是校企合作的相关公司企业进行真正的软件工程实践,学习良好的职业道德,正规的软件工程管理方式,同时在实践中学习和总结自己的研究生学习过程,进入第三阶段论文撰写,这就避免了以往硕士研究生写论文闭门造车的现象,为论文提供了更好的实践依据,提高了硕士论文的质量,这一步通过从实践中回到学习上来培养学生的总结、概括、撰写文档的能力。