标题：软件工程：原理方法和工具
图书信息
出版社: 机械工业出版社; 第1版 (2009年1月1日)
丛书名: 面向21世纪高等院校计算机系列教材
平装: 291页
正文语种: 简体中文
开本: 16
ISBN: 9787111257400
条形码: 9787111257400
尺寸: 25.8 x 18.2 x 1.6 cm
重量: 458 g
内容简介
《软件工程:原理方法和工具》全面系统地介绍了软件工程的概念、原理和技术。全书分3篇，第1篇(第1～8章)“面向过程的软件工程”，以传统的软件生存周期为主线，介绍软件工程的原理和方法，讲述了软件生存周期各阶段的任务、过程和方法。第2篇(第9～16章)“面向对象的软件工程”，以UML语言为主线，结合当前流行的软件工程工具Rational Rose，介绍面向对象软件工程的原理和方法。第3篇(第17章)“软件工程实验”，是在前两篇的理论知识基础上，介绍图书馆图书管理系统和浏览器系统实验。
目录
序
前言
第1篇 面向过程的软件工程
第1章 软件危机、软件工程
1.1 软件工程的发展史
1.1.1 程序设计时代
1.1.2 程序系统时代
1.1.3 软件工程时代
1.2 软件危机主要表现形式
1.3 产生软件危机的原因及解决途径
1.3.1 产生软件危机的原因
1.3.2 解决软件危机的途径
1.4 软件和软件工程
1.4.1 软件
1.4.2 软件工程
1.5 软件质量
1.6 软件的生存周期及开发模型
1.6.1 软件生存周期
1.6.2 软件开发模型
1.7 习题
第2章 可行性研究
2.1 可行性研究的目的与任务
2.2 可行性研究的步骤
2.3 系统流程图
2.3.1 系统流程图的符号
2.3.2 系统流程图示例
2.4 成本一效益分析
2.4.1 货币的时间价值
2.4.2 投资回收期
2.4.3 纯收入
2.5 可行性研究报告的主要内容
2.6 习题
第3章 软件需求分析
3.1 需求分析的任务和步骤
3.1.1 需求分析的任务
3.1.2 需求分析的步骤
3.2 需求获取的常用方法
3.2.1 常规的需求获取方法
3.2.2 快速建立软件原型来获取需求
3.3 需求分析的方法
3.3.1 功能分解方法
3.3.2 结构化分析方法
3.3.3 信息建模方法
3.3.4 面向对象的分析
3.4 结构化分析方法
3.4.1 自顶向下逐层分解的分析策略
3.4.2 结构化分析描述工具
3.4.3 数据流图
3.4.4 数据字典
3.4.5 加工逻辑的描述
3.5 需求分析图形工具
3.5.1 层次方框图
3.5.2 Wamier图
3.5.3 IPO图
3.6 SA方法的应用
3.7 习题
第4章 软件总体设计
4.1 软件总体设计的目标和任务
4.2 软件设计的概念和原理
4.2.1 模块和模块化
4.2.2 抽象
4.2.3 信息隐蔽和局部化
4.2.4 模块独立性及其度量
4.3 软件结构设计准则
4.4 软件结构设计的图形工具
4.4.1 软件结构图
4.4.2 层次图
4.4.3 HIPO图
4.5 结构化设计方法
4.5.1 数据流图的类型
4.5.2 结构化设计方法的步骤
4.5.3 变换型分析设计
4.5.4 事务型分析设计
4.6 习题
第5章 软件详细设计
5.1 详细设计的目的与任务
5.2 结构化程序设计
5.3 详细设计工具
5.3.1 程序流程图
5.3.2 N-S图
5.3.3 PAD图
5.3.4 过程设计语言
5.4 习题
第6章 软件编码
6.1 程序设计语言的分类
6.1.1 基础语言
6.1.2 结构化语言
6.1.3 面向对象的语言
6.2 程序设计语言的选择
6.3 程序设计风格
6.3.1 程序内部文档
6.3.2 数据说明
6.3.3 语句构造
6.3.4 输入/输出
6.3.5 效率
6.4 习题
第7章 软件测试
7.1 软件测试的目标
7.2 软件测试的原则
7.3 软件测试方法
7.3.1 静态测试与动态测试
7.3.2 黑盒测试法与白盒测试法
7.4 软件测试用例的设计
7.4.1 白盒技术
7.4.2 黑盒技术
7.5 软件测试过程
7.5.1 单元测试
7.5.2 集成测试
7.5.3 确认测试
7.5.4 系统测试
7.6 调试
7.6.1 调试的目的
7.6.2 调试技术
7.7 习题
第8章 软件维护
8.1 软件维护的分类
8.2 软件维护的特点
8.2.1 结构化维护与非结构化维护
8.2.2 维护的代价
8.2.3 软件维护中存在的问题
8.3 软件可维护性
8.3.1 软件可维护性的定义
8.3.2 软件可维护性的度量
8.3.3 提高软件可维护性的方法
8.4 维护的副作用
8.5 软件再工程
8.5.1 软件再工程与逆向工程的概念
8.5.2 实施软件再工程的原因
8.5.3 软件再工程技术
8.6 习题
第2篇 UML与面向对象的软件工程
第9章 UML简介
9.1 UML概述
9.1.1 UML的组成
9.1.2 UML的特点和用途
9.1.3 UML的模型视图简介
9.2 UML软件开发工具简介
9.2.1 RationalRose
9.2.2 Visio简介
9.3 习题
第10章 面向对象的概念
10.1 面向对象的方法学
10.1.1 面向对象建模
10.1.2 面向对象的方法与传统软件方法的比较
10.2 对象与类及其UML表示
10.2.1 对象
10.2.2 类与实例
10.2.3 对象属性与操作
10.2.4 对象类的关联
10.3 聚集、组合、继承和多态
10.3.1 聚集与组合
10.3.2 抽象与继承
10.3.3 多态
10.4 习题
第11章 对象设计模式
11.1 对象设计模式概念
11.1.1 历史背景
11.1.2 对象设计模式
11.1.3 设计模式的分类
11.2 几种典型的对象设计模式及应用
11.2.1 行为型模式中的职责键模式及应用
11.2.2 结构型模式中的外观模式及应用
11.2.3 创建型模式中的抽象工厂模式及应用
11.3 对象类的高级概念
11.3.1 抽象类、参数对象类、型与实现对象类
11.3.2 接口
11.3.3 版型
11.4 组件、包和结点
11.4.1 组件
11.4.2 包和包图
11.4.3 结点
11.5 习题
第12章 面向对象的软件开发过程
12.1 RUP概述
12.1.1 RUP的历史
12.1.2 RUP的特色
12.2 RUP软件开发生命周期和建模
12.2.1 RUP软件开发的生命周期
12.2.2 RUP的动态结构
12.2.3 RUP的静态结构
12.2.4 RUP的建模
12.3 面向对象软件开发过程的案例分析
12.3.1 系统需求
12.3.2 系统的静态结构模型
12.3.3 顺序图和协作图
12.3.4 状态图和活动图
12.3.5 组件图和部署图
12.4 习题
第13章 软件开发工具Rose
13.1 Rose的用例图与类图
13.1.1 用例图
13.1.2 类图
13.2 Rose的交互图与状态机图
13.2.1 交互图
13.2.2 状态机图
13.3 包、组件图与部署图
13.3.1 包
13.3.2 组件图
13.3.3 部署图
13.4 Rose的代码生成和逆向工程
13.4.1 代码生成
13.4.2 逆向工程
13.5 Rose应用举例
13.6 习题
第14章 Rose及其应用
14.1 Rose的主要功能
14.2 Rose的使用
14.2.1 Rose主菜单窗口
14.2.2 模型与工作方式的组织
14.3 教学管理系统的分析与设计
14.3.1 系统需求分析
14.3.2 系统问题领域分析
14.3.3 静态结构模型的建立
14.3.4 动态行为模型的建立
14.3.5 物理模型的建立
14.4 UML类图与VB代码的转换
14.4.1 VB代码生成属性
14.4.2 Rose模型-VB代码的生成
14.4.3 VB代码的逆向工程
14.5 UML类图与Java代码的转换
14.5.1 UML类图-Java代码的生成
14.5.2 Java代码的逆向工程
14.6 习题
第15章 面向对象的软件体系结构
15.1 软件体系结构概述
15.2 流程处理与客户机/服务器体系结构
15.2.1 流程处理
15.2.2 客户机/服务器体系结构
15.3 三层和多层体系结构
15.3.1 三层体系结构
15.3.2 浏览器/服务器体系结构风格
15.3.3 多层体系结构
15.3.4 团聚与串行
15.4 公共对象请求代理体系结构
15.5 基于层次消息总线的体系结构风格
15.6 异构结构风格
15.7 习题
第16章 软件工程新技术
16.1 软件复用技术
16.1.1 软件复用概念及分类
16.1.2 软件复用的关键技术和复用粒度
16.2 中间件技术
16.2.1 中间件概念及特点
16.2.2 中间件的分类
16.3 组件技术
16.3.1 组件与组件化
16.3.2 组件模型及描述语言
16.3.3 组件的检索与组装
16.4 计算机辅助软件工程技术
16.4.1 CASE的基本概念
16.4.2 CASE工具与集成CASE环境
16.5 软件产品线技术
16.5.1 软件产品线基本概念
16.5.2 软件产品线方法
16.5.3 北大青鸟工程
16.6 软件过程与标准化
16.6.1 软件过程及其改进
16.6.2 ISO9000标准
16.6.3 软件能力成熟度模型
16.7 习题
第3篇 软件工程实验
第17章 软件工程实验大纲
17.1 面向过程的软件工程实验
17.1.1 实验1 图书馆图书管理系统的可行性分析
17.1.2 实验2 图书馆图书管理系统的项目开发计划
17.1.3 实验3 图书馆图书管理系统的需求分析
17.1.4 实验4 图书馆图书管理系统的总体设计
17.1.5 实验5 图书馆图书管理系统的详细设计及编码实现
17.1.6 实验6 图书馆图书管理系统的系统测试
17.1.7 实验7 图书馆图书管理系统用户手册的撰写
17.1.8 实验8 图书馆图书管理系统项目开发总结报告的撰写
17.2 面向对象的软件工程实验
17.2.1 实验1 浏览器系统的可行性分析
17.2.2 实验2 浏览器系统的项目开发计划
17.2.3 实验3 浏览器系统的需求分析
17.2.4 实验4 浏览器系统的体系结构设计
17.2.5 实验5 采用面向对象方法进行浏览器系统的详细设计
17.2.6 实验6 利用RationalRose正向工程功能完成编码的实验
17.2.7 实验7 利用RationalRose逆向工程完成修改设计的实验
17.2.8 实验8 浏览器系统的测试
17.2.9 实验9 浏览器系统用户手册的撰写
17.2.10 实验10 浏览器系统项目开发总结报告的撰写
附录
附录A UML图总结
附录B UML中定义的常用版型、约束和标记
附录C GOF给出的软件设计模式
参考文献