您好,欢迎光临有路网!
软件工程(第3版)
QQ咨询:
有路璐璐:

软件工程(第3版)

  • 作者:倪宁 张海藩
  • 出版社:人民邮电出版社
  • ISBN:9787115209894
  • 出版日期:2010年02月01日
  • 页数:334
  • 定价:¥38.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书是软件工程领域的经典教材。
    全书由5篇(16章)构成,第1篇(第1、2章)讲述软件工程与软件过程;第2篇讲述传统方法学(第3~5章),包括结构化分析、设计与实现;第3篇讲述面向对象方法学(第6~10章),包括面向对象的概念、模型、分析、设计、实现,同时介绍了统一建模语言UML;第4篇讲述软件项目管理(第11~14章),包括软件项目的计划、组织和控制,并介绍一些相关的国际标准;第5篇讲述软件工程的**课题(第15、16章),包括形式化方法和软件重用。
    本书内容新颖、实例丰富,可以作为高等院校“软件工程”课程的教材或教学参考书,也可以供程序员、软件测试工程师、系统工程师以及软件项目经理等相关人员阅读参考。
    目录
    第1篇 软件工程与软件过程
    第1章 软件工程概述 1
    1.1 软件危机与软件工程的起源 1
    1.1.1 计算机系统的发展历程 1
    1.1.2 软件危机介绍 2
    1.1.3 产生软件危机的原因 2
    1.1.4 消除软件危机的途径 4
    1.2 软件工程 5
    1.2.1 什么是软件工程 5
    1.2.2 软件工程的基本原理 5
    1.3 软件工程包含的领域 7
    小结 9
    习题 9

    第2章 软件过程 11
    2.1 软件生命周期的基本任务 11
    2.2 瀑布模型 14
    2.3 快速原型模型 16
    2.4 增量模型 17
    2.5 螺旋模型 18
    2.6 喷泉模型 19
    2.7 Rational统一过程 20
    2.7.1 *佳实践 21
    2.7.2 RUP的十大要素 22
    2.7.3 RUP生命周期 24
    2.8 敏捷过程与极限编程 26
    2.8.1 敏捷过程概述 26
    2.8.2 极限编程 27
    2.9 能力成熟度模型 29
    2.9.1 能力成熟度模型的结构 30
    2.9.2 能力成熟度等级 31
    2.9.3 关键过程域 32
    2.9.4 应用CMM 33
    小结 33
    习题 34

    第2篇 传统方法学
    第3章 结构化分析 35
    3.1 概述 35
    3.2 与用户沟通的方法 36
    3.2.1 访谈 36
    3.2.2 简易的应用规格说明技术 37
    3.2.3 软件原型 38
    3.3 分析建模与规格说明 39
    3.3.1 分析建模 39
    3.3.2 软件需求规格说明 39
    3.4 实体—关系图 41
    3.5 数据流图 42
    3.5.1 数据流图符号 43
    3.5.2 例子 44
    3.5.3 命名 46
    3.6 状态转换图 47
    3.6.1 状态 47
    3.6.2 事件 47
    3.6.3 符号 48
    3.6.4 例子 48
    3.7 数据字典 49
    3.8 结构化分析实例 51
    3.8.1 问题陈述 51
    3.8.2 问题定义 51
    3.8.3 可行性研究 52
    3.8.4 需求分析 57
    小结 62
    习题 63

    第4章 结构化设计 65
    4.1 结构化设计与结构化分析的关系 65
    4.2 软件设计的概念和原理 66
    4.2.1 模块化 66
    4.2.2 抽象 68
    4.2.3 逐步求精 68
    4.2.4 信息隐藏 69
    4.3 模块独立 70
    4.3.1 耦合 70
    4.3.2 内聚 71
    4.4 启发规则 72
    4.5 表示软件结构的图形工具 74
    4.5.1 层次图和HIPO图 74
    4.5.2 结构图 76
    4.6 面向数据流的设计方法 77
    4.6.1 概念 77
    4.6.2 变换分析 78
    4.6.3 事务分析 83
    4.6.4 设计优化 84
    4.7 人—机界面设计 85
    4.7.1 人—机界面设计问题 85
    4.7.2 人—机界面设计过程 86
    4.7.3 界面设计指南 87
    4.8 过程设计 89
    4.9 过程设计的工具 90
    4.9.1 程序流程图 91
    4.9.2 盒图(N-S图) 91
    4.9.3 PAD图 92
    4.9.4 判定表 93
    4.9.5 判定树 94
    4.9.6 过程设计语言 95
    4.10 面向数据结构的设计方法 95
    4.10.1 Jackson图 96
    4.10.2 改进的Jackson图 97
    4.10.3 Jackson方法 97
    小结 101
    习题 102

    第5章 结构化实现 105
    5.1 编码 106
    5.1.1 选择程序设计语言 106
    5.1.2 编码风格 107
    5.2 软件测试基础 109
    5.2.1 测试目标 109
    5.2.2 黑盒测试和白盒测试 109
    5.2.3 测试准则 110
    5.2.4 流图 110
    5.3 逻辑覆盖 111
    5.4 控制结构测试 114
    5.4.1 基本路径测试 114
    5.4.2 条件测试 116
    5.4.3 数据流测试 118
    5.4.4 循环测试 119
    5.5 黑盒测试技术 120
    5.5.1 等价划分 120
    5.5.2 边界值分析 122
    5.5.3 错误推测 123
    5.6 测试策略 123
    5.6.1 测试步骤 124
    5.6.2 单元测试 124
    5.6.3 集成测试 126
    5.6.4 确认测试 129
    5.7 调试 130
    5.7.1 调试过程 130
    5.7.2 调试途径 131
    5.8 软件可靠性 132
    5.8.1 基本概念 133
    5.8.2 估算平均无故障时间的方法 133
    小结 135
    习题 136

    第3篇 面向对象方法学
    第6章 面向对象方法学导论 140
    6.1 面向对象程序设计实例 140
    6.1.1 用对象分解取代功能分解 140
    6.1.2 设计类等级 142
    6.1.3 定义属性和服务 143
    6.2 面向对象方法学概述 144
    6.2.1 面向对象方法学的要点 144
    6.2.2 面向对象的软件过程 146
    6.3 面向对象方法学的主要优点 146
    6.4 面向对象的概念 149
    6.4.1 对象 150
    6.4.2 其他概念 152
    6.5 面向对象建模 155
    6.6 对象模型 156
    6.6.1 表示类的符号 156
    6.6.2 表示关系的符号 158
    6.7 动态模型 162
    6.8 功能模型 163
    6.9 3种模型之间的关系 163
    小结 164
    习题 164

    第7章 面向对象分析 165
    7.1 分析过程 165
    7.1.1 概述 165
    7.1.2 3个子模型与5个层次 166
    7.2 需求陈述 167
    7.2.1 书写要点 167
    7.2.2 例子 167
    7.3 建立对象模型 168
    7.3.1 确定类与对象 169
    7.3.2 确定关联 171
    7.3.3 划分主题 174
    7.3.4 确定属性 174
    7.3.5 识别继承关系 176
    7.3.6 反复修改 176
    7.4 建立动态模型 178
    7.4.1 编写脚本 179
    7.4.2 设想用户界面 180
    7.4.3 画事件跟踪图 180
    7.4.4 画状态图 182
    7.4.5 审查动态模型 182
    7.5 建立功能模型 184
    7.6 定义服务 185
    7.7 面向对象分析实例 186
    7.7.1 需求陈述 186
    7.7.2 建立对象模型 186
    7.7.3 建立动态模型 187
    7.7.4 建立功能模型 189
    7.7.5 进一步完善 190
    小结 191
    习题 191

    第8章 面向对象设计 192
    8.1 面向对象设计的准则 192
    8.2 启发规则 194
    8.3 系统分解 195
    8.3.1 子系统之间的两种交互方式 196
    8.3.2 组织系统的两种方案 197
    8.3.3 设计系统的拓扑结构 197
    8.4 设计问题域子系统 197
    8.5 设计人—机交互子系统 199
    8.5.1 设计人—机交互界面的准则 199
    8.5.2 设计人—机交互子系统的策略 200
    8.6 设计任务管理子系统 201
    8.6.1 分析并发性 201
    8.6.2 设计任务管理子系统 202
    8.7 设计数据管理子系统 203
    8.7.1 选择数据存储管理模式 203
    8.7.2 设计数据管理子系统 204
    8.7.3 例子 205
    8.8 设计类中的服务 206
    8.8.1 确定类中应有的服务 206
    8.8.2 设计实现服务的方法 206
    8.9 设计关联 207
    8.10 设计优化 208
    8.10.1 确定优先级 208
    8.10.2 提**率的几项技术 209
    8.10.3 调整继承关系 210
    8.11 面向对象分析与设计实例 211
    8.11.1 面向对象分析 212
    8.11.2 面向对象设计 213
    小结 218
    习题 218

    第9章 面向对象实现 219
    9.1 程序设计语言 219
    9.1.1 面向对象语言的优点 219
    9.1.2 面向对象语言的技术特点 220
    9.1.3 选择面向对象语言 223
    9.2 程序设计风格 223
    9.2.1 提高可重用性 224
    9.2.2 提高可扩充性 225
    9.2.3 提高健壮性 226
    9.3 测试策略 226
    9.3.1 面向对象的单元测试 227
    9.3.2 面向对象的集成测试 227
    9.3.3 面向对象的确认测试 227
    9.4 设计测**例 227
    9.4.1 测试类的方法 228
    9.4.2 集成测试方法 229
    小结 231
    习题 231

    第10章 统一建模语言 232
    10.1 概述 232
    10.1.1 UML的产生和发展 232
    10.1.2 UML的系统结构 233
    10.1.3 UML的图 234
    10.1.4 UML的应用领域 235
    10.2 静态建模机制 236
    10.2.1 用例 236
    10.2.2 类图和对象图 240
    10.3 动态建模机制 241
    10.3.1 消息 242
    10.3.2 状态图 242
    10.3.3 顺序图 243
    10.3.4 协作图 244
    10.3.5 活动图 245
    10.4 描述物理架构的机制 246
    10.4.1 逻辑架构和物理架构 246
    10.4.2 构件图 246
    10.4.3 部署图 247
    10.5 使用和扩展UML 248
    10.5.1 使用UML的准则 248
    10.5.2 扩展UML的机制 249
    小结 249
    习题 250

    第4篇 软件项目管理
    第11章 计划 251
    11.1 度量软件规模 251
    11.1.1 代码行技术 251
    11.1.2 功能点技术 252
    11.2 工作量估算 254
    11.2.1 静态单变量模型 254
    11.2.2 动态多变量模型 254
    11.2.3 COCOMO2模型 255
    11.3 进度计划 257
    11.3.1 基本原则 258
    11.3.2 估算软件开发时间 258
    11.3.3 Gantt图 259
    11.3.4 工程网络 260
    11.3.5 估算进度 261
    11.3.6 关键路径 263
    11.3.7 机动时间 263
    小结 264
    习题 265

    第12章 组织 267
    12.1 民主制程序员组 267
    12.2 主程序员组 268
    12.3 现代程序员组 270
    12.4 软件项目组 271
    12.4.1 3种组织方式 271
    12.4.2 4种组织范型 273
    小结 273
    习题 273

    第13章 控制 275
    13.1 风险管理 275
    13.1.1 软件风险分类 275
    13.1.2 风险识别 276
    13.1.3 风险预测 280
    13.1.4 处理风险的策略 281
    13.2 质量保证 283
    13.2.1 软件质量 283
    13.2.2 软件质量保证措施 284
    13.3 配置管理 286
    13.3.1 软件配置 286
    13.3.2 软件配置管理过程 288
    小结 293
    习题 293

    第14章 国际标准 295
    14.1 IEEE 1058.1软件项目管理计划标准 295
    14.1.1 软件项目管理计划的组成 295
    14.1.2 IEEE软件项目管理计划 296
    14.2 ISO9000质量标准 298
    14.2.1 基本思想 298
    14.2.2 ISO9000-3标准 298
    14.3 ISO/IEC12207软件生命周期过程标准 301
    14.3.1 概述 301
    14.3.2 软件生命周期过程 302
    14.4 ISO/IECTR15504软件过程评估标准 305
    14.4.1 概述 305
    14.4.2 标准的结构 305
    小结 306
    习题 307

    第5篇 **课题
    第15章 形式化方法 308
    15.1 概述 308
    15.1.1 非形式化方法的缺点 308
    15.1.2 软件开发过程中的数学 309
    15.1.3 应用形式化方法的准则 309
    15.2 有穷状态机 310
    15.2.1 基本概念 310
    15.2.2 电梯问题 311
    15.2.3 评论 313
    15.3 Petri网 314
    15.3.1 基本概念 314
    15.3.2 应用实例 315
    15.4 Z语言 316
    15.4.1 简介 317
    15.4.2 评论 318
    小结 319
    习题 319

    第16章 软件重用 321
    16.1 可重用的软件成分 321
    16.2 软件重用过程 322
    16.2.1 构件组装模型 322
    16.2.2 类构件 323
    16.2.3 重用过程模型 324
    16.3 领域工程 325
    16.3.1 分析过程 325
    16.3.2 领域特征 326
    16.3.3 结构建模和结构点 326
    16.4 开发可重用的构件 327
    16.4.1 为了重用的分析与设计 327
    16.4.2 基于构件的开发 328
    16.5 分类和检索构件 329
    16.5.1 描述可重用的构件 329
    16.5.2 重用环境 331
    16.6 软件重用的效益 332
    小结 333
    习题 333

    参考文献 334

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外