简介
《软件工程(高职高专计算机类专业十二五规划教材)》共分10章,内容包括:软件工程的时代背景、理论基础及软件开发的可行性分析;软件项目的需求分析;软件项目的总体设计和详细设计方法;软件项目的实现;软件项目的测试技术;软件的维护和软件项目管理等;以及如何书写整个软件项目的开发总结性材料。
全书编写工作分配如下:第1章由张瑞霞、杨志宏编写,第2章和第6章由杨雅军编写,第3章由张晓红、张瑞霞合编,第4章由张晓红、郭改文编写,第5章和第10章由杨志宏编写,第7章由庄晋林、石燕合编,第8章、第9章由郭改文编写,由杨志宏、庄晋林负责统稿。
目录
第1章软件及其可行性分析1
1 1软件与软件危机1
1 1 1软件的特点1
1 1 2软件发展简史2
1 1 3软件危机2
1 2软件生命周期4
1 2 1软件定义4
1 2 2软件开发5
1 2 3软件维护6
1 3软件过程模型6
1 3 1瀑布模型6
1 3 2快速原型模型7
1 3 3增量模型8
1 3 4螺旋模型9
1 3 5喷泉模型10
1 3 6构件组装模型10
1 3 7第四代技术模型11
1 4软件工程11
1 4 1软件工程的定义11
1 4 2软件工程的基本策略12
1 4 3软件工程应遵循的原则12
1 5可行性调研分析14
1 5 1项目开发背景14
1 5 2问题定义14
1 5 3可行性分析15
1 5 4开发计划的制定15
1 6实验实训16
小结16
习题一16
第2章需求分析18
2 1需求分析基础18
2 1 1需求分析的任务18
2 1 2需求分析的步骤19
2 1 3需求获取技术20
2 1 4需求分析模型21
2 2结构化分析方法22
2 2 1结构化开发方法23
2 2 2结构化分析方法23
2 3数据流图24
2 3 1数据流图的符号25
2 3 2数据流图的画法27
2 3 3检查和修改数据流图的原则30
2 3 4确定数据定义与加工策略31
2 4数据字典31
2 4 1数据字典的符号及其含义31
2 4 2实例32
2 5加工说明33
2 5 1结构化语言33
2 5 2判定表34
2 5 3判定树35
2 6软件需求规格说明与需求验证35
2 6 1需求规格说明35
2 6 2需求验证38
2 7实验实训39
小结39
习题二39
第3章软件设计42
3 1软件设计概述42
3 1 1软件设计在开发阶段中的重
要性42
3 1 2软件设计的任务42
3 2软件设计的基本原理44
3 2 1模块化44
3 2 2抽象45
3 2 3信息隐蔽45
3 2 4模块独立性45
3 3软件设计的准则50
3 4用户界面设计54
3 4 1界面设计的基本类型54
3 4 2界面设计的一般问题54
3 4 3用户界面设计指南55
3 5软件设计工具57
3 5 1层次图和HIPO图57
3 5 2结构图58
3 6面向数据流的设计方法59
3 6 1基本概念59
3 6 2设计过程60
3 6 3变换分析61
3 6 4事务分析设计62
3 6 5综合设计63
3 6 6结构化设计应用示例64
3 6 7设计的后处理65
3 7详细设计67
3 7 1详细设计的基本任务与原则67
3 7 2结构化程序设计68
3 7 3详细设计的工具69
3 8软件设计文档及其复审77
3 8 1软件设计文档77
3 8 2软件设计复审78
3 9实验实训78
小结79
习题三80
第4章软件项目的实现83
4 1程序设计方法83
4 1 1程序设计方法的发展83
4 1 2结构化程序设计84
4 1 3模块化程序设计的方法84
4 1 4面向对象的程序设计85
4 1 5编码的标准86
4 2程序设计语言的选择87
4 2 1程序设计语言的定义87
4 2 2程序设计语言的基本成分88
4 2 3程序设计语言的特性88
4 2 4程序设计语言的分类90
4 2 5程序设计语言的选择91
4 3编码的风格92
4 3 1源程序文档化93
4 3 2数据说明95
4 3 3程序的视觉组织95
4 3 4输入和输出95
4 3 5效率96
4 3 6其他推荐原则96
4 4实验实训97
小结97
习题四98
第5章软件测试100
5 1软件测试的目的100
5 1 1软件测试的定义100
5 1 2软件测试的目的100
5 1 3软件测试的原则101
5 2软件测试的方法和步骤102
5 2 1软件测试的方法102
5 2 2软件测试的信息流103
5 3黑盒测试103
5 3 1测试用例103
5 3 2黑盒测试的概念103
5 3 3黑盒测试用例的设计104
5 4白盒测试111
5 4 1白盒测试的概念111
5 4 2白盒测试用例的设计112
5 5软件测试的过程122
5 5 1软件测试过程概述122
5 5 2软件测试过程与软件开发各阶
段的关系122
5 5 3单元测试123
5 5 4集成测试126
5 5 5确认测试130
5 5 6系统测试132
5 6调试132
5 6 1调试步骤132
5 6 2调试方法132
5 6 3调试原则135
5 7实验实训136
小结136
习题五137
第6章软件维护139
6 1软件维护的目的139
6 1 1软件维护的原因139
6 1 2软件维护的定义139
6 1 3软件维护的分类139
6 2软件维护的成本140
6 2 1影响软件维护的因素140
6 2 2软件维护的困难性141
6 2 3软件维护成本的分析141
6 3软件维护活动的实施142
6 3 1软件维护的组织142
6 3 2软件维护的流程142
6 3 3保存软件维护记录143
6 3 4评价软件维护活动144
6 4软件可维护性145
6 4 1软件可维护性的定义145
6 4 2决定软件可维护性的因素145
6 4 3软件可维护性的度量146
6 4 4提高软件的可维护性方法146
6 5软件维护的副作用148
6 6软件再工程148
6 6 1软件再工程过程模型149
6 6 2逆向工程149
6 6 3软件重构150
6 7实验实训150
小结150
习题六150
第7章面向对象方法152
7 1面向对象方法的基础知识152
7 1 1面向对象方法的世界观152
7 1 2面向对象方法的基本概念154
7 1 3面向对象方法的基本过程157
7 1 4面向对象方法的与传统方法的
比较159
7 2面向对象的系统分析161
7 2 1关于模型161
7 2 2面向对象分析的基本原则162
7 2 3面向对象分析的任务与过程163
7 2 4明确问题域与系统责任165
7 2 5定义对象与类165
7 2 6识别对象间的结构166
7 2 7划分主题168
7 2 8定义属性与实例连接168
7 2 9定义服务与消息连接170
7 3面向对象的系统设计171
7 3 1面向对象设计的基本准则171
7 3 2面向对象设计过程173
7 3 3系统结构设计173
7 3 4类的设计174
7 3 5交互部分设计176
7 3 6数据管理部分设计177
7 4面向对象的程序设计178
7 4 1面向对象程序设计语言的发展178
7 4 2面向对象程序设计语言的特征178
7 4 3面向对象系统的实现途径179
7 5面向对象系统的测试180
7 5 1面向对象系统测试的特点180
7 5 2面向对象系统测试的过程181
7 5 3面向对象的测试策略183
7 5 4面向对象软件的测试用例
设计184
7 6统一建模语言UML185
7 6 1UML概念185
7 6 2UML组成186
7 6 3静态建模194
7 6 4动态建模199
7 7应用案例200
7 7 1初始阶段200
7 7 2细化阶段205
7 8实验实训216
小结217
习题七218
第8章软件复用222
8 1软件复用概述222
8 1 1软件复用的意义222
8 1 2软件复用的过程223
8 1 3软件复用的类型224
8 1 4分层式体系结构224
8 1 5复用的难度225
8 2构件与构件库226
8 2 1领域分析226
8 2 2构件的开发226
8 2 3构件库的组织228
8 2 4软件构件的复用229
8 3面向对象的软件复用229
8 3 1类构件230
8 3 2类库230
8 4实验实训231
小结231
习题八231
第9章软件项目管理233
9 1软件项目管理概述233
9 1 1软件项目管理的重要性233
9 1 2软件项目管理的内容233
9 1 3软件项目管理的特点234
9 2软件项目的估算235
9 2 1估算前的规划235
9 2 2估算的对象235
9 2 3估算的策略236
9 2 4估算的方法236
9 3软件项目的计划管理239
9 3 1软件项目计划的概念239
9 3 2软件项目计划的内容240
9 3 3软件项目进度安排240
9 4软件项目的风险管理242
9 4 1风险管理的重要性242
9 4 2风险管理的过程243
9 4 3风险辨识243
9 4 4风险分析243
9 4 5风险评估244
9 4 6风险应对245
9 5软件项目的人力资源管理245
9 5 1软件项目的人力资源245
9 5 2人力资源的组织建立246
9 5 3人员配备247
9 6软件配置管理249
9 6 1基线(Baseline)249
9 6 2软件配置项249
9 6 3软件配置管理的过程250
9 6 4软件配置管理的特点251
9 7软件质量保证252
9 7 1软件质量的定义252
9 7 2软件质量的评价252
9 7 3质量度量模型253
9 7 4软件复杂性253
9 7 5软件可靠性254
9 7 6软件评审255
9 7 7软件容错技术257
9 8能力成熟度模型(CMM)简介258
9 8 1基本概念258
9 8 2CMM框架258
9 8 3CMM应用261
9 8 4能力成熟度集成模型(CMMI)262
9 9实验实训263
小结263
习题九263
第10章软件工程环境266
10 1软件工具266
10 1 1软件工具的基本概念266
10 1 2软件工具的分类266
10 2计算机辅助软件工程(CASE)集成
环境268
10 2 1CASE的优势268
10 2 2CASE的组成268
10 2 3CASE的体系结构269
10 3实用CASE工具270
10 3 1RationalRose简介270
10 3 2PowerDesigner简介270
10 4实验实训272
小结272
习题十272
参考文献273
1 1软件与软件危机1
1 1 1软件的特点1
1 1 2软件发展简史2
1 1 3软件危机2
1 2软件生命周期4
1 2 1软件定义4
1 2 2软件开发5
1 2 3软件维护6
1 3软件过程模型6
1 3 1瀑布模型6
1 3 2快速原型模型7
1 3 3增量模型8
1 3 4螺旋模型9
1 3 5喷泉模型10
1 3 6构件组装模型10
1 3 7第四代技术模型11
1 4软件工程11
1 4 1软件工程的定义11
1 4 2软件工程的基本策略12
1 4 3软件工程应遵循的原则12
1 5可行性调研分析14
1 5 1项目开发背景14
1 5 2问题定义14
1 5 3可行性分析15
1 5 4开发计划的制定15
1 6实验实训16
小结16
习题一16
第2章需求分析18
2 1需求分析基础18
2 1 1需求分析的任务18
2 1 2需求分析的步骤19
2 1 3需求获取技术20
2 1 4需求分析模型21
2 2结构化分析方法22
2 2 1结构化开发方法23
2 2 2结构化分析方法23
2 3数据流图24
2 3 1数据流图的符号25
2 3 2数据流图的画法27
2 3 3检查和修改数据流图的原则30
2 3 4确定数据定义与加工策略31
2 4数据字典31
2 4 1数据字典的符号及其含义31
2 4 2实例32
2 5加工说明33
2 5 1结构化语言33
2 5 2判定表34
2 5 3判定树35
2 6软件需求规格说明与需求验证35
2 6 1需求规格说明35
2 6 2需求验证38
2 7实验实训39
小结39
习题二39
第3章软件设计42
3 1软件设计概述42
3 1 1软件设计在开发阶段中的重
要性42
3 1 2软件设计的任务42
3 2软件设计的基本原理44
3 2 1模块化44
3 2 2抽象45
3 2 3信息隐蔽45
3 2 4模块独立性45
3 3软件设计的准则50
3 4用户界面设计54
3 4 1界面设计的基本类型54
3 4 2界面设计的一般问题54
3 4 3用户界面设计指南55
3 5软件设计工具57
3 5 1层次图和HIPO图57
3 5 2结构图58
3 6面向数据流的设计方法59
3 6 1基本概念59
3 6 2设计过程60
3 6 3变换分析61
3 6 4事务分析设计62
3 6 5综合设计63
3 6 6结构化设计应用示例64
3 6 7设计的后处理65
3 7详细设计67
3 7 1详细设计的基本任务与原则67
3 7 2结构化程序设计68
3 7 3详细设计的工具69
3 8软件设计文档及其复审77
3 8 1软件设计文档77
3 8 2软件设计复审78
3 9实验实训78
小结79
习题三80
第4章软件项目的实现83
4 1程序设计方法83
4 1 1程序设计方法的发展83
4 1 2结构化程序设计84
4 1 3模块化程序设计的方法84
4 1 4面向对象的程序设计85
4 1 5编码的标准86
4 2程序设计语言的选择87
4 2 1程序设计语言的定义87
4 2 2程序设计语言的基本成分88
4 2 3程序设计语言的特性88
4 2 4程序设计语言的分类90
4 2 5程序设计语言的选择91
4 3编码的风格92
4 3 1源程序文档化93
4 3 2数据说明95
4 3 3程序的视觉组织95
4 3 4输入和输出95
4 3 5效率96
4 3 6其他推荐原则96
4 4实验实训97
小结97
习题四98
第5章软件测试100
5 1软件测试的目的100
5 1 1软件测试的定义100
5 1 2软件测试的目的100
5 1 3软件测试的原则101
5 2软件测试的方法和步骤102
5 2 1软件测试的方法102
5 2 2软件测试的信息流103
5 3黑盒测试103
5 3 1测试用例103
5 3 2黑盒测试的概念103
5 3 3黑盒测试用例的设计104
5 4白盒测试111
5 4 1白盒测试的概念111
5 4 2白盒测试用例的设计112
5 5软件测试的过程122
5 5 1软件测试过程概述122
5 5 2软件测试过程与软件开发各阶
段的关系122
5 5 3单元测试123
5 5 4集成测试126
5 5 5确认测试130
5 5 6系统测试132
5 6调试132
5 6 1调试步骤132
5 6 2调试方法132
5 6 3调试原则135
5 7实验实训136
小结136
习题五137
第6章软件维护139
6 1软件维护的目的139
6 1 1软件维护的原因139
6 1 2软件维护的定义139
6 1 3软件维护的分类139
6 2软件维护的成本140
6 2 1影响软件维护的因素140
6 2 2软件维护的困难性141
6 2 3软件维护成本的分析141
6 3软件维护活动的实施142
6 3 1软件维护的组织142
6 3 2软件维护的流程142
6 3 3保存软件维护记录143
6 3 4评价软件维护活动144
6 4软件可维护性145
6 4 1软件可维护性的定义145
6 4 2决定软件可维护性的因素145
6 4 3软件可维护性的度量146
6 4 4提高软件的可维护性方法146
6 5软件维护的副作用148
6 6软件再工程148
6 6 1软件再工程过程模型149
6 6 2逆向工程149
6 6 3软件重构150
6 7实验实训150
小结150
习题六150
第7章面向对象方法152
7 1面向对象方法的基础知识152
7 1 1面向对象方法的世界观152
7 1 2面向对象方法的基本概念154
7 1 3面向对象方法的基本过程157
7 1 4面向对象方法的与传统方法的
比较159
7 2面向对象的系统分析161
7 2 1关于模型161
7 2 2面向对象分析的基本原则162
7 2 3面向对象分析的任务与过程163
7 2 4明确问题域与系统责任165
7 2 5定义对象与类165
7 2 6识别对象间的结构166
7 2 7划分主题168
7 2 8定义属性与实例连接168
7 2 9定义服务与消息连接170
7 3面向对象的系统设计171
7 3 1面向对象设计的基本准则171
7 3 2面向对象设计过程173
7 3 3系统结构设计173
7 3 4类的设计174
7 3 5交互部分设计176
7 3 6数据管理部分设计177
7 4面向对象的程序设计178
7 4 1面向对象程序设计语言的发展178
7 4 2面向对象程序设计语言的特征178
7 4 3面向对象系统的实现途径179
7 5面向对象系统的测试180
7 5 1面向对象系统测试的特点180
7 5 2面向对象系统测试的过程181
7 5 3面向对象的测试策略183
7 5 4面向对象软件的测试用例
设计184
7 6统一建模语言UML185
7 6 1UML概念185
7 6 2UML组成186
7 6 3静态建模194
7 6 4动态建模199
7 7应用案例200
7 7 1初始阶段200
7 7 2细化阶段205
7 8实验实训216
小结217
习题七218
第8章软件复用222
8 1软件复用概述222
8 1 1软件复用的意义222
8 1 2软件复用的过程223
8 1 3软件复用的类型224
8 1 4分层式体系结构224
8 1 5复用的难度225
8 2构件与构件库226
8 2 1领域分析226
8 2 2构件的开发226
8 2 3构件库的组织228
8 2 4软件构件的复用229
8 3面向对象的软件复用229
8 3 1类构件230
8 3 2类库230
8 4实验实训231
小结231
习题八231
第9章软件项目管理233
9 1软件项目管理概述233
9 1 1软件项目管理的重要性233
9 1 2软件项目管理的内容233
9 1 3软件项目管理的特点234
9 2软件项目的估算235
9 2 1估算前的规划235
9 2 2估算的对象235
9 2 3估算的策略236
9 2 4估算的方法236
9 3软件项目的计划管理239
9 3 1软件项目计划的概念239
9 3 2软件项目计划的内容240
9 3 3软件项目进度安排240
9 4软件项目的风险管理242
9 4 1风险管理的重要性242
9 4 2风险管理的过程243
9 4 3风险辨识243
9 4 4风险分析243
9 4 5风险评估244
9 4 6风险应对245
9 5软件项目的人力资源管理245
9 5 1软件项目的人力资源245
9 5 2人力资源的组织建立246
9 5 3人员配备247
9 6软件配置管理249
9 6 1基线(Baseline)249
9 6 2软件配置项249
9 6 3软件配置管理的过程250
9 6 4软件配置管理的特点251
9 7软件质量保证252
9 7 1软件质量的定义252
9 7 2软件质量的评价252
9 7 3质量度量模型253
9 7 4软件复杂性253
9 7 5软件可靠性254
9 7 6软件评审255
9 7 7软件容错技术257
9 8能力成熟度模型(CMM)简介258
9 8 1基本概念258
9 8 2CMM框架258
9 8 3CMM应用261
9 8 4能力成熟度集成模型(CMMI)262
9 9实验实训263
小结263
习题九263
第10章软件工程环境266
10 1软件工具266
10 1 1软件工具的基本概念266
10 1 2软件工具的分类266
10 2计算机辅助软件工程(CASE)集成
环境268
10 2 1CASE的优势268
10 2 2CASE的组成268
10 2 3CASE的体系结构269
10 3实用CASE工具270
10 3 1RationalRose简介270
10 3 2PowerDesigner简介270
10 4实验实训272
小结272
习题十272
参考文献273
软件工程
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×