37000Cm威尼斯
软件工程专业
2021/05/25 | 作者: | 254次浏览 | 分类:计算机科学与信息工程学院/软件学院 |

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

一、专业简介

广西师范大学软件工程专业创办于2013年,2014年开始招收本科学生。2018年获广西高校特色专业,2020年获广西一流本科专业建设点,2021年获国家级一流本科专业建设点。其所在学科软件工程2011年获一级学科硕士点,2018年获一级学科博士点、广西一流学科。本专业所在的计算机科学与工程学院有雄厚的师资力量和良好的支撑平台,有国家“万人计划”创新研究团队、广西“八桂学者”创新研究团队、广西自然科学基金创新研究团队、广西“大数据智能与应用”人才小高地等创新研究团队。拥有广西多源信息挖掘与安全重点实验室、广西区域多源信息集成与智能处理协同创新中心、广西应用数学中心(广西师范大学)、广西智能无人机工程技术研究中心、计算机实验教学中心(自治区级实验教学示范中心)、计算机科学与信息技术协同育人平台(自治区级)等。设有CCF计算机软件能力认证、“1+X”数字媒体交互设计职业技能等级认证(中高级)、“蓝桥杯”全国软件专业人才设计与创业大赛等多个专业能力认证点和赛点。

本专业为计算机类工科专业,坚持理论实践并重的办学理念,旨在培养计算机软件系统研发的创新型高级专门人才。以“学术论坛、大学生创新基地、本研专业实验室、科技竞赛、专业技能认证”为载体,拓展第一课堂教学,实现“第一课堂和第二课堂互动、课内教学与课外训练互补、理论学习和社会实践相结合”的教育教学模式。学生毕业后可在企事业单位从事计算机应用软件系统的研发、运维和管理工作,也可进入高等院校和科研院所进一步从事信息技术与知识工程研究工作。近年来有相当部分毕业生供职于华为、字节跳动、腾讯、深信服等互联网一线科技公司,从事软件设计师、系统架构师、测试工程师、项目管理工程师等计算机相关工作;还有部分毕业生到中国科学院大学、中南大学、湖南大学、深圳大学、澳大利亚悉尼大学等国内外知名大学深造。

二、专业代码、名称

(一)专业代码:080902

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

三、培养目标及毕业要求

(一)培养目标

本专业以立德树人为根本、服务国家战略和区域经济发展为目标,立足广西、面向全国、辐射东盟,培养具备人文素养、工程知识和实践能力,系统掌握数学与自然科学基础知识以及软件工程理论、技术与专业技能,具有良好的沟通交流能力和团队合作精神,具有职业道德、创新精神和国际视野的软件工程创新型高级专门人才。学生毕业后能在企事业单位、政府部门和教育行业从事软件工程及相关领域的技术研究、系统设计与开发、运行维护和项目管理等工作,也可进入国内外高等院校、科研院所继续深造。学生毕业5年左右,应具有的素质能力即本专业培养目标如下:

目标1(职业能力):具备软件工程专业领域所需的扎实的数学、自然科学和工程基础,以及扎实的软件工程基础理论、知识和专业能力。   

目标2(职业定位):能够在软件工程相关应用领域作为技术骨干承担软件系统分析设计、软件技术研究、项目管理和系统运维等工作,具备独立承担软件工程相关应用领域中等规模以上项目设计和开发、或独立开展科学研究工作的能力。

目标3(职业素养):具备良好的人文社会科学素养、社会责任感和工程伦理道德,能在软件工程实践中综合考虑社会、经济、法律、环境与可持续性发展等因素影响,能坚持公众利益优先。

目标4(组织管理):具有较强的协调、管理、沟通和合作能力,领导团队完成软件工程项目任务。 

目标5(自我发展):具备终身学习的能力和开阔的视野,有较强的创新意识,主动适应社会环境和软件技术的发展变化,能通过继续教育或其他终身学习途径拓展自己的职业能力。

 

(二)毕业要求

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

指标点1.1掌握数学与自然科学基本概念、基本理论和基本技能,具有逻辑思维和逻辑推论能力。

指标点1.2掌握计算机软件解决复杂工程问题的基本方法,并遵循复杂软件系统开发的工程化相关规范。

指标点1.3系统掌握软件工程的基础理论及专业知识,具备理解计算机软件系统复杂工程问题的能力。

指标点1.4 能将相关知识和模型用于推理、分析应用型复杂软件系统问题,能够比较、分析复杂软件系统的解决方案,并提出优化和改进建议。

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

指标点2.1 能够运用数学、自然科学和工程科学的基本原理,识别和判断软件工程领域的复杂工程问题的关键环节,确定主要技术指标。

指标点2.2 能够针对软件工程领域的复杂工程问题进行需求分析和建模。

指标点2.3能基于相关科学原理和数学模型方法正确表达复杂工程问题,构造基于计算原理的原型系统,并分析其合理性。

指标点2.4 能够认识到解决实际问题可有多种方案,通过文献调研分析过程的影响因素,并获得有效结论。

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

指标点3.1 掌握软件系统设计和开发的基本设计、开发方法,了解影响设计目标和技术方案的各种因素。

指标点3.2掌握数据描述和存储的基本理论和方法,能够合理地组织数据、有效地存储和处理数据。

指标点3.3能根据特定需求,正确地进行算法设计、分析和评价,设计满足功能和性能要求的模块或组件。

指标点3.4能够进行复杂软件系统的总体设计,开发满足特定需求和约束条件的计算机软件系统,并能够进行模块和系统级优化。

指标点3.5在设计/开发解决方案过程中,具有追求创新的态度和意识,考虑相关的社会、健康、安全、法律、文化以及环境等因素。

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

指标点4.1能够针对具体的功能、性能要求进行算法设计。

指标点4.2 能够根据实验方案选用适当的实验方法和手段开展实验,正确地记录实验数据,规范地表述实验结果。

指标点4.3针对设计或开发的解决方案,能够通过理论证明、实验仿真或者系统实现等多种科学方法说明其有效、合理性,并对解决方案的实施质量进行分析,通过信息综合得到有效结论。

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

指标点5.1  掌握本专业常用的信息技术工具、建模软件、开发工具和平台以及测试工具的使用方法,并理解其局限性。

指标点5.2能够通过图书馆、互联网及其他资源或信息检索工具,进行资料查询、文献检索,了解软件工程专业重要资料与信息的来源及其获取方法。

指标点5.3能够选择和使用适当的工具和软件,对计算机软件领域复杂工程问题进行分析、建模和设计。

指标点5.4  能够针对具体软件工程问题,分析所使用的现代开发工具的优势和不足,并理解其局限性。

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

指标点6.1熟悉计算机软硬件开发、系统分析设计等计算机工程实践过程和复杂计算机工程问题解决方案相关的技术标准,了解知识产权保护、行业政策和法律法规。

指标点6.2在软件工程相关领域开展工程实践和复杂工程问题解决过程中,能够基于软件工程领域相关背景知识进行合理分析,思考和评价工程对社会、健康、安全、法律以及文化的影响。

指标点6.3理解计算机软件相关领域工程实践中应承担的社会责任。

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

指标点7.1 了解环境保护和社会可持续发展方面的方针、政策与法律法规,在软件工程实践中有环境保护和可持续发展意识。

指标点7.2  能够理解、分析和评价计算机技术和复杂软件系统工程实践对环境、社会可持续发展所产生的影响,能从环境保护和可持续发展的角度分析评价复杂软件系统的可持续性。

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

指标点8.1  了解国情,树立正确的世界观、人生观和价值观,具有良好的身心素质、人文社会科学素养和社会责任感。

指标点8.2  理解行业职业性质和诚实公正、诚信守则的职业道德和规范,并在工程实践中自觉遵守。

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

指标点9.1 能够正确认识自我,理解个人素养的重要性,具有一定的独立工作能力。

指标点9.2能胜任团队成员角色,具有团队协作、人际交往能力,能与其他团队成员进行有效沟通。

指标点9.3 具有担当意识,具备团队负责人角色的相关能力,能组织管理、协调和指挥团队开展工作。

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

指标点10.1具备良好的英语听说读写能力,针对软件工程专业领域具有一定的跨文化沟通和交流能力。

指标点10.2了解本专业领域的国际前沿与产业发展,了解软件工程专业相关的技术热点,并能够发表看法。

指标点10.3能够正确使用本专业的技术语言,通过撰写技术报告、设计文稿、实施方案等方式,在跨文化背景下就复杂软件工程问题和方案进行基本沟通和交流。

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

指标点11.1掌握软件工程项目管理原理,理解软件工程生命周期中的成本、进度、质量、风险等构成的分析及决策方法。

指标点11.2能在涉及多学科的工程实践中运用软件工程项目管理方法和经济分析决策方法。

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

指标点12.1具有自主学习和终生学习的意识,认同自主学习和终身学习的必要性。

指标点12.2具备运用现代化信息技术查找、阅读和理解专业文献,能够追踪本专业发展的前沿和趋势,并能够不断学习专业新知识和新技术。

指标点12.3具有总结和归纳技术问题的能力,能够发现实践过程中存在的问题,分析和总结涉及的技术方法。

 

 

四、学制和修业年限

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

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

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

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

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

六、专业核心课程

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

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

(一)课堂实验实训教学

本专业的大多数主干课程都有对应的课堂实验课时,课程实验内容如下:

1.数据结构课程实验

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

2.数据库原理课程实验

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

3.操作系统课程实验

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

4.计算机网络课程实验

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

5.计算机系统基础课程实验

计算机系统基础课程实验要求学生完成数的“机器级表示实验”、“ 二进制炸弹”、“高级语言的机器级表示”、“程序的编辑、编译和调试”、“存储器实验”等5个实验。通过实验,使学生对计算机各组成部分的原理及工作方式有更加深入的理解,建立高级语言程序、ISA、OS、编译器、链接器等之间的相互关联,对指令在硬件上的执行过程和指令底层硬性执行机制有一定认识和理解,建立硬件/软件协同的整机概念。同时,也可使学生了解一些常用集成电路芯片的功能及其使用方法,为后续课程及今后从事硬件设计和应用开发打下基础。

6.软件工程课程实验

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

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

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

8.软件测试课程实验

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

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

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

(二)综合实训课程

本专业设置了1门课程设计和5门综合实训课程,它们的主要内容如下:

1. 程序设计基础综合实训

本课程是《程序设计基础》课的配套实践课程,安排在修完《程序设计基础》后的假期集中开展(小学期),为期1周。目的是培养学生的程序设计与开发实践能力。学生以小组为单位,在教师的指导下完成一项小型的软件系统设计开发项目,并撰写调研报告、系统分析与设计说明书、项目总结报告等文档,最后通过项目验收和答辩进行考核。通过本实训环节,学生能够巩固和加深对所学程序设计基础课程理论知识的理解,熟练掌握程序设计语言的使用,理解结构化程序设计思想,培养起良好的编程风格和习惯,具备团队合作、文献查阅、报告撰写等基本技能,为今后从事本专业相关工作奠定坚实的基础。

2.面向对象程序设计综合实训

本课程安排在学生修读完《面向对象程序设计(Java)》课程后的假期集中开展(小学期),为期1周。目的是加强学生的程序设计与系统开发实践能力。学生以小组为单位,在教师的指导下完成一项中小型软件系统设计开发项目,并撰写报告,进行答辩。通过本实训环节,学生能够巩固和加深对所学程序设计基础课程理论知识的理解,熟练掌握面向对象程序设计语言的使用,理解面向对象程序设计思想,培养起良好的编程风格和习惯,具备团队合作、文献查阅、报告撰写等基本技能,为今后从事本专业相关工作奠定坚实的基础。

3.数据结构课程设计

本课程是本专业核心课程《数据结构》的配套实践课,用于巩固《数据结构》课程所学的知识,提高学生的程序设计综合实践能力。本课程采用以学生组团完成某个实际应用问题的需求分析、数据逻辑结构判断和存储表示、算法设计和编程调试、实验测试和结果分析、以及报告撰写和课程答辩任务的形式,锻炼学生从需求分析到编程实现各阶段的分析、设计与实现的能力,使学生具备运用数据结构化的思想与方法解决实际计算问题的能力,并形成良好的程序设计风格和团队协作意识。

4. 数据库应用开发综合实训

本课程是为加强学生数据库设计与应用开发实践能力而开设的一门综合实训课程,安排在修完《数据库原理》课后的假期集中开展,为期2周。在实训过程中,指导教师通过给学生布置具体的数据库应用系统设计与研发任务,使学生在利用所学专业知识解决计算机软件及交叉领域复杂工程问题上得到一次全面、综合的训练,达到锻炼学生运用现代工具解决工程实际问题的能力和沟通表达能力。

5. 软件开发综合实训

本课程是综合训练学生的软件设计、开发和部署等各方面的能力。以小组团队为单位,通过项目计划、需求调研和分析、系统概要设计、详细设计、编码和单元测试、集成测试、部署和交付等软件系统开发各个环节的实训,使学生对软件系统的整个开发过程有直观、切身的体会,明确软件系统开发各个阶段的工作内容、相关规范和实施流程,掌握软件设计、编码、测试等不同任务主流工具平台的使用,熟悉各种软件开发文档的格式要求,锻炼沟通和交际能力,培养团队协作意识,为即将到来的专业实习、毕业设计和走向社会做好必要的准备。

6. 网络通讯软件开发综合实训

本实训将学生分成小组,以小组为单位共同完成一个小型网络通讯软件系统的开发,让学生经历一个完整的网络通讯软件开发过程。通过开发过程中各环节的训练,让学生能够巩固和加深对所学计算机网络课程理论知识的理解,掌握网络通讯软件的设计、开发和调试方法,训练团队合作、文献查阅、报告撰写等技能,培养起良好的编程风格和习惯。

(三)专业见习

专业见习时间为2周。见习方式一般为专业指导老师统一带队到计算机软件开发相关企业、科研院所等单位开展与专业相关的观摩、调研等实践活动,请有关技术人员介绍单位在软件研发方面的经验和成就、行业发展现状和人才需求情况,让学生了解计算机软件的开发流程、信息技术的具体应用等。学生也可以申请到中大型企事业单位参观、调研计算机软件应用情况,了解各种计算机软件应用类型、应用方案,分析各种不同企事业单位的软件产品生产经营或事务管理情况与计算机软件应用方案之间的关系,了解企事业单位的计算机软件应用需求。

(四)专业实习

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

专业实习安排在第6和第7学期之间,一般从暑假开始,持续到10月中旬,总学时12周。专业实习采用分散与集中实习相结合的方式。允许部分学生自己联系实习单位,并经学生申请、学院分管领导批准后自行开展实习,其他学生由学院统一组织实习。

(五)毕业论文(设计)

毕业论文(设计)是本专业教学进程中最后一门极其重要的实践性教学必修课程,安排在第7-8学期,总学时28周。分为选题、开题、课题实施、中期检查、论文检测与评阅和毕业答辩等教学环节。学生在教师的指导下,完成一项具体的计算机软件系统设计和研发试验、撰写毕业论文、参加论文答辩,使学生在利用所学专业知识解决计算机软件及交叉领域复杂工程问题上得到一次全面、综合的训练,全面锻炼学生运用现代工具解决工程实际问题的能力和沟通表达能力。

(六)技能训练

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

(七)科研训练

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

(八)第二课堂或实践活动

本科生须根据“第二课堂成绩单”制度规定,参与并完成第二课堂课程或实践活动评价考核,获得“第二课堂学分”并形成“第二课堂课程成绩单”记录至学生档案,学生至少需修读6学分(不占用原本专业165的总学分)方可毕业。未完成规定学分的不予毕业。“第二课堂”学分认定内容包括:思想成长、实践锻炼与志愿服务、创新创业、文体活动、社会工作(含社团)、技能特长及其他等七个模块。“第二课堂学分”计算方法与管理由校团委负责,“第二课堂学分”不另外收取学费。

八、毕业学分与授予学位

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

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


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

 

一、专业简介

广西师范大学软件工程专业属于软件工程一级学科,创办于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学分。

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


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

  

一、专业代码、名称

(一) 专业代码:080902

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

二、培养目标

本专业着力培养信念执着、品德优良,具有良好的科学素养、社会责任感和环境意识,掌握数学与自然科学基础知识以及软件工程的基础理论、基本知识、基本技能和基本方法,熟练掌握先进的计算机软件开发技术,具有较强的软件设计和开发能力,具有创新精神和创新能力、良好的团队交流与组织协调能力,具有开阔视野和跟踪软件工程前沿领域发展的能力,能通过继续教育或其他终身学习途径拓展自己的能力的高素质专门技术人才。

学生毕业5年左右,能够胜任软件工程相关应用领域系统设计、技术研发、项目管理、运行维护等业务岗位工作,成为软件工程领域的工程师,其应具有的素质能力即本专业培养目标如下:

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

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

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

目标4:具有较强的软件设计和开发能力。

目标5:具有创新精神和创新能力。

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

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

目标8:能通过继续教育或其他终身学习途径拓展自己的能力。

 

三、专业培养特色和具体要求

(一)专业特色

本专业是计算机学科中主要面向计算机软件开发的纯工科型专业。学生通过较宽广的软件工程方向的必修和选修课的学习,配合以软件系列为主的专业拓展课程学习,主要向计算机软件方向的工科专业发展,将来主要在计算机软件企业从事有一定通用性的软件开发工作,或在企事业单位从事有部门、行业或单位特色的计算机应用软件的开发、维护、实施和相关管理工作。

(二)毕业基本要求

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

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

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

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

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

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

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

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

毕业要求9  个人和团队:能够在多学科背景下的团队中承担个体、团队成员及负责人的角色。

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

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

毕业要求12  终身学习:具有自主学习和终身学习的意识,有不断学习和适应软件技术快速发展的能力。

表1 毕业要求对培养目标的支撑关系表

 

目标1

目标2

目标3

目标4

目标5

目标6

目标7

目标8

毕业要求1

 

 

 

 

 

 

 

毕业要求2

 

 

 

 

 

 

 

毕业要求3

 

 

 

 

 

毕业要求4

 

 

 

 

毕业要求5

 

 

 

 

毕业要求6

 

 

 

 

毕业要求7

 

 

 

 

 

 

毕业要求8

 

 

 

 

 

 

 

毕业要求9

 

 

 

 

 

 

 

毕业要求10

 

 

 

 

 

 

毕业要求11

 

 

 

 

毕业要求12

 

 

 

 

 

 

 

四、学制和修业年限

(一) 学制:标准学制为4年,实行弹性学制和学分制管理。

(二) 修业年限:可在3-6年内完成学业。

 

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

(一) 所属学科门类:工学

(二) 相近专业:计算机科学与技术、信息安全、信息管理与信息系统

 

六、专业核心课程

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

 

七、主要实践教学环节

 (一) 课堂实验教学

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

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

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

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

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

3.数据结构课程实验

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

4.数据库原理课程实验

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

5.计算机网络课程实验

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

6.操作系统课程实验

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

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

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

8.软件工程课程实验

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

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

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

10.软件测试课程实验

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

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

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

(二) 见习

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

(三) 毕业实习

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

专业实习采用分散与集中实习相结合的方式。经学院领导批准,允许部分学生自己联系实习单位,其他学生由学院统一组织实习。

(四) 毕业论文(设计)

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

 (五) 技能训练

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

(六) 科研训练

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

八、毕业最低学分要求及学位授予学科门类

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

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


  • 地址 :广西师范大学育才校区育才路15号
  • 邮编 :541000
37000Cm威尼斯-威斯尼斯人8188cc(中国)官网 - App Store 版权所有 备案号: