发布者:秦洋|发布时间:2014-12-09

软件工程专业简章

 

软件工程专业简章

一、专业基本概况

软件工程与管理专业是2002年北航软件学院创办之初建立的首个专业,是学院的基础专业和核心专业。本专业关注于:

(1)紧跟学科前沿,参考SWEBOK,系统化地讲授软件工程理论;

(2)着重训练学生开发软件系统所需要的各种实际应用技能,建立质量、成本、时间观;

(3)系统掌握软件系统分析设计方法、过程、管理和工具,提高实际项目开发和过程管理能力。

 本专业知识领域覆盖了从软件项目需求分析到软件产品提交和维护的软件全生命周期相关知识要素和技术基础,从两个方面培养学生能力:

(1)从设计的角度着力培养学生的软件系统的分析设计能力和软件构架能力;

(2)从管理的角度着力培养学生的软件项目统筹规划能力、软件项目管理控制能力;

本专业培养模式:

(1)注重经典理论与最佳实践的结合,与国际接轨,同企业协作。

 

二、人才培养目标

本专业的人才培养目标是面向大型IT企业所需要的系统分析师、软件架构师、高级软件开发工程师、高级软件测试工程师和软件项目经理。这五个人才培养目标有效地覆盖了软件开发过程的各个阶段。如下图所示。

本专业的人才培养目标是面向大型IT企业所需要的系统分析师软件架构师高级软件开发工程师高级软件测试工程师软件项目经理。这五个人才培养目标有效地覆盖了软件开发过程的各个阶段。

(1)系统分析师

系统分析师(System Analyst)是计算机行业的高级人才,是一个大型软件项目的核心领导者;他的主要职责是对软件项目进行整体规划、需求分析、设计软件的核心架构、指导和领导项目开发小组进行软件开发和软件实现,并对整个项目进行全面的管理工作。

系统分析师应具备的职业能力和素质主要有:精通计算机行业的前沿理论,精通代表主流开发思想的程序开发语言,精通建设信息系统所要求的各种具体技术,熟悉应用领域的业务,能分析用户的需求和约束条件,完成信息系统需求规格说明书,协调信息系统开发与运行所涉及的各类人员,能指导制定企业的战略数据规划,组织开发信息系统,能评估和选用适宜的开发方法和工具,能按照标准规范写系统分析、设计文档,能对开发过程进行质量控制与进度控制,能具体指导项目开发,具有高级工程师的实际工作能力和业务水平。

(2)软件架构师

软件架构师(Software Architect)是软件行业中新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。

软件架构师应具备的职业能力和素质主要有:具有丰富的软件设计与开发经验,具有领导能力与团队协作技能,能在关键时候对技术的选择作出及时、有效的决定,具有很强的沟通能力;技术方面,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法;此外行业的业务知识对软件架构师也是很重要的,有助于设计出一个满足客户需求的体系结构,优秀的软件架构师常常因为要尽快获得对行业业务的理解而必须快速学习并且进行敏锐的观察。

(3)高级软件开发工程师

高级软件开发工程师(Senior Software Develop Engineer)是IT行业需求量最大的职位,与普通程序员不同,高级软件开发工程师应能够在遵循软件总体架构的基础上,独立地运用相关技术方案完成软件的详细设计和编码工作。

高级软件开发工程师应具备的职业能力和素质主要有:熟练掌握两到三种开发语言、以及相关的平台和工具,数据库相关技术,掌握主流的开发框架和设计模式等技术,了解主流的操作系统,需求理解能力,模块化思维能力,团队精神和协作能力。

(4)高级软件测试工程师

高级软件测试工程师(Senior Software Testing Engineer)是软件测试领域的设计和分析者,其不仅能够熟练掌握软件测试与开发的相关技术,独立设计和实施测试方案,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估。

高级软件测试工程师应具备的职业能力和素质主要有:熟练掌握各种测试方法和工具,理解和分析软件质量,领域相关的知识,团队精神和沟通协作能力。

(5)软件项目经理

软件项目经理(Software Project Manager)是指从事软件项目或者以软件开发为主的信息系统集成项目管理的人员,具有很强的沟通、表达能力,具有较强的分析、推理和判断的能力,能够对软件项目的成本、人员、进度、质量、风险、安全等进行准确的分析和卓有成效的管理。

软件项目经理应具备的职业能力和素质主要有:广泛的计算机专业知识,具有相当的软件项目管理实践经验,能够预估风险以及引导客户需求,通晓主流软件开发流程并能针对具体项目进行选择和改进,具备项目团队中的领导艺术。

三、培养方案

专业培养方案的制定综合考虑了研究生生源(有应届生毕业生,也有多年软件从业经验的往届生)、培养机制(有在职生,也有脱产生)、人才培养目标等多方面的需求。整个培养方案遵循小核心+大外围的原则,针对各类人才都需要的基础技能,定义了本专业必修课程,再面向不同的方向开设各类特色选修课程。

(1)基础核心课程

基础核心课程是面向本专业全体学生的必修课程,侧重于培养学生的基本素质和能力、专业基础知识和实践动手能力。课程设置为4+3+4,即4门基础能力课程,3门专业基础课程和4门实践能力课程(环节)。其组成结构如下图所示。

(2) 面向不同人才培养目标的外围课程

外围课程设置采用3+N+M的方式,即每类人才培养包括3门专业技能必修课程、N门职业发展课程和M门延伸课程。专业技能必修课程为本职业发展所必须的基础核心课程,着重培养学生的核心专业素质和能力,学生应根据自己的职业规划选择此类中的全部3门课程;职业发展课程则是面向目标职业而开设的特定专业技术课程,重点培养学生特定领域的专业技术和能力,学生可以根据自身情况选择若干门(N)此类课程;延伸模块是面向学生更广泛的兴趣开设的相关课程,用于开阔学生视野,拓展知识面,学生可以根据自身兴趣选择若干门(M)此类课程。课程总体设计情况如下表所示,面向各类职业的课程体系如图所示。

软件工程与管理专业课题设置方案

基础核心课程

基础能力模块(4)

政治、英语、现代工程数学、科技写作与沟通技巧

专业基础模块(3)

软件工程方法、软件工程过程、软件项目管理

实践能力模块(4)

一级工程实践、二级工程实践、企业实习、毕业论文

专业外围课程

系统分析师

专业技能模块(3)

面向对象分析与设计、软件体系结构、软件需求工程

职业发展模块(M)

高级系统分析与设计、经验软件工程、领域软件设计、软件测试分析与设计、软件质量管理、软件度量

延伸模型(N)

学术前沿讲座、国际化软件外包、……

体系架构师

专业技能模块(3)

面向对象分析与设计、软件体系结构、先进数据库技术

职业发展模块(M)

高级系统分析与设计、经验软件工程、领域软件设计、SOA原理与实践、软件需求工程、软件质量管理

延伸模型(N)

学术前沿讲座、数据仓库与数据挖掘、……

高级软件开发工程师

专业技能模块(3)

面向对象分析与设计、软件体系结构、先进数据库技术

职业发展模块(M)

规范化软件设计工程与实战、高级系统分析与设计、J2EE企业级应用开发、VSTS软件开发实践、基于Android移动应用开发、软件需求工程

延伸模型(N)

学术前沿讲座、数据仓库与数据挖掘、……

高级软件测试工程师

专业技能模块(3)

软件质量管理、软件测试技术、软件测试分析与设计

职业发展模块(M)

面向对象分析与设计、规范化软件设计工程与实战、软件体系结构、软件需求工程、软件测试工具与实践、软件度量

延伸模型(N)

学术前沿讲座、国际化软件外包、……

软件项目经理

专业技能模块(3)

软件体系结构、软件质量管理、软件开发管理

职业发展模块(M)

规范化软件设计工程与实战、面向对象分析与设计、人力资源管理、软件需求工程、软件度量、软件测试技术

延伸模型(N)

学术前沿讲座、创业管理、……