软件工程专业本科人才培养方案
一、培养目标
培养具有良好的道德与修养,遵守法律法规,掌握数学与自然科学基础知识以及软件工程专业相关的基本理论、基本知识、基本应用技能和基本的软件工程方法,具备软件设计开发和项目组织的初步能力,能在IT行业、科研机构、企事业单位等相关领域从事计算机应用软件系统的开发、维护、测试、项目管理及软件服务等软件专业应用型人才。
二、培养要求
1.培养具有爱国主义、集体主义思想和良好的品德修养,遵守法律法规,树立正确价值观。
2.掌握计算机软件工程学科相关基础知识和基本技术,熟悉软件开发与应用的标准和规范。
3.获得较好的系统设计与实现、测试、过程与管理等软件工程的方法训练,具备从事软件工程专业领域实际工作的基本能力和基本技能。
4.了解软件工程的发展动态,熟悉主流系统软件和应用工具软件与环境,具有较强的自学能力,具备较快适应软件系统的开发、维护、测试、项目管理及软件服务等岗位需要的实际工作能力。
5.具备一定的外文阅读能力和文献检索、查阅资料的基本方法,具有独立获得专业知识和信息的能力。
6.具有良好的创业和团队精神、职业素养和健全的体魄。
三、专业主干课程
离散数学、C语言程序设计、面向对象程序设计、数据结构、操作系统、计算机组成原理、计算机网络技术、数据库原理及应用、软件建模与分析、软件需求与项目管理、软件设计与体系结构、软件质量保证与测试等。
四、学制与学位
学制:基本学制四年,实行3—6年弹性学制。
授予学位:工学学士学位。
五、课程结构
课程类别 |
课程性质 |
学分数 |
学分比例(%) |
学时数 |
学时比例(%) |
通识课程 |
通识课程必修 |
39 |
28 |
824 |
31.1 |
通识课程选修 |
12 |
不计入总学分 |
192 |
不计入总学时 |
专业课程 |
学科通识课程 |
20 |
13 |
352 |
13.3 |
专业必修课程 |
48 |
32 |
928 |
35 |
专业限定选修课程 |
13.5 |
8.8 |
272 |
10.3 |
专业任意选修课程 |
13 |
8.5 |
272 |
10.3 |
实践课程 |
必修 |
15 |
9.8 |
|
|
合 计 |
148.5 |
100 |
2648 |
100 |
六、教学计划表
课程 类别 |
课程 代码 |
课程名称 |
考核方式 |
学分 |
学时数 |
各学期周学时分配 |
合计 |
讲授 |
实验 |
一 |
二 |
三 |
四 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
T3601001 |
军事理论 |
考试 |
1 |
16 |
16 |
|
2 |
|
|
|
|
|
|
|
T3601007 |
集中军训 |
考查 |
1 |
32 |
0 |
32 |
√ |
|
|
|
|
|
|
|
T4401010 |
马克思主义民族理论与政策 |
考查 |
1 |
32 |
32 |
|
2 |
|
|
|
|
|
|
|
T4401001 |
毛泽东思想和中国特色社会主义理论体系概论 |
考试 |
5 |
96 |
64 |
32 |
|
|
|
5 |
|
|
|
|
T4401002 |
思想道德修养与法律基础 |
考试 |
3 |
64 |
32 |
32 |
3 |
|
|
|
|
|
|
|
T3711001 ┇ T3711004 |
大学英语Ⅰ——Ⅳ |
考试 |
12 |
256 |
128 |
128 |
4 |
4 |
4 |
4 |
|
|
|
|
T3601002┇ T3601005 |
大学体育Ⅰ——Ⅳ |
考试 |
4 |
128 |
128 |
|
2 |
2 |
2 |
2 |
|
|
|
|
T3101001 |
大学语文 |
考试 |
2 |
32 |
32 |
|
2 |
|
|
|
|
|
|
|
T4401003 |
中国近现代史纲要 |
考试 |
3 |
48 |
48 |
|
|
3 |
|
|
|
|
|
|
T4401004 |
马克思主义基本原理概论 |
考试 |
3 |
48 |
48 |
|
|
|
3 |
|
|
|
|
|
T4401005 ┇ T4401009 |
形势与政策Ⅰ——Ⅴ |
考查 |
2 |
40 |
40 |
|
|
2 |
2 |
2 |
2 |
2 |
|
|
创新创业课程 |
考查 |
2 |
32 |
32 |
|
详见《创新创业课程目录》 |
通识选修课程 |
12 |
192 |
192 |
|
学分要求详见表七,学分(学时)不计入总学分(学时) |
小 计 |
39 |
824 |
728 |
96 |
15 |
15 |
11 |
13 |
2 |
2 |
0 |
0 |
课程 类别 |
课程 代码 |
课程名称 |
考核方式 |
学分 |
学时数 |
各学期周学时分配 |
合计 |
讲授 |
实验 |
一 |
二 |
三 |
四 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
专业课程 |
学科通识课程 |
Z3305001 |
高等数学Ⅰ(理) |
考试 |
4 |
64 |
64 |
|
4 |
|
|
|
|
|
|
|
Z3305002 |
数字逻辑 |
考试 |
3.5 |
64 |
48 |
16 |
4 |
|
|
|
|
|
|
|
Z3305003 |
高等数学II(理) |
考试 |
4 |
64 |
64 |
|
|
4 |
|
|
|
|
|
|
Z3305004 |
线性代数 |
考试 |
3 |
48 |
48 |
|
|
3 |
|
|
|
|
|
|
Z3305005 |
C语言程序设计 |
考试 |
4 |
64 |
64 |
|
|
4 |
|
|
|
|
|
|
Z3305006 |
C语言程序设计实验 |
考查 |
1.5 |
48 |
|
48 |
|
3 |
|
|
|
|
|
|
小 计 |
20 |
352 |
288 |
64 |
8 |
14 |
0 |
0 |
0 |
0 |
0 |
0 |
专业必修课程 |
Z3306001 |
软件工程专业导论 |
考试 |
1 |
16 |
16 |
6→ |
前3周 |
|
|
|
|
|
|
|
Z3306002 |
数据结构 |
考试 |
5 |
96 |
64 |
32 |
|
|
6 |
|
|
|
|
|
Z3306003 |
数据库原理与应用 |
考试 |
3 |
48 |
48 |
|
|
|
3 |
|
|
|
|
|
Z3306004 |
数据库原理与应用实验 |
考查 |
1.5 |
48 |
|
48 |
|
|
3 |
|
|
|
|
|
Z3306005 |
离散数学 |
考试 |
3 |
48 |
48 |
|
|
|
|
3 |
|
|
|
|
Z3306006 |
计算机组成原理 |
考试 |
4 |
80 |
48 |
32 |
|
|
|
5 |
|
|
|
|
Z3306007 |
算法设计与分析 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
3 |
|
|
|
|
Z3306008 |
操作系统 |
考试 |
3.5 |
64 |
48 |
16 |
|
|
|
|
4 |
|
|
|
Z3306009 |
计算机网络技术 |
考试 |
3 |
48 |
48 |
|
|
|
|
|
3 |
|
|
|
Z33060010 |
计算机网络技术实验 |
考查 |
1 |
32 |
|
32 |
|
|
|
|
2 |
|
|
|
Z33060011 |
软件设计与体系结构 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
|
3 |
|
|
|
Z33060012 |
面向对象程序设计C++ |
考试 |
3 |
48 |
48 |
|
|
|
|
|
|
3 |
|
|
Z33060013 |
面向对象程序设计C++实验 |
考查 |
1 |
32 |
|
32 |
|
|
|
|
|
2 |
|
|
Z33060014 |
软件测试与质量管理 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
|
|
3 |
|
|
Z33060015 |
软件建模与分析 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
|
|
3 |
|
|
Z33060016 |
软件需求与项目管理 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
|
|
|
3 |
|
Z33070017 |
计算机专业英语 |
考试 |
3 |
48 |
48 |
|
|
|
|
|
|
|
3 |
|
Z33070018 |
软件工程综合实践 (Java/python/C++) |
作品 |
3.5 |
80 |
32 |
48 |
|
|
|
|
|
|
5 |
|
小 计 |
48 |
928 |
608 |
320 |
6 |
0 |
12 |
11 |
12 |
11 |
11 |
0 |
课程 类别 |
课程 代码 |
课程名称 |
考核方式 |
学分 |
学时数 |
各学期周学时分配 |
合计 |
讲授 |
实验 |
一 |
二 |
三 |
四 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
专业课程 |
专业限定选修课程 |
Z3307001 |
多媒体计算机应用基础 |
考试 |
2 |
32 |
32 |
|
后12周 |
←3 |
|
|
|
|
|
|
Z3307002 |
多媒体计算机应用基础实验 |
作品 |
1 |
32 |
|
32 |
后12周 |
←3 |
|
|
|
|
|
|
Z3307003 |
动态网页设计 |
考试 |
3 |
48 |
48 |
|
|
|
|
3 |
|
|
|
|
Z3307004 |
动态网页设计实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
2 |
|
|
|
|
Z3307005 |
JAVA程序设计 |
考试 |
2 |
32 |
32 |
|
|
|
|
|
2 |
|
|
|
Z3307006 |
JAVA程序设计实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
2 |
|
|
|
Z3307007 |
信息安全技术 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
|
|
3 |
|
|
Z3307008 |
专业论文指导与研究 |
考查 |
1 |
16 |
16 |
|
|
|
|
|
|
|
1 |
|
|
小计 |
13.5 |
272 |
160 |
112 |
6 |
0 |
0 |
5 |
4 |
3 |
1 |
0 |
专业任意选修课程 |
Z3308001 |
python程序设计 |
考试 |
3 |
48 |
48 |
|
|
|
3 |
|
|
|
|
|
Z3308002 |
python程序设计实验 |
作品 |
1 |
32 |
|
32 |
|
|
2 |
|
|
|
|
|
Z3308003 |
编译原理 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
3 |
|
|
|
|
Z3308004 |
Oracle数据库系统 |
考试 |
2 |
32 |
32 |
|
|
|
|
|
2 |
|
|
|
Z3308005 |
Oracle数据库系统实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
2 |
|
|
|
Z3308006 |
汇编语言程序设计 |
考试 |
3.5 |
72 |
36 |
36 |
|
|
|
|
4 |
|
|
|
Z3308007 |
C#语言和数据库技术基础 |
考试 |
3 |
48 |
48 |
|
|
|
|
|
3 |
|
|
|
Z3308008 |
C#语言和数据库技术基础实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
2 |
|
|
|
Z330809 |
数据仓库与数据挖掘 |
考试 |
2.5 |
48 |
32 |
16 |
|
|
|
|
3 |
|
|
|
Z3308010 |
Linux/Unix应用基础 |
考试 |
3 |
64 |
32 |
32 |
|
|
|
|
|
4 |
|
|
Z3308011 |
单片机原理与接口技术 |
考试 |
3 |
64 |
32 |
32 |
|
|
|
|
|
4 |
|
|
Z3308012 |
.Net程序设计 |
考试 |
2 |
32 |
32 |
|
|
|
|
|
|
2 |
|
|
Z3308013 |
.Net程序设计实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
|
2 |
|
|
Z3308014 |
PHP程序设计与开发 |
考试 |
2 |
32 |
32 |
|
|
|
|
|
|
2 |
|
|
Z3308015 |
PHP程序设计与开发实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
|
2 |
|
|
Z3308016 |
移动应用开发技术 |
考试 |
2 |
32 |
32 |
|
|
|
|
|
|
|
2 |
|
Z3308017 |
移动应用开发技术实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
|
|
2 |
|
Z3308018 |
嵌入式系统及应用 |
考试 |
4 |
80 |
48 |
32 |
|
|
|
|
|
|
5 |
|
Z3308019 |
J2EE设计技术 |
考试 |
3 |
48 |
48 |
|
|
|
|
|
|
|
3 |
|
Z3308020 |
J2EE设计技术实验 |
作品 |
1 |
32 |
|
32 |
|
|
|
|
|
|
2 |
|
Z3308021 |
软件构件与中间件技术 |
考试 |
3 |
64 |
32 |
16 |
|
|
|
|
|
|
3 |
|
Z3308022 |
软件前沿开发技术 |
考试 |
3 |
64 |
32 |
16 |
|
|
|
|
|
|
3 |
|
|
小 计 |
13 |
272 |
144 |
128 |
0 |
0 |
5 |
0 |
4 |
4 |
4 |
0 |
|
注:第1学期~第7学期限选课程为13.5学分;第3学期~第7学期任选课程至少在13学分以上。 |
课程 类别 |
课程 代码 |
课程名称 |
考核方式 |
学分 |
学时数 |
各学期周学时分配 |
合计 |
讲授 |
实验 |
一 |
二 |
三 |
四 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
实践 课程 |
S1508003 ┇ S1508010 |
德育实践Ⅰ——Ⅷ |
考查 |
4 |
|
|
|
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
S3309001 |
实习 |
考查 |
4 |
|
|
|
|
|
|
|
|
|
|
|
S3309002 |
毕业论文(设计) |
考查 |
4 |
|
|
|
|
|
|
|
|
|
|
|
S3309003 |
专业实践与社会调查 |
考查 |
2 |
|
|
|
|
|
|
|
|
|
|
|
S1508001 |
职业生涯规划 |
考查 |
0.5 |
|
|
|
|
2 |
|
|
|
|
|
|
S1508002 |
就业指导 |
考查 |
0.5 |
|
|
|
|
|
|
|
|
2 |
|
|
小 计 |
|
15 |
|
|
|
|
2 |
|
|
|
2 |
|
|
|
学时学分合计 |
|
148.5 |
2648 |
1896 |
704 |
29 |
31 |
28 |
26 |
22 |
22 |
16 |
0 |
七、通识选修课程学分要求
课程类别 |
学分 |
要求 |
人文社科类 |
4 |
修读学期为第2学期至第7学期 至少取得12学分 每个课程类别中至少获得表中要求学分 |
自然科学类 |
4 |
美育类 |
3 |
创新创业类 |
1 |
合计 |
12 |
八、专业主干课程简介
1.C语言程序设计
(1)课程代码:Z3304001
(2)课程简介: 本课程是信息类专业的重要专业基础课,也是目前理工类专业的一门必修的课程,是数据结构、数学建模、操作系统等课程的前导课程,也是一门实践性很强的课程。该课程主要包括算法的基本概念、C语言的语法规则和程序设计的一些基本方法,通过该课程的学习,使学生能够了解算法的基本知识,能够锻炼学生编程技能,培养学生的编程能力,并能够初步掌握软件开发的基本技巧,同时能够为后继课程的学习打下坚实的基础。
(3)教材:《C语言程序设计(第2版)》,何钦铭、颜晖著,高等教育出版社,2012年。
2.数据结构
(1)课程代码:Z3306002
(2)课程简介:数据结构是计算机科学教育中的一门必修课程。这门课程主要是介绍数据结构及其相关操作的算法.本课程将使用C或C++程序设计语言和面向对象技术来实现各种数据结构。数据结构的内容包括抽象、实现和评价三个层次,从数据表示和数据处理上看有五个基本组成“要素”分别是逻辑结构、存储结构、基本运算、算法及不同数据结构的比较与算法分析。本课程基本内容包括线性表、栈、队列、串、数组、广义表、树和二叉树、图、查找算法和内部排序算法等。通过对本课程的学习,旨在使学生了解数据对象的特性,学会数据组织的方法和将实际问题进行计算机表示的方法,并培养良好的程序设计技能。
(3)教材:《数据结构:C语言版》,严蔚敏,吴伟民著,清华大学出版社,2011年。
3.计算机组成原理
(1)课程代码:Z3304016
(2)课程简介:本课程从计算机组成原理与系统结构的基本概念出发,系统地论述了计算机系统的基本组成、工作原理和设计方法,并从提高计算机性能的角度,分析和探讨了计算机系统结构的基本原理和设计方法。主要内容包括计算机组成的基本概念和层次结构、计算机硬件基础、信息编码与数据表示、运算方法与运算器、存储体系、指令系统、控制器、输入输出系统、总线、流水线与并行处理技术。
(3)教材:《计算机组成原理与系统结构(第2版)》,包健著,高等教育出版社,2015年。
4.操作系统
(1)课程代码:Z3315006
(2)课程简介:本课程的目的和任务是使学生全面地了解和掌握操作系统的目标、作用和模型,从资源管理的角度领会操作系统的功能和实现过程。其主要教学内容包括:操作系统引论、进程管理、处理机调度与死锁、存储器管理、设备管理、文件管理、操作系统接口和UNIX简介等。
(3)教材:《计算机操作系统教程》,张尧学,史美林,张高著,清华大学出版社,2006年。
5.计算机网络技术
(1)课程代码:Z3306008
(2)课程简介:该课程是计算机科学与技术专业的核心课程之一。其先修课包括计算机组成原理、计算机操作系统等。该课程主要讲解计算机网络的组成和网络的分类及特点、数据通信基本原理;OSI参考模型及网络协议、网络的高层应用;常用网络互连设备和传输介质;局域网、以太网、因特网特点和组网技术;网络管理和网络安全技术。培养学生的实际组网技能和网络的应用能力。
(3)教材:《计算机网络(第2版)》,吴国新 吉逸著,高等教育出版社,2008年。
6.面向对象程序设计(C++)
(1)课程代码:Z3306008
(2)课程简介:Visual C++程序设计是计算机科学与技术专业的一门基础课程,通过本课程的学习,最终不仅要使学生掌握C++语言本身,而且能够对现实世界中较简单的问题及其解决方法用计算机语言进行描述。该课程系统介绍了软件开发的范型和方法,通过对C++简单程序设计、函数、指针、类与对象、继承、多态、流类库、基本控件等的学习使学生能够掌握VC++编程的基本语法、流程及原理,为将来从事相关的软件编程工作打下坚实的基础。本课程的重点在于培养学生的实际应用软件的开发能力。
(3)教材:
《C++面向对象程序设计》,谭浩强著,清华大学出版社,2006年。
相关课程还有python程序设计和Java程序设计,教材分别是:
《Java程序设计实用教程(第4版)》, 叶核亚著,电子工业出版社,2014年。
《Python基础教程》,刘浪著,人民邮电出版社,2015年。
7.数据库原理与应用
(1)课程代码:Z3306005
(2)课程简介:数据库原理与应用技术是计算机软件领域的一个重要分支,是使用计算机进行各种数据处理和信息管理的必备知识。通过本课程学习,使学生系统地把握数据库系统的基本原理、基本技术和基本方法。要求在把握数据库系统基本概念的基础上,能熟练使用SQL语言在某一个数据库管理系统上进行数据库操作;把握数据库设计方法和步骤,具有设计数据库模式以及开发数据库应用系统的基本能力。
(3)教材:《数据库技术与应用—SQL Server2008》,刘卫国,奎晓燕著,清华大学出版社,2014年。
8.多媒体计算机应用基础
(1)课程代码:Z3306029
(2)课程简介:本课程是一门计算机应用基础及多媒体技术课程,内容涉及计算机多媒体技术基础、进制数转换原理、计算机基本硬件系统的组成与配置方案、 系统软件安装;Word 2010、Excel 2010、PowerPoint 2010的使用;Photoshop CS4基本操作、Adobe Audition 3.0音频素材采集与制作;会声会影编辑器MTV制作、 Adobe Flash CS4、 Dreamweaver CS4网页制作等内容。通过本课程的学习,使学生掌握以上方面的应用技能,为后续的专业课程的应用技能和解决实际问题打下良好基础。
9.软件建模与分析
(1)课程代码:Z3306014
(2)课程简介:本课程是软件工程专业的一门核心专业课程,属本专业的核心技术课。课程内容为软件周期各阶段的设计分析与建模,主要包括需求分析与建模,结构化设计分析与建模,面向对象设计分析与UML建模,数据库设计建模等。本课程注重培养学生的实践设计能力。通过对本课程的学习,使学生掌握软件工程专业各项分析与建模技术,为学生学习综合设计课程与今后从事软件设计分析与软件架构设计的工作打下基础。
(3)教材:《UML基础.案例与应用(第3版)修订版》,施穆勒著,人民邮电出版社,2018年。
相关课程:软件设计与体系结构。
教材:《软件设计与体系结构》,齐治昌著,高等教育出版社,2010年。
10.软件需求与项目管理
(1)课程代码:Z3306015
(2)课程简介:本课程含软件需求和软件项目管理两大部分内容,是本专业的较高级别课程,在整个专业学习中占有重要地位。本课程在于提高项目需求分析的质量,减少重复劳动,通过控制项目范围的扩展及需求变更来达到按计划完成预定目标,很好地满足用户的需要。同时通过学习软件项目管理,掌握项目群管理和项目评价,项目方法,软件工作量估计,活动策划,风险管理,资源分配,监督与控制,管理合同,管理人员和组织群组,软件质量等内容。为将来软件工程设计中软件需求与项目管理工作打下完备的专业基础。
(3)教材:
《软件需求工程》,康雁著,科学出版社,2012年。
《软件项目管理(第2版)》,韩万江姜立新编著,机械工业出版社,2009。
10.软件测试与质量管理
(1)课程代码:Z33060013
(2)课程简介:本课程是软件工程专业的一门重要的专业发展方向课程,属本专业的技术性课程。课程主要内容包括软件测试的基本概念,测试方法,测试类型,阶段测试,代码覆盖率,面向对象测试,测试用例与测试的实施、软件质量管理等。通过对本课程的学习,使学生掌握专业系统的软件测试技术,锻炼学生软件实践测试的能力与评估软件质量的能力。
(3)教材:
《软件测试与质量管理》,许育诚、王慧文著,电子工业出版社,2004年。
《软件测试技术经典教程第二版》,赵斌著,科学出版社,2011年。