出版时间:2010-2 出版社:人民邮电出版社 作者:张海藩,倪宁 编著 页数:334
Tag标签:无
前言
近年来,互联网使软件产业发生了翻天覆地的变革。过去一个需要花几百人几年才能完成的项目,现在也许几十人几个月就能完成。这首先得益于互联网时代蓬勃发展的开放源代码的项目开发方式;其次是各种先进的软件开发方法能在基于互联网的新型交流平台下得到快速的演化——好的方法能得到迅速的推广,不同的方法之间也在互相交叉融合。而从另一角度来看,几十年来单位时间内程序员个人的代码生产力却没有很大的变化,程序员平均每月代码生产行数仍旧维持一个相对固定的水平。由此说明了“软件工程”这门学科所涉及的各个方面对软件项目的成败、软件的质量以及开发效率都有着巨大的影响。鉴于先进适用的软件过程对提高软件生产率和确保软件产品质量有相当大的作用,本书第3版在保持原书结构和篇幅基本不变的前提下,增加了目前比较流行的Rational统一过程和以极限编程为杰出代表的敏捷过程的介绍,此外还对书中的一些具体内容作了适当的增删和修改。
内容概要
本书是软件工程领域的经典教材。 全书由5篇(16章)构成,第1篇(第1、2章)讲述软件工程与软件过程;第2篇讲述传统方法学(第3~5章),包括结构化分析、设计与实现;第3篇讲述面向对象方法学(第6~10章),包括面向对象的概念、模型、分析、设计、实现,同时介绍了统一建模语言UML;第4篇讲述软件项目管理(第11~14章),包括软件项目的计划、组织和控制,并介绍一些相关的国际标准;第5篇讲述软件工程的高级课题(第15、16章),包括形式化方法和软件重用。 本书内容新颖、实例丰富,可以作为高等院校“软件工程”课程的教材或教学参考书,也可以供程序员、软件测试工程师、系统工程师以及软件项目经理等相关人员阅读参考。
作者简介
张海藩,教授,1963年毕业于北京大学计算技术专业。长期从事“软件工程概论”、“面向对象程序设汁”等课程的教学工作,曾被评为北京市优秀教师。参加的科研项目曾获全国科学大会奖。中国科学院科研特等奖等;主持的科研项目获原机电部科技进步奖。编著有《软件工程导论》、《软件工程》、《面向对象程序设计实用教程》等十多本教材。
书籍目录
第1篇 软件工程与软件过程 第1章 软件工程概述 1.1 软件危机与软件工程的起源 1.1.1 计算机系统的发展历程 1.1.2 软件危机介绍 1.1.3 产生软件危机的原因 1.1.4 消除软件危机的途径 1.2 软件工程 1.2.1 什么是软件工程 1.2.2 软件工程的基本原理 1.3 软件工程包含的领域 小结 习题 第2章 软件过程 2.1 软件生命周期的基本任务 2.2 瀑布模型 2.3 快速原型模型 2.4 增量模型 2.5 螺旋模型 2.6 喷泉模型 2.7 Rational统一过程 2.7.1 最佳实践 2.7.2 RUP的十大要素 2.7.3 RUP生命周期 2.8 敏捷过程与极限编程 2.8.1 敏捷过程概述 2.8.2 极限编程 2.9 能力成熟度模型 2.9.1 能力成熟度模型的结构 2.9.2 能力成熟度等级 2.9.3 关键过程域 2.9.4 应用CMM 小结 习题 第2篇 传统方法学 第3章 结构化分析 3.1 概述 3.2 与用户沟通的方法 3.2.1 访谈 3.2.2 简易的应用规格说明技术 3.2.3 软件原型 3.3 分析建模与规格说明 3.3.1 分析建模 3.3.2 软件需求规格说明 3.4 实体—关系图 3.5 数据流图 3.5.1 数据流图符号 3.5.2 例子 3.5.3 命名 3.6 状态转换图 3.6.1 状态 3.6.2 事件 3.6.3 符号 3.6.4 例子 3.7 数据字典 3.8 结构化分析实例 3.8.1 问题陈述 3.8.2 问题定义 3.8.3 可行性研究 3.8.4 需求分析 小结 习题 第4章 结构化设计 第5章 结构化实现第3篇 面向对象方法学 第6章 面向对象方法学导论 第7章 面向对象分析 第8章 面向对象设计 第9章 面向对象实现 第10章 统一建模语言 第4篇 软件项目管理 第11章 计划 第12章 组织 第13章 控制 第14章 国际标准第5篇 高级课题 第15章 形式化方法 第16章 软件重用参考文献
章节摘录
插图:人类社会已经跨入了21世纪,计算机系统已经渗入人类生活的各个领域,同时计算机软件已经发展成为当今世界最重要的技术领域。研究软件本身则产生了一门重要的学科就是软件工程。软件工程的研究领域包括软件的开发方法、软件的生命周期以及软件的工程实践等。1.1 软件危机与软件工程的起源1.1.1 计算机系统的发展历程20世纪60年代中期以前,是计算机系统发展的早期。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无须预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。从20世纪60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人一机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。计算机系统发展的第二代的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机应用的日益普及,软件数量急剧膨胀。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。“软件危机”就这样开始出现了。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。
编辑推荐
《软件工程(第3版)》是倍受欢迎的软件工程教材,它对我国软件工程研究、教学和实践起到了很好的借鉴和参考作用。为更好地反映最近几年软件工程领域的发展现状,《软件工程(第3版)》在第2版基础上,结合最新技术,进行认真修改。◆作者权威。《软件工程(第3版)》是以作者在北京大学“软件工程概论”的讲义为蓝本,结合多年软件开发实践编写而成。◆内容深入浅出、通俗易懂。对软件工程基本概念、原理和方法学的讲述由浅入深,循序渐进,深入细微。文字叙述条理清楚,适于读者自学。◆理论与实践紧密结合。以丰富的实例讲述软件工程理论,不仅可以使读者深化对理论的理解,更重要的是使读者学会用软件工程的理论方法指导软件开发的实践。国内软件工程领域的经典著作全面介绍软件工程概念与原理以丰富实例讲述软件工程方法学
图书封面
图书标签Tags
无
评论、评分、阅读与下载