软件工程——原理、方法与项目实践

理论密切联系实践,实践资源丰富的软件工程专业教材
分享 推荐 0 收藏 10 阅读 396
代红 , 张美娜 , 黄政 , 等 (作者) 978-7-115-68113-3

关于本书的内容有任何问题,请联系 徐柏杨

1.侧重基础内容,适应少学时教学。重点讲解面向对象方法和工具
2.理论与实践相结合,将企业实践项目为参考案例
3.配套资源丰富,包含完整实践案例和实验资源

内容摘要

本书带领读者了解软件的生命周期,包括需求分析、设计、实现、测试与维护等阶段;学习如何使用工程化的方法解决软件开发中遇到的问题,从而提高软件开发的效率和质量。本书还深入探讨软件工程的理论基础,包括面向对象思想、统一建模语言、面向对象分析与设计及其在实际项目中的应用。
本书既强调软件工程原理,又提供丰富的实例分析。本书讲解理论的各章配有习题和实例,本书还完整的项目实例和设计性实验,设计性实验将金融系统项目背景与软件开发阶段相结合,并使用统一建模语言完成。此外,本书紧跟国际视野,将前沿知识和技能纳入其中。
本书可作为高等院校“软件工程”相关课程的教材或教学参考书,也适合软件开发人员、软件测试工程师、软件项目经理等相关人员阅读参考。

目录

第 一章 软件工程学概述 1
1.1软件工程概述 1
1.1.1 软件的概念 1
1.1.2 软件开发历史与演进 2
1.1.3 软件危机的含义和表现 3
1.1.4 产生软件危机的原因 3
1.1.5 消除软件危机的途径 5
1.2 软件工程 5
1.2.1软件工程的概念 5
1.2.2软件工程的基本原理 5
1.2.3软件工程的目标和原则 7
1.3 软件工程方法学 8
1.3.1 传统方法学 8
1.3.2 面向对象方法学 9
1.4 软件工程的重要性与作用 9
1.5 软件生命周期 10
1.6 软件工程方法论 11
1.6.1 瀑布模型 12
1.6.2 快速原型模型 13
1.6.3 增量模型 14
1.6.4 螺旋模型 15
1.6.5 喷泉模型 16
1.6.6 Rational统一过程 17
1.7 能力成熟度模型 20
第 一章 习题 21
第二章 可行性研究与软件需求分析 24
2.1可行性研究的任务 24
2.2 可行性研究三个主要方面 24
2.2.1技术可行性 24
2.2.2经济可行性 25
2.2.3法律可行性 26
2.2.4 其他可行性 27
2.3 可行性研究过程 27
2.4 软件需求分析概述 27
2.5 需求建模技术 29
2.5.1数据模型 30
2.5.2功能模型 32
2.5.3数据字典 34
2.5.4行为模型 36
2.6 需求规格与文档化 39
2.7 需求验证与确认 40
第二章 习题 40
第三章 软件设计 43
3.1 软件设计的概念和原理 43
3.1.1 模块化 43
3.1.2 模块独立 43
3.1.3 抽象 50
3.1.4 封装 51
3.1.5 逐步求精 51
3.2 人机界面设计 51
3.2.1 人机界面设计问题 51
3.2.2人机界面实现的原则与标准 52
3.3 表示软件结构的图形工具 54
3.3.1层次图 54
3.3.2 HIPO图 54
3.4 过程设计工具 56
3.4.1 程序流程图 56
3.4.2 盒图(N-S图) 57
3.4.3 问题分析图(PAD图) 58
3.4.4 判定表 60
3.4.5 判定树 61
3.4.6 伪代码(过程设计语言) 62
3.5面向数据流的设计和面向数据结构的设计 63
3.5.1面向数据流的设计方法 63
3.5.2面向数据结构的设计方法 66
3.5.3两种设计方法的区别 68
第三章 习题 68
第四章 面向对象思想 91
4.1面向对象编程概述 91
4.2 类和对象 92
4.2.1类与对象的概念 92
4.2.2 类与对象的关系与区别 92
4.2.3 类的属性和方法 93
4.3 封装 95
4.4继承与多态 97
4.5抽象类与接口 101
4.5.1 抽象类的定义与特点 101
4.5.2 接口的概念与用途 103
第四章 习题 106
第五章 UML 107
5.1 UML建模语言与图形化建模 107
5.1.1 UML简介与发展历程 107
5.1.2 UML建模视图 108
5.2用例图(Use Case Diagram) 109
5.2.1用例图的基本元素 109
5.2.2用例图的建模步骤与实例 113
5.3 类图(Class Diagram) 115
5.3.1 类图的基本元素 115
5.3.2 类图的抽象层次 126
5.3.3 类图的建模步骤与实例 127
5.4 对象图(Object Diagram) 128
5.4.1 对象图的基本元素 128
5.4.2 对象图的用途 129
5.4.3 对象图的表示和命名 129
5.4.4 对象图的建模步骤与实例 130
5.5 时序图(Sequence Diagram) 131
5.5.1 时序图的基本元素 131
5.5.2 时序图的主要用途 135
5.5.3 时序图的建模步骤与实例 135
5.6 协作图(Collaboration Diagrams) 138
5.6.1 协作图的基本元素 138
5.6.2 协作图的主要用途 139
5.6.3 协作图的的建模步骤与实例 139
5.6.4 时序图与协作图的异同 140
5.7 活动图(Activity Diagram) 142
5.7.1活动图的基本元素 142
5.7.2 活动图的主要用途 145
5.7.3 活动图的建模步骤与实例 147
5.8 状态图(State Diagram) 151
5.8.1 状态图的基本元素 151
5.8.2 状态图的主要用途 152
5.8.3 状态图的建模步骤与实例 153
5.9 组件图(Component Diagram) 154
5.9.1 组件图的基本元素 155
5.9.2 组件图的主要用途 156
5.9.3 组件的类型 156
5.9.4 组件图的建模步骤与实例 157
5.10包图 158
5.10.1包图的基本元素 158
5.10.2 包图的用途 159
5.11 部署图(Deployment Diagram) 159
5.11.1 部署图的基本元素 160
5.11.2 部署图的主要用途 161
第五章 习题 163
第六章 面向对象分析与设计 168
6.1面向对象分析 168
6.1.2 建立对象模型 169
6.1.3 建立动态模型 171
6.1.4 建立功能模型 173
6.2 面向对象设计 176
6.2.1 面向对象设计的基本步骤和过程 176
6.2.2 面向对象的对象设计 177
6.2.3 面向对象的体系结构设计 178
6.2.4 面向对象的接口设计 180
6.2.5 面向对象的构件级设计 180
第六章 习题 181
第七章 软件的实现、测试与维护
7.1编码
7.1.1 编程语言的发展和分类
7.1.2 编程语言的选择
7.2 软件测试
7.2.1软件测试目标
7.2.2 黑盒测试和白盒测试
7.2.3 软件测试主要流程
7.3 白盒测试法
7.3.1逻辑覆盖
7.3.2 基本路径法
7.3.3 代码检查法
7.4 黑盒测试法
7.4.1 等价类划分法
7.4.2边界值分析法
7.4.3错误推测法
7.5 调试
7.6软件部署和交付
7.7 软件维护
第七章 习题
第八章 软件项目管理
8.1 软件项目管理概述
8.2项目计划与资源调度
8.2.1项目计划的编制
8.2.2项目资源分配和调度
8.3软件项目质量保证
第九章 项目实例——基于Web的在线学习系统的设计与实现
9.1绪论
9.1.1 项目背景
9.1.2 项目的目的和意义
9.1.3 相关技术介绍
9.2 系统可行性分析和需求分析
9.2.1 可行性分析
9.2.2 系统需求分析
9.3系统总体设计
9.3.1 数据库设计
9.3.2 系统分层架构设计
9.4 类的代码框架
9.5 界面设计
附录A 设计性实验:“人民币流通管理系统”实验
实验一 结构化需求分析
实验一 UML分析与设计——用例图
实验三 UML分析与设计——活动图与类图
实验四 UML分析与设计——状态图、顺序图与协作图
附录B 课后习题答案
第 一章 习题答案
第二章 习题答案
第三章 习题答案
第四章 习题答案
第五章 习题答案
第六章 习题答案
第七章 习题答案
附录C 模拟套题
模拟套题答案

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

代红,硕士生导师,教授,主要从事计算机网络、网络安全、机器学习等方面的研究。作为主持人,荣获辽宁省高等学校本科教学成果奖、辽宁省研究生教学成果奖,同时主讲的《计算机网络》荣获辽宁省线上线下混合式一流课程,同时荣获辽宁省科技进步奖。参编过《计算机类毕业设计指导与项目案例实践》(清华大学出版社,2023年)教材。

相关图书

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