顶部
收藏

软件工程基础

“十一五”国家规划教材

作者:
胡飞 武君胜 杜承烈 马春燕
定价:
28.80 元
版面字数:
460千字
开本:
16开
装帧形式:
平装
版次:
1
最新版次
印刷时间:
1899年
ISBN:
978-7-04-022077-3
物料号:
22077-00
出版时间:
2008-01-15
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
软件工程专业课程

本书比较全面地反映了软件工程技术的全貌,不仅介绍了传统的结构化程序软件工程方法,而且以面向对象的软件工程技术为主,重点讲解了软件分析、设计、测试的方法和技术,并以实际案例分析贯穿始终。本书还介绍了软件的形式化方法、软件能力成熟度模型(CMM)、软件文档与标准、团队组织等内容。强调实例分析和应用训练是本书的主要特色。

本书可作为高等学校计算机及相关专业软件工程课程的教材,也可供有关技术人员参考使用。

  • 目录
    • 第一章 软件工程技术概述
      • 1.1 软件的神话
        • 1.2 软件工程的产生背景
          • 1.3 软件的特点与软件工程的定义
            • 1.3.1 软件的特点
              • 1.3.2 软件工程的定义
              • 1.4 软件的生命周期与软件工程的内容
                • 1.5 计算机辅助软件工程
                  • 1.5.1 基本概念
                    • 1.5.2 常用工具
                      • 1.5.3 集成环境
                      • 1.6 本章小结
                        • 作业与练习
                        • 第二章 软件生命周期模型
                          • 2.1 软件过程与软件模型
                            • 2.1.1 问题的确认和范围
                              • 2.1.2 需求分析与描述
                                • 2.1.3 系统设计
                                  • 2.1.4 实现
                                    • 2.1.5 测试与交付
                                      • 2.1.6 软件维护
                                        • 2.1.7 软件淘汰
                                        • 2.2 软件开发的困难与问题
                                          • 2.3 软件过程模型
                                            • 2.3.1 构造修复模型
                                              • 2.3.2 瀑布模型
                                                • 2.3.3 快速原型模型
                                                  • 2.3.4 增量模型
                                                    • 2.3.5 同步稳定模型
                                                      • 2.3.6 螺旋模型
                                                        • 2.3.7 面向对象模型
                                                        • 2.4 各种模型的比较
                                                          • 2.5 本章小结
                                                            • 作业与练习
                                                              • 实习题一
                                                              • 第三章 传统软件工程技术简介
                                                                • 3.1 结构化程序的发展
                                                                  • 3.2 结构化程序的开发流程与特点
                                                                    • 3.2.1 结构化程序设计的分析与建模
                                                                      • 3.2.2 结构化程序设计的原则与方法
                                                                        • 3.2.3 测试
                                                                          • 3.2.4 软件维护
                                                                          • 3.3 结构化程序设计与面向对象程序设计的比较
                                                                            • 3.3.1 结构化程序设计
                                                                              • 3.3.2 面向对象程序设计
                                                                              • 3.4 结构化程序的应用
                                                                                • 3.5 本章小结
                                                                                  • 作业与练习
                                                                                  • 第四章 面向对象技术
                                                                                    • 4.1 对象的概念
                                                                                      • 4.2 面向对象的概念
                                                                                        • 4.2.1 类与对象
                                                                                          • 4.2.2 属性
                                                                                            • 4.2.3 方法、操作、服务与行为
                                                                                              • 4.2.4 消息机制
                                                                                              • 4.3 面向对象程序的特点
                                                                                                • 4.3.1 封装性
                                                                                                  • 4.3.2 继承性
                                                                                                    • 4.3.3 多态性
                                                                                                      • 4.3.4 重用性
                                                                                                      • 4.4 面向对象开发的方法
                                                                                                        • 4.4.1 Booch方法
                                                                                                          • 4.4.2 Coad方法
                                                                                                            • 4.4.3 OMT方法
                                                                                                              • 4.4.4 VMT方法
                                                                                                                • 4.4.5 四种方法的比较
                                                                                                                • 4.5 本章小结
                                                                                                                  • 作业与练习
                                                                                                                    • 实习题二
                                                                                                                    • 第五章 UML语言
                                                                                                                      • 5.1 UML语言
                                                                                                                        • 5.1.1 UML语言
                                                                                                                          • 5.1.2 UML的应用领域
                                                                                                                          • 5.2 UML与面向对象软件的分析与设计
                                                                                                                            • 5.2.1 建立模型的必要性
                                                                                                                              • 5.2.2 UML在面向对象软件开发不同阶段的应用
                                                                                                                              • 5.3 面向对象软件开发中的UML基础
                                                                                                                                • 5.3.1 用例图和用例描述
                                                                                                                                  • 5.3.2 类图和对象图
                                                                                                                                    • 5.3.3 包图
                                                                                                                                      • 5.3.4 状态图
                                                                                                                                        • 5.3.5 序列图
                                                                                                                                          • 5.3.6 协作图
                                                                                                                                            • 5.3.7 活动图
                                                                                                                                            • 5.4 UML建模工具介绍
                                                                                                                                              • 5.5 本章小结
                                                                                                                                                • 作业与练习
                                                                                                                                                • 第六章 需求分析与描述
                                                                                                                                                  • 6.1 软件需求
                                                                                                                                                    • 6.1.1 业务需求
                                                                                                                                                      • 6.1.2 用户需求
                                                                                                                                                        • 6.1.3 功能需求和非功能需求
                                                                                                                                                          • 6.1.4 系统需求
                                                                                                                                                          • 6.2 需求工程过程
                                                                                                                                                            • 6.2.1 需求获取
                                                                                                                                                              • 6.2.2 需求分析
                                                                                                                                                                • 6.2.3 需求规格说明
                                                                                                                                                                  • 6.2.4 需求验证
                                                                                                                                                                    • 6.2.5 需求管理
                                                                                                                                                                    • 6.3 需求获取技术
                                                                                                                                                                      • 6.3.1 面谈
                                                                                                                                                                        • 6.3.2 需求专题讨论会
                                                                                                                                                                          • 6.3.3 观察用户工作流程
                                                                                                                                                                            • 6.3.4 原型化方法
                                                                                                                                                                              • 6.3.5 基于用例的方法
                                                                                                                                                                              • 6.4 案例分析
                                                                                                                                                                                • 6.4.1 确定系统参与者
                                                                                                                                                                                  • 6.4.2 确定场景
                                                                                                                                                                                    • 6.4.3 确定用例
                                                                                                                                                                                      • 6.4.4 编写用例描述
                                                                                                                                                                                      • 6.5 本章小结
                                                                                                                                                                                        • 作业与练习
                                                                                                                                                                                          • 实习题三
                                                                                                                                                                                          • 第七章 面向对象分析
                                                                                                                                                                                            • 7.1 基本原理与概念
                                                                                                                                                                                              • 7.2 基本方法与过程
                                                                                                                                                                                                • 7.2.1 OOA原则
                                                                                                                                                                                                  • 7.2.2 OOA建模的基本过程
                                                                                                                                                                                                  • 7.3 OOA实践1:ATM系统
                                                                                                                                                                                                    • 7.4 OOA实践2:电梯控制系统
                                                                                                                                                                                                      • 7.5 本章小结
                                                                                                                                                                                                        • 作业与练习
                                                                                                                                                                                                          • 实习题四
                                                                                                                                                                                                          • 第八章 面向对象设计
                                                                                                                                                                                                            • 8.1 OOD的基本概念与原理
                                                                                                                                                                                                              • 8.2 OOD的方法和基本过程
                                                                                                                                                                                                                • 8.2.1 OOD的设计原则
                                                                                                                                                                                                                  • 8.2.2 系统设计过程
                                                                                                                                                                                                                    • 8.2.3 对象设计过程
                                                                                                                                                                                                                      • 8.2.4 设计测试
                                                                                                                                                                                                                        • 8.2.5 正式设计审查
                                                                                                                                                                                                                        • 8.3 OOD实践1:ATM系统
                                                                                                                                                                                                                          • 8.3.1 系统设计
                                                                                                                                                                                                                            • 8.3.2 对象设计
                                                                                                                                                                                                                            • 8.4 OOD实践2:电梯控制系统
                                                                                                                                                                                                                              • 8.4.1 系统设计
                                                                                                                                                                                                                                • 8.4.2 对象设计
                                                                                                                                                                                                                                • 8.5 本章小结
                                                                                                                                                                                                                                  • 作业与练习
                                                                                                                                                                                                                                    • 实习题五
                                                                                                                                                                                                                                      • 实习题六
                                                                                                                                                                                                                                      • 第九章 实现与测试
                                                                                                                                                                                                                                        • 9.1 重用性
                                                                                                                                                                                                                                          • 9.1.1 重用的概念
                                                                                                                                                                                                                                            • 9.1.2 对象与重用
                                                                                                                                                                                                                                              • 9.1.3 软件开发各个阶段中的重用
                                                                                                                                                                                                                                              • 9.2 选择编程语言
                                                                                                                                                                                                                                                • 9.2.1 编程语言的类型
                                                                                                                                                                                                                                                  • 9.2.2 快速原型语言
                                                                                                                                                                                                                                                    • 9.2.3 最终实现语言
                                                                                                                                                                                                                                                    • 9.3 好的编程风格与原则
                                                                                                                                                                                                                                                      • 9.4 单元测试
                                                                                                                                                                                                                                                        • 9.4.1 黑盒测试
                                                                                                                                                                                                                                                          • 9.4.2 白盒测试
                                                                                                                                                                                                                                                            • 9.4.3 其他测试
                                                                                                                                                                                                                                                              • 9.4.4 测试方法的评价与选择
                                                                                                                                                                                                                                                              • 9.5 集成测试
                                                                                                                                                                                                                                                                • 9.5.1 自顶向下测试
                                                                                                                                                                                                                                                                  • 9.5.2 自底向上测试
                                                                                                                                                                                                                                                                    • 9.5.3 三明治测试
                                                                                                                                                                                                                                                                    • 9.6 产品测试与验收测试
                                                                                                                                                                                                                                                                      • 9.6.1 产品测试
                                                                                                                                                                                                                                                                        • 9.6.2 验收测试
                                                                                                                                                                                                                                                                        • 9.7 面向对象的软件测试
                                                                                                                                                                                                                                                                          • 9.7.1 面向对象软件测试的单元
                                                                                                                                                                                                                                                                            • 9.7.2 类测试
                                                                                                                                                                                                                                                                            • 9.8 软件测试文档
                                                                                                                                                                                                                                                                              • 9.8.1 软件测试计划
                                                                                                                                                                                                                                                                                • 9.8.2 软件测试记录
                                                                                                                                                                                                                                                                                  • 9.8.3 软件测试评估分析报告
                                                                                                                                                                                                                                                                                  • 9.9 软件实现与测试的CASE工具
                                                                                                                                                                                                                                                                                    • 9.9.1 关于JUnit
                                                                                                                                                                                                                                                                                      • 9.9.2 关于EMMA
                                                                                                                                                                                                                                                                                      • 9.10 本章小结
                                                                                                                                                                                                                                                                                        • 作业与练习
                                                                                                                                                                                                                                                                                          • 实习题七
                                                                                                                                                                                                                                                                                          • 第十章 软件维护
                                                                                                                                                                                                                                                                                            • 10.1 软件维护的重要性
                                                                                                                                                                                                                                                                                              • 10.1.1 软件维护的种类
                                                                                                                                                                                                                                                                                                • 10.1.2 对软件维护工程师的要求
                                                                                                                                                                                                                                                                                                • 10.2 软件维护的管理
                                                                                                                                                                                                                                                                                                  • 10.2.1 错误与缺陷的报告
                                                                                                                                                                                                                                                                                                    • 10.2.2 错误与缺陷的划分
                                                                                                                                                                                                                                                                                                      • 10.2.3 维护内容的明确
                                                                                                                                                                                                                                                                                                        • 10.2.4 维护与终止的选择
                                                                                                                                                                                                                                                                                                        • 10.3 面向对象软件的维护
                                                                                                                                                                                                                                                                                                          • 10.3.1 维护面向对象软件的优势
                                                                                                                                                                                                                                                                                                            • 10.3.2 维护面向对象软件的困难
                                                                                                                                                                                                                                                                                                            • 10.4 逆向工程
                                                                                                                                                                                                                                                                                                              • 10.5 软件维护的CASE工具
                                                                                                                                                                                                                                                                                                                • 10.6 软件维护的发展
                                                                                                                                                                                                                                                                                                                  • 10.7 本章小结
                                                                                                                                                                                                                                                                                                                    • 作业与练习
                                                                                                                                                                                                                                                                                                                      • 实习题八
                                                                                                                                                                                                                                                                                                                      • 第十一章 软件的标准与软件文档
                                                                                                                                                                                                                                                                                                                        • 11.1 软件工程标准化
                                                                                                                                                                                                                                                                                                                          • 11.1.1 软件工程标准化的概念
                                                                                                                                                                                                                                                                                                                            • 11.1.2 软件工程标准化的意义
                                                                                                                                                                                                                                                                                                                              • 11.1.3 软件工程标准的分类
                                                                                                                                                                                                                                                                                                                                • 11.1.4 软件工程标准的制定与推行
                                                                                                                                                                                                                                                                                                                                  • 11.1.5 软件工程标准的层次
                                                                                                                                                                                                                                                                                                                                    • 11.1.6 国外的标准化组织
                                                                                                                                                                                                                                                                                                                                      • 11.1.7 我国的软件工程标准化工作
                                                                                                                                                                                                                                                                                                                                      • 11.2 软件文档
                                                                                                                                                                                                                                                                                                                                        • 11.2.1 软件文档的含义
                                                                                                                                                                                                                                                                                                                                          • 11.2.2 软件文档的作用
                                                                                                                                                                                                                                                                                                                                            • 11.2.3 软件文档的分类
                                                                                                                                                                                                                                                                                                                                              • 11.2.4 常用软件文档
                                                                                                                                                                                                                                                                                                                                                • 11.2.5 软件文档的编写
                                                                                                                                                                                                                                                                                                                                                  • 11.2.6 编写的文档数量与其主要内容
                                                                                                                                                                                                                                                                                                                                                    • 11.2.7 各级软件应该编写的文档
                                                                                                                                                                                                                                                                                                                                                      • 11.2.8 几种常用标准中文档的名称
                                                                                                                                                                                                                                                                                                                                                        • 11.2.9 文档的管理与维护
                                                                                                                                                                                                                                                                                                                                                        • 11.3 软件质量认证
                                                                                                                                                                                                                                                                                                                                                          • 11.3.1 ISO9000标准概述
                                                                                                                                                                                                                                                                                                                                                            • 11.3.2 ISO9000标准的特点
                                                                                                                                                                                                                                                                                                                                                              • 11.3.3 ISO9000质量认证的一般程序
                                                                                                                                                                                                                                                                                                                                                                • 11.3.4 ISO9000标准的构成
                                                                                                                                                                                                                                                                                                                                                                  • 11.3.5 2000版ISO9000标准的质量管理原则
                                                                                                                                                                                                                                                                                                                                                                    • 11.3.6 2000版ISO9000系列标准与1994版的主要变化
                                                                                                                                                                                                                                                                                                                                                                    • 11.4 注释文档工具javadoc
                                                                                                                                                                                                                                                                                                                                                                      • 11.4.1 javadoc简介
                                                                                                                                                                                                                                                                                                                                                                        • 11.4.2 javadoc的命令行语法
                                                                                                                                                                                                                                                                                                                                                                          • 11.4.3 javadoc文档注释方法
                                                                                                                                                                                                                                                                                                                                                                          • 11.5 本章小结
                                                                                                                                                                                                                                                                                                                                                                            • 作业与练习
                                                                                                                                                                                                                                                                                                                                                                              • 实习题九
                                                                                                                                                                                                                                                                                                                                                                              • 第十二章 软件开发团队
                                                                                                                                                                                                                                                                                                                                                                                • 12.1 团队的作用与组织
                                                                                                                                                                                                                                                                                                                                                                                  • 12.2 民主团队
                                                                                                                                                                                                                                                                                                                                                                                    • 12.3 首领程序员团队
                                                                                                                                                                                                                                                                                                                                                                                      • 12.4 其他形式的团队
                                                                                                                                                                                                                                                                                                                                                                                        • 12.5 角色与责任的划分
                                                                                                                                                                                                                                                                                                                                                                                          • 12.6 本章小结
                                                                                                                                                                                                                                                                                                                                                                                            • 作业与练习
                                                                                                                                                                                                                                                                                                                                                                                            • 第十三章 软件工程技术发展
                                                                                                                                                                                                                                                                                                                                                                                              • 13.1 软件开发中的形式化方法
                                                                                                                                                                                                                                                                                                                                                                                                • 13.1.1 基本概念
                                                                                                                                                                                                                                                                                                                                                                                                  • 13.1.2 有穷状态机
                                                                                                                                                                                                                                                                                                                                                                                                    • 13.1.3 Petri网
                                                                                                                                                                                                                                                                                                                                                                                                      • 13.1.4 Z语言
                                                                                                                                                                                                                                                                                                                                                                                                        • 13.1.5 小结
                                                                                                                                                                                                                                                                                                                                                                                                        • 13.2 基于组件的软件工程
                                                                                                                                                                                                                                                                                                                                                                                                          • 13.2.1 基于组件的软件开发过程
                                                                                                                                                                                                                                                                                                                                                                                                            • 13.2.2 组件的开发流程
                                                                                                                                                                                                                                                                                                                                                                                                              • 13.2.3 基于组件的软件工程及其研究
                                                                                                                                                                                                                                                                                                                                                                                                              • 13.3 软件能力成熟度模型
                                                                                                                                                                                                                                                                                                                                                                                                                • 13.3.1 CMM概述
                                                                                                                                                                                                                                                                                                                                                                                                                  • 13.3.2 CMM的基本概念
                                                                                                                                                                                                                                                                                                                                                                                                                    • 13.3.3 CMM的五个级别
                                                                                                                                                                                                                                                                                                                                                                                                                      • 13.3.4 成熟度提问单
                                                                                                                                                                                                                                                                                                                                                                                                                        • 13.3.5 利用CMM对软件机构进行成熟度评估
                                                                                                                                                                                                                                                                                                                                                                                                                          • 13.3.6 关键过程域
                                                                                                                                                                                                                                                                                                                                                                                                                            • 13.3.7 关键实践
                                                                                                                                                                                                                                                                                                                                                                                                                              • 13.3.8 基于模型改进的优点与风险
                                                                                                                                                                                                                                                                                                                                                                                                                                • 13.3.9 CMMI
                                                                                                                                                                                                                                                                                                                                                                                                                                • 13.4 软件测试技术
                                                                                                                                                                                                                                                                                                                                                                                                                                  • 13.4.1 GUI测试
                                                                                                                                                                                                                                                                                                                                                                                                                                    • 13.4.2 Web测试
                                                                                                                                                                                                                                                                                                                                                                                                                                      • 13.4.3 回归测试
                                                                                                                                                                                                                                                                                                                                                                                                                                        • 13.4.4 软件测试技术展望
                                                                                                                                                                                                                                                                                                                                                                                                                                        • 13.5 面向代理的软件工程技术
                                                                                                                                                                                                                                                                                                                                                                                                                                          • 13.5.1 面向代理的软件技术
                                                                                                                                                                                                                                                                                                                                                                                                                                            • 13.5.2 面向代理的软件工程技术
                                                                                                                                                                                                                                                                                                                                                                                                                                            • 13.6 结束语
                                                                                                                                                                                                                                                                                                                                                                                                                                              • 作业与练习
                                                                                                                                                                                                                                                                                                                                                                                                                                              • 参考文献

                                                                                                                                                                                                                                                                                                                                                                                                                                              相关图书