×
暂无评论
图文详情
  • ISBN:9787111770138
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:232
  • 出版时间:2025-01-01
  • 条形码:9787111770138 ; 978-7-111-77013-8

本书特色

·增加了对持续集成/持续部署、开发运维一体化、GitHub等流行的方法和工具的介绍。 ·增加了关于面向服务的架构、企业服务总线和微服务的讨论,以及与虚拟化和容器化相关的新概念和新工具。 ·增加了对安全问题的讨论,包括DevSecOps等方法所带来的安全性问题。

内容简介

本书是一本概要介绍软件工程核心内容的导论性教材,完整覆盖了从初始阶段到发布、支持阶段的软件系统生命周期,讨论了贯穿软件生命周期的过程、质量保障及项目管理等问题。新版涵盖了技术和工具方面的一些新改进,同时减少了对过时技术的讨论。本书的三位作者除教学经验丰富外,还拥有多年在IBM、微软和亚马逊等公司从事软件研发和管理的工作经历。书中融合了这些经验,包含对系统分析和设计、软件工程原理、开发和支持过程、方法论、软件测试和质量以及产品管理的全面概述,内容精练,案例丰富。

前言

前 言

本书凝结了我们教授软件工程导论性课程的经验。尽管市面上已有不少同类图书,但很少有一本仅介绍核心内容的教材,适用于为期一学期、授课16周、大约每周3学时的课程。随着小规模网络应用的激增,许多信息技术新人尚未完全理解软件工程知识就进入了软件工程领域。本书适用于经验有限的新生和打算在软件工程领域开始新职业的经验丰富的信息技术专业人员。本书覆盖软件系统完整的生命周期—从初始阶段到发布阶段再到支持阶段。
本书的内容以三位作者的经验和职业背景为前提。**位作者在IBM、Blue Cross Blue Shield、MARCAM和RCA等公司从事过构建、支持和管理大型复杂的关键业务软件的工作,有着超过25年的工作经验。第二位作者有着在微软和亚马逊等公司使用敏捷方法构建小规模软件的丰富经验。第三位作者精通双语,对英语学生和西班牙语学生都有着丰富的软件工程教学经验。
虽然新思想和新技术会不断涌现,书中介绍的一些原理可能也需要更新,但我们认为在本书中介绍的底层的、基础的概念会保持不变。

目录

译者序
前言
第1章 创建一个程序1
1.1 一个简单的问题1
1.1.1 决策,决策1
1.1.2 功能需求2
1.1.3 非功能需求3
1.1.4 设计约束3
1.1.5 设计决策4
1.2 测试4
1.3 估计工作量5
1.4 实现6
1.4.1 关于实现的几个要点6
1.4.2 基本设计7
1.4.3 使用JUnit进行单元测试8
1.4.4 StringSorter的实现8
1.4.5 用户界面12
1.5 总结14
1.6 复习题14
1.7 练习题15
1.8 参考文献和建议阅读15
第2章 构建一个系统16
2.1 构建一个系统的特征16
2.1.1 规模和复杂度16
2.1.2 开发和支持的技术性考虑17
2.1.3 开发和支持的非技术性考虑20
2.2 系统构建实例21
2.2.1 薪资管理系统的需求21
2.2.2 设计薪资管理系统22
2.2.3 薪资管理系统的编码和
   单元测试24
2.2.4 薪资管理系统的集成和功能
    测试24
2.2.5 发布薪资管理系统25
2.2.6 支持和维护25
2.3 协调工作26
2.3.1 过程26
2.3.2 产品27
2.3.3 人员27
2.4 总结27
2.5 复习题27
2.6 练习题27
2.7 参考文献和建议阅读28
第3章 工程化软件29
3.1 软件失败的示例和特点29
3.1.1 项目失败29
3.1.2 软件产品失效30
3.1.3 协调和其他关注点31
3.2 软件工程31
3.2.1 什么是软件工程31
3.2.2 软件工程的定义32
3.2.3 软件工程与软件的相关性32
3.3 软件工程专业与道德规范33
3.3.1 软件工程道德准则33
3.3.2 专业行为34
3.4 软件工程原则35
3.4.1 早期由Davis提出的软件
   工程原则35
3.4.2 更现代的Royce原则36
3.4.3 Wasserman提出的软件工程
    基础概念37
3.5 总结38
3.6 复习题38
3.7 练习题38
3.8 参考文献和建议阅读39
第4章 传统软件过程模型40
4.1 软件过程40
4.1.1 软件过程模型的目标40
4.1.2 “*简单”的过程模型41
4.2 传统过程模型41
4.2.1 瀑布模型42
4.2.2 主程序员制团队方法43
4.2.3 增量模型43
4.2.4 螺旋模型44
4.3 一个更加现代的过程45
4.3.1 Rational统一过程框架的一般
   基础46
4.3.2 RUP的阶段46
4.4 进入和退出标准48
4.4.1 进入标准48
4.4.2 退出标准49
4.5 过程评估模型50
4.5.1 SEI的能力成熟度模型50
4.5.2 SEI的能力成熟度集成模型52
4.6 过程定义和通信52
4.7 总结53
4.8 复习题53
4.9 练习题54
4.10 参考文献和建议阅读54
第5章 敏捷软件过程模型56
5.1 什么是敏捷过程56
5.2 为什么使用敏捷过程57
5.3 一些过程方法57
5.3.1 极限编程58
5.3.2 水晶系列方法61
5.3.3 敏捷统一过程63
5.3.4 Scrum64
5.3.5 看板方法:一种新增的敏捷
   方法65
5.3.6 开源软件开发66
5.3.7 过程总结67
5.4 过程的选择68
5.4.1 每一种过程更适用的项目
   和环境68
5.4.2 敏捷过程的主要风险和问题69
5.4.3 敏捷过程的主要优点69
5.5 总结70
5.6 复习题70
5.7 练习题71
5.8 参考文献和建议阅读71
第6章 需求工程72
6.1 需求处理72
6.1.1 需求处理的准备72
6.1.2 需求工程过程73
6.2 需求获取与收集74
6.2.1 获取高层次的需求75
6.2.2 获取详细的需求76
6.3 需求分析78
6.3.1 通过业务流分析和聚类需求78
6.3.2 通过面向对象的用例分析和
   聚类需求79
6.3.3 通过面向视点的需求定义
   分析和聚类需求81
6.3.4 需求分析与排序81
6.3.5 需求可追踪性83
6.4 需求定义、原型化和审查84
6.5 需求规格说明与需求协商87
6.6 总结87
6.7 复习题88
6.8 练习题88
6.9 参考文献和建议阅读89
第7章 设计:架构与方法论91
7.1 设计导论91
7.2 架构设计92
7.2.1 什么是软件架构92
7.2.2 视图与视角92
7.2.3 元架构知识:风格、模式、
   策略和参考架构93
7.2.4 基于网络的Web参考
   架构—REST98
7.3 详细设计99
7.3.1 功能分解99
7.3.2 关系数据库101
7.3.3 大数据设计104
7.3.4 面向对象设计和UML106
7.3.5 用户界面设计109
7.3.6 一些进一步的设计问题115
7.4 HTML-Script-SQL设计示例115
7.5 总结118
7.6 复习题118
7.7 练习题118
7.8 参考文献和建议阅读119
第8章 设计的特征与度量120
8.1 设计描述120
8.2 设计属性的遗留特征120
8.2.1 Hal
展开全部

作者简介

弗兰克·徐(Frank Tsui)
自20世纪70年代初开始在软件行业工作超过30年,曾担任IBM等多家跨国软件企业的研发主管或VP,之后加入学术界,曾任职于南方州立理工大学、佐治亚理工学院和肯尼索州立大学,现已退休。他拥有佐治亚理工学院计算机科学博士学位。
奥兰多·卡拉姆(Orlando Karam)
肯尼索州立大学教师。他在敏捷开发和开源软件社区非常活跃,还积极参与软件复杂性的研究。在过去的8年里,他一直在微软和亚马逊等公司工作。他拥有杜兰大学计算机科学博士学位。
芭芭拉·博纳尔(Barbara Bernal)
肯尼索州立大学软件工程荣休教授。她的专长是用户界面和以用户为中心的设计。她还积极参与美国工程教育协会和软件工程师教育学会的工作。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航