注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学软件工程导论(原书第5版)

软件工程导论(原书第5版)

软件工程导论(原书第5版)

定 价:¥79.00

作 者: [美]弗兰克·徐,[美]奥兰多·卡拉姆 ,[美]芭芭拉·博纳尔
出版社: 机械工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787111770138 出版时间: 2025-02-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

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

作者简介

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

图书目录

译者序
前言
第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

本目录推荐