本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | 软件工程与项目管理 |
作者: | 何礼富主编 |
定价: | 49.8 |
出版社: | 国防科技大学出版社 |
出版日期: | 09-05-01 |
ISBN: | 9787810996563 |
印次: | |
版次: | |
装帧: | |
开本: |
内容简介 |
本书分为两个部分, 讲述了软件工程和项目管理的基本原理、概念、技术和方法。内括软件工程概述、软件可行性分析与项目开发计划、软件需求分析等。 |
目录 |
第1章软件工程概述 1.1软件危机 1.1.1软件 1.1.2软件展 1.1.3软件开发面临的主要问题 1.1.4软件危机的提出 1.2软件工程 1.2.1软件工程的定义 1.2.2软件工程的内容和目标 1.2.3软件工程的作用 1.2.4软件工程的基本原则 1.3软件生命周期 1.4软件开发方法 1.4.1结构化开发方法 1.4.2面向数据结构的开发方法 1.4.3面向对象的开发方法 1.5软件开发模型 1.5.1瀑布模型 1.5.2快速原型模型 1.5.3渐增模型 1.5.4螺旋模型 1.5.5喷泉模型 1.5.6构件化开发模型 1.6软件工具及支撑环境 1.6.1软件工具的分类 1.6.2软件开发支撑环境 1.6.3常用CASE工具 本章小结 第2章软件可行性分析与项目开发计划 2.1软件可行性分析 2.1.1可行性分析的目的 2.1.2可行性分析的内容 2.1.3可行性分析的步骤 2.1.4可行性分析报告 2.2项目开发计划 2.3软件可行性分析与项目开发计划案例 2.3.1案例概要 2.3.2可行性分析 2.3.3项目开发计划 本章小结 第3章软件需求分析 3.1需求分析概述 3.1.1需求分析的重要性 3.1.2需求分析的原则 3.1.3需求分析的步骤 3.2结构化分析方法及工具 3.2.1概述 3.2.2数据流图 3.2.3数据字典 3.2.4结构化语言 3.2.5判定表和判定树 3.2.6层次方框图 3.2.7Warnier图 3.2.8IPO图 3.3需求评审 3.4软件需求分析规格说明书 3.4.1软件需求分析规格说明书的格式 3.4.2案例分析 本章小结 第4章软件设计 4.1软件设计概述 4.1.1软件设计的任务 4.1.2模块与模块化 4.1.3抽象与细化 4.1.4信息隐蔽 4.1.5模块的独立性 4.1.6自顶向下与自底向上设计策略 4.1.7结构化设计原则 4.2概要设计 4.2.1概要设计的基本任务 4.2.2概要设计的步骤 4.2.3软件结构图 4.2.4数据流图 4.3详细设计 4.3.1详细设计的基本任务 4.3.2程序流程图 4.3.3盒图 4.3.4详细设计中的IPO图 4.3.5PAD图 4.3.6伪代码 4.4软件设计说明书与案例分析 4.4.1软件设计说明书 4.4.2案例分析 本章小结 第5章软件编码 5.1程序设计语言 5.1.1程序设计语言分类 5.1.2常见的程序设计语言及其特点 5.1.3程序设计语言的选择 5.2编码规范 5.2.1编排格式 5.2.2命名规则 5.2.3注释 5.2.4输入/输出 5.2.5程序结构 5.2.6效率和GOTO语句 5.3结构化程序设计 5.3.1结构化程序设计的形成 5.3.2结构化程序设计方法 5.4程序员的基本素质 本章小结 第6章软件测试 6.1软件测试概述 6.1.1软件测试的概念 6.1.2软件测试的目的 6.1.3软件测试的原则 6.2软件测试方法 6.2.1软件测试方法分类 6.2.2白盒测试 6.2.3黑盒测试 6.3测例 6.3.1测例概述 6.3.2逻辑覆盖 6.3.3等价类划分 6.3.4边界值分析 6.3.5错误推测法 6.3.6因果图法 软件测试策略 .1测试流程与测试计划 .2单元测试 .3集成测试 .4确认测试 .5系统测试 .6Alpha测试和Beta测试 .7软件测试自动化 .8测试分析报告 6.5软件调试技术 6.5.1调试步骤 6.5.2调试方法 本章小结 第7章软件维护 7.1软件维护概述 7.1.1软件维护的定义 7.1.2软件维护的种类 7.1.3软件维护的策略 7.1.4软件维护的代价 7.2软件维护的实施 7.2.1维护组织 7.2.2维护申请报告 7.2.3软件维护工作流程 7.3软件可维护性 7.3.1软件可维护性的定义 7.3.2软件可维护性度量 7.3.3提高软件可维护性的方法 7.3.4软件维护的副作用 本章小结 第8章软件质量保证 第9章面向对象的软件开发方法 第10章软件项目管理 第11章软件过程 第12章新型软件开发方法 附录软件开发文档参考规范 参考文献 |
前言 |
世纪六七十年代以后,由于软件规模剧增,软件维护、软件可靠性方面的问题日益凸显,从而直接导致软件的生产方式发生了翻天覆地的变化。人们意识到、软件生产是一项程,需要按照工程化的方行组织和管理。软件工程这门学科就这样应运而生了。 软件项目管理是软件工程和项目管理的交叉学科。软件工程领域现在正处于软件工业化大生产时期,软件项目管理作为软件工程的一个重要组成部分,其知识领域的相关过程、方法、工具随着软件工程的发展也经历了重大的变革。 作者在多年的教学、实践过程中体会到,软件工程是一门实践性很强的课程,许多理论只有经过软件开发的实践才能深有体会。而实践经验往往是目前在校学生的一个薄弱环节,这也就导致了学生在学课程时难以得其要领。 在编写本书时,作者力求使语言既保持学术用语的严谨性,又不失通俗化。另外,书中引用了多个软件开发和项目管理的实际案例,以帮助读者理解并掌握软件工程的相关知识。 本书共分12章,结构清晰,内容全面。 第1章主要介绍了软件工程的定义、软件生命周期、软件开发方法、软件开发模型、软件工具及支撑环境等。 第2章至第7章按照软件开发过程,依次介绍了可行性分析与开发计划、需求分析、概要设计、详细设计、编码、测试和维护。 第8章介绍了软件质量保证的相关知识括软件质量的定义、软件质量度量模型、软件复杂性和可靠性的度量方法、软件评审知识、容错软件的设计等。 第9章介绍了面向对象的软件开发方法。 第10章介绍了软件项目管理知识,围绕软件项目管理过程展开论述,其内容涉及人力资源管理、软件成本管理、开度管理、软件风险管理、软件质量管理、软件配置管理和软件文档管理等。 第11章介绍了软件过程的相关理论和一些实践。 第12章简单介绍了几种新型的软件开发方法。 本书由何礼富任主编,张柱、周强任副主编。各章的编写分工是:第1章至第6章由何礼富编写,第7章和第8章由张柱编写,第10章和第11章由周强编写,第9章和第12章由周庆松编写。 由于编者水平有限,书中难免有疏漏和错误之处,恳请广大读者批评指正。我们的E-是 themaster@163.com。 编者 |
摘要 |
第1章软件工程概述 自从计算机出现以后,就有了程序设计和软件开发。然而,随着软件规模的不断扩大,软件项目开发失败的情况时有发生,软件开发遭遇到了“软件危机”,软件工程这门而生。软件工程的一些基本原则已经深入人心,它把软件开发的过程分解为可行性分析、需求分析、软件设计、编码、测试、软件维护等几个阶段,通常称之为软件生命周期。目前,软件工程常用的开发方法主要有结构化开发方法、面向数据结构的开发方法、面向对象的开发方法等。软件工程常用的开发模型主要有瀑布模型、快速原型模型、渐增模型、螺旋模型、喷泉模型、构件化开发模型等多种开发模型。在软件开发过程中,还可以通过CASE工具来支撑软件人员的开发工作,这对于提高软件的生产效率及软件产品的可靠性是十分有效的。 1.1软件危机 世纪60年代以前,软件开发往往只是针对某个特定的应用而在的计算机行设计和编制,采用的是密切依赖于计算机的机器代码或汇编语言,软件规模一般较小,文档资料通常也不存在,很少使用系统化的开发方法,设计软件往往即等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的软件生产方式。 世纪60年代中期,随着计算机应用范围的迅速扩大,软件开发量也急剧增长。此时,高级语言开始出现,大数据量处理促使代数据库管理系统诞生,而操作系统的发展引起了计算机应用方式的变化。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的软件开发方式已不能满足要求,软件危机爆发。 1.1.1软件 为了更好地理解软件危机和软件工程的概念,首先介绍一下软件的定义、分类及特点。 1.软件的定义 “软件”一词出现于世纪60年代。那么什么是软件呢?通常认为,软件是计算机系统中与硬件相互依存的一部分,它括程序、数据及相关文档的完整集合。其中,程序是指按事先设能和性能要求执行的指令序列,数据是指使程序能正常操纵信息的数据结构,文档是指与程序开发、维护和使用有关的图文资料。 …… |