软件工程概论

副标题:无

作   者:郑人杰,殷人昆编著

分类号:

ISBN:9787302029090

微信扫一扫,移动浏览光盘

简介

   软件工程是20世纪60年代开始发展起来的新学科。随着计算机的普及,作为其核心部分的软件已深入到社会生产活动和生活的各个领域。软件的开发和维护都需要软件工程知识,因此有人称它为软件产业的支柱。本书是作者根据清华大学多年教学的讲义改编的。内容包括:软件工程概述;软件需求分析;软件设计;详细设计描述助工具;程序编码;面向对象技术;软件测试,软件维护;软件工程标准化与软件文档。书中适当介绍了软件管理和软件工程标准化问题。掌握这些知识将有助于读者在软件工程项目中体现工程化和标准化。内容通俗易懂,图文并茂,原理、方法与实例结合。    本书适于作大专院校中计算机或软件专业的教材,也可供计算机软件人员和计算机用户阅读。   

目录

第1章 软件工程概述

1. 1 软件的概念.特点和分类

1. 1. 1 软件的概念与特点

1. 1. 2 软件的分类

1. 2 软件的发展和软件危机

1. 3 软件工程过程和软件生存期

1. 3. 1 软件工程过程(software engineering process)

1. 3. 2 软件生存期(life cycle)

1. 4 软件生存期模型

1. 4. 1 瀑布模型(waterfall model)

1. 4. 2 演化模型(evolutional model)

1. 4. 3 螺旋模型(spiral model)

1. 4. 4 喷泉模型(water fountain model)

1. 4. 5 智能模型(intelligence model)

1. 5 软件工程的基本目标

1. 5. 1 软件工程的定义

1. 5. 2 软件工程项目的基本目标

第2章 软件需求分析

2. 1 软件需求分析概述

2. 1. 1 软件需求分析的任务

2. 1. 2 需求分析的过程

2. 1. 3 软件需求分析的原则

2. 2 结构化分析方法

2. 2. 1 数据流图(DFD, data flow diagram)

2. 2.2 数据词典(DD, data dictionary)

2. 2. 3 加工逻辑说明

2. 3 结构化数据系统开发方法(DSSD)--面向数据结构的分析方法之

2. 3. 1 Warnier图

2. 3. 2 DSSD的分析方法

2. 4 Jackson系统开发方法(JSD)--面向数据结构的分析方法之二

2. 4. 1 进程模型

2. 4. 2 JSD方法的步骤

2. 4. 3 实体动作分析

2. 4. 4 实体结构分析

2. 4. 5 定义初始模型

2. 5 原型化方法(Prototyping)

2. 5. 1 软件原型的分类

2. 5. 2 快速原型开发模型

2. 6 系统动态分析

2. 6. 1 状态迁移图

2. 6. 2 Petri网

2. 7 结构化分析与设计方法(SADT)

第3章 软件设计

3. 1 软件设计的目标和任务

3. 1. 1 软件设计在开发阶段中的重要性

3. 1. 2 软件设计任务

3. 2 程序结构与程序结构图

3. 2. 1 程序的树状结构和网状结构

3. 2. 2 结构图(structure chart, 简称SC)

3. 3 模块的独立性

3. 3. 1 模块(module)

3. 3. 2 模块独立性(module independence)

3. 3. 3 耦合性(coupling)

3. 3. 4 内聚性(cohesion)

3. 3. 5 信息隐蔽

3. 4 结构化设计方法--面向数据流的设计方法

3. 4. 1 典型的系统结构形式

3. 4. 2 变换分析

3. 4. 3 事务分析

3. 4. 4 软件模块结构的改进

3. 5 结构化数据系统开发方法(DSSD)--面向数据结构的设计方法之一

3. 5. 1 一种简化的设计方法

3. 5. 2 导出逻辑输出结构

3. 5. 3 导出逻辑处理结构(LPS)

3. 6 Jackson系统开发方法(JSD)--面向数据结构的分析与设计方法之二

3. 6. 1 JSD功能描述

3. 6. 2 决定系统时间特性

3. 6. 3 实现

第4章 详细设计描述的工具

4. 1 程序流程图(Program flow chart)

4. 2 N-S图

4. 3 PAD

4. 4 FDL

第5章 程序编码

5. 1 对源程序的质量要求

5. 2 结构化程序设计

5. 2. 1 关于GOTO语句的争论

5. 2. 2 结构化程序设计的原则

5. 2. 3 程序设计自顶向下, 逐步求精

5. 3 程序设计风格

5. 3. 1 源程序文档化

5. 3. 2 数据说明

5. 3. 3 语句结构

5. 3. 4 输入和输出(I/O)

5. 4 程序复杂性度量

5. 4. 1 代码行度量法

5. 4. 2 McCabe度量法

5. 4. 3 Halstead的软件科学

第6章 面向对象技术

6. 1 面向对象的概念

6. 2 基于复用的开发过程

6. 2. 1 应用生存期

6. 2. 2 类生存期

6. 3 面向对象分析与模型化

6. 3. 1 面向对象分析(OOA, object-oriented analysis)

6. 3. 2 论域分析(domain analysis)

6. 3. 3 应用分析(application analysis)

6. 3. 4 对象模型技术(OMT, object model tech. )

6. 4 高层设计

6. 5 类的设计

6. 5. 1 通过复用设计类

6. 5. 2 类设计的方针

6. 5. 3 类设计的过程

6. 6 Coad与Yourdon面向对象分析与设计技术

6. 6. 1 面向对象的分析

6. 6. 2 面向对象的设计

6. 7 Booch的方法

6. 7. 1 Booch方法的设计过程

6. 7. 2 Booch方法的基本的模型

6. 8 面向对象设计的实现

6. 8. 1 类的实现

6. 8. 2 系统的实现

第7章 软件测试

7. 1 软件测试的基础

7. 1. 1 什么是软件测试

7. 1. 2 软件测试的目的和原则

7. 1. 3 软件测试的对象

7. 1. 4 测试信息流

7. 1. 5 测试与软件开发各阶段的关系

7. 2 测试用例设计

7. 3 白盒测试的测试用例设计

7. 3. 1 逻辑覆盖

7. 3. 2 语句覆盖

7. 3. 3 判定覆盖

7. 3. 4 条件覆盖

7. 3. 5 判定-条件覆盖

7. 3. 6 条件组合覆盖

7. 3. 7 路径测试

7. 4 黑盒测试的测试用例设计

7. 4. 1 等价类划分

7. 4. 2 边界值分析

7. 4. 3 错误推测法

7. 4. 4 因果图

7. 5 软件测试的策略

7. 5. 1 单元测试(unit testing)

7. 5. 2 组装测试(integrated testing)

7. 5. 3 确认测试(validation testing)

7. 5. 4 系统测试(system testing)

7. 5. 5 测试的步骤及相应的测试种类

7. 6 人工测试

7. 6. 1 静态分析

7. 6. 2 人工测试

7. 7 调试(Debug, 排错)

7. 7. 1 调试的步骤

7. 7. 2 几种主要的调试方法

7. 7. 3 调试原则

第8章 软件维护

8. 1 软件维护的概念

8. 1. 1 软件维护的定义

8. 1. 2 影响维护工作量的因素

8. 1. 3 软件维护的策略

8. 2 软件维护活动

8. 2. 1 软件维护申请报告

8. 2. 2 软件维护工作流程

8. 2. 3 维护档案记录

8. 2. 4 维护评价

8. 3 程序修改的步骤及修改的副作用

8. 3. 1 分析和理解程序

8. 3. 2 修改程序

8. 3. 3 重新验证程序

8. 4 软件可维护性

8. 4. 1 软件可维护性的定义

8. 4. 2 可维护性的度量

8. 5 提高可维护性的方法

8. 5. 1 建立明确的软件质量目标和优先级

8. 5. 2 使用提高软件质量的技术和工具

8. 5. 3 进行明确的质量保证审查

8. 5. 4 选择可维护的程序设计语言

8. 5. 5 改进程序的文档

8. 6 逆向工程和再工程

第9章 软件工程标准化与软件文档

9. 1 软件工程标准化

9. 1. 1 什么是软件工程标准

9. 1. 2 软件工程标准化的意义

9. 1. 3 软件工程标准的层次

9. 1. 4 中国的软件工程标准化工作

9. 2 软件质量认证

9. 2. 1 ISO 9000系列标准及软件质量认证

9. 2. 2 ISO 9000系列标准的内容

9. 2. 3 制定与实施ISO 9000系列标准

9. 2. 4 ISO 9000-3的要点

9. 3 在开发机构中推行软件工程标准化

9. 4 软件文档的作用与分类

9. 4. 1 软件文档的作用和分类

9. 4. 2 对文档编制的质量要求

9. 4. 3 文档的管理和维护

9. 5 软件过程成熟度模型

9. 5. 1 软件机构的成熟性

9. 5. 2 软件过程成熟度模型

9. 5. 3 关键过程领域

9. 5. 4 成熟度提问单

第10章 软件管理

10. 1 软件生产率和质量的度量

10. 1. 1 软件度量

10. 1. 2 面向规模的度量

10. 1. 3 面向功能的度量

10. 1. 4 软件质量的度量

10. 1. 5 影响软件生产率的因素

10. 2 软件项目的估算

10. 2. 1 对估算的看法

10. 2. 2 软件项目计划的目标

10. 2. 3 软件的范围

10. 2. 4 软件开发中的资源

10. 2. 5 软件项目估算

10. 2. 6 分解技术

10. 3 软件开发成本估算

10. 3. 1 软件开发成本估算方法

10. 3. 2 专家判定技术

10. 3. 3 软件开发成本估算的经验模型

10. 4 软件项目进度安排

10. 4. 1 软件开发小组人数与软件生产率

10. 4. 2 任务的确定与并行性

10. 4. 3 制定开发进度计划

10. 4. 4 进度安排的方法

10. 4. 5 项目的追踪和控制

10. 5 软件项目的组织与计划

10. 5. 1 软件项目管理的特点

10. 5. 2 制定计划

10. 5. 3 软件项目组织的建立

10. 5. 4 人员配备

10. 5. 5 指导与检验

10. 6 软件配置管理

10. 6. 1 软件配置管理

10. 6. 2 配置标识

10. 6. 3 版本控制

10. 6. 4 变更控制

10. 6. 5 配置状态报告(configuration status reporting, CSR)

10. 6. 6 配置审计(configuration audit)

附录 软件产品开发文档编写指南

参考文献

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

软件工程概论
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon