《数据结构(a)》课程教学大纲 -...

Post on 23-Jun-2018

267 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

《数据结构(A)》课程教学大纲

Data Structures

课程编号:0120508003 适用专业:计算机科学与技术、软件工程、网络工程

执 笔:董靓瑜 适用年级:09-12 级

授课单位:软件学院

一、课程性质和教学目的课程性质:数据结构是介于数学、计算机硬件和计算机软件之间的一门综合性的专业基础课,是计算机

科学与技术专业、其他相关信息类专业及软件工程复合专业的必修课。《数据结构》研究的主要

内容是数据表示和数据处理。本课程主要介绍如何合理地组织数据、有效地存储和处理数据,

正确地设计算法以及对算法进行分析和评价。

教学目的:通过本课程的学习,使学生全面深入地掌握各种常用数据结构的逻辑结构特点和运算,常用

存储结构的设计方法以及在各种不同存储结构上典型运算算法的实现。通过学习,使学生初步

具备运用数据结构知识分析问题和解决问题的能力,为学习后续课程提供必要的基础。 二、课程教学内容

1.基本概念:数据结构,数据结构研究的内容,常用的存储方法,算法评价的标准。

2.线性表的概念及运算的定义,线性表的顺序存储,线性表的链接存储。

3.栈和队列的概念及运算,顺序栈、顺序队列,链栈、链队列,栈和队列的应用。

4.多维数组和广义表的概念和存储。

5.树的概念,二叉树的概念、性质、存储,二叉树的遍历,线索二叉树,树和森林,哈夫曼树及应用

6.图的概念、存储和遍历,生成树和最小生成树,最短路径,拓扑排序,关键路径。

7.排序的基本概念及常用的排序算法。

8.查找的概念及查找的实现方法。

三、课程教学的基本要求1.要求掌握的基本知识

从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、树、图和文

件等常用数据结构的一般知识。

2.要求掌握的基本理论和方法

(1)各种常用数据结构的逻辑特点及定义在逻辑结构上的运算;

(2)各种常用数据结构的存储方式及在存储方式上运算的实现;

(3)对算法的时间复杂度和空间复杂度有一定的分析能力;

(4)在各种常用数据结构上实现排序和查找运算;

(5)针对简单的应用问题,能选择合适的数据结构设计有效的算法解决。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业、上机实践等。通过本课程各个教学环节的教学,重点培

养学生的自学能力、动手能力、分析问题和解决问题的能力,培养学生利用经典数据结构的设计思想和实

现方法解决软件设计中实际问题的能力和查阅资料的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生

自学,培养学生的自学能力。不断更新教学内容,改进教学方法,通过实验和上机实践,培养学生的动手

能力和创新能力。

(2)利用多功能教室采用电子教案、CAI课件等多媒体技术,结合黑板讲解,以提高课堂信息量,增

加教学的直观性。

2.习题课

1

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应做为评定课程学习成绩的部分依据。

3.考核

考试方式为闭卷考试。可采用选择、填空、名词解释、简答、应用题等题型,卷面为100分,折成最终成

绩时要乘 80%。平时成绩(包括出勤、作业、课堂测试及上机实践)占总成绩的20%。

五、本课程与其它课程的联系与分工本课程的先修课为 C程序设计语言。上述课程中注意讲授算法的概念及特点,算法的描述方法,计算

机高级语言的基本语素及语法规则,用高级语言程序实现算法。

六、实验(实践)教学内容及其要求1.每名学生要做 2个上机实践题目,共 8学时,具体内容为:

(1)单链表的运算。

(2)二叉链表的建立和遍历运算。

2.通过上机实践,加深学生理解和掌握基础知识,提高分析问题、解决问题的能力;

七、建议学时分配

教 学 内 容 建议学时 备 注

概论 2

线性表 6

栈和队列 4

多维数组和广义表 4

树 6

图 6

排序 6

查找 4

习题课 2

上机实践 8

合 计 48学时

八、建议教材与教学参考书[1]《数据结构实用教程(C语言描述)第二版》,赵波主编,清华大学出版社,2012

[2]《数据结构——用 C语言描述》,唐策善主编,高等教育出版社,1998

[3]严蔚敏主编,《数据结构-C语言》,清华大学出版社,2002

[4]严蔚敏主编,《数据结构题集》,清华大学出版社,2002

2

《C 语言程序设计》课程教学大纲

The program design of C

课程编号:0120508004 适用专业:计算机科学与技术专业、软件工程、网络工程

执 笔:戚海英 适用年级:09-12级

授课单位:软件学院

一、课程性质和教学目的课程性质:《C语言程序设计》是四年制计算机专业的计算机程序设计基础课,是高校低年级学生学习计

算机程序设计的入门课程。

教学目的:通过本课程的学习,要求学生达到:

1. 掌握计算机程序设计的基本思想、同时掌握 C程序设计的基本概念。

2. 掌握 C语言的基本数据类型、语法规则、表达式和语句、函数、指针、C语言的程序结构、文件

操作等内容。

3. 能利用微机进行 C语言程序设计的上机操作。

4. 能够独立完成简单的 C语言程序设计工作。

5. 初步培养学生用计算机处理问题的思维和方法。

二、课程教学内容1.C程序设计的基本概念:基本的算法的表示、上机步骤、C语言基本数据类型、运算符和表达式。

2.C语言中的语句:赋值语句、字符输入函数、字符输出函数、printf函数、scanf函数的使用

3.C语言的程序结构:顺序结构、选择结构、循环结构等,while语句、do-while语句、for语句、break语

句、continue语句的使用等。

4.C语言中的数组、结构体、共用体和枚举类型的定义与使用。

5.C语言中的函数:函数的概念、基本函数、函数的参数和函数的值、函数调用中的数据传递、函数的嵌

套调用和递归调用等。

6.C语言中变量指针、数组指针、结构体指针的使用。

7.C文件概述:文件的打开与关闭函数、文件的读/写函数及其它常用函数。

三、课程教学的基本要求通过本课程的学习,要求学生达到如下几点:

1.要求掌握的基本知识

C程序设计的基本概念、基本数据类型、C语言中的语句。

2.要求掌握的基本理论和方法

C语言中的数组与指针、函数、程序结构、结构体、共用体和枚举类型、文件的读/写。

四、课程教学环节教学环节包括:课堂讲授、上机实习、课外作业。通过本课程各个教学环节的教学,重点培养学生的自

学能力、动手能力、分析问题解决问题的能力,培养学生基本的描述算法、书写程序、结构设计能力和查阅

资料的能力。

1.课堂讲授

教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自学,

培养学生的自学能力。结合课程实际,更新教学内容,改进教学方法,通过上机实习和课外作业,培养学

生的动手能力和创新能力。

2. 上机练习

要安排学生自己编程并上机进行调试,注重培养学生计算机应用能力,积累调试程序的经验。

3.习题课

根据教学需要,要适当安排习题课,便于学生消化、理解课堂所学的内容。

4.考核

3

C程序设计要实行上机考试方式,如闭卷,考试可采用选择、填空、编写程序等题型。平时成绩占

20%,期末考试成绩占 80%。期末考试试卷以百分计。

五、本课程与其它课程的联系与分工本课程的先修课程为计算机基础实践。

六、实验(实践)教学内容及其要求1.每名学生要做 12个上机,共 24学时。内容是:编写简单的 C语言程序,编写选择结构和循环结构

程序,编写一维数组、二维数组程序、指针访问内存等。

2.通过上机教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能力;培养学生工程意

识、创新能力和素质。

3.上机成绩为课程平时成绩 50%。

七、建议学时分配

教 学 内 容 建议学时 备 注

C语言思想和基本数据数值处理 8

C语言逻辑处理(选择和循环) 12

C语言数组 6

C语言结构体、共用体和枚举类型 4

C语言函数 10

C语言指针 4

C文件概述 2

复习 2

合计 48课时

八、建议教材与教学参考书[1]李瑞等,《C程序设计基础》(第二版),清华大学出版社,2011。

[2]李瑞等,《C程序设计基础》,清华大学出版社,2008。

[3]谭浩强主编,《C程序设计》(第三版),清华大学出版社,2001。

[4]薛钢等,《C语言实用教程》 吉林科学技术出版社,1997

4

《Java 与面向对象程序设计》课程教学大纲

Java Programming

课程编号:012058005 适用专业:计算机科学与技术、软件工程、网络工程

执 笔:杨光 适用年级:09-12 级

授课单位:软件学院

一、课程性质和教学目的课程性质:Java 不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的编程语言之

一。目前,Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当

掌握的一门基础语言,因为很多新的技术领域都涉及到了Java语言,国内外许多大学已将

Java语言列入了本科教学计划,掌握 Java已经成为共识。《Java程序设计》是软件工程专业、计

算机科学与技术等相关专业的一门重要的程序设计语言课程。必修课。

教学目的:通过本课程的学习,要求学生达到:

1. 理解 Java 的平台无关、面向对象、多线程等特性。

2. 掌握 Java语言的面向对象的程序设计方法。

3. 掌握 Java 中的网络编程、多线程程序设计、GUI 设计等编程技巧。

4. 培养学生应用 Java 解决和处理实际问题的思维方法与基本能力。

二、课程教学内容1. Java语言基础知识

Java语言简介;java语言的开发环境;Java 程序的基本结构;Java语言的基本数据类型、表达式、

语句、数组。

2. 类与对象

类的声明;类体及其构成;对象的创建和使用;访问权限。

3. 继承、多态与接口

超类与子类;超类与子类的关系;方法的重写;接口。

4. 字符串与常用类

字符串相关类;Data 类;Math 类;Calendar 类。

5. GUI编程

组件的使用;布局;AWT事件。

6. 多线程编程

创建多线程;同步线程。

7. 输入、输出流

Java 输入/出流类;文件和文件的读写。

8. Java网络编程

URL、 Socket套接字。

5

9. JDBC

数据源;查询、修改、删除。

三、课程教学的基本要求1.要求掌握的基本知识

Java语言的语法知识,Java 中的网络编程、多线程程序设计、GUI 设计等编程技巧。

2.要求掌握的基本理论和方法

Java语言的面向对象的程序设计方法,使用 Java语言完成应用程序的开发。

四、课程教学环节教学环节包括:课堂讲授、上机实践、习题课、课外作业。通过本课程各个教学环节可以培养学生的自

学能力、动手能力、分析解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合实际问题,更新教学内容,改进教学方法,通过上机实践,培养学生的动

手能力和创新能力。

(2)利用多功能教室,结合黑板讲解,演示较大的程序的结构及运行效果,以提高课堂信息量,增加

教学的直观性。

2.习题课

习题课:根据教学需要,要适当安排习题课、课外习题。

3.考核

考试方式可以采取开卷或闭卷方式,任课教师可根据教学实际情况合理选择考试方式,卷面成绩为

100分。

平时考核:课后作业与考勤(10分)+上机实践(10分)。

课程学习成绩:卷面成绩*80%+平时成绩(20分)。

五、本课程与其它课程的联系与分工本课程的先修课程为 C语言,计算机文化基础、数据结构。

六、实验(实践)教学内容及其要求1.本门课程的上机学时共 16学时,其中上机内容安排为:Java应用程序:2学时;类与对象:2 学时;

继承与接口:4学时;GUI编程:4学时;输入输出流:4学时。

2.通过上机实践环节可以加深学生对理论知识的理解和掌握,同时提高学生分析问题、解决问题的能力,

培养学生实践能力与创新能力。

3. 根据学生在上机过程中的表现、操作技能、程序代码等情况综合评定上机实践成绩,按总成绩的10%计

入课程成绩总分中。

七、建议学时分配

教 学 内 容 建议学时 备 注

Java语言基础知识 2

6

对象、类、继承、多态、接口 10

字符串与常用类 4

GUI编程 4

多线程编程 2

Java输入输出流 2

Java网络编程 4

JDBC 2

习题课 2 根据学习状况安排

上机 16

合 计 48学时

八、建议教材与教学参考书[1] 耿祥义,《Java 2实用教程》(第 4版),清华大学出版社 2012

[2] 耿祥义,《Java 大学教程》(第 3版),电子工业出版社 2012

7

《软件测试技术(B)》课程教学大纲

Software Testing Technology

课程编号:0120608003 适用专业:软件工程

执 笔:邓 武 适用年级:09-12级

一、课程性质和教学目的课程性质:本课程是软件工程专业的一门重要的专业必修课程。主要内容包括软件测试的基本原理、方法、

技术、管理等,实用软件测试工具的应用和软件实例的测试。

教学目的:学生通过学习本课程学习后,能够深刻理解软件测试思想和基本理论;熟悉软件的测试方法、

相关技术和系统地软件测试过程;会熟练编写测试计划,测试用例,测试报告,并熟悉几种

自动化测试工具,从而从工程化角度提高和培养学生从事大型软件的测试技术和能力,为更

深入地学习和今后从事软件工程实践打下良好的基础。

二、课程教学内容1. 软件测试概述:包括软件测试的背景、软件测试的定义、目的和原则、软件测试技术概要、软件开发、

软件测试和软件开发之间的关系模型、软件测试的工作流程、软件测试职业与素质等;

2.软件测试方法:包括软件测试的分类:静态测试与动态测试、黑盒测试与白盒测试、人工测试与自

动化测试、面向对象软件的测试、测试用例及测试用例的设计等;

3.软件质量保证:包括软件质量的定义、软件质量标准、软件错误定义、软件质量保证、软件质量的可

靠性评估等;

4.软件测试策略、质量标准与规范:包括软件测试策略、软件测试规范、CMM结构体系等;

5.软件测试技术:包括单元测试、集成测试、系统测试、验收测试、回归测试、面向对象软件测试、基于

应用服务器的测试、面向对象软件测试、测试计划文档的作用、内容、要点和测试计划制订的具体过程。

6.软件测试管理:包括软件测试管理的特点、软件测试管理的内容,主要有:软件测试的组织管理、

过程管理、资源管理、进度管理、风险管理、质量管理和配置管理等。

7.实用软件测试工具:包括测试工具分类、IBM Rational软件测试工具等的使用;

三、课程教学的基本要求1.了解软件测试的背景、职业与素质;

2.理解软件测试的定义、目的和原则,软件开发的过程、软件测试技术概要、软件开发、软件测试和软

件开发之间的关系模型、软件测试的工作流程;

3.掌握软件测试的方法和技术,主要有单元测试、集成测试、系统测试、验收测试、回归测试、面向对

象软件测试、基于应用服务器的测试、面向对象软件测试;

4.掌握软件测试的组织管理、过程管理、资源管理、进度管理、风险管理、质量管理和配置管理等;

5.理解软件质量保证以及软件测试的策略等;

6.掌握实用软件测试工具的使用方法,即测试过程,利用软件测试工具对案例进行测试。

四、课程教学环节教学环节主要包括:课堂讲授、习题课。通过本课程各个教学环节的教学,重点培养学生的自学能力、

动手能力、分析问题解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合软件实际,更新教学内容,改进教学方法,通过上机实践,培养学生的动

手能力和创新能力。

8

(2)目前已有的幻灯片可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教学的直观性。

2.习题课

习题课:根据教学需要,要适当安排习题课、课外习题。

3.考核

要重视考试方式的改革,本课程采用大作业和开卷考试方式相结合,考题形式采用判断题、简答题、

设计题,卷面为100分,折成最终成绩时要乘 70%。另外100分的构成:出勤 60分,大作业40分。

五、本课程与其它课程的联系与分工学习本课程要求有一定的程序设计经验。因此应至少学习一门程序设计语言课程,本课程是数据库原

理、操作系统原理、软件工程的部分知识的深化,涉及到软件工程的一些知识和概念。

六、建议学时分配

七、

建议教材与教学参考书使用教材:

[1] 邓武.软件测试技术与实践. 北京:清华大学出版社,2012

教学参考书:

[1] 姚登峰.基于 RUP的软件测试实践.北京:清华大学出版社,2009

[2]周颖等译.软件质量保障原理与实践. 北京:科学出版社,2010

[3] Using Rational Performance Tester Version 7,IBM Redbooks

教 学 内 容 建议学时 备 注

软件测试概述 4

软件测试方法 6

软件质量保证 2

软件测试策略、质量标准与规范 2

软件测试技术 8

软件测试管理 4

实用软件测试工具 4

习题课 2

合 计 32学时

9

[4]程宝雷,徐丽,金海东.软件测试工具实用教程.北京:清华大学出版社,2009

[5]信必优技术学院研发部.外包软件测试工程师基础教程.北京:清华大学出版社,2009

[6]Software Configuration Management:A Clear Case for IBM Rational ClearCase and

ClearQuest UCM,IBM Redbooks

[7]An Experience Using Rational PerformanceTester to Benchmark Oracle

EnterpriseOne,IBM Redbooks

[8]Patterns: Model-Driven Development Using IBM Rational Software Architect,,IBM

Redbooks

[9]黎连生,王华,李淑春.软件测试与测试技术.北京:清华大学出版社,2009

[10]韩柯等译.软件测试原理与实践.北京:机械工业出版社,2009

[11]陈汶滨,朱小梅,任冬梅.软件测试技术基础.北京:清华大学出版社,2008

[12]袁玉宇.软件测试与质量保证.北京:北京邮电大学出版社,2008

[13]朱少民.软件测试方法和技术.北京:清华大学出版社,2005

10

《统一建模语言 UML》课程教学大纲

Unified Modeling Language

课程编号:0120808009 适用专业:软件工程

执 笔:殷丽凤 适用年级: 09-12级

一、课程性质和教学目的课程性质:本课程是计算机及相关专业的重要课程,它属于软件工程范畴,有很强的理论性和实践性;

必修课。主要介绍统一建模语言UML 和面向对象的分析和设计知识。使学生掌握利用 UML 工

具进行面向对象的分析和设计,在分析和设计中如何进行建模,学会使用 UML建模工具,为

系统和科学的软件开发打下良好的基础。

教学目的:本课程的目的是向学生介绍可视化建模技术 UML 的基本知识,使学生了解为什么建模和建

模的重要性,了解 UML 特点和应用领域,理解面向对象技术,掌握 UML语言的基本内容,

类图、对象图、用例图、状态图、顺序图、协作图、活动图、构件图和部署图九种图的可视化建模、

特点及使用;通过 UML 的学习,使学生掌握 UML语言的基本内容,理解 UML 在开发过程中

的应用,对简单问题能够建立UML模型。培养学生在解决和处理实际问题时,树立起建模的

思想,使用 UML来分析和设计问题,为进一步进行软件工程的研究以及系统分析和设计打下

基础。

二、课程教学内容1.UML 简介:建模以及建模的重要性;UML;UML 的产生、发展、特点和应用领域。

2.理解面向对象:面向对象的概念及特点。

3.类图:类的可视化表示、属性、操作、职责和约束;如何发现类;对象图和包图。

4.关系:关联、关联的多重性;对关系的建模及关联的表示法;限定关联、自身关联;依赖。

5.聚集、组成、接口和实现:聚集和组成及其表示法;接口和实现及其表示法;语境和可见性

6.用例:用例;用例的重要性;用例图;用例图的表示法及用例的包含和扩展;用例在开发过程中的作

用;用例的获得。

7.状态图:消息及消息的类型;什么是状态图;事件,动作和监视条件;子状态:顺序的和并发的;历

史状态;状态图重要性。

8.顺序图:顺序图及其表示法;实例图和一般图;在顺序图中使用“if”和“while”;在序列中创建对象自

身调用的表示;帧化顺序图;顺序图的作用。

9.协作图:协作图及其表示法;在协作图中使用“if”和“while”条件;在协作图中创建和删除对象;协作

图中的主动对像、并发、同步;协作图的作用。

10.活动图:活动图及活动图的表示法;并发路径;泳道;活动图的作用;四类动态图的运用情况。

11.构件图:构件图及构件图的表示法;接口和实现。

12.部署图:部署图及部署图的表示法。

13.UML语言基础:UML 的组成结构;元模型层。

14.在开发过程中运用 UML:为什么在开发过程中运用 UML;GRAPPLE指导原则;案例分析。

三、课程教学的基本要求1.要求掌握的基本知识

掌握 UML 中常用的九种图的意义和表示法。

2.要求掌握的基本理论和方法

(1)掌握 UML 中常用图的建模方法;

11

(2)理解面向对象的概念、思想和面向对象系统开发的一般原则;

(3)理解 UML 中各种图在系统中的作用及其重要性;

(4)理解 UML 在实际系统开发过程中的应用;

(5)针对简单的应用问题,能够建立UML 的某些模型。

四、课程教学环节

教学环节包括:课堂讲授、习题课、课外作业和上机。通过本课程各个教学环节的教学,重点培养学生

的自学能力、动手能力、分析问题解决问题的能力,培养学生利用经典数据结构的设计思想和实现方法解

决软件设计中实际问题的能力和查阅资料的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自学,

培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过上机实践,培养学生的动手能

力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI 课件,以提高课堂信息量,增加教

学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课,讲解习题,增强解决问题的能力。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应做为评定课程学习成绩的部分依据。

3.考核

本课程主要以闭卷考试形式为主。对闭卷考试可采用填空、名词解释、简答、判断正误、建立模型等题型。

卷面为 100 分,折成最终成绩时要乘 80%。出勤、作业、课堂测试及上机实践占总成绩的 20%。

五、本课程与其它课程的联系与分工本课程的先修课为 C++程序设计,JAVA 程序设计等。上述课程中注重讲授面向对象的的概念及特点

等。本课程的后续课程为软件工程等。本课程应重点掌握 UML建模的思想和在开发过程中的应用,为后续

课程的学习打下必要的基础。

六、实验(实践)教学内容及其要求1.每名学生要进行上机实践,共 16 学时。上机内容可以针对简单问题建立类图、用例图、状态图、活动图、

顺序图和协作图等。

2.通过上机实践,加深学生理解和掌握建模基本思想,提高分析问题、解决问题的能力;培养学生创新

能力和素质。

3.学生完成上机实践后,指导教师给出成绩,上机成绩为课程学习成绩的 15%。

七、建议学时分配

教 学 内 容 建议学时 备 注

第一章UML 简介 2

第二章 理解面向对象 2

第三章 类图 4

第四章 关系 2

第五章 聚集、组成、接口和实现 2

12

第六章 介绍用例 2

第七章 用例图 4

第八章 状态图 2

第九章 顺序图 2

第十章 协作图 2

第十一章 活动图 2

第十二章 构件图 1

第十三章 部署图 1

第十四章 理解 UML语言基础 1

第十五章 在开发过程中运用 UML 1

第十六章 案例介绍 2

课程实践 16

合 计 48 学时

八、建议教材与教学参考书

[1]李虎等编著,《UML 基础、应用和案例》,人民邮电出版社,2004

[2]方贵宾等译,《UML 和统一过程》,机械工业出版社, 2003.

13

《计算机网络(A)》课程教学大纲

Computer Networking

课程编号:0120408002 适用专业:计算机科学与技术、软件工程、网络工程

执 笔:张雪 适用年级:09-11级

一、课程性质和教学目的课程性质:计算机网络技术是计算机技术和通信技术密切结合并迅速发展的新技术,在信息社会中

得到了极其广泛的应用。计算机网络涉及数据通信、网络理论、各类网络标准协议及众多相关技术,为

便于学生全面了解和掌握网络技术,必修课。本课程的内容安排,以基础性和实用性为重点,力图在

讲清计算机网络基本原理的前提下,进一步介绍 Internet深层的应用。通过这些内容的学习,使学

生掌握计算机网络的工作原理,理解计算机网络的一系列标准和协议,了解计算机网络的新技术,

为计算机网络的应用打下扎实的基础。

教学目的:通过本课程的学习,应使学生达到如下目的:

1. 树立网络分层的基本思想、协议是网络精髓的基本理念;

2. 掌握网络的组成与网络的体系结构、Internet中网络应用的基本原理、TCP/IP网络协议、数

据传输的基本原理等基础知识;

3. 提高网络应用与开发的理论水平;

4. 培养具有分析网络数据包、搭建与配置网络、网络编程与开发的能力;

5. 具有组建网络、开发网络应用、管理网络并优化网络性能等技能,为后续的学习和以后的工

作打下坚实的基础。

二、课程教学内容1.计算机网络及因特网总论

了解什么是因特网,什么是协议,网络边缘及内核,接入网和物理媒体,分组交换网的延迟,

协议分层和服务模型。

2.应用层协议的原理

万维网协议:HTTP; 文件传输协议:FTP ;电子邮件;DNS-因特网目录服务;用 TCP套接字

编程; 用 UDP套接字编程。

3.传输层服务和工作原理

复用和分用; 无连接传输——UDP; 可靠数据传输的工件原理;面向连接的传输——TCP;阻

塞控制的工件原理;TCP的阻塞控制。

4.网络层服务模型

路由算法的一般原理;层次路由算法;网际协议:IP;因特网中的路由算法;下一代因特网网

际协议:Ipv6。

5.数据链路层

检错和纠错技术; 多路访问技术;局域网编址和地址解析协议; 以太网; 集线器,网桥,交

换机; 点对点协议——PPP。

三、课程教学的基本要求

14

1. 要求掌握的基本知识

了解计算机网络的基础知识、Internet的定义与结构、协议的定义、Internet自上而下的五层协

议;理解计算机网络的体系结构及在 Internet中各层协议的功能;掌握五层协议的各种数据传输转

换方式以及数据传输单元,五层协议中各层协议格式与定义。

2. 要求掌握基本理论和方法

理解五层协议的各自工作原理并了解其适用环境;掌握网络计算中涉及的算法及网络协议工作

流程,网络延迟、选路算法、拥塞算法、GBN及 SR工作流程等。

3. 要求掌握的基本技能

将理论知识应用到实践当中,能针对其中的某些算法编程实现,会编制基于 TCP的网络聊天程

序、基于 UDP的网络聊天程序;通过实验深入了解 HTTP协议,SMTP协议 TCP协议,IP协议的具体实

现方法,能够读懂基本报文,会从报文中找到关键字段信息。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业。

通过本课程各个教学环节的教学,重点培养学生的自学能力、动手能力、分析问题解决问题的能

力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学

生自学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计

培养学生的动手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增

加教学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应作为评定课程学习成绩的5%。

3.考核

考试方式为闭卷试题可为选择、填空、判断、简答、计算题、等题型,卷面为100分,折成最终成绩

时要乘 80%。

五、本课程与其它课程的联系与分工本课程的先修课程为数字电路、计算机组成原理、Java编程语言。

六、实验(实践)教学内容及其要求每名学生要做 3个实验,共 8学时。实验内容为应用网络协议仿真教学系统对计算机网络各层协

议进行模拟实验和分析。通过实验教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能

力;培养学生工程意识、创新能力和素质。

要求:学生完成实验后必须书写实验报告,指导教师给出成绩,实验成绩为课程学习成绩的

10%。

序号 实 验 项 目 学时 类 型

1 HTTP协议 2 验证型

2 SMTP、POP3、IMAP协议 2 综合型

3 TCP协议 4 综合型

15

七、建议学时分配

教 学 内 容 建议学时 备 注

计算机网络总论 4

应用层 10

传输层 8

网络层 8

链路层及物理层 6

习题课 4

实验课 8

合 计 48学时

八、建议教材与教学参考书[1]《计算机网络》(第四版 影印版),James F.Kurose,高等教育出版社,2009

[2]《计算机网络》,谢希仁主编,大连理工大学出版社,2008

[3]《计算机网络与因特网教程》,Fred Halsall, 机械工业出版社,2006

16

《计算机组成原理》课程教学大纲

Computer Components and Principle

课程编号:0120408013 适用专业: 计算机科学与技术、软件工程、网络工程

执笔:王姣 适用年级:09-12 级

一、课程性质和教学目的

(1) 课程性质:《计算机组成原理》是软件工程本科生的一门十分重要的专业基础课程,是以后各专业课程的基础 ,

因而本课程的地位十分重要。本课程的任务是掌握计算机系统的基本组成、计算机数据表示及运算方法、计

算机各硬件部件的组成功能和工作原理、计算机系统的举例和新发展等。

(二)教学目的:通过本课程的学习,掌握计算机系统的基本组成、计算机数据表示及运算方法、计算机各硬件部件存

储器、I/O 和 CPU 的组成功能和工作原理、计算机系统的举例和新发展等,为进一步学习计算机专业的其它

相关专业课程打下牢固的基础。

(三)本课程与相关课程的联系本课程的先修课程为电工电子技术、,计算机操作基础,逻辑设计与数字系统。计算机组成原理作为

计算机硬件课程是软件工程方向和网络工程方向其它专业课程的基础。

二、课程教学内容

1. 计算机系统概述:计算机系统的组成、计算机系统的层次结构、计算机的分类及应用、特点和性能指标

等基础知识。

2. 存储体系:存储器概述、半导体读写读写存储器 RAM、半导体只读存储器 ROM、主存储器与 CPU 的连

接、并行存储器、存储体系、外存储器。

3. 数值与编码:数值数据的编码表示(原码、反码、补码、移码)、定点数与浮点数、非数值信息的表示

4.指令系统:简单介绍指令系统的相关概念、指令系统的发展

5. 运算方式与运算器:计算机中非四则运算及其实现、定点数的加减运算及加法器、定点小数的乘法运

算及实现、定点小数的除法运算及实现、定点运算器的组成与结构、浮点四则运算及浮点运算器的组成

6. 程序控制原理与控制器:控制器基本概念、一台模型机的设计、微程序控制原理、模型机微程序控制器

的设计、并行处理技术

7.系统总线与输入输出控制方式:系统总线、输入输出概论、输入输出方式(直接程序控制方式、程序中

断方式、DMA 方式、输入输出处理机(IOP)方式。

三、课程教学的基本要求1.要求掌握的基本内容

从总体上了解计算机的主要组成部件、层次结构、分类、性能指标等基本常识;系统掌握存储器及

存储体系结构等工作原理及使用;系统掌握计算机各种数据表示及其转换;掌握指令系统的相关概

念,了解指令系统的发展;系统掌握定点加、减、乘法运算,了解定点除法运算,掌握定点运算器的

组成与结构、掌握浮点运算规则、了解浮点运算器的组成; 系统掌握控制器的基本概念、组合逻辑控

制型和微程序控制型机计算机的设计理念和方法,了解并行处理技术;系统掌握输入输出系统的概

念和作用。

2.学习方法

计算机组成原理是时实践性很强的一门学科,通过实验课时加深学生理解、掌握理论知识,提高分析

17

问题、解决问题的能力;计算机是发展十分迅速的一门学科,学生应通过阅读期刊杂志,网上浏览、参观

等手段不断地关注新的发展动向,了解计算机发展最前沿的相关知识。

四、课程教学环节教学环节包括:课堂讲授、习题课、实验、课外作业。通过本课程各个教学环节的教学,使学生掌握计

算机原理的基本常识,培养学生的自学能力、动手能力、分析问题解决问题的能力。

(一) 课堂讲授

教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自学,

培养学生的自学能力。教师应该及时了解计算机发展的最新动态,结合实际,更新教学内容,改进教学方

法。

(二)习题课

1.习题课:根据教学需要,要适当安排习题课、课外习题。

2.学生必须独立、按时完成课外习题,习题和作业完成情况应作为评定课程学习成绩的10%。

(三)考 核

本课程采用闭卷考试方式,考题形式可采用填空、简答、判断、计算题、画图、综合设计等题型。

五、本课程与其它课程的联系与分工本课程必须有先修课程作为基础:电工电子技术、计算机操作基础、逻辑设计与数字系统;计算机组

成原理作为计算机硬件课程是软件工程和网络工程等计算机相关专业其它专业课程的基础,对学生学习

其它专业课程有直接或间接的影响。

六、实验(实践)教学内容及其要求每名学生要做 3~4个实验,共 8学时。

通过实验教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能力;培养学生工程意识、

创新能力和素质。

七、建议学时分配

教 学 内 容 建议学时 备 注

计算机系统概述 2

存储体系 8

数值与编码 4

指令系统 4

运算方式与运算器 8

程序控制原理与控制器 8

系统总线与输入输出控制方式 4

习题课 2

实验课 8

合 计 48学时

八、建议教材与教学参考书

建议教材:William Stalling主编,《计算机组织与结构》,《Computer Organization and Architecture》机械工业

18

出版社

教学参考书:

⑴ 唐朔飞编著 《计算机组成原理》高等教育出版社

(2)白中英编著《计算机组成原理》科学出版社

19

《C++程序设计(B)》课程教学大纲

C++ programming

课程编号:0120508006 适用专业:计算机科学与技术、软件工程 执 笔:田 宏 适用年级:09-12 级

1、 课程性质和教学目的

课程性质:《C++程序设计》是软件工程专业的一门重要的必修专业基础课,是计算机专业教育的基

础和重点。本课程以标准C++语言为载体,从程序设计的基本概念、基本思想和方法出发,

介绍面向对象程序设计语言与面向对象程序设计方法。它不仅为今后学习专业课打下坚实

的理论基础,而且为软件开发、程序设计提供必要的理论、方法和工具。

教学目的:通过学习《C++程序设计》课程,使学生在程序设计方法、程序设计语言与程序设计工具三

方面受到严格、系统的训练,从而能熟练应用计算机解决实际的问题。本课程通过全面、系

统地介绍面向对象程序设计的基本概念和分析设计方法,详尽讲述 C++语言的基本语法

和面向对象的基本特性,包括类与对象、封装、继承、多态性、对象的持留性、异常处理等,

使学生能深刻理解和领会面向对象程序设计的特点和风格,类的封装、继承和多态性与程

序的安全性、结构化和灵活多样性之间的关系;并通过课堂教学、课外练习与上机实习相

结合,促使学生掌握面向对象程序设计方法和编程基础,培养学生系统、严密地分析问题

和解决问题的思维能力,掌握利用计算机解决实际问题的基本技能。

二、课程教学内容

1.程序设计与 C++语言的初步知识: 介绍 C++语言的发展历史与优势,介绍数据抽象、封装、可重用

性、继承和多态性等面向对象的概念。使用 Visual C++开发 C++程序,了解 C++程序编译及连接运

行的原理,基本的编译环境。

2.对象与类:介绍类与对象的概念,使学生开始以面向对象的思维方式看待程序设计,主要内容包

括 C++中类的定义、对象的创建与初始化、对象的访问、对象与指针、类界面、数据封装与类成员的

访问控制、类成员的作用域、对象与函数调用、成员对象、静态成员、类的抽象与封装、string 类、友元、

构造函数与析构函数、拷贝构造函数、vector 类等内容。重点是掌握类与对象的定义与使用方法,并

学习面向对象程序设计中以类构造程序的思想。

3.继承与多态:引入继承的概念,学习 C++中对继承机制的支持,以及继承对类的一般特性的影响,

并讨论怎样构造好的类继承层次。介绍多态性的基本概念以及 C++语言对多态性的支持,包括函

数重载和运算符重载等编译时多态性以及由继承和动态绑定和动态绑定实现的运行时多态性。主

要内容包括继承的概念、继承中的访问控制、继承与构造和析构函数、多继承、函数重定义、虚函数

与多态、抽象类、动态类型转换。重点是掌握继承机制的用法以及使用继承机制组织类层次、掌握函

数与运算符的重载以及运行时多态性。

4.文件输入输出:介绍 C++中的输入/输出机制,主要是流类库的组织与用法。学生从中也可学到面

向对象的软件构造技术。学习 C++程序输入输出的实现、流类库、格式化输入输出、文件访问。重点

是学会使用 C++语言的流类库。

5.运算符重载:介绍运算符重载的基本语法及运算符重载的两种实现方式,介绍一元、二元运算符

重载的具体实例,学习运算符函数、简单运算符重载、典型运算符重载、运算符重载为友元,重点

掌握二元运算符重载的基本方法。

20

6.异常处理:学习简介典型的异常处理机制;简介 C++语言异常处理的原则,是将检测异常与处理

异常分离;内容包括异常的抛出、检测、捕获、传递、构造函数的异常处理等。

7. 模板: 学习模板的定义,掌握函数模板和类模板的使用方法。

8. STL 容器:介绍 STL迭代器、顺序容器、关联容器和容器适配器。

三、课程教学的基本要求

《C++程序设计》是计算机学科的专业基础课程之一,通过本课程的学习,要求学生完成:

1. 掌握的基本知识

牢固掌握 C++语言基本数据类型、复合数据类型、基本控制结构、函数以及面向对象程序设计中类

与对象、继承、多态性等基本概念;掌握 C++输入输出机制、程序断言、异常处理等高级机制。

2. 掌握基本理论和方法

理解面向对象程序构造方法、抽象数据类型、软件重用思想。掌握面向对象程序设计的原理和方法。

引用作为函数的参数和返回值的基本方法;类的构造函数与析构函数的定义和使用的基本方法;类

的三大特性(封装性,继承性和多态性)的实现方法;函数重载和运算符重载的基本方法;通过虚

函数实现动态多态性的方法;友元与模板的定义及使用方法。

3. 掌握的基本技能

掌握程序设计的基本方法和技巧,包括算法描述工具(伪码或流程图)等相关内容,能够对具

有一定规模和难度的问题进行算法分析和描述,并利用 C++语言编写清晰、简洁、高效的程序实现问

题的解决;培养良好的程序设计习惯,如标识符的命名、程序编写风格等;培养理论联系实际、利用

计算机解决实际问题的工程能力;

四、课程教学环节要求

教学环节包括:课堂讲授、上机练习、习题课和课外作业。通过本课程各个教学环节的教学,重点培养

学生的自学能力、动手能力、分析问题和解决问题的能力,培养学生程序阅读、程序设计能力和查阅资料的

能力。

1.课堂讲授

(1) 教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自学,

培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过上机练习和适当的课外作业,

培养学生的动手能力和创新能力。

(2) 采用 CAI 课件以提高课堂信息量,增加教学的直观性。

2.习题课、课外作业及上机课

(1) 习题课:根据教学需要,适当安排习题课,讲解习题,增强解决问题的能力。

(2) 根据课程进行情况,适当布置课外作业,学生必须独立、按时完成课外作业。

(3) 要求学生独立编程并上机进行各种训练,注重培养学生程序调试能力。

3.考核

本课程采取闭卷考试,时间为 2 小时。学生课程总成绩由平时考查成绩与期末考试成绩组成,其

中期末考试成绩占 80%。平时考查成绩占 20%,其中包括:考勤占 10%,上机 10%。

五、本课程与其它课程的联系与分工本课程的先修课程为 C语言程序设计。

六、实验(实践)环节内容及其要求

无。

21

七、建议学时分配

教 学 内 容 建议学时 备 注

第一章 程序设计与 C++语言的初步知识 2

第九章 对象与类 4

第十章 对象和类的更多内容 4

第十一章 继承与多态 4

习题课一 2

第十二章 文件输入输出 2

第十三章 运算符重载 4

第十四章 异常处理 2

第十五章 模板 2

习题课二 2

第十九章 STL 容器 2

上机课 16 根据进度安排

总复习课 2

合 计 48

八、建议教材与教学参考书1.《Introduction to Programming with C++》,Y. Daniel Liang著,机械工业出版社

2.《C++基础、上机指导及习题解答》,宋存利,田宏,陈晓红,曲英伟,邹丽,清华大学出版社

3.《C++ Programming Today》, Barbara Johnston著,机械工业出版社

4.《C++ Programming Language》,Bjarne Stroustrup著,机械工业出版社

22

《离散数学(A)》课程教学大纲

课程编号: 0120508002 适用专业:计算机科学与技术、软件工

程、网络工程

执 笔:石磊 适用年级:09-12 级

一、课程性质和教学目的

课程性质:《离散数学》是高等学校的一门软件工程、计算机专业必修课,是现代数学的

一个重要分支,是计算机科学中基础理论的核心课程。离散数学是以研究离散量的结构和相

互间的关系为主要目标,其研究对象一般地是有限个或可数个元素,因此它充分描述了计算

机科学离散性的特点。

教学目的:通过本课程的学习,要求学生掌握命题逻辑基本概念,推理方法及部分谓词

逻辑基本知识。掌握鸽巢原理理论及应用、递推关系解题方法。掌握关系基本概念、表示方法、

等价关系基本概念、关系的性质及运算。关系概念下的函数研究。了解偏序关系及结构的基本

概念。掌握树的基本概念、树的遍历、无向树、最小生成树。掌握图论基本知识。

二、课程教学内容

23

离散结构是计算机科学的基础内容。计算机的许多领域都要用到离散结构中的概念。离散

结构包括集合论、逻辑学、图论、和组合学等重要内容。

数据结构和算法分析与设计中含有大量离散结构的内容。例如:在形式证明、验证、密码

学的研究与学习中要有理解形式证明的能力。图论中的概念被用于计算机网络、操作系统和编

译系统等领域。集合论的概念被用在软件工程和数据库中。

随着计算机科学与技术的日益成熟,越来越完善的分析技术被用于实践,为了理解将来

的计算机科学技术,学生需要对离散结构有深入的理解。

三、课程教学的基本要求

1.要了解的基本知识:集合及其运算,序列,整除,矩阵(布尔阵)的基本概念和方

法;排列组合知识。

2.要求掌握基本理论、方法和技能:命题逻辑,鸽巢原理,递推问题的解题方法;计算

机科学中函数理论,函数生成,组合函数;图的基本原理。

3.要求重点掌握基本理论、方法和技能:关系路径,关系的表示及运算,等价关系理论;

树的遍历;偏序关系理论。

24

四、课程教学环节

教学环节包括:课堂讲授、课堂实践、习题课、课外作业、章节测试。通过本课程各个教学

环节的教学,重点培养学生的理论推理能力、抽象思维和缜密推理能力、分析问题和解决问题

的能力。

㈠ 课堂讲授:教学方法上尽量采用启发式、讨论式的实践教学,在课堂上多提问题,多

做练习,课后布置习题帮助学生复习和消化课堂内容。尽量结合实例介绍相关理论,使学生

对理论有更深入的理解。在条件成熟时采用电子教案、课件,以提高课堂信息量,增加教学的

直观性。

㈡ 实践/上机练习:本门课程为专业理论基础课,不需要上机实践。

㈢ 习题课:根据教学需要,要适当安排习题课和中期测试。学生必须独立、按时完成课堂

习题和测验,习题。

㈣ 考核:按照平时成绩与期末考试成绩相结合的方法对学生成绩作出评定,以期末成绩

为主。考试方式为闭卷,测验和作业完成情作为评定课程学习成绩的 20%,卷面为 100 分,

折成最终成绩时要乘 80%。

25

五、本课程与其它课程的联系与分工

本课程是一门专业必修课,课程中要注意:

1.重点教授学生相关理论及理论的应用。

2.注重培养学生的逻辑思维能力。

六、建议学时分配

教 学 内 容 建议学

实践/上

备 注

基本原理 4

逻辑学 6

计算 2

关系 14

函数理论 2

偏序关系理论 10

26

树 6

图论 4

合 计 48 学时

七、建议使用教材与教学参考书

[1]《离散数学结构》Bernard Kolman等著,罗平译,高等教育出版社,2005

[2]《Discrete Mathematical Structures》(第五版),Bernard Kolman,高等教育出

版社,2005

[3]《离散数学》,朱一清编著,电子工业出版社,1997

[4]《离散数学》,王湘浩等,高等教育出版社,1983

27

《软件工程(A)》课程教学大纲

Software Engineering

课程编号:0120808003 适用专业:计算机科学与技术、软件工程、网络工程

执 笔:张振琳 适用年级:09-12级

一、课程性质和教学目的课程性质:本课程是软件工程专业必修课程,它研究软件生存周期中的各个阶段有关技术和理论的一门

学科。主要讲授软件工程的基本概念、软件生存周期、软件危机的原因及产生背景、软件工程计

划阶段、开发阶段、维护阶段的一般步骤,主要技术手段和方法,通过本门课程的学习,使学

生能在今后的工作中独立完成大中型项目科学和开发或管理工作。

教学目的:通过本课程的学习,要求学生达到如下几点:

1. 了解和掌握软件工程的产生、软件工程发展史、软件生命周期及各种开发模型。

2. 了解和掌握软件开发各阶段的目标、任务、特点、步骤和文档。

3. 了解和掌握面向对象和结构化软件开发方法的基本思想,开发过程和步骤,应遵循的原则

和准则。

4. 了解和掌握软件工程的管理技术。

二、课程教学内容1.软件过程

(a)需求阶段测试和文档

(b)规格说明阶段测试和文档

(c)设计阶段测试和文档

(d)实现阶段测试和文档

(e)集成阶段测试和文档

(f)维护阶段测试和文档

2.软件生命周期模型

(a)建造-修补模型

(b)瀑布模型

(c)快速原型模型

(d)迭代增量模型

(e)极限编程

(f)同步-稳定模型

(g)螺旋模型

(h)面向对象的生命周期模型

(3)小组,软件工具和测试

(a)小组组织

(b)民主小组方法

(c)传统的主程序员小组方法和超越传统的主程序员小组方法和民主小组

(d)同步-稳定小组

(e)极限编程小组

(f)逐步求精法,成本-效益分析法和软件度量

(g)质量问题

(h)非执行测试和执行测试

(i)应测试什么

28

4.从模块到对象

(a)什么是模块

(b)内聚和耦合

(c)数据封装和抽象数据类型

(d)对象,继承,多态和动态绑定

(5)软件生命周期的各个阶段

(a)需求阶段

(b)规格说明阶段

(c)面向对象分析阶段

(d)面向对象的设计阶段

(e)实现阶段

(f)实现和集成阶段

(g) 维护阶段

三、课程教学的基本要求 1.要求掌握的基本知识

软件生命周期各阶段技术和理论知识

2.目标

通过本门课程的学习,使学生能在今后的工作中独立完成大中型项目科学和开发或管理工作。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业。通过本课程各个教学环节的教学,重点培养学生的自学

能力、动手能力、分析问题解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计,培养学

生的动手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教

学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应记做平时成绩。

3.考核

本门课程的总评成绩=考试成绩×80%+平时成绩×20%,平时成绩按 100分计算,按 20%计入总评成绩

中,其中考勤占 50分,作业占 50分。考试成绩卷面满分100,按 80%计入总评成绩中,其中考试方式为闭

卷,试题可为选择、填空、判断、简答、计算题等。

五、本课程与其它课程的联系与分工对于计算机软件专业的学生来说,本课程的先修课程为数据结构、数据库原理、C++或 Java编程语言。

六、上机实践教学内容及其要求1.每名学生要做 2个实验,共 8学时。实验内容可以是系统的分析与设计等。

2.通过实验教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能力;培养学生软件工程意

识、创新能力和素质。

3.学生完成实验后必须书写实验报告,指导教师给出成绩,实验成绩为课程学习成绩的10%。

七、建议学时分配

教 学 内 容 建议学时 备 注

软件工程范畴 2

29

软件过程 2

软件生命周期模型 4

组 2

软件工程工具 2

测试 2

从模块到对象 4

可复用性、可移植性和互操作性 1

计划和估算 1

需求阶段 2

规格说明阶段 2

面向对象分析阶段 2

设计阶段 4

实现阶段 2

实现与集成阶段 2

维护阶段 2

习题课 4 根据学习状况安排

上机 8

合 计 48学时

八、建议教材与教学参考书[1]Stephen R,Schach Object-Oriented and Classical Software Engineering (seventh Edition)

[2]张海藩,软件工程导论(第四版),清华大学出版社,2004年

[3]Shari Lawrence Pfleeger, Software Engineering Theory and Practice(Second Edition)

[4]杨文龙,古天龙,软件工程(第 2版),电子工业出版社,2005年

30

《软件工程实践》课程教学大纲

Software Engineering Practice

课程编号:0120808008 适用专业:软件工程

执 笔:张振琳 适用年级:09-12级

一、课程性质和教学目的课程性质:本课程是软件工程专业的必修课程。本课程是在学习完《软件工程》、《面向对象的程序设

计》等课程后开设的实践性教学课程。该课程选择具有实际应用背景的软件系统课题,将软件工程涉及

的理论、方法,通过一系列的课程设计进行综合训练,使学生实际的分析问题、建立模型、编程、测试等

动手能力得到提高,帮助学生理解课程的主要内容和方法。

教学目的:通过本课程的学习,使学生能够综合运用所学知识解决实际问题,掌握软件工程的原理、

方法,以及开发工具的运用,进而达到对所学理论和知识的综合运用的目的,提高学生解决工程问题

的能力。

二、课程教学内容本课程的教学内容分为两个部分:

一)基于案例的软件工程:这部分以实际的信息系统为例,结合、支持各种软件开发工具,介绍软件

工程的开发过程,建模设计,测试等内容。

二)实验、实践教学:这一部分主要通过实验和实践环节,熟悉并掌握各种软件开发工具。另外,在指

导教师的指导下,使学生通过一个实际的项目开发,完整体验与实践 RUP整个软件开发过程。

具体教学内容包括:

1、软件工程方法

1.1 生命周期法,包括问题分析、可行性分析、需求分析、系统设计、编写程序代码、软件测试以及软件

运行、维护与文档管理等。

1.2 面向对象方法与 UML,包括面向对象的基本概念、UML概述、常用的 UML图、面向对象的分析、面向对

象的设计、数据库设计、面向对象的编程与测试以及软件运行、维护与文档管理等。

1.3 软件工程实践中的项目管理,包括项目管理概述、人员的组织与管理、项目计划、风险管理、配置管

理和软件质量保证。

2、MVC模式,包括 MVC模式架构、MVC模式的应用、MVC优势、MVC模式与 J2EE以及 Struts框架

3、实践工具介绍,具体包括 Visio、MyEclipse、Rational Application Developer 等工具的使用方法。

4、结构化范型设计案例

5、面向对象范型设计案例

三、课程教学的基本要求通过课程实践熟悉软件工程的原理、方法和技术,能全面、系统地应用所学的概念、原理和方法完成系

统开发的规划、分析、设计和实施工作;掌握软件开发的过程和技术,以达到对本课程的综合知识的考察

和基本技能技巧的运用,培养自己的独立操作能力和团队合作精神。

四、课程教学环节教学环节包括:课堂讲授、案例分析、上机实践。通过本课程各个教学环节的教学,重点培养学生的自

学能力、动手能力、分析问题解决问题的能力。

1.课堂讲授

教学方法上采用基于案例的启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生

自学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计,培养

学生的动手能力和创新能力。

31

2.上机实践

给定一个实际问题,让学生自己完成软件系统的分析、设计和实现,包括建立分析模型、建立概要设

计结构,使用详细设计描述工具表达设计结果、编程实现、设计测试用例,完成软件测试。

3.考核

1.考试采用大作业的形式,包括上机演示和报告,每人独立完成一份。

2.大作业包括一个软件系统的各阶段文档,以及编程实现的代码。

五、本课程与其它课程的联系与分工对于软件工程专业的学生来说,本课程的先修课程为数据结构、数据库原理、面向对象编程,软件工程。

六、上机实践教学内容及其要求1、实验目标

本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到应

用系统设计和实现的基本训练,提高其解决实际问题的能力。

2、实验内容

面向对象的分析设计和实现方法、结构化的分析、设计方法和实现。需求分析的步骤、使用工具、概要设

计思想和使用工具、详细设计方法及描述工具、如何控制编码的风格、软件测试方法。

给定一个实际问题,让学生自己完成软件系统的分析、设计和实现,包括建立分析模型、建立概要设

计结构,使用详细设计描述工具表达设计结果、编程实现、设计测试用例,完成软件测试。

要求学生应该掌握的基本技能:

1)软件系统设计(包括需求分析,概要设计、详细设计、编码、测试);

2)软件设计方法,一种程序设计语言或开发工具的使用。软件编程、调试(开发工具根据课题需要选

用)。

七、建议学时分配

教 学 内 容 建议学时 备 注

软件工程方法 6

MVC模式 4

实践工具介绍 4

结构化范型设计案例 6

面向对象范型设计案例 4

实践环节 24

合 计 48学时

八、建议教材与教学参考书[1] 梁旭,冯瑞芳,黄明,《软件工程实践教程》,电子工业出版社,2011

[2] 宋雨,软件工程实践教程,清华大学出版社,2011

[3] 郭兵,沈艳,洪玫,软件开发实践,清华大学出版社,2010

[4] 周爱民,大道至简:软件工程实践者的思想,电子工业出版社,2010

32

《软件体系结构》课程教学大纲

课程编号:0120808011 适用专业:软件工程

执 笔:刘丽娟 适用年级:09-12级

一、课程的性质和教学目的课程性质:《软件体系结构》是一门针对本科生的计算机专业必修课程,本课程理论联系实践,在双

专业复合型人才培养中,奠定软件架构实践和开发能力以及动手能力。

教学目的:通过本课程的学习,使得学生理解软件架构的基本知识,掌握软件架构设计的方法,同

时具备如何运用各种构架设计软件,能运用所学的基本理论和知识,通过上机练习,加

深对软件构架概念的理解,并且能够掌握 ATAM 和几个典型案例软件构架的设计思想,

将来能够运用到实际的软件开发和设计过程中,从而使得学生具大型软件设计和开发能

力。

二、课程教学内容本课程由十四部分组成:构架商业周期、什么是软件构、A-7E 案例分析、各种构架结构的运用、 理解质

量属性、实现质量属性、空中交通管制、设计构架、飞行模拟、软件构架重、ATAM 、万维网 、软件产品线。

一 构架商业周期

1 架构的产生

2 软件过程和构架商业周期

3 什么样的构架才算好

二 什么是软件构架

1 软件构架概念的澄清

2 其他观点

3 构架模式、参考模型和参考构架

4 为什么说软件构架非常重要

5 构架结构和视图

三 A-7E 案例分析:各种构架结构的运用

1 与架构商业周期的关系

2 需求与质量

3 A-7E航空电子系统的构架

四 理解质量属性

1 功能性和架构

2 架构和质量属性

3 系统的质量属性

4 实践中的质量属性场景

5 其他系统的质量属性

6 商业质量属性

7 架构的质量属性

五 实现质量属性

1 战术介绍

2 可用性战术

3 可修改性战术

4 性能战术

33

5 安全性战术

6 可测试性战术

7 易用性战术

8 战术与架构模式的关系

9 架构模式和样式

六 空中交通管制

1 与架构商业周期的关系

2 需求与质量

3 构架解决方案

七 设计构架

1 生命期中的构架

2 设计构架

3 形成团队结构

4 创建骨架系统

八 飞行模拟

1 与架构商业周期的关系

2 需求与质量

3 构架解决方案

十 软件构架重构

1 介绍

2 信息提取

3 数据库构造

4 视图融合

5 重构

6 示例

十一 ATAM

1 ATAM的参与人员

2 ATAM的结构

3 ATAM的阶段

4 Nightingate系统

十三 万维网

1 与架构商业周期的关系

2 需求和质量

3 构架解决方案

4 基于 WEB的电子商务构架的演变

5 实现质量属性

6 当今的架构商业周期

十四 软件产品线

1 概述

2 软件产品线有效的原因

3 确定范围

4 产品线构架

5 采用软件产品线的困难之处

三、课程教学的基本要求一 构架商业周期:了解架构的产生和软件过程和构架商业周期,知道什么样的构架才算好。

34

二 什么是软件构架:了解软件构架概念和其他观点,掌握构架模式、参考模型和参考构架,知道为

什么说软件构架非常重要,了解构架结构和视图。

三 A-7E 案例分析:了解各种构架结构的运用与架构商业周期的关系,知道需求与质量的关系,了

解 A-7E航空电子系统的构架。

四 理解质量属性:掌握功能性和架构、架构和质量属性、系统的质量属性、实践中的质量属性场景、其

他系统的质量属性、商业质量属性、架构的质量属性。

五 实现质量属性:了解战术的概念、可用性战术、可修改性战术、性能战术、安全性战术、可测试性战

术、易用性战术、战术与架构模式的关系、架构模式和样式。

六 空中交通管制:掌握与架构商业周期的关系、需求与质量的关系、构架的解决方案。

七 设计构架:了解生命期中的构架、设计构架、形成团队结构和创建骨架系统的方法。

八 飞行模拟:了解与架构商业周期的关系、需求与质量关系和构架解决方案。

十 软件构架重构:了解信息提取、数据库构造、视图融合、重构方法。

十一 ATAM:了解 ATAM的参与人员、ATAM的结构、ATAM的阶段和 Nightingate系统。

十三 万维网:了解与架构商业周期的关系、需求和质量、构架解决方案、基于 WEB的电子商务构架的

演变、实现质量属性和当今的架构商业周期

十四 软件产品线:了解软件产品线有效的原因、确定范围、产品线构架和采用软件产品线的困难之处。

四、课程的教学环节要求教学环节包括:多媒体教学和上机实践。通过本课程各个教学环节的教学,重点培养学生的自学

能力、动手能力、分析问题和解决问题的能力。

1.课堂讲授

采用多媒体教学。教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些讨论

内容,让学生充分发挥主观能动性,培养学生的独立思考能力和动手能力。

2.作业

随堂布置思考题,用于巩固所学知识点。

3.上机实践

通过上机实践,让学生掌握软件架构设计的方法,同时培养和提高学生的实践能力。

(1)根据教学需要,安排 4次共 8 学时的上机实践。

(2)学生必须独立、按时完成上机实践内容。

4.考核

考试方式为开卷考试,以平时成绩结合期末考试成绩对学生成绩作出最终评定。

五、本课程与其它课程的联系与分工学习本课程需要具备软件工程、数据库原理、计算机网络等基本知识以及一定的计算机专业知识,学

习过程中注重培养学生的独立思考能力和开发实践能力。

六、实验(实践)环节内容及其要求

无。

七、建议学时分配

教 学 内 容 建议学时 备 注

第一章 构架商业周期 2 学时

第二章 什么是软件构架 4 学时

第三章 A-7E 案例分析:各种构架结构的运

4 学时

35

第四章 理解质量属性 4 学时

第五章 实现质量属性 4 学时

第六章 空中交通管制 2 学时

第七章 设计构架 6 学时

第八章 飞行模拟 4 学时

第十章 软件构架重构 4 学时

第十一章 ATAM 4 学时

第十三章 万维网 4 学时

第十四章 软件产品线 4 学时

复习 2 学时

合计 48 学时

八、建议教材与教学参考书[1]影印版《Software Architecture in Practice, Second Edition》,Bass,L

Addison-Wesley,清华大学出版社,2004

[2]《软件架构实践,第二版》,(美)巴斯等编,清华大学出版社,2004

[3]《软件体系结构》,覃征等,清华大学出版社,2008

36

《软件项目开发与管理》课程教学大纲

Software Project Management

课程编号:0120808012 适用专业:软件工程

执 笔:金花 适用年级:09-12级

一、课程性质和教学目的课程性质:软件项目管理包括软件项目研制中的计划制定、进度估计、资源使用、人员配备、组织机构

和管理方法等软件项目管理的许多侧面。通过本课程的学习使学生掌握软件项目管理的基础知识,培养学

生独立思考并解决问题的能力。

教学目的:软件项目管理是计算机专业学生的专业选修课,通过本课程的学习,使学生掌握现代项

目管理的一些基本概念、基本原理和基本方法,了解项目特别是软件项目管理各个阶段所需的基本技术和

工具,使得学生初步具备制定项目计划和实施项目管理的基本技能。

二、课程教学内容1.了解软件项目管理的现状,以及软件项目管理的重要性和必要性。理解和掌握项目、项目管理的基

本概念、基本内容和基本过程。

2.了解项目经理具备的素质、项目经理的职责,重点掌握项目管理的三种基本组织结构、各自的特点及

有效的项目管理原则。

3.了解项目计划过程、项目计划内容,项目计划技术,以及计划变更控制流程。重点掌握项目工作分解

结构(WBS)和制定项目网络计划技术。

4.了解和掌握项目费用估算、估算技术及费用控制技术。

5.了解常用的质量控制技术,质量控制过程及原理,重点了解和掌握软件测试和配置管理的基本应用。

6.了解和掌握项目跟踪技术、常用的交流沟通技术和方法,了解多项目管理技术和方法,以及多项目

的资源分配技术。

7.了解什么是项目风险,项目风险管理的内容、风险管理过程,掌握项目常用的项目风险评估和风险

控制技术,初步具备制订风险管理计划的能力。

8.了解项目收尾/关闭阶段的几种情况,掌握基本的项目审计和收尾过程。

三、课程教学的基本要求掌握现代项目管理的基本原理和基本方法,了解项目特别是软件项目管理各个阶段所需的基本技术

和工具,初步具备制定项目计划和实施项目管理的基本技能。

四、课程教学环节教学环节包括:课堂讲授、上机操作、习题课、课外作业。通过本课程各个教学环节的教学,重点培养

学生的自学能力、分析问题解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计,培养学

生的动手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教

学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

37

(2) 设计性大作业:学完每一篇后,学生都要完成一定的设计作业,作业份量一般要完成本章大纲

的要求。

3.考核

考试方式为闭卷试题可为填空、名词解释、简答、计算、设计题等题型,卷面为100分,折成最终成绩

时要乘 80%。

五、本课程与其它课程的联系与分工对于计算机软件工程专业的学生来说,本课程的先修课程为软件工程、操作系统、数据结构、计算机语

言。

六、实验(实践)教学内容及其要求1.上机学时为8学时,每五个学生为一组,每组选择一个具体项目,进行角色分工;搭建项目管理

工具;编制项目计划;项目跟踪管理;演示汇报。

2.通过上机教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能力;培养学生项目管

理意识、创新能力和素质。

七、建议学时分配

教 学 内 容 建议学时 备 注

项目管理与软件项目管理 4

软件项目初始过程 4

范围计划 4

软件项目进度计划 4

软件项目成本计划 4

软件项目质量计划 4

软件项目进度计划 4

软件项目人力资源计划 1

软件项目沟通计划 1

软件项目风险计划 2

软件项目合同计划 1

软件项目配置管理计划 2

项目集成计划 1

项目执行控制过程 2

软件项目结束过程及复习 2

上机 8

合 计 48学时

八、建议教材与教学参考书[1]《软件项目管理案例教程》第 2版,韩万江著,机械工业出版社

[2]《21世纪项目管理教程》,纪燕萍著,人民邮电出版社

38

39

《数据库原理与应用》课程教学大纲

Database Principle and Application

课程编号:0120908012 适用专业:计算机科学与技术、软件工程

执 笔:赵慧敏 适用年级:09-12级

一、课程性质和教学目的课程性质:《数据库原理与应用》是软件工程专业本科生的一门专业基础必修课。本课程以帮助学生建立

数据库概念、掌握数据库基本原理、提高数据应用能力和分析问题能力为教学目标。

教学目的:通过对本课程的学习,使学生掌握数据模型、数据库系统结构、关系数据理论、SQL语言以及

SQL Server 2005 数据库应用等内容,能够较好地进行数据库的设计和开发,为后续课程的学

习打下基础。

二、课程教学内容1.绪论:包括数据库系统概述、数据模型、数据库系统结构、数据库系统的组成等。

2.关系数据库:包括关系模型概述、关系数据结构及形式化定义、关系的完整性、关系代数等。

3.SQL语言:包括 SQL 概述、SQL 的数据定义、查询、更新和控制功能与实现,视图定义和维护,触

发器、高级 SQL 等。

4.关系数据理论:包括研究规范化理论的必要性、范式、规范化方法等。

5.数据库设计:包括需求分析、概念结构设计、数据库的物理设计及数据库的实施和维护。

6.数据库恢复技术:包括事务的基本概念、故障的种类、数据恢复技术原理,SQL Server 2005 数据恢

复机制和实现技术等内容。

7.并发控制:包括并发控制实现方法、封锁类型、死锁等概念,SQL Server 2005 数据并发控制机制和

实现等。

8.数据库安全性:包括计算机安全性概论、数据库安全性控制原理、SQL Server 2005 数据库的安全性

机制和实现技术等。

9.数据库完整性控制:包括完整性概述、实体完整性、参照完整性、用户定义完整性。

10.SQL Server 2005 数据库介绍:包括产品概述、入门、网络连接、存取控制等。

三、课程教学的基本要求1.从总体上掌握关系模型概述、关系数据结构及形式化定义、关系的完整性、关系代数;

2.掌握 SQL语言的使用;掌握规范化理论的必要性、范式、规范化方法;掌握数据库设计的方法;

3.掌握 SQL Server 2005 数据库,包括产品概述、入门、网络连接、存取控制等;

4.掌握 SQL Server 2005 数据库存储管理与维护的方法;

5.掌握 SQL Server 2005 数据库设计开发方法;掌握数据库恢复技术、并发控制、数据库安全性。

四、课程教学环节教学环节包括:课堂讲授、上机、课外作业。通过本课程各个教学环节的教学,重点培养学生的自学能

力、动手能力、分析问题解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计,培养学

生的动手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教

学的直观性。

40

2.习题课

(1)习题课:根据教学需要,要适当安排习题课,讲解习题,增强解决问题的能力。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应作为评定课程学习成绩的5%。

3.考核

本课程采用闭卷考试方式,考题形式可采用填空、简答、判断、画图、综合设计等题型,卷面为100分

折成最终成绩时要乘 80%。平时100分,折成最终成绩时要乘 20%:出勤分30分,作业30分,上机40分。

五、本课程与其它课程的联系与分工对于软件工程专业的学生来说,本课程的先修课程为计算机文化基础、程序设计语言、数据结构。同时,

本课程也是计算机科学与技术专业进一步进行数据库方面教学的基础课程。

六、实验(实践)教学内容及其要求1.每名学生要做 13 个上机实践,共 16 学时。内容是:熟悉 SQL Server 2005 数据库软件及 SQL语言。

2.通过实验教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能力;培养学生工程意

识、创新能力和素质。

3.学生完成上机后,指导教师给出成绩,上机成绩为课程学习成绩的 10%。

七、建议学时分配

教学内容 建议学时 实上机内容 建议学时

第一章 数据库概述2

实验一 SQL Server 2005常用服务

实验二 数据库的创建与管理 2

第二章 数据库系统结构4

实验三 数据库表的创建与管理

实验四 简单查询和连接查询 2

第三章 关系数据库的基本理论6

实验五 嵌套查询

实验六 组合查询和统计查询 2

第四章 结构化查询语言 SQL12

实验七 视图、索引与数据库关系图

实验八 游标的使用 2

第五章 关系模式的规范化设计6

实验九 存储过程创建与应用

实验十 数据库的安全性 2

第六章 数据库设计4

实验十一 数据库完整性

实验十二 数据库备份与还原 2

第七章 数据库的安全与保护6

实验十三 ASP.NET与 SQL Server

2005数据库连接 2

第九章 ASP.NET访问 SQL Server

2005 数据库 4实验总结

2

复习4

合 计64学时

八、建议教材与教学参考书使用教材:

[1] 数据库原理及应用 刘金岭 清华大学出版社 2009.7

[2] 数据库原理及应用实验与课程设计指导 刘金岭 清华大学出版社 2010.6

教学参考书:

41

[1] 数据库系统原理教程. 王珊,陈红编著. 清华大学出版社. 1998.7

[2] 数据库系统概论(第三版). 萨师煊,王珊. 高等教育出版社. 2003.2

《计算机网络》课程教学大纲

Computer Networking

课程编号:0120408040 适用专业:软件工程

执 笔:张雪 适用年级:08-12级

一、课程性质和教学目的课程性质:计算机网络技术是计算机技术和通信技术密切结合并迅速发展的新技术,在信息社会中

得到了极其广泛的应用。计算机网络涉及数据通信、网络理论、各类网络标准协议及众多相关技术,为便于

学生全面了解和掌握网络技术,必修课。

本课程的内容安排,以基础性和实用性为重点,力图在讲清计算机网络基本原理的前提下,进一步

介绍 Internet深层的应用。通过这些内容的学习,使学生掌握计算机网络的工作原理,理解计算机网络

的一系列标准和协议,了解计算机网络的新技术,为计算机网络的应用打下扎实的基础。

教学目的:通过本课程的学习,要求学生达到如下几点:

1.系统地学习和掌握计算机网络的主要基础知识。

2.掌握计算机网络的体系结构及在 Internet中各层协议的工作原理和功能。

42

二、课程教学内容1.计算机网络及因特网总论:了解什么是因特网,什么是协议,网络边缘及内核,接入网和物理媒

体,分组交换网的延迟,协议分层和服务模型。

2.应用层协议的原理:万维网协议:HTTP;文件传输协议:FTP ;电子邮件;DNS-因特网目录服

务;用 TCP套接字编程; 用 UDP套接字编程。

3.传输层服务和工作原理:复用和分用;无连接传输——UDP;可靠数据传输的工件原理;面向连

接的传输——TCP;阻塞控制的工件原理;TCP的阻塞控制。

4.网络层服务模型:路由算法的一般原理;层次路由算法;网际协议:IP;因特网中的路由算法;

下一代因特网网际协议:Ipv6。

5.数据链路层;检错和纠错技术;多路访问技术;局域网编址和地址解析协议; 以太网; 集线器

网桥,交换机; 点对点协议——PPP。

三、课程教学的基本要求1.要求掌握的基本知识

计算机网络的一般知识,计算机网络的体系结构,各层的功能及一般原理。

2.要求掌握的基本理论和方法

网络协议的原理和方法,面向连接通信,可靠数据传输。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业。通过本课程各个教学环节的教学,重点培养学生的自学

能力、动手能力、分析问题解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计,培养学

生的动手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教

学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应作为评定课程学习成绩的5%。

3.考核

考试方式为闭卷试题可为选择、填空、判断、简答、计算题、等题型,卷面为100分,折成最终成绩时要

乘 80%。

五、本课程与其它课程的联系与分工对于计算机软件专业的学生来说,本课程的先修课程为数字电路、计算机组成原理、Java编程语言。

六、实验(实践)教学内容及其要求1.每名学生要做 4个实验,共 8学时。实验内容为应用网络协议仿真教学系统对计算机网络各层协议

进行模拟实验和分析。

2.通过实验教学,加深学生理解、掌握理论知识,提高分析问题、解决问题的能力;培养学生工程意

识、创新能力和素质。

3.学生完成实验后必须书写实验报告,指导教师给出成绩,实验成绩为课程学习成绩的10%。

43

七、建议学时分配

教 学 内 容 建议学时 备 注

计算机网络总论 6

应用层协议及程序设计 10

传输层可靠性原理 12

网络层原理 8

链路层及物理层 8

习题课 4 根据学习状况安排

实验课 8

合 计 56学时

八、建议教材与教学参考书[1]James F.Kurose,《计算机网络》(影印版),高等教育出版社,2005

[2]谢希仁主编,《计算机网络》,大连理工大学出版社,第三版

[3]Fred Halsall,《计算机网络与因特网教程》,机械工业出版社,第五版

《操作系统》课程教学大纲

Operating Systems

课程编号:0120408048 适用专业:软件工程专业

执 笔:申广忠 适用年级:08-12级

一、课程的性质和教学目的课程性质:专业必修课,《操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统

软件课程。在计算机软硬件课程的连接中,它起着承上启下的作用。操作系统对计算机系统资源实施管理

是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。

教学目的:培养学生理解和掌握计算机操作系统的基本原理和设计技能。通过本课程的学习,要求

学生理解操作系统的基本概念和主要功能,掌握常用操作系统(如,WINDOWS、UNIX)的使用和一般管理

方法,了解它是如何组织和运作的,从而为学生以后的学习和工作打下一个良好的基础。

二、课程教学内容(一)引言

1、什么是操作系统

2、操作系统的发展历史

3、操作系统的分类

4、计算机硬件概述

5、操作系统的概念

6、系统调用

7、操作系统结构

(二)进程与线程

44

1、进程

2、线程

3、进程间的通信

4、经典的 IPC 问题

5、进程调度

(三)死锁

1、资源

2、死锁简介

3、OSTRICH 算法

4、死锁检测与恢复

5、死锁的避免

6、死锁的预防

(四)内存管理

1、基本的内存管理

2、交换

3、虚拟内存

4、页面替换算法

5、页面替换算法模型

6、分页系统的设计问题

7、分页系统的实现问题

8、分段式存储管理

(五)输入输出管理

1、I/O 硬件的基本原理

2、I/O 软件的基本原理

3、I/O 软件的层次结构

4、磁盘

(六)文件系统管理

1、文件

2、目录

3、文件系统的实现

三、课程教学的基本要求一、引言

1.本章主要介绍操作系统的概述、计算机硬件概述操作系统的分类、操作系统有关概念。

2.重点掌握操作系统中的几个重要概念。

二、进程与线程

1. 本章主要介绍进程及进程的建立与中止、线程及线程的实现、进程间的通信、典型的 IPC问题、进程

调度算法及线程调度等有关内容。

2. 重点掌握进程间的通信和进程调度算法。

三、死锁

1. 本章主要介绍资源的类型、等内容。

2.重点要求学生掌握死锁的检测、死锁的恢复、死锁的避免、死锁的预防。

四、存储管理

1.本章主要介绍分区 存储管理、页式存储管理、段式存储管理及段页式存储管理等相关内容。

2.着重理解页式存储管理及页面替换算法。

45

五、输入输出管理

1.本章主要介绍 I/O 硬件和软件及磁盘等相关内容。

2.要求学生重点掌握 I/O软件问题,及磁盘调度算法问题。

六、文件系统管理

1.本章主要介绍文件及文件系统的实现等有关内容。

2.要求学生重点掌握文件的基本内容及文件的实现方法等。

四、课程教学环节教学环节包括:

(1)课堂讲授;

(2)实践课;

(3)课外作业。

五、本课程与其它课程的联系与分工

先修课程:C++程序设计,离散数学,数据结构

六、实验(实践)教学内容及其要求

1.每个学生做一次实验,共 4 学时;实验要求学生写出实验报告。

2.每个学生进行一次实践,共 4 学时。

七、建议学时分配

教 学 内 容 建议学时 备注

引言4

进程与线程12

死锁4

存储管理8

输入输出4

文件系统4

实践

4

习题

4

实验

4

合 计 48学时

46

八、建议教材与教学参考书[1] Andrew S. Tanenbaum著,Modern Operating Systems,China Machine Press,2004

[2] (美)Willialm Stallings著 陈渝译,操作系统----精髓与设计原理,电子工业出版社,2006

[3] Lubomir F.Bic Alan C.Shaw著,操作系统原理,清华大学出版社,2005

[4] 汤子瀛 哲凤屏 汤小丹著,计算机操作系统,西安电子科技大学出版社,2005

《数据结构》课程教学大纲

Data Structures(B)

课程编号:0120508104 适用专业:软件工程专业

执 笔:郑巍 适用年级:08-12级

一、课程性质和教学目的课程性质:数据结构是介于数学、计算机硬件和计算机软件之间的一门综合性的专业基础课,是编

译原理、操作系统、数据库、人工智能等课程的基础。《数据结构》研究的主要内容是数据表示和数据处理。本

课程主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法进行分析和评价

教学目的:通过本课程的学习,使学生全面深入地掌握各种常用数据结构的逻辑结构特点和运算,

常用存储结构的设计方法以及在各种不同存储结构上典型运算算法的实现。通过学习,使学生初步具备运

用数据结构知识分析问题和解决问题的能力,为学习后续课程提供必要的基础。

二、课程教学内容1.基本概念:数据结构,数据结构研究的内容,常用的存储方法,算法评价的标准。

2.线性表的概念及运算的定义,线性表的顺序存储,线性表的链接存储。

3.栈和队列的概念及运算,顺序栈、顺序队列,链栈、链队列,栈和队列的应用。

4.串的概念、运算及存储。

5.多维数组和广义表的概念和存储。

6.树的概念,二叉树的概念、性质、存储,二叉树的遍历,线索二叉树,树和森林,哈夫曼树及应用

7.图的概念、存储和遍历,生成树和最小生成树,最短路径,拓扑排序,关键路径。

8.排序的基本概念及常用的排序算法。

9.查找的概念及查找的实现方法。

10.文件的基本概念。

三、课程教学的基本要求1.要求掌握的基本知识

从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、树、图和文

件等常用数据结构的一般知识。

47

2.要求掌握的基本理论和方法

(1)各种常用数据结构的逻辑特点及定义在逻辑结构上的运算;

(2)各种常用数据结构的存储方式及在存储方式上运算的实现;

(3)对算法的时间复杂度和空间复杂度有一定的分析能力;

(4)在各种常用数据结构上实现排序和查找运算;

(5)针对简单的应用问题,能选择合适的数据结构设计有效的算法解决。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业等。通过本课程各个教学环节的教学,重点培养学生的自

学能力、动手能力、分析问题和解决问题的能力,培养学生利用经典数据结构的设计思想和实现方法解决

软件设计中实际问题的能力和查阅资料的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生

自学,培养学生的自学能力。不断更新教学内容,改进教学方法,通过实验和上机实践,培养学生的动手

能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,利用电子教案、CAI课件,以提高课堂信息量,增加

教学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应做为评定课程学习成绩的部分依据。

3.考核

考试方式为闭卷考试。可采用选择、填空、名词解释、简答、应用题等题型,卷面为100分,折成最终成

绩时要乘 80%。平时成绩(包括出勤、作业、课堂测试)占总成绩的20%。

五、本课程与其它课程的联系与分工本课程的先修课为 C程序设计语言,离散数学。上述课程中注意讲授算法的概念及特点,算法的描述

方法,计算机高级语言的基本组成及语法规则,用高级语言程序实现算法。

六、建议学时分配

教 学 内 容 建议学时 备 注

概论 4

线性表 8

栈和队列 6

串 2

多维数组和广义表 4

树 10

图 10

排序 8

查找 6

文件 2

习题课 4 根据学习状况安排

48

合 计 64学时

八、建议教材与教学参考书[1]《数据结构——用 C语言描述》,唐策善主编,高等教育出版社,1998

[2]《DATA STRUCTURES AND PROGRAM DEGIGN IN C++ 》,Robert L.Kruse,高等教育出版社,2001

[3]严蔚敏主编,《数据结构-C语言》,清华大学出版社,2002

[4]严蔚敏主编,《数据结构题集》,清华大学出版社,2002

49

《Java程序设计》课程教学大纲

Java Programming

课程编号:0120508102 适用专业:软件工程专业

执 笔:杨光 适用年级:08-12级

一、课程性质和教学目的课程性质:Java 不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的编程语

言之一。目前,Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的

一门基础语言,因为很多新的技术领域都涉及到了Java语言,国内外许多大学已将Java语言列入了本科

教学计划,掌握 Java已经成为共识。《Java程序设计》是软件工程专业、计算机科学与技术等相关专业的一

门重要的程序设计语言课程。必修课。

教学目的:通过本课程的学习,要求学生达到:

1.理解 Java 的平台无关、面向对象等特性。

2.掌握 Java语言的面向对象的程序设计方法。

3.掌握 Java GUI 设计等编程技巧。

4.培养学生应用 Java 解决和处理实际问题的思维方法与基本能力。

二、课程教学内容1.Java语言基础知识

Java语言简介;java语言的开发环境;Java 程序的基本结构;Java语言的基本数据类型、表达式、语句、

数组。

2.类与对象

类的声明;类体及其构成;对象的创建和使用;访问权限。

3.继承、多态与接口

超类与子类;超类与子类的关系;方法的重写;接口。

4.字符串与常用类

字符串相关类;Data 类;Math 类;Calendar 类。

5.GUI编程

组件的使用;布局;AWT事件。

6.多线程编程

创建多线程;同步线程。

7.输入、输出流

Java 输入/出流类;文件和文件的读写。

三、课程教学的基本要求1.要求掌握的基本知识

Java语言的语法知识、多线程程序设计、GUI 设计等编程技巧。

2.要求掌握的基本理论和方法

Java语言的面向对象的程序设计方法,使用 Java语言完成应用程序的开发。

四、课程教学环节教学环节包括:课堂讲授、上机实践、习题课、课外作业。通过本课程各个教学环节可以培养学生的自

学能力、动手能力、分析解决问题的能力。

50

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合实际问题,更新教学内容,改进教学方法,通过上机实践,培养学生的动

手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教

学的直观性。

2.习题课

习题课:根据教学需要,要适当安排习题课、课外习题。

3.考核

考试方式可以采取开卷或闭卷方式,任课教师可根据教学实际情况合理选择考试方式,卷面成绩为

100分。

平时考核:课后作业与考勤(10分)+上机实践(10分)。

课程学习成绩:卷面成绩*80%+平时成绩(20分)。

五、本课程与其它课程的联系与分工本课程的先修课程为 C语言,计算机文化基础、数据结构。

六、实验(实践)教学内容及其要求1.本门课程的上机学时共 16学时,其中上机内容安排为:Java应用程序:2学时;类与对象:2 学

时;继承与接口:4学时;GUI编程:4学时;输入输出流:4学时。

2.通过上机实践环节可以加深学生对理论知识的理解和掌握,同时提高学生分析问题、解决问题的

能力,培养学生实践能力与创新能力。

3. 根据学生在上机过程中的表现、操作技能、程序代码等情况综合评定上机实践成绩,按总成绩的

10%计入课程成绩总分中。

七、建议学时分配

教 学 内 容 建议学时 备 注

Java语言基础知识 4

对象、类、继承、多态、接口 18

字符串与常用类 4

GUI编程 4

多线程编程 4

Java输入输出流 4

习题课 2 根据学习状况安排

上机 16 根据安排

合 计 56学时

八、建议教材与教学参考书[1] Roger Garside John Mariani,《Java教程》(英文版,第二版)机械工业出版社

[2] 耿祥义,《Java 2实用教程》,清华大学出版社

[3] 耿祥义,《JAVA 2 实用教程(第三版)实验指导与习题解答》,清华大学初版社

[4] (美)Bruce Eckel,Thinking in Java ,机械工业出版社

51

《计算机组织与结构》课程教学大纲

Computer Organization and Architecture

课程编号:0121008012 适用专业:软件工程专业

执 笔:曹家琏 适用年级:08-12级

一、课程性质和教学目的课程性质:《计算机组织与结构》是必修课,是软件学院各专业(软联、软工、X 专业+软工)的一门

重要的基础课程。本课程的任务是介绍计算机的组织结构、组成计算机各部件的功能和各部件间的联系。通

过对本课程的学习使学生掌握专业学习所必需的硬件理论基础、有关的思考、分析方式和能力,并通过阅

读原版教材、接受双语授课,提高专业学习水平的技能。

教学目的:融合电子、逻辑、程序设计等基础知识,进一步掌握计算机组织和结构的知识,为今后学

习专业课程打下必要的理论基础。

52

二、课程教学内容本课程由五部分组成:概述、计算机系统、CPU、控制器、并行组织。

1.概述:组织与体系结构、结构与功能、发展简史和性能问题。

2.计算机系统:计算机的部件及功能、互联结构及总线、存储器系统、CACHE原理、内存、外存、输入

输出和操作系统支持

3.CPU:算术逻辑运算器、整数和浮点数表示及算术运算、指令集(操作数类型、操作类型、寻址方式

和指令格式)、计算机的结构与功能、指令周期与指令流水线、精简指令集计算机和指令级并行与超标量计

算机。

4.控制器:微操作、CPU 的控制、硬线联接控制器实现方案和微程序控制器实现方案

5.并行组织:多处理器组织、对称多处理器计算机、CACHE 一致性问题和 MESI协议、机群,非均质

存储器存取和向量计算机。

三、课程教学的基本要求1.要求重点理解的知识

计算机部件间性能不平衡的原因和解决方案,总线的功能、部件间利用总线传输信息的方法,中断概念

替换算法和写策略,编程输入输出、中断和 DMA存储器直接存,进程调度和存储管理,整数部分的表示和

运算,操作的分类(算术和逻辑运算、数据的传输、控制的转递),指令格式。

2.要求重点掌握的知识

组关联映射技术,HAMMING码的运用技术,重点掌握 RAID技术,中断处理,寻址方式(立即、直接、间

接、转移),指令周期中操作和流水线工作原理,影响流水线的问题及解决方案,大寄存器窗口的工作原理

指令设计微操作,MESI协议。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业。通过本课程各个教学环节的教学,重点培养学生的自学

能力、分析问题和解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。教师应该及时了解计算机发展的最新动态,结合实际,更新教学内容,改进教

学方法。

(2)目前已有的幻灯片都可采用,采用电子教案,以提高课堂信息量,增加教学的直观性。

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应作为评定课程学习成绩的10%。

3.考核

本课程采用闭卷考试方式,英文出卷英文答题,考试方式为闭卷试题可为选择、填空、判断、简答、计

算题等题型,卷面为100分,折成最终成绩时要乘 80%。

五、本课程与其它课程的联系与分工学习本课程需要数字电子技术、计算机汇编语言的一些基本概念。本课程要重视对学生运筹调度能力的

训练,对学生的软、硬件设计能力的提高会有帮助,为后续课程奠定基础。

六、实验(实践)教学内容及其要求无

七、建议学时分配

53

教学内容 建议学时 备注

导论 1

计算机的发展与性能 3

计算机功能的顶级视图和互联 4 增加补充材料

CACHE 存储器 6

内存 4

外存 4

输入输出 6

操作系统支持 4

计算机算术运算 4

习题课 2

指令集:特点与功能 2

指令集:寻址方式与指令格式 4

CPU结构与功能 4

精简指令集计算机 4

指令级并行与超标量计算机 2

IA-64体系结构

6控制器操作 

微程序控制

并行处理 4

合 计 64学时

八、建议教材与教学参考书[1]William Stallings, COMPUTER ORGANIZATION AND ARCHITECTURE (SIXTH EDTION),Prentile

Hall,2003

54

[2]William Stallings,COMPUTER ORGANIZATION AND ARCHITECTURE (第五版 影印版),高等教

育出版社,2001

[3]William Stallings,计算机组织与结构(第五版),张昆藏等译,电子工业出版社,2001

《C++程序设计》课程教学大纲

C++ programming

课程编号:0120508010 适用专业:软件工程专业

执 笔:邹 丽 适用年级:08-12级

一、课程性质和教学目的课程性质:《C++程序设计》是软件工程专业的一门重要的必修专业基础课,是计算机教育的基础和

重点。《C++程序设计》是以标准 C++语言为主,重点介绍面向对象方法的概念与原理和程序设计方法与技

巧。它不仅为今后学习专业课打下坚实的理论基础,而且为软件开发、程序设计提供必要的理论、方法和工

具。

教学目的:通过本课程的学习,要求学生达到:

1.了解程序设计语言的概况和基本理论,了解软件开发的全过程;理解面向对象方法的概念;

2.理解面向对象方法的概念;

3.掌握标准 C++程序设计语言的语法结构,掌握标准 C++程序设计语言的原理、方法和一般规律,使

55

学生具有标准 C++程序设计的能力;

4.通过大量的实验和课外实践,逐步培养学生阅读程序、分析程序和独立编写程序的能力。

5.具有运用 C++程序设计参考手册和查阅有关资料的能力。

二、课程教学内容1.C++程序设计面向对象概论:

介绍面向对象编程的发展历史与优势,介绍数据抽象、封装、可重用性、继承和多态性等面向对象的概

念。了解 C++语言中程序开发过程中编译及连接运行的原理,基本的编译环境。

2. C++中的基本概念:

介绍 C++基本语法知识。理解函数的概念,理解函数调用的机制,掌握参数传递的方法,理解并运用

递归函数。掌握各种过程化控制语句结构;理解指针与指针指向的对象之间差别;介绍存储空间的四种使

用方法及使用场合,重点强调静态变量的使用及特点;介绍 typedef的使用;掌握结构声明、初始化的方

法;介绍枚举和联合体的定义及特点;掌握数组的基本概念与应用;介绍数组和指针的结合使用。掌握函

数指针的基本概念与应用。

3.数据抽象:

学习使用 C++的基本方法,即在结构的内部放入函数。理解抽象数据类型(abstract data type)、对

象(object)或实例(instance)的概念。

4.隐藏实现:

理解封装的概念;掌握类的声明、数据成员和成员函数的定义及 C++中的访问控制方法。

5.初始化与清除:

掌握定义构造函数和析构函数的方法,了解默认构造函数,默认参数构造函数的含义,了解类成员

的初始化问题。

6.函数重载与默认参数:

掌握函数重载与默认参数的概念及使用方法。

7.常量:

掌握常量在指针、函数变量、类对象、成员函数中的使用方法;类里常量的使用。

8.内联函数:

介绍内联函数的定义及使用方式;介绍在类中定义的成员函数即内联函数的观点。

9.名字控制:

介绍静态成员的存储方式和可见性,了解在类中共享静态数据成员、共享成员函数及静态类对象的定

义和使用,了解名字空间的基本作用。

10.引用和拷贝构造函数:

介绍 C++中引用的基本概念及引用变量的存储机制,掌握使用引用做函数参数传递的方法,明辨引用

与指针的区别。理解浅拷贝和深拷贝之间的区别,掌握拷贝构造函数的使用方法。

11. 动态对象创建:

学会使用堆内存,掌握堆内存空间存储单元的分配和释放方法。

12.组合继承:

掌握组合的基本概念,理解利用组合去提高软件的重用性。掌握继承的基本概念,理解利用继承性去

提高软件的重用性,理解多重继承的意义。

13.多态性和虚函数:

掌握多态、虚函数的概念,理解抽象类和具体类的区别,学会运用纯虚函数。

三、课程教学的基本要求1.要求掌握的基本知识

56

C++数据的主要类型,表达式,基本程序结构,流程控制语句,函数,数组,指针,编译预处理,结

构体、类和对象的基本概念。

2.要求掌握基本理论和方法

面向对象程序设计的基本原则。面向对象程序设计的原理和方法。引用作为函数的参数和返回值的基

本方法;类的构造函数与析构函数的定义和使用的基本方法;类的三大特性(封装性,继承性和多态

性)的实现方法;函数重载和运算符重载的基本方法;通过虚函数实现动态多态性的方法;友元与模板

的定义及使用方法。

3.要求掌握的基本技能

正确使用 C++标准库来编写程序,具有查找、使用工具的基本技能。

四、课程教学环节要求教学环节包括:课堂讲授、上机练习、习题课和课外作业。通过本课程各个教学环节的教学,重点培养

学生的自学能力、动手能力、分析问题和解决问题的能力,培养学生程序阅读、程序设计能力和查阅资料的

能力。

1.课堂讲授

(1) 教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过上机练习和适当的课外作

业,培养学生的动手能力和创新能力。

(2) 可以适当采用 CAI课件以提高课堂信息量,增加教学的直观性。

2.习题课、课外作业及上机

(1) 习题课:根据教学需要,适当安排习题课,讲解习题,增强解决问题的能力。

(2) 根据课程进行情况,适当布置课外作业,学生必须独立、按时完成课外作业。

(3) 要求学生独立编程并上机进行各种训练,注重培养学生程序调试能力。

3.考核

本课程采取闭卷考试,时间为2小时。学生课程总成绩由平时考查成绩与期末考试成绩组成,其中期

末考试成绩占 80%。平时考查成绩的构成是:考勤占 10分,上机10分。

五、先修课程模块本课程的先修课程为 c语言程序设计。

六、建议学时分配

教 学 内 容 建议学时 备 注

对象导言及其基本使用 2

c++中的 c 4

数据抽象 2

隐藏实现 2

初始化与清除 2

函数重载与默认参数 2

常量 2

内联函数和名字控制 2

引用和拷贝构造函数 2

57

动态对象创建 2

组合与继承 4

多态性和虚函数 4

上机 16

习题课与复习 2 根据学习状况安排

合 计 48 学时

七、建议教材与教学参考书1.《c++编程思想》,Bruce Eckel,机械工业出版社

2.《c++程序设计教程》,钱能, 清华大学出版社

3.《C++语言基础教程》,吕凤翥,清华大学出版社

4.《C++程序设计基础》,周霭如,林伟建,电子工业出版社

《软件工程》课程教学大纲

Software Engineering

课程编号:0120808007 适用专业:软件工程专业

执 笔:宋存利 适用年级:08-12级

一、课程的性质和教学目的课程性质:本课程是软件工程专业必修课程,他研究软件生存周期中的各个阶段有关技术和理论的

一门学科。主要讲授软件工程的基本概念、软件生存周期、软件危机的原因及产生背景、软件工程计划阶段、

开发阶段、维护阶段的一般步骤,主要技术手段和方法,通过本门课程的学习,使学生能在今后的工作中

独立完成大中型项目科学和开发或管理工作。

教学目的:通过本课程的学习,要求学生达到如下几点:

1. 了解和掌握软件工程的产生、软件工程发展史、软件生命周期及各种开发模型。

2. 了解和掌握软件开发各阶段的目标、任务、特点、步骤和文档。

3. 了解和掌握面向对象和结构化软件开发方法的基本思想,开发过程和步骤,应遵循的原则和准则。

4. 了解和掌握软件工程的管理技术。

二、课程教学内容1.软件过程

(a) 需求阶段测试和文档

(b)规格说明阶段测试和文档

(c)设计阶段测试和文档

(d)实现阶段测试和文档

(e)集成阶段测试和文档

(f)维护阶段测试和文档

2.软件生命周期模型

(a)建造-修补模型

58

(b)瀑布模型

(c)快速圆型模型

(d)增量模型

(e)极限编程

(f)同步-稳定模型

(g)螺旋模型

(h)面向对象的生命周期模型

3.组,软件工具和测试

(a)小组组织

(b)民主小组方法

(c)传统的主程序员小组方法和超越传统的主程序员小组方法和民主小组

(d)同步-稳定小组

(e)极限编程小组

(f)逐步求精法,成本-效益分析法和软件度量

(g)质量问题

(h)非执行测试和执行测试

(i)应测试什么

4.从模块到对象

(a)什么是模块

(b)内聚和耦合

(c)数据封装和抽象数据类型

(d)对象,继承,多态和动态绑定

5.软件生命周期的各个阶段

(a)需求阶段

(b)规格说明阶段

(c)面向对象分析阶段

(d)面向对象的设计阶段

(e)实现阶段

(f)实现和集成阶段

(g)维护阶段

三、课程教学的基本要求1.要求掌握的基本知识

软件生命周期各阶段技术和理论知识

2.目标

通过本门课程的学习,使学生能在今后的工作中独立完成大中型项目科学和开发或管理工作。

四、课程教学环节教学环节包括:课堂讲授、习题课、课外作业。通过本课程各个教学环节的教学,重点培养学生的自学

能力、动手能力、分析问题解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自

学,培养学生的自学能力。结合工程实际,更新教学内容,改进教学方法,通过实验和课程设计,培养学

生的动手能力和创新能力。

(2)目前已有的幻灯片、教学录像片都可采用,采用电子教案、CAI课件,以提高课堂信息量,增加教

学的直观性。

59

2.习题课

(1)习题课:根据教学需要,要适当安排习题课、课外习题。

(2)学生必须独立、按时完成课外习题,习题和作业完成情况应记做平时成绩。

3.考核

本门课程的总评成绩=考试成绩*80%+平时成绩,平时成绩在总评成绩中占 20分,其中考勤占 10分,

作业占 10分。考试成绩卷面满分100,按 80%计入总评成绩中,其中考试方式为闭卷,试题可为选择、填空、

判断、简答、计算题等。

五、本课程与其它课程的联系与分工对于计算机软件专业的学生来说,本课程的先修课程为数据结构、数据库原理、C++或 Java编程语言。

六、实验(实践)环节内容要求

无。

七、建议学时分配

教 学 内 容 建议学时 备 注

软件工程范畴 2

软件过程 2

软件生命周期模型 4

组 2

软件工程工具 2

测试 2

从模块到对象 4

可复用性、可移植性和互操作性 2

计划和估算 2

需求阶段 2

规格说明阶段 2

面向对象分析阶段 4

设计阶段 4

实现阶段 4

实现与集成阶段 4

维护阶段 2

习题课 4 根据学习状况安排

合 计 48学时

八、建议教材与教学参考书[1]Stephen R,Schach Object-Oriented and Classical Software Engineering (Fifth Edition)

[2]张海藩,软件工程导论(第四版),清华大学出版社,2004年

[3]Shari Lawrence Pfleeger, Software Engineering Theory and Practice(Second Edition)

[4]杨文龙,古天龙,软件工程(第 2版),电子工业出版社,2005年

60

61

top related