标题：软件工程：理论、方法与实践
图书信息
出版社: 西安电子科技大学出版社; 第1版 (2010年9月1日)
丛书名: 高等学校计算机专业“十一五”规划教材
平装: 276页
正文语种: 简体中文
开本: 16
ISBN: 9787560624532
条形码: 9787560624532
尺寸: 25.8 x 18.2 x 1.4 cm
重量: 440 g
内容简介
《软件工程:理论、方法与实践》主要从面向对象的角度阐述了软件工程的相关理论和方法。全书主要以UML为建模语言，以UML的发起人Booch、Rumbaugh和Jacobson建议的面向对象的分析和设计方法为核心内容，参照IEEE的软件工程知识体系，系统阐述了软件工程活动的理论、方法和技术。《软件工程:理论、方法与实践》第1、2章介绍了软件工程相关概念和过程活动；第3章讨论了基于UML的面向对象系统建模方法；第4、5章讨论了需求工程活动和面向对象的需求分析方法；第6、7章详细阐述了软件系统设计原则及软件体系结构设计，并重点讨论了面向对象的设计方法；第8、9章讨论了目前广泛用于软件系统设计的分布式体系结构和系统复用技术；第10章阐述了软件活动中的形式化模型定义方法；第11、12章讨论了软件编码以及测试活动和方法；第13章介绍了软件交付后的维护工作；第14、15章介绍了软件工程过程中的项目管理活动和过程改善技术；第16章简单介绍了净室软件工程技术。
《软件工程:理论、方法与实践》可作为计算机及信息类专业本科生的教材，也可作为研究生和其他软件技术人员的学习参考书。
目录
第1章 导论 
1.1 软件 
1.1.1 软件的发展 
1.1.2 软件的类型 
1.1.3 软件质量特性 
1.2 软件工程概述 
1.2.1 软件危机 
1.2.2 软件工程 
1.2.3 软件过程 
1.3 软件工程方法 
1.3.1 结构化分析和设计方法 
1.3.2 面向对象软件工程方法 
1.3.3 用例驱动的软件开发方法 
1.4 CASE工具与集成化的软件开发环境 
1.5 软件工程知识体系 
本章小结 
习题 
第2章 软件过程 
2.1 软件过程概述 
2.2 软件过程模型 
2.2.1 瀑布模型 
2.2.2 演化式开发模型 
2.2.3 形式化变换模型 
2.2.4 面向复用的开发 
2.2.5 增量开发 
2.2.6 螺旋模型 
2.3 Rational统一过程 
2.4 敏捷开发过程 
2.5 面向方面的软件开发 
本章小结 
习题 
第3章 面向对象系统建模 
3.1 面向对象基本概念 
3.1.1 对象 
3.1.2 类 
3.1.3 封装 
3.1.4 继承 
3.1.5 消息 
3.1.6 关联 
3.1.7 聚合和组合 
3.1.8 多态性 
3.2 统一建模语言UML 
3.2.1 UML的特点及组成 
3.2.2 UML事物 
3.2.3 UML关系 
3.2.4 UML图 
3.3 +1视图 
3.4 软件系统模型 
3.4.1 上下文（Context）模型 
3.4.2 体系结构（Architectural）模型 
3.4.3 数据流模型 
3.4.4 数据模型 
3.5 面向对象系统模型 
3.5.1 对象结构模型 
3.5.2 对象行为模型 
3.6 软件建模工具Rational Rose 
本章小结 
习题 
第4章 需求工程 
4.1 软件需求 
4.1.1 用户需求和系统需求 
4.1.2 功能性需求和非功能性需求 
4.2 需求工程过程 
4.3 可行性研究 
4.4 需求获取和分析 
4.4.1 用户交流 
4.4.2 基于用例的需求获取 
4.4.3 原型化方法 
4.4.4 需求分析 
4.5 需求定义 
4.5.1 需求描述方式 
4.5.2 软件需求规格说明 
4.6 需求验证 
4.7 案例 
本章小结 
习题 
第5章 面向对象的分析 
5.1 面向对象分析的概念 
5.1.1 分析类 
5.1.2 用例实现 
5.1.3 分析包 
5.1.4 分析模型 
5.2 基于UML的需求分析 
5.2.1 确定分析类 
5.2.2 建模分析对象间的交互 
5.2.3 构建分析类图 
5.3 案例 
本章小结 
习题 
第6章 软件设计 
6.1 软件设计过程 
6.2 软件设计原则 
6.2.1 模块化和信息隐蔽 
6.2.2 内聚和耦合 
6.2.3 抽象和求精 
6.2.4 复用 
6.3 体系结构设计 
6.3.1 什么是体系结构 
6.3.2 体系结构设计策略 
6.3.3 管道-过滤器结构 
6.3.4 分层体系结构 
6.3.5 仓库系统结构 
6.3.6 客户/服务器模式 
6.3.7 MVC模式 
6.4 控制模型 
6.4.1 集中式控制 
6.4.2 事件驱动的控制 
6.5 模块分解 
6.6 体系结构设计案例 
本章小结 
习题 
第7章 面向对象的设计 
7.1 设计模型 
7.2 类的设计 
7.2.1 识别设计类 
7.2.2 识别类的方法 
7.2.3 识别属性 
7.2.4 识别关联和聚合 
7.3 设计交互 
7.4 接口描述 
7.5 设计变更 
7.6 用户界面设计 
7.6.1 用户界面设计的原则 
7.6.2 Web界面的设计 
7.6.3 帮助系统的设计 
7.7 iricher系统的设计 
本章小结 
习题 
第8章 分布式系统体系结构 
8.1 分布式系统体系结构概述 
8.2 Client/Sever 结构 
8.2.1 胖客户机和瘦客户机模型 
8.2.2 B/S模型和多层C/S模型 
8.3 分布式对象体系结构 
8.3.1 RMI 
8.3.2 CORBA 
8.3.3 DCOM 
8.4 Peer-to-Peer体系结构 
8.5 基于Web的应用程序体系结构 
8.5.1 Web Services体系 
8.5.2 Web Services协议栈 
8.6 J2EE框架 
本章小结 
习题 
第9章 面向复用的设计 
9.1 软件复用的概念 
9.2 基于组件的开发 
9.2.1 组件 
9.2.2 组件模型 
9.2.3 中间件 
9.2.4 基于组件的软件工程过程 
9.2.5 企业应用系统集成（EAI） 
9.3 设计模式 
9.3.1 设计模式概念 
9.3.2 Composite模式 
9.3.3 Abstract Factory模式 
9.3.4 Chain of Responsibility模式 
本章小结 
习题 
第10章 形式化方法 
10.1 软件过程中的形式化描述 
10.1.1 对象类的描述 
10.1.2 行为描述 
10.1.3 模型检查 
10.2 Z语言 
10.2.1 Z语言语法简介 
10.2.2 Z语言示例 
10.3 Petri 网 
10.3.1 Petri网定义 
10.3.2 Petri网示例 
本章小结 
习题 
第11章 软件实现 
11.1 程序设计语言 
11.1.1 程序设计语言的特性 
11.1.2 程序设计语言的选择 
11.2 编码风格 
11.2.1 命名 
11.2.2 注释 
11.2.3 源代码版式 
11.2.4 异常处理 
11.3 程序的效率 
本章小结 
习题 
第12章 软件验证和确认 
12.1 验证和确认 
12.2 软件审查 
12.2.1 程序审查 
12.2.2 自动静态分析 
12.3 软件测试 
12.3.1 软件测试的目的和原则 
12.3.2 单元测试 
12.3.3 集成测试 
12.3.4 系统测试 
12.3.5 确认测试 
12.4 软件测试方法 
12.4.1 白盒测试方法 
12.4.2 黑盒测试方法 
12.5 面向对象的测试 
12.5.1 对象类的测试 
12.5.2 对象集成测试 
12.6 IBM Rational Functional Tester 
本章小结 
习题 
第13章 软件演化 
13.1 软件演化的动态特性 
13.1.1 软件的本质特性 
13.1.2 遗留系统问题 
13.2 软件维护 
13.2.1 软件维护内容 
13.2.2 软件维护过程 
13.3 软件再工程 
13.3.1 再工程活动 
13.3.2 源代码转换 
13.3.3 逆向工程 
13.3.4 程序结构改善 
13.3.5 程序模块化 
13.3.6 数据再工程 
本章小结 
习题 
第14章 软件计划管理 
14.1 软件项目管理 
14.1.1 软件项目的特点 
14.1.2 软件项目管理活动 
14.1.3 软件计划和进度安排 
14.2 成本估算 
14.2.1 软件规模估算 
14.2.2 软件成本估算方法 
14.2.3 专家判定技术 
14.2.4 COCOMO模型 
14.2.5 面向对象项目的估算 
14.3 软件配置管理 
14.3.1 基线和配置项 
14.3.2 软件配置活动 
14.4 IBM Rational 软件配置管理工具 
本章小结 
习题