基本信息·出版社:科学出版社 ·页码:234 页 ·出版日期:2004年01月 ·ISBN:7030142071 ·条形码:9787030142078 ·版本:第1版 ·装帧:平装 ·开本 ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
软件工程基础教程 |
 |
|
 |
软件工程基础教程 |
 |

基本信息·出版社:科学出版社
·页码:234 页
·出版日期:2004年01月
·ISBN:7030142071
·条形码:9787030142078
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:高等职业教育“十一五”规划教材,高职高专软件工程系列教材
·外文书名:Software Engineering Fundamentals
·图书品牌:科瀚伟业
内容简介 《软件工程基础教程》主要介绍现代软件工程的基本原理、方法和应用。内容包括:软件工程概述、软件开发模型、系统分析、系统设计、软件编码与测试、软件维护、配置管理、质量管理、文档技术、软件复用和软件工程环境等。根据软件工程的最新发展,着重介绍了面向对象的开发方法,并将UML建模技术应用到实际系统的分析和设计中。
《软件工程基础教程》语言简练,通俗易懂,采用案例教学方法;注重培养实际开发能力和文档的写作能力。《软件工程基础教程》具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书
编辑推荐 《软件工程基础教程》语言简练,通俗易懂,采用案例教学方法;注重培养学生的实际开发能力和文档的写作能力,具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书。
目录 第1章 软件工程概述
1.1 软件
1.1.1 软件的定义
1.1.2 软件的特点及最新发展
1.1.3 软件的分类
1.2 软件工程概念
1.2.1 软件危机
1.2.2 软件危机的原因及解决方法
1.2.3 软件工程的概念
1.2.4 软件工程的原则
1.3 软件生存周期与开发模型
1.3.1 软件生存周期
1.3.2 软件开发模型
习题
第2章 结构化分析
2.1 软件定义过程概述
2.1.1 问题的定义
2.1.2 可行性研究
2.1.3 需求分析
2.2 结构化分析
2.2.1 结构化分析方法概述
2.2.2 数据流图
2.2.3 数据词典
2.2.4 加工逻辑的描述方法
2.3 需求规格说明与评审
2.3.1 需求规格说明的主要内容
2.3.2 需求分析的评审
2.4 需求规格说明书写作范例
习题
第3章 概要设计
3.1 概要设计的任务与步骤
3.1.1 概要设计的任务
3.1.2 概要设计的过程
3.2 软件设计的概念与原则
3.2.1 模块化
3.2.2 抽象与逐步求精
3.2.3 信息隐蔽和局部化
3.2.4 模块独立性
3.2.5 设计准则
3.3 面向数据流的设计方法
3.3.1 基本概念
3.3.2 系统结构图
3.3.3 变换分析
3.3.4 事务分析
3.3.5 设计优化
3.4 概要设计文档评审
3.5 概要设计文档写作范例
习题
第4章 详细设计
4.1 详细设计的任务与原则
4.1.1 详细设计的任务
4.1.2 详细设计的原则
4.2 详细设计的方法
4.2.1 程序流程图
4.2.2 N-S图
4.2.3 PAD图
4.2.4 PDL
4.3 详细设计规格说明书与评审
4.3.1 详细设计说明书
4.3.2 详细设计复审
4.4 详细设计文档写作范例
习题
第5章 面向对象的分析和设计
5.1 面向对象方法概述
5.1.1 面向对象方法概述
5.1.2 面向对象的软件工程
5.1.3 面向对象的基本概念和特征
5.1.4 面向对象的开发方法
5.2 面向对象分析
5.2.1 OOA方法概述
5.2.2 确定对象
5.2.3 确立结构
5.2.4 确立主题
5.2.5 确定属性
5.2.6 确定服务和消息
5.3 面向对象设计
5.3.1 OOD方法概述
5.3.2 人机交互子系统的设计
5.3.3 问题域子系统的设计
5.3.4 任务管理部分的设计
5.3.5 数据管理部分的设计
5.3.6 OOD的基本准则
习题
第6章 统一建模语言UML
6.1 UML概述
6.1.1 UML概念
6.1.2 UML的发展过程
6.1.3 UML的主要内容
6.1.4 标准建模语言UML的应用领域
6.2 UML的概念模型
6.2.1 UML的构造块
6.2.2 UML的规则
6.2.3 UML中的公共机制
6.3 UML的静态建模机制
6.3.1 用例图
6.3.2 类图
6.3.3 对象图
6.3.4 包
6.3.5 使用类图的几个建议
6.4 UML的动态建模机制
6.4.1 对象之间的交互
6.4.2 次态图
6.4.3 交互图
6.4.4 活动图
6.4.5 四种图的运用
习题
第7章 面向对象分析与设计范例
7.1 系统需求获取
7.1.1 案例背景介绍
7.1.2 需求获取
7.2 分析问题领域
7.2.1 高层用例识别
7.2.2 用例分析
7.3 静态建模
7.3.1 确定对象
7.3.2 描述对象的属性
7.3.3 描述对象之间的关联
7.4 动态建模
7.4.1 动态用例分析
7.4.2 对象状态分析
7.4.3 描述对象操作
7.5 系统设计
7.5.1 系统总体设计
7.5.2 系统详细设计
习题
第8章 程序编码
8.1 程序设计语言
8.1.1 程序设计语言分类
8.1.2 程序设计语言的特点
8.1.3 程序设计语言的选择
8.2 编码风格
8.3 程序调试
8.3.1 调试过程
8.3.2 调试途径
8.4 面向对象程序设计
8.4.1 面向对象语言的一些技术特点
8.4.2 面向对象语言的选择
习题
第9章 软件测试
9.1 软件测试
9.1.1 软件测试概述
9.1.2 测试方法
9.1.3 测试过程
9.2 测试用例设计
9.2.1 白盒子法测试用例设计
9.2.2 黑盒子法测试用例设计
9.3 程序调试
9.4 面向对象测试
习题
第10章 软件维护
10.1 软件维护的内容
……
第11章 配置管理与文档技术
第12章 软件质量管理
第13章 软件复用和CASE技术
附录 计算机软件开发文档编写指南
附录1 可行性研究报告
附录2 项目开发计划
附录3 需求规格说明书
附录4 概要设计说明书
附录5 详细设计说明书
附录6 测试计划
附录7 测试分析报告
附录8 开发进度月报
附录9 项目开发总结报告
主要参考文献
……
序言 软件工程是一门实践性很强的课程,它是各种开发经验的总结与提炼。软件工程不仅是计算机专业学生十分重要的一门专业课程,也是各类软件开发人员必需掌握的技术。目前,软件工程已从第一代传统的软件工程发展为第二代面向对象的软件工程,如今正向基于软件复用的第三代软件工程发展。为适应信息技术迅速发展和教学的需要,我们特意编写了本书。
本教材的任务是使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向。在本书的编写过程中,我们根据软件工程的最新发展,着重介绍面向对象的开发方法,并将UML建模技术应用到实际系统的分析和设计中。全书共分13章,内容包括软件工程概述、软件开发模型、系统分析、系统设计、“软件编码与测试、软件维护、配置管理、质量管理、文档技术、软件复用和软件工程环境等。本书语言简练,通俗易懂,采用案例教学方法;注重培养学生的实际开发能力和文档的写作能力,具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书。
本书第1、2、3、4、9章由余明艳编写,第5、6章由杨丽编写,第7、8、10、11、12、13章由郭庚麒编写。全书由郭庚麒负责统稿,周江协助书稿的整理并准备了附录。
在本书的编写过程中,我们参阅了大量的资料,在此对所有的编著者表示衷心的感谢。由于编者时间仓促,水平有限,书中不足之处敬请批评指正。
文摘 插图:

决软件危机的一个重要方法。由此,软件工程成为了计算机科学技术中的一个新领域,它从管理和技术两方面研究如何更好地开发和维护计算机软件,有效地缓解了软件危机所引发的种种问题。
1.2.3 软件工程的概念
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。
软件工程过程是为了获得好的软件产品,在软件开发工具的支持下,由软件开发者即软件工程师完成的一系列软件工程活动。软件工程过程通常包含以下四种基本活动:
1)软件需求规格说明。确定被开发软件的功能及性能指标,给出软件运行的约束。
2)软件开发。开发出满足软件需求规格说明的软件。
3)软件确认。确认软件能够满足客户提出的要求。
4)软件维护。为满足用户对软件提出的新的要求,软件必须在使用中不断维护,以适应用户。
事实上,软件工程过程是一个软件开发机构针对某类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响软件产品的质量。
1.2.4 软件工程的原则
软件工程的目的是提高软件生产率,提高软件质量,降低软件成本。为了达到这个目的,在软件的开发过程中必须遵循以下软件工程原则。
(1)抽象
抽取事物最基本的特性和行为,忽略非基本细节。采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性。
(2)信息隐蔽
将模块设计成“黑箱”,实现细节隐藏在模块内部,不让模块的使用者直接访问,这就是所谓信息封装(使用与实现分离)的原则。使用者只能通过模块接口访问模块中封装的数据。
(3)模块化
模块是程序中在逻辑上相对自主的成分,是独立的编程单位,应有良好的接口定义。如C语言程序中的函数过程,c++语言程序中的类。模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。
(4)局部化
在一个物理模块内集中逻辑上相互关联的计算机资源,。保证模块之间有松散的耦合,模块内部有较强的内聚,这有助于控制软件的复杂性。
(5)确定性
软件开发过程中所有概念的表达应是确定的、无歧义的、规范的。这样有助于人们在交流时不会产生误解、遗漏,保证整个开发工作的协调一致。
(6)一致性