热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点

软件工程--原理、方法与应用

中国水利水电出版社
    【作 者】肖孟强 曲秀清 主编 【I S B N 】978-7-5084-3250-2 【责任编辑】张玉玲 【适用读者群】高职高专 【出版时间】2007-08-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】 【千字数】 【印 张】 【定 价】24 【丛 书】21世纪高等院校规划教材 【备注信息】
图书详情

    本书是根据教育部应用型本科21世纪规划教材指导思想与原则的要求,充分考虑应用型本科人才的培养目标和教学特点编写而成的。全书共12章,主要内容包括:软件工程概念、可行性研究与需求分析、软件设计、面向对象技术、统一建模语言UML、编码与编程语言、软件测试、软件维护、软件工程管理和质量保证、软件工程标准化、软件工程环境、嵌入式系统软件技术。本书在每一章的开头均给出本章的教学目标、教学任务和重点难点,每一章的最后给出实例分析和本章小结,附以部分习题,以便于教学与自学。

    本书强调内容的实用性。按软件工程的全过程来安排与组织内容,条理性强,以案例

    教学为驱动,易于学生学习与掌握。

    本书可作为应用型本科计算机、自动化、机电类等专业和高职高专计算机专业的教材,

    也可作为自学教材和软件开发人员的参考用书。

    本书所配电子教案可以从中国水利水电出版社网站上免费下载,网址为:

    http://www.waterpub.com.cn/softdown/。

    计算机技术的迅速发展带动了软件产业的快速发展,软件工程作为一门如何运用工程化的方式有效地管理和规范软件开发的学科,已逐渐被广大计算机行业的人士所接受和运用。现已作为计算机专业学生的必修课。

    本书在总结多年教学经验和科研实践的基础上,结合当前软件工程发展的新成果,对软件工程的原理、技术和应用做了系统介绍。本书以传统的软件工程为主线,结合现代软件工程技术,以案例为主导,从原理、技术到应用都做了全面的介绍,思路清晰,理论与实践的结合性较好。能使读者真正理解软件工程的原理及其重要意义,并结合实际应用达到学习软件工程的目的与要求。

    本书在讲解理论基础的同时,注重实际应用,通过分析归纳,介绍解决工程实际问题的思想和方法,然后进行概括总结,可操作性强。以案例为主导的教学方式使学生在工程实例的引导下掌握理论知识,增强了实践能力。

    本书的特点是理论与实践的有机结合,内容由浅入深,符合应用型人才的培养方向,同时注重标准和文档的重要性。

    本书考虑到软件工程中不断出现的新技术、新方法和逐步完善的软件工程过程,在传统软件工程理论的基础上,增加了新技术、新知识、新工艺的内容。对于比较流行的方法也做了简单介绍,拓宽了读者的知识层面,为进一步学习软件工程理论打下了基础。

    全书共12章。第1章是软件工程概述,以实际案例为先导,主要介绍软件工程的产生发展及软件的生存周期模型。第2章是可行性研究与需求分析,主要介绍软件可行性研究与需求分析的基本知识和方法。第3章是软件设计,主要讲解软件设计的基本概念和设计过程、结构化设计方法和详细设计常用工具。第4章是面向对象技术,主要讲解面向对象的软件开发技术,包括面向对象的基本概念及分析与设计方法、面向对象软件的开发过程和软件重用技术。第5章是统一建模语言,主要介绍统一建模语言UML的基本概念及相关的机制和规则。第6章是编码和编程语言,主要介绍编码风格和语言选择两个方面的内容。第7章是软件测试,介绍软件测试的概念和方法,讲述测试的策略和技术以及软件纠错的技术。第8章是软件维护技术,主要讲解软件维护的一些基本概念、软件维护的过程、软件的可维护性以及提高可维护性的方法。第9章是软件工程管理与质量保证,主要讲解软件工程管理与质量保证。第10章是软件工程标准化,主要讲解软件工程标准化的基本内容。第11章是软件工程环境,主要讲解软件工程环境的基本概念及组成内容。第12章是嵌入式系统软件技术,主要介绍嵌入式系统的基本知识及开发过程和方法。

    本书由肖孟强、曲秀清担任主编,韩殿元、解圣庆、王宗江担任副主编。本书第1章和第6章由肖孟强编写,第2章和第3章由韩殿元编写,第4章、第5章、第7章、第12章由曲秀清编写,第8章由王宗江编写,第9章~第11章由解圣庆编写,另外参加本书编写的还有王成端、刘永华、王红老师。全书由肖孟强统稿、整理。山东交通学院的沈祥玖教授对全书进行了审阅并提出了宝贵意见,在此表示忠心感谢。

    由于时间仓促及作者水平有限,书中难免存在缺点与不足之处,恳请广大读者和同行批评指正。

    编 者

    2005年7月


    前言
    第1章 软件工程概论 1
    本章学习目标 1
    1.1 引言 1
    1.2 软件与软件危机 3
    1.2.1 软件的定义 3
    1.2.2 软件的特点 3
    1.2.3 软件的分类 4
    1.2.4 软件危机 5
    1.3 软件工程的概念 7
    1.3.1 软件工程的产生及发展 7
    1.3.2 软件工程的定义及目标 9
    1.3.3 软件工程学的范畴 10
    1.4 软件生存周期及软件开发模型 11
    1.4.1 软件生存周期 11
    1.4.2 软件生存周期模型 13
    1.4.3 瀑布模型(Waterfall Model) 13
    1.4.4 演化模型(Evolutional Model) 14
    1.4.5 螺旋模型(Spiral Model) 15
    1.4.6 智能模型(Intelligence Model) 16
    本章小结 16
    习题 17
    第2章 可行性研究与需求分析 18
    本章学习目标 18
    2.1 可行性研究 18
    2.1.1 问题的定义 18
    2.1.2 可行性研究的任务 19
    2.1.3 可行性研究的步骤及工具 20
    2.1.4 制订项目计划 23
    2.2 需求分析 24
    2.2.1 需求分析的目标和任务 24
    2.2.2 软件需求的获取 25
    2.2.3 需求分析的过程 26
    2.2.4 快速原型方法 28
    2.3 结构化分析方法 30
    2.3.1 结构化分析模型 31
    2.3.2 数据流图与数据字典 33
    2.3.3 Warnier图 38
    2.4 需求分析评审 39
    2.4.1 需求规格说明书 39
    2.4.2 评审过程 40
    2.5 需求分析实例 42
    2.5.1 画分层数据流图 42
    2.5.2 确定数据定义与加工策略 44
    2.5.3 实例的需求分析评审 45
    本章小结 46
    习题 46
    第3章 软件设计 47
    本章学习目标 47
    3.1 软件设计的任务 47
    3.2 软件设计的基本概念 49
    3.2.1 软件设计的概念 49
    3.2.2 模块化与模块独立性 50
    3.2.3 抽象与信息隐蔽 55
    3.2.4 软件设计原则 57
    3.3 结构化设计方法 58
    3.3.1 系统结构图 58
    3.3.2 变换分析 60
    3.3.3 事务分析 63
    3.4 设计优化 65
    3.5 详细设计 68
    3.5.1 详细设计概述 68
    3.5.2 程序流程图 68
    3.5.3 N-S图(盒图) 71
    3.5.4 PAD图 72
    3.5.5 判定表与判定树 73
    3.5.6 PDL 75
    本章小结 76
    习题 77
    第4章 面向对象技术 78
    本章学习目标 78
    4.1 面向对象的概念 78
    4.1.1 面向对象 78
    4.1.2 对象 78
    4.1.3 类 79
    4.1.4 继承 79
    4.1.5 消息 80
    4.1.6 多态性 80
    4.1.7 封装性 80
    4.2 面向对象的开发过程 81
    4.2.1 应用生存期 81
    4.2.2 类生存期 82
    4.3 面向对象分析 83
    4.3.1 面向对象分析 84
    4.3.2 论域分析 84
    4.3.3 应用分析(Application Analysis) 86
    4.3.4 对象模型技术(OMT,Object Model Technology) 86
    4.4 面向对象的设计与实现 90
    4.4.1 高层设计 90
    4.4.2 类的设计 91
    4.4.3 系统的实现 94
    4.5 Coad与Yourdon方法 94
    4.5.1 面向对象的分析 95
    4.5.2 面向对象的设计 97
    4.5.3 Booch的方法 98
    4.6 软件复用技术 102
    4.6.1 软件复用的基本概念 102
    4.6.2 软件复用技术分类 103
    4.6.3 论域工程 104
    4.6.4 基于构件的软件开发 106
    4.6.5 面向对象方法与软件复用 107
    本章小结 108
    习题 108
    第5章 统一建模语言UML 109
    本章学习目标 109
    5.1 UML的基本概念 109
    5.1.1 UML语言的产生 109
    5.1.2 UML的定义 110
    5.1.3 UML的目标 110
    5.1.4 UML语言的应用 110
    5.2 UML语言概述 111
    5.2.1 视图 111
    5.2.2 图 111
    5.2.3 UML的模型元素及表示方法 112
    5.2.4 UML的通用机制和扩展机制 115
    5.2.5 UML的规则 116
    5.3 静态建模 117
    5.3.1 用例模型 117
    5.3.2 类和对象模型 117
    5.3.3 类之间的关系 119
    5.4 动态建模 122
    5.4.1 消息 122
    5.4.2 状态图和时序图 123
    5.4.3 协作图和活动图 124
    5.5 物理架构建模 126
    5.5.1 逻辑架构与物理架构 126
    5.5.2 组件图与部署图 128
    5.6 基于UML的统一建模过程——RUP 128
    本章小结 129
    习题 130
    第6章 编码和编程语言 131
    本章学习目标 131
    6.1 编码的目的 131
    6.2 编码的风格 132
    6.2.1 结构化程序设计 132
    6.2.2 编码风格 137
    6.3 编码语言 144
    6.3.1 编码语言的发展 144
    6.3.2 常用的编码语言 145
    6.3.3 编码语言的选择 147
    本章小结 149
    习题 149
    第7章 软件测试 150
    本章学习目标 150
    7.1 软件测试的基本概念 150
    7.1.1 软件测试的定义 150
    7.1.2 软件测试的目的和原则 151
    7.1.3 软件测试的对象及信息流 152
    7.2 黑盒测试 153
    7.2.1 等价类划分法 153
    7.2.2 边界值分析 155
    7.2.3 错误推测法 156
    7.2.4 因果图法 156
    7.2.5 功能图 156
    7.3 白盒测试 156
    7.3.1 逻辑覆盖 157
    7.3.2 基本路径测试 162
    7.4 软件测试的步骤及过程 162
    7.4.1 单元测试 162
    7.4.2 集成测试 164
    7.4.3 确认测试 165
    7.4.4 系统测试 166
    7.4.5 人工测试 167
    7.4.6 软件测试过程 167
    7.5 软件的调试及排错 168
    7.5.1 错误的诊断及排除 168
    7.5.2 常用的几种调试方法 169
    7.6 面向对象的软件测试 170
    7.6.1 面向对象的测试模型 170
    7.6.2 面向对象软件的测试策略 171
    7.6.3 面向对象软件测试用例设计 172
    本章小结 174
    习题 174
    第8章 软件维护 175
    本章学习目标 175
    8.1 软件维护概述 175
    8.1.1 软件维护的基本概念 175
    8.1.2 软件维护的种类 175
    8.1.3 影响软件维护工作量的因素 177
    8.1.4 软件维护的策略 177
    8.2 软件维护的过程 178
    8.2.1 维护机构 178
    8.2.2 软件维护申请报告 179
    8.2.3 软件维护工作流程 179
    8.2.4 软件维护记录及评价 180
    8.2.5 修改程序的副作用 181
    8.3 软件的可维护性 181
    8.3.1 可维护性的定义 182
    8.3.2 可维护性的度量 182
    8.4 提高可维护性的途径 184
    8.4.1 建立明确的软件质量目标和优先级 184
    8.4.2 使用提高软件质量的技术和工具 184
    8.4.3 进行明确的质量保证审查 185
    8.4.4 选择可维护的程序设计语言 187
    8.4.5 改进程序的文档 188
    8.5 逆向工程和再工程 189
    本章小结 189
    习题 190
    第9章 软件工程管理与质量保证 191
    本章学习目标 191
    9.1 软件度量技术 191
    9.1.1 代码行度量技术 191
    9.1.2 功能点度量 192
    9.1.3 COCOMO模型 194
    9.2 软件估算 195
    9.2.1 资源估算 196
    9.2.2 成本估算 197
    9.2.3 人员的分配与组织 200
    9.2.4 项目进度安排 203
    9.3 质量保证 208
    9.3.1 软件的质量属性 208
    9.3.2 质量保证的活动内容 209
    9.4 软件可靠性 211
    9.5 软件配置管理 211
    9.5.1 软件配置管理 212
    9.5.2 版本控制 213
    9.5.3 配置状态报告 214
    9.5.4 配置审计 215
    本章小结 216
    习题 216
    第10章 软件工程标准化 217
    本章学习目标 217
    10.1 软件工程标准化 217
    10.1.1 软件工程标准化的概念 217
    10.1.2 软件工程标准化的意义 218
    10.2 软件质量认证 218
    10.2.1 ISO 9000系列标准 218
    10.2.2 软件质量认证 219
    10.2.3 ISO 9000-3的要点 219
    10.3 软件文档 220
    10.3.1 软件文档的作用 220
    10.3.2 软件文档的分类 221
    10.3.3 文档的管理与维护 221
    10.3.4 常用的软件文档 221
    10.4 CMM模型 222
    10.4.1 软件过程成熟度模型 223
    10.4.2 关键过程域 224
    10.4.3 成熟度提问单 224
    本章小结 226
    习题 226
    第11章 软件工程环境 227
    本章学习目标 227
    11.1 什么是软件工程环境 227
    11.1.1 软件开发环境的特点 228
    11.1.2 软件开发环境的模型 230
    11.2 CASE环境 230
    11.2.1 CASE环境 230
    11.2.2 CASE环境的组成与结构 230
    本章小结 233
    习题 233
    第12章 嵌入式系统软件技术 234
    本章学习目标 234
    12.1 嵌入式系统的基础知识 234
    12.1.1 嵌入式系统的定义 234
    12.1.2 嵌入式系统的特点 235
    12.1.3 嵌入式系统的应用 236
    12.2 嵌入式系统开发过程 236
    12.2.1 嵌入式软件的开发特点 237
    12.2.2 嵌入式软件的开发过程 238
    12.3 嵌入式软件的测试 241
    12.3.1 嵌入式软件的测试方法 241
    12.3.2 嵌入式软件的测试策略 242
    12.3.3 嵌入式软件的测试工具 243
    12.4 嵌入式系统的调试 244
    12.4.1 嵌入式系统的调试方式 244
    12.4.2 嵌入式系统的调试方法 245
    本章小结 246
    习题 246
    参考文献 247本书是根据教育部应用型本科21世纪规划教材指导思想与原则的要求,充分考虑应用型本科人才的培养目标和教学特点编写而成的。全书共12章,主要内容包括:软件工程概念、可行性研究与需求分析、软件设计、面向对象技术、统一建模语言UML、编码与编程语言、软件测试、软件维护、软件工程管理和质量保证、软件工程标准化、软件工程环境、嵌入式系统软件技术。本书在每一章的开头均给出本章的教学目标、教学任务和重点难点,每一章的最后给出实例分析和本章小结,附以部分习题,以便于教学与自学。
    本书强调内容的实用性。按软件工程的全过程来安排与组织内容,条理性强,以案例
    教学为驱动,易于学生学习与掌握。
    本书可作为应用型本科计算机、自动化、机电类等专业和高职高专计算机专业的教材,
    也可作为自学教材和软件开发人员的参考用书。
    本书所配电子教案可以从中国水利水电出版社网站上免费下载,网址为:
    http://www.waterpub.com.cn/softdown/。
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册