Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4
课程编号:08265018
课程名称:软件工程
英文名称:Software Engineering
开课学期:6
学时/学分:32/2 (其中实验学时16)
课程类型:专业基础选修课
开课专业:测控技术与仪器、电气工程及其自动化专业本科生
先修课程:数据结构、数据库原理、操作系统原理
使用教材:《现代软件工程》,陈松乔 等编著,清华大学出版社,2004年6月
主要参考用书:
1、《软件工程概论》,张海潘编著,清华大学出版社。
2、《UML基础与Rose建模教程》蔡敏 等编著,人民邮电出版社,2006年1月
执 笔 人:李冶
一、课程性质、目的与任务
本课程是专业选修课。本课程的目的是从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与管理的能力。
二、教学基本要求
本课程将系统地介绍软件工程的有关概念、原理、技术、方法、标准和相关法律法规,使同学们理解软件生存周期模型的相关概念和软件工程基本原理。本课程是一门工程类课程,实践性很强,在学习时除了对概念、原理等的理解之外,更应结合实际,注重方法、技术等的理解和运用。
三、各章节内容及学时分配
第一部分:软件工程概论(14学时)
第一章 绪论(1学时)
教学目的与要求
主要介绍软件工程的产生、研究对象与基本原理、开发方法、工具和环境、软件生存期过程和模型以及软件工程的并行过程。
教学内容
第一节:软件工程的产生
第二节:软件工程的研究对象与基本原理
第三节:软件开发方法
第四节:软件工程工具和环境
第五节:软件生存周期
第六节:软件工程常用生存周期模型
第七节:软件工程的并行工程
考核内容
了解:软件危机产生的原因
理解:软件工程的基本原理和软件开发方法
掌握:常用软件生存周期模型
第二章 需求分析(4学时)
教学目的与要求
需求分析要求详细、准确地分析清除系统必须“做什么”,它是关系到软件开发成败的关键阶段。在需求分析阶段,需要用到各种方法、技术和工具等。通常把一整套需求规格说明的方法、技术、图形工具以及相应的软件工具的集合成为建模方法。本章将介绍需求分析的目标、需求分析的各个子阶段的基本任务和常用方法,重点阐述结构化方法。
教学内容
第一节:需求分析的目标
第二节:可行性分析
第三节:需求收集
第四节:需求规格说明
第五节:数据流建模
第六节:实体—关系建模
第七节:系统行为建模
考核内容
了解:需求分析的目标
理解:可行性分析的意义
掌握:需求规格说明格式和建模的方法
第三章 概要设计:
经过需求分析以后,已经知道系统必须“做什么”了,但是还不知道系统该“怎么做”。概要设计的基本目的是要回答“概括地说,系统应该如何做?”这个问题。正因如此,有时也称概要设计为初步设计或总体设计。本章介绍概要设计的任务和步骤、系统设计的基本概念、面向数据流图的设计方法、面向对象的设计方法。
教学内容
第一节:概要设计的任务和过程
第二节:软件设计基本原则
第三节:面向数据流图的设计方法
考核内容
了解:概要设计的任务和过程
理解:软件设计基本原则
掌握:面向数据流图的设计方法
第四章 详细设计:
概要设计确定了软件系统的总体结构,详细设计则对概要设计结果进一步细化,给出目标系统的精要描述,以便在编码阶段直接翻译成计算机的程序代码。本章将介绍详细设计的目标、任务、图形描述工具以及一些详细设计方法。
教学内容
第一节:详细设计的目标与任务
第二节:结构化程序的详细设计技术与工具
第三节:Jackson程序设计方法
第四节:Warnier程序设计方法
考核内容
了解:详细设计的目标与任务
理解:结构化程序设计方法
掌握:结构化程序设计方法
第五章 软件验证技术
软件验证是指通过检查和提供客观证据来表明软件已经满足规定的需求。软件验证是确保软件质量和降低软件成本的重要手段,关系到软件的整个生存周期。进行软件验证的方法大体有两种:测试和证明。本章主要介绍有关测试的观点、组织、步骤和方法以及程序正确性证明的初步知识。
教学内容
第一节:软件测试基础
第二节:代码复审
第三节:白盒测试
第四节:黑盒测试
第五节:单元测试
第六节:集成测试
第七节:确认测试
第八节:系统测试
第九节:程序正确性证明
第十节:调试
考核内容
了解:软件测试的目的与意义
理解:各种测试方法
掌握:各种测试方法
第六章 软件维护技术
软件维护是指软件交付使用之后,为了改正错误或满足新的需求等而修改软件已达到延长软件寿命的目的。软件维护是软件生存周期的最后一个阶段,也是十分重要的阶段。本章将主要介绍软件维护的基本概念、软件维护过程、软件可维护性和软件再工程。
教学内容
第一节:软件维护的基本概念
第二节:软件维护过程
第三节:软件可维护性
第四节:软件再生过程
考核内容
了解:软件维护的基本概念
理解:软件维护过程
掌握:软件维护过程
第二部分:UML基础与Rose建模技术(20学时)
本部分详细地介绍了UML的基础知识和Rational Rose的使用方法,并通过四个综合性的案例,展示了使用UML和Rose进行软件建模的具体方法和步骤。本部分共分20章,前4章是基础部分,介绍了UML和Rose的基础知识;第5章到第13章是本部分的重点,介绍了UML的9种图和组成元素,以及相关的建模技术,并在每章的最后介绍各种图在Rose中的绘制方法;第14章到第17章是高级应用部分,介绍了UML的扩展机制、双向工程、RUP以及OCL的相关内容;第18章到第21章是综合案例部分,包括图书馆管理系统、汽车租赁系统、网络教学系统和网上图书销售系统。
第1章 基础知识 (略)
第2章 面向对象技术与UML 1学时
教学内容
2.1 面向对象技术概述
2.2 面向对象的分析
2.3 面向对象的设计
2.4 基于UML的面向对象分析、设计过程
考核内容
了解:基于UML的面向对象分析、设计过程
理解:基于UML的面向对象分析、设计过程
掌握:基于UML的面向对象分析、设计过程
第3章 Rational Rose简介 1学时
教学内容
3.1 初识Rational Rose
3.2 Rational Rose的安装
3.3 Rational Rose使用介绍
考核内容
了解:Rational Rose使用
理解:Rational Rose使用
掌握:Rational Rose使用
第4章 UML语言纵览 1学时
教学内容
4.1 UML的构成
4.2 视图
4.3 图
4.4 UML1.4与UML2.0的比较
4.5 模型元素
4.6 通用机制
4.7 UML的扩展组件
4.8 UML建模的简单流程
考核内容
了解:UML的构成
理解:视图
掌握:视图
第5章 用例图
教学内容
5.1 用例图的概念
5.2 用例图建模技术
5.6 实例——图书馆管理系统中的用例图
考核内容
了解:用例图的概念
理解:用例图建模技术
掌握:用例图建模技术
第6章 类图和对象图 1学时
教学内容
6.1 类图的概念
6.2 类图建模技术
6.3 对象图
6.4 对象图建模技术
6.5 实例——图书馆管理系统的类图
考核内容
了解:类图的概念
理解:类图和对象图建模技术
掌握:类图和对象图建模技术
第7章 包图 1学时
教学内容
7.1 概述
7.2 包
7.3 包之间的关系
7.4 包图建模技术
7.5 实例——图书馆管理系统的包图
考核内容
了解:包图建模技术
理解:包图建模技术
掌握:包图建模技术
第8章 状态图 1学时
教学内容
8.1 状态机
8.2 状态图
8.3 状态
8.4 事件
8.5 转换
8.6 状态图建模技术
8.7 实例——图书馆管理系统的状态图
考核内容
了解:状态图建模技术
理解:状态图建模技术
掌握:状态图建模技术
第9章 活动图 1学时
教学内容
9.1 概述
9.2 活动图的组成元素
9.3 活动的分解
9.4 活动图建模技术
9.5实例——图书馆管理系统的活动图
考核内容
了解:活动图建模技术
理解:活动图建模技术
掌握:活动图建模技术
第10章 时序图 1学时
教学内容
10.1 概述
10.2 时序图的组成
10.3 对象的创建和撤销
10.4 时序图建模技术
10.5 实例——图书馆管理系统的时序图
考核内容
了解:时序图建模技术
理解:时序图建模技术
掌握:时序图建模技术
第11章 协作图 1学时
教学内容
11.1 概述
11.2 对象、链和消息
11.3 时序图与协作图的比较
11.4 时序图与协作图的互换
11.5 协作图建模技术
11.6 实例——图书馆管理系统的协作图
考核内容
了解:协作图建模技术
理解:协作图建模技术
掌握:协作图建模技术
第12章 组件图 1学时
教学内容
12.1 概述
12.2 组件
12.3 接口
12.4 依赖关系
12.5 组件图建模技术
12.6实例——图书馆管理系统的组件图
考核内容
了解:组件图建模技术
理解:组件图建模技术
掌握:组件图建模技术
第13章 配置图 1学时
教学内容
13.1 概述
13.2 节点
13.3 关联关系
13.4 配置图建模技术
13.5实例——图书馆管理系统的配置图
考核内容
了解:配置图建模技术
理解:配置图建模技术
掌握:配置图建模技术
第14章UML的扩展机制 1学时
教学内容
14.1 UML的体系结构
14.2 构造型
14.3 标记值
14.4 约束
14.5 用于业务建模的UML扩展
考核内容
了解:用于业务建模的UML扩展
理解:用于业务建模的UML扩展
掌握:用于业务建模的UML扩展
第15章 Rose的双向工程 1学时
教学内容
15.1 双向工程介绍
15.2 Java代码生成
15.3 逆向工程
15.4 实例应用
考核内容
了解:双向工程的概念
理解:逆向工程
掌握:逆向工程
第16章 UML与统一开发过程 1学时
教学内容
16.1 软件开发过程
16.2 RUP简介
16.3 RUP的二维开发模型
16.4 RUP核心工作流
考核内容
了解:软件开发过程
理解:RUP的二维开发模型
掌握:RUP的二维开发模型
第17章 对象约束语言 1学时
教学内容
17.1 对象约束语言概述
17.2 标准OCL类型
17.3 OCL表达式
17.4 用OCL表达对象性质约束
考核内容
了解:对象约束语言概念
理解:OCL表达式
掌握:OCL表达式
第18章 图书馆管理系统 1学时
教学内容
18.1 软件需求分析
18.2 图书馆管理系统的需求分析
18.3 系统的UML基本模型
18.4 系统中的类
18.5 系统的配置与实现
考核内容
了解:图书馆管理系统的需求分析
理解:图书馆管理系统的建模
掌握:图书馆管理系统的建模
第19章 汽车租赁系统 1学时
教学内容
19.1 汽车租赁系统的需求分析
19.2 系统的UML基本模型
19.3 系统中的类
19.4 系统的配置与实现
考核内容
了解:汽车租赁系统的需求分析
理解:汽车租赁系统的建模
掌握:汽车租赁系统的建模
第20章 网络教学系统 1学时
教学内容
20.1 网络教学系统的需求分析
20.2 系统的UML基本模型
20.3 系统中的类
20.4 系统的配置与实现
考核内容
了解:网络教学系统的需求分析
理解:网络教学系统的建模
掌握:网络教学系统的建模
第21章 网上图书销售系统 1学时
教学内容
21.1 网上图书销售系统的需求分析
21.2 系统的UML建模
21.3 系统中的类
21.4 系统的配置与实现
考核内容
了解:网上图书销售系统的需求分析
理解:网上图书销售系统的建模
掌握:网上图书销售系统的建模
四、 实验:
1) 实验目的与任务:实践是本课程的重要环节,只有通过理论结合实践,学生才可以牢固地掌握所学的知识,通过实验学生可以养成良好的建模习惯。
2) 实验教学基本要求:学生应独立完成所有实验,为保证尽量在统一安排的上机时间内完成建模,学生应事先设计好模型。
3) 实验教材或指导书:使用参考教材。
4) 实验项目一览表:
序号
| 实验项目
| 内容提要
| 实验
类型
| 学时
分配
| 主要仪器
设 备
| 实验
地点
| 备注
|
1
| Rational Rose的初步使用
| 必要软件的安装,环境变量的配置;熟悉工具的使用。
|
| 2
| 微机
|
|
|
2
| 用例图、类图和对象图的建模
| 用例图、类图和对象图的建模
|
| 2
| 微机
|
|
|
3
| 包图、状态图、活动图的建模
| 包图、状态图、活动图的建模
|
| 2
| 微机
|
|
|
4
| 时序图、协作图的建模
| 时序图、协作图的建模
|
| 2
| 微机
|
|
|
5
| 组件图、配置图、UML的扩展机制、Rose的双向工程
| 组件图、配置图、UML的扩展机制、Rose的双向工程
|
| 2
| 微机
|
|
|
6
| 图书馆管理系统的建模
| 图书馆管理系统的建模
|
| 2
| 微机
|
|
|
7
| 汽车租赁系统的建模
| 汽车租赁系统的建模
|
| 2
| 微机
|
|
|
8
| 网络教学系统的建模
| 网络教学系统的建模
|
| 2
| 微机
|
|
|
注:由于课内学时有限,所以需要学生利用课外时间上机去熟悉各类建模技术。
五、考核方式:
课程考核办法:平时交作业,期末考试为机试(闭卷)
总评成绩构成:平时30% 考试成绩70%
六、其它信息:无