软件工程

本书特色

[

软件工程是一门讲授如何采用工程学的原理、技术和方法开发与维护软件的课程。本书结合国内外软件工程领域*的进展,以软件设计方法、工具应用为主线,通过基础篇、高级篇和案例篇三部分,从实践、实用的角度,通过丰富的实例和热点问题,系统地介绍了软件工程的基本思想、方法。本书内容全面,涉及大数据、云计算、可穿戴计算、面向服务计算等新技术内容,此外,对软件职业素质和职业道德也进行了阐述。本书取材新颖,深入浅出地介绍了软件工程基本理论和前沿技术。通过典型项目案例和应用实例,使读者能够快速掌握软件工程理论和设计方法。本书适合作为计算机科学与技术、软件工程、信息管理与信息系统、信息与计算科学等专业本科生的教材,也可作为研究生及相关学科领域软件技术研究人员的参考用书。

]

目录


础 篇
第1 章
概论………………………………….2
1.1 软件危机……………………………………..
3
1.1.1 摩尔定律和超越摩尔…………….
3
1.1.2 软件危机的介绍……………………
4
1.1.3 产生软件危机的原因…………….
5
1.1.4 消除软件危机的途径…………….
6
1.2 软件开发工程化…………………………..
7
1.2.1 软件工程的定义……………………
7
1.2.2 软件开发的发展过程…………….
8
1.2.3 软件工程的基本原理…………..
10
1.3 软件工程产品分类及来源…………..
11
1.3.1 软件工程产品分类………………
11
1.3.2 软件工程项目来源………………
12
1.4 软件生命周期…………………………….
13
1.4.1 软件生命周期的定义…………..
13
1.4.2 软件生命周期的阶段…………..
14
1.5 软件工程方法学…………………………
16
1.5.1 软件工程方法学的定义……….
16
1.5.2 软件工程方法学的类型……….
16
1.6 软件工程人员的业务素质和
职业道德…………………………………… 19
1.6.1 软件工程师的业务素质……….
20
1.6.2 软件工程师的职业道德规范….. 20
1.6.3 软件工程师职业实践的准则….. 21
1.6.4 软件工程师职业实践的
国际标准……………………………. 22
本章小结………………………………………….. 23
习题…………………………………………………. 23
第2 章
软件过程与模型………………..25
2.1 软件过程……………………………………
25
2.1.1 软件过程的定义………………….
25
2.1.2 软件过程的特点………………….
25
2.1.3 软件过程的分类………………….
26
2.1.4 软件过程的作用………………….
26
2.1.5 软件过程模型化………………….
26
2.2 瀑布模型……………………………………
26
2.2.1 瀑布模型的基本思想…………..
26
2.2.2 瀑布模型的特点………………….
28
2.2.3 瀑布模型的应用范围…………..
30
2.3 快速原型法………………………………..
30
2.3.1 快速原型法的基本思想……….
30
2.3.2 快速模型的特点………………….
31
2.3.3 快速原型法的应用范围……….
32
2.4 增量模型……………………………………
32
2.4.1 增量模型的基本思想…………..
32
2.4.2 增量模型的特点………………….
32
2.4.3 增量模型应用范围………………
33
2.5 螺旋模型……………………………………
33
2.5.1 螺旋模型的基本思想…………..
33
2.5.2 螺旋模型的特点………………….
35
2.5.3 螺旋模型的应用范围…………..
35
2.6 V 模型……………………………………….
35
2.6.1 V 模型的基本思想………………
35
2.6.2 V 模型的特点……………………..
36
2.6.3 V 模型的应用范围………………
36
2.7 敏捷软件开发…………………………….
36


2
软件工程
2.7.1 敏捷开发的基本思想…………..
36
2.7.2 敏捷开发的特点………………….
37
2.7.3 敏捷开发的应用范围…………..
38
本章小结………………………………………….. 38
习题…………………………………………………. 38
第3 章
软件计划与可行性研究……….40
3.1 问题定义……………………………………
40
3.2 软件规模估算…………………………….
41
3.2.1 软件估算的概念………………….
41
3.2.2 软件估算的方法………………….
41
3.3 可行性研究………………………………..
43
3.3.1 可行性研究的概念………………
43
3.3.2 可行性研究的分类………………
44
3.3.3 可行性研究的步骤………………
45
3.4 软件项目计划…………………………….
47
3.4.1 软件范围…………………………….
47
3.4.2 环境资源…………………………….
47
3.4.3 制定进度表…………………………
48
3.5 系统流程图………………………………..
48
3.5.1 系统流程图的定义………………
48
3.5.2 系统流程图的符号表示……….
48
3.5.3 应用实例…………………………….
49
3.6 其他补充说明…………………………….
50
本章小结………………………………………….. 51
习题…………………………………………………. 51
第4 章
软件需求分析……………………53
4.1 软件需求的定义…………………………
53
4.2 需求分析的层次内容………………….
54
4.3 需求分析的任务…………………………
55
4.3.1 确定项目的范围………………….
55
4.3.2 确定具体需求……………………..
56
4.3.3 软件需求文档化………………….
56
4.4 需求获取的方法…………………………
57
4.4.1 用户沟通交流法………………….
57
4.4.2 工具分析法…………………………
59
4.4.3 模型及语言描述法………………
61
4.4.4 原型化方法…………………………
62
4.5 需求分析的步骤…………………………
64
4.6 数据流图……………………………………
66
4.6.1 数据流图的定义………………….
66
4.6.2 数据流图的符号表示…………..
66
4.6.3 数据流图的绘制方法…………..
67
4.6.4 银行储蓄系统应用实例……….
68
4.6.5 毕业生就业管理系统应用
实例…………………………………… 70
4.7 数据字典……………………………………
72
4.7.1 数据字典的定义………………….
72
4.7.2 基本符号…………………………….
72
4.7.3 互联网 电商销售应用实例….
73
4.8 实体-联系图………………………………
74
4.8.1 实体-联系图的定义…………….
74
4.8.2 实体-联系图的符号表示………
75
4.8.3 应用实例…………………………….
75
4.9 状态转换图………………………………..
76
4.9.1 状态转换图的定义………………
76
4.9.2 状态转换图的符号表示……….
76
4.9.3 人体运动捕捉系统应用
实例…………………………………… 77
4.9.4 电话系统行为过程应用
实例…………………………………… 77
4.10 UML 用例需求模型………………….
78
4.10.1 UML 基本概念………………….
78
4.10.2 UML 主要内容………………….
78
4.10.3 用例需求功能模型…………….
79
4.11 需求变更管理…………………………..
81
4.11.1 控制项目范围的扩展…………
81
4.11.2 变更控制过程……………………
82
4.11.3 变更控制委员会………………..
84
4.11.4 度量变更活动……………………
85
本章小结………………………………………….. 85
习题…………………………………………………. 85
第5 章
软件总体设计……………………87
5.1 软件总体设计阶段的任务…………..
87
3


5.2 软件总体设计基本思想………………
88
5.2.1 雪球理论…………………………….
88
5.2.2 模块化………………………………..
88
5.2.3 抽象……………………………………
89
5.2.4 逐步求精…………………………….
91
5.2.5 信息隐藏和局部化………………
91
5.2.6 模块独立内聚和耦合…………..
91
5.2.7 软件结构设计的启发式规则…. 93
5.3 总体设计阶段的工作步骤…………..
96
5.3.1 总体设计阶段组成………………
96
5.3.2 总体设计步骤……………………..
96
5.4 系统设计阶段…………………………….
97
5.4.1 二维码的食品安全追溯系统
问题描述……………………………. 97
5.4.2 二维码的食品安全追溯系统
分析…………………………………… 98
5.4.3 二维码的食品安全追溯系统
设计…………………………………… 99
5.5 软件结构设计工具……………………
100
5.5.1 层次图定义及实例…………….
100
5.5.2 结构图定义及实例…………….
101
5.6 面向数据流的设计方法…………….
103
5.6.1 定义………………………………….
103
5.6.2 数据流图的类型………………..
103
5.6.3 设计步骤…………………………..
104
5.6.4 汽车数字仪表板实例…………
107
本章小结………………………………………… 110
习题……………………………………………….. 110
第6 章
人机交互设计………………….112
6.1 人机交互基本概念……………………
112
6.1.1 人机交互的定义………………..
112
6.1.2 人机交互的研究内容…………
112
6.2 人机交互感知和认知基础…………
113
6.2.1 视觉感知…………………………..
113
6.2.2 颜色模型…………………………..
116
6.2.3 听觉感知…………………………..
118
6.2.4 触觉感知…………………………..
120
6.3 人机交互发展阶段……………………
120
6.4 传统交互设备…………………………..
121
6.5 可穿戴计算技术与设备…………….
121
6.6 人机界面设计基础……………………
122
6.6.1 人机界面设计的定义…………
122
6.6.2 理解用户…………………………..
123
6.7 界面设计原则…………………………..
125
6.7.1 图形用户界面的主要思想…. 125
6.7.2 图形用户界面的一般原则…. 127
6.8 Web 界面设计…………………………..
128
6.8.1 Web 界面及相关概念…………
128
6.8.2 Web 界面设计原则…………….
128
6.8.3 Web 风格与布局色彩设计…. 129
6.8.4 Web 文本设计……………………
130
本章小结………………………………………… 131
习题……………………………………………….. 131
第7 章
软件详细设计………………….132
7.1 详细设计阶段的目的和任务……..
132
7.1.1 详细设计阶段的目的…………
132
7.1.2 详细设计阶段的任务…………
132
7.2 结构化程序设计与程序设计
风格………………………………………… 133
7.2.1 结构化程序设计………………..
133
7.2.2 程序设计的风格………………..
134
7.3 常用的详细设计表达工具…………
135
7.3.1 程序流程图……………………….
135
7.3.2 盒图………………………………….
136
7.3.3 PAD 图……………………………..
137
7.3.4 决策树………………………………
138
7.3.5 决策表………………………………
139
7.3.6 PDL 设计语言…………………..
140
7.4 程序复杂度的定量计算…………….
141
7.4.1 McCabe 方法…………………….
141
7.4.2 Halstead 方法…………………….
142
本章小结………………………………………… 143
习题……………………………………………….. 143
4
软件工程
第8 章
软件编码………………………..145
8.1 程序设计语言…………………………..
145
8.1.1 程序设计语言的定义…………
145
8.1.2 程序设计语言的特性…………
145
8.1.3 程序设计语言的分类…………
146
8.2 程序设计语言的选择………………..
147
8.2.1 程序设计语言选择标准……….
148
8.2.2 程序设计风格……………………
149
本章小结………………………………………… 150
习题……………………………………………….. 150
第9 章
软件测试………………………..151
9.1 软件测试基础…………………………..
151
9.1.1 软件测试的定义………………..
151
9.1.2 软件测试的目标………………..
151
9.1.3 软件测试的内容………………..
152
9.1.4 软件测试的心理依据…………
152
9.1.5 软件测试的发展史…………….
154
9.1.6 软件测试典型案例…………….
155
9.2 软件测试的原理与特点…………….
157
9.2.1 软件测试的原理………………..
157
9.2.2 软件测试的特点………………..
158
9.3 软件测试的基本方法………………..
158
9.3.1 人工测试和机器测试…………
158
9.3.2 白盒测试、黑盒测试
和灰盒测试………………………. 159
9.3.3 Alpha 测试和Beta 测试……..
159
9.4 软件测试的过程和步骤…………….
160
9.4.1 软件测试的过程………………..
160
9.4.2 软件测试的步骤………………..
160
9.4.3 回归测试…………………………..
164
9.5 黑盒测试技术…………………………..
164
9.5.1 黑盒测试方法概述…………….
164
9.5.2 划分等价类……………………….
165
9.5.3 边界值分析法……………………
165
9.5.4 错误推测法……………………….
166
9.6 白盒测试技术…………………………..
166
9.6.1 白盒测试的方法………………..
166
9.6.2 白盒测试的优缺点…………….
167
9.7 软件可靠性与可用性………………..
167
9.8 软件压力测试…………………………..
168
9.9 软件容量测试…………………………..
169
本章小结………………………………………… 169
习题……………………………………………….. 170
第10 章
软件维护与再工程………….171
10.1

封面

软件工程

书名:软件工程

作者:陈永

页数:384

定价:¥58.0

出版社:中国铁道出版社

出版日期:2017-01-01

ISBN:9787113197179

PDF电子书大小:40MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注