顶部
收藏

软件工程——理论与实践(第3版)

“十一五”国家规划教材

作者:
许家珆 白忠建 吴磊
定价:
45.00元
ISBN:
978-7-04-047928-7
版面字数:
540.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
“十一五”国家规划教材
出版时间:
2017-07-20
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
软件工程专业课程

本书在第2版的基础上进行了较大的修改,根据IEEE新发布的SWEBOK V30版,删除了较陈旧的内容,新增了一些国内外软件工程发展的新技术,如云计算模型、自动测试等。在系统介绍软件工程基础知识的基础上,重点介绍了软件需求和软件设计两个重要开发阶段,并将面向对象方法及UML统一建模技术贯穿于各章,强调CMM软件成熟度模型、ERP企业资源规划、风险管理及团队建设等先进的软件管理技术对保证软件成功开发的重要性。

理论紧密联系实践是本书的一大特色。本书不仅提供了丰富的软件开发实例和素材,还对如何通过“软件工程”精品课程网站进行综合性、设计型的软件工程课程设计做了详细介绍。

本书可作为高校计算机、软件工程及信息类专业高年级本科生及研究生的“软件工程”课程教材,也可作为广大工程技术人员和科研人员的参考书。

  • 前辅文
  • 第1章 软件工程概述
    • 1.1 软件工程的产生和发展
      • 1.1.1 软件危机与软件工程
      • 1.1.2 软件工程的定义及基本原则
      • 1.1.3 软件工程研究的内容
    • 1.2 软件与软件过程
      • 1.2.1 软件的概念和特点
      • 1.2.2 软件工程过程
      • 1.2.3 软件过程的活动及产品
    • 1.3 软件过程模型
      • 1.3.1 瀑布模型
      • 1.3.2 增量模型
      • 1.3.3 原型模型
      • 1.3.4 螺旋模型
      • 1.3.5 喷泉模型
      • 1.3.6 智能模型
    • 1.4 软件开发方法
      • 1.4.1 结构化开发方法
      • 1.4.2 原型化开发方法
      • 1.4.3 面向对象开发方法
      • 1.4.4 敏捷软件开发方法
    • 1.5 软件工具与集成化环境
      • 1.5.1 软件工具
      • 1.5.2 集成化CASE环境
      • 1.5.3 集成化CASE开发环境的体系结构
    • 小结
    • 习题1
  • 第2章 软件需求工程
    • 2.1 软件需求的基本概念
      • 2.1.1 软件需求的任务
      • 2.1.2 功能需求与非功能需求
    • 2.2 需求工程过程
      • 2.2.1 获取需求
      • 2.2.2 需求分析与建模
      • 2.2.3 需求的有效性验证
      • 2.2.4 需求管理
    • 2.3 软件需求获取技术
    • 2.4 需求分析方法与建模技术
      • 2.4.1 常用的需求分析方法
      • 2.4.2 结构化分析方法
      • 2.4.3 面向对象的分析方法
      • 2.4.4 用UML建立需求模型
      • 2.4.5 需求规格说明书
    • 2.5 软件需求案例分析
      • 2.5.1 案例1:医院病房监护系统
      • 2.5.2 案例2:网上拍卖系统
    • 小结
    • 习题2
  • 第3章 软件设计
    • 3.1 软件设计概述
      • 3.1.1 软件设计的任务和目标
      • 3.1.2 软件设计过程
    • 3.2 软件体系结构设计
      • 3.2.1 体系结构设计过程
      • 3.2.2 仓库模型
      • 3.2.3 层次模型
      • 3.2.4 分布式系统模型
      • 3.2.5 云计算模型
      • 3.2.6 控制模型
      • 3.2.7 模块分解
    • 3.3 面向对象设计
      • 3.3.1 面向对象设计的准则和基本任务
      • 3.3.2 设计过程
      • 3.3.3 对象设计
    • 3.4 详细设计描述工具
    • 3.5 用户界面设计
      • 3.5.1 用户界面设计的特性与设计任务
      • 3.5.2 用户界面设计的基本原则
      • 3.5.3 用户界面的基本元素
      • 3.5.4 用户交互
      • 3.5.5 功能和时尚的平衡
    • 3.6 MVC设计模式
      • 3.6.1 MVC的概念
      • 3.6.2 MVC的工作流程
      • 3.6.3 MVC与三层架构的区别
    • 3.7 软件设计实例
      • 3.7.1 用例模型
      • 3.7.2 体系结构设计
      • 3.7.3 对象设计
      • 3.7.4 用户界面设计
    • 小结
    • 习题3
  • 第4章 面向对象方法与统一建模语言UML
    • 4.1 面向对象方法概述
      • 4.1.1 面向对象方法的特点
      • 4.1.2 几种典型的面向对象方法
    • 4.2 UML概述
      • 4.2.1 UML的基本概念
      • 4.2.2 UML的图形表示
    • 4.3 建立用例模型
      • 4.3.1 用例建模
      • 4.3.2 确定执行者
      • 4.3.3 确定用例
      • 4.3.4 建立用例之间的关系
      • 4.3.5 用例建模实例
    • 4.4 建立静态模型
      • 4.4.1 类图
      • 4.4.2 包图
    • 4.5 建立动态模型
      • 4.5.1 消息
      • 4.5.2 状态图
      • 4.5.3 顺序图
      • 4.5.4 合作图
      • 4.5.5 活动图
    • 4.6 建立实现模型
      • 4.6.1 组件图
      • 4.6.2 部署图
    • 4.7 统一过程RUP及其应用
      • 4.7.1 UML与统一过程RUP
      • 4.7.2 RUP的二维开发模型
      • 4.7.3 RUP的迭代开发模式
    • 小结
    • 习题4
  • 第5章 软件构造
    • 5.1 程序设计语言的选择
      • 5.1.1 程序设计语言的分类
      • 5.1.2 高级程序设计语言的基本组成
      • 5.1.3 程序设计语言选择准则
    • 5.2 程序设计方法
      • 5.2.1 结构化程序设计
      • 5.2.2 面向对象程序设计
    • 5.3 程序设计风格
    • 5.4 算法与程序效率
    • 5.5 软件代码审查
    • 5.6 软件复用
      • 5.6.1 软件复用的级别
      • 5.6.2 软件复用过程
      • 5.6.3 可复用构件
      • 5.6.4 基于复用的开发过程和模型
      • 5.6.5 构件的组装和复用
    • 5.7 软件构造实例
      • 5.7.1 实现环境
      • 5.7.2 系统编码实现
      • 5.7.3 用户界面
    • 小结
    • 习题5
  • 第6章 软件测试
    • 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.4 软件测试的策略
      • 6.4.1 单元测试
      • 6.4.2 集成测试
      • 6.4.3 确认测试
      • 6.4.4 系统测试
      • 6.4.5 α测试和β测试
      • 6.4.6 综合测试策略
    • 6.5 软件调试
      • 6.5.1 软件调试过程
      • 6.5.2 软件调试策略
    • 6.6 面向对象的测试
      • 6.6.1 面向对象测试的特点
      • 6.6.2 面向对象的测试模型
      • 6.6.3 面向对象测试策略
      • 6.6.4 面向对象分析的测试
      • 6.6.5 面向对象的测试用例
    • 6.7 自动化测试
      • 6.7.1 自动化测试概述
      • 6.7.2 实施自动化测试的前提条件
      • 6.7.3 自动化测试过程
      • 6.7.4 自动化测试的原则
    • 小结
    • 习题6
  • 第7章 软件维护
    • 7.1 软件维护的基本概念
      • 7.1.1 软件维护的目的
      • 7.1.2 软件维护的类型
      • 7.1.3 软件维护的特性
      • 7.1.4 软件维护的代价
    • 7.2 软件维护的过程
      • 7.2.1 维护工作的流程
      • 7.2.2 软件维护的组织和维护过程管理
    • 7.3 软件维护技术
    • 7.4 软件可维护性
      • 7.4.1 软件可维护性的定义
      • 7.4.2 提高可维护性的方法
    • 7.5 软件再工程技术
    • 小结
    • 习题7
  • 第8章 软件项目管理
    • 8.1 软件项目管理概述
      • 8.1.1 软件项目管理的特点
      • 8.1.2 软件项目管理的主要活动
    • 8.2 软件项目计划
      • 8.2.1 软件项目计划内容
      • 8.2.2 软件开发进度计划
    • 8.3 软件项目成本估算技术
      • 8.3.1 影响成本估算的因素
      • 8.3.2 成本估算模型
      • 8.3.3 成本/效益分析
    • 8.4 软件项目人力资源管理
      • 8.4.1 软件团队建设
      • 8.4.2 团队人员的选留
    • 8.5 项目风险管理
      • 8.5.1 软件项目风险管理概述
      • 8.5.2 软件项目风险管理过程
      • 8.5.3 风险管理的理论和模型
    • 8.6 软件质量保证
    • 8.7 软件配置管理
      • 8.7.1 软件配置管理的基本概念
      • 8.7.2 软件配置管理的活动
    • 8.8 企业资源规划
      • 8.8.1 资源管理发展过程
      • 8.8.2 ERP系统的管理思想
      • 8.8.3 应用ERP与企业的关系
      • 8.8.4 ERP应用成功的标志
      • 8.8.5 SAP ERP简介
    • 小结
    • 习题8
  • 第9章 软件能力成熟度模型CMM
    • 9.1 CMM概述
      • 9.1.1 软件过程成熟度的基本概念
      • 9.1.2 软件过程的成熟度等级
    • 9.2 CMM的结构
    • 9.3 CMM的实施与评估
      • 9.3.1 软件过程评估及参考模型
      • 9.3.2 软件过程改进
      • 9.3.3 CMM评估的执行步骤
      • 9.3.4 CMM与ISO 9000标准
    • 9.4 软件能力成熟度模型集成CMMI
      • 9.4.1 CMMI的产生与发展
      • 9.4.2 CMMI模型
      • 9.4.3 CMMI评估
      • 9.4.4 CMMI与CMM的比较
    • 小结
    • 习题9
  • 第10章 软件工程课程设计
    • 10.1 课程设计目的和要求
    • 10.2 课程设计步骤安排
    • 10.3 可视化建模工具Rational Rose
      • 10.3.1 Rose工具简介
      • 10.3.2 绘制业务用例图
      • 10.3.3 绘制用例图
      • 10.3.4 绘制类图
      • 10.3.5 绘制协作图与时序图
      • 10.3.6 绘制活动图
      • 10.3.7 绘制状态图
      • 10.3.8 绘制组件图和部署图
    • 10.4 案例分析
      • 10.4.1 案例1:ATM系统
      • 10.4.2 案例2:网上拍卖系统
      • 10.4.3 案例3:会议管理系统
      • 10.4.4 案例4:仓库信息管理系统
  • 参考文献

本数字课程与普通高等教育“十一五”国家级规划教材《软件工程——理论与实践(第3版)》纸质教材一体化设计,紧密配合,为读者提供电子教案与案例、重要内容的讲解视频、习题参考解答等辅助教学内容。充分运用多种形式的媒体资源,丰富了知识的呈现形式,拓展了教材内容。在有效帮助读者提升课程学习效果的同时,也为读者自主学习学习提供思维与探索的空间。

相关图书