为你推荐
出版说明
前言
第1章 软件工程概述
1.1 软件的分类和演化
1.1.1 软件的起源和分类
1.1.2 软件工程的产生和发展
1.2 软件的生命周期
1.2.1 计划阶段
1.2.2 分析和定义阶段
1.2.3 设计阶段
1.2.4 实现阶段
1.2.5 测试阶段
1.2.6 运行和维护阶段
1.3 软件开发模型
1.3.1 瀑布模型
1.3.2 演化模型
1.3.3 螺旋模型
1.3.4 喷泉模型
1.3.5 其他模型
1.4 实用案例
1.4.1 出卷系统的开发模型选择
1.4.2 住宅安全系统SafeHome的开发模型选择
1.5 小结
1.6 习题
第2章 软件需求分析
2.1 结构化需求分析方法
2.1.1 数据流图及其画法
2.1.2 数据词典及其描述
2.1.3 功能说明
2.2 原型化分析方法
2.2.1 开发模型
2.2.2 快速原型技术介绍
2.2.3 用户界面开发
2.3 面向对象建模及UML方法
2.3.1 面向对象基本概念
2.3.2 面向对象建模
2.3.3 统一建模语言UML
2.4 需求规约说明书(SRS)
2.4.1 SRS的内容
2.4.2 SRS的作用
2.4.3 SRS的特征
2.4.4 SRS的构造原则
2.4.5 SRS的评审
2.5 案例:图书馆系统的软件需求分析
2.5.1 确定系统参与者
2.5.2 开发系统场景
2.5.3 绘制系统用例图
2.5.4 描述用例
2.6 小结
2.7 习题
第3章 软件系统的设计
3.1 软件设计的基本原理
3.1.1 软件设计的概念和原则
3.1.2 软件概要设计
3.1.3 软件详细设计
3.2 结构化设计方法
3.2.1 软件结构图的组成
3.2.2 软件结构图的画法
3.3 面向对象的设计方法
3.3.1 面向对象设计过程
3.3.2 面向对象设计方法
3.4 其他设计方法介绍
3.4.1 面向方面程序设计
3.4.2 面向Agent的设计方法
3.4.3 泛型程序设计
3.4.4 面向构件的技术
3.4.5 敏捷方法
3.4.6 Rational统一过程
3.4.7 功能驱动开发模式FDD
3.4.8 极端编程
3.5 实用案例
3.5.1 SafeHome软件的结构设计
3.5.2 基于UML的网络管理平台的分析与设计
3.6 小结
3.7 习题
第4章 软件的编程实现
4.1 编程语言的选择和分类
4.1.1 程序设计语言的分类
4.1.2 机器语言
4.1.3 汇编语言
4.1.4 高级语言
4.1.5 非过程语言
4.2 编程要求
4.2.1 程序语句结构的构成原则
4.2.2 程序可读性和易理解性的要求
4.2.3 数据说明的要求
4.2.4 输入和输出应遵守的原则
4.3 面向对象的编程语言介绍
4.3.1 Smalltalk语言
4.3.2 Eiffel语言
4.3.3 C++语言
4.3.4 Delphi语言
4.3.5 Java语言
4.3.6 C#语言
4.4 案例:网上招聘系统软件编程规范
4.4.1 编码格式规范
4.4.2 编码命名规范
4.4.3 程序中的声明规范
4.4.4 编程语句规范
4.4.5 代码注释规范
4.4.6 存放代码的目录规范
4.5 小结
4.6 习题
第5章 软件的测试及维护
5.1 软件测试的基本原理
5.1.1 软件测试目标和原则
5.1.2 软件的可测试性
5.1.3 软件测试的步骤和策略
5.2 测试用例设计
5.2.1 白盒测试
5.2.2 黑盒测试
5.2.3 人工测试
5.2.4 调试
5.3 面向对象的测试
5.3.1 测试策略
5.3.2 类测试方法
5.4 软件维护的基本原理
5.4.1 软件维护的分类
5.4.2 影响软件可维护性的特性
5.4.3 提高软件可维护性的方法
5.5 软件再工程
5.5.1 业务过程再工程模型
5.5.2 软件再工程过程模型
5.5.3 软件的逆向工程
5.5.4 软件重构
5.5.5 软件的正向工程
5.5.6 软件再工程的成本-效益分析
5.6 案例:微软公司的软件测试
5.6.1 软件测试人员的组成及任务
5.6.2 软件测试应考虑的问题
5.6.3 对软件中bug的处理
5.6.4 采用的软件测试方法及测试工具
5.6.5 主要的软件测试文档
5.7 小结
5.8 习题
第6章 软件项目管理
6.1 软件范围的确定
6.1.1 获取确定软件范围所需的信息
6.1.2 软件范围的具体内容及描述要求
6.2 软件资源的考虑
6.2.1 人力资源
6.2.2 可复用软件资源
6.2.3 环境资源
6.3 软件成本的估算
6.3.1 软件估算模型
6.3.2 软件估算方法
6.3.3 面向对象软件项目的估算
6.3.4 软件自行开发或购买的决策
6.4 开发进度的安排
6.4.1 使用甘特图安排软件工程项目进度
6.4.2 使用PERT图安排软件工程项目进度
6.4.3 两种图相结合安排软件工程项目进度
6.5 案例:会计信息系统软件成本估算
6.5.1 根据已知条件选择估算方法或模型
6.5.2 根据选定的方法或模型进行计算
6.5.3 使用其他方法或模型进行交叉检验
6.6 小结
6.7 习题
第7章 软件工程项目案例
7.1 美国航空航天局的太空机器人系统
7.1.1 以用户为中心的迭代设计过程
7.1.2 面对的技术挑战
7.1.3 太空机器人系统的测试
7.2 乐视网TV大数据平台
7.2.1 问题的提出
7.2.2 平台构建过程及采用的工具
7.3 有道云笔记云端架构
7.3.1 数据结构的设计
7.3.2 服务框架的设计
7.3.3 架构的重构和升级
7.4 网易广告投放系统
7.4.1 系统设计目标
7.4.2 迭代开发过程
7.4.3 实现细节考虑
7.5 富士通的基于ZooKeeper和Storm的车载流式计算框架
7.5.1 项目背景介绍
7.5.2 软件设计策略
7.5.3 案例成功要点
7.6 支付宝无线统一测试平台
7.6.1 研发模式及实践经验
7.6.2 测试平台的模块结构介绍
7.6.3 核心模块的功能描述
7.7 习题
第8章 软件工程课程设计
8.1 基本要求及考核标准
8.1.1 课程设计的内容
8.1.2 课程设计的考核
8.2 交付文档要求及格式
8.2.1 《软件计划》编写格式及要点
8.2.2 《需求规约说明书(SRS)》编写格式及要点
8.2.3 《软件设计说明书》编写格式及要点
8.2.4 《软件测试计划》编写格式及要点
8.2.5 《软件测试分析报告》编写格式及要点
8.2.6 《开发进度报告》编写格式及要点
8.2.7 《用户手册》编写格式及要点
8.2.8 《操作手册》编写格式及要点
8.2.9 《软件开发总结报告》编写格式及要点
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜