账号: 密码:
中国大学出版社协会 | 首页 | 宏观指导 | 出版社天地 | 图书代办站 | 教材图书信息 | 教材图书评论 | 在线订购 | 教材征订
搜索 新闻 图书 ISBN 作者 音像 出版社 代办站 教材征订
购书 请登录 免费注册 客服电话:010-62510665 62510769
图书查询索引 版别索引 分类索引 中图法分类 专业分类 用途分类 制品类型 读者对象 自分类 最新 畅销 推荐 特价 教材征订
综合查询
软件工程与项目管理 - 中国高校教材图书网
书名: 软件工程与项目管理
ISBN:978-7-5606-2360-3 条码:
作者: 王素芬  相关图书 装订:平装
印次:1-1 开本:16开
定价: ¥27.00  折扣价:¥25.65
折扣:0.95 节省了1.35元
字数: 449千字
出版社: 西安电子科技大学出版社 页数:
发行编号: 2652001-1 每包册数:
出版日期: 2010-03-01
小团购 订购 咨询 推荐 打印 放入存书架

内容简介:
内 容 简 介


本书全面、系统地介绍了软件工程的概念、原理和典型的技术方法。
全书共分12章。第1章概括介绍了软件工程的发展和基本原理,还对具有代表性的CASE工具进行了简要介绍,讨论了软件工程职业道德规范,并对软件工程的发展趋势进行了展望;第2章讨论了软件过程的基本活动和常用的软件开发方法,并介绍了典型的软件过程模型和微软公司的软件开发过程实例;第3章主要介绍了常用软件项目立项的方法、可行性分析、软件项目团队的建立以及软件项目立项文档的编写;第4章主要介绍了需求分析的过程、方法和软件需求分析文档的编写;第5章、第6章分别介绍了软件的总体设计和详细设计;第7~9章分别介绍了软件编码、测试与调试、维护;第10章介绍了面向对象的方法学;第11章介绍了统一建模语言(UML);第12章介绍了软件项目管理。为加强对学生实践能力的培养,各章最后大都设置了“实战训练”和“讨论”环节。
本书可作为高职高专学校软件工程课程的教材,也可作为软件开发人员的参考书。

作者简介:
 
章节目录:
目 录



第1章 概述 1

1.1 软件 1

1.1.1 软件的特点及分类 1

1.1.2 软件的发展 3

1.1.3 软件危机及其表现 4

1.1.4 软件危机产生的主要原因 4

1.1.5 解决软件危机的途径 5

1.2 软件工程 5

1.2.1 软件工程的概念 5

1.2.2 软件工程的三要素 5

1.3 软件生命周期 6

1.4 软件工程的目标 8

1.5 软件工程的开发原则 9

1.6 软件工程方法学 9

1.7 计算机辅助软件工程 10

1.8 软件工程与其他相关学科的关系 11

1.9 软件工程职业道德规范 12

1.10 软件工程发展趋势 13

1.11 实战训练 13

本章小结 13

习题1 14

第2章 软件过程 16

2.1 软件过程的概念 16

2.1.1 软件过程的定义 16

2.1.2 软件过程的基本活动 16

2.1.3 软件过程的制品 16

2.2 典型的软件过程模型 17

2.2.1 瀑布模型 17

2.2.2 增量模型 18

2.2.3 快速原型模型 19

2.2.4 螺旋模型 20

2.2.5 喷泉模型 21

2.2.6 V型模型 22

2.2.7 形式化方法模型 22

2.2.8 组合模型 23

2.3 软件开发方法简述 23

2.3.1 结构化的开发方法 23

2.3.2 面向数据结构的开发方法 24

2.3.3 面向对象的开发方法 24

2.3.4 原型化开发方法 24

2.4 案例 微软公司的软件开发过程 24

2.4.1 微软开发过程管理的基本原则 24

2.4.2 微软公司的软件开发过程模型 25

2.5 实战训练 26 本章小结 26

习题2 26

第3章 软件项目立项 28

3.1 软件项目立项方法 28

3.1.1 委托开发项目 28

3.1.2 自主开发项目 29

3.2 软件可行性分析 29

3.2.1 可行性分析的内容 29

3.2.2 可行性分析的步骤 29

3.3 软件项目规模成本估算 30

3.3.1 代码行估算技术 30

3.3.2 功能点估算法 31

3.3.3 类比估算法 31

3.3.4 自下而上估算法 31

3.3.5 专家估算法 32

3.4 成本—效益分析 32

3.5 制定软件项目开发计划 34

3.5.1 软件项目开发计划书的内容 34

3.5.2 项目计划编制过程 36

3.5.3 项目计划内容确定 38

3.6 软件项目立项文档 39

3.7 软件项目团队的建立 45

3.7.1 团队定义 45

3.7.2 项目组织形式 45

3.7.3 团队建设 47

3.8 实战训练 48

本章小结 50

习题3 50

第4章 需求分析 52

4.1 需求分析概述 52

4.1.1 需求的概念 52

4.1.2 需求的层次 53

4.2 需求分析的目标和任务 54

4.3 需求分析的原则与获取需求的方法 55

4.3.1 需求分析的原则 55

4.3.2 获取需求的方法 56

4.4 需求分析的过程 57

4.5 需求分析的方法 57

4.5.1 结构化分析方法 58

4.5.2 原型分析方法 63

4.6 软件需求分析文档 66

4.6.1 软件需求规格说明和需求评审 66

4.6.2 教务管理系统需求规格说明书 68

4.7 实战训练 69

本章小结 71

习题4 71

第5章 软件的总体设计 75

5.1 总体设计的目标和任务 75

5.1.1 总体设计的目标 75

5.1.2 总体设计的任务和步骤 76

5.2 设计的概念和原则 77

5.2.1 模块化 77

5.2.2 抽象 78

5.2.3 逐步求精 78

5.2.4 信息隐藏和局部化 78

5.2.5 模块独立性 79

5.3 描绘软件结构的图形工具 81

5.3.1 HIPO图 81

5.3.2 系统结构图 83

5.4 结构化设计 84

5.4.1 系统结构图中的模块 84

5.4.2 变换型数据流与变换型系统结构 85

5.4.3 事务流与事务型系统结构 86

5.4.4 变换映射 86

5.4.5 事务映射 88

5.4.6 “黑盒”技术的使用 88

5.5 数据库设计及设计原则 88

5.5.1 数据库设计 88

5.5.2 数据库设计的原则 90

5.6 接口设计 92

5.6.1 接口设计的描述 92

5.6.2 用户界面设计的主要问题 92

5.6.3 人机界面设计过程 94

5.6.4 人机界面设计实现原则及典型案例 96

5.7 总体设计说明书的编写 97

5.8 实战训练 97

本章小结 98

习题5 99

第6章 软件的详细设计 101

6.1 详细设计的任务 101

6.2 详细设计的原则 101

6.3 详细设计的方法 102

6.4 详细设计可采用的工具 102

6.5 详细设计说明书 109

6.6 实战训练 110

本章小结 113

习题6 113

第7章 软件编码 116

7.1 软件编码的目的 116

7.2 程序设计语言 116

7.2.1 程序设计语言的分类 116

7.2.2 程序设计语言特性的比较 117

7.2.3 程序设计语言的选择 119

7.3 结构化程序设计 119

7.3.1 结构化程序设计的原则 120

7.3.2 程序设计——自顶向下,逐步求精 120

7.3.3 数据结构的合理化 122

7.4 编码风格 122

7.4.1 程序的内部文档 122

7.4.2 数据说明 129

7.4.3 语句结构 129

7.4.4 输入和输出 130

7.5 程序编码优化技术 131

7.5.1 程序优化 131

7.5.2 程序优化方法 132

7.5.3 网络优化 139

7.6 代码评审和版本控制 139

7.6.1 代码评审 139

7.6.2 版本控制 140

7.7 实战训练 142

本章小结 144

习题7 144

第8章 软件测试与调试 146

8.1 概述 146

8.1.1 软件测试的定义 147

8.1.2 软件测试的目的 147

8.1.3 软件缺陷带来影响的例子 147

8.2 软件测试的任务和目标 148

8.2.1 软件测试的任务 148

8.2.2 软件测试的目标 149

8.3 软件测试的基本原则 150

8.4 软件测试的方法 151

8.4.1 测试用例 151

8.4.2 黑盒测试法 153

8.4.3 白盒测试法 156

8.5 软件测试的步骤 163

8.5.1 单元测试 163

8.5.2 集成测试 165

8.5.3 确认测试 168

8.5.4 系统测试 169

8.6 程序调试 172

8.6.1 程序调试技术 172

8.6.2 程序调试策略 173

8.7 实战训练 173

本章小结 175

习题8 176

第9章 软件维护 179

9.1 软件维护的概念 179

9.2 软件维护的特点 179

9.3 软件维护的类型 181

9.4 软件维护的步骤 183

9.5 软件的可维护性 187

9.6 软件维护的副作用 188

9.7 软件重用 189

本章小结 190

习题9 190

第10章 面向对象的方法学 193

10.1 面向对象的概念 193

10.1.1 传统开发方法存在的问题 193

10.1.2 面向对象的基本概念 194

10.1.3 面向对象的特征 196

10.1.4 面向对象的要素 196

10.1.5 面向对象的开发方法 197

10.2 面向对象的模型 197

10.2.1 对象模型 197

10.2.2 动态模型 201

10.2.3 功能模型 203

10.3 面向对象的分析 203

10.3.1 面向对象的分析过程 203

10.3.2 建立对象模型 204

10.3.3 建立动态模型 208

10.3.4 建立功能模型 211

10.3.5 确定操作 212

10.4 面向对象的设计 212

10.5 面向对象的实现 216

10.6 面向对象和基于对象的区别 217

10.7 实战训练 218

本章小结 219

习题10 219

第11章 统一建模语言(UML) 221

11.1 概述 221

11.1.1 什么是UML 221

11.1.2 UML的发展史 221

11.1.3 UML的特点 222

11.1.4 UML的应用领域 222

11.1.5 基于UML的设计过程 223

11.2 UML概念模型 223

11.2.1 UML的构成 223

11.2.2 UML的基本构造块 223

11.2.3 UML的规则 224

11.2.4 UML的公共机制 225

11.3 UML的静态建模机制 225

11.3.1 用例图 225

11.3.2 类图 227

11.3.3 对象图 228

11.3.4 包图 229

11.4 UML的动态建模机制 230

11.4.1 协作图 230

11.4.2 时序图 231

11.4.3 活动图 231

11.4.4 状态图 232

11.5 UML面向实现机制 233

11.5.1 组件图 233

11.5.2 配置图 234

11.6 UML建模工具 234

11.6.1 Rational Rose 234

11.6.2 Microsoft Office Visio 235

11.7 UML建模实例 236

11.8 实战训练 239

本章小结 243

习题11 243

第12章 软件项目管理 245

12.1 项目与项目管理 245

12.2 ISO 9000国际标准简介 247

12.3 CMMI 248

12.3.1 CMMI的基本概念 248

12.3.2 CMMI的体系结构 248

12.4 ISO 9000与CMMI的比较 250

12.5 软件项目管理过程 251

12.5.1 项目组织结构 252

12.5.2 项目启动 253

12.5.3 项目过程定义 254

12.5.4 工作分解结构 255

12.5.5 制定风险计划 255

12.5.6 制定项目文档管理 257

12.5.7 制定项目培训计划 257

12.5.8 制定项目监控过程 258

12.5.9 制定项目进度表 259

12.5.10 合成项目计划和从属计划 260

12.5.11 获得对计划的承诺 260

12.5.12 评审 261

12.5.13 跟踪项目计划估计值 262

12.5.14 跟踪风险 264

12.5.15 里程碑总结 265

12.5.16 变更管理 266

12.5.17 问题管理 266

12.5.18 项目总结 267

12.6 模板和表格 268

12.7 实战训练 268

本章小结 268

习题12 269

附录 软件开发过程中的文档 270

附录A 可行性分析报告(GB8567—88) 270

A.1 引言 270

A.2 可行性分析的前提 270

A.3 对现有系统的分析 271

A.4 所建议系统 272

A.5 可选择的其他系统方案 273

A.6 投资及效益分析 273

A.7 社会因素方面的可行性 275

A.8 结论 275

附录B 软件项目开发计划书(GB8567—88) 275

B.1 引言 275

B.2 项目概述 276

B.3 实施计划 276

B.4 支持条件 277

B.5 专题计划要点 277

附录C 软件规格说明书(GB8567—88) 277

C.1 引言 277

C.2 任务概述 278

C.3 需求规定 278

C.4 运行环境规定 279

附录D 软件总体设计说明书(GB8567—88) 280

D.1 引言 280

D.2 总体设计 280

D.3 接口设计 281

D.4 运行设计 281

D.5 系统数据结构设计 281

D.6 系统出错处理设计 282

附录E 软件详细设计说明书(GB8567—88) 282

E.1 引言 282

E.2 程序系统的结构 283

E.3 程序1(标识符)设计说明 283

E.4 程序2(标识符)设计说明 284

附录F 操作手册(GB8567—88) 284

F.1 引言 284

F.2 软件特征描述 284

F.3 安装与初始化 285

F.4 运行说明 285

F.5 非常规过程 286

F.6 远程操作 286

附录G 测试计划(GB8567—88) 286

G.1 引言 286

G.2 计划 287

G.3 测试设计说明 288

G.4 评价准则 288

附录H 测试分析报告(GB8567—88) 289

H.1 引言 289

H.2 测试概要 289

H.3 测试结果及发现 289

H.4 对软件功能的结论 289

H.5 分析摘要 290

H.6 测试资源消耗 290

附录I 开发进度月报(GB8567—88) 290

I.l 标题 290

I.2 工程进度与状态 291

I.3 资源耗用与状态 291

I.4 经费支出与状态 291

I.5 下个月的工作计划 292

I.6 建议 292

附录J 软件项目开发总结报告(GB8567—88) 292

J.1 引言 292

J.2 实际开发结果 293

J.3 开发工作评价 293

J.4 经验与教训 294

参考文献 295





精彩片段:
 
书  评:
前 言



软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和当前最先进的软件开发技术结合起来,应用到软件开发和维护过程中,以解决软件危机问题,并生产出无故障的、及时交付的、在预算之内的和满足用户需求的软件产品。软件工程是培养学生从单纯的程序设计型人才向软件开发型人才发展的重要课程,是计算机科学与技术及软件专业学生的必修课,同时也是软件从业人员从程序员向软件工程师和更高层次职位发展的必须具备的专业知识和方法。
软件工程的教育培养目标是让受教育者了解和掌握软件开发中的方法学和工程学知识,并应用于实践。软件工程是一门实践性很强的学科,很多知识是软件开发最佳实践的总结。初次学习软件工程的学生一般没有丰富的软件开发实践经历,如果仅学习书本上的理论知识点,将很难领略软件工程的思想精髓,达不到令人满意的教学效果。本书在讲授理论的同时,加强了对学生实践能力的培养,将一个完整的案例贯穿于全书,并在各章的最后大都增设了“实战训练”和“讨论”环节。
全书共分12章。第1章概括介绍了软件工程的发展和基本原理,对具有代表性的CASE工具进行了简要介绍,讨论了软件工程职业道德规范,并对软件工程的发展趋势进行了展望;第2章讨论了软件过程的基本活动和常用的软件开发方法,并介绍了典型的软件过程模型和微软公司的软件开发过程实例;第3章主要介绍了常用软件项目立项的方法、可行性分析、软件项目团队的建立以及软件项目立项文档的编写;第4章主要介绍了需求分析的过程、方法和软件需求分析文档的编写;第5章、第6章分别介绍了软件的总体设计和详细设计;第7~9章分别介绍了软件编码、测试与调试、维护;第10章介绍了面向对象的方法学;第11章介绍了统一建模语言(UML);第12章介绍了软件项目管理。每一章后面都配有相应的习题,用以帮助学生消化和理解本章的知识。
本书的第1、2、3、5、9章由王素芬编写,第6、10章由杨政编写,第4章由王素芬和杨政共同编写,第7章由张楠编写,第8章由栾好利编写,第11、12章由朱克敌编写。
在本书的编写过程中,沈阳工程学院信息工程系主任李卓玲教授提出了许多很好的建议,在此表示衷心的感谢。
由于编者水平有限,书中难免存在不足之处,恳请读者批评指正。


编 者
2009年11月

其  它:
 



| 我的帐户 | 我的订单 | 购书指南| 关于我们 | 联系我们 | 敬告 | 友情链接 | 广告服务 |

版权所有 © 2000-2002 中国高校教材图书网    京ICP备10054422号-7    京公网安备110108002480号    出版物经营许可证:新出发京批字第版0234号
经营许可证编号:京ICP证130369号    技术支持:云因信息