• 软件工程原理与实践
  • 软件工程原理与实践
  • 软件工程原理与实践
  • 软件工程原理与实践
  • 软件工程原理与实践
  • 软件工程原理与实践
21年品牌 40万+商家 超1.5亿件商品

软件工程原理与实践

全新正版 极速发货

59.37 7.5折 79 全新

库存3件

广东广州
认证卖家担保交易快速发货售后保障

作者沈备军 万成城 陈昊鹏 陈雨亭

出版社机械工业

ISBN9787111739449

出版时间2024-01

装帧平装

开本其他

定价79元

货号31926858

上书时间2024-05-23

书香美美

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
沈备军上海交通大学软件学院副教授,IEEE国际软件工程知识体系SWEBOK第3版联合主编,中国首位IEEE授证的软件开发专家(CSDP)。研究方向为智能软件工程。承担科研项目30余项,发表科研论文200多篇,编著教材3部。曾获霍英东教育基金会高等院校青年教师奖、上海市教学成果奖二等奖、上海市十大IT精锐提名奖、ICSE杰出论文奖等。
万成城华东师范大学软件工程学院副教授,国家海外优秀青年科学基金获得者,毕业于芝加哥大学计算机系。研究方向为智能软件系统优化。多项研究成果发表于ICSE、FSE、DAC、ATC、VLDB、ICML等国际顶级会议和TOSEM期刊上。曾获Siebel学者、EECSRisingStar、ICSE杰出论文奖等荣誉与奖项。 陈昊鹏上海交通大学软件学院副教授,CCF计算机应用专业委员会执行委员。研究方向为分布式系统和数据服务。承担科研项目30余项,发表科研论文110多篇,参与编著教材2部。曾获上海市科学技术奖1项、国际会议最佳论文及提名奖3项。
陈雨亭上海交通大学计算机科学与工程系副教授,目前担任上海交通大学计算机科学与工程系副主任、CCF系统软件专业委员会常务委员。研究方向为程序分析与测试。承担科研项目10余项,发表科研论文80多篇,编著教材2部。曾获上海市科学技术奖2项、国际会议最佳论文和杰出论文奖,以及CCFNASAC东软青年软件创新奖。

目录
C O N T E N T S
目 录
丛书序言

前言
第一篇 软件工程概述
第1 章 绪论 ··································· 2
1.1 什么是软件 ·························· 2
1.1.1 软件的定义和作用 ········ 2
1.1.2 软件的发展历史 ··········· 3
1.1.3 挑战与问题 ················· 4
1.2 什么是工程 ·························· 6
1.2.1 软件是一门工程学科 ····· 6
1.2.2 工程的定义和特性 ········ 6
1.2.3 工程过程 ···················· 7
1.3 什么是软件工程 ···················· 7
1.3.1 软件工程的概念和知
识体系 ······················· 7
1.3.2 软件价值工程 ·············· 8
1.3.3 软件系统工程 ·············· 8
1.3.4 软件工程的发展趋势 ···10
1.4 软件工程职业道德规范 ··········10
1.4.1 SEEPP 标准 ···············10
1.4.2 软件工程师的职业
责任 ·························12
1.5 案例概述 ····························13
思考题 ·····································13
第2 章 软件过程 ····························14
2.1 软件过程概述 ······················14
2.1.1 软件过程的概念 ··········14
2.1.2 软件生存周期过程
标准 ·························15
2.2 软件过程模型 ······················16
2.2.1 瀑布模型 ···················16
2.2.2 增量模型 ···················17
2.2.3 演化模型 ···················18
2.3 敏捷过程 ····························22
2.3.1 敏捷过程的价值观
和原则 ······················22
2.3.2 Scrum ·······················24
2.3.3 Kanban ·····················26
2.4 开发运维一体化 ···················27
2.4.1 DevOps 的生命周期 ·····27
2.4.2 应用DevOps 的原则 ····28
2.4.3 持续集成、持续交付和
持续部署 ···················28
2.4.4 DevOps 工具链 ···········29
2.5 软件过程的选择、裁剪、
评估和改进 ·························29
2.5.1 软件过程的选择
和裁剪 ······················29
2.5.2 软件过程的评估 ··········30
2.5.3 软件过程的改进 ··········33
思考题 ·····································34
第二篇 软件工程技术
第3 章 软件工程模型和方法 ·············36
3.1 软件工程模型 ······················36
3.1.1 什么是模型 ················36
3.1.2 CIM、PIM 和PSM ······37
3.2 结构化方法 ·························37
3.2.1 结构化分析 ················38
3.2.2 结构化概要设计 ··········41
3.2.3 结构化详细设计 ··········43
3.3 面向对象方法 ······················43
3.3.1 面向对象的基本概念 ····44
3.3.2 面向对象的基本原则 ····44
3.3.3 面向对象的模型 ··········45
3.3.4 面向对象的分析 ··········46
3.3.5 面向对象的设计 ··········47
3.4 基于构件的开发方法 ·············47
3.4.1 概述 ·························48
3.4.2 方法框架 ···················49
3.4.3 构件开发 ···················49
3.4.4 构件管理 ···················50
3.4.5 构件组装 ···················51
3.5 面向服务方法 ······················51
3.5.1 面向服务架构的基本
概念 ·························52
3.5.2 面向服务建模的内涵 ········54
3.5.3 面向服务建模的方法 ····55
3.6 模型驱动开发方法 ················56
3.6.1 方法概述 ···················57
3.6.2 模型和元模型 ·············58
3.6.3 模型转换 ···················59
3.6.4 领域特定语言 ·············59
3.7 软件产品线工程 ···················60
3.7.1 方法概述 ···················60
3.7.2 产品线的可变性 ··········62
3.7.3 领域工程 ···················63
3.8 形式化方法 ·························64
3.8.1 方法概述 ···················65
3.8.2 形式化规约 ················65
3.8.3 形式化开发 ················66
3.8.4 形式化验证 ················66
思考题 ·····································67
第4 章 软件需求工程 ······················68
4.1 面临的挑战 ·························68
4.2 软件需求 ····························70
4.2.1 什么是软件需求 ··········70
4.2.2 优秀需求具有的
特性 ·························71
4.3 软件需求工程的5 个阶段 ·······72
4.3.1 需求获取 ···················73
4.3.2 需求分析 ···················79
4.3.3 需求定义 ···················80
4.3.4 需求验证 ···················82
4.3.5 需求管理 ···················83
4.4 UML 图 ·····························86
4.4.1 用例图 ······················86
4.4.2 活动图 ······················87
4.4.3 类图 ·························88
4.4.4 时序图 ······················93
4.4.5 通信图 ······················95
4.4.6 状态机图 ···················95
4.4.7 构件图 ······················97
4.4.8 部署图 ······················99
4.4.9 包图 ······················· 101
4.5 面向对象分析建模 ·············· 101
4.5.1 建立用例模型 ··········· 102
4.5.2 建立概念模型 ··········· 113
4.5.3 识别用例实现 ··········· 115
4.5.4 识别分析类 ·············· 116
4.5.5 建立分析模型 ··········· 119
4.6 敏捷开发中的需求工程 ········ 122
思考题 ··································· 124
第5 章 软件架构设计 ···················· 125
5.1 软件设计概述 ···················· 125
5.1.1 软件设计过程 ··········· 125
5.1.2 软件设计模型 ··········· 126
5.1.3 软件设计原则 ··········· 126
5.1.4 软件设计的复用 ········ 128
5.2 软件架构风格 ···················· 129
5.2.1 通用结构的架构
风格 ······················· 129
5.2.2 分布式系统的架构
风格 ······················· 133
5.2.3 交互式系统的架构
风格 ······················· 140
5.2.4 自适应系统的架构
风格 ······················· 142
5.2.5 其他架构风格 ··········· 143
5.3 软件架构多视图的设计 ········ 146
5.3.1 4+1 架构视图 ··········· 147
5.3.2 逻辑视图的设计 ········ 147
5.3.3 进程视图的设计 ········ 148
5.3.4 开发视图的设计 ········ 150
5.3.5 物理视图的设计 ········ 151
5.3.6 场景视图的设计 ········ 152
5.3.7 视图的选择 ·············· 152
5.4 软件质量属性的设计策略 ····· 154
5.4.1 可用性设计策略 ········ 154
5.4.2 可修改性设计策略 ····· 156
5.4.3 性能设计策略 ··········· 158
5.4.4 安全性设计策略 ········ 160
5.4.5 可测试性设计策略 ····· 162
5.4.6 易用性设计策略 ········ 162
思考题 ··································· 163
第6 章 软件详细设计 ···················· 164
6.1 软件详细设计概述 ·············· 164
6.2 设计模式 ·························· 165
6.2.1 创建型设计模式 ········ 165
6.2.2 结构型设计模式 ········ 171
6.2.3 行为型设计模式 ········ 177
6.3 包和子系统设计 ················· 187
6.3.1 包设计的原则 ··········· 187
6.3.2 子系统设计 ·············· 190
6.4 类设计 ····························· 191
6.4.1 类设计的原则 ··········· 191
6.4.2 类设计的过程 ··········· 196
6.5 持久性设计 ······················· 199
6.5.1 实体对象模型与数据
库设计 ···················· 199
6.5.2 数据库设计 ·············· 203
6.5.3 持久性框架 ·············· 207
6.6 人机界面设计 ···················· 208
6.6.1 界面设计原则 ··········· 208
6.6.2 界面设计过程 ··········· 209
6.6.3 人机交互方式 ··········· 210
6.6.4 界面设计因素 ··········· 211
6.7 软件设计的质量控制 ··········· 213
6.7.1 设计评审 ················· 213
6.7.2 设计质量度量 ··········· 214
6.7.3 设计的静态分析 ········ 214
6.7.4 设计的形式化验证 ····· 214
6.7.5 设计的模拟仿真和原型 ·· 215
思考题 ··································· 215
第7 章 编码和版本管理 ················· 216
7.1 软件编码的准则 ················· 216
7.2 代码质量 ·························· 217
7.3 编码规范 ·························· 218
7.3.1 命名 ······················· 219
7.3.2 布局格式 ················· 219
7.3.3 注释 ······················· 219
7.4 编写可靠的代码 ················· 220
7.4.1 防御式编程 ·············· 220
7.4.2 契约式设计 ·············· 221
7.4.3 异常处理 ················· 221
7.5 代码质量控制 ···················· 222
7.5.1 代码的质量问题 ········ 222
7.5.2 开发者测试 ·············· 222
7.5.3 代码静态检查 ··········· 223
7.5.4 代码质量度量 ··········· 223
7.5.5 代码评审 ················· 224
7.6 版本管理 ·························· 225
7.6.1 基本概念 ················· 225
7.6.2 版本控制系统 ··········· 226
7.6.3 并行开发和分支
管理 ······················· 228
7.7 展望:AI 时代的编程 ·········· 229
思考题 ··································· 230
第8 章 软件测试 ·························· 231
8.1 软件测试概述 ···················· 231
8.1.1 软件测试概念 ··········· 232
8.1.2 软件测试原则 ··········· 232
8.1.3 软件可测试性 ··········· 234
8.2 软件测试层次 ···················· 235
8.2.1 单元测试 ················· 235
8.2.2 集成测试 ················· 237
8.2.3 系统测试 ················· 238
8.3 软件测试方法 ···················· 239
8.3.1 白盒测试方法 ··········· 239
8.3.2 黑盒测试方法 ··········· 243
8.4 系统测试技术 ···················· 248
8.4.1 功能测试 ················· 248
8.4.2 性能测试 ················· 249
8.4.3 可靠性测试 ·············· 250
8.4.4 易用性测试 ·············· 250
8.4.5 兼容性测试 ·············· 251
8.4.6 信息安全测试 ··········· 251
8.5 其他软件测试技术 ·············· 252
8.5.1 回归测试 ················· 252
8.5.2 α 测试和
β 测试 ··················· 253
8.5.3 变异测试 ················ 253
8.5.4 蜕变测试 ················· 254
8.5.5 模糊测试 ················· 254
8.5.6 对抗样本测试 ··········· 255
8.6 软件测试过程 ···················· 255
8.6.1 测试规划 ················· 256
8.6.2 测试设计 ················· 257
8.6.3 测试开发 ················· 257
8.6.4 测试执行 ················· 257
8.6.5 测试评估 ················· 258
8.7 软件测试的质量控制 ··········· 258
8.7.1 软件测试评审 ··········· 258
8.7.2 软件测试的质量
度量 ······················ 259
思考题 ··································· 260
第9 章 软件运营与维护 ················· 261
9.1 软件运营 ·························· 261
9.1.1 ITIL 和最佳实践 ······· 261
9.1.2 软件部署 ················· 263
9.2 软件维护 ·························· 265
9.2.1 维护的分类 ·············· 265
9.2.2 维护的技术 ·············· 266
思考题 ··································· 268
第三篇 软件工程管理
第10 章 软件项目管理和规划 ·········· 270
10.1 项目管理的基本概念 ········· 270
10.2 项目管理知识体系 ············ 271
10.2.1 项目成功的标准 ···· 272
10.2.2 十二大原则 ·········· 272
10.2.3 八大绩效域 ·········· 272
10.2.4 五大过程组 ·········· 273
10.3 软件项目规划 ·················· 274
10.3.1 软件项目计划的
内容 ··················· 274
10.3.2 软件项目规划的关
键活动 ················ 274
10.4 软件估算 ························ 277
10.4.1 估算的影响 ·········· 277
10.4.2 估算原则 ············· 277
10.4.3 估算方法 ············· 279
10.4.4 软件规模估算 ······· 282
10.4.5 工作量和进度估算 ··· 287

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP