热门关键字:  听力密码  新概念美语  单词密码  巧用听写练听力  零起点
图书信息

软件工程(第二版)

中国水利水电出版社
    【作 者】曾强聪 赵 歆 阳王东 编著 【I S B N 】978-7-5170-7245-4 【责任编辑】张玉玲 【适用读者群】本专通用 【出版时间】2018-12-20 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第2版第1次印刷 【页 数】256 【千字数】388 【印 张】16 【定 价】35 【丛 书】普通高等教育“十三五”规划教材(软件工程专业) 【备注信息】
图书详情

    软件工程是软件研发与维护的工程方法学。本书较好地体现了软件工程的实用性,有较完整的软件工程知识体系。

    全书共10章内容:第1章至第3章是软件工程基础,涉及软件工程概念方法、软件项目管理、软件开发过程模式等内容;第4章至第7章是软件工程基于开发过程的细节说明,涉及软件分析、软件设计、软件测试、软件维护等内容;第8章和第9章是软件工程主流方法说明,涉及结构化工程方法、面向对象工程方法等诸多工程方法;第10章简要介绍了面向对象工程案例,内容有系统分析、系统设计、程序框架清单等。

    本书语言精简、通俗易懂、便于自学,而且教学资源完备,书中案例均已基于主流软件工具(Rose、Visio、PowerDesigner)建立模型,可作为教学或自学资源供读者参考(可与出版社或作者联系获取)。

    本书可作为高校相关专业本科生、研究生的教材,也可作为软件开发人员的技术参考书,还可供广大读者自学软件工程方法。

    较好地体现了软件工程的实用性,有较完整的软件工程知识体系。

    语言精简、通俗易懂、便于自学,教学资源完备。

    可作为高校相关专业本科生、研究生教材,也可作为软件开发人员的技术参考书。

    第二版前言

    本书第一版出版至今已经5年,产生了较好的教学效果。为了更好地服务教学,本书对第一版内容进行了必要的增补与修订,并考虑到实际教学需要对内容进行了重新组织与章节调整,但保留了第一版既有的系统性与实用性风格,如重视软件工程概念的说明,通过工程案例说明工程方法应用。

    全书共10章内容:

    第1章~第3章是软件工程基础,涉及软件工程概念方法、软件项目管理、软件开发过程模式等内容,对软件工程基于工程概念、项目进程、任务特征等进行了全局性说明,以使学习者在学习初期,就对软件工程有初步的较全面的认识,并以此获得较强的软件工程意识,能够尽早地以软件工程思维方式去看待软件开发问题。

    第4章~第7章是软件工程基于开发过程的任务细节说明,涉及软件分析、软件设计、软件测试、软件维护等内容。这是软件开发必然需要涉及的几项基本任务,每项任务都有特定目标,都要求有预期成果。实际上,这个顺序与软件工程课程实践是保持一致的。

    第8章、第9章是对软件工程主流方法的说明,涉及结构化工程方法、面向对象工程方法等诸多工程方法。第8章是结构化工程方法,这是一种早期传统的软件工程方法,特点是以功能为问题源头,并以实现功能为目标。第9章是面向对象工程方法,这是一种更接近现实世界的软件工程方法,基于现实世界进行实体抽象,并通过对象实例演绎现实实体。

    第10章则简要介绍了面向对象工程案例,内容有系统分析、系统设计、程序框架清单等。

    本书语言精简、通俗易懂、便于自学,而且教学资源较完备。书中案例都已基于主流软件工具(Rose、Visio、PowerDesigner)建立模型,可作为教学或自学资源供读者参考(可与出版社联系获取)。

    本书可作为高校相关专业本科生、研究生的教材,也可作为软件开发人员的技术参考书,并可供广大读者自学软件工程方法。

    编 者

    2018年9月

    第二版前言
    第一版前言

    第1章 软件工程综述 1
    1.1 什么是软件工程 1
    1.2 软件有什么特点 2
    1.2.1 软件特点 3
    1.2.2 软件分类 4
    1.3 为什么会发生软件危机? 6
    1.4 软件工程技术 8
    1.4.1 软件过程 8
    1.4.2 工程方法 9
    1.4.3 软件工具 9
    1.5 软件工程管理 10
    1.5.1 项目计划 10
    1.5.2 人员组织 10
    1.5.3 过程管理 11
    1.5.4 产品管理 11
    1.5.5 工程目标 11
    1.6 主流软件工程方法学 12
    1.6.1 结构化方法学 12
    1.6.2 面向对象方法学 13
    1.7 常用软件工具 15
    1.7.1 Microsoft Visio 15
    1.7.2 Sybase PowerDesigner 16
    1.7.3 IBM Rational Rose 16
    小结 17
    习题 18
    第2章 软件项目管理 19
    2.1 软件研发团队 19
    2.1.1 软件研发机构 19
    2.1.2 软件项目小组 20
    2.1.3 项目小组管理机制 21
    2.2 软件项目计划 23
    2.2.1 任务分配 23
    2.2.2 进度计划 24
    2.2.3 项目计划书 26
    2.3 软件项目成本估算 26
    2.3.1 程序代码行成本估算 27
    2.3.2 软件功能点成本估算 28
    2.3.3 基于软件过程的成本估算 31
    2.4 软件项目风险 32
    2.4.1 风险类别 32
    2.4.2 风险识别 33
    2.4.3 风险评估 34
    2.4.4 风险防范 35
    2.5 项目文档管理 36
    2.5.1 文档概念 36
    2.5.2 文档分类 37
    2.5.3 软件文档与软件生存周期之间的
    关系 37
    2.5.4 文档的使用者 38
    2.5.5 文档编码 39
    2.5.6 文档格式 39
    2.6 项目配置管理 41
    2.6.1 软件配置概念 41
    2.6.2 配置规划 41
    2.6.3 软件变更控制 43
    2.6.4 软件版本控制 43
    2.7 项目质量管理 44
    2.7.1 质量标准 44
    2.7.2 质量计划 45
    2.7.3 质量保证 45
    2.7.4 质量指标 46
    2.8 软件企业能力成熟度模型(CMM) 47
    2.8.1 能力成熟度等级 47
    2.8.2 软件过程进化 47
    2.8.3 个人软件过程(PSP) 48
    2.8.4 团队软件过程(TSP) 48
    小结 50
    习题 51
    第3章 软件工程过程模式 53
    3.1 软件生存周期 53
    3.1.1 软件定义期 53
    3.1.2 软件开发期 54
    3.1.3 软件运行与维护期 55
    3.2 瀑布模式 56
    3.2.1 瀑布模式的特点 56
    3.2.2 瀑布模式中的信息反馈 57
    3.2.3 瀑布模式的作用 58
    3.3 原型进化模式 58
    3.3.1 软件原型 58
    3.3.2 原型进化过程 59
    3.4 增量模式 60
    3.4.1 增量开发过程 60
    3.4.2 增量模式的优越性 60
    3.5 螺旋模式 61
    3.6 迭代模式 62
    3.7 组件复用模式 63
    小结 64
    习题 65
    第4章 软件分析 66
    4.1 计算机系统工程 66
    4.1.1 计算机系统特征 66
    4.1.2 计算机体系结构 67
    4.2 软件系统前期分析 69
    4.2.1 分析过程 70
    4.2.2 系统结构建模 71
    4.2.3 系统工作流建模 71
    4.3 项目可行性分析 73
    4.3.1 评估内容 74
    4.3.2 评估报告 75
    4.4 用户需求分析 76
    4.4.1 分析内容 76
    4.4.2 分析过程 77
    4.4.3 任务承担者 77
    4.5 获取用户需求 78
    4.5.1 识别用户 78
    4.5.2 从调查中收集用户需求 80
    4.5.3 建立需求规约 82
    4.6 建立需求模型 83
    4.6.1 业务域模型 84
    4.6.2 业务流模型 84
    4.7 定义与验证软件规格 85
    4.7.1 软件规格定义 85
    4.7.2 软件需求验证 86
    4.7.3 通过原型验证用户需求 86
    4.7.4 通过评审验证产品规格 87
    4.8 需求规格说明书 87
    小结 88
    习题 89
    第5章 软件设计 90
    5.1 系统概要设计 90
    5.1.1 基本任务 90
    5.1.2 设计过程 91
    5.2 系统构架设计 92
    5.2.1 软件系统支持环境 92
    5.2.2 软件系统体系结构 93
    5.3 数据结构设计 97
    5.3.1 动态程序数据 97
    5.3.2 静态存储数据 97
    5.4 程序结构设计 97
    5.4.1 程序模块 98
    5.4.2 模块独立性 100
    5.4.3 结构化程序结构 104
    5.4.4 面向对象程序结构 105
    5.5 概要设计说明书 106
    5.6 程序结构化流程控制 108
    5.7 算法设计工具 109
    5.7.1 程序流程图 109
    5.7.2 NS图 109
    5.7.3 PAD图 111
    5.7.4 PDL语言 112
    5.8 程序算法复杂度评估 113
    5.8.1 程序算法复杂度 113
    5.8.2 McCabe方法 113
    5.9 程序编码 115
    5.9.1 编程语言 115
    5.9.2 编程规范 117
    5.9.3 程序运行效率 119
    小结 120
    习题 121
    第6章 软件测试 123
    6.1 测试目的、计划与方法 123
    6.1.1 测试目的 123
    6.1.2 测试计划 123
    6.1.3 测试方法 124
    6.2 测试任务 125
    6.2.1 单元测试 125
    6.2.2 集成测试 127
    6.2.3 确认测试 129
    6.3 测试用例 130
    6.3.1 白盒测试用例设计 130
    6.3.2 黑盒测试用例设计 132
    6.4 面向对象程序测试 134
    6.4.1 面向对象单元测试 134
    6.4.2 面向对象集成测试 134
    6.4.3 面向对象确认测试 135
    6.5 程序调试 135
    6.5.1 诊断方法 135
    6.5.2 调试策略 136
    6.6 测试工具 137
    6.6.1 测试数据生成程序 137
    6.6.2 动态分析程序 137
    6.6.3 静态分析程序 137
    小结 137
    习题 138
    第7章 软件维护与再工程 140
    7.1 软件维护分类 140
    7.2 软件可维护性 141
    7.2.1 软件可维护性评估 141
    7.2.2 如何提高软件的可维护性? 141
    7.3 软件维护实施 142
    7.3.1 维护机构 142
    7.3.2 维护过程 143
    7.4 软件再工程 145
    7.4.1 逆向工程 145
    7.4.2 重构工程 146
    7.4.3 正向工程 146
    小结 146
    习题 147
    第8章 结构化工程方法 148
    8.1 结构化分析 148
    8.2 功能层级图 149
    8.3 数据流图与功能建模 149
    8.3.1 数据流图 150
    8.3.2 数据流细化 151
    8.3.3 功能建模 152
    8.3.4 数据字典 154
    8.4 状态转换图与行为建模 156
    8.5 结构化设计建模 159
    8.5.1 程序结构图 159
    8.5.2 HIPO图 160
    8.5.3 框架伪码 161
    8.6 基于数据流的程序结构映射 162
    8.6.1 变换流映射 162
    8.6.2 事务流映射 164
    8.6.3 混合流映射 165
    8.7 程序结构优化 167
    8.8 设计举例 170
    小结 176
    习题 177
    第9章 面向对象工程方法 180
    9.1 建模方法 180
    9.2 UML建模语言 181
    9.3 面向对象分析建模 184
    9.3.1 用例建模 184
    9.3.2 活动建模 189
    9.3.3 实体类建模 191
    9.4 面向对象设计建模 196
    9.4.1 面向对象设计特点 196
    9.4.2 基于UML的设计建模 198
    9.5 系统逻辑结构设计 199
    9.5.1 确定系统构架 199
    9.5.2 设计类体 201
    9.5.3 抽象类、接口及其用途 205
    9.5.4 程序逻辑结构 207
    9.6 程序对象交互设计 213
    9.6.1 协作图 213
    9.6.2 时序图 215
    9.6.3 状态图 217
    9.7 系统物理装配与部署 218
    9.7.1 程序构件图 218
    9.7.2 系统部署图 220
    小结 221
    习题 223
    第10章 面向对象工程案例 226
    10.1 系统分析 226
    10.1.1 基本需求说明 226
    10.1.2 功能用例分析 226
    10.1.3 任务活动分析 228
    10.2 系统设计 229
    10.2.1 系统构架设计 229
    10.2.2 类结构设计 229
    10.2.3 对象交互设计 231
    10.2.4 棋局对垒界面设计 235
    10.2.5 系统构件设计 236
    10.3 程序框架清单 237
    10.3.1 客户端程序 237
    10.3.2 服务器程序 242
    参考文献 244
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册