《软件工程素质导论》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王水,张晓民主编
  • 出 版 社:郑州:河南科学技术出版社
  • 出版年份:2011
  • ISBN:9787534948183
  • 页数:544 页
图书介绍:本书共分4部分:第1部分简要介绍职业道德基本概念以及软件从业人员的职业道德;第2部分包括软件工程基本概念以及文档写作基本要求;第3部分以RUP过程为主线,详细讨论了软件分析与设计各个阶段所应完成的任务、活动以及所使用的技术、方法和工具;第4部分介绍软件项目管理所涉及的主要技术和方法。本书可作为高等学校计算机及相关专业本、专科学生软件工程课程教材,也可供软件开发维护以及管理人员参考使用。

第1章 软件工程职业道德 1

1.1 职业道德的内涵与作用 2

1.1.1 概念与内涵 2

1.1.2 意义与作用 5

1.2 职业道德的基本标准 7

1.2.1 文明礼貌 7

1.2.2 爱岗敬业 8

1.2.3 诚实守信 9

1.2.4 办事公道 11

1.2.5 团结互助 11

1.2.6 服务群众 12

1.2.7 奉献社会 13

1.3 软件工程人员的职业道德标准 14

1.4 职业道德修养的形成 21

1.5 习题与练习 24

参考文献 24

扩展阅读 职业规划与评测技术 25

一、舒伯的生涯彩虹理论 26

二、马斯洛需求层次理论 28

三、霍兰德职业兴趣理论 31

四、职业人格评估工具——MBTI 38

五、SWOT分析方法 44

参考文献 50

第2章 软件与软件工程 51

2.1 软件危机 54

2.1.1 软件开发史与软件危机 56

2.1.2 软件危机产生原因与消除 60

2.2 软件工程 65

2.2.1 什么是软件工程 65

2.2.2 软件工程的三要素及基本目标 69

2.2.3 软件工程原理 72

2.3 软件生存周期 76

2.3.1 计划过程 77

2.3.2 开发过程 78

2.3.3 软件的使用与维护 79

2.4 软件开发模型 80

2.4.1 瀑布模型 80

2.4.2 原型模型 84

2.4.3 增量模型 86

2.4.4 螺旋模型 88

2.4.5 构件集成模型 90

2.4.6 其他模型 91

2.5 辩论台 92

2.6 历史和您的未来 93

2.7 习题与练习 95

参考文献 95

第3章 软件文档写作基础 97

3.1 文档规范 98

3.1.1 文档与文档工程师 99

3.1.2 文档的语法 100

3.1.3 文档的可读性 103

3.1.4 文档的技巧与案例 107

3.1.5 科技论文写作 112

3.2 代码规范 119

3.2.1 程序排版布局规则 120

3.2.2 命名约定 123

3.2.3 注释约定 126

3.3 流程图 130

3.3.1 流程图概念 130

3.3.2 流程图的基本结构 131

3.3.3 流程图的画法 135

3.4 思维导图 140

3.4.1 掌握思维导图的优势和应用领域 142

3.4.2 绘制思维导图 143

3.5 习题与练习 148

参考文献 148

第4章 项目管理初步 149

4.1 引言 151

4.2 项目的概念和项目管理知识 155

4.2.1 项目 155

4.2.2 项目固有的四项约束 157

4.2.3 项目管理的发展和现状 159

4.2.4 什么是项目管理 162

4.2.5 项目管理过程 173

4.3 立项管理 174

4.3.1 攸关成败的立项管理 174

4.3.2 锁定利益相关者 178

4.3.3 定义项目需求 182

4.3.4 进行可行性分析 184

4.3.5 项目筹备 192

4.4 结项管理 194

4.4.1 什么是结项管理 194

4.4.2 结项管理流程 195

4.5 习题与练习 197

参考文献 197

第5章 需求获取 199

5.1 软件需求的定义 200

5.2 需求的类型 201

5.2.1 功能需求 201

5.2.2 非功能需求 202

5.3 需求获取方法与困难 203

5.3.1 需求获取的方法 203

5.3.2 需求获取常见的困难 209

5.4 需求规格说明书 210

5.4.1 需求说明规格模板 210

5.4.2 优秀需求规格说明书的特性 214

5.5 需求验证 215

5.5.1 引言 215

5.5.2 需求验证的方法 216

5.6 需求变更 218

5.6.1 需求变化 218

5.6.2 变更控制过程 219

5.6.3 变更控制中的注意事项 220

5.7 习题与练习 221

参考文献 222

第6章 用例模型 223

6.1 UML简介 225

6.1.1 UML语言特点 226

6.1.2 UML模型中的基本图形元素 227

6.1.3 UML组织结构 229

6.2 需求分析与用例模型 231

6.3 用例图和用例描述 232

6.3.1 用例图 233

6.3.2 用例描述 238

6.4 建立用例模型 242

6.4.1 确定系统边界 242

6.4.2 查找系统参与者 243

6.4.3 查找系统用例 245

6.4.4 用例图优化 246

6.5 用例模型复审 253

6.6 使用StarUML绘制用例图 254

6.6.1 StarUML简介 255

6.6.2 利用StarUML绘制用例图 256

6.7 习题与练习 262

参考文献 263

第7章 系统架构分析与设计 265

7.1 架构概述 268

7.1.1 架构分析与设计的目标 269

7.1.2 架构的多重性 273

7.1.3 架构的表示 277

7.1.4 架构与应用框架 282

7.2 架构分析 288

7.2.1 架构分析概述 288

7.2.2 定义系统高层结构 290

7.2.3 分析机制及其确定 294

7.2.4 确定关键抽象 298

7.2.5 明确系统所受到的制约和约束 300

7.3 架构设计 302

7.3.1 架构设计概述 303

7.3.2 确定设计机制 305

7.3.3 说明运行时架构 315

7.3.4 说明分布 322

7.4 习题与练习 325

参考文献 325

第8章 用例分析 327

8.1 面向对象分析 328

8.2 识别分析类 330

8.2.1 什么是分析类 330

8.2.2 识别边界类 333

8.2.3 识别控制类 333

8.2.4 识别实体类 334

8.2.5 用例分析示例 335

8.3 定义交互行为 337

8.3.1 时序图 337

8.3.2 协作图 341

8.4 习题与练习 345

参考文献 346

第9章 设计元素与用例设计 347

9.1 确定设计元素 348

9.2 合并现有设计元素 352

9.3 用例设计 354

9.4 习题与练习 364

参考文献 364

第10章 子系统设计 365

10.1 子系统设计概述 367

10.1.1 基本概念 368

10.1.2 子系统设计目标及产入和产出 371

10.1.3 子系统的核心内容 372

10.2 子系统设计的任务 376

10.3 子系统设计的步骤 377

10.3.1 将子系统行为分配给子系统元素 378

10.3.2 记录子系统元素 379

10.3.3 描述子系统依赖关系 380

10.4 复审 383

10.5 习题与练习 383

参考文献 384

第11章 类设计 385

11.1 类设计概述 386

11.2 定义类 387

11.2.1 创建初始设计类 387

11.2.2 定义类的可见性 389

11.2.3 定义操作 390

11.2.4 定义属性 393

11.3 定义类之间的关系 394

11.3.1 依赖 394

11.3.2 关联 395

11.3.3 泛化 396

11.4 解决用例冲突、非功能性需求 399

11.5 评审 399

11.6 习题与练习 400

参考文献 400

第12章 数据库设计 401

12.1 数据库设计概述 402

12.2 将持久类映射到表 404

12.2.1 基本映射方法 404

12.2.2 关联关系的映射 406

12.2.3 继承关系的映射 407

12.2.4 ORM框架 408

12.3 向数据库分配类行为 411

12.4 评审 412

12.5 习题与练习 412

参考文献 412

第13章 人机界面设计 413

13.1 人机界面设计概述 414

13.1.1 人机界面设计产生背景 414

13.1.2 人机界面设计概念及内容 415

13.1.3 人机界面的应用和发展前景 415

13.2 人机界面的风格 417

13.2.1 人机界面的基本特征 417

13.2.2 人机界面设计的黄金法则 419

13.2.3 人机界面的风格分析 420

13.3 人机界面设计的原则和工具 421

13.3.1 人机界面设计原则 421

13.3.2 人机界面的关键:原型设计 423

13.3.3 纸上原型设计 424

13.3.4 人机界面开发工具 424

13.4 人机界面的设计步骤 430

13.4.1 定义阶段 430

13.4.2 开发阶段 430

13.4.3 维护阶段 431

13.5 人机界面设计的方法 432

13.5.1 以用户为中心的设计 433

13.5.2 以活动为中心的设计 433

13.5.3 高瞻远瞩的设计 434

13.5.4 系统设计 435

13.6 人机界面设计的测试与评价 436

13.6.1 人机界面测试和评价的意义 436

13.6.2 人机界面的测试 436

13.6.3 人机界面的评价 437

13.6.4 人机界面的评价形式 437

13.6.5 人机界面的评价方法 438

13.7 习题与练习 439

参考文献 439

第14章 软件测试技术 441

14.1 软件测试概述 443

14.1.1 测试基本概念、目的 443

14.1.2 软件测试的原则 444

14.1.3 软件测试的方法 445

14.1.4 软件测试的基本步骤 446

14.1.5 软件测试的文档 448

14.1.6 软件测试与调试的区别 449

14.1.7 测试团队构成及角色划分 450

14.1.8 软件测试现状及趋势 451

14.2 测试方式 452

14.2.1 黑盒测试概述 452

14.2.2 黑盒测试的设计方法 453

14.2.3 黑盒测试的优缺点 456

14.2.4 白盒测试概述 457

14.2.5 白盒测试的设计方法 458

14.2.6 白盒测试的优缺点 461

14.2.7 灰盒测试 462

14.3 测试过程 462

14.3.1 单元测试 463

14.3.2 集成测试 465

14.3.3 系统测试 469

14.3.4 回归测试 471

14.3.5 验收测试 473

14.4 编写和跟踪测试用例 475

14.4.1 测试用例的重要性 476

14.4.2 测试用例的考虑因素 476

14.4.3 测试用例的基本原则 477

14.4.4 测试用例的组织和跟踪 478

14.5 测试自动化 480

14.5.1 测试自动化的内涵 480

14.5.2 软件测试自动化的意义 481

14.5.3 测试自动化的基本结构 483

14.5.4 测试自动化的原理和方法 483

14.5.5 软件测试自动化工具的分类 485

14.6 自动化测试工具QTP 486

14.6.1 QuickTest工作流程 487

14.6.2 录制/执行测试脚本 487

14.6.3 分析录制的测试脚本 488

14.6.4 执行测试脚本 488

14.6.5 分析测试结果 488

14.7 自动化测试工具LoadRunner 488

14.7.1 LoadRunner简介 488

14.7.2 快速创建虚拟用户 488

14.7.3 LoadRunner组件 489

14.7.4 LoadRunner术语 489

14.7.5 LoadRunner负载测试过程 490

14.8 习题与练习 492

参考文献 492

第15章 软件项目管理 493

15.1 软件项目管理的引入 497

15.1.1 项目与项目管理 498

15.1.2 软件项目管理的定义和内容 501

15.2 软件项目的组织 505

15.2.1 项目的组织形式 506

15.2.2 项目经理 511

15.3 软件项目规划 514

15.3.1 软件项目计划的重要性 515

15.3.2 软件项目的计划 517

15.4 软件项目的控制 523

15.4.1 需求管理 524

15.4.2 时间和成本管理 526

15.4.3 风险分析和质量保证 534

15.4.4 软件配置管理 534

15.4.5 人力资源管理 535

15.5 软件项目管理的成功原则 539

15.6 习题与练习 543

参考文献 544