软件工程原理与方法(微课版)

覆盖软件系统完整的生命周期中的软件活动,从需求、分析、设计、实现到维护以及软件质量保证。
分享 推荐 0 收藏 7 阅读 718
张爽 (作者) 978-7-115-62056-9

关于本书的内容有任何问题,请联系 许金霞

(1)覆盖软件系统完整的生命周期中的软件活动,从需求、分析、设计、实现到维护以及软件质量保证。
(2)作者具有20余年教学经验总结,以及丰富的软件项目开发经验,参与了大量的软件项目和软件产品。
(3)国家级精品课程资源配套,MOOC大学平台获评国家精品在线开放课程和国家级一流线上课程。
(4)知识结构紧凑,面向软件工程的实际应用。
(5)突出技术理论和原理的运用,兼顾工程管理。

内容摘要

随着信息技术的发展,软件已经深入到人类社会生产和生活的各个方面。软件工程是软件开发经验总结的理论课程,具有很强的实践性。本书覆盖软件系统完整的生命周期中的软件活动,从需求、分析、设计、实现到维护、以及软件质量保证。全书共11章,主要内容包括绪论、软件工程要素、需求分析、面向对象思想与范型、面向对象分析、软件系统设计、软件实现、软件质量保证、软件生命周期模型、综合案例实践。

目录

第 1章 绪论 1
学习目标 1
1.1 软件历史 1
1.1.1 计算机历史 1
1.1.2 软件历史 3
1.1.3 国产计算机与软件 5
1.2 软件的概念 8
1.2.1 软件的定义 8
1.2.2 软件的特点 9
1.2.3 软件的分类 10
1.2.4 术语 13
1.3 软件工程 14
1.3.1 软件危机 14
1.3.2 软件工程 18
1.3.3 软件工程知识体系 19
1.4 软件工程道德与从业规范 20
1.5 案例研究 22
【要点】 23
【习题】 23
【思考与讨论】 24
第 2章 软件工程要素 26
学习目标 26
2.1 软件过程 27
2.1.1 需求 27
2.1.2 分析 30
2.1.3 设计 31
2.1.4 实现 32
2.1.5 维护 32
2.1.6 退役 32
2.1.7 软件质量保证 33
2.1.8 项目管理 33
2.2 软件方法 34
2.2.1 结构化方法 34
2.2.2 Jackson方法 35
2.2.3 面向对象方法 35
2.2.4 敏捷方法 36
2.3 软件工具 37
2.3.1 需求分析设计工具 38
2.3.2 编程工具 38
2.3.3 管理过程工具 39
2.4 统一过程 41
2.4.1 概念 42
2.4.2 统一过程的阶段 42
2.4.3 核心工作流 44
【要点】 45
【习题】 46
【思考与讨论】 47
第3章 需求分析 48
学习目标 48
3.1 什么是需求 48
3.2 需求的层次 50
3.3 如何做需求 51
3.3.1 准备工作 52
3.3.2 需求调研 55
3.3.3 完成需求文档 56
3.3.4 需求确认 59
3.4 功能性需求 59
3.5 非功能性需求 60
3.6 快速原型 62
3.6.1 基本概念 62
3.6.2 快速原型案例 63
3.7 需求面临的挑战 66
【要点】 68
【习题】 68
【思考与讨论】 69
【实践】 70
第4章 面向对象思想与范型 72
学习目标 72
4.1 模块 73
4.2 内聚 74
4.2.1 偶然性内聚 74
4.2.2 逻辑性内聚 75
4.2.3 时间性内聚 77
4.2.4 过程性内聚 77
4.2.5 通信性内聚 78
4.2.6 功能性内聚 79
4.2.7 信息性内聚 79
4.2.8 小节 80
4.3 耦合 80
4.3.1 内容耦合 80
4.3.2 公共耦合 82
4.3.3 控制耦合 83
4.3.4 印记耦合 84
4.3.5 数据耦合 85
4.3.6 小节 85
4.4 数据封装 85
4.5 信息隐藏 90
4.6 类之间的关系 93
4.6.1 类之间的继承关系 93
4.6.2 类之间的聚合关系 95
4.6.3 类之间的关联关系 97
4.7 多态与动态绑定 100
4.7.1 利用覆盖实现多态 101
4.7.2 利用重载实现多态 102
4.7.3 利用接口实现多态 103
4.8 面向对象范型 105
4.9 面向对象软件工程 108
4.10 统一建模语言UML与工具 108
【要点】 110
【习题】 110
【思考与讨论】 114
【实践】 115
第5章 面向对象分析 116
学习目标 116
5.1 分析方法 116
5.2 面向对象分析概要 118
5.3 用例建模 118
5.3.1 参与者 118
5.3.2 用例 121
5.3.3 参与者与用例之间的关系 124
5.3.4 用例说明 125
5.3.5 参与者之间的关系 127
5.3.6 用例之间的关系 130
5.3.7 用例建模的作用 133
5.3.8 用例建模案例 134
5.4 类建模 138
5.4.1 实体类 139
5.4.2 构造初始类图 142
5.4.3 类建模的原则 147
5.4.4 类建模案例 151
5.5 动态建模 156
5.5.1 状态图 157
5.5.2 动态建模案例 159
5.6 面向对象分析的测试 163
【要点】 166
【习题】 167
【思考与讨论】 168
【实践】 168
第6章 软件系统设计 169
学习目标 169
6.1 软件系统设计 169
6.1.1 架构设计 170
6.1.2 数据库设计 172
6.1.3 功能模块设计 176
6.1.4 数据结构与算法设计 178
6.1.5 用户界面设计 179
6.2 面向对象设计概要 180
6.3 交互图 180
6.3.1 顺序图 180
6.3.2 协作图 192
6.4 详细类图 193
6.5 客户-对象关系图 194
6.6 方法的详细设计 195
6.7 面向对象设计的迭代与测试 197
【要点】 197
【习题】 198
【思考与讨论】 198
【实践】 199
第7章 软件实现 200
学习目标 200
7.1 编程语言的分类 200
7.1.1 第 一代语言 200
7.1.2 第二代语言 201
7.1.3 第三代语言 202
7.1.4 第四代语言 202
7.2 编程语言的应用 203
7.3 编程语言的选择 204
7.3.1 技术因素 206
7.3.2 经济成本 206
7.3.3 风险 206
7.4 编程规范 207
7.5 实现与集成 212
7.5.1 自顶向下实现与集成 214
7.5.2 自底向上实现与集成 215
7.5.3 三明治实现与集成 215
【要点】 216
【习题】 217
【思考与讨论】 218
【实践】 218
第8章 软件质量保证 219
学习目标 219
8.1 软件质量 219
8.2 软件质量保证 219
8.3 SQA管理 220
8.4 软件测试 221
8.4.1 非执行测试 221
8.4.2 基于执行测试 222
8.5 测试活动与文档 226
【要点】 227
【习题】 228
【思考与讨论】 229
【实践】 229
第9章 软件维护 230
学习目标 230
9.1 软件维护的必要性 230
9.2 软件维护的重要性 232
9.3 对软件维护人员素质的要求 232
【要点】 234
【习题】 234
【思考与讨论】 235
第 10章 软件生命周期模型 237
学习目标 237
10.1 瀑布模型 237
10.2 快速原型模型 239
10.3 迭代与增量模型 240
10.4 同步稳定模型 242
10.5 螺旋模型 243
【要点】 245
【习题】 245
【思考与讨论】 246
第 11章 综合案例实践 248
11.1 案例业务简介 248
11.2 需求文档 248
11.3 用例图 251
11.4 初始类图 252
11.5 顺序图 253
参考文献 255

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

张爽,女,博士,副教授, 东北大学软件学院,辽宁省本科教学名师,软件学院教学指导委员会委员,软件学院星级教师,国家级一流本科课程《软件工程》负责人。近年来,作为项目负责人负责了江苏省镔鑫钢铁集团公司智能料场项目、广西盛隆冶金有限公司项目盛隆炼钢连铸一体化计划调度模型软件系统开发、冶金原料大数据分析模型软件系统、基于大数据分析技术的电力需求决策支持平台,均取得了非常好的应用效益,其中江苏省镔鑫钢铁集团公司智能料场为国内首个智能料场。作为子课题负责人承担了国家重点研发计划项目钢铁工业网络化协同生产智能管控平台关键技术研究子课题、和东北大学基础科研课题“基于岩体破裂大数据的金属矿山安全高效开采基础”。作为主要成员,参加了国家自然科学基金重点项目“机器学习驱动的知识平面创新和网络性能优化的研究”、中国工程院高端智库项目企业内部工业互联网网络系统发展研究、和辽宁省兴辽英才计划项目面向未来互联网的数据传输与安全防护技术。 研究方向:人工智能、工业软件、信息技术应用创新、大数据+、工业互联网、物联网。

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部