第1章 软件工程概述 1.1 软件工程的产生和发展 1.1.1 软件工程的发展过程 1.1.2 软件危机 1.1.3 软件工程的定义及研究的内容 1.2 软件与软件过程 1.2.1 软件的概念和特点 1.2.2 软件工程过程 1.3 软件过程模型 1.4 软件开发方法 1.5 软件工具与软件开发环境 习题一第2章 软件需求工程 2.1 软件需求的基本概念 2.1.1 软件需求的任务 2.1.2 功能需求与非功能需求 2.2 需求工程过程 2.3 软件需求获取技术 2.4 需求分析与建模 2.4.1 结构化分析(SA)方法 2.4.2 面向对象的分析方法 2.5 软件需求案例分析 2.5.1 案例1——医院病房监护系统 2.5.2 案例2——网上拍卖系统 习题二第3章 软件设计 3.1 软件设计概述 3.2 软件体系结构设计 3.2.1 仓库模型 3.2.2 分布式结构 3.2.3 其他体系结构 3.3 模块分解 3.4 详细设计描述工具 3.5 用户界面设计 3.5.1 用户界面设计的特性与设计任务 3.5.2 用户界面设计的基本原则 3.5.3 用户界面的基本类型 3.5.4 信息输入/输出界面 3.5.5 MVC模式 习题三第4章 面向对象的方法 4.1 面向对象方法概述 4.2 面向对象的基本概念 4.3 面向对象的分析 4.4 面向对象的设计 4.5 典型的面向对象方法 4.5.1 BOOch方法 4.5.2 CoaD/YOurdon方法 4.5.3 对象模型技术 4.5.4 OOSE方法 习题四第5章 UML统一建模语言 5.1 UML概述 5.1.1 UML的基本概念 5.1.2 UML的图形表示 5.2 建立用例模型 5.2.1 需求分析与用例建模 5.2.2 确定执行者 5.2.3 确定用例 5.2.4 建立用例之间的关系 5.2.5 用例建模实例 5.3 建立静态模型 5.3.1 类图 5.3.2 包图 5.4 建立动态模型 5.4.1 消息 5.4.2 状态图 5.4.3 顺序图 5.4.4 合作图 5.4.5 活动图 5.5 建立实现模型 5.5.1 构件图 5.5.2 配置图 5.6 RUP统一过程及其应用 5.6.1 UML与RUP统一过程 5.6.2 RUP的二维开发模型 5.6.3 RUP的迭代开发模式 习题五第6章 软件实现 6.1 程序设计语言的选择 6.2 结构化程序设计 6.3 程序设计风格 6.4 算法与程序效率 6.5 软件代码审查 习题六第7章 软件复用和构件技术 7.1 软件复用概述 7.2 软件复用的实施与过程 7.3 可复用构件与构件工程 7.4 领域工程分析和基于构件的开发 7.5 基于构件的软件开发特点 7.6 软件构件技术的技术规范 7.6.1 CORBA 7.6.2 COM 7.6.3 EJB 7.6.4 Web服务 习题七 第8章 软件测试 8.1 软件测试概述 8.1.1 软件测试的基本概念 8.1.2 软件测试的特点和基本原则 8.1.3 软件测试过程 8.1.4 静态分析与动态测试 8.2 白盒法测试 8.3 黑盒法测试 8.4 软件测试的策略 8.4.1 单元测试 8.4.2 集成测试 8.4.3 确认测试 8.4.4 系统测试 8.4.5 a测试和B测试 8.4.6 综合测试策略 8.5 软件调试 8.5.1 软件调试过程 8.5.2 软件调试策略 8.6 面向对象的测试 8.6.1 面向对象测试的特点 8.6.2 面向对象测试类型 8.6.3 分析模型测试 8.6.4 面向对象的测试用例 习题八 第9章 软件维护 9.1 软件维护的基本概念 9.2 软件维护的过程 9.3 软件维护技术 9.4 软件可维护性 9.4.1 软件可维护性的定义 9.4.2 提高可维护性的方法 9.5 逆向工程和再工程 习题九 第10章 软件工具与集成化环境 10.1 软件工具 10.1.1 软件开发工具 10.1.2 软件维护工具 10.1.3 软件管理与支持工具 10.2 集成化CASE环境 10.2.1 概述 10.2.2 集成化的CASE开发环境的体系结构 10.3 软件开发工具——Rationa.1 Rose 10.3.1 Rose工具简介 10.3.2 业务用例图 10.3.3 用例图 10.3.4 类图 10.3.5 协作图与时序图 10.3.6 活动图 10.3.7 状态图 10.3.8 构件图和部署图 习题十第11章 软件项目管理 11.1 软件项目管理概述 11.2 软件项目可行性研究 11.3 软件项目成本估算技术 11.4 软件项目组织与人员管理 11.5 软件质量保证 11.6 企业资源规划 习题十一第12章 软件能力成熟度模型 12.1 CMM概述 12.2 CMM的内部结构 12.3 CMM的应用 12.4 CMM的实施与评估 12.4.1 软件过程评估的必要性 12.4.2 软件过程评估参考模型 12.4.3 CMM评估的执行步骤 12.4.4 软件企业如何实施CMM 12.4.5 CMM与ISO 9000标准 12.5 软件能力成熟度模型集成 习题十二第13章 软件工程课程设计 13.1 课程设计的目的和要求 13.2 课程设计步骤及安排 13.3 案例分析 13.3.1 案例一:ATM系统 13.3.2 案例二:医院病房监护系统 13.3.3 案例三:会议管理系统 13.3.4 案例四:仓库信息管理系统参考文献