软件工程专业人才培养方案
发布时间: 2022-05-13

·   

软件工程专业人才培养方案 

 

 

一、培养目标

本专业培养德、智、体、美、劳全面发展,掌握计算机科学的基础理论、软件工程专业的基础知识和应用能力;(理论、知识、技能),具有软件开发实践经验、软件维护及项目组织管理能力(能力、素养、精神),能够承担企业、事业、政府、社会组织等部门的软件规划、设计、管理、开发、测试及应用,(行业、领域、部门、岗位),从事在软件开发、软件测试领域从事设计、开发、管理等方面工作,具有较强的创新意识、创业精神和社会责任感的高素质应用型专门人才。

本专业学生毕业后5年左右能达成下列目标:

目标1. 掌握数学、自然科学、工程基础和软件工程技术专业知识;

目标2. 具备较强的软件工程项目的设计、开发、测试软件工程管理等应用能力;

目标3. 具有良好的团队合作、沟通交流和项目管理能力,能够作为团队成员或领导团队完成项目的实施,具备创新精神和创业能力;

目标4:能跟踪学习软件工程领域的新技术,具有较强的终身学习和可持续发展能力;

目标5:能适应环境变化和社会发展的需要,具有国际视野,把握时代特征与社会需求,具备良好的个人素质、职业道德、人文素养、专业素养和社会责任感。

二、培养规格

培养规格

指标点

1.工程知识:

具有从事软件工程所需的数学、自然科学和工程基础知识,能够将数学、自然科学、工程基础和专业知识用于解决软件工程领域的复杂工程问题。

 

1-1能够使用数学与自然科学的基本知识、考虑多方面的因素将复杂工程问题进行正确描述和表达。

1-2. 能够使用合适的数学公式或模型对复杂工程问题进行求解或近似求解。

1-3. 能够使用工程原理和数学、自然科学知识将工程问题形式化与应用专业知识解决工程计算问题,具有一定的软件设计能力,将数学公式或模型使用计算机进行计算或近似计算。

2.问题分析:

能够应用数学、自然科学、计算机科学和软件工程的基本原理,识别、表达、并通过文献研究分析软件工程领域的复杂工程问题,以获得有效结论。

2-1. 能够识别和判断复杂工程问题的关键环节和参数,将复杂工程问题进行分析,识别其关键环节和参数,并能够表达出来。

2-2. 能够在安全、环境、法律等现实约束条件下通过技术、经济评价等论证设计方案的可行性。按照软件工程基本理论,在考虑社会、健康、安全、法律、文化以及环境等因素下可对设计方案及软件系统、可复用模块或组件等在技术、经济等方面进行评价,确认其可行性。

2-3. 能够应用数学、自然科学和工程科学的基本原理证实解决方案的合理性,通过实验比较来验证解决方案的准确性和合理性,获得有效结论。

3.设计/开发解决方案:

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

3-1. 能够根据软件工程知识和数学知识给出复杂软件工程设计的基本思路和解决方案。

3-2. 能够在安全、环境、法律等现实约束条件下,通过技术经济评价对设计方案的可行性进行分析。

3-3.能够在软件设计或实现方法中体现出创新意识,降低软件的复杂度,提高软件的可用性、友好程度等。

4.研究:

能够基于科学原理并采用科学方法对软件工程领域的复杂工程问题进行研究,包括设计实验和建立模型、分析与解释数据、并通过信息综合得到合理有效的结论。

4-1. 能够理解系统软件的设计思路和基本原理并能够运用相应原理采用科学方法解决具体问题。理解操作系统、编译器、数据库管理系统等复杂软件系统的设计原理,并采用科学方法进行实验以解决具体复杂软件工程问题,具备初步工程研究能力。

4-2.能够建立软件模型、设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

4-3. 能够融合专业知识结构,具备对复杂软件工程问题进行深入研究的能力。

5.使用现代工具:

能够针对软件工程领域的复杂工程问题,开发、选择与使用恰当的技术、资源、现代软件工具和信息技术工具,对复杂工程问题进行预测、模拟和验证,并能够理解其局限性。

5-1. 能够开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具完成复杂软件工程需求分析、预测、模拟。

5-2. 能够使用恰当的工具和技术对软件体系架构和设计模式进行选择,并完成软件设计,并理解选择的局限性。

5-3. 能够采用恰当的方法和工具对软件进行测试和验证,并能够给出应用和维护方案。

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年,修业年限为4-6年

2.学分:毕业最低要求学分为180学分其中通识教育选修课不少于8学分,专业选课不少于6学分,创新创业实践不少于4学分,社会责任教育实践不少于5学分,劳动教育理论与实践不少于2学分。

、毕业与授予学位

学生在规定的修业年限内,完成专业培养方案规定的课程和学分要求,考核合格,准予毕业,颁发普通高等学校全日制本科毕业证书。符合蚌埠学院学士学位授予条件规定的,授予学学士学位。

、主干学科、核心课程、特色课程与主要实践性教学环节

1. 主干学科:软件工程。

2. 核心课程及简介C语言程序设计、数据结构、数据库系统原理、计算机网络基础、操作系统、Java程序设计、软件工程、软件项目管理、软件测试技术与实践等。

1)C语言程序设计(C032905

授课总学时:64;学分:4;课程性质:专业基础课

课程内容概要:本课程使学生对计算机程序设计有一个初步的正确的认识,学会阅读与编写简单的应用程序,掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格,为进一步学习其它专业基础课程和专业课程打下良好的基础。

推荐教材或参考书目:

[1] 郭有强.《C语言程序设计》.出版地:人民邮电出版社,2016

[2] 何钦铭.《C语言程序设计(第二版)》.出版地:高等教育出版社,2012

[3] Brian W.Kernighan,Dennis M.Ritchie.C程序设计语言(第2版·新版)》.出版地:机械工业出版社,2014

[4] [美] Stephen Prata.《C Primer Plus 第6版》.出版地:人民邮电出版社,2016

[5] 翁恺.《程序设计入门——C语言》,http://www.icourse163.org/course/zju-199001

2数据结构(C012510)

授课总学时:48;学分:3;课程性质:专业基础课

课程内容概要:“数据结构”是计算机程序设计的重要理论技术基础,以抽象数据类型的观点组织和讲解线性表、树、二叉树、图等各种主要的数学模型并定义为相应的抽象数据型,给出各种物理表示法和有关算法,主要研究分析计算机存储、组织数据的方式

推荐教材或参考书目:

[1] 严蔚敏.《数据结构.出版地:清华大学出版社,2018

[2] 熊岳山.《数据结构C++描述)(2版)》. 出版地:清华大学出版社,2015

[3] 殷人昆.《数据结构(C语言版)(第2版)/清华大学计算机系列教材》.出版地:清华大学出版社,2017

[4] 王海艳.《数据结构(C语言)》.出版地人民邮电出版社,2017

[5] 李春葆,《数据结构》,https://www.icourse163.org/course/WHU-1001539003

3)数据库系统原理(C012115

授课总学时:40;学分:2.5;课程性质:专业基础课

课程内容概要:介绍数据库系统的基本概念,数据库管理的规则和方法及数据库系统分析的常用工具和方法,包括数据模型、范式及范式分解、数据恢复及并发控制、关系数据库查询语言、E-R图的使用及数据库设计的一般方法。

推荐教材或参考书目:

[1] 万常选.《数据库系统原理与设计(第2版)》.出版地:清华大学出版社,2012

[2] 刘亚军.《数据库原理与应用》.出版地:清华大学出版社,2015

[3] 萨师煊,王珊.《数据库系统概论》.出版地: 高等教育出版社,2014

[4] 陆鑫.《数据库系统——原理、设计与编程(MOOC版)》.出版地:人民邮电出版社,2019

[5] 陈岭,《数据库系统原理》,https://mooc.study.163.com/course/1000031000#/info

4)计算机网络基础(C062102

授课总学时:56;学分:3.5;课程性质:专业基础课

课程内容概要:本课程是从事计算机科学与技术的研究和应用人员必须掌握的重要基础知识。通过本课程理论和实践的学习,使学生较牢固地掌握计算机网络的基本概念、原理、算法和协议,了解计算机网络的发展趋势,初步掌握分析和设计计算机网络的知识和技能,为今后从事相关研究和应用打下良好基础。

推荐教材或参考书目:

[1] 谢希仁.《计算机网络(第6版)》.出版地:电子工业出版社,2013

[2] 吴功宜.《计算机网络(第3版)》.出版地:清华大学出版社,2011

[3] [美] 特南鲍姆,韦瑟罗尔.《计算机网络(第5)》.出版地:清华大学出版社,2012

[4] Douglas , E.Comer.《计算机网络与因特网》.出版地:人民邮电出版社,2018

[5] 傅翀,《计算机网络系统》,http://www.icourse163.org/course/UESTC-1003039003

5)操作系统(C012113

授课总学时:40;学分:2.5;课程性质:专业基础课

课程内容概要:本课程主要介绍操作系统的设计方法和实现技术,讲授众多操作系统的设计精髓及操作系统最新技术。包括操作系统各组成部分的概述,互斥性和同步性,处理器实现,调度算法,存储管理,设备管理和文件系统。

推荐教材或参考书目:

[1]汤小丹.《计算机操作系统第四版》.出版地:西安电子科技大学出版社,2014

[2] []Andrew S. Tanenbaum,Herbert Bos.《现代操作系统》.出版地:机械工业出版社,2017

[3] [美] William,Stallings.《操作系统――精髓与设计原理(第八版)》.出版地:电子工业出版社,2017

[4] 斯托林斯,布朗,庞丽萍.《操作系统——精髓与设计原理(第8版)》. 出版地:人民邮电出版社,2019

[5] 骆斌,《计算机操作系统》,https://www.icourse163.org/course/nju-1001571004

6)Java程序设计(C018201

授课总学时:48;学分:3 ;课程性质:专业必修课

课程内容概要:本课程讲授Java语言的基础知识、运行机制、编程方法和技术,使学生理解面向对象程序设计思想培养学生用计算机思维方式进行计算机编程,使学生能够用Java语言作为一种思维工具解决处理现实问题,提高学生在程序设计中分析问题和解决问题的能力。

推荐教材或参考书目:

[1] 龚炳江,文志诚.《Java程序设计(慕课版)》.出版地:人民邮电工业出版社,2016

[2] [美]梁勇.《Java语言程序设计(基础篇第10版)》.出版地: 机械工业出版社,2015

[3] [美] 凯 S.霍斯特曼.《Java核心技术 基础卷》.出版地:机械工业出版社,2016

[4] 戴远泉, 李超.《Java高级程序设计实战教程》.出版地:人民邮电出版社,2018

[5] 卞璐等,《JAVA程序设计》,https://www.icourse163.org/course/SJU-1002087013

7)软件工程(C038101)

授课总学时:48;学分:3;课程性质:专业必修课

课程内容概要:介绍软件的基本概念和软件工程的目标,通过对传统的面向过程的软件开发方法和面向对象的软件开发方法的介绍,使学生掌握开发高质量软件的方法;通过对软件开发过程和管理技术的学习,使学生了解如何进行软件度量和管理,项目的组织和进度安排,怎样进行质量保证活动,从而能够有效地策划和管理软件开发活动。

推荐教材或参考书目:

[1] 张海藩.《软件工程导论(第6版).出版地:清华大学出版社,2013

[2] 钱乐秋.《软件工程(第2版).出版地:清华大学出版社,2013

[3] 伊恩.萨默维尔.《软件工程(原书第10版).出版地:机械工业出版社2018

[4] 陆惠恩 .软件工程(第3版).出版地:人民邮电出版社,2017

[5] 孙艳春,《软件工程》,https://www.icourse163.org/course/PKU-1003177002

8)软件项目管理(C013212

授课总学时:48;学分:3;课程性质:专业必修课

课程内容概要:介绍软件项目管理的基本知识和方法,软件项目管理的过程和框架。从项目范围计划、项目进度计划、项目成本计划、项目质量计划、项目人力资源管理、项目风险管理、项目执行控制等内容,全面介绍项目管理知识。

推荐教材或参考书目:

[1] 刘海.《软件项目管理》. 出版地:机械工业出版社,2015

[2] 万江.《软件项目管理案例教程(3版)》. 出版地:机械工业出版社,2015

[3] 李英龙.《软件项目管理实用教程. 出版地:人民邮电出版社,2016

[4] 刘凤华.软件项目管理(第二版). 出版地:人民邮电出版社,2018

[5] 韩万江,《软件项目管理》,https://www.icourse163.org/course/BUPT-1003557005

9)软件测试技术与实践(C013215)

授课总学时:32;学分:2;课程性质:专业必修课

课程内容概要:介绍软件测试技术的各个方面,包括软件测试概述、软件质量与质量保证、软件评审技术、软件测试策略、测试依据和规范、测试传统应用系统、单元测试技术、集成测试与配置项(确认)测试技术、系统测试技术、验收测试与回归测试技术、测试面向对象应用系统、测试Web应用系统、设计和维护测试用例、测试团队与测试环境、软件测试自动化及软件测试管理等

推荐教材或参考书目:

[1] 朱少民.《软件测试(第2版)》. 出版地:人民邮电出版社,2016

[2] 郑炜.《软件测试(慕课版)》. 出版地: 人民邮电出版社2018

[3] 蔡建平.《软件测试技术与实践/高等学校计算机应用规划教材.出版地: 清华大学出版社,2018

[4] 张增强.《软件测试实用教程.出版地:人民邮电出版社,2017

[5] 郑炜,《软件测试》, https://www.icourse163.org/course/NWPU-1003591005

3.特色课程及简介:

C++面向对象程序设计、计算机技术基础、数据结构、算法设计与分析、软件测试技术与实践课程设计、web程序设计、JavaEE项目综合设计

1)C++面向对象程序设计C013110)

授课总学时:56 ;学分:3.5;课程性质:专业必修课

特色类型:省级精品课程、大规模在线开放课程

课程特色:课程方案符合教育部计算机科学与技术教学指导委员会“高等学校计算机基础核心课程教学实施方案”精神,课程人才培养目标明确,教学理念先进,教学内容体系完整,教学方法及教学过程体现了先进性,具有创新性。教学视频知识点选择恰当,通俗易懂,制作精细;自编教材质量高,被40多所高校使用或馆藏;教师队伍结构合理;教学管理严格,教学特色鲜明。课程以“重实践、强能力、求创新”为目标,教学活动设计强调学生中心,突出学生学习兴趣和实际编程应用能力的培养。课程教学资源建设到位,网络教学资源丰富,能够促进学生和教师互动,满足学生个性化、自主性和研究性学习,有利于创新能力的培养。

课程网址:https://www.xueyinonline.com/detail/2430417(学银在线)

2)计算机技术基础(C032101)

授课总学时:24;学分:1.5;课程性质:专业基础课

特色类型:院级课程思政示范课程

课程特色:本课程在教学过程中渗透信息化法律意识与道德规范主要介绍计算机的工作原理、计算机硬件及软件、数据的表示、高级语言及程序设计技术、计算机网络的应用及数据库技术的基础知识。本课程的难点是计算机的体系结构及工作原理、高级语言及程序设计技术及数据库技术基础知识。

3)数据结构C012510

授课总学时:48 ;学分:3;课程性质:专业基础

特色类型:省级一流课程

课程特色:通过本课程的学习,可以从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、字符串、数组、广义表、树、二叉树、图和文件等常用的数据结构。掌握在各种常用的数据结构上实现的查找和排序运算。并对算法的时间复杂度和空间复杂性有一定的分析能力。最后能够针对简单的应用问题,选择合适的数据结构及设计有效的算法。

4)算法设计与分析(C013504

授课总学时:48 ;学分:3;课程性质:专业必修课

特色类型:赛学融合课程(程序设计竞赛、计算机博弈大赛)

课程特色:本课程主要介绍不同算法的设计思想及其应用,通过对各种算法的介绍让学生掌握对不同的问题要思考不同的解决方法,并同时考虑算法的时间和空间效率问题。该课程对学生继续深入学习计算机前沿课程奠定良好的基础,也适合对参加程序设计类竞赛的同学加强算法设计能力,对学生的创新能力培养具有很好的促进作用。

5软件测试技术与实践课程设计C017414

授课总学时:16;学分:0.5;课程性质:集中安排的实践教学活动

特色类型:校企合作共建课程(北大青鸟)

课程特色:本课程引入企业工程师开展教学,以一个真实案例讲解软件开发、测试等完整过程。通过本课程的学习,学生将了解软件开发到软件测试整个流程,并学会对于软件测试不同的形式不同的方法进行测试,检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

6JavaEE项目综合设计(C017214

授课总学时:32;学分:1;课程性质:集中安排的实践教学活动

特色类型:校企合作共建课程(安徽兮克电子有限公司、北京中公教育科技有限公司)

课程特色:本课程将通过企业一个具体真实的案例让学生掌握Web开发的完整流程,是对软件工程专业整体学习的综合验证性课程。课程以校企合作方式开展,引入企业现实案例开展教学,使学生能完成从Web前端到后台框架整体功能的开发,本课程的完成将使学生具备软件工程整体的认知和开发软件初步的基本能力。

7)web程序设计(C013217)

授课总学时:48 ;学分:3;课程性质:专业必修课

特色类型:校企合作共建课程(江苏云思教育科技有限公司)

课程特色:本课程讲授使用HTML的相关技术以及编程方法,为WEB开发打下坚实基础。通过本课程的学习,学生能够掌握网页基础、HTML标记、CSS样式、网页布局、变形与动画等内容,通过本课程的学习,学生能够了解网页web发展历史及其未来方向,熟悉网页设计流程、掌握网络中常见的网页布局效果及变形和动画效果,学会制作各种企业、门户、电商类网站。培养学生具有自主学习、自主创新、与人沟通、团队协作、爱岗敬业等职业素质,成为能够胜任网站开发岗位的高素质、技能型人才。

8)Java程序设计(C018201

授课总学时:48 ;学分:3;课程性质:专业必修课

特色类型:赛学融合课程(程序设计竞赛、计算机设计大赛)

课程特色:本课程主要介绍Java语言程序设计基础知识、 Java语言的体系结构。深入理解面向对象的程序设计的思路和方法,熟练使用Java语言独立开发出一个完整的应用程序。提高学生编程的能力,增加学生的就业机会,提高社会竞争力。该课程对学生继续深入学习计算机前沿课程奠定良好的基础,也适合对参加程序设计类竞赛、计算机设计大赛的同学加强和提升编程综合能力,对学生的创新能力培养具有很好的促进作用。

 

4.主要实践性教学环节:军事训练、社会实践、课程设计、综合实训、毕业实习、毕业设计(论文)等

、课程结构及学时(学分)比例

本专业课程(集中安排的实践教学活动除外)分为通识教育必修课、学科专业基础课、专业必修课、专业限选课、专业任选课和通识教育选修课六大类。课堂教学总学时数(不含集中安排的实践教学活动学时数)2322学时,其中通识教育必修课666学时,占28.68%;学科专业基础课为784学时,占33.76%;专业必修课为440学时,占18.95%;专业限选课208学时,占8.96%;专业任选课96学时,占4.13%;通识教育选修课128学时,占5.51%。

本专业规定最低毕业总学分为180学分(含集中安排的实践教学活动学分)。其中通识教育必修课38学分,占21.11%;学科专业基础课为46.5学分,占25.83%;专业必修课为26学分,占14.44%;专业限选课12.5学分,占6.94%;专业任选课6学分,占3.33%;通识教育选修课8学分,占4.44%;集中安排的实践教学活动(不含课内实验教学)43学分,占23.89%。

必要说明

1. 创新创业教育

1)通过强化工程训练、课程设计和毕业设计等实践性教学环节,培养学生的实践创新能力,把创新教育贯穿在理论教学的全过程

2)通过大学生成长与发展导师指导工作,使学生尽早加入教师科研团队,参与生产实践和科学研究,撰写学术论文,申报国家专利等。

3)教师通过程序设计、计算机博弈、大数据技术等系列比赛,指导学生开展课外科技实践创新活动,申报开展大学生创新创业训练计划项目,扩大学生参与面,强化学生创新创业能力培养。

2.加强学科交叉与融合

(1) 加强与计算机科学与技术、人工智能等学科交叉与融合,设置《大数据应用》等专业任选课,拓宽学生专业知识面,加强复合型人才培养。

(2) JavaEE技术项目为载体,持续开展进暑期小学期实践创新活动,不断深化交叉学科人才培养模式改革。

(3) 依托校外实习基地合作企业(江苏云思教育科技有限公司),开设《web程序设计》企业课程共建,实现校企合作。