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

软件工程与实践

中国水利水电出版社
    【作 者】刘竹林 【I S B N 】978-7-5084-6260-8 【责任编辑】张玉玲 【适用读者群】高职高专 【出版时间】2010-04-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】260 【千字数】 【印 张】 【定 价】29 【丛 书】21世纪高职高专规划教材 【备注信息】
图书详情

      “软件工程”是介绍软件开发方法,提高学生软件开发能力的一门重要的专业课程。本书主要以工程化的软件开发方法为主导,系统、全面地介绍这门课程的原理、方法及应用,主要内容包括:软件工程概述、软件生命周期与开发模型、项目计划与可行性分析、需求分析、结构化软件设计、数据库设计、用户界面设计、面向对象方法与UML建模语言、ROSE工具的使用、面向对象的分析与设计、软件编程、软件测试流程、软件测试方法、软件测试工具、软件项目管理、项目管理工具Project 2003、实验指导。本书在取材上注重实用,每章后面均配有习题或实训。

      本书适合作为高职高专院校计算机或信息类专业的教材,还可作为系统设计人员、程序员、软件架构人员、业务和系统分析人员、项目经理等软件工程技术人员,以及准备参加全国软件工程课程自学考试的读者的参考书。

     

      20世纪60年代以来,致力于软件质量研究的人们在软件工程领域开创了很多软件工程方法和技术,使软件开发的过程按照工程化的原理、方法和技术进行,以此来保证软件质量的提高。

      为了适应信息化社会的需要,特编写此书,为教学和软件开发工作提供有价值的资料。本书系统地介绍了软件工程学的内容,主要包括:软件工程概述、软件生命周期与开发模型、项目计划与可行性分析、需求分析、软件设计概述、结构化设计、数据库设计、用户界面设计、面向对象方法与UML建模语言、Ratinal Rose面向对象的建模工具、面向对象的分析与设计、软件编程、软件测试流程、软件测试方法、软件测试工具LoadRunner、软件开发过程的管理、项目管理工具Project 2003。

      本书在取材上注重实用,全书以“北京市社区信息化服务系统”为实例主线介绍软件开发的过程和方法。每章后均配有习题和实训,最后一章给出实验指导,附录部分给出了综合练习题目。

      参加本书编写的人员结构是:学院院长、计算机系主任、研究所所长、软件公司技术总监,他们分别是教授、副教授、高级工程师、博士、硕士等有丰富经验的软件同仁们。

      本书由刘竹林任主编,卓泽朋、蔡桂洲和李向丽任副主编。其中蔡桂洲编写第1~4章,刘竹林编写5~12章,李向丽编写第13~15章,高英编写第16章。刘竹林对全书进行策划和统稿,殷海春对全书进行了审阅。

      由于时间仓促及编者水平有限,书中疏漏甚至错误之处在所难免,恳请同行专家和广大读者批评指正。

    前言
     
    第1章  软件工程概述 1
    1.1  软件 1
    1.1.1  软件的定义与特征 1
    1.1.2  软件系统 2
    1.2  软件工程的知识体系 2
    1.3  软件工程的产生与定义 3
    1.3.1  软件工程的产生 3
    1.3.2  软件工程的定义 3
    1.4  软件工程的原则 4
    1.5  软件工程的目标 5
    1.6  软件工程的基本原理 5
    1.7  软件工程思维的培养 7
    本章小结 7
    习题一 8
    第2章  软件生命周期与开发模型 9
    2.1  软件生命周期 9
    2.1.1  计划时期 9
    2.1.2  开发时期 10
    2.1.3  运行与维护时期 12
    2.2  软件开发方法综述 12
    2.2.1  结构化方法 12
    2.2.2  面向数据结构的软件开发方法 12
    2.2.3  面向问题的分析方法 12
    2.2.4  面向对象的开发方法 13
    2.2.5  原型化方法 13
    2.2.6  可视化开发方法 13
    2.3  软件开发模型 15
    2.3.1  瀑布模型 16
    2.3.2  螺旋模型 17
    2.3.3  增量模型 18
    2.3.4  喷泉模型 19
    2.3.5  RAD模型 20
    2.3.6  迭代式模型 22
    2.4  快速原型开发 23
    2.4.1  什么是软件原型化方法 23
    2.4.2  软件原型的分类 23
    2.4.3  原型生存周期 24
    2.4.4  快速原型的优点 26
    本章小结 26
    习题二 26
    第3章  可行性研究与项目计划 28
    3.1  可行性研究 28
    3.1.1  可行性研究的任务 28
    3.1.2  可行性研究的步骤 28
    3.2  《可行性分析报告》格式 29
    3.3  项目立项 32
    3.4  项目计划 32
    3.4.1  项目工作计划 32
    3.4.2  硬件资源规划 32
    3.4.3  软件资源规划 33
    本章小结 33
    习题三 33
    第4章  软件需求分析 35
    4.1  软件需求分析的目标和任务 35
    4.1.1  需求分析的目标 35
    4.1.2  需求分析的任务 35
    4.2  需求分析的过程 37
    4.2.1  问题识别 37
    4.2.2  分析与综合 38
    4.2.3  编制需求分析文档 39
    4.2.4  综合评审 39
    4.2.5  需求变更管理 39
    4.3  数据流图 40
    4.3.1  数据流图的构成 41
    4.3.2  数据流图的原则与步骤 42
    4.3.3  举例 44
    4.4  数据字典 45
    4.4.1  数据字典的用途 46
    4.4.2  数据字典的内容 46
    4.4.3  定义数据的方法 48
    4.5  《需求分析报告》格式 49
    4.6  需求分析报告书写示例:社区信息化
    服务系统需求分析报告 52
    本章小结 60
    习题四 60
    第5章  结构化软件设计 64
    5.1  概要设计综述 64
    5.1.1  概要设计的内容 64
    5.1.2  软件体系结构 65
    5.2  概要设计原则 68
    5.2.1  结构化设计原则 68
    5.2.2  模块独立性 70
    5.3  概要设计工具 70
    5.3.1  IPO图 70
    5.3.2  模块结构图 72
    5.4  《概要设计说明书》格式 76
    5.5  详细设计 77
    5.5.1  详细设计的任务 77
    5.5.2  网络设计内容 78
    5.5.3  《详细设计说明书》格式 79
    本章小结 80
    习题五 80
    第6章  数据库设计 82
    6.1  数据库设计的重要性 82
    6.2  需求分析阶段的设计 82
    6.2.1  数据流图示例 83
    6.2.2  数据字典示例 84
    6.3  概念设计阶段 85
    6.3.1  概念模型的表示方法 85
    6.3.2  E-R图的绘制步骤 85
    6.4  逻辑设计阶段 93
    6.4.1  逻辑模型的转换规则 94
    6.4.2  模式转换示例 95
    6.5  物理设计阶段 96
    6.6  《数据库设计说明书》格式 97
    本章小结 99
    习题六 99
    第7章  用户界面设计 101
    7.1  用户类型 101
    7.2  用户界面的设计思想 101
    7.3  用户界面的风格变迁 102
    7.4  用户界面的设计原则 102
    7.4.1  用户友好界面的设计原则 102
    7.4.2  一般交互原则 103
    7.4.3  信息显示原则 103
    7.4.4  数据输入原则 103
    7.4.5  布局合理化原则 104
    7.5  用户界面设计方法 104
    7.5.1  界面一致性 104
    7.5.2  菜单的设计 105
    7.5.3  鼠标与键盘对应原则 107
    7.5.4  向导使用原则 108
    7.5.5  系统响应时间 108
    7.5.6  用户帮助设施 108
    7.5.7  出错信息和警告 109
    7.5.8  输入界面设计 109
    7.5.9  基于Web的用户界面设计 110
    7.5.10  输出界面设计 113
    本章小结 114
    习题七 114
    第8章  面向对象方法与UML建模语言 115
    8.1  传统方法学 115
    8.2  面向对象方法的基本概念 115
    8.2.1  对象 115
    8.2.2  类 116
    8.2.3  实例 116
    8.2.4  消息 116
    8.2.5  方法 116
    8.2.6  属性 117
    8.2.7  继承 117
    8.2.8  多态性 117
    8.2.9  重载 117
    8.3  UML的主要内容 117
    8.3.1  为什么要建模 118
    8.3.2  UML建模机制 118
    8.3.3  UML的结构 118
    8.3.4  UML中的事务 119
    8.3.5  UML中的关系 119
    8.3.6  UML中的视图 125
    8.4  UML的图 125
    8.4.1  类图 126
    8.4.2  用例图 127
    8.4.3  对象图 128
    8.4.4  包图 129
    8.4.5  交互图 130
    8.4.6  状态图 131
    8.4.7  活动图 132
    8.4.8  组件图 133
    8.4.9  部署图 134
    本章小结 135
    习题八 135
    第9章  Rational Rose建模工具 138
    9.1  Rational Rose简介 138
    9.2  Rose界面简介 138
    9.3  Rose模型的4个视图 141
    9.3.1  Use Case视图 141
    9.3.2  Logical视图 143
    9.3.3  Component视图 144
    9.3.4  Deployment视图 145
    9.4  创建角色(Actor) 145
    9.5  删除元素 147
    9.6  创建用例,建立角色和用例的关联 147
    9.7  使用序列图/协作图描述每个用例 148
    9.7.1  创建序列图 148
    9.7.2  描述对象 148
    9.8  建立静态模型 151
    9.9  实现模型 153
    本章小结 155
    习题九 155
    第10章  软件编程 157
    10.1  什么是编程 157
    10.2  程序设计语言特点与应用范围 157
    10.2.1  程序设计语言的发展与分类 157
    10.2.2  程序设计语言的选择 159
    10.3  Java程序设计风格 160
    10.4  程序设计算法与效率 161
    10.4.1  程序设计算法 161
    10.4.2  程序的运行效率 162
    10.5  程序说明书 163
    10.5.1  C/S结构 163
    10.5.2  B/S结构 163
    本章小结 164
    习题十 164
    第11章  软件测试流程 166
    11.1  软件测试的基本概念 166
    11.1.1  什么是软件测试 166
    11.1.2  软件缺陷 168
    11.1.3  软件测试与软件开发的关系 169
    11.1.4  软件测试的误区 170
    11.2  软件测试流程概述 170
    11.3  单元测试 171
    11.3.1  单元测试的概念 171
    11.3.2  单元测试的内容 171
    11.3.3  单元测试的步骤 172
    11.4  集成测试 173
    11.4.1  集成测试的定义 173
    11.4.2  集成测试的层次 173
    11.4.3  集成测试的方式 173
    11.5  确认测试 176
    11.6  系统测试 178
    11.6.1  系统测试的流程 178
    11.6.2  系统测试的目标 178
    11.6.3  几种常见的系统测试方法 178
    11.7  基于Web的系统测试 180
    11.7.1  功能测试 180
    11.7.2  性能测试 182
    11.7.3  可用性测试 183
    11.7.4  客户端兼容性测试 184
    11.7.5  安全性测试 184
    11.8  验收测试 185
    11.8.1  验收测试的内容与标准 185
    11.8.2  验收测试的常用策略 185
    11.8.3  验收测试的过程 185
    本章小结 186
    习题十一 187
    第12章  软件测试方法 190
    12.1  软件测试方法 190
    12.2  静态测试 190
    12.2.1  类型冲突 190
    12.2.2  子程序参数错误 191
    12.2.3  数据错误 191
    12.2.4  内存泄漏 192
    12.2.5  越界 192
    12.2.6  指针错误 193
    12.2.7  空悬指针 194
    12.2.8  内存处理的逻辑错误 195
    12.2.9  代码规则错误实例 195
    12.3  动态测试 196
    12.4  白盒测试 196
    12.4.1  白盒测试概述 196
    12.4.2  语句覆盖 198
    12.4.3  判断覆盖 198
    12.4.4  条件覆盖 198
    12.4.5  判断/条件覆盖 199
    12.4.6  条件组合覆盖 200
    12.4.7  路径覆盖 200
    12.5  黑盒测试 201
    12.5.1  黑盒测试概述 201
    12.5.2  等价类划分 201
    12.5.3  边界值分析 203
    本章小结 204
    习题十二 204
    第13章  软件测试工具LoadRunner 208
    13.1  LoadRunner的测试流程介绍 208
    13.2  测试需求分析 208
    13.2.1  分析应用需求 208
    13.2.2  确定测试目标 209
    13.3  录制和编辑脚本 209
    13.3.1  录制和编辑脚本 210
    13.3.2  回放脚本 215
    13.3.3  优化脚本 216
    13.3.4  文本检查 224
    13.4  场景创建(设计)与运行 224
    13.4.1  创建(设计)运行场景 224
    13.4.2  在实际运行时如何查看脚本 226
    13.4.3  运行场景 227
    13.5  分析及监视场景 230
    本章小结 233
    习题十三 233
    第14章  软件项目管理 234
    14.1  项目 234
    14.1.1  项目的定义与属性 234
    14.1.2  项目的特点与三大要素 234
    14.1.3  项目的生命周期 235
    14.1.4  制约项目成功的因素 235
    14.2  项目管理 235
    14.3  软件项目管理的特点与复杂性 236
    14.3.1  软件项目的特点 236
    14.3.2  软件项目管理的复杂性 237
    14.4  合格的项目经理 238
    14.5  软件项目管理的内容 238
    14.5.1  项目范围的管理 238
    14.5.2  项目进度管理 239
    14.5.3  人员组织与管理 240
    14.5.4  项目的质量管理 242
    14.5.5  项目风险管理 243
    14.5.6  项目管理各项内容的关系 243
    14.6  软件配置管理 243
    14.7  项目案例分析 243
    本章小结 245
    习题十四 245
    第15章  项目管理工具Project 2003 247
    15.1  启动和退出Project 2003 247
    15.2  Project 2003的主界面 247
    15.3  创建和管理项目的任务 250
    15.3.1  创建项目文件 250
    15.3.2  分解任务 251
    15.3.3  安排项目任务的工期 251
    15.4  分配项目资源 252
    15.4.1  资源概述 252
    15.4.2  建立资源库 252
    15.4.3  为任务分配资源 252
    15.4.4  管理资源 252
    15.5  解决项目中的资源冲突 253
    第16章  实验指导 254
    16.1  先修课程 254
    16.2  实训目的 254
    16.3  实训内容 254
    16.4  实训基本要求 255
    16.5  实训成绩评定 255
    参考文献 256
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册