欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

软件工程基础

书      号:9787113115692

丛  书 名:高职高专院校实践类课程系列规划教材

作      者:周苏王文 编著

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:30

  • 内容简介

    本书针对计算机和其他IT专业学生的发展需求,系统、全面地介绍了软件工程的概念、原理、方法及其应用,详细介绍了软件生存周期、面向对象软件过程和软件过程工程的思想和实现方法,力图反映软件工程领域的最新发展,具有较强的系统性和可读性。
  • 前言

    软件工程是一门理论性和实践性都很强的学科,它采用工程化的概念、理论、技术和方法来指导计算机软件的开发与维护,它主要研究软件结构、软件设计方法、软件工具、软件工程标准和规范以及软件工程的有关理论。采用工程化的概念、原理、技术和方法来开发与维护软件,把经过时间考验,证明正确的管理技术和当前能够得到的最好的开发方法结合起来,这就是软件工程。
    另一方面,高等教育的新形势需要我们积极进行教学改革,研究和探索新的教学方法。在长期的教学实践中,我们体会到,坚持“因材施教”的重要原则,把实验实践环节与理论教学相融合,以实验实践教学促进学科理论知识的学习,是有效地改善教学效果和提高教学水平的重要方法之一。
    本书是具有较强实践性的高职高专院校“软件工程”课程的教材。针对计算机和其他IT专业学生的发展需求,本书系统、全面地介绍了软件工程的概念、原理、方法及应用,详细介绍了软件生存周期、面向对象软件过程和软件过程工程的思想和实现方法,力图反映软件工程领域的最新发展,具有较强的系统性和可读性。
    本书的主要特色是:理论联系实际,结合一系列知识的学习和实验,把软件工程的概念、理论和技术知识融入实践当中,使学生保持浓厚的学习热情,加深对软件工程知识的认识、理解和掌握;按照一系列软件工程国家标准来表达和描述软件工程的知识,使软件工程技术具有很强的可操作性。
    在本书的设计编写中,包含以下几个愿望:
    ? 通过主要基于因特网的实验活动,培养学生在网络环境中自主学习的能力。
    ? 通过针对Visio、WinRunner、PowerDesigner、Project和Visual SourceSafe等常用软件工具的学习和实验活动,培养学生的动手能力。
    ? 通过广泛的专业文章和教材阅读,培养学生探究性学习、理性思考和创新思维的能力。
    本书的编撰得到了浙江大学城市学院、浙江商业职业技术学院、温州大学城市学院、广州科贸职业技术学院等多所院校领导和师生的支持,在此一并表示感谢!本书相关的实验素材可以从中国铁道出版社网站(edu.tgbooks.net)的下载区下载。欢迎教师索取为本书教学配套的相关资料和交流。E-mail:zs@mail.hz.zj.cn,QQ:81505050,个人博客:http://blog.sina.com.cn/zhousu58。
  • 目录

    第1章 软件工程概述 1
    1.1 计算机系统与软件 1
    1.2 软件生存周期和软件生存周期
    1.2 过程 2
    1.3 软件生存周期模型 3
    1.3.1 瀑布模型 4
    1.3.2 渐增模型 4
    1.3.3 演化模型 5
    1.4 软件工程定义 5
    1.4.1 软件工程的内容 6
    1.4.2 软件工程的基本目标和
    1.4.2 原则 6
    1.4.3 软件工程与一般工程的
    1.4.3 差异 7
    1.5 软件工具与开发环境 8
    1.5.1 软件工具 8
    1.5.2 软件开发环境 8
    1.6 软件工程的发展 9
    1.7 阅读:软件工程学科的相关学科 10
    1.8 习题与思考 11
    1.9 实训:软件工程的计算环境 11
    第2章 可行性研究与计划 14
    2.1 可行性研究 14
    2.2 软件计划 15
    2.2.1 软件范围 15
    2.2.2 资源 16
    2.2.3 软件成本估算 16
    2.3 进度安排 17
    2.4 计划文件与复审 18
    2.5 阅读:《人月神话》作者
    2.5 布鲁克斯 18
    2.6 习题与思考 19
    2.7 实训:软件工具与软件开发
    2.7 环境 20
    第3章 软件需求分析 24
    3.1 需求分析阶段的任务 24
    3.2 结构化分析方法 25
    3.2.1 结构化分析方法的内容 25
    3.2.2 结构化分析方法的步骤 26
    3.3 数据流程图 27
    3.3.1 数据流程图的属性和
    3.3.1 成分 27
    3.3.2 数据流程图示例 28
    3.3.3 数据流程图绘制准则 29
    3.4 数据字典 30
    3.4.1 数据流条目 30
    3.4.2 文件条目 30
    3.4.3 数据项条目 31
    3.4.4 加工条目 31
    3.5 加工的分析与表达 32
    3.5.1 加工的表达原则 32
    3.5.2 结构化语言 32
    3.5.3 判定表 33
    3.5.4 判定树 34
    3.6 需求分析文件与复审 35
    3.6.1 GB/T 8567—2006规定的
    3.3.1 文件 35
    3.6.2 需求分析的复审 36
    3.7 阅读:软件思想家
    3.7 杰拉尔德?温伯格 37
    3.8 习题与思考 37
    3.9 实训:软件开发绘图工具Visio 38
    第4章 软件概要设计 49
    4.1 模块的划分 49
    4.1.1 软件结构 49
    4.1.2 模块划分的基本原则 50
    4.1.3 内聚度 50
    4.1.4 耦合度 51
    4.1.5 高内聚和低耦合 52
    4.1.6 模块划分的方法 52
    4.2 结构化设计方法 53
    4.2.1 变换与事务型数据流
    4.2.1 分析 53
    4.2.2 模块化设计 53
    4.2.3 模块结构图 54
    4.2.4 从数据流程图导出模块
    4.2.1 结构图 55
    4.3 Parnas方法 57
    4.3.1 信息隐蔽原则 57
    4.3.2 加强系统各成分间的
    4.2.1 检查 57
    4.4 Jackson方法 58
    4.5 程序的逻辑构造方法 59
    4.6 概要设计文件与复审 59
    4.6.1 概要设计说明书 59
    4.6.2 概要设计的复审 59
    4.7 阅读:Parnas:把软件工程作为
    4.7 一门真正的工程学科(1) 60
    4.8 习题与思考 62
    4.9 实训:使用Visio绘制工程
    4.7 图形 64
    第5章 软件详细设计 69
    5.1 概述 69
    5.2 结构化构造 70
    5.3 图形设计工具 70
    5.3.1 程序流程图 70
    5.3.2 方块图 72
    5.3.3 HIPO图 73
    5.3.4 PAD图 74
    5.4 伪码与程序设计语言 75
    5.5 各种详细设计工具的比较 77
    5.6 详细设计文件与复审 78
    5.6.1 详细设计说明书 78
    5.6.2 详细设计的复审 78
    5.7 阅读:Parnas:把软件工程作为
    5.7 一门真正的工程学科(2) 78
    5.8 习题与思考 82
    5.9 实训:软件工程国家标准 82
    第6章 软件编码 88
    6.1 结构化程序设计方法 88
    6.2 程序设计风格 89
    6.2.1 源程序 89
    6.2.2 数据说明 90
    6.2.3 语句结构 90
    6.3 源代码文件 91
    6.3.1 综合文件 91
    6.3.2 程序组织文件 92
    6.3.3 指令级注释 92
    6.4 程序设计技术 92
    6.4.1 冗余程序设计 93
    6.4.2 防错性程序设计 93
    6.4.3 程序设计的质量 93
    6.4.4 编译程序和解释程序 94
    6.5 编程语言的特点 94
    6.5.1 过程性语言 94
    6.5.2 说明性语言 95
    6.5.3 脚本语言 95
    6.5.4 低级语言 96
    6.5.5 高级语言 96
    6.5.6 面向对象语言 96
    6.5.7 事件驱动语言 97
    6.5.8 构件(组件) 97
    6.6 选择编程语言 97
    6.7 编码文件与复审 99
    6.8 阅读:19世纪的传奇合作——
    6.8 巴贝奇与阿达 99
    6.9 习题与思考 100
    6.10 实训:软件测试环境 103
    第7章 软件测试 106
    7.1 测试的基本概念 106
    7.2 测试方法 107
    7.2.1 静态分析技术 107
    7.2.2 动态测试技术 108
    7.3 单元测试 109
    7.4 组装测试 110
    7.4.1 组装测试的任务 110
    7.4.2 组装测试的方式 111
    7.5 确认测试 111
    7.6 测试用例设计 112
    7.6.1 白盒法 112
    7.6.2 黑盒法 114
    7.7 测试工具与测试自动化 116
    7.7.1 基于GUI的自动化测试 116
    7.7.2 自动化测试工具的特征 117
    7.7.3 自动化测试工具的分类 118
    7.7.4 α、β测试 119
    7.8 测试文件与复审 119
    7.8.1 GB/T 8567—2006规定的
    7.7.1 文件 120
    7.8.2 GB/T 9386—1988规定的
    7.7.1 文件 120
    7.8.3 测试的复审 120
    7.9 排错技术与系统转换 121
    7.10 阅读:从程序员到软件测试
    7.10 工程师 121
    7.11 习题与思考 124
    7.12 实训:黑盒法与白盒法设计
    7.12 测试用例 126
    第8章 软件维护 133
    8.1 概述 133
    8.1.1 软件维护工作的必要性 133
    8.1.2 软件维护的内容 133
    8.1.3 维护工作的过程 134
    8.2 软件的可维护性 135
    8.3 软件维护的管理 136
    8.4 系统分析与建模工具
    8.4 PowerDesigner 137
    8.5 阅读:软件工程学科的内涵 139
    8.6 习题与思考 141
    8.7 实训:PowerDesigner入门 142
    第9章 软件质量管理 151
    9.1 软件项目特点与软件管理职能 151
    9.1.1 软件项目的特点 151
    9.1.2 软件管理的主要职能 151
    9.2 对软件质量的需求 152
    9.2.1 用户的质量观 152
    9.2.2 开发人员的质量观 152
    9.2.3 维护人员的质量观 153
    9.2.4 管理人员的质量观 153
    9.3 软件质量度量 153
    9.3.1 软件质量框架模型 153
    9.3.2 软件质量特性 154
    9.3.3 评估指标的选取原则 154
    9.4 软件质量评估指标体系 155
    9.4.1 功能度指标 155
    9.4.2 可靠性指标 155
    9.4.3 易用性指标 156
    9.4.4 效率特性指标 156
    9.5 CMM:软件能力成熟度模型 157
    9.6 PowerDesigner的CDM 158
    9.7 阅读:《未来之路》和
    9.7 《数字化生存》 159
    9.8 习题与思考 160
    9.9 实训:PowerDesigner业务处理
    9.7 模型 161
    第10章 软件配置管理 177
    10.1 软件配置管理的概念 177
    10.2 配置管理软件VSS 177
    10.2.1 VSS的主要功能 177
    10.2.2 软件配置管理员的
    10.2.2 任务 178
    10.2.3 项目组其他人员的
    10.2.2 任务 179
    10.2.4 与Visual Studio IDE
    10.2.2 集成 179
    10.3 阅读:软件产业的设计大师和
    10.3 VB之父Alan Cooper 179
    10.4 习题与思考 180
    10.5 实训:软件配置管理工具
    10.5 VSS 181
    第11章 面向对象分析与设计 186
    11.1 面向对象方法 186
    11.1.1 面向对象方法的特点 187
    11.1.2 面向对象软件工程 188
    11.2 面向对象的概念 189
    11.2.1 对象 189
    11.2.2 类 189
    11.2.3 消息传递 190
    11.2.4 多态性 190
    11.3 面向对象软件的开发过程 190
    11.3.1 类生存期 190
    11.3.2 面向对象的开发 192
    11.4 面向对象分析—— OOA 193
    11.4.1 OOA的基本内容 193
    11.4.2 常用的OOA方法 194
    11.4.3 论域分析 195
    11.5 面向对象设计——OOD 197
    11.5.1 高层设计 198
    11.5.2 类设计的目标和方针 199
    11.5.3 通过复用设计类 200
    11.5.4 类设计方法 200
    11.6 PowerDesigner的CDM 202
    11.7 阅读:极限编程XP的先驱
    10.5 Kent Beck 204
    11.8 习题与思考 205
    11.9 实训:PowerDesigner概念数据
    10.5 模型 206
    第12章 面向对象的实现 223
    12.1 面向对象编程 223
    12.2 面向对象测试 224
    12.2.1 面向对象测试的特点 224
    12.2.2 面向对象的测试步骤 225
    12.2.3 面向对象的测试策略 227
    12.3 面向对象软件的测试用例
    12.3 设计 228
    12.3.1 传统测试用例设计
    12.3.1 方法的可用性 228
    12.3.2 基于故障的测试设计 228
    12.3.3 基于场景的测试设计 229
    12.3.4 测试表层结构和
    12.3.1 深层结构 229
    12.4 PowerDesigner的PDM 229
    12.4.1 表、列、视图、主键、
    12.3.1 候选键、外键 230
    12.4.2 存储过程和触发器 230
    12.4.3 默认值与规则 231
    12.4.4 完整性检查约束 231
    12.4.5 索引 232
    12.4.6 检查PDM对象 232
    12.5 阅读:CASE与信息工程的
    12.5 创始人James Martin 232
    12.6 习题与思考 233
    12.7 实训:PowerDesigner物理数据
    12.5 模型 233
    第13章 统一建模语言——UML 251
    13.1 UML概述 251
    13.2 PowerDesigner的OOM 252
    13.2.1 用例图 253
    13.2.2 时序图 254
    13.2.3 类图 255
    13.3 阅读:软件开发的教父
    13.3 Martin Fowler 255
    13.4 习题与思考 255
    13.5 实训:PowerDesigner面向对象
    13.3 模型 256
    第14章 软件文件 281
    14.1 目的和作用 281
    14.2 软件生存周期与各种文件的
    13.3 编制 282
    14.3 文件编制中考虑的因素 282
    14.3.1 文件的读者 283
    14.3.2 文件内容的重复性 283
    14.3.3 文件内容的灵活性 283
    14.4 文件编制的质量要求 284
    14.5 文件的管理和维护 284
    14.5.1 文件的形成 284
    14.5.2 文件的分类与标识 284
    14.5.3 文件控制 285
    14.5.4 文件的修改管理 285
    14.5.5 《软件文档管理指南》
    14.5.5 (GB/T 16680—1996) 285
    14.6 阅读:软件工程的七条基本
    14.6 原理 286
    14.7 习题与思考 287
    14.8 实训:软件产品开发文件编制
    14.8 指南 288
    第15章 软件工程实训总结 293
    15.1 实训的基本内容 293
    15.2 实训的基本评价 295
    15.3 课程学习能力测评 295
    15.4 软件工程实训总结 295
    15.5 实训总结评价(教师) 296
    附录A 课程设计 298
    附录B 软件文档编写提示(部分) 300
    参考文献 305
  • 作者介绍

    主要著译者顺序姓名学历职称学科专长通讯地址1 周苏博士 教授 计算机工作单位浙江大学城市学院 邮政编码 电话13805784515 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话
  • 编辑推荐

    本书采用工程化的概念、理论、技术和方法来指导计算机软件的开发与维护。
  • 书评书荐

  • 附件下载

图书推荐