出版时间:2001-1 出版社:清华大学出版社 作者:郑人杰等 编著 页数:300
内容概要
软件工程是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) 附录 软件产品开发文档编写指南 参考文献
图书封面
评论、评分、阅读与下载