软件工程专业
卓越工程师教育培养计划专业规范
二〇一一年三月
目录
一、本专业学科基础 .............................................................................................................................................. 3 (一)本专业的主干学科介绍 .......................................................................................................................... 3 (二)本专业的相关学科介绍 .......................................................................................................................... 4 (三)主干学科方法论 ...................................................................................................................................... 5 二、专业培养目标 .................................................................................................................................................. 6 三、专业培养标准 .................................................................................................................................................. 7 四、知识能力体系及标准实现矩阵 .................................................................................................................... 10 (一)知识能力体系 ........................................................................................................................................ 10 (二)课程体系 ................................................................................................................................................ 16 (三)标准实现矩阵 ........................................................................................................................................ 22 五、企业学习阶段培养方案 ................................................................................................................................ 30 (一)培养目标 ................................................................................................................................................ 30 (二)培养标准 ................................................................................................................................................ 31 (三)教学内容 ................................................................................................................................................ 32 (四)工程实践条件 ........................................................................................................................................ 33 (五)师资配置 ................................................................................................................................................ 40 (六)工程实践认证标准及认证方式 ............................................................................................................ 47 (七)完善师资工程能力的培养机制 ............................................................................................................ 48 (八)合作企业及工程实践基地一览表 ........................................................................................................ 49 六、本专业的基本教学条件 ................................................................................................................................ 50 (一)师资力量 ................................................................................................................................................ 50 (二)教材 ........................................................................................................................................................ 51 (三)图书资料 ................................................................................................................................................ 51 (四)实验条件 ................................................................................................................................................ 52 (五)实习基地 ................................................................................................................................................ 53 (六)教学经费 ................................................................................................................................................ 53 七、质量保证体系 ................................................................................................................................................ 53 (一)组织与管理 ............................................................................................................................................ 53 (二)教师队伍建设 ........................................................................................................................................ 54 (三)完善企业学习阶段的实施保证措施 .................................................................................................... 54 八、本专业规范制定的主要参考指标 ................................................................................................................ 55 (一)学制、学习年限与学位 ........................................................................................................................ 55 (二)毕业学分要求 ........................................................................................................................................ 56
一、本专业学科基础
(一)本专业的主干学科介绍
软件工程专业的主干学科为软件工程。
软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的定义、开发、发布和维护的工程,或以之为研究对象的学科。
软件工程的研究对象是软件系统,其学科涵盖软件科学与工程两个方面。其中,科学研究的重点在于如何发现软件可信性、度量和演化的基本规律,以应对当今软件所面临的复杂性、开放性和演化性等一系列重要挑战;而工程的重点在于综合应用包括科学方法在内的各种方法,运用各种科学知识,深刻理解设计合格产品所涉及的多方面因素,去构建可靠好用的产品。
IEEE最新发布的软件工程知识体系(SWEBOK)将软件工程知识体系分解成10个知识域,即软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量。
(1)软件需求
软件需求描述解决现实世界某个问题的软件产品及对软件产品的约束。软件需求涉及需求抽取、需求分析、需求规格说明编写和需求确认等,它直接影响软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量等。
(2)软件设计
软件设计是软件工程的核心内容。软件设计由软件架构设计、软件详细设计两种活动组成,它不仅涉及软件架构、构件、接口、以及系统或构件的其它特征,还涉及软件设计质量分析和评估、软件设计的符号、软件设计策略和方法等。
(3)软件构造
通过编码、单元测试、集成测试、调试、确认这些活动,开发人员可以生成可用的、有意义的软件。软件构造除要求符合设计功能外,还要求符合控制和降低程序复杂性、预计变更、进行程序验证和制定软件构造标准。软件构造与软件配置管理、工具和方法、软件质量密切相关。
(4)软件测试
测试是软件生存周期的重要部分,它涉及测试标准、测试技术、测试度量和测试过程。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善产品质量。
(5)软件维护
软件维护是软件生存周期的组成部分。软件产品交付后,需要改正软件的缺陷、提高软件性能或其他属性、使软件产品适应新的环境。软件维护是软件进化的继续。
(6)软件配置管理
软件配置管理就是控制系统的配置变更,维护整个系统生命周期中配置的一致性和可追踪性。软件配置管理包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等。
(7)软件工程管理
运用管理活动,如计划、协调、度量、监控、控制和报告等,确保软件开发和维护是系统的、规范的、可度量的。它涉及基础设施管理、项目管理、度量和控制计划三个层次,其中度量是软件管理决策的基础。
(8)软件工程过程
管理软件工程过程的目的是实现一个新的或者更好的过程。软件工程过程关注软件过程的定义、实现、评估、测量、管理、变更、改进以及过程和产品的度量。
(9)软件工程工具和方法
软件开发工具是以计算机为基础的,用于辅助软件生存周期过程。通常,工具是为特定的软件工程方法设计的,以减少手工操作的负担,使软件工程更加系统化。软件工具的种类很多,从支持个人到整个生存周期。
(10)软件质量
软件质量贯穿整个软件生存周期,它涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理技术和过程等。
(二)本专业的相关学科介绍
1.相关学科
软件工程的学科基础建立在计算机科学和工程学之上,其研究和实践涉及人力、技术、资金、进度的综合管理,是开展最优化生产活动的过程。软件是对现实世界问题的抽象和求解,并实现计算机化的模拟。从现实世界到满足用户需求的计算机可执行的抽象软件,需要人们完成问题定义与描述、需求分析、系统设计、详细设计、软件编程、软件测试和软件维护等一系列的工程过程。在这些过程中,涵盖了计算机科学、数学、工程学、管理学、经济学和系统工程等相关学科的理论和方法。 2.影响本专业的教育因素
(1)计算机科学
软件工程的主要基础是计算机科学与技术,离散数学、程序设计、数据结构、计算机体系结构、操作系统、数据库、网络及其计算等是软件工程学科的专业基础。
(2)数学
软件工程从一开始就与数学有着密切的联系。在软件开发过程中,需要大量借助数学的方法进行建模、分析和验证,以确保所提供的软件设计方案能够准确地满足用户的需求,保证系统的一致性和完整性。此外,在软件开发过程中,会产生大量的数据,为了有效地跟踪软件生命周期过程,需要使用统计学的方法对这些数据进行分析。
(3)工程学
软件工程强调采用工程化的方式开发软件。软件工程设计的关键是工程设计决策,它将用于软件抽象的各个层次。
(4)管理学
软件开发是一个项目目标实现的过程,管理科学的目标性和约束性原则在软件工程中得到重要的体现。软件工程强调软件产品及其开发过程的成本、进度、质量和文档的属性,要求在特定的环境和一定的组织机构内,有效地利用有限资源(人力、物力、财力等),通过协调一系列相互关联的任务,在规定的时间内完成,并满足一定的性能、质量、数量、技术指标等要求。
(5)经济学
软件系统的开发必须考虑其成本,因此需要运用经济学的观点和方法,其中包括软件成本估算和软件过程审计等。
(6)系统工程
随着计算机应用的广泛普及和信息化的深入,现代的软件系统的规模呈现越来越大的趋势,为了设计出更加复杂而可信的软件系统,需要投入大规模的人力、物力与财力。因此组织开发一个复杂的软件系统是一项系统工程,需要运用系统工程和运筹学的方法统筹规划和管理软件开发过程中的各种资源,以期达到效率优化。
(三)主干学科方法论
(1)计算学科的方法
软件工程学科是计算学科的分支,计算学科中理论、抽象、设计等三个学科形态,绑定、大问题的复杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、按空间排序、按时间排序、重用、安全性、折衷与决策等12个基本概念,以及数学方法和系统科学方法在软件工程学科中占有重要地位。
(2)工程学科的方法
软件工程学科表现为一种工程学科,工程学原理和工程设计在软件工程中起着重要的作用。由于软件的特殊性,软件工程与传统的工程学有所不同。软件工程更关注抽象、建模、信息组织和表示、变更管理等,在产品的设计阶段必须考虑实现和质量控制,同时持续进化是软件产品的重要特征。软件工程设计的关键是工程设计决策,它将用于软件抽象的各个层次。因此,重用和基于构件开发在软件工程设计中越来越受到重视。