书籍详情
软件工程
作者:寇爱军,申情
出版社:电子工业出版社
出版时间:2023-09-01
ISBN:9787121463457
定价:¥45.00
内容简介
本教材系统地讲述了软件工程的基本概念、原理、方法,并介绍了一个实际项目――高校图书管理系统的分析与设计过程,突出“教、学、练、用”一体化,较全面地反映了软件工程技术的全貌。全书共分10章,第1章是软件工程基础,第2章至第6章分别为可行性研究、需求分析、概要设计、详细设计、软件实现与维护,第7章介绍软件项目管理的基础知识,第8章、第9章分别讲述面向对象方法学基础和状态图。 0章结合实际项目讲述了面向对象方法分析与软件设计的全过程,不仅对读者深入理解软件工程学具有较大的帮助,也是实践教学的良好素材。本教材可作为高等应用型学校计算机、软件工程、信息类及管理类等专业相关课程的教材,也可供有一定实际经验的软件开发人员阅读参考。
作者简介
寇爱军,男,汉族,中 员,湖州学院计算机专任教师, 工程师,自2009年参加工作以来,负责或参与近20个软件项目研发工作,经常为相关企 提供软件开发指导、软件培训工作,具有丰富的软件工程教学与实践经验。主持 产学研项目3项,参与 、省部级、市厅级科研、教改课题近10项。在教学方面,注重理论联系实际,课堂氛围活跃,深得学生喜爱
目录
第1章 软件工程基础 1
1.1 软件危机 1
1.1.1 有关软件危机的介绍 1
1.1.2 原因与解决方法 2
1.2 软件工程 3
1.2.1 定义和目标 3
1.2.2 相关原理 4
1.2.3 软件工程的进步史 4
1.3 软件过程与软件生存周期 5
1.3.1 软件过程 5
1.3.2 软件生存周期 5
1.4 软件生存周期模型 8
1.4.1 瀑布模型 8
1.4.2 快速原型模型 9
1.4.3 增量模型 10
1.4.4 螺旋模型 10
1.4.5 喷泉模型 11
1.4.6 面向对象开发模型 12
1.4.7 如何选定开发模型 12
习题1 13
第2章 可行性研究 14
2.1 目标与任务 14
2.2 研究过程 15
2.3 软件立项、合同和任务书 16
2.3.1 立项 16
2.3.2 签订合同 16
2.3.3 任务下达 17
2.4 系统流程图 17
2.4.1 主要用途 17
2.4.2 相关符号 17
2.5 软件的经济效益分析 18
2.5.1 关于货币的时间价值 19
2.5.2 投资回收期 19
2.5.3 纯利润 20
习题2 20
第3章 需求分析 21
3.1 需求分析的任务与步骤 21
3.1.1 需求分析的任务 21
3.1.2 需求分析的步骤 23
3.2 用户需求的获取方法 24
3.2.1 常用方法 24
3.2.2 快速建立软件原型模型来获取需求 25
3.3 需求分析的常用方法 26
3.4 结构化分析 26
3.4.1 结构化分析方法 27
3.4.2 面向结构化分析的建模工具 27
3.4.3 数据流图 28
3.4.4 数据流图实例 30
3.4.5 数据字典 32
3.4.6 处理过程描绘 34
3.4.7 状态转换图 37
3.5 其他工具 38
3.5.1 层次方框图 38
3.5.2 维纳图 38
3.5.3 IPO图 39
习题3 40
第4章 概要设计 41
4.1 概要设计阶段的目标与任务 41
4.2 概要设计阶段的启发规则 42
4.2.1 软件结构设计的准则 42
4.2.2 软件模块设计的准则 42
4.3 软件设计的基础 43
4.3.1 模块化 43
4.3.2 抽象 44
4.3.3 逐步求精 44
4.3.4 局部化和信息隐藏 45
4.3.5 模块独立性 45
4.4 软件设计工具 47
4.4.1 软件层次图 47
4.4.2 HIPO图 47
4.4.3 软件结构图 48
4.5 结构化的设计方法 48
4.5.1 数据流图分类 49
4.5.2 软件结构化设计方法的步骤 50
4.5.3 变换型分析设计 50
4.5.4 面向事务型数据流图的设计 52
4.5.5 综合分析设计 53
习题4 58
第5章 详细设计 59
5.1 详细设计阶段的目标与任务 59
5.2 结构化程序设计介绍 59
5.3 详细设计工具 60
5.3.1 程序流程图 60
5.3.2 N-S图 61
5.3.3 问题分析图 62
5.3.4 过程设计语言 64
5.4 用户界面设计 64
5.4.1 用户的界面需求 65
5.4.2 用户界面设计问题 65
5.4.3 用户界面设计原则 66
5.4.4 设计界面的过程 66
习题5 67
第6章 软件实现与维护 68
6.1 编码 68
6.1.1 编程语言的选择 68
6.1.2 编码的规范 69
6.2 测试基础 70
6.2.1 软件测试的目标 70
6.2.2 软件测试的原则 70
6.2.3 软件测试的方法 71
6.2.4 软件测试的步骤 71
6.2.5 软件测试的信息流 72
6.3 单元测试 73
6.3.1 单元测试的内容 73
6.3.2 代码审查 74
6.4 软件集成测试 75
6.5 验收测试 76
6.5.1 确认测试的要求 76
6.5.2 软件配置的复查 77
6.5.3 Alpha测试与Beta测试 77
6.6 软件的测试方法 77
6.6.1 黑盒测试 77
6.6.2 白盒测试 79
6.7 软件维护 82
6.7.1 软件维护概述 82
6.7.2 软件维护过程 83
6.8 软件维护中存在的问题 84
6.8.1 软件维护存在的困难 84
6.8.2 软件维护的弊端 84
习题6 85
第7章 软件项目管理 86
7.1 软件项目管理概述 86
7.1.1 软件项目管理概念 86
7.1.2 软件项目管理职能 86
7.2 项目组织管理 87
7.2.1 软件开发项目启动及任务 87
7.2.2 软件开发组织管理 88
7.3 人员组织 89
7.3.1 民主制程序员组 89
7.3.2 现代程序员组 89
7.4 质量管理 90
7.4.1 软件质量 90
7.4.2 质量管理的原则 91
7.4.3 软件质量的管理方法 91
7.4.4 软件项目的配置管理 92
7.5 软件的评审与验收 93
7.5.1 评审 93
7.5.2 验收 94
习题7 95
第8章 面向对象方法学基础 96
8.1 概述 96
8.2 面向对象的软件工程 97
8.2.1 相关概念 97
8.2.2 面向对象的层次化设计技术 99
8.2.3 类与对象的关系的分析 99
8.3 关于UML 102
8.3.1 UML概述 102
8.3.2 UML图 102
8.4 用例图概述 104
8.4.1 用例图的构成 104
8.4.2 泛化 108
8.5 类图与包图概述 116
8.5.1 类图 117
8.5.2 包图 121
8.6 顺序图概述 125
8.6.1 生命线与对象 126
8.6.2 消息 126
8.6.3 顺序图的创建 127
8.7 通信图概述 130
8.7.1 通信图的组成 130
8.7.2 创建对象 133
8.7.3 迭代 133
8.7.4 顺序图和通信图 134
习题8 137
第9章 状态图 138
9.1 状态图基础知识 138
9.2 相关符号 139
9.2.1 状态标记符 139
9.2.2 转移 139
9.2.3 决策点 141
9.2.4 同步 142
9.3 状态图中的动作与事件 142
9.4 组成状态 143
9.4.1 顺序子状态 143
9.4.2 并发子状态 144
9.4.3 子状态机的引用状态 144
9.4.4 同步状态 146
9.5 状态图模型的创建步骤 146
9.5.1 状态图分析 146
9.5.2 状态图的实现 147
习题9 147
0章 高校图书管理系统的分析与设计 148
10.1 系统需求 148
10.2 系统需求分析 149
10.2.1 如何识别参与者与用例 149
10.2.2 用例描述 151
10.3 静态的结构模型 154
10.3.1 定义系统中的对象和类 154
10.3.2 对用户界面类进行定义 159
10.3.3 各类之间的关系 162
10.4 动态行为模型 165
10.4.1 创建顺序图 165
10.4.2 创建状态图 175
10.5 系统部署 176
习题10 177
参考文献 178
1.1 软件危机 1
1.1.1 有关软件危机的介绍 1
1.1.2 原因与解决方法 2
1.2 软件工程 3
1.2.1 定义和目标 3
1.2.2 相关原理 4
1.2.3 软件工程的进步史 4
1.3 软件过程与软件生存周期 5
1.3.1 软件过程 5
1.3.2 软件生存周期 5
1.4 软件生存周期模型 8
1.4.1 瀑布模型 8
1.4.2 快速原型模型 9
1.4.3 增量模型 10
1.4.4 螺旋模型 10
1.4.5 喷泉模型 11
1.4.6 面向对象开发模型 12
1.4.7 如何选定开发模型 12
习题1 13
第2章 可行性研究 14
2.1 目标与任务 14
2.2 研究过程 15
2.3 软件立项、合同和任务书 16
2.3.1 立项 16
2.3.2 签订合同 16
2.3.3 任务下达 17
2.4 系统流程图 17
2.4.1 主要用途 17
2.4.2 相关符号 17
2.5 软件的经济效益分析 18
2.5.1 关于货币的时间价值 19
2.5.2 投资回收期 19
2.5.3 纯利润 20
习题2 20
第3章 需求分析 21
3.1 需求分析的任务与步骤 21
3.1.1 需求分析的任务 21
3.1.2 需求分析的步骤 23
3.2 用户需求的获取方法 24
3.2.1 常用方法 24
3.2.2 快速建立软件原型模型来获取需求 25
3.3 需求分析的常用方法 26
3.4 结构化分析 26
3.4.1 结构化分析方法 27
3.4.2 面向结构化分析的建模工具 27
3.4.3 数据流图 28
3.4.4 数据流图实例 30
3.4.5 数据字典 32
3.4.6 处理过程描绘 34
3.4.7 状态转换图 37
3.5 其他工具 38
3.5.1 层次方框图 38
3.5.2 维纳图 38
3.5.3 IPO图 39
习题3 40
第4章 概要设计 41
4.1 概要设计阶段的目标与任务 41
4.2 概要设计阶段的启发规则 42
4.2.1 软件结构设计的准则 42
4.2.2 软件模块设计的准则 42
4.3 软件设计的基础 43
4.3.1 模块化 43
4.3.2 抽象 44
4.3.3 逐步求精 44
4.3.4 局部化和信息隐藏 45
4.3.5 模块独立性 45
4.4 软件设计工具 47
4.4.1 软件层次图 47
4.4.2 HIPO图 47
4.4.3 软件结构图 48
4.5 结构化的设计方法 48
4.5.1 数据流图分类 49
4.5.2 软件结构化设计方法的步骤 50
4.5.3 变换型分析设计 50
4.5.4 面向事务型数据流图的设计 52
4.5.5 综合分析设计 53
习题4 58
第5章 详细设计 59
5.1 详细设计阶段的目标与任务 59
5.2 结构化程序设计介绍 59
5.3 详细设计工具 60
5.3.1 程序流程图 60
5.3.2 N-S图 61
5.3.3 问题分析图 62
5.3.4 过程设计语言 64
5.4 用户界面设计 64
5.4.1 用户的界面需求 65
5.4.2 用户界面设计问题 65
5.4.3 用户界面设计原则 66
5.4.4 设计界面的过程 66
习题5 67
第6章 软件实现与维护 68
6.1 编码 68
6.1.1 编程语言的选择 68
6.1.2 编码的规范 69
6.2 测试基础 70
6.2.1 软件测试的目标 70
6.2.2 软件测试的原则 70
6.2.3 软件测试的方法 71
6.2.4 软件测试的步骤 71
6.2.5 软件测试的信息流 72
6.3 单元测试 73
6.3.1 单元测试的内容 73
6.3.2 代码审查 74
6.4 软件集成测试 75
6.5 验收测试 76
6.5.1 确认测试的要求 76
6.5.2 软件配置的复查 77
6.5.3 Alpha测试与Beta测试 77
6.6 软件的测试方法 77
6.6.1 黑盒测试 77
6.6.2 白盒测试 79
6.7 软件维护 82
6.7.1 软件维护概述 82
6.7.2 软件维护过程 83
6.8 软件维护中存在的问题 84
6.8.1 软件维护存在的困难 84
6.8.2 软件维护的弊端 84
习题6 85
第7章 软件项目管理 86
7.1 软件项目管理概述 86
7.1.1 软件项目管理概念 86
7.1.2 软件项目管理职能 86
7.2 项目组织管理 87
7.2.1 软件开发项目启动及任务 87
7.2.2 软件开发组织管理 88
7.3 人员组织 89
7.3.1 民主制程序员组 89
7.3.2 现代程序员组 89
7.4 质量管理 90
7.4.1 软件质量 90
7.4.2 质量管理的原则 91
7.4.3 软件质量的管理方法 91
7.4.4 软件项目的配置管理 92
7.5 软件的评审与验收 93
7.5.1 评审 93
7.5.2 验收 94
习题7 95
第8章 面向对象方法学基础 96
8.1 概述 96
8.2 面向对象的软件工程 97
8.2.1 相关概念 97
8.2.2 面向对象的层次化设计技术 99
8.2.3 类与对象的关系的分析 99
8.3 关于UML 102
8.3.1 UML概述 102
8.3.2 UML图 102
8.4 用例图概述 104
8.4.1 用例图的构成 104
8.4.2 泛化 108
8.5 类图与包图概述 116
8.5.1 类图 117
8.5.2 包图 121
8.6 顺序图概述 125
8.6.1 生命线与对象 126
8.6.2 消息 126
8.6.3 顺序图的创建 127
8.7 通信图概述 130
8.7.1 通信图的组成 130
8.7.2 创建对象 133
8.7.3 迭代 133
8.7.4 顺序图和通信图 134
习题8 137
第9章 状态图 138
9.1 状态图基础知识 138
9.2 相关符号 139
9.2.1 状态标记符 139
9.2.2 转移 139
9.2.3 决策点 141
9.2.4 同步 142
9.3 状态图中的动作与事件 142
9.4 组成状态 143
9.4.1 顺序子状态 143
9.4.2 并发子状态 144
9.4.3 子状态机的引用状态 144
9.4.4 同步状态 146
9.5 状态图模型的创建步骤 146
9.5.1 状态图分析 146
9.5.2 状态图的实现 147
习题9 147
0章 高校图书管理系统的分析与设计 148
10.1 系统需求 148
10.2 系统需求分析 149
10.2.1 如何识别参与者与用例 149
10.2.2 用例描述 151
10.3 静态的结构模型 154
10.3.1 定义系统中的对象和类 154
10.3.2 对用户界面类进行定义 159
10.3.3 各类之间的关系 162
10.4 动态行为模型 165
10.4.1 创建顺序图 165
10.4.2 创建状态图 175
10.5 系统部署 176
习题10 177
参考文献 178
猜您喜欢