出版时间:2010-9 出版社:清华大学出版社 作者:叶俊民 页数:305
前言
近年来,软件工程领域研究和工程实践方面的快速发展,以及从本教材第一版使用以来我们从各个方面得到的使用反馈,使得我们意识到有必要更新《软件工程》这本教材。第二版的修正思路是,考虑到本教材作为软件工程及相近专业的导论性教材,第二版结构与第一版结构是一致的,除了修改第一版教材中的错误和不恰当的表达之外,第二版教材还适度引入了部分本领域较新但成熟的成果。在写作过程中,我们参考国内外大量著作,特别是重点参考并引用了B. Buegge和A. H. Doutoit所著的(Objea Orienled Engineeing:Using UML, Patters和and Java第二版和第三版中的部分内容,在此特向该书作者表示感谢;同时,我们还要对本书参考和引用著作的作者表示感谢。本书修正工作主要是对文字部分重新进行了梳理,修正了前一版文字和图中出现的疏漏和错误,删掉了一些较陈旧的或重复性的内容,对于一些需要给予更多澄清和解释的概念和内容进行了补充,具体修改的内容表现如下:(1)重新修订了面向对象方法学的结构和内容,涉及书中的第8~10章。(2)修改了第一版中出现的部分实例,使得这些实例与教材内容更加配套。(3)在第2章中增加了“2.4项目计划实例”。(4)在第4章中增加了“4.2.5软件体系结构”。(5)在第10章中增加了“10.3.4基于设计模式的设计活动”。(6)考虑书的篇幅及重点,本版删除了原第11.1.4节、原第11.4.2节中的因果图和原来的11.6节(面向对象的软件测试);同时增加了软件测试工具介绍和实例(第11.7节)。(7)对于第12章的结构进行了微调,对软件维护工作的特点、决定软件可维护性的因素等内容进行了补充。(8)本书删掉了原来版本中的附件内容。本书第1和第6章由周伟编写;第2、第3和第5章由李蓉编写;第4、第7章及第11.1节由李敏编写;第8~11章由叶俊民编写;第12章由杨艳编写。全书由叶俊民统稿。第二版教材在内容取舍上力度不大,主要还是希望在有限的课时中,在本科教材中体现本领域里最经典的思想和内容,因为这些内容经得起时间和实践的考验。因为水平有限,敬请广大读者提出宝贵意见和建议,以便我们在进一步的修订中改善本书。
内容概要
软件工程学是计算机专业的一门非常重要的学科,它的研究范围包括技术、方法、工具和管理等许多方面。 本书共12章,介绍软件工程的背景和基础知识,软件项目管理的方法和技术,软件分析、设计的技术,人机交互的设计,软件构件的设计技术,面向对象的概念和分析、设计方法,软件的测试和维护的基础知识。 本书可作为计算机专业的本科生、研究生、专科生和专升本的教材,也适合从事研发工作的软件工作者和广大计算机用户参考或自学。
书籍目录
第1章 软件工程基础 1.1 计算机系统工程 1.1.1 硬件与硬件工程 1.1.2 软件与软件工程 1.1.3 人机工程 1.1.4 数据库工程 1.1.5 网络工程 1.2 软件工程 1.2.1 软件 1.2.2 软件工程的概念 1.2.3 软件生命周期 1.2.4 软件开发模型 1.3 软件生命周期模型 1.3.1 软件生命周期模型基础 1.3.2 瀑布模型 1.3.3 原型模型 1.3.4 螺旋模型 1.3.5 基于四代技术模型 1.3.6 喷泉模型 1.3.7 增量模型 1.4 软件开发方法 1.4.1 结构化方法 1.4.2 面向数据结构方法 1.4.3 面向对象方法 1.4.4 原型法 1.5 软件工程环境 1.5.1 软件工程环境的定义 1.5.2 软件开发环境的特点 1.6 小结 习题1第2章 软件项目管理基础 2.1 软件项目管理概述 2.2 软件项目管理基本概念 2.2.1 任务和活动 2.2.2 工作产品,工作包和角色 2.2.3 工作分解结构 2.2.4 任务模型 2.2.5 技能矩阵 2.2.6 组织 2.2.7 呈现组织结构 2.2.8 软件项目管理计划 2.3 项目管理活动 2.3.1 计划项目 2.3.2 组织项目 2.3.3 控制项目 2.3.4 终结项目 2.4 项目计划案例 2.4.1 项目描述 2.4.2 初期项目计划 2.4.3 详细项目计划 2.4.4 用项目管理软件制定项目计划 2.5 小结 习题2第3章 软件需求分析基础 3.1 需求分析的概念和原则 3.1.1 需求获取 3.1.2 需求分析 3.1.3 分析的原则 3.1.4 需求规格说明 3.1.5 评审 3.2 软件需求分析基础:以结构化分析方法为例 3.2.1 数据流图 3.2.2 数据字典 3.2.3 实体-关系图(E-R图) 3.2.4 状态转换图 3.3 小结 习题3 ……第4章 软件设计基础第5章 软件体系结构设计第6章 人机交互界面设计第7章 构件级设计第8章 面向对象中的概念、记号和过程第9章 面向对象的需求获取与分析方法第10章 面向对象设计方法第11章 软件测试第12章 软件维护参考文献
章节摘录
插图:1.1.2软件与软件工程计算机软件是软件工程师设计和建造的产品,包括一个在任意规模和体系结构的计算机中执行的程序,以及软件开发过程中涉及的各种文档和各种形式的数据。软件工程是研究软件生产和软件管理的工程科学,内容包括市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护和版本升级等。软件工程师借助于软件工程的过程、方法和工具开发基于计算机的软件系统。软件工程模型虽然种类很多,但都有一个共同的特点,即都包括软件项目的定义阶段、软件开发阶段、软件的检验、交付与维护阶段,如图1-3所示。下面先就相关阶段进行简要说明,详细内容将在各个章节中讨论。1.软件定义阶段软件定义阶段的任务是确定软件开发必须完成的总目标、确定工程的可行性、导出实现工程目标应该采用的策略及系统必须完成的功能、估计完成该项工程需要的资源和成本、并且制定工程进度表。这个阶段的工作通常又称为系统分析,由系统分析员负责完成。软件定义阶段通常进一步划分成三个子阶段,即问题定义阶段、可行性研究阶段和需求分析阶段。需求分析阶段的一项重要任务是用正式文档准确地记录对目标系统的需求,这份文档通常称为需求规格说明。2.软件开发阶段这个阶段的基本任务是回答“怎样实现目标系统?”这个问题。为了回答这一问题,需要把高层设计具体化,并在此基础上,写出正确的、容易理解和维护的构件或程序模块,最后通过各种类型的测试(及相应的调试)使软件达到预定的要求。软件开发阶段具体设计和实现在前一个时期定义的软件,通常由下述4个子阶段组成:概要设计、详细设计、编码和单元测试、综合测试。其中前两个阶段又称为系统设计阶段,后两个阶段又称为系统实现阶段。3.软件的检验、交付与维护阶段这一阶段的主要任务是使软件持久地满足用户的需要。也就是说,当软件在使用过程中发现错误时,应该加以改正;当环境改变时,应该修改软件以适应新的环境;当用户有新要求时,应该及时改进软件以满足用户的新需要。通常对维护时期不再进一步划分阶段,但是每一次维护活动,从本质上看,都是一次压缩和简化了的定义和开发过程。
编辑推荐
《软件工程(第2版)》:教学目标明确,注重理论与实践的结合,教学方法灵活,培养学生自主学习的能力,教学内容先进.反映了计算机学科的最新发展,教学模式完善,提供配套的教学资源解决方案。
图书封面
评论、评分、阅读与下载