图书信息
图书目录
数字化资源
Abook数字课程

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




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

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

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



作者:
许家珆 白忠建 吴磊

定价:
45.00 元

出版时间:
2017-07-20

ISBN:
978-7-04-047928-7

物料号:
47928-00

读者对象:
高等教育

一级分类:
计算机/教育技术类

二级分类:
软件工程专业课程

重点项目:
“十一五”国家规划教材

版面字数:
540千字

开本:
16开

装帧形式:
平装

页数:
暂无

最新
印次时间:
2025年01月
  • 目录
    • 前辅文
      • 第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:仓库信息管理系统
                                                                                                                                                                                                                                                                                                                                                                                                                  • 参考文献
                                                                                                                                                                                                                                                                                                                                                                                                                  如无法打开或下载资源,请在电脑端(xuanshu.hep.com.cn)进行下载操作。
                                                                                                                                                                                                                                                                                                                                                                                                                  课程网址: null
                                                                                                                                                                                                                                                                                                                                                                                                                  1