顶部
收藏

软件工程——原理、方法与应用(第2版)


作者:
史济民
定价:
23.50元
ISBN:
978-7-04-011561-1
版面字数:
470.000千字
开本:
16开
全书页数:
340页
装帧形式:
平装
重点项目:
暂无
出版时间:
2002-12-15
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
软件工程专业课程

  本书自第一版出版以来,由于内容全面(以软件开发技术为主体,兼顾软件工程管理和软件工程环境)、注重实用(理论与实践紧密结合)而受到读者欢迎。第一版连续发行12年,重印15次,累计印数近12万册,并于1995年获得上海市优秀教材二等奖。
  第二版继承前一版的风格,增加了面向对象、软件复用等大量新内容。全书共15章,在介绍了软件工程的基本概念和软件开发模型后,按照软件开发流程的顺序,依次介绍了需求分析、系统设计、编码、测试、维护的基本概念以及软件管理、质量保证和工程环境等知识。为了说明怎样把软件工程的原理与方法应用于软件开发,在有关各章均有典型案例,从头到尾陆续讲述了一个软件的完整开发过程。
  本书可作为高等学校计算机及相关专业本、专科学生软件工程课程的教材,对从事软件开发、软件维护的工程和管理人员也是一本很好的参考书。
  • 第一章 绪论
    • 1.1 软件与软件危机
      • 1.1.1 软件的定义
      • 1.1.2 软件的特征
      • 1.1.3 软件危机
    • 1.2 软件工程学的范畴
      • 1.2.1 软件开发方法学
      • 1.2.2 软件工具
      • 1.2.3 软件工程环境
      • 1.2.4 软件工程管理
    • 1.3 传统软件工程和面向对象软件工程
      • 1.3.1 程序设计方法的两次飞跃
      • 1.3.2 面向对象程序设计的优势
      • 1.3.3 两类软件工程范型的简单比较
    • 1.4 软件工程的应用
      • 1.4.1 在各种规模软件开发中的应用
      • 1.4.2 软件工程的成就与局限
    • 1.5 软件工程的教学:本书导读
    • 小结
    • 习题
  • 第二章 软件开发模型
    • 2.1 软件生存周期
    • 2.2 传统软件开发模型
      • 2.2.1 瀑布模型
      • 2.2.2 快速原型模型
    • 2.3 软件演化模型
      • 2.3.1 增量模型
      • 2.3.2 螺旋模型
    • 2.4 面向对象开发模型
      • 2.4.1 面向对象的基本概念
      • 2.4.2 构件集成模型
    • 2.5 形式化方法模型
      • 2.5.1 转换模型
      • 2.5.2 净室模型
    • 2.6 开发模型选用实例
      • 2.6.1 瀑布模型实例:教材购销系统(面向过程软件)
      • 2.6.2 螺旋模型实例:显像管生产监测系统(面向对象软件)
    • 小结
    • 习题
  • 第三章 软件需求分析
    • 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.4 软件需求说明
    • 3.5 结构化分析方法
      • 3.5.1 画分层数据流图
      • 3.5.2 确定数据定义与加工策略
      • 3.5.3 需求分析的复审
    • 3.6 面向对象分析方法
      • 3.6.1 定义用例
      • 3.6.2 领域分析
      • 3.6.3 类对象建模
      • 3.6.4 建立对象-关系模型
      • 3.6.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.4 其他设计问题的处理
      • 4.4.1 协同设计
      • 4.4.2 用户界面设计
      • 4.4.3 并发系统设计
    • 4.5 设计文档及其复审
      • 4.5.1 软件设计说明书
      • 4.5.2 设计复审
    • 小结
    • 习题
  • 第五章 传统的设计方法
    • 5.1 概述
      • 5.1.1 面向数据流设计和面向数据设计
      • 5.1.2 从分析模型导出设计模型
    • 5.2 结构化设计方法
      • 5.2.1 SC图
      • 5.2.2 数据流图的类型与SD方法的步骤
      • 5.2.3 变换映射
      • 5.2.4 事务映射
      • 5.2.5 结构设计的优化规则
      • 5.2.6 教材购销系统的结构设计示例
    • 5.3 过程设计
      • 5.3.1 目的与任务
      • 5.3.2 过程设计的原则与方法
      • 5.3.3 常用的表达工具
      • 5.3.4 过程设计示例
    • 5.4 Jackson方法
      • 5.4.1 Jackson表示法
      • 5.4.2 Jackson方法的设计步骤
      • 5.4.3 Jackson方法示例
    • 小结
    • 习题
  • 第六章 面向对象设计方法
    • 6.1 面向对象设计概述
      • 6.1.1 面向对象设计的任务
      • 6.1.2 面向对象的设计模型
    • 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.4 领域对象设计
      • 6.4.1 领域对象的设计内容
      • 6.4.2 领域对象的设计模板
    • 小结
    • 习题
  • 第七章 统一建模语言UML
    • 7.1 U ML的组成、特点与应用
      • 7.1.1 UML的组成
      • 7.1.2 UML的特点
      • 7.1.3 UML的应用
    • 7.2 静态建模
      • 7.2.1 用例模型
      • 7.2.2 类和对象模型
      • 7.2.3 包
    • 7.3 动态建模
      • 7.3.1 消息
      • 7.3.2 状态图和时序图
      • 7.3.3 协作图和活动图
      • 7.3.4 动态图的运用
    • 7.4 物理架构建模
      • 7.4.1 逻辑架构与物理架构
      • 7.4.2 构件图与配置图
    • 7.5 基于UML的统一建模过程——RUP
    • 小结
    • 习题
  • 第八章 编码和语言选择
    • 8.1 编码的目的
    • 8.2 编码的风格
    • 8.3 编码使用的语言
      • 8.3.1 编码语言的发展
      • 8.3.2 常用的编码语言
      • 8.3.3 编码语言的选择
    • 小结
    • 习题
  • 第九章 软件测试
    • 9.1 测试的基本概念
      • 9.1.1 目的与任务
      • 9.1.2 测试的特性
      • 9.1.3 测试的种类
      • 9.1.4 测试的文档
    • 9.2 黑盒测试
      • 9.2.1 等价分类法
      • 9.2.2 边界值分析法
      • 9.2.3 错误猜测法
    • 9.3 白盒测试
      • 9.3.1 逻辑覆盖测试法
      • 9.3.2 路径测试法
    • 9.4 测试用例设计
      • 9.4.1 黑盒测试用例设计
      • 9.4.2 白盒测试用例设计
    • 9.5 软件的纠错
      • 9.5.1 纠错的策略
      • 9.5.2 常用的纠错技术
      • 9.5.3 纠错举例
    • 9.6 多模块程序的测试策略
      • 9.6.1 测试的层次性
      • 9.6.2 程序错误的类型
      • 9.6.3 单元测试
      • 9.6.4 集成测试
      • 9.6.5 确认测试
      • 9.6.6 系统测试
      • 9.6.7 终止测试的标准
    • 9.7 面向对象系统的测试
      • 9.7.1 面向对象软件的测试策略
      • 9.7.2 面向对象软件测试用例设计
    • 小结
    • 习题
  • 第十章 软件复用
    • 10.1 软件复用的基本概念
      • 10.1.1 软件复用的定义
      • 10.1.2 软件复用的重要性
      • 10.1.3 软件复用的粒度
    • 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.4.1 面向对象方法对软件复用的支持
      • 10.4.2 复用技术对面向对象方法的支持
    • 小结
    • 习题
  • 第十一章 软件维护
    • 11.1 软件维护的种类
    • 11.2 软件可维护性
    • 11.3 软件维护的实施
    • 11.4 软件维护的管理
    • 11.5 软件再工程
    • 小结
    • 习题
  • 第十二章 软件项目计划
    • 12.1 问题定义
    • 12.2 可行性研究
    • 12.3 软件风险分析
    • 12.4 项目实施计划
    • 小结
    • 习题
  • 第十三章 软件工程管理
    • 13.1 管理的目的与内容
    • 13.2 软件估算模型
      • 13.2.1 资源估算模型
      • 13.2.2 COCOMO模型
    • 13.3 软件成本估计
    • 13.4 人员的分配与组织
    • 13.5 项目进度安排
    • 13.6 软件知识产权保护
      • 13.6.1 软件著作权
      • 13.6.2 软件侵权及法律保护
      • 13.6.3 软件工程师的职业道德规范
    • 小结
    • 习题
  • 第十四章 软件质量管理
    • 14.1 从质量保证到质量认证
    • 14.2 质量保证
      • 14.2.1 软件的质量属性
      • 14.2.2 质量保证的活动内容
    • 14.3 软件可靠性
      • 14.3.1 可靠性的定义和分级
      • 14.3.2 可靠性模型
      • 14.3.3 软件容错技术
    • 14.4 程序正确性证明
    • 14.5 CM M软件能力成熟度模型
      • 14.5.1 CM M的基本概念
      • 14.5.2 软件能力成熟度等级
      • 14.5.3 CM M的应用
      • 14.5.4 CM M评估的实施
      • 14.5.5 软件过程评估的SPICE国际标准
    • 14.6 ISO 9000国际标准
      • 14.6.1 ISO 9001和ISO 9000-3
      • 14.6.2 ISO 9000标准对软件企业的重要性
      • 14.6.3 怎样在软件企业中实施ISO9000标准
    • 14.7 软件度量
      • 14.7.1 项目度量
      • 14.7.2 过程度量
    • 小结
    • 习题
  • 第十五章 软件工程环境
    • 15.1 什么是软件工程环境
      • 15.1.1 软件开发环境的特点
      • 15.1.2 理想环境的模型
      • 15.1.3 CASE环境
    • 15.2 CASE环境的组成与结构
      • 15.2.1 CASE的组成构件
      • 15.2.2 CASE的一般结构
    • 15.3 CASE环境实例
      • 15.3.1 SUITE企业开发环境
      • 15.3.2 青鸟系统
    • 小结
    • 习题
  • 附录 缩略语中英文对照表
  • 参考文献

相关图书