出版时间:2010-1 出版社:机械工业出版社 作者:陈明 页数:296
前言
软件产业是创新的与充满活力的朝阳产业,需要大量的、不同层次的软件人才。计算机软件是软件产业的主要产品,并且计算机软件是逻辑产品、而不是物理产品。软件与硬件具有完全不同的特征。计算机软件现已成为一种新的驱动力,是进行决策的引擎,是现代工程研究和解决问题的基础,在各种类型的应用系统中无所不在地广泛应用。软件危机是指软件开发和维护过程中遇到的一系列严重问题,如如何开发软件、如何满足对软件的日益增长的需求、如何维护数量不断膨胀的已有软件等一系列问题。为了克服与摆脱软件危机,诞生了软件工程学。从1969年提出软件工程概念以来,历经30多年的飞速发展,软件工程逐渐成熟,现已成为一门重要的学科。软件工程的目标是以保证软件生产的质量与效率为宗旨,研究一套科学的工程方法以及相应的方便的软件工具系统,用来指导和帮助软件的开发与研究工作,在软件的开发与研究中起到重要的技术保障与促进作用。软件工程是研究开发大型软件应用系统的学科,软件工程不仅覆盖了构建软件系统的相关技术层面的问题,还包括指导开发团队、安排进度及预算等管理层面的问题。软件工程不仅包括编写程序代码所涉及的技术,还包括所有对软件开发能够造成影响的问题。不存在任何单一开发技术或管理技术能够解决软件工程所面临的所有问题。因而,软件工程是包括一系列概念、理论、模式、语言、方法及工具的综合性学科。软件工程技术可分为产品实现技术及开发管理技术,产品实现技术主要涉及软件系统开发的相关问题,为实现软件产品提供支持;开发管理技术通常不针对某个软件开发项目,而是为管理和改进软件,组织所有的业务活动提供技术支持。软件开发工具是支持软件生存期中某一阶段的任务实现而使用的计算机程序。软件开发环境是一组相关的软件工具的集合,将它们集成在一起支持某种软件开发方法或某种软件开发模型。软件开发工具与环境是软件工程的重要组成部分,对于提高软件生产率,改进软件质量有越来越大的作用。软件工程不是刻板的学科,需要丰富的想象力。软件工程是一门科学,它是有规律和步骤可循的。软件工程又是一个实践性极强的实用学科,在学习中,不仅要能掌握其理论原则与方法,更重要的是能熟练地应用。计算机科学与技术专业和相近专业的毕业生,有相当部分的同学要从事计算机软件开发和应用工作,通过软件工程的理论学习与实践,可以培养学生以软件工程的方法开发软件的习惯和素质,并在软件开发的工作中得以贯彻。因此,专业实践是软件工程本科教育的重要组成部分。学习软件工程应注重计算思维能力、算法设计与分析能力、程序设计和实现能力、系统能力(系统的认知、设计、开发、应用)的培养,尤其是系统能力。系统能力包含两个层面上的含义:一方面是对一定规模的系统的全局掌控能力;另一方面是能够在构建系统时,系统地考虑问题的求解。
内容概要
本书是软件工程方面的教材,主要内容包括软件工程概述、可行性研究、需求分析、概要设计、详细设计、面向对象的分析与设计方法、编码、软件质量与质量保证、项目计划与管理、软件开发工具与环境概述、UML与Rose等。本书的特点是内容系统、注重应用、面向实践、语言精练、概念准确。本书可作为高等院校软件工程课程的教材,也可作为软件工程人员的参考书。
书籍目录
出版说明前言第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.3 软件生存周期与软件开发模型 1.3.1 软件生存周期 1.3.2 软件开发模型 1.4 小结 1.5 习题第2章 可行性研究 2.1 可行性研究的任务 2.2 可行性研究的步骤 2.3 系统流程图 2.4 成本效益分析 2.4.1 成本估计 2.4.2 费用估计 2.4.3 度量效益的方法 2.5 小结 2.6 习题第3章 需求工程 3.1 概述 3.1.1 软件需求定义 3.1.2 软件需求分类 3.1.3 需求规格说明 3.1.4 需求工程概念 3.1.5 需求工程过程 3.2 需求获取方法 3.3 需求分析的任务与原则 3.3.1 需求分析的任务 3.3.2 需求分析的原则 3.4 需求建模方法 3.4.1 结构化需求建模方法 3.4.2 数据流图 3.4.3 数据字典 3.5 需求图形工具 3.5.1 层次方框图 3.5.2 Warnier图 3.5.3 IP0图 3.6 需求验证 3.6.1 目的与任务 3.6.2 内容与方法 3.6.3 需求评审 3.7 需求管理 3.7.1 需求管理的目标 3.7.2 需求管理的原则 3.7.3 需求开发的管理 3.7.4 需求管理活动 3.8 小结 3.9 习题第4章 概要设计 4.1 软件体系结构 4.1.1 概述 4.1.2 系统构成 4.1.3 控制模型 4.2 概要设计任务与步骤 4.2.1 概要设计任务 4.2.2 概要设计过程 4.3 软件设计的基本概念 4.3.1 模块化与模块独立性 4.3.2 抽象 4.3.3 结构设计原则 4.4 面向数据流的设计方法 4.4.1 基本概念 4.4.2 系统结构图的组成 4.4.3 变换分析 4.4.4 事务分析 ……第5章 详细设计第6章 面向对象设计第7章 编码第8章 软件质量与质量保证第9章 项目计划与管理第10章 软件开发工具与环境第11章 UML与Rose附录A 可行性研究报告规范附录B 项目开发计划规范附录C 需求规格说明书规范附录D 概要设计说明书规范附录E 详细设计说明书规范附录F 测试计划附录G 测试分析报告附录H 项目开发总结报告规范参考文献
章节摘录
插图:软件是一种逻辑产品,也是开发和运行产品的载体。作为一种产品,它表达了由计算机硬件体现的计算潜能。不论它是驻留在设备中,还是在主机中,软件都是一个信息转换器,能够产生、管理、获取、修改、显示或转换信息。这些信息可以很简单,也可以很复杂,如多媒体信息。作为开发运行产品的载体,软件是计算机工作和信息通信的基础,也是创建和控制其他程序的基础。信息是21世纪最重要的产品,软件充分体现了这一点。通过软件处理数据,凸显了数据的重要性;软件管理商业信息,增强了商业竞争力。软件不仅提供了通往全球信息网络的途径,而且也提供了获取信息的多种手段。1.1.1软件发展1.程序设计阶段计算机发展的早期阶段(20世纪50年代初期一20世纪60年代中期)为程序设计阶段。在这个阶段硬件已经通用化,而软件的生产却是个体化的。这时,由于程序规模小,几乎没有什么系统化的方法可遵循。对软件的开发没有任何管理方法,一旦计划推迟了或者成本提高了,程序员才开始弥补。在通用的硬件已经非常普遍的时候,软件产品还处在初级阶段,对每一类应用均需自行再设计,应用范围很有限。设计往往仅是人们头脑中的一种模糊想法,而文档根本不存在。2.程序系统阶段计算机系统发展的第二阶段(20世纪60年代中期~20世纪70年代末期)为程序系统阶段。多道程序设计、多用户系统引入了人机交互的新概念。交互技术打开了计算机应用的新世界,硬件和软件配合达到了一个新层次,出现了实时系统和第一代数据库管理系统。这个阶段的另一个特点就是软件产品的使用和“软件作坊”的出现。被开发的软件可以在较宽广的范围中应用。主机和微机上的程序能够有数百甚至上千的用户。在软件的使用过程中,当发现错误时,当用户需求和硬件环境发生变化时都需要修改软件,这些活动统称为软件维护。在软件维护上的花费以惊人的速度增长。更为严重的是,许多程序的个体化特性使得它们根本不能维护。“软件危机”出现了。
编辑推荐
《软件工程导论》:高等院校软件工程专业规划教材
图书封面
评论、评分、阅读与下载