目录
前言
第1章 软件工程概述
1.1 软件概论
1.1.1 软件的发展历史
1.1.2 软件的概念和特点
1.1.3 软件的分类
1.1.4 软件危机
1.2 软件工程与软件过程
1.2.1 软件工程的概念
1.2.2 软件工程项目的基本目标
1.2.3 软件工程学的原则
1.2.4 软件过程与软件生存周期
1.2.5 常见的软件开发模型
小结
习题1
第2章 可行性研究
2.1 可行性研究的任务
2.2 可行性研究的具体步骤
2.3 系统流程图
2.3.1 系统流程图的作用
2.3.2 系统流程图的符号
2.3.3 系统流程图的例子
2.4 成本/效益分析
小结
习题2
第3章 需求工程
3.1 软件需求
3.1.1 软件需求的定义
3.1.2 需求的层次
3.1.3 需求错误的原因
3.2 需求工程
3.2.1 需求工程的内容
3.2.2 需求获取
3.2.3 需求分析
3.2.4 需求传递
3.2.5 需求验证
3.2.6 需求管理
3.3 分析建模
3.3.1 分析模型
3.3.2 数据字典
3.3.3 结构化分析过程
3.4 软件原型
3.4.1 原型的定义和作用
3.4.2 抛弃式原型和演化式原型
3.4.3 为何要采用原型法
小结
习题3
第4章 软件体系结构基础
4.1 软件体系结构的概念
4.1.1 构件与软件重用
4.1.2 什么是软件体系结构
4.1.3 软件体系结构设计原则
4.1.4 软件体系结构的现状及发展方向
4.2 通用的软件体系结构
4.2.1 主机/终端结构
4.2.2 两层结构——客户/服务器体系结构
4.2.3 浏览器/服务器结构
4.2.4 三层C/S结构
4.2.5 三层C/S结构应用实例
小结
习题4
第5章 软件设计
5.1 软件概要设计的基本任务
5.2 软件设计的过程
5.2.1 软件设计在开发阶段的重要性
5.2.2 软件设计的过程
5.3 软件设计的原则
5.4 有效的模块设计
5.5 结构化设计方法(structured design,SD)
5.5.1 在系统结构图(SC)中的模块
5.5.2 变换流与变换型系统结构
5.5.3 事务型系统结构图
5.5.4 变换映射
5.5.5 事务映射
5.5.6 注意“黑箱”技术的使用
5.6 数据设计和文件设计
5.6.1 数据设计的原则
5.6.2 文件设计的过程
5.7 设计规格说明与设计评审
5.8 详细设计
5.8.1 详细设计的任务和原则
5.8.2 详细设计的描述工具
5.8.3 程序复杂程度的定量度量
5.8.4 设计复审
小结
习题5
第6章 编码
6.1 程序设计语言
6.1.1 程序设计语言分类
6.1.2 程序设计语言的特点
6.1.3 程序设计语言的选择
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
第7章 测试
7.1 测试的基本概念和原则
7.1.1 测试的必要性
7.1.2 测试的概念
7.1.3 测试的目的
7.1.4 测试复杂性
7.1.5 测试的基本原则
7.2 测试步骤
7.2.1 测试过程
7.2.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.6 确认测试
7.6.1 测试内容
7.6.2 测试步骤
7.7 自动测试工具
7.7.1 测试数据生成程序
7.7.2 静态生成程序
7.7.3 动态分析程序
7.7.4 文件比较程序
7.8 软件可靠性
7.8.1 基本概念
7.8.2 估算MTTF的方法
小结
习题7
第8章 面向对象技术
8.1 面向对象的概念
8.1.1 对象
8.1.2 类
8.1.3 封装
8.1.4 继承
8.1.5 接口
8.1.6 消息
8.1.7 结构与连接
8.1.8 多态性
8.2 面向对象概念举例
8.2.1 静态字段和方法
8.2.2 属性
8.2.3 类中的继承和重载
8.2.4 接口
8.2.5 委托
小结
习题8
第9章 面向对象分析与设计
第10章 信息系统建模
第11章 统一建模语言(UML)
参考文献
内容摘要
《软件工程与建模》全面系统地讲述了软件工程的概述、可行性研究、需求工程、软件体系结构基础、软件设计、软件编码、软件测试、面向对象技术、软件系统建模、统一建模语言(UML)等内容。与同类软件工程教材的区别在于本教材把软件系统建模的原理与方法、软件体系结构、设计模式有机地引入教学内容过程中。
《软件工程与建模》可作为高等院校“软件工程”课程的教材或教学参考书,也可供有一定实践经验的软件工作人员和需要开发应用软件的广大计算机用户阅读参考。
展开