
软件工程课程
-
2023年2月18日发(作者:)百度文库-让每个人平等地提升自我
1
大一是网页制作,经典算法,c语言,军事理论,写作,高数1和高数2,离散
1,中国近代史,思想道德,电子电路,英语1和2。大二是数据库原理,编译
原理,离散2,数字电路,汇编语言,c++语言,mfc,计算机组成原理,英语3
和4,日语1和2,马克思原理,毛邓。大三时jsp课程设计,sqlserver数据
库,计算机体系结构,计算机网络,操作系统,计算机图形学,算法,日语3
和4,人工智能,软件工程。大四我就不知道了。我刚读到大三。
软件工程专业本科教学计划
一、培养目标和基本规格
(一)培养目标
本科生的培养目标是:针对国民经济信息化建设和发展的需要,面向软件产业界对软件工程技术人才
的需求,培养具有良好的综合素质、良好的职业道德、扎实的软件工程理论知识及较强的综合应用能力,
掌握自然科学和与软件有关的法律基础知识、具有自主学习和使用先进软件开发技术和工具的能力,具有
软件开发实践和项目组织的初步经验,具有创新、创业、竞争意识和团队精神。学生后能从事大型软件项
目的开发,具有软件企业所需要的较高层次的软件工程技术和管理人才的素质,能适应技术进步和社会需
求变化对高素质软件工程专门人才的基本要求。
(二)培养规格
本专业学生应掌握领域坚实的基础理论和宽广的专业知识,具有良好的系统分析、设计及软件工程项
目的组织与管理能力,具备运用先进软件开发技术、方法和工具的能力,具备与软件有关的法律知识,具
备独立工作能力和团队精神。
毕业生应获得以下几方面的知识和能力:
1、掌握的基本理论、基本知识和基本技能,特别是软件项目管理与开发技术、信息系统的分析与设
计技术、网络数据库开发技术、网络信息安全和嵌入式软件开发技术;
2、熟练掌握需求分析和建模、软件设计和实现、软件评审与测试、软件过程改进与项目管理、设计
人机交互界面的基本方法,能运用先进软件技术和开发工具进行软件系统的开发与维护工作。
3、掌握与软件有关的法律法规、国际惯例,具备自觉运用法律知识进行软件知识产权保护的素质。
4、具有创业意识、创新精神和良好的职业素质,具有良好的人际沟通能力和团队精神。
5、了解软件工程领域的最新成果、发展动态和法律法规;
6、具有良好的英语写作和交际能力,外语水平达到规定的等级要求。
二、学制:四年。
三、授予学位:工学学士。
四、课程设置及学时学分安排
(一)课程类别
本专业课程设置为公共必修课(政治理论课、通识文化课)、必修课(学科基础课、专业基础课)、专
业模块课程(分计算机网络、信息安全、信息系统、嵌入式软件)、专业任意选修课和公共选修课(公共
限制选修课、公共任意向选修课)。
(二)本专业主要课程
离散数学、C++语言程序设计、汇编语言程序设计、计算机组成原理、数据结构、计算方法、操作系
统、计算机通信与网络、编译原理、面向对象程序设计、面向对象分析与设计、数据库系统原理、软件工
百度文库-让每个人平等地提升自我
2
程、软件项目管理与CMM、数据仓库与数据挖掘、软件测试技术、大型软件系统构造与体系结构、统一建
模语言UML等。
主要专业实验:程序设计、计算机组成原理、数据结构、操作系统、数据库、编译原理、软件系统建
模与UML、系统分析与设计、分布式数据库、计算机通信与网络等,见附表五。
(三)学时分配
本专业课堂教学总学时为2670学时(见附表二)。
(四)课程学分分配
本专业学生需修满165学分方准予毕业(见附表三)。
(五)课程时数分期安排表(见附表四)。
五、主要实践性教学环节
本专业实践环节主要有军事理论与训练,生产劳动,专业见习、实习,专业实践与社会调查、毕业论
文等。
六、四年教育时间活动周数分配表(见附表一)。
七、本专业教学计划(见教学计划表)。
八、奖励学分
为鼓励学生积极参加多种形式的创造性活动,充分发挥聪明才智,促进学生个性发展,特设立奖励学
分。学生取得奖励学分的主要途径有:参加教师的课题研究,在知识技能竞赛中获奖,发表学术性论文,
进行小发明或小创造等。奖励学分标准按学院规定执行。
九、主要课程简介
1、00高等数学
《高等数学》是计算机专业的重要基础课,具有较强的抽象性、逻辑性和应用性,在自然科学和工程
技术领域中有着广泛的应用。通过本课程的学习,培养学生的抽象思维能力、逻辑推理能力以及处理随机
模拟等实际问题的能力,为后继课程学习提供所需的数学知识。本门课程的内容主要是函数与极限,微分
及其应用,不定积分与定积分,定积分的应用,矢量代数与空间解析几何,多元函数的微积分,常微分方
程、级数等。
参考教材:《高等数学》(同济大学数学教研室),出版社。
考核方式:考试。
2、04261040C++语言程序设计
《C++语言程序设计》是计算机科学与技术专业的必修课,它是国内外广泛应用的一种面向对象的程
序设计语言,常常用于编写系统软件,应用软件以及科学计算。通过本课程的学习,使学生掌握“自顶而
下”的结构化程序设计方法,能熟练应用各种数据类型,具有一定的编程能力,为进一步学习《数据结构》、
百度文库-让每个人平等地提升自我
3
《算法分析与设计》打下基础。
参考教材:《C++语言程序设计教程》谭浩强等编,高等教育出版社。
考核方式:考试。
3、04261050离散数学
《离散数学》是计算机科学与技术专业的必修课,主要学习集合论,图论,数理逻辑,形式语言等内
容。本课程为学习计算机科学专业理论作好必要的准备知识,并为提高专业理论水平打下扎实的基础。
参考教材:《离散数学》朱一清编,电子工业出版社。
考核方式:考试。
4、04261060汇编语言程序设计
《汇编语言程序设计》是计算机科学与技术专业的必修课程,本课程的教学目的是:使学生掌握用汇
编语言编写程序及上机运行的基本方法和技能,能用汇编语言设计实用程序,并了解与软、硬件有关课程
的一些概念。
参考教材:《IBMPC汇编语言程序设计》沈美明、温科婵编,清华大学出版社。
考核方式:考试。
5、04261070数字逻辑
《数字逻辑》是计算机科学与技术专业的必修课。本课程是学习数字电路逻辑设计的理论和方法的一
门课程。通过本课程的学习,使学生在深入理解理论的基础上,掌握数字电路组合网络和时序网络的分析
与设计方法。前导课为《电路与电子技术》,后续课为《计算机组成原理》、《微机接口技术》、《计算机通
信与网络》等课程。
参考教材:《数字逻辑与数字系统》王永军等编,电子工业出版社。
考核方式:考试。
6、04261080计算机组成原理
《计算机组成原理》是计算机科学与技术专业的必修主干课。本课程以《数字逻辑设计基础》及《汇
编语言程序设计》为基础,主要讲授运算基础,运算器与运算方法;控制器与微程序设计;存储系统与辅
助存储器;输入输出系统;计算机系统概述。通过本课程的学习,使学生能够较深入地理解与掌握计算机
各功能部件的逻辑设计与实现,以及计算机整机各部件间的逻辑关系与连接。为后续课《微机接口技术》
等奠定了理论与实验基础。
百度文库-让每个人平等地提升自我
4
参考教材:
(1)《计算机组成与结构》王爱英主编,清华大学出版社(第二版);
(2)《计算机组成原理》俸远祯主编,电子工业出版社(第二版)。
考核方式:考试。
7、04261090数据结构
《数据结构》是计算机科学与技术专业的必修主干课,本课程主要介绍线性表、数组与矩阵、栈与队
列、串、树和图、查找与排序等。通过本课程的学习、使学生掌握软件设计所需要的数据结构并透彻地理
解各类数据对象的特点,学会数据的组织方法和实现方法,进一步培养基本的、良好的程序设计技能,掌
握数据结构与算法的关系,为《操作系统》、《编译原理》、《数据库原理》和《算法分析与设计》等课程的
学习打下基础。
参考教材:
(1)《数据结构实用教程》徐孝凯编,清华大学出版社;
(2)《数据结构》严蔚敏、吴伟民编,清华大学出版社(第二版)。
考核方式:考试。
8、04261100数据库系统原理
《数据库系统原理》是计算机科学与技术专业必修课,本课程讲授数据库系统有关的基本概念、原理、
技术和方法,要求学生掌握关系数据库系统的原理及关系数据库设计方法,并初步具备开发一个数据库管
理系统的能力以及对数据库进行系统理论研究的基础知识。
参考教材:
(1)《数据库系统概论》萨师煊编,高等教育出版社;
(2)《数据库系统基础》冯玉才编,华中理工大学出版社。
考核方式:考试。
9、04261120面向对象程序设计(C#)
C#是从C和C++演变而来的一种新的面向对象的编程语言,结合C#的强大功能和Visual平台的环境
和类的支持后,形成了功能强大的开发工具——VC#.NET。C#是目前主流语言中不多见的在Internet出现
后推出的语言,故它的设计很适合在国际互联网上的使用。C#可以编译成跨平台、跨语言的代码。它避免
了C语言中的指针和多继承,简单易学且功能强大。其主要内容有C#的数据类型、运算符与表达式,结构
百度文库-让每个人平等地提升自我
5
化程序设计及算法,数组、结构和枚举,面向对象程序设计,可视化应用程序设计,C#的文件操作,Web
服务器及客户编程,网络数据库编程等。该课程突出了对学生实际编程能力、大型软件开发中实际动手能
力的培养。
参考教材:《C#技术内幕》侯晓霞,柴洪辉译,清华大学出版社。
《C#网络编程实例教程》周存杰编,北京希望电子出版社。
考核方式:考试。
10、04261130软件工程
软件工程课程是软件工程专业的一门主要专业课程,是培养高水平软件研制和开发人员的一门重要课
程,它为进一步学习研究软件工程所包含的各个环节(软件需求分析、软件设计开发方法、软件测试技术、
软件维护方法、软件工程管理、软件质量保证)打下良好的基础。该课程主要介绍软件工程的概念、原理
及典型的方法技术,讲述软件生存周期各阶段的任务、过程、方法和工具,介绍软件工程使用的科学管理
技术。本课程的任务是培养学生计算机软件开发与应用的综合能力。介绍软件的基本概念和软件工程的目
标,通过对传统的面向过程的软件开发方法和面向对象的软件开发方法的介绍,使学生掌握开发高质量软
件的方法。通过对软件开发过程和过程管理技术的学习,使学生了解如何进行软件度量和管理,怎样进行
质量保证活动,从而能够有效地策划和管理软件开发活动。为今后从事软件开发和应用打下良好的基础。
参考教材:《软件工程导论》张海藩编,清华大学出版社。
考核方式:考试。
11、04261150操作系统
《操作系统》是计算机科学与技术专业的必修课。本课程涉及计算机系统中各类软硬件资源的管理与
协调,具有很强的理论性和实践性,主要介绍操作系统的各个组成部分:进程管理、作业管理、存储管理、
文件管理、设备管理及其结合典型实例。使学生具备使用、维护和开发操作系统的初步能力。
参考教材:
(1)《操作系统教程》孙钟秀编,高等教育出版社;
(2)《操作系统》庞丽萍等编,华中理工大学出版社。
考核方式:考试。
12、04261170计算机通信与网络
《计算机通信与网络》是一门专业必修课。本课程主要介绍数据通信的基础知识,计算机网络的基本
概念和原理,网络体系结构,典型网络协议,网络操作系统和常见连网实例等知识。通过对本课程的学习,
使学生了解数据通信的基本应用、研究和发展前景;掌握计算机网络技术,熟练地安装、使用和管理当前
流行的网络系统;能够结合社会生产生活中的具体需求,进行网络应用方面的开发。
参考教材:
百度文库-让每个人平等地提升自我
6
(1)《数据通信与计算机网络》杨心强等编,电子工业出版社;
(2)《计算机网络与互联网》著,张鹃译,电子工业出版社。
考核方式:考试。
13、04261080UML与RationalRose
统一建模语言UML是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软
件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、
维护和信息控制。本课程介绍UML语言的基础知识以及UML在面向对象的软件系统分析和设计中的应用,
并通过实例讲解系统的面向对象分析与设计过程以及如何用UML语言为系统建模。此外,还重点介绍如何
使用RationalRose进行工程建模。通过本课程的学习,使学生了解UML的基本概念和内容;理解面向对
象分析设计原则与模式的理论知识,基本掌握运用原则、模式来进行面向对象分析与设计的技巧;理解UML
全程建模,能够使用UML语言来完成项目的分析与设计任务。
参考教材:《UML精粹——标准对象建模语言简明指南(第2版)》徐家福译,清华大学出版社。
考核方式:考查。
14、04261090软件项目管理与CMM
软件项目管理是组织软件开发人员、控制系统开发过程、确保软件开发质量和进度的关键,包括计划
总览、可行性分析、需求工程、项目方法选择、软件工作量估算、软件项目计划、资源管理、软件项目监
控、风险管理、人员管理的内容。课程内容主要包括:项目管理的基本概念、项目管理的逻辑过程、项目
管理的分类过程、CMM(CapabilityMaturityModel
)中的项目管理内容、项目管理的角色、项目管理度量、项目管理的工具、项目管理的技术、项目管
理的剪裁、实例。通过本课程的学习,使学生了解不同阶段项目管理的重点,学习掌握项目管理的方法,
达到对整个项目过程的全面了解。
参考教材:《软件项目管理案例教程》韩万江编,机械工业出版社出版社。
考核方式:考查。
15、04261200数据仓库与数据挖掘技术
数据仓库(DW)与数据挖掘(DM)是20世纪90年代中期兴起的新技术。数据仓库用于决策分析,数据挖掘
用于从数据库中发现知识。数据仓库和数据挖掘的结合为决策支持系统(DSS)开辟了新方向,它们也是商
业智能(BI)的主要技术。本课程主要分为两大部分,一是数据仓库的基本概念、构建方法和联机分析处理
OLAP;二是常用的数据挖掘技术、典型应用以及数据挖掘的最新发展方向。通过该课程的学习,为学生将
来从事营销管理、经验决策和管理信息系统的深入开发等方面工作的需要,提供较为详细和有用的信息分
析技术、方法和总体思路。
参考教材:《数据挖掘教程》郭崇慧等译,清华大学出版社。
考核方式:考试。
16、04261210软件测试技术
软件测试是软件产品质量的根本保证。本课程以软件质量保障体系为基础,讲授软件测试的基本方法、
实用工具和一般过程,重点是用户为中心的软件测试、GUI和Web测试方法、测试用例的设计和测试过程
管理。本课程采用实例教学,用一些小应用程序介绍测试的基本方法,通过实际测试项目说明测试的规划、
测试人员组织、测试报告的编写。通过本课程的学习,使学生掌握软件测试的基础,掌握软件测试的步骤、
百度文库-让每个人平等地提升自我
7
方法及常见问题的处理,掌握常见测试工具的使用,掌握测试文档的书写规范及书写步骤。
参考教材:《软件测试方法和技术》朱少民编,清华大学出版社。
考核方式:考试。
17、04261220大型软件系统构造与体系结构
软件体系结构虽脱胎于软件工程,但其形成借鉴了计算机体系结构、网络体系结构、设计模式、分布
式计算等各学科的思想和方法。软件体系结构研究的主要内容涉及软件体系结构的描述、软件体系结构风
格、软件体系结构的设计、软件体系结构模式、软件体系结构的评估和软件体系结构的重用等。解决好软
件的重用、质量、可维护和易扩展等问题,是研究软件体系结构的根本目的。课程的主要内容:软件架构
概述;架构的原则、设计、分析、评估;软件架构的重用、设计模式、系统框架等。课程注重理论与实践
相结合,注重案例的讲解,以使学生能够更准确地把握软件体系结构。
参考教材:《软件体系结构的艺术》刘晓霞译,机械工业出版社。
考核方式:考试。
18、04264030电子商务
电子商务概论是软件工程专业开设的选修课程。该课程的主要内容包括电子商务的基本概念、电子商
务的运作过程、电子商务的技术基础及网络安全、网络经营战略、网上市场调查与预测技术、网络营销、
网上支付与结算等。通过该课程的学习,使学生对电子商务的概念、特点、运作模式与流程、电子商务信
息的收集与整理等基本理论及其各种典型的应用有较全面的认识,系统地掌握电子商务的主要技术、相关
的信息处理技术、系统的设计方法,同时能够为进一步学习电子商务专业的其他课程打下一个理论基础。
参考教材:《电子商务理论与实践》张铎主编,北京理工大学出版社。
考核方式:考试。
19、04264040J2EE与中间件技术
中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性
和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。J2EE是提供平台无关的、
可移植的、支持并发访问和安全的、完全基于Java的开发服务器端中间件的标准。主要内容是:中间件
原理与基本知识,中间件开发方法,J2EE体系,J2EE应用模型,J2EE应用组件,J2EE中间件技术等。通
过本课程学习,让学生了解基于J2EE平台的中间件技术。
参考教材:《中间件技术原理与应用》,清华大学出版社。
考核方式:考查。
20、04264100网络与信息安全技术
网络与信息安全技术主要研究目前互连网环境中的网络安全问题,涉及网络安全体系结构、数据加密、
安全协议和访问控制等诸多方面,其目的是在利用互连网的同时,保证用户网络系统的安全。本课程将介
绍目前常用的网络安全标准和各种实用技术,明确网络安全所包含的内容,如数据加密、身份认证、访问
控制、操作系统的安全、系统的灾难预防与恢复和病毒防治等。通过课堂教学使学生对当今计算机网络安
全技术的现状及发展有一个较为全面的了解,对计算机网络安全体系、常见的安全问题、网络黑客基本行
为及防护措施、网络整体安全构架及评估等方面有较深入的了解,掌握计算机网络安全防护的基本知识。
参考教材:《网络与信息安全教程》林柏钢编,机械工业出版社出版社。
考核方式:考查。
21、04264130嵌入式系统概论
嵌入式系统概论是一门综合性的课程,涉及微电子技术、计算机技术、智能控制技术和行业应用技术
等诸多学科。本课程主要介绍嵌入式系统的基本构造原理,讲解最新的嵌入式系统设计的相关技术,包括
百度文库-让每个人平等地提升自我
8
嵌入式系统的硬件平台、软件平台和开发平台三个方面。课程采用讲课与实验相结合的方式,着重培养学
生的实际动手能力。目的在于培养掌握软件工程的基础理论、嵌入式软件开发的专业知识和基本技能,能
从事嵌入式软件开发、维护的应用型人才。
参考教材:《嵌入式系统设计与实践》张晓林编,北京航空航天大学出版社。
考核方式:考试。
22、04264140Java语言
面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发
方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高、体
现信息隐蔽、可复用、易修改、易扩充等特性的程序。主要内容包括面向对象技术与Java程序设计语言
两大部分。主要介绍面向对象的基本概念、特性,面向对象分析方法、设计技术。具体包括类和对象、封
装性、继承性、多态性、模板以及类库等内容,从而加深对面向对象方法的理解,提高程序设计的水平;
同时为了提高学生的实际应用技能,课程引入大量的包括Java程序设计语言的实例,这些内容都是面向
对象方法学的最好体现。通过本课程的学习,要求学生系统地学习和掌握面向对象方法的基本思想、基本
知识和基本技能,掌握面向对象的软件开发方法。通过学习,使学生对Java有较全面的了解和掌握。
参考教材:《Java语言程序设计教程》邱桃荣林振荣冯缨编,机械工业出版社。
考核方式:考查。
23、04264190网络程序设计
本课程是为适应网络环境下软件系统开发的要求而设计的,同时也是网络软件编程工程师必修的一门
课程。主要包括:网络核心协议(物理层、链路层和网络层)、端--端协议(TCP、UDP)和基于TCP/IP协
议的Socket网络编程技术;介绍相应的网络软件开发环境和工具,学习一些实用的开发语言,如ASP、JSP、、
Java等。通过本课程学习,使学生深刻理解互联网结构、多种协议(IP、ICMP、ARP、RSVP、RTP、RTCP、
SONET等)和网络设备,并能独立地进行组网和开发应用系统。