软件工程概论

出版时间: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)                   附录  软件产品开发文档编写指南                   参考文献

图书封面

评论、评分、阅读与下载


    软件工程概论 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7