一、培养目标
本专业培养德、智、体、美全面发展,掌握自然科学和人文社科基础知识,掌握计算机科学基础理论、软件工程专业的基础知识及应用知识,具有软件开发能力以及软件开发实践的初步经验和项目组织的能力,能从事软件工程技术研究、设计、开发、管理、服务等工作的应用型专门人才。
二、培养要求
(一)知识要求
1.通识知识
掌握马列主义、毛泽东思想和中国特色社会主义理论体系的基本原理;掌握基本的人文社会科学知识;初步掌握一门外语(英语)。
2.学科专业基础知识
掌握本专业所必须的数学和其他相关的自然学科基础知识;掌握本专业所涉及的硬件、软件、网络、数据库等方面的基础知识。
3.专业知识
掌握软件工程学科的基本理论和基本知识,熟悉软件需求分析、设计、实现、评审、测试、维护以及过程与管理的方法和技术,了解软件工程规范和标准。
(二)能力要求
1.学习能力
具备自我终身学习的能力,自觉学习不断涌现的新概念、新模型和新技术、使自己的专业能力保持与学科的发展同步,具有一门外语(英语)的听、说、读、写、译的基本能力。
2.思维能力
能够运用所学的知识、技能和方法对系统的各种解决方案进行合理的判断和选择,具备一定的批判性思维能力。
3.实践能力
经过系统化的软件工程基本训练,具有参与实际软件开发项目的经历,具备作为软件工程师所需的实践能力。
4.创新能力
了解软件工程学科的前沿技术和软件行业的发展动态,在基础研发、工程设计和实践等方面具有一定的创新意识和创新能力。
(三)素质要求
1.思想道德、文化素质
热爱社会主义祖国、拥护中国共产党的领导;树立正确的世界观、人生观与价值观,愿为国家富强、民族振兴服务;具有良好的思想品德、社会道德、职业道德和心理素质,社会责任感强。
2.身心素质
具有健康的心理素质和身体素质,掌握体育运动的一般知识和基本方法,形成良好的体育锻炼习惯,受到必要的军事训练,达到国家规定的大学生体育和军事训练合格标准。
三、学制与学位
学制:标准学制四年,修业年限为4~6年
授予学位:工学学士
四、毕业最低学分要求
167学分
五、主干学科
软件工程
六、核心课程
1.离散数学
本课程是专业基础课,要求学生掌握离散数学基本概念、内容和验算技能,培养学生的抽象思维能力、逻辑推理能力、运算能力和综合运用能力,为后继专业课程学习打好基础。
2.程序设计基础
本课程是专业基础课,主要介绍了计算机语言相关知识,培养学生结构化程序设计思想和应用计算机解决、处理实际问题的能力。主要内容包括:数据、运算符、表达式、语句、流程控制、函数、数组等程序设计知识。
3.操作系统
本课程是专业核心课,主要讲授了操作系统的基本概念、基本功能及研究操作系统的方法;操作系统对处理机、存储器、信息、外部设备的管理。主要内容包括操作系统概述、进程管理、存储管理、设备管理、文件管理系统。
4.面向对象程序设计
本课程是专业核心课,主要讲授面向对象程序设计(OOP)的基本思想及基本概念:抽象、继承、封装、多态性,掌握使用面向对象语言进行面向对象编程的技术:函数重载、运算符重载、内联函数、虚函数、友元函数,以及面向对象程序设计的基本方法和技巧。培养学生能独立编写面向对象应用程序,同时为后续课程的学习打下良好的基础。
5.数据结构
本课程是专业核心课,主要介绍数据结构及其相关操作的算法。本课程将使用程序设计语言和面向对象技术来实现各种数据结构。它的内容包括:算法分析、抽象数据类型、数组、表、栈、递归、广义表、队列、树、集合、散列、排序和图。
6.计算机网络
本课程是专业核心课,主要讲授计算机网络的基本概念、数据通信基础知识、网络体系结构、网络各层的功能特点。培养学生熟悉局域网的组建,广域网的互联以及Internet技术,熟悉基本的网络操作系统及应用;掌握计算机网络与信息系统集成、网络设备配置、网络管理和安全维护的基本能力。
7.数据库概论
本课程是专业核心课,主要讲授数据库系统的基础理论、基本技术和基本方法。内容包括:数据库系统的基本概念、数据模型、关系数据库、数据库安全性和完整性的概念和方法、关系规范化理论、数据库设计方法和步骤,数据库恢复和并发控制等事务管理基础知识,关系查询处理和查询优化等。通过本课程学习,使学生系统地掌握数据库系统的基本原理和基本技术,能熟练使用数据库语言在某一个数据库管理系统上进行数据库操作;掌握数据库设计方法和步骤,具有设计数据库模式以及开发数据库应用系统的基本能力。
8.软件工程导论
本课程是专业核心课,主要讲授软件工程的基本概念、软件过程模型、软件生命周期、软件项目计划与管理、需求获取、系统设计、概要(总体)设计和技术(详细)设计、编码测试等,通过本课程的学习使学生了解软件工程的概念、原理和技术,初步掌握软件开发的基本方法和常用工具,建立软件开发和维护的工程化意识,培养独立思考的能力和团队合作的精神,为后续相关课程的学习、从事软件开发与维护的实际工作打下良好基础。
9.软件建模技术
本课程是专业核心课,主要讲授面向对象技术与UML的面向对象分析、设计过程,状态机模型(有限状态机、状态图和Petri网),实体事件模型,类图建模技术,对象图的概念,对象图建模技术,时序图和协作图,UML的扩展机制和对象约束语等。通过本课程的学习,项目开发人员可以用这个全新工具紧扣用户需求,方便地开发出符合用户需求的系统或根据用户需求对现有系统进行改造。
10.网络及其计算
本课程是专业必修课,主要介绍了通过Internet把分散在各处的硬件、软件、信息资源连结成为一个巨大的整体,从而使得人们能够利用地理上分散于各处的资源,完成各种大规模的、复杂的计算和数据处理。
11.软件项目管理
本课程是专业核心课,主要讲授IT软件项目管理概述、甘特图、关键路径法、IT软件项目的网络表示法、生命周期、可行性研究、计划管理、成本管理等。通过本课程的教学,使学生掌握IT项目管理的基本原理和基本技能,能够根据项目的特征需求,确定项目的范围,经过计划、分析,设定具体的项目目标,在信息技术的支撑下有效地实现目标。
12.计算机组成与结构
本课程是专业核心课,主要讲授数据表示、寻址方式、指令系统、中断系统、存储系统、输入输出系统、流水线处理机、超标量处理机、互连网络、向量处理机和并行处理机等。通过本课程的教学,使学生掌握计算机系统的组织和结构;计算机各部分的组成、原理、新技术和新方法。
13.软件质量保证与测试
本课程是专业核心课,主要讲授软件测试与质量管理。理论部分主要介绍软件开发流程、软件错误的种类、测试配置、问题跟踪系统与软件测试流程;实践部分主要介绍测试用例设计与实际测试示范,并讲解如何撰写相容测试报告、性能使用报告和测试报告;管理部分主要介绍项目管理的技巧、QA人员的角色与责任、衡量时间的技术与方法。通过本课程的学习,使学生掌握软件测试的基本概念、技术和常用工具的使用,改变对软件测试的错误认识,对测试能进行有效的管理,能制定软件测试计划,设计测试用例,进行测试结果的分析和报告的书写。
14.软件工程课程设计
本课程是专业实践课,通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将软件工程的理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。本课程设计不仅是软件工程实践的一次模拟训练,同时通过软件开发的实践,积累经验,提高分析和解决问题的能力。
七、主要实践性教学环节
课程实验、课程实训、课程设计、专业实训(见习)、毕业论文(设计)等。
八、主要专业实验
程序设计实验、大学物理实验、计算机网络实验、操作系统实验、数据库设计实验、系统分析与软件建模实验、软件系统设计实验、软件测试实验等。
九、培养方案安排
1.课程结构体系及学时、学分分配表(见附表1)
2.培养方案进程总表(见附表2)
3.课程设置及教学安排表(见附表3)
4.实践实训与创新实践活动设置表(见附表4)