软件工程/工业和信息化普通高等教育“十二五”规划教材

软件工程/工业和信息化普通高等教育“十二五”规划教材
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , ,
2014-03
版次: 01
ISBN: 9787115340795
定价: 48.00
装帧: 平装
开本: 16开
  •   本书系统地介绍了软件工程的概念、原理、方法和案例,比较全面地反映了软件工程技术的全貌。全书共3篇,分16章,分别以“面向过程的软件工程”、“面向对象的软件工程”和“软件工程实验”为主线阐述软件工程原理和方法。本书第2篇还介绍了软件体系结构、设计模式、软件工程新技术等内容,体现了软件工程的最新理论和技术。本书的主要特色是强调以面向过程或面向对象的思想指导软件开发过程,并配以实例分析和说明,便于教学和应用。
      本书适合作为高等院校计算机、软件工程专业或信息类相关专业本科生或研究生软件工程课程的教材,也可作为软件开发技术人员的参考书。 目 录

    第1篇 面向过程的软件工程

    第1章 概述 2
    1.1 软件和软件危机 2
    1.1.1 软件的定义、特点及分类 2
    1.1.2 软件危机的定义及表现形式 3
    1.1.3 软件危机的产生原因及解决途径 4
    1.2 软件工程 5
    1.2.1 软件工程的定义及目标 5
    1.2.2 软件工程的研究内容和基本原理 6
    1.2.3 软件工程的发展史 7
    1.3 软件过程和软件的生存周期 8
    1.3.1 软件过程 8
    1.3.2 软件生存周期 8
    1.4 软件开发模型 10
    1.4.1 瀑布模型 10
    1.4.2 快速原型模型 11
    1.4.3 增量模型 12
    1.4.4 螺旋模型 13
    1.4.5 喷泉模型 14
    1.4.6 基于构件的开发模型 14
    1.4.7 统一过程(RUP)模型 15
    1.4.8 基于形式化的开发模型 15
    1.5 传统的软件工程和面向对象的软件工程 15
    1.5.1 传统软件工程方法 15
    1.5.2 面向对象软件工程方法 15
    1.5.3 传统软件工程和面向对象软件工程的分析方法对比 16
    本章小结 16
    习题1 16

    第2章 可行性研究 17
    2.1 可行性研究的目的和任务 17
    2.2 可行性研究的步骤 18
    2.3 系统流程图 19
    2.3.1 系统流程图的符号 19
    2.3.2 系统流程图示例 20
    2.4 成本-效益分析 20
    2.4.1 货币的时间价值 20
    2.4.2 投资回收期 21
    2.4.3 纯收入 21
    2.5 可行性研究报告的主要内容 21
    本章小结 22
    习题2 22

    第3章 软件需求分析 23
    3.1 需求分析的任务和步骤 23
    3.1.1 需求分析的任务 23
    3.1.2 需求分析的步骤 24
    3.2 需求获取的常用方法 25
    3.2.1 需求获取的常用方法 25
    3.2.2 快速建立软件原型模型来获取需求 26
    3.3 需求分析的常用方法 27
    3.3.1 功能分解方法 27
    3.3.2 结构化分析方法 27
    3.3.3 信息建模方法 27
    3.3.4 面向对象方法 28
    3.4 结构化分析方法 28
    3.4.1 自顶向下逐层分解的分析策略 28
    3.4.2 结构化分析描述工具 29
    3.4.3 数据流图 29
    3.4.4 数据字典 32
    3.4.5 加工逻辑的描述 34
    3.5 需求分析图形工具 36
    3.5.1 层次方框图 36
    3.5.2 维纳图 36
    3.5.3 IPO图 37
    3.6 SA方法的应用 37
    3.7 数据库内容的需求分析和描述 42
    3.7.1 数据库内容的需求分析 42
    3.7.2 数据库内容的需求分析描述 44
    3.8 需求规格说明书 45
    本章小结 46
    习题3 46

    第4章 软件总体设计 48
    4.1 软件总体设计的目标和任务 48
    4.2 软件结构设计准则 48
    4.2.1 软件体系结构设计准则 49
    4.2.2 软件模块设计准则 49
    4.3 软件设计的概念和原理 50
    4.3.1 模块和模块化 50
    4.3.2 抽象 51
    4.3.3 信息隐蔽和局部化 51
    4.3.4 模块独立性及其度量 52
    4.4 数据库设计 54
    4.4.1 数据库系统的三级模式概念 54
    4.4.2 数据库逻辑设计原则 55
    4.4.3 关系数据库规范化 56
    4.5 软件结构设计的图形工具 58
    4.5.1 软件结构图 58
    4.5.2 层次图 58
    4.5.3 HIPO图 59
    4.6 结构化设计方法 59
    4.6.1 数据流图及其类型 59
    4.6.2 结构化设计方法的步骤 60
    4.6.3 变换型数据流图的分析设计 61
    4.6.4 事务型数据流图的分析设计 62
    4.6.5 综合分析设计 64
    4.7 总体设计说明书 64
    本章小结 65
    习题4 66

    第5章 软件详细设计 67
    5.1 详细设计的目的与任务 67
    5.2 结构化程序设计 67
    5.3 详细设计工具 68
    5.3.1 程序流程图 68
    5.3.2 盒图(N-S图) 69
    5.3.3 问题分析图(PAD图) 69
    5.3.4 过程设计语言(PDL) 70
    5.4 人机界面设计 73
    5.4.1 人机界面设计问题 73
    5.4.2 人机界面设计原则 75
    5.4.3 人机界面设计过程 75
    5.5 详细设计说明书 76
    本章小结 76
    习题5 77

    第6章 软件编码 78
    6.1 程序设计语言的分类 78
    6.1.1 基础语言 78
    6.1.2 结构化语言 79
    6.1.3 面向对象语言 80
    6.2 程序设计语言的选择 81
    6.3 程序设计风格 82
    6.3.1 程序内部文档 82
    6.3.2 数据说明 83
    6.3.3 语句构造 83
    6.3.4 输入/输出 83
    6.3.5 效率 83
    本章小结 85
    习题6 85

    第7章 软件测试 86
    7.1 软件测试的目标 86
    7.2 软件测试的原则 86
    7.3 软件测试方法及分类 87
    7.3.1 静态测试与动态测试 87
    7.3.2 黑盒测试与白盒测试 88
    7.4 软件测试用例的设计 89
    7.4.1 白盒技术 89
    7.4.2 黑盒技术 93
    7.5 软件测试过程 97
    7.5.1 单元测试 98
    7.5.2 集成测试 99
    7.5.3 确认测试 101
    7.5.4 系统测试 102
    7.5.5 α测试和β测试 103
    7.6 调试 103
    7.6.1 调试的目的和任务 103
    7.6.2 常用调试技术 103
    7.7 软件测试阶段终止的条件 104
    本章小结 105
    习题7 105

    第8章 软件维护 107
    8.1 软件维护概述 107
    8.1.1 软件维护的定义 107
    8.1.2 软件维护的分类 107
    8.1.3 软件维护的特点 109
    8.2 软件维护的过程 109
    8.2.1 结构化维护与非结构化维护 109
    8.2.2 维护组织 110
    8.2.3 维护工作的流程 111
    8.2.4 维护工作的组织管理 113
    8.3 软件可维护性 113
    8.3.1 软件可维护性的定义 114
    8.3.2 软件可维护性的度量 115
    8.3.3 提高软件可维护性的方法 115
    8.4 软件维护中存在的问题 117
    8.4.1 软件维护困难的表现 117
    8.4.2 软件维护的副作用 118
    8.4.3 软件维护的代价 118
    8.5 再工程和逆向工程 119
    8.5.1 再工程与逆向工程的概念 119
    8.5.2 为什么要实施软件再工程 120
    8.5.3 软件再工程技术 121
    本章小结 122
    习题8 123

    第2篇 面向对象的软件工程

    第9章 面向对象方法学 125
    9.1 面向对象方法概述 125
    9.1.1 面向对象方法学的发展 125
    9.1.2 面向对象方法学的优点和不足 126
    9.2 面向对象的软件工程 127
    9.2.1 面向对象基本概念 128
    9.2.2 对象、类及类之间关系的分析 129
    9.2.3 典型的面向对象开发方法 133
    9.3 统一建模语言UML 138
    9.3.1 UML的发展 138
    9.3.2 UML的定义及主要内容 139
    9.3.3 UML的特点和用途 141
    9.3.4 UML的模型视图简介 142
    9.3.5 UML常用软件开发工具 144
    9.4 统一软件开发过程RUP概述 148
    9.4.1 RUP的历史 149
    9.4.2 RUP的特色 149
    9.4.3 RUP软件开发的生存周期 150
    9.4.4 RUP过程的建模 152
    本章小结 153
    习题9 153

    第10章 面向对象的分析 155
    10.1 面向对象的分析过程 155
    10.1.1 用例模型 156
    10.1.2 对象模型 156
    10.1.3 动态模型 156
    10.1.4 物理(实现)模型 157
    10.1.5 4种模型之间的关系 157
    10.2 建立用例模型 158
    10.2.1 需求分析与用例建模 158
    10.2.2 确定系统范围和系统边界 158
    10.2.3 确定参与者 158
    10.2.4 确定用例 159
    10.2.5 确定用例之间的关系 161
    10.3 建立对象模型 162
    10.3.1 确定类和对象 163
    10.3.2 确定关联 163
    10.3.3 确定属性 164
    10.3.4 建立对象类图 164
    10.3.5 划分主题 165
    10.3.6 优化对象模型 165
    10.4 建立动态行为模型 166
    10.4.1 建立顺序图 166
    10.4.2 建立通信图 167
    10.4.3 建立状态图 168
    10.4.4 建立活动图 171
    10.5 建立物理实现模型 175
    10.5.1 建立构件图 175
    10.5.2 建立部署图 178
    10.6 面向对象软件开发过程的案例分析 181
    10.6.1 系统需求 181
    10.6.2 系统用例模型 182
    10.6.3 系统对象模型 182
    10.6.4 系统动态行为模型 183
    10.6.5 系统物理实现模型 185
    本章小结 186
    习题10 186

    第11章 面向对象的设计与实现 188
    11.1 面向对象的设计准则和启发式规则 188
    11.1.1 面向对象设计准则 188
    11.1.2 启发式规则 189
    11.2 系统设计 190
    11.2.1 问题域子系统设计 191
    11.2.2 人机交互子系统设计 193
    11.2.3 任务管理子系统设计 194
    11.2.4 数据管理子系统设计 195
    11.3 服务、关联与聚合关系设计 197
    11.3.1 服务设计 197
    11.3.2 关联设计 198
    11.3.3 聚合关系设计 202
    11.4 面向对象设计优化 203
    11.5 面向对象系统的实现 205
    11.5.1 面向对象程序设计语言的选择 205
    11.5.2 面向对象程序设计风格 205
    本章小结 206
    习题11 206

    第12章 软件开发工具StarUML及其应用 208
    12.1 软件开发工具StarUML概述 209
    12.1.1 StarUML的安装及使用 209
    12.1.2 StarUML的主要功能 209
    12.2 StarUML环境下的UML图形建模 211
    12.2.1 StarUML的用例图、类图和包图 213
    12.2.2 StarUML的交互图和状态机图 217
    12.2.3 StarUML的构件图与部署图 222
    12.2.4 StarUML的正向工程和逆向工程 223
    12.3 一个简易教学管理系统的分析和设计 225
    12.3.1 系统需求描述及分析 226
    12.3.2 系统问题领域分析 226
    12.3.3 静态结构模型的建立 230
    12.3.4 动态行为模型的建立 232
    12.3.5 系统物理模型的建立 236
    12.3.6 代码框架自动生成的过程 237
    本章小结 238
    习题12 238

    第13章 软件体系结构 240
    13.1 软件体系结构概述 240
    13.2 经典的软件体系结构风格 241
    13.2.1 管道-过滤器(流程处理)体系结构 241
    13.2.2 分层体系结构 242
    13.2.3 客户机/服务器体系结构 243
    13.2.4 浏览器/服务器体系结构(B/S) 245
    13.3 现代的软件体系结构风格 246
    13.3.1 公共对象请求代理体系结构 246
    13.3.2 基于层次消息总线的体系结构风格 248
    13.3.3 异构结构风格 248
    本章小结 251
    习题13 251

    第14章 设计模式 252
    14.1 设计模式概述 252
    14.1.1 设计模式的出现和发展 252
    14.1.2 设计模式和软件体系结构的关系 253
    14.1.3 设计模式的优点和分类 253
    14.2 GRASP设计模式及其应用 254
    14.2.1 GRASP设计模式概念及其分类 254
    14.2.2 几种典型的GRASP设计模式应用简介 256
    14.3 GoF设计模式及其应用 258
    14.3.1 GoF设计模式的组成及其分类 260
    14.3.2 创建型GoF设计模式应用实例 261
    14.3.3 结构型GoF设计模式应用实例 265
    14.3.4 行为型GoF设计模式应用实例 268
    本章小结 269
    习题14 270

    第15章 软件工程新技术 271
    15.1 软件复用技术 271
    15.1.1 软件复用概念及分类 271
    15.1.2 软件复用的关键技术和复用粒度 272
    15.2 基于构件的软件工程技术 272
    15.2.1 中间件技术 273
    15.2.2 构件与构件化 275
    15.2.3 构件模型及描述语言 276
    15.2.4 构件的检索与组装 278
    15.2.5 基于构件的软件工程方法 281
    15.2.6 SOA与SaaS 283
    15.3 软件过程与标准化 285
    15.3.1 软件过程及其改进 285
    15.3.2 ISO 9000标准 286
    15.3.3 软件能力成熟度模型(CMM) 287
    15.3.4 PSP、TSP和CMMI 289
    15.4 敏捷软件开发过程 291
    15.4.1 敏捷及敏捷过程相关概念 292
    15.4.2 典型的敏捷过程模型 294
    15.5 Web软件工程 298
    15.5.1 Web软件工程概述 298
    15.5.2 Web软件的需求分析 300
    15.5.3 Web软件的设计 302
    15.5.4 Web软件的测试 305
    15.6 软件产品线技术 306
    15.6.1 软件产品线基本概念 307
    15.6.2 软件产品线方法 309
    15.6.3 北大青鸟工程 310
    本章小结 311
    习题15 312

    第3篇 软件工程实验

    第16章 软件工程实验 314
    16.1 面向过程的软件工程实验 315
    实验1 图书管理系统的可行性分析 316
    实验2 图书管理系统的项目开发计划 316
    实验3 图书管理系统的需求分析 317
    实验4 图书管理系统的总体设计 317
    实验5 图书管理系统的详细设计及编码实现 318
    实验6 图书管理系统的测试 319
    实验7 图书管理系统用户手册的撰写 319
    实验8 图书管理系统项目开发总结报告的撰写 320
    16.2 面向对象的软件工程实验 320
    实验9 浏览器系统的可行性分析 320
    实验10 浏览器系统的项目开发计划 321
    实验11 浏览器系统的需求分析 322
    实验12 浏览器系统的体系结构设计 327
    实验13 采用面向对象方法进行浏览器系统的详细设计 329
    实验14 利用StarUML正向工程功能完成代码框架的自动生成实验 331
    实验15 利用StarUML逆向工程功能完成修改设计的实验 332
    实验16 浏览器系统的测试 332
    实验17 浏览器系统用户手册的撰写 334
    实验18 浏览器系统项目开发总结报告的撰写 334

    附录A UML图总结 335
    A.1 活动图 335
    A.2 类图 336
    A.3 通信图 336
    A.4 构件图 337
    A.5 组合结构图 337
    A.6 部署图 337
    A.7 对象图 338
    A.8 包图 338
    A.9 参数化通信图 338
    A.10 顺序图 338
    A.11 状态图 338
    A.12 计时图 339
    A.13 用例图 339
    附录B UML中定义的常用版型(stereotype)、约束(constraint)和标记(tag) 341
    附录C GOF给出的软件设计模式 344
    C.1 创建型模式(Creational) 344
    C.2 结构型(Structural)模式 346
    C.3 行为(Behavioral)模式 349

    参考文献 354
  • 内容简介:
      本书系统地介绍了软件工程的概念、原理、方法和案例,比较全面地反映了软件工程技术的全貌。全书共3篇,分16章,分别以“面向过程的软件工程”、“面向对象的软件工程”和“软件工程实验”为主线阐述软件工程原理和方法。本书第2篇还介绍了软件体系结构、设计模式、软件工程新技术等内容,体现了软件工程的最新理论和技术。本书的主要特色是强调以面向过程或面向对象的思想指导软件开发过程,并配以实例分析和说明,便于教学和应用。
      本书适合作为高等院校计算机、软件工程专业或信息类相关专业本科生或研究生软件工程课程的教材,也可作为软件开发技术人员的参考书。
  • 目录:
    目 录

    第1篇 面向过程的软件工程

    第1章 概述 2
    1.1 软件和软件危机 2
    1.1.1 软件的定义、特点及分类 2
    1.1.2 软件危机的定义及表现形式 3
    1.1.3 软件危机的产生原因及解决途径 4
    1.2 软件工程 5
    1.2.1 软件工程的定义及目标 5
    1.2.2 软件工程的研究内容和基本原理 6
    1.2.3 软件工程的发展史 7
    1.3 软件过程和软件的生存周期 8
    1.3.1 软件过程 8
    1.3.2 软件生存周期 8
    1.4 软件开发模型 10
    1.4.1 瀑布模型 10
    1.4.2 快速原型模型 11
    1.4.3 增量模型 12
    1.4.4 螺旋模型 13
    1.4.5 喷泉模型 14
    1.4.6 基于构件的开发模型 14
    1.4.7 统一过程(RUP)模型 15
    1.4.8 基于形式化的开发模型 15
    1.5 传统的软件工程和面向对象的软件工程 15
    1.5.1 传统软件工程方法 15
    1.5.2 面向对象软件工程方法 15
    1.5.3 传统软件工程和面向对象软件工程的分析方法对比 16
    本章小结 16
    习题1 16

    第2章 可行性研究 17
    2.1 可行性研究的目的和任务 17
    2.2 可行性研究的步骤 18
    2.3 系统流程图 19
    2.3.1 系统流程图的符号 19
    2.3.2 系统流程图示例 20
    2.4 成本-效益分析 20
    2.4.1 货币的时间价值 20
    2.4.2 投资回收期 21
    2.4.3 纯收入 21
    2.5 可行性研究报告的主要内容 21
    本章小结 22
    习题2 22

    第3章 软件需求分析 23
    3.1 需求分析的任务和步骤 23
    3.1.1 需求分析的任务 23
    3.1.2 需求分析的步骤 24
    3.2 需求获取的常用方法 25
    3.2.1 需求获取的常用方法 25
    3.2.2 快速建立软件原型模型来获取需求 26
    3.3 需求分析的常用方法 27
    3.3.1 功能分解方法 27
    3.3.2 结构化分析方法 27
    3.3.3 信息建模方法 27
    3.3.4 面向对象方法 28
    3.4 结构化分析方法 28
    3.4.1 自顶向下逐层分解的分析策略 28
    3.4.2 结构化分析描述工具 29
    3.4.3 数据流图 29
    3.4.4 数据字典 32
    3.4.5 加工逻辑的描述 34
    3.5 需求分析图形工具 36
    3.5.1 层次方框图 36
    3.5.2 维纳图 36
    3.5.3 IPO图 37
    3.6 SA方法的应用 37
    3.7 数据库内容的需求分析和描述 42
    3.7.1 数据库内容的需求分析 42
    3.7.2 数据库内容的需求分析描述 44
    3.8 需求规格说明书 45
    本章小结 46
    习题3 46

    第4章 软件总体设计 48
    4.1 软件总体设计的目标和任务 48
    4.2 软件结构设计准则 48
    4.2.1 软件体系结构设计准则 49
    4.2.2 软件模块设计准则 49
    4.3 软件设计的概念和原理 50
    4.3.1 模块和模块化 50
    4.3.2 抽象 51
    4.3.3 信息隐蔽和局部化 51
    4.3.4 模块独立性及其度量 52
    4.4 数据库设计 54
    4.4.1 数据库系统的三级模式概念 54
    4.4.2 数据库逻辑设计原则 55
    4.4.3 关系数据库规范化 56
    4.5 软件结构设计的图形工具 58
    4.5.1 软件结构图 58
    4.5.2 层次图 58
    4.5.3 HIPO图 59
    4.6 结构化设计方法 59
    4.6.1 数据流图及其类型 59
    4.6.2 结构化设计方法的步骤 60
    4.6.3 变换型数据流图的分析设计 61
    4.6.4 事务型数据流图的分析设计 62
    4.6.5 综合分析设计 64
    4.7 总体设计说明书 64
    本章小结 65
    习题4 66

    第5章 软件详细设计 67
    5.1 详细设计的目的与任务 67
    5.2 结构化程序设计 67
    5.3 详细设计工具 68
    5.3.1 程序流程图 68
    5.3.2 盒图(N-S图) 69
    5.3.3 问题分析图(PAD图) 69
    5.3.4 过程设计语言(PDL) 70
    5.4 人机界面设计 73
    5.4.1 人机界面设计问题 73
    5.4.2 人机界面设计原则 75
    5.4.3 人机界面设计过程 75
    5.5 详细设计说明书 76
    本章小结 76
    习题5 77

    第6章 软件编码 78
    6.1 程序设计语言的分类 78
    6.1.1 基础语言 78
    6.1.2 结构化语言 79
    6.1.3 面向对象语言 80
    6.2 程序设计语言的选择 81
    6.3 程序设计风格 82
    6.3.1 程序内部文档 82
    6.3.2 数据说明 83
    6.3.3 语句构造 83
    6.3.4 输入/输出 83
    6.3.5 效率 83
    本章小结 85
    习题6 85

    第7章 软件测试 86
    7.1 软件测试的目标 86
    7.2 软件测试的原则 86
    7.3 软件测试方法及分类 87
    7.3.1 静态测试与动态测试 87
    7.3.2 黑盒测试与白盒测试 88
    7.4 软件测试用例的设计 89
    7.4.1 白盒技术 89
    7.4.2 黑盒技术 93
    7.5 软件测试过程 97
    7.5.1 单元测试 98
    7.5.2 集成测试 99
    7.5.3 确认测试 101
    7.5.4 系统测试 102
    7.5.5 α测试和β测试 103
    7.6 调试 103
    7.6.1 调试的目的和任务 103
    7.6.2 常用调试技术 103
    7.7 软件测试阶段终止的条件 104
    本章小结 105
    习题7 105

    第8章 软件维护 107
    8.1 软件维护概述 107
    8.1.1 软件维护的定义 107
    8.1.2 软件维护的分类 107
    8.1.3 软件维护的特点 109
    8.2 软件维护的过程 109
    8.2.1 结构化维护与非结构化维护 109
    8.2.2 维护组织 110
    8.2.3 维护工作的流程 111
    8.2.4 维护工作的组织管理 113
    8.3 软件可维护性 113
    8.3.1 软件可维护性的定义 114
    8.3.2 软件可维护性的度量 115
    8.3.3 提高软件可维护性的方法 115
    8.4 软件维护中存在的问题 117
    8.4.1 软件维护困难的表现 117
    8.4.2 软件维护的副作用 118
    8.4.3 软件维护的代价 118
    8.5 再工程和逆向工程 119
    8.5.1 再工程与逆向工程的概念 119
    8.5.2 为什么要实施软件再工程 120
    8.5.3 软件再工程技术 121
    本章小结 122
    习题8 123

    第2篇 面向对象的软件工程

    第9章 面向对象方法学 125
    9.1 面向对象方法概述 125
    9.1.1 面向对象方法学的发展 125
    9.1.2 面向对象方法学的优点和不足 126
    9.2 面向对象的软件工程 127
    9.2.1 面向对象基本概念 128
    9.2.2 对象、类及类之间关系的分析 129
    9.2.3 典型的面向对象开发方法 133
    9.3 统一建模语言UML 138
    9.3.1 UML的发展 138
    9.3.2 UML的定义及主要内容 139
    9.3.3 UML的特点和用途 141
    9.3.4 UML的模型视图简介 142
    9.3.5 UML常用软件开发工具 144
    9.4 统一软件开发过程RUP概述 148
    9.4.1 RUP的历史 149
    9.4.2 RUP的特色 149
    9.4.3 RUP软件开发的生存周期 150
    9.4.4 RUP过程的建模 152
    本章小结 153
    习题9 153

    第10章 面向对象的分析 155
    10.1 面向对象的分析过程 155
    10.1.1 用例模型 156
    10.1.2 对象模型 156
    10.1.3 动态模型 156
    10.1.4 物理(实现)模型 157
    10.1.5 4种模型之间的关系 157
    10.2 建立用例模型 158
    10.2.1 需求分析与用例建模 158
    10.2.2 确定系统范围和系统边界 158
    10.2.3 确定参与者 158
    10.2.4 确定用例 159
    10.2.5 确定用例之间的关系 161
    10.3 建立对象模型 162
    10.3.1 确定类和对象 163
    10.3.2 确定关联 163
    10.3.3 确定属性 164
    10.3.4 建立对象类图 164
    10.3.5 划分主题 165
    10.3.6 优化对象模型 165
    10.4 建立动态行为模型 166
    10.4.1 建立顺序图 166
    10.4.2 建立通信图 167
    10.4.3 建立状态图 168
    10.4.4 建立活动图 171
    10.5 建立物理实现模型 175
    10.5.1 建立构件图 175
    10.5.2 建立部署图 178
    10.6 面向对象软件开发过程的案例分析 181
    10.6.1 系统需求 181
    10.6.2 系统用例模型 182
    10.6.3 系统对象模型 182
    10.6.4 系统动态行为模型 183
    10.6.5 系统物理实现模型 185
    本章小结 186
    习题10 186

    第11章 面向对象的设计与实现 188
    11.1 面向对象的设计准则和启发式规则 188
    11.1.1 面向对象设计准则 188
    11.1.2 启发式规则 189
    11.2 系统设计 190
    11.2.1 问题域子系统设计 191
    11.2.2 人机交互子系统设计 193
    11.2.3 任务管理子系统设计 194
    11.2.4 数据管理子系统设计 195
    11.3 服务、关联与聚合关系设计 197
    11.3.1 服务设计 197
    11.3.2 关联设计 198
    11.3.3 聚合关系设计 202
    11.4 面向对象设计优化 203
    11.5 面向对象系统的实现 205
    11.5.1 面向对象程序设计语言的选择 205
    11.5.2 面向对象程序设计风格 205
    本章小结 206
    习题11 206

    第12章 软件开发工具StarUML及其应用 208
    12.1 软件开发工具StarUML概述 209
    12.1.1 StarUML的安装及使用 209
    12.1.2 StarUML的主要功能 209
    12.2 StarUML环境下的UML图形建模 211
    12.2.1 StarUML的用例图、类图和包图 213
    12.2.2 StarUML的交互图和状态机图 217
    12.2.3 StarUML的构件图与部署图 222
    12.2.4 StarUML的正向工程和逆向工程 223
    12.3 一个简易教学管理系统的分析和设计 225
    12.3.1 系统需求描述及分析 226
    12.3.2 系统问题领域分析 226
    12.3.3 静态结构模型的建立 230
    12.3.4 动态行为模型的建立 232
    12.3.5 系统物理模型的建立 236
    12.3.6 代码框架自动生成的过程 237
    本章小结 238
    习题12 238

    第13章 软件体系结构 240
    13.1 软件体系结构概述 240
    13.2 经典的软件体系结构风格 241
    13.2.1 管道-过滤器(流程处理)体系结构 241
    13.2.2 分层体系结构 242
    13.2.3 客户机/服务器体系结构 243
    13.2.4 浏览器/服务器体系结构(B/S) 245
    13.3 现代的软件体系结构风格 246
    13.3.1 公共对象请求代理体系结构 246
    13.3.2 基于层次消息总线的体系结构风格 248
    13.3.3 异构结构风格 248
    本章小结 251
    习题13 251

    第14章 设计模式 252
    14.1 设计模式概述 252
    14.1.1 设计模式的出现和发展 252
    14.1.2 设计模式和软件体系结构的关系 253
    14.1.3 设计模式的优点和分类 253
    14.2 GRASP设计模式及其应用 254
    14.2.1 GRASP设计模式概念及其分类 254
    14.2.2 几种典型的GRASP设计模式应用简介 256
    14.3 GoF设计模式及其应用 258
    14.3.1 GoF设计模式的组成及其分类 260
    14.3.2 创建型GoF设计模式应用实例 261
    14.3.3 结构型GoF设计模式应用实例 265
    14.3.4 行为型GoF设计模式应用实例 268
    本章小结 269
    习题14 270

    第15章 软件工程新技术 271
    15.1 软件复用技术 271
    15.1.1 软件复用概念及分类 271
    15.1.2 软件复用的关键技术和复用粒度 272
    15.2 基于构件的软件工程技术 272
    15.2.1 中间件技术 273
    15.2.2 构件与构件化 275
    15.2.3 构件模型及描述语言 276
    15.2.4 构件的检索与组装 278
    15.2.5 基于构件的软件工程方法 281
    15.2.6 SOA与SaaS 283
    15.3 软件过程与标准化 285
    15.3.1 软件过程及其改进 285
    15.3.2 ISO 9000标准 286
    15.3.3 软件能力成熟度模型(CMM) 287
    15.3.4 PSP、TSP和CMMI 289
    15.4 敏捷软件开发过程 291
    15.4.1 敏捷及敏捷过程相关概念 292
    15.4.2 典型的敏捷过程模型 294
    15.5 Web软件工程 298
    15.5.1 Web软件工程概述 298
    15.5.2 Web软件的需求分析 300
    15.5.3 Web软件的设计 302
    15.5.4 Web软件的测试 305
    15.6 软件产品线技术 306
    15.6.1 软件产品线基本概念 307
    15.6.2 软件产品线方法 309
    15.6.3 北大青鸟工程 310
    本章小结 311
    习题15 312

    第3篇 软件工程实验

    第16章 软件工程实验 314
    16.1 面向过程的软件工程实验 315
    实验1 图书管理系统的可行性分析 316
    实验2 图书管理系统的项目开发计划 316
    实验3 图书管理系统的需求分析 317
    实验4 图书管理系统的总体设计 317
    实验5 图书管理系统的详细设计及编码实现 318
    实验6 图书管理系统的测试 319
    实验7 图书管理系统用户手册的撰写 319
    实验8 图书管理系统项目开发总结报告的撰写 320
    16.2 面向对象的软件工程实验 320
    实验9 浏览器系统的可行性分析 320
    实验10 浏览器系统的项目开发计划 321
    实验11 浏览器系统的需求分析 322
    实验12 浏览器系统的体系结构设计 327
    实验13 采用面向对象方法进行浏览器系统的详细设计 329
    实验14 利用StarUML正向工程功能完成代码框架的自动生成实验 331
    实验15 利用StarUML逆向工程功能完成修改设计的实验 332
    实验16 浏览器系统的测试 332
    实验17 浏览器系统用户手册的撰写 334
    实验18 浏览器系统项目开发总结报告的撰写 334

    附录A UML图总结 335
    A.1 活动图 335
    A.2 类图 336
    A.3 通信图 336
    A.4 构件图 337
    A.5 组合结构图 337
    A.6 部署图 337
    A.7 对象图 338
    A.8 包图 338
    A.9 参数化通信图 338
    A.10 顺序图 338
    A.11 状态图 338
    A.12 计时图 339
    A.13 用例图 339
    附录B UML中定义的常用版型(stereotype)、约束(constraint)和标记(tag) 341
    附录C GOF给出的软件设计模式 344
    C.1 创建型模式(Creational) 344
    C.2 结构型(Structural)模式 346
    C.3 行为(Behavioral)模式 349

    参考文献 354
查看详情
12
您可能感兴趣 / 更多
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程:经典、现代和前沿
孙艳春 主编, 黄罡,邓水光 编著
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件逆向分析技术及应用
鲁宏伟 陈凯 邓贤君 许雷永
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程专业英语(第2版)
宋晓涛 谢红薇 郭晓红
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程--理论与实践
毛新军 董威
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件需求分析(微课版)
李美蓉 何中海
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件自动化测试入门攻略
杨定佳
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程(第4版 英文版)
(美) 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger)
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件性能测试、分析与调优实践之路(第2版)
张永清
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件灵活性设计:如何避免陷入编程困境 [美]克里斯·汉森
(美)克里斯·汉森 (美)杰拉尔德·杰伊·萨斯曼
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件开发珠玑:穿越50年软件往事的60条戒律
(美)Karl Wiegers(卡尔·魏格斯)
系列丛书 / 更多
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程:经典、现代和前沿
孙艳春 主编, 黄罡,邓水光 编著
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件逆向分析技术及应用
鲁宏伟 陈凯 邓贤君 许雷永
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程专业英语(第2版)
宋晓涛 谢红薇 郭晓红
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程--理论与实践
毛新军 董威
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件需求分析(微课版)
李美蓉 何中海
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件自动化测试入门攻略
杨定佳
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程(第4版 英文版)
(美) 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger)
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件性能测试、分析与调优实践之路(第2版)
张永清
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件灵活性设计:如何避免陷入编程困境 [美]克里斯·汉森
(美)克里斯·汉森 (美)杰拉尔德·杰伊·萨斯曼
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件开发珠玑:穿越50年软件往事的60条戒律
(美)Karl Wiegers(卡尔·魏格斯)
相关图书 / 更多
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程:经典、现代和前沿
孙艳春 主编, 黄罡,邓水光 编著
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件逆向分析技术及应用
鲁宏伟 陈凯 邓贤君 许雷永
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程专业英语(第2版)
宋晓涛 谢红薇 郭晓红
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程--理论与实践
毛新军 董威
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件需求分析(微课版)
李美蓉 何中海
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件自动化测试入门攻略
杨定佳
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件工程(第4版 英文版)
(美) 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger)
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件性能测试、分析与调优实践之路(第2版)
张永清
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件灵活性设计:如何避免陷入编程困境 [美]克里斯·汉森
(美)克里斯·汉森 (美)杰拉尔德·杰伊·萨斯曼
软件工程/工业和信息化普通高等教育“十二五”规划教材
软件开发珠玑:穿越50年软件往事的60条戒律
(美)Karl Wiegers(卡尔·魏格斯)