内容简介
本书系统地介绍了软件工程的概念、原理、方法和案例,比较全面地反映了软件工程技术的全貌。全书共3篇,分16章,分别以“面向过程的软件工程”、“面向对象的软件工程”和“软件工程实验”为主线阐述软件工程原理和方法。本书第2篇还介绍了软件体系结构、设计模式、软件工程新技术等内容,体现了软件工程的理论和技术。本书的主要是强调以面向过程或面向对象的思想指导软件开发过程,并配以实例分析和说明,便于教学和应用。
本书适合作为高等院校计算机、软件工程专业或信息类相关专业本科生或研究生软件工程课程的教材,也可作为软件开发技术人员的参考书。
目录
第1篇 面向过程的软件工程
第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.4 软件开发模型
1.4.1 瀑布模型
1.4.2 快速原型模型
1.4.3 增量模型
1.4.4 螺旋模型
1.4.5 喷泉模型
1.4.6 基于构件的开发模型
1.4.7 统一过程(RUP)模型
1.4.8 基于形式化的开发模型
1.5 传统的软件工程和面向对象的软件工程
1.5.1 传统软件工程方法
1.5.2 面向对象软件工程方法
1.5.3 传统软件工程和面向对象软件工程的分析方法对比
本章小结
习题1
第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
第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 维纳图
3.5.3 IPO图
3.6 SA方法的应用
3.7 数据库内容的需求分析和描述
3.7.1 数据库内容的需求分析
3.7.2 数据库内容的需求分析描述
3.8 需求规格说明书
本章小结
习题3
第4章 软件总体设计
4.1 软件总体设计的目标和任务
4.2 软件结构设计准则
4.2.1 软件体系结构设计准则
4.2.2 软件模块设计准则
4.3 软件设计的概念和原理
4.3.1 模块和模块化
4.3.2 抽象
4.3.3 信息隐蔽和局部化
4.3.4 模块独立性及其度量
4.4 数据库设计
4.4.1 数据库系统的三级模式概念
4.4.2 数据库逻辑设计原则
4.4.3 关系数据库规范化
4.5 软件结构设计的图形工具
4.5.1 软件结构图
4.5.2 层次图
4.5.3 HIPO图
4.6 结构化设计方法
4.6.1 数据流图及其类型
4.6.2 结构化设计方法的步骤
4.6.3 变换型数据流图的分析设计
4.6.4 事务型数据流图的分析设计
4.6.5 综合分析设计
4.7 总体设计说明书
本章小结
习题4
第5章 软件详细设计
5.1 详细设计的目的与任务
5.2 结构化程序设计
5.3 详细设计工具
5.3.1 程序流程图
5.3.2 盒图(N-S图)
5.3.3 问题分析图(PAD图)
5.3.4 过程设计语言(PDL)
5.4 人机界面设计
5.4.1 人机界面设计问题
5.4.2 人机界面设计原则
5.4.3 人机界面设计过程
5.5