软件工程

出版时间:2010-8  出版社:清华大学出版社  作者:鄂大伟 主编,尤志宁,叶文来,蔡莉白,易燕 等编著  页数:444  

前言

软件系统现在已经变得无处不在,被广泛应用于各个领域,深入到生活的各个方面。事实上,没有软件就没有计算机,生活中也就没有手机、因特网和各种智能家电,航天工程与太空探索更成为天方夜谭。而所有这些软件系统的描述、设计、开发和管理就构成了软件工程的基本内容。与其他传统工程学科相比,软件工程还是一个较为年轻的学科。然而,自20世纪60年代提出软件工程的概念以来,在这个领域已经取得长足的进步,提出了许多软件工程的方法、过程与工具,这些成果已经极大地改善了软件的开发方式,软件开发活动与项目管理也有了更规范的指导。目前,软件产业已发展为国家基础性、先导性、战略性产业,成为信息产业、先进制造业和现代服务业的核心。据《2009中国软件与信息服务外包产业发展报告》显示,2008年我国软件与信息服务外包产业规模达到1570亿元。此外,2008年软件与信息服务业规模已达到7000亿元,软件产业规模居世界第4位。软件的地位越来越重要。软件项目开发实践表明,即使是最简单的软件,系统也有其固有的复杂性,因此,必须在软件开发中使用工程原则。软件工程是这样一个工程学科,即软件工程师用计算机科学中的方法和理论,在考虑成本效益的情况下,将其用于解决软件开发中的复杂问题。不仅大型软件项目需要运用软件工程的概念、原则和方法,就是一般的小型软件项目也必须掌握和运用软件工程知识,才能适应工作的需要。软件开发的工程实践从另一个方面也表明,不掌握软件T程知识,不按照软件工程的方法与过程管理软件项目,提供给用户的产品只能是低质量的、难以满足用户需求的。事实上,绝大多数的现代软件能为用户提供好的服务,我们不应该因某些软件项目的失败而无视过去几十年软件工程领域的巨大成功。“软件工程”是高等院校计算机及相关专业教学计划中的一门核心专业课程。本书在知识域组织方面参考了IEEE和.ACM提出的“软件工程的知识体系”(SWEB()K)的基本框架,比较全面、系统地反映了软件工程的全貌,从理论与实践的视角介绍了软件工程的基本原理、概念和技术方法。本书内容既兼顾了传统、实用的软件开发方法,又介绍了软件工程领域比较新颖的技术和方法,并结合具体案例加以介绍,其中融入许多我们在多年教学中对软件工程的理解与经验总结,努力使之成为软件工程的原理、方法和应用紧密结合的教材。本书共18章,从内容上可分为4个部分。第1篇软件工程与项目管理(第1~第6章)作为全书的首篇,前两章主要介绍了软件工程的基本概念和软件过程模型,第3章~第6章,参照美国项目管理学会(PMI)提出的项目管理框架,结合软件工程的实践,分别叙述了软件项目管理的主要活动,包括项目沟通(需求获取)、软件项目计划、项目范围、项目估算、进度管理、软件质量保证、软件过程能力评估、软件配置管理、风险管理等内容。本篇还介绍了软件工程经济学中一些最基本的内容,可以帮助项目管理者对项目状态进行成本效益分析与决策。

内容概要

本书在软件工程的知识域组织方面参考了IEEE和ACM提出的“软件工程的知识体系(SWEBOK)”的基本框架,比较全面、系统地反应了软件工程的全貌,从理论与实践的视角介绍了软件工程的基本原理、概念和技术方法。全书共18章,在内容结构上可分为软件工程与项目管理、结构化开发方法、面向对象的开发方法及软件工程高级专题4个部分。在每章后面都附有思考与练习题,供读者复习巩固之用。    本书汲取了国内外软件工程的精华,并融入了作者多年在教学与科研过程中对软件工程的理解与经验总结。在内容上既兼顾了传统、实用的软件开发方法,又引入了软件工程领域比较新颖的技术和方法,并结合一个贯穿全书的具体案例加以介绍。本书的另一个特点是介绍了许多软件工程度量与估算的技术与方法,突出了软件工程学科工程化、可度量的特点。    本书可作为计算机相关专业本科生或研究生的教材,同时也可作为软件工程领域专业人员的参考书。

书籍目录

第1篇  软件工程与项目管理 第1章 软件工程概述 第2章 软件过程 第3章 软件工程领域下的项目管理 第4章 软件项目估算 第5章 软件质量管理 第6章 软件风险管理第2篇  结构化开发方法 第7章 面向过程的结构化分析 第8章 面向过程的结构化设计 第9章 面向过程的结构化实现 第10章 软件的技术度量第3篇  面向对象的开发方法 第11章 面向对象概述 第12章 面向对象分析 第13章 面向对象设计 第14章 面向对象测试 第15章 面向对象系统的技术度量第4篇  软件工程高级专题 第16章 敏捷过程开发 第17章 Web工程 第18章 形式化方法附录A 软件工程和知识可视化表征

章节摘录

插图:瀑布模型强调系统开发应有完整的周期,且必须完整地经历周期中的每一个开发阶段。由于该模式强调系统开发过程需有完整的规划、分析、设计、测试及文件等管理与控制,因此能有效地确保系统品质,它已经成为业界大多数软件开发的标准。“线性”是人们最容易掌握并能熟练应用的思维方法。当人们碰到一个复杂的“非线性”问题时,总是千方百计地将其分解或转化为一系列简单的线性问题,然后逐个解决。然而在实践中,过程很少能够以纯线性的方式进行。应提倡以一种迭代的方式重复地使用瀑布模型,通过回到前面的阶段或改变前一阶段的结果的迭代是非常普遍的。但是,很多人忽视了这一点。线性顺序模型过程的缺点也是非常明显的,主要有以下几点。(1)实际的项目很少按照该模型给出的顺序进行。(2)项目初期用户常常难以清楚地给出所有需求,而这恰恰是线性顺序模型所必须给出的。(3)用户必须有耐心,程序的运行版本要等到项目开发晚期才能得到。大的错误如果到检查运行程序时才被发现,后果可能是灾难性的。(4)开发者常常被不必要地耽搁。项目组某些成员不得不等待组内其他成员先完成其依赖的任务。尽管如此,瀑布模型仍然是软件工程中应用最广泛的过程模型。很显然,它比起软件开发中随意的状态要好得多。2.2.3演化软件过程模型人们已经越来越认识到软件就像所有复杂系统一样要经过一段时间的演化。业务和产品需求随着开发的发展常常发生改变,想找到最终产品的一条直线路径是不可能的。演化模型是利用一种迭代的思想方法,它的特征是使软件工程师渐进地开发逐步完善的软件版本。主要包括增量模型和螺旋模型两种范型。

编辑推荐

《软件工程》特色:内容涵盖软件工程理论与实践的最新发展,以具体案例为驱动,贯穿结构化方法与面向对象方法的全过程,软件项目管理内容符合美国项目管理学会(PMI)的主要体系框架,软件度量使软件工程成为可量化的学科。

图书封面

评论、评分、阅读与下载


    软件工程 PDF格式下载


用户评论 (总计0条)

 
 

 

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

京ICP备13047387号-7