《软件工程》教学大纲
《软件工程》教学大纲
课程编号:4111209
英文名称名:Software Engineering
总学时:64学时
学分:3
课程类别:专业必修课
适用专业:计算机科学与技术
先修课程:程序设计语言、数据结构、数据库原理、大学数学
一、课程性质与目的、要求
《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。 《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程,
本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。
通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。
本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。
二、教学内容及学时分配
本课程的教学内容共分十五章。
第1章 软件工程学概述(4课时)
学习目的与要求:通过本章的学习,了解和掌握软件工程的基本概念(如软件和软件工程的定义、等),软件危机的表现形式、产生的原因及消除的途径,软件工程的基本原理、方法学,软件的生存期,几种主要的软件开发模型等。
《软件工程》教学大纲
知识点:①软件危机的产生、典型表现形式、产生的原因及消除的途径;②软件工程的基本原理、包括软件工程的定义、特性、方法学;③二种主要的软件开发方法;④软件生存周期;⑤软件过程、几种主要的开发模型。
1.1 软件危机
1.2 软件工程
1.3 软件生命周期
1.4 软件过程
1.5 小结
第2章 可行性研究(4课时)
学习目的与要求:深刻理解可行性研究的必要性,掌握可行性研究的任务、过程、成本效益分析以及可行性研究报告的主要内容;掌握系统流程图、数据流程图、数据字典概念以及项目开发计划的基本内容。
知识点:①可行性研究的任务、具体步骤、成本效益分析、可行性研究报告;②系统流程图;③数据流图;④数据字典。
2.1 可行性研究的任务
2.2 可行性研究过程
2.3 系统流程图
2.4 数据流图
2.5 数据字典
2.6 成本/效益分析
2.7 可行性研究报告
2.8 小结
第3章 需求分析(6课时)
学习目的与要求:掌握需求分析的任务,需求获取的方法、分析建模与需求规格说明,掌握数据建模的实体联系图、数据规范化,掌握描述系统行为模型的状态转换图,掌握层次方框图、Warnier图、IPO(HIPO)图。掌握验证软件需求的必要性、方法。
知识点:①需求分析的任务,需求获取、分析建模与需求规格说明;②实体联系图与数据规范化;③状态转换图;④层次方框图;⑤ Warnier图;⑥IPO(HIPO)图;⑦验证软件需求。
3.1 需求分析的任务
3.2 与用户沟通获取需求的方法
3.3 分析建模与规格说明
3.4 数据规范化
3.5 验证软件需求
3.6 小结
第4章 形式化说明技术(1课时)
《软件工程》教学大纲
学习目的与要求:掌握形式化方法的概念、优点和应用准则,初步掌握有穷状态机、Petri网、Z语言的概念和使用。
知识点:①形式化方法、非形式化方法、半形式化方法;②形式化方法的应用准则;③有穷状态机;④Petri网;⑤Z语言。
4.1 概述
4.2 有穷状态机
4.3 Petri网
4.4 Z语言
4.5 小结
第5章 总体设计(6课时)
学习目的与要求:了解软件总体设计的目的、任务,掌握软件总体设计的过程、设计原理和启发规则,掌握描述软件结构的工具以及面向数据流的设计方法。能够将具体的数据流图的转换为软件的结构图,即变换分析技术和事务分析技术。
知识点:①总体设计、概要设计、初步设计;②软件总体设计的阶段和过程;③模块化、抽象、逐步求精、信息隐藏、模块独立;④启发规则; ⑤层次图、HIPO图、结构图;⑥面向数据流的设计方法(结构化设计方法-SD方法)。
5.1 设计过程
5.2 设计原理
5.3 启发规则
5.4 描绘软件结构的图形工具
5.5 面向数据流的设计方法
5.6 小结
第6章 详细设计(4课时)
学习目的与要求:了解软件详细设计阶段的目的、任务和结构化程序设计的概念,掌握人机界面设计的方法、过程设计的工具以及面向数据结构的设计方法,了解程序复杂程度的定量度量。
知识点:①结构化程序设计;②人机界面设计的问题、设计方法;③程序流程图、盒图(N-S图)、PAD图、判定表、判定树、过程设计语言;④JACKSON图、JACKSON方法。
6.1 结构程序设计
6.2 人机界面设计
6.3 过程设计的工具
6.4 面向数据结构的设计方法
6.5 程序复杂程度的定量度量
6.6 小结
第7章 实现(10课时)
《软件工程》教学大纲
学习目的与要求:了解如何选择程序设计语言,培养良好的编码风格,掌握软件测试的目标、准则、方法和步骤,掌握单元测试、集成测试、确认测试的方法步骤,掌握白盒测试和黑盒测试技术的概念、方法,掌握调试过程与途径,了解软件可靠性的概念及其计算方法。能够按照测试的原则和技术,分析确定高效的测试用例。
知识点:①选择程序设计语言、编码风格;②软件测试基础;③单元测试、集成测试、确认测试;④白盒测试技术和黑盒测试技术; ⑤调试;⑥软件可靠性、可用性。
7.1 编码
7.2 软件测试基础
7.3 单元测试
7.4 集成测试
7.5 确认测试
7.6 白盒测试技术
7.7 黑盒测试技术
7.8 调试
7.9 软件可靠性
7.9 小结
第8章 维护(2课时)
学习目的与要求:了解软件维护的定义,掌握软件维护的特点和过程,软件的可维护性的定义及提高可维护性的方法。掌握预防性维护和软件再工程过程的概念、方法。
知识点:①软件维护;②软件的可维护性;③预防性维护;④软件再工程过程。
8.1 软件维护的定义
8.2 软件维护的特点
8.3 软件维护过程
8.4 软件的可维护性
8.5 预防性维护
8.6 软件再工程过程
8.7 小结
第9章 面向对象方法学引论(2课时,选讲)
学习目的与要求:了解面向对象方法学的要点和优点,掌握面向对象的概念、建模,掌握对象模型、动态模型、功能模型以及三种模型的关系。
知识点:①面向对象方法学的特点;②面向对象;③面向对象建模;④对象模型、动态模型、功能模型。
9.1 面向对象方法学概述
9.2 面向对象的概念
9.3 面向对象建模
9.4 对象模型
9.5 动态模型
9.6 功能模型
《软件工程》教学大纲
9.7 3种模型之间的关系
9.8 小结
第10章 面向对象分析(4课时,选讲)
学习目的与要求:掌握面向对象分析的过程、需求陈述,能够根据具体问题建立对象模型、动态模型、功能模型以及确定对象的服务。
知识点:①对象模型的层次;②面向对象分析与需求陈述;③建立对象模型;④建立动态模型;⑤ 建立功能模型;⑥ 确定服务。
10.1 面向对象分析的基本过程
10.2 需求陈述
10.3 建立对象模型
10.4 建立动态模型
10.5 建立功能模型
10.6 定义服务
10.7 小结
第11章 面向对象设计(4课时,选讲)
学习目的与要求:了解面向对象设计的准则和启发规则,掌握软件重用的概念和方法,掌握系统分解的方法,掌握设计问题域子系统、设计人机交互子系统、设计任务管理子系统、设计数据管理子系统、设计类中的服务、设计关联以及设计优化的方法。
知识点:①面向对象设计的准则、启发规则;②软件重用;③系统分解;④设计问题域子系统;⑤设计人机交互子系统;⑥设计任务管理子系统;⑦设计数据管理子系统;⑧设计类中的服务;⑨设计关联;⑩设计优化。
11.1 面向对象设计的准则
11.2 启发规则
11.3 软件重用
11.4 系统分解
11.5 设计问题域子系统
11.6 设计人机交互子系统
11.7 设计任务管理子系统
11.8 设计数据管理子系统
11.9 设计类中的服务
11.10 设计关联
11.11 设计优化
11.12 小结 补充内容:UML基础与ROSE建模 (8课时,选讲)
学习目的与要求:掌握UML基础知识,并能画出ROSE建模图,包括UML用例图、类图、对象图、包图、顺序图和合作图、状态图、构件图和部署图。
第12章 面向对象实现(2课时,选讲)
《软件工程》教学大纲
学习目的与要求:掌握面向对象语言的特点以及如何选择面向对象的开发工具,养成良好的程序设计风格,掌握面向对象的软件测试的特点和策略,能够设计测试用例。
知识点:①面向对象语言;②程序设计风格以及对可重用性、可扩充性、健壮性的影响;③面向对象的单元测试、集成测试、确认测试;④测试类的方法;⑤面向对象的测试用例。
12.1 程序设计语言
12.2 程序设计风格
12.3 测试策略
12.4 设计测试用例
12.5 小结
第13章 软件项目管理(2课时,选讲)
学习目的与要求:掌握估算软件规模和工作量的技术,能够根据项目制定合理的进度计划,掌握团队组织的基本方法,了解软件的质量指标并掌握软件质量保证的措施,掌握软件配置管理,了解能力成熟度模型。
知识点:①代码行、功能点估算软件规模的技术;②进度计划中的甘特图、工程网络、关键路径;③团队组织;④软件质量指标、质量保证措施;⑤软件配置、软件配置管理过程;⑥CMM。
13.1 估算软件规模
13.2 工作量估算
13.3 进度计划
13.4 人员组织
13.5 质量保证
13.6 软件配置管理
13.7 能力成熟度模型
13.8 小结
第14章 软件开发环境(1课时,选讲)
学习目的与要求:了解软件工具或软件开发环境对软件开发的影响,了解CASE生存周期、软件工程环境、软件工程方法的研究在软件开发中的作用。
知识点:①编程环境;②需求分析、设计、建模工具,CASE;③测试工具、配置管理工具;④工具集成机制。
14.1 软件支持环境
14.2 软件工具
14.3 计算机辅助软件工程(CASE)
14.4 小结
第15章 软件工程标准化与文档(2课时,选讲)
学习目的与要求:了解软件工程标准、软件开发规范与文档对软件开发的影响,掌握软件工程标准和规范的内容及其利用,掌握软件文档的写作方法。
知识点:①软件工程标准;②ISO9000系列标准;③软件开发规范、软件文档制作。 15.1 软件工程标准化
《软件工程》教学大纲
15.2 计算机软件开发规范
15.3 软件文档的任务
15.4 小结
三、教学方法
教师在课堂上采用多媒体教学手段授课,上课时强调理论与实践的同等重要性,不断积累教学素材指导课堂讨论和实践,以提高学生的学习兴趣。
针对《软件工程》的课程特点,主讲教师根据多年的教学经验总结出了切实可行的教学方法:案例教学法和项目实践法,以提高教学质量。
案例教学法:在教学中创造条件引入实例,结合软件工程理论知识给学生讲解实例、介绍具体的开发过程和方法,并提出实际问题,启发学生思考解决的方法及比较方案的优劣。
项目实践法:为加强实践环节,提高学生学习的主动性,可将学生分组进行项目实践,提高学生的团队合作能力。方法是让学生利用课外时间相对独立完成一个模拟的科研项目,这些项目都是从实际项目中提炼出来的,具有典型性、客观性和启发性。教师采用点拔方式或共同探究的方式进行指导。实验进度可以和课堂教学同步,也可以在课堂教学结束后进行。这种项目练习以团队操练的方式进行。项目组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用本课程学到的各方面知识,分工协同、想办法、查资料、探寻问题的解决方案,同时在研究问题找出规律的过程中创造性地学到了知识,学生的创造能力、应用能力、综合能力和交流合作等大量非智力因素得到充分的发展。项目完成后,教师要求学生写专题论文,启发他们的思维,表达他们的见解,鼓励学生在本课程的学习中学会联系相关课程(如网络、数据结构、数据库等)的知识去思考和解决问题。
四、成绩考核方式
期末考试以闭卷形式进行;平时则以书面作业形式和课堂讨论形式进行考查。
五、教材与参考资料
教材
《软件工程导论》 张海藩 清华大学出版社,2004.8
参考资料
《实用软件工程》.郑人杰. 高等教育出版社出版
《软件工程—原理、方法与应用》.史济民.
《现代软件工程》.周之英. 北京:科学出版社,
《软件工程——实践者之路》(第5版) Roger S.Pressman. 北京:机械工业出版社,2001
《软件工程》.徐仁佐.武汉:华中科技大学出版社,
《面向对象技术》.蔡希尧,陈平.西安:西安电子科技大学出版社,1993
《Outlines of Software Engineering》.Daivid Gustafson.Schaum.北京:机械工 北京:高等教育出版社
《软件工程》教学大纲 业出版社,2003
《Software Engineering》,6th Edition.Ian SommerviUe.北京:机械工业出版社,2003
《软件工程—实践者的研究方法(第5版) 》.Roger S.Pressman.机械工业出版社出版。
《软件工程(第二版) 》.齐治昌. 高等教育出版社出版
《实用面向对象软件工程教程》, Edward Yourdon &Carl Argila 著, 殷人昆等译, 电子工业出版社
《Fundamentals of Software Engineering(软件工程基础)》
Jazayeri, Dino Mandrioli . Prentice-Hall出版
Carlo Ghezzi, Mehdi
第二篇:软件工程教学大纲
《软件工程》教学大纲
前 言
软件工程”是面向高年级计算机软件与应用学生的专业限选课程。本课程介绍了在软件开发与维护过程中应用软件工程方法的必要性和迫切性,介绍了软件工程的基本原理、概念与技术方法。在让学生了解有关知识与方法的同时,采用实践相配合的方式提高学生对专业知识的综合应用能力与技能,使学生在接收理论知识的基础上提高并加强工程化知识与实践知识的教育,为学生在今后工作中从事计算机大规模软件开发与维护打下扎实的基础。
教学目的要求和内容
绪论
[目的要求]
1.了解软件工程的相关语境
2.理解与计划、管理和控制软件开发项目的人员相关的主题
3.掌握传统软件工程的分析、设计和测试方法
4.掌握跨越整个软件工程过程的面向对象方法
[教学内容]
1.产品和过程,
2.管理软件项目
3.传统软件工程方法
4.面向对象软件工程
第一部分 产品和过程
第一章 产 品
[目的要求]
1.理解什么是计算机软件的概念
2.了解为什么我们要努力建造高质量的基于计算机的系统
3.掌握关于软件仍存在什么样的神话
[教学内容]
1.计算机软件的概念
2.软件的特征、软件的应用
3.软件危机
4.软件神话
第二章 过 程
[目的要求]
1.掌握什么是计算机过程
2.了解是否存在一般性的方法评价一个过程的质量
3.掌握软件开发中可以应用什么过程模型
4.了解线性过程模型和迭代过程模型有什么区别
5.掌握各种模型的优点和缺点
[教学内容]
1.软件工程:一种层次化技术
2.软件过程
3.软件过程模型
4.线性顺序模型
5.原型实现模型
6.RAD模型
7.演化软件过程模型
8.基于构件的开发(自学)
9.形式化方法模型(自学)
10.第四代技术(自学)
11.过程技术(自学)
12.产品和过程(自学)
第二部分 管理软件项目
第三章 项目管理的概念
[目的要求]
1.理解在一个软件项目中为什么必须对人员、问题和过程进行管理
2.了解WHH原则
[教学内容] 5
1.管理的谱系
2.人员
3.产品
4.过程
5.项目
6.W5HH原则
7.关键实践(自学)
第四章 软件过程和项目度量
[目的要求]
1.掌握软件度量的概念
2.掌握如何使用它们管理软件项目和软件过程
[教学内容]
1.测量、度量和指标
2.过程和项目领域中的度量
3.软件测度
4.调和不同的度量方法
5.软件质量度量
6.在软件工程过程中集成度量(自学)
7.管理变化:统计过程控制
8.小型组织的度量(自学)
9.建立软件度量计划
第五章 软件项目计划
[目的要求]
1.掌握一个软件项目组如何对工作量、成本和项目时间进行可靠的估算
[教学内容]
1.对估算的观察
2.项目计划目标
3.软件范围
4.资源
5.软件项目估算
6.分解技术
7.经验估算模型
8.自行开发或购买的决策
9.自动估算工具(自学)
第六章 风险分析和管理
[目的要求]
1.
2. 理解软件风险的概念 掌握应采用什么技术去正式评估影响项目成功的风险
[教学内容]
1.
2.
3.
4.
5.
6.
7.
8.
第七章 项目进度安排及跟踪
[目的要求]
1.掌握一个软件项目管理者如何选择软件工程工作任务集
2.掌握如何创建一个项目进度计划
[教学内容]
1. 基本概念 被动和主动的风险策略 软件风险 风险识别 风险预测 风险求精 风险缓解、监控和管理 安全性风险和危险 RMMM计划
2.人员与工作量之间的关系
3.为软件项目定义任务集合
4.选择软件工程任务
5.主要任务求精
6.定义任务网络
7.进度安排
8.获得值分析(自学)
9. 错误跟踪(自学)
10.项目计划
第八章 软件质量保证
[目的要求]
1.了解什么是软件质量保证 2.
3. 理解软件质量保证在软件过程中的重要性 理解正式技术评审的重要性
[教学内容]
1.质量概念
2.质量运动
3.软件质量保证
4.软件评审
5.正式技术评审
6.SQA的形式化方法
7.统计软件质量保证
8.软件可靠性
9.软件错误防范(自学)
10.ISO 9000质量标准
11.SQA计划
第九章 软件配置管理
[目的要求]
1.理解软件配置管理在整个软件过程中的重要意义
2.掌握在计算机软件开发之中及它被交付给客户之后应如何进行变化管理
[教学内容]
1.软件配置管理
2.SCM过程
3.软件配置中对象的标识
4.版本控制
5.变更控制
6.配置审计(自学)
7.状态报告(自学)
8.SCM标准(自学)
第三部分 传统软件工程方法
第十章 系统工程
[目的要求]
1.掌握如何在一个大型系统的环境内定义软件
2.了解系统工程如何发挥作用
[教学内容]
1.基于计算机的系统
2.系统工程层次结构
3.业务过程工程概述
4.产品工程概述
5.需求工程
6.系统建摸
第十一章 分析的概念和原则
[目的要求]
1.掌握应用于软件需求分析的基本概念和原则
[教学内容]
1.需求分析
2.软件的需求诱导
3.分析原则
4.软件原型实现
5.规约(自学)
6.规约评审(自学)
第十二章 分析建摸
[目的要求]
1.理解结构化分析的概念
2.掌握它的各种模型如何使你能够理解数据、功能和行为
[教学内容]
1.简史
2.分析模型的元素
3.数据建摸
4.功能建摸和信息流
5.行为建摸
6.结构化分析的技巧
7.数据字典
8.其他传统分析方法的概述(自学)
第十三章 设计的概念和原则
[目的要求]
1.掌握应用于软件设计活动和基本概念和原则
[教学内容]
1.软件设计和软件工程
2.设计过程
3.设计原则
4.设计概念
5.有效的模块设计
6.针对有效模块化的设计启发
7.设计模型(自学)
8.设计文档
第十四章 体系结构设计
[目的要求]
1.理解什么软件体系结构
2.掌握如何创建数据、体系结构的设计模型
[教学内容]
1.软件体系结构
2.数据设计
3.体系结构风格
4.分析可选的体系结构设计
5.映射需求到软件体系结构
6.变换映射
7.事务映射
8.精华体系结构设计
第十五章 用户界面设计
[目的要求]
1.理解用户界面设计基于计算机系统或产品的重要意义
2.掌握如何创建界面的设计模型
3.掌握界面设计的三个重要原则
[教学内容]
1.黄金规则
2.用户界面设计
3.任务分析和建摸
4.界面设计活动
5.实现工具
6.设计评估
第十六章 构件级设计
[目的要求]
1.掌握如何创建构件的设计模型
[教学内容]
1.构件化程序设计
2.设计符号的比较
第十七章 软件测试技术
[目的要求]
1.理解应用于软件测试的基本概念、原则和策略
2.掌握如何使用黑盒和白盒测试方法来设计有效的测试案例
[教学内容]
1.软件测试基础
2.测试案例设计
3.白盒测试
4.基本路径测试
5.控制结构测试
6.黑盒测试
7.针对于专门的环境、体系结构和应用的测试
第十八章 软件测试策略
[目的要求]
1.了解软件测试的目的
2.掌握软件测试的策略途径
3.掌握软件测试的步骤
[教学内容]
1.软件测试的策略途径
2.策略问题
3.单元测试
4.集成测试
5.确认测试
6.系统测试
7.调试的艺术
第十九 软件技术度量(自学)
[目的要求]
1.了解什么样的技术度量可用于评估分析和设计模型、源代码以及测试案例的质量
[教学内容]
1.软件质量
2.软件技术度量框架
3.分析模型的度量
4.设计模型的度量
5.源代码度量
6.对测试的度量
7.对维护的度量
第四部分 面向对象软件工程
第二十章 面向对象的概念和原理
[目的要求]
1.了解什么是应用于面向对象思想的基本概念和原理
2.理解传统方法和面向对象方法的不同点
[教学内容]
1.面向对象范型
2.面向对象概念
3.标识对象模型的元素
4.面向对象软件项目的管理
第二十一章 面向对象分析
[目的要求]
1.理解面向对象分析的概念
2.了解OO分析模型的类属成分
[教学内容]
1.面向对象分析
2.领域分析
3.OO分析模型的类属成分
4.OOA过程
5.对象-关系模型
6.对象-行为模型
第二十二章 面向对象设计
[目的要求]
1.了解面向对象设计模型的构成元素
[教学内容]
1.面向对象系统的设计
2.系统设计过程
3.对象设计过程
4.设计模式
5.面向对象程序设计
第二十三 面向对象测试(自学)
[目的要求]
1.了解可应用于面向对象软件的软件测试的基本概念和原则
[教学内容]
1.扩大测试的视角
2.测试OOA和OOD模型
3.面向对象测试策略
4.OO软件的测试案例设计
5.在类级别可用的测试方法
6.类间测试案例设计
第二十四 面向对象系统的技术度量(自学)
[目的要求]
1.了解则面向对象系统的技术度量
[教学内容]
1.面向对象的目的
2.面向对象度量的识别特征
3.对OO设计模型的度量
4.面向类的度量
5.面向操作的度量
6.面向对象测试的度量
7.面向对象项目的度量
使用说明
1.本大纲提供计算机科学技术专业本科生使用。
2.本大纲所列内容,尤其是掌握和理解的内容,任课教师必须通过各种教学方法使学生达到掌握和理解。
3.任课教师对教学顺序可作适当变动,但不要破坏课程的基本体系。
4.
5. 本课程为理论课和实验课组成,每章节均需安排案例教学或讨论。 课内上机实践共计12学时,布置大型模拟案例,将学生划分为10至12
组,分工合作,共同完成该模拟项目。
6. 随课程进展布置可行性分析、需求分析、总体设计、详细设计、编码、
测试、维护(版本升级)等任务,并给学生上台报告的机会,训练学生的分析能力、开发能力、组织能力、表达能力、以及培养团队精神。
关于自学的说明
1.第二章第八-十二节、第三章第七节、第四章第六-八节、第五章第九节、第七章第八-九节、第八章第九节、第九章第六-八节、第十一章第五-六节、第十二章第八节、第十三章第七节、第十九章、第二十三章、第二十四章为自学内容。
2.自学安排为课外自学,总学时数为10学时。
3.教学应先指导性辅导半小时,并布置思考题,要求学生通过自学达到大纲要求的目标。
4.教材与参考书目:
(1) 《软件工程——实践者的研究方法》(英文版第五版)Roger S. Pressman 机械工业出版社
(2)《实用软件工程》(第二版) 郑人杰 殷人昆 陶永雷 清华大学出版社(1996) (3) 《软件工程导论》(第三版) 张海藩 清华大学出版社(1997)
(4)《Fundamentals of Software Engineering》Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli Prentice-Hall, Inc. (1991)
(5)《Software Engineering, Theory and Practice》Shari Lawrence Pfleeger Prentice-Hall, Inc. (1998)
(6)《Object-Oriented Programming Using C++》Ira Pohl Benjamin/Cummings Publishing Company, Inc. (1993)
5.自学章节内容纳入检测方法: (1)作业:撰写案例报告 (2)考试
课时分配