高等学校计算机专业教材

软件工程基础

分享 推荐 0 收藏 0 阅读 0
陆惠恩 (编著) 7-115-13929-6

关于本书的内容有任何问题,请联系 张孟玮

结合软件工程应用开发。
19.00
立即购买 申请样书

内容摘要

  本书系统地介绍了软件工程的基本概念、原理、方法及目前较成熟的软件工程技术。内容包括:软件工程概述,软件的可行性研究、需求分析、概要设计、用户界面设计、过程设计、程序设计、软件测试、软件维护等阶段的方法、步骤和文档规范,面向对象方法和统一建模语言(UML)?砑⒒肪常砑赜茫砑柿勘Vず腿砑こ坦芾淼取N耸苟琳吒玫匮昂驼莆沼泄刂叮空露加行〗幔⑴溆惺柿康睦夂拖疤狻?  本书的编写力求做到结合实际、注重应用、便于教学,注意内容的新颖、实用和系统性。
  本书可作为普通高等学校计算机科学与技术、计算机软件及计算机应用等专业的本科教材,也可供从事计算机应用软件开发和维护的广大科技人员作参考。

目录

第 1章 概述 1
1.1 软件工程简介 1
1.1.1 软件生产的发展 1
1.1.2 软件危机 2
1.1.3 软件工程 3
1.2 软件工程学 4
1.2.1 软件工程学的主要内容 4
1.2.2 软件工程过程 6
1.2.3 软件工程的基本原理 6
1.3 软件生存周期 7
1.4 软件开发模型 8
1.4.1 瀑布模型 9
1.4.2 快速原型模型 10
1.4.3 增量模型 11
1.4.4 喷泉模型 12
1.4.5 螺旋模型 13
1.4.6 统一过程 14
本章小结 15
习题一 16

第 2章 软件定义与软件计划 18
2.1 软件定义与可行性研究 18
2.1.1 软件定义 18
2.1.2 可行性研究 19
2.1.3 可行性研究的结论 20
2.2 软件工程开发计划 20
2.2.1 软件工程项目概述和实施计划 21
2.2.2 软件开发计划与复审 21
本章小结 22
习题二 23

第3章 需求分析 24
3.1 需求分析的任务 24
3.1.1 确定目标系统的具体要求 25
3.1.2 建立目标系统的逻辑模型 26
3.2 结构化分析步骤 27
3.2.1 进行调查研究 27
3.2.2 分析和描述系统的逻辑模型 28
3.2.3 需求分析的复审 28
3.3 需求分析的图形工具 29
3.3.1 实体-关系图 29
3.3.2 数据流图 31
3.3.3 状态转换图 33
3.3.4 IPO图 34
3.4 数据字典 35
3.4.1 数据字典的内容 35
3.4.2 数据字典使用的符号 36
3.4.3 数据字典与图形工具 37
3.5 需求分析文档 38
3.5.1 软件需求规格说明 38
3.5.2 编写需求分析文档的步骤 38
3.5.3 用户手册编写提示 39
本章小结 39
习题三 40

第4章 概要设计 42
4.1 概要设计步骤 42
4.1.1 软件结构设计 42
4.1.2 数据结构及数据库设计 43
4.1.3 系统接口设计 44
4.1.4 设计测试方案 44
4.2 软件结构设计的基本原理 44
4.2.1 模块与信息隐蔽 44
4.2.2 模块化 45
4.2.3 模块的耦合和内聚 47
4.2.4 软件结构设计优化准则 49
4.3 软件结构设计的图形工具 51
4.3.1 层次图 51
4.3.2 结构图 51
4.4 概要设计方法 52
4.4.1 结构化方法 53
4.4.2 面向数据结构的设计方法 55
4.5 代码设计 58
4.5.1 代码设计原则 59
4.5.2 代码种类 59
4.5.3 代码设计方法 61
4.6 数据输入/输出设计 61
4.6.1 输入设计 61
4.6.2 输出设计 62
4.7 数据的安全设计 62
4.8 概要设计文档与复审 63
4.8.1 概要设计说明书 63
4.8.2 概要设计复审 64
4.8.3 数据库设计说明书 65
本章小结 66
习题四 66

第5章 详细设计 68
5.1 用户界面设计 68
5.1.1 用户界面设计问题 68
5.1.2 用户界面设计过程 70
5.1.3 用户界面设计的基本原则 70
5.1.4 用户界面设计指南 70
5.2 过程设计 72
5.2.1 流程图 72
5.2.2 盒图 76
5.2.3 PAD图 77
5.2.4 判定表 79
5.2.5 判定树 79
5.2.6 过程设计语言 80
5.3 详细设计文档与复审 82
5.3.1 详细设计说明书 82
5.3.2 操作手册编写提示 82
5.3.3 详细设计的复审 83
本章小结 84
习题五 84

第6章 软件实现 85
6.1 结构化程序设计 85
6.2 选择程序设计语言 86
6.3 程序设计风格 88
6.4 程序设计质量的评价 89
6.5 程序设计文档 90
6.6 软件测试的目标和原则 90
6.6.1 软件测试的目标 90
6.6.2 测试原则 91
6.7 软件测试的方法 91
6.7.1 静态分析与动态测试 91
6.7.2 黑盒法与白盒法 92
6.8 软件测试的步骤 93
6.8.1 模块测试 93
6.8.2 集成测试 93
6.8.3 程序审查会和人工运行 94
6.8.4 确认测试 95
6.8.5 平行运行 96
6.9 设计测试方案 96
6.9.1 等价类划分法 96
6.9.2 边界值分析法 97
6.9.3 错误推测法 97
6.9.4 逻辑覆盖法 98
6.9.5 因果图法 101
6.9.6 实用测试策略 103
6.10 软件调试、验证与确认 104
6.10.1 软件调试 104
6.10.2 程序正确性验证 105
6.10.3 软件确认 106
6.11 软件测试计划和分析报告 106
本章小结 107
习题六 108

第7章 软件维护 112
7.1 软件维护过程 112
7.1.1 维护的种类 112
7.1.2 结构性维护与非结构性维护 113
7.1.3 维护的费用 114
7.1.4 维护的困难 114
7.1.5 维护的实施 114
7.1.6 维护的副作用 116
7.2 软件的可维护性 117
7.2.1 决定软件可维护性的因素 117
7.2.2 可维护性的度量 117
7.2.3 提高软件的可维护性 118
本章小结 119
习题七 120

第8章 面向对象方法学与UML 121
8.1 面向对象方法概述 121
8.1.1 面向对象方法学的主要优点 122
8.1.2 面向对象的概念 123
8.2 UML概述 125
8.2.1 UML的发展 125
8.2.2 UML的设计目标和内容 126
8.2.3 UML的语义 127
8.3 UML图 128
8.3.1 用例图 128
8.3.2 类图和包 129
8.3.3 对象图 133
8.3.4 状态图 133
8.3.5 顺序图 135
8.3.6 活动图 135
8.3.7 协作图 136
8.3.8 构件图 137
8.3.9 部署图 137
本章小结 138
习题八 139

第9章 面向对象技术及UML应用 140
9.1 面向对象分析 140
9.1.1 面向对象的分析过程 140
9.1.2 面向对象的分析原则 140
9.2 建立对象模型 141
9.2.1 确定对象和类 141
9.2.2 确定类的相互关系 142
9.2.3 划分主题 145
9.3 建立动态模型 147
9.3.1 编写脚本 148
9.3.2 设计用户界面 149
9.3.3 画UML顺序图或活动图 149
9.3.4 画状态转换图 149
9.4 建立功能模型 150
9.5 面向对象设计 151
9.5.1 系统设计 152
9.5.2 对象设计 155
9.5.3 面向对象设计的准则 156
9.5.4 面向对象设计的启发规则 156
9.6 UML的应用 157
9.6.1 UML模型 157
9.6.2 UML视图 158
9.6.3 UML使用准则 160
9.6.4 UML的扩展机制 161
9.6.5 UML的应用领域 162
9.7 面向对象系统的实现 162
9.7.1 选择程序设计语言 162
9.7.2 面向对象程序设计 163
9.7.3 面向对象的测试 164
9.8 统一过程 164
9.8.1 RUP的开发模式 165
9.8.2 RUP的特点 166
9.8.3 RUP的要素 166
本章小结 167
习题九 168

第 10章 软件开发环境 169
10.1 软件开发工具 169
10.2 软件工程环境 172
10.3 CASE 技术 174
本章小结 175
习题十 176

第 11章 软件重用 177
11.1 可重用的软件成分 177
11.2 软件重用的过程 178
11.2.1 软件重用过程模型 178
11.2.2 开发可重用的软件构件 179
11.2.3 分类和检索软件构件 180
11.2.4 软件重用环境 181
本章小结 181
习题十一 182

第 12章 软件工程管理 183
12.1 软件工程管理概述 183
12.2 软件规模估算 184
12.2.1 软件开发成本估算方法 184
12.2.2 代码行技术和任务估算技术 185
12.2.3 功能点技术 186
12.2.4 COCOMO模型 188
12.2.5 程序环行复杂程度的度量 190
12.3 进度计划 191
12.3.1 Gantt图 191
12.3.2 工程网络技术 191
12.4 人员组织 194
12.5 软件配置管理 196
12.6 软件质量保证 199
12.6.1 软件质量的特性 199
12.6.2 软件质量保证措施 200
12.7 软件工程标准与软件文档 201
12.7.1 软件工程标准 201
12.7.2 软件文档的编写 203
本章小结 204
习题十二 204

附录 选择题参考答案 206

参考文献 207

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • 网络工程技术

    李颂华 黄儒乐 袁津生

      本书是一本系统介绍网络工程基础知识的图书。全书条理清晰、逻辑性强,遵循从全局到细节,从底层基础到高层应用的...

    ¥26.00
  • 数值计算方法(第二版)

    刘萍

      本书是高等学校计算机专业教材。全书共分六章,内容包括:插值方法、贝齐尔曲线和B样条曲线、数值积分、线性代数...

    ¥17.00
  • 计算机组成与结构

    唐锐 华良杰 马玉良

      本书以冯·诺依曼体系结构的基本概念和工作原理及设计方法为主要内容,结合当前计算机发展的新技术,对计算机的组...

    ¥25.00
  • 网络编程实用教程

    叶树华 高志红

      全书分为10章,第1章介绍网络编程基础,第2章介绍UNIX套接字网络编程接口,第3章介绍Windows环境...

    ¥29.00
  • 嵌入式系统——组成、原理与设计编程

    金敏 周翔 金梁

      嵌入式系统是嵌入式硬件与嵌入式软件两者的综合体,本书系统介绍嵌入式系统软硬件的组成、工作原理和设计编程方法...

    ¥28.00

相关图书

  • 软件测试技术实战教程 敏捷、Selenium与Jmeter(微课版)

    北京威链优创科技有限公司

    本书是《软件测试技术基础教程 理论、方法与工具》的姐妹篇,《软件测试技术基础教程 理论、方法与工具》详细介绍软...

    ¥49.80
  • MATLAB基础与应用教程(第2版)

    刘卫国 蔡立燕

    本书是在第1版的基础上修订改写而成。全书结合科学计算与工程应用的需要,从实用角度出发,通过大量的算法实现和典型...

    ¥59.80
  • Java高级程序设计实战教程

    戴远泉 李超 董慧慧 麦琪琳

    本书是在读者初步掌握Java的基础知识和技能之后,进一步学习Java高级编程的指导用书。主要内容包括Java编...

    ¥46.00
  • Python基础教程(第2版)

    王欣 王文兵

    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,是最受欢迎的程序设计语言之一。Python...

    ¥49.80
  • 软件设计模式(Java版)

    程细柱

    本书从面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式...

    ¥49.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部