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

软件工程(第二版)

中国水利水电出版社
    【作 者】卢潇 主编 【I S B N 】978-7-5084-8069-5 【责任编辑】张玉玲 【适用读者群】本专通用 【出版时间】2010-12-29 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第2版第4次印刷 【页 数】 【千字数】490 【印 张】18.75 【定 价】29.8 【丛 书】21世纪电子信息与自动化系列规划教材 【备注信息】
图书详情

    本书是作者总结多年软件工程教学和科研实践经验,并吸取国内外大量同类书刊的精华,在第一版成功应用的基础上,结合近年来软件工程技术的发展,对原书内容做了调整和增删而成的。

    全书正文共13章,内容可分四部分:第一部分主要介绍软件工程的基本概念,并概要地介绍软件生存周期、开发模型及软件开发的各种方法;第二部分按生命周期模型详细介绍软件计划、需求分析、设计、编码、测试和维护各个阶段的有关概念、工作内容,重点介绍结构化方法和Jackson方法的实施,并介绍软件体系结构的相关内容;第三部分介绍面向对象的方法及UML建模语言;第四部分介绍软件标准、文档、质量评价和质量保证技术、软件工程的管理和认证等内容。

    本书可作为高等院校“软件工程”课程的教材或教学参考书,也可作为软件项目管理者和软件开发人员的参考书。

    1. 围绕提高学生的工程素质,组织教学内容

    2. 在保证全书的内容全面、系统的基础上,突出实用性

    3.以大量的图表、丰富的实例,解决软件工程教学中存在的内容抽象、空洞难懂的问题。

    4. 将原理、方法与实例结合,以一个学生熟悉、易懂的教学管理系统实例,贯穿每一个开发步骤,并在第13章给出了详细的开发过程

    5. 配有大量习题,供读者练习与自测

    6. 免费提供电子教案

    软件工程学(通常简称软件工程)是一门迅速发展的新兴学科。所谓软件工程,即用“工程化”的思想来指导并解决软件研制中的各种问题。其研究的范围非常广泛,包括技术方法、工具和管理等许多方面。软件工程的目标在于研究一套科学的工程方法,并建立与此相适应的、方便实用的工具系统,力求以最少的成本获得高的软件质量。近年来,软件工程发展迅速,新的技术方法和工具不断涌现。本书力求系统地给出软件工程的框架,在保证全书内容全面、系统的基础上,着重从实用角度讲述软件工程的基本原理、概念和技术方法。希望本书能为读者今后深入研究这门学科奠定良好的基础,并能对实际的软件开发工作有所帮助。

    本书共13章,从内容上可分四部分:

    第一部分(第1章):概括介绍软件工程学产生的历史背景以及相关的基本原理、概念和方法。主要介绍软件工程的基本概念,并概要介绍软件生存周期、开发模型及软件开发的各种方法。

    第二部分(第2~8章):按生命周期模型,详细介绍软件计划、需求分析、设计、编码、测试和维护各个阶段的有关概念、工作内容,重点介绍结构化方法和Jackson方法的实施,并介绍了软件体系结构的相关内容。

    第2章介绍软件生命周期的第一个阶段——软件计划的任务和相关技术,主要内容有可行性研究、软件计划和成本/效益分析。

    第3章介绍需求分析的发现、求精、建模、规格说明和复审的过程,以及需求管理的内容,讨论获取需求的方法及需求分析的原则,重点介绍结构化分析技术和原型技术,并给出了软件需求规格说明书的要求。

    第4章阐述软件设计中用到的基本概念及软件总体结构、数据结构与软件过程等概念,重点介绍软件总体设计的方法和设计表达工具,详细阐述与结构化需求分析方法衔接的、面向数据流的设计方法——结构化软件设计方法(SD方法)和面向数据结构的设计方法——Jackson设计方法。

    第5章介绍详细设计的任务、方法和工具,并阐述了近年来软件工程领域的新的研究热点和关键技术之一——软件体系结构的有关内容。

    第6章围绕着编码质量谈论了程序设计语言的选择及编码风格等内容。

    第7章讨论软件测试的相关概念、步骤,介绍常用的测试技术和工具。

    第8章介绍软件维护的任务、特点、组织以及软件维护可能带来的问题,如何提高软件的可维护性等。

    第三部分(第9章):介绍了面向对象技术的基本概念,以实例的形式阐述用UML建模语言进行系统分析、系统设计和系统实施的基本过程。

    第四部分(第10~12章):介绍软件标准、文档、质量评价和质量保证技术、软件工程的管理和认证等内容。

    第10章介绍软件工程标准化的相关概念、国内外的现状以及软件文档的相关内容。

    第11章介绍软件质量的特性,并给出软件质量的度量方法及如何进行质量评价,最后还简单介绍了软件的质量保证和质量管理体系。

    第12章讨论软件工程管理技术,并介绍目前流行的管理工具、IPMP与PMP认证体系及我国目前的项目管理认证体系的发展状况等内容。

    第13章比较完整地介绍一个实际软件的开发。着重阐述从问题定义到实现的过程,将这个具体例子与书中前几章的内容结合起来学习,有助于加深对一些基本概念和方法的理解。

    本书第1~5章和第13章由卢潇和卢靓妮编写,第6~9章由孙璐和蒋华编写,第10~12章由刘娟和张科英编写。韩毅娜和车从领、张强、孙路等对书中的实例及图表做了大量的工作。

    在本书编写过程中作者参考了大量书籍、资料和网站,同时融入了作者多年教学和科研工作的体会和经验。鉴于作者的学识水平有限,书中谬误和不足之处在所难免,敬请广大读者批评指正。

    编 者

    2010年12月

    前言

    第1章 概述 1
    1.1 软件的概念 1
    1.1.1 软件的发展阶段 1
    1.1.2 软件的定义 2
    1.2 软件危机 2
    1.2.1 什么是软件危机 2
    1.2.2 产生软件危机的原因 3
    1.2.3 解决软件危机的途径 5
    1.3 软件工程 5
    1.3.1 软件工程的定义 5
    1.3.2 软件工程的内容 6
    1.3.3 软件工程的基本原理 7
    1.3.4 软件工程项目的基本目标 8
    1.4 软件过程和软件生存期 8
    1.4.1 软件过程 8
    1.4.2 软件生命周期 10
    1.5 软件开发过程模型 10
    1.5.1 瀑布模型 11
    1.5.2 原型模型 12
    1.5.3 螺旋模型 13
    1.5.4 喷泉模型 14
    1.5.5 构件组装模型 15
    1.5.6 统一过程模型 16
    1.5.7 敏捷开发过程 16
    1.6 软件开发方法简述 18
    1.6.1 结构化方法 18
    1.6.2 面向数据结构的开发方法 18
    1.6.3 面向对象的方法 19
    1.6.4 可视化开发方法 20
    1.7 软件工程的发展趋势 20
    1.8 小结 21
    习题1 22
    第2章 可行性研究与软件计划 23
    2.1 可行性研究 23
    2.1.1 可行性研究的任务 23
    2.1.2 可行性研究的步骤 24
    2.2 系统流程图 26
    2.2.1 系统流程图的符号 26
    2.2.2 系统流程图举例 27
    2.2.3 系统流程图的分层 28
    2.3 软件计划 28
    2.3.1 确定软件计划 28
    2.3.2 复审软件计划 33
    2.4 成本/效益分析 33
    2.4.1 成本估算技术 33
    2.4.2 成本/效益分析的方法 37
    2.5 小结 38
    习题2 39
    第3章 需求分析 40
    3.1 需求分析的概念和任务 40
    3.1.1 需求的概念 40
    3.1.2 需求的层次 40
    3.1.3 需求分析的任务 41
    3.2 获取需求的方法 45
    3.2.1 存在问题 46
    3.2.2 常用方法 46
    3.2.3 需求分析的原则 47
    3.2.4 需求分析方法概述 47
    3.3 结构化分析方法 49
    3.3.1 结构化分析方法的基本思想 49
    3.3.2 描述工具 50
    3.3.3 数据流图 50
    3.3.4 数据字典 56
    3.3.5 加工逻辑说明 57
    3.4 原型法 60
    3.4.1 原型在需求分析中的作用 61
    3.4.2 快速原型开发过程 62
    3.5 小结 64
    习题3 65
    第4章 总体设计 66
    4.1 总体设计的任务及目标 66
    4.1.1 总体设计的任务 66
    4.1.2 总体设计的目标 69
    4.2 总体设计的概念和原理 69
    4.2.1 软件结构和过程 70
    4.2.2 模块化 72
    4.3 设计准则 82
    4.4 总体设计的常用方法及工具 86
    4.4.1 面向数据流的设计方法 86
    4.4.2 面向数据结构的分析设计方法 94
    4.5 小结 103
    习题4 103
    第5章 详细设计 105
    5.1 详细设计的任务 105
    5.2 详细设计的原则 105
    5.3 详细设计的方法和工具 106
    5.3.1 详细设计的方法 106
    5.3.2 详细设计工具的选择 106
    5.3.3 常用详细设计工具 107
    5.4 详细设计规格说明与复审 113
    5.4.1 详细设计说明 113
    5.4.2 设计复审 114
    5.5 界面设计 114
    5.5.1 人机界面设计的一般原则和步骤 115
    5.5.2 字符界面设计 117
    5.5.3 菜单设计 117
    5.5.4 对话框设计 118
    5.5.5 多窗口界面设计 118
    5.6 软件体系结构 119
    5.6.1 软件体系结构的兴起 119
    5.6.2 软件体系结构的概念 119
    5.6.3 软件体系结构的现状及发展方向 121
    5.6.4 软件体系结构的风格 123
    5.6.5 软件体系结构的描述方法 129
    5.7 几种新型的软件体系结构 131
    5.7.1 三层C/S软件体系结构 131
    5.7.2 C/S与B/S混合软件体系结构 133
    5.8 小结 133
    习题5 134
    第6章 编码 135
    6.1 程序设计语言 135
    6.1.1 程序设计语言的分类 135
    6.1.2 程序设计语言的选择 136
    6.2 程序设计风格 137
    6.2.1 源程序文档化 137
    6.2.2 数据说明 138
    6.2.3 语句结构 139
    6.2.4 输入/输出(I/O) 139
    6.3 实例 140
    6.4 小结 142
    习题6 142
    第7章 软件测试 143
    7.1 软件测试的任务和目标 143
    7.1.1 软件测试的目标 143
    7.1.2 软件测试原则 143
    7.2 软件测试的方法 145
    7.2.1 白盒测试法 145
    7.2.2 黑盒测试法 150
    7.3 软件测试的步骤 152
    7.3.1 单元测试 153
    7.3.2 集成测试 154
    7.3.3 确认测试 156
    7.3.4 系统测试 157
    7.4 调试 158
    7.4.1 调试过程 158
    7.4.2 调试方法 159
    7.4.3 调试原则 160
    7.5 实例 161
    7.6 小结 163
    习题7 164
    第8章 软件维护 165
    8.1 软件维护的概念 165
    8.2 软件维护的特点 166
    8.2.1 与维护相关的问题 166
    8.2.2 维护的代价 167
    8.3 软件维护的步骤 167
    8.3.1 维护申请报告 167
    8.3.2 维护工作实施 168
    8.3.3 维护文档整理 170
    8.3.4 维护活动评价 170
    8.4 软件的可维护性 171
    8.4.1 影响软件可维护性的因素 171
    8.4.2 提高软件的可维护性方法 172
    8.5 逆向工程和再工程 173
    8.5.1 预防性维护 173
    8.5.2 软件的逆向工程和再工程 174
    8.6 实例 174
    8.7 小结 175
    习题8 176
    第9章 面向对象方法学 177
    9.1 面向对象方法学概述 177
    9.1.1 面向对象方法学的引入 177
    9.1.2 面向对象的基本概念 179
    9.2 面向对象建模 182
    9.2.1 统一建模语言 183
    9.2.2 UML图形表示 183
    9.2.3 对象建模 184
    9.2.4 动态建模 190
    9.2.5 功能建模 191
    9.3 面向对象分析 194
    9.3.1 面向对象分析的目标和任务 194
    9.3.2 面向对象分析的基本原则 195
    9.3.3 面向对象分析的基本过程 195
    9.4 面向对象设计 198
    9.4.1 面向对象设计的基本准则 198
    9.4.2 启发规则 200
    9.4.3 面向对象设计的基本内容 201
    9.4.4 问题域子系统设计 202
    9.4.5 人机交互子系统设计 203
    9.4.6 任务管理子系统设计 203
    9.4.7 数据管理子系统设计 204
    9.5 面向对象实现 206
    9.5.1 面向对象程序设计语言 206
    9.5.2 面向对象程序设计风格 207
    9.5.3 面向对象程序测试 208
    9.6 面向对象实例 208
    9.6.1 图书馆管理信息系统的需求说明 209
    9.6.2 UML建模 209
    9.7 小结 215
    习题9 216
    第10章 软件工程标准化和软件文档 217
    10.1 软件工程标准化的概念 217
    10.1.1 什么是软件工程标准化 217
    10.1.2 软件工程标准化的意义 218
    10.1.3 软件工程标准化的类型 218
    10.2 软件工程标准的制定与推行 219
    10.2.1 软件工程标准的制定与推行 219
    10.2.2 软件工程标准在开发机构中的
    推行 220
    10.3 软件工程标准的层次和体系框架 221
    10.3.1 软件工程标准的层次 221
    10.3.2 软件工程标准的体系框架 222
    10.3.3 中国的软件工程标准化工作 225
    10.4 ISO 9000国际标准简介 227
    10.4.1 ISO 9000标准的特点 227
    10.4.2 ISO 9000标准的构成 227
    10.5 软件文档 228
    10.5.1 软件文档的作用和分类 228
    10.5.2 软件文档的管理和维护 231
    10.6 小结 232
    习题10 232
    第11章 软件工程质量 233
    11.1 软件质量特性 233
    11.1.1 软件质量的定义 233
    11.1.2 软件质量的特性 233
    11.2 软件质量的度量和评价 236
    11.2.1 软件质量的度量 236
    11.2.2 软件质量的评价 237
    11.3 软件质量保证 238
    11.3.1 什么是软件质量保证 238
    11.3.2 软件质量保证的主要任务 238
    11.3.3 软件质量保证体系 239
    11.4 软件质量管理体系 242
    11.4.1 软件产品质量管理的特点 242
    11.4.2 软件开发的质量管理体系 242
    11.5 小结 243
    习题11 243
    第12章 软件工程项目管理 244
    12.1 软件项目管理 244
    12.1.1 软件项目管理的特点 244
    12.1.2 软件项目管理的主要职能 244
    12.2 常见管理技术及工具简介 245
    12.2.1 软件项目管理的主要内容 245
    12.2.2 常见工具简介 252
    12.3 软件过程成熟度模型 254
    12.3.1 软件能力成熟度模型 254
    12.3.2 能力成熟度模型集成 256
    12.4 项目管理认证体系IPMP与PMP 258
    12.4.1 IPMP概况 258
    12.4.2 PMP简介 259
    12.5 小结 259
    习题12 259
    第13章 开发实例 260
    13.1 项目论证和计划 260
    13.1.1 系统调查 260
    13.1.2 新系统的总体功能需求和性能要求 264
    13.1.3 完成文档 266
    13.2 需求分析 266
    13.2.1 数据流分析 266
    13.2.2 数据字典 269
    13.2.3 处理逻辑描述 278
    13.2.4 形成需求规格说明书并进行
    需求评审 281
    13.3 系统设计 281
    13.3.1 系统总体概要设计 281
    13.3.2 详细设计 283
    13.3.3 数据库设计 285
    13.3.4 界面设计 287
    13.3.5 完成设计文档和设计评审 289
    13.4 系统实现 289
    13.4.1 系统物理实现 289
    13.4.2 数据库物理设计 289
    13.4.3 编码 289
    13.5 小结 290
    参考文献 291
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册