软件工程专业

2021/05/25 作者: 10次浏览 分类:培养体系 我要分享

计算机科学与工程学院/软件学院-软件工程专业人才培养方案(2020级)

 

一、专业简介

广西师范大学软件工程专业属于软件工程一级学科,创办于2013年,2014年开始招收本科学生,在1998年获计算机软件与理论二级学科硕士点、2011年获软件工程一级学科硕士点基础上的延续与发展,具有深厚的学科基础和优秀的师资力量,并在2018年获得软件工程一级学科博士点、广西一流学科和广西高校特色专业。本专业是计算机学科中的工科专业。学生通过本专业必修课学习,配以信息教育软件技术方向或数据与知识工程方向的选修课学习,主要向信息教育软件设计和开发或数据与知识工程研究两个方向发展,将来主要在计算机软件企业从事有一定通用性的软件开发工作,在企事业单位从事有部门、行业或单位特色的计算机应用软件的开发、维护、实施和相关管理工作,或在高等院校、科研院所从事数据与知识工程研究工作。

二、专业代码、名称

(一)专业代码:080902

(二)专业名称:软件工程

三、培养目标及毕业要求

(一)培养目标

总体描述:本专业着力培养信念执着、品德优良,具有良好的科学素养、社会责任感和环境意识,掌握数学与自然科学基础知识以及软件工程的基础理论、基本知识、基本技能和基本方法,熟练掌握先进的计算机软件开发技术,具有较强的信息教育软件设计和开发能力或数据与知识工程研究能力,具有创新精神和创新能力、良好的团队交流与组织协调能力,具有开阔视野和跟踪软件工程前沿领域发展的能力,能通过继续教育或其他终身学习途径拓展自己的能力的高素质专门技术人才。学生毕业后可在信息产业类企事业单位,从事复杂软件工程项目系统分析与设计、开发和维护等工作;也可进入国内外高等院校、科研院所继续深造。

根据软件工程专业培养目标的人才定位,对学生毕业5年左右的职业发展预期目标分解如下:

1.培养信念执着、品德优良,具有良好的科学素养、社会责任感和环境意识。

2.掌握数学与自然科学基础知识,软件工程的基础理论、基本知识、基本技能和基本方法。

3.熟练掌握先进的计算机软件开发技术。

4.具有较强的信息教育软件设计和开发能力或数据与知识工程研究能力。

5.具有创新精神和创新能力。

6.具有良好的团队交流与组织协调能力。

7.具有开阔视野和跟踪软件工程前沿领域发展的能力。

8.能通过继续教育或其他终身学习途径拓展自己的能力的高素质专门技术人才。

(二)毕业要求

1.【工程知识】掌握数学、自然科学、软件工程基础和专业知识,并具备运用这些知识解决计算机软件及交叉领域的复杂工程问题。

2.【问题分析】能够应用数学、自然科学和工程科学的基本原理,进行抽象分析与识别、建模表达、并通过文献研究分析计算机软件及交叉领域复杂工程问题,以获得有效结论。

3.【设计/开发解决方案】能够设计针对计算机软件及交叉领域复杂工程问题的解决方案,设计满足特定需求的计算机算法、模块、开发流程或系统方案,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

4.【研究】能够基于计算机软件领域科学原理并采用科学方法对计算机软件及系统工程问题进行研究,包括设计实验、分析与解释数据,并通过信息综合得到合理有效的结论。

5.【使用现代工具】能够针对计算机软件及交叉领域复杂工程问题,开发、选择与使用恰当的技术、软硬件开发环境及系统资源、现代工程研发工具和信息检索工具,完成对复杂工程问题的预测与模拟,并能够理解其局限性。

6.【工程与社会】能够基于软件工程相关背景知识进行合理分析,评价软件工程专业工程实践和复杂工程问题解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。

7.【环境和可持续发展】能够理解和评价针对计算机软件及交叉领域复杂工程问题的专业工程实践对环境、社会可持续发展的影响。

8.【职业规范】具有良好的人文社会科学素养、职业道德、心理素质和社会责任感,能够在软件工程实践中理解并遵守行业职业道德和规范,履行责任。

9.【个人和团队】能够在多学科背景下的团队中承担个体、团队成员及负责人的角色。

10.【沟通】能够就计算机软件及交叉领域复杂工程问题与业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令。具备初步的外语应用能力,能阅读本专业的外文材料,具有一定的国际视野,能够在跨文化背景下进行交流。

11.【项目管理】理解并掌握工程管理原理与经济决策方法,熟悉软件工程项目管理的基本方法和技术,并能在多学科环境中应用。

12.【终身学习】具有自主学习和终身学习的意识,有不断学习和适应软件技术快速发展的能力。 

四、学制和修业年限

1. 学制:标准学制为4年,实行弹性学制和学分制管理。

2. 修业年限:可在3-6年内完成学业。

五、所属学科门类及相近专业

1. 所属学科门类:工学。

2. 相近专业:计算机科学与技术、信息安全、数据科学与大数据技术。

六、专业核心课程

本专业的主干(核心)课程包括:程序设计基础、面向对象程序设计(Java)、离散数学、数据结构、数据库原理、操作系统、计算机网络、计算机组成原理、软件工程(限数据与知识工程方向)、软件设计与体系结构(限信息教育软件技术方向)、软件测试(限信息教育软件技术方向)和软件项目管理(限信息教育软件技术方向)。这些主干课程在课程设置计划表中均用“*”加以标注。

七、主要实验及实践教学要求

(一)课堂实验实训教学

本专业的大多数课程都有对应的课堂实验课时,12门专业主干课程中除了离散数学之外,其余11门都有课堂实验的课时,它们的主要内容如下:

1. 程序设计基础课程实验

程序设计基础课程实验要求学生完成C语言的基本知识和运行C程序的方法、程序的三种基本结构、数组、函数、预编译处理、指针、结构体和共用体、位运算和文件操作等实验。通过上机实验练习,使学生在初步获得有关程序设计的基本概念、基础知识,特别是如何形式化地表述解决问题的算法后,能够更牢固地掌握C语言的数据类型、基本控制结构、流及文件的操作,并且基本掌握C语言中有关函数、数组、结构体及指针等难度较高的概念及知识,具有熟练应用C编译系统编辑、编译、连接、调试及改错以解决实际计算问题的能力。

2.面向对象程序设计(Java)课程实验

面向对象程序设计(Java)课程实验要求学生完成Win32或Linux控制台程序设计及基本程序结构、函数、类和对象、数组、派生类与继承性、接口、多态性、类模板、流类库与I/O、异常处理等实验。通过实验,使学生更深入地了解面向对象程序设计与面向过程程序设计的区别,全面完整的理解面向对象的基本概念和基本理论,较好地掌握面向对象程序设计的方法和技术。在实验课中注重培养学生采用面向对象的思想分析问题和解决问题的能力及严谨认真的工作态度。

3.数据结构课程实验

数据结构课程实验要求学生完成顺序表的操作、链表的操作、堆栈和队列、二叉树操作、图的操作、查找操作、排序、图书管理综合应用等实验。通过实验,使学生加强对数据结构课程中重点算法的理解与掌握,在实验中设计出高效的算法,结合一些实际应用培养学生解决实际问题的能力,提高学生的编程能力及良好的编程风格。

4.数据库原理课程实验

数据库原理课程实验要求学生掌握结构化查询语言SQL的使用,完成数据定义、数据查询、数据更新、数据库的恢复等实验。通过实验使学生进一步巩固所学的理论知识、提高综合运用的能力,熟悉数据库设计从规划→需求分析→概念设计→逻辑设计→物理设计→数据库的实现,完成数据库设计,建立一个管理信息系统的数据库。基本熟悉至少一种数据库管理系统开发工具,并使学生具有设计、使用和维护一般数据库系统的基本能力。

5.操作系统课程实验

操作系统课程实验要求学生完成访问Linux系统、进程控制与描述、并发程序设计、存储管理、输入/输出管理等实验。通过实验使学生获得必要的感性知识;进一步掌握和巩固所学的理论知识,熟悉Linux操作系统的用户界面、编程方法与系统功能编程接口,使学生对操作系统的功能和原理的实现有更加深入的理解,加深了解操作系统的工作机理,为今后从事各种软件的设计和开发打下基础,培养学生综合运用所学知识的能力和程序设计的技能。

6.计算机网络课程实验

计算机网络课程实验要求学生完成CRC校验、滑动窗口协议、VLAN、子网划分、路由通信协议、综合组网、WinSOCKET网络通信接口编程等实验。通过实验使学生获得必要的感性知识;进一步掌握和巩固各种网络协议的基本原理和运行机制,学习常用设备的使用方法和网络应用技术,培养学生综合运用知识的能力和实验技能,提高分析问题和解决问题的能力。

7.计算机组成原理课程实验

计算机组成原理课程实验要求学生完成运算器实验、半导体存储器原理实验、微程序控制器组成实验、基本模型机设计与实现实验等。通过实验,使学生对计算机各组成部分的原理及工作方式有更加深入的理解,并在此基础上,建立起计算机整机的概念。同时,也可使学生了解一些常用集成电路芯片的功能及其使用方法,为后续课程及今后从事硬件设计和应用开发打下基础。

8.软件工程课程实验

软件工程课程实验要求学生完成软件工程各主要阶段的任务操作以及阶段结果之间的转换操作。例如,从数据流图到模块结构图的转换,或从用例图到时序图的转换等。主要阶段包括需求获取、需求分析、概要设计、详细设计,以及软件架构和模式、软件产品线定义、软件版本管理和维护等。此外,本实验还要求学生完成软件工程文献调研并撰写调研报告,为今后从事软件设计和开发、软件工程领域研究打下基础。

9.软件设计与体系结构课程实验

软件设计与体系结构课程实验要求学生采用面向对象的方法完成指定系统的需求、分析和设计工作,让学生通过整个事件过程,掌握课程中所介绍的原理和方法,熟练运用相关软件工程方法和工具,来完成整个系统的分析设计工作,为今后从事复杂系统软件开发打下基础。

10.软件测试课程实验

软件测试课程实验要求学生掌握软件测试的基本理论、测试策略和测试模型,设计测试计划和测试用例,规范测试流程和文档管理,分析软件质量,并进一步熟悉测试项目管理和撰写测试报告等,为从事实际软件测试工作和深入研究测试理论打下实践基础。

11.软件项目管理课程实验

软件项目管理课程实验要求学生用MS Project或相当的辅助管理软件,模拟常见的开发模型,例如瀑布模型、螺旋模型等,编制软件项目管理的核心计划,例如范围计划、时间计划和成本计划,要求学生用辅助管理软件记录并追踪软件开发各阶段的结果,并以此记录数据,撰写管理报告。为将来从事软件项目管理打好基础。

(二)专业见习

专业见习一般由老师统一带队到一些计算机软件开发相关企业,请企业的有关技术人员介绍计算机软件行业的实际发展现状,参观、了解计算机软件开发流程等,也可到中大型企事业单位参观计算机软件应用情况,了解各种计算机软件应用类型、应用方案,分析各种不同企事业单位的软件产品生产经营或事务管理情况与计算机软件应用方案之间的关系,了解企事业单位的计算机软件应用需求。

(三)专业实习

专业实习是一门使学生了解并掌握本专业所学理论知识在企事业单位的实际生产管理中具体应用的实践教学课程。其主要目的是开阔学生视野,丰富学生的知识结构,进一步提高学生理论联系实际的能力,为毕业论文(设计)做准备。是学生走上实际工作岗位前非常重要的实践。专业实习的主要内容和要求包括:(1)适应实际工作岗位,初步认识并体会企事业单位工作岗位的性质、职责和内容等;(2)学习、了解并掌握实习单位的计算机与软件的实际应用情况,增强学生理论联系实际的能力;(3)巩固、提高所学专业知识,提高实际动手能力以及分析问题和解决问题的能力。能够就某些专门化技术在一些领域的应用前景提出自己的见解、设想和展望。(4)学习企事业员工认真负责的工作态度、敬业精神,培养学生劳动观念、集体观念,培养学生正确的人生观,树立良好的社会责任感,引导学生建立良好的择业观。专业实习采用分散与集中实习相结合的方式。经学院领导批准,允许部分学生自己联系实习单位,其他学生由学院统一组织实习。

(四)毕业论文或毕业设计

参见学校及学院的毕业论文要求。

(五)技能训练

本专业的技能训练主要通过课程实验、课程设计、集中实践、大学生创新创业活动和学科竞赛等环节实施,技能训练过程中注重校企联合。

(六)科研训练

主要通过参与教师的科研课题和学院或学校组织的学术活动接受初步的科研训练,也可在教师的指导下学生自己组织进行课外科研活动,并参与各项科技学术活动或学科竞赛。

八、毕业学分与授予学位

(一)毕业最低学分要求:165学分。

(二)授予学位:工学学士学位。