顶部
收藏

软件工程基础

“十一五”国家规划教材

作者:
胡飞 武君胜 杜承烈 马春燕
定价:
28.80元
ISBN:
978-7-04-022077-3
版面字数:
460千字
开本:
16开
全书页数:
312页
装帧形式:
平装
重点项目:
“十一五”国家规划教材
出版时间:
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 结束语
    • 作业与练习
  • 参考文献

相关图书