描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787301159132丛书名: 高等院校计算机专业及专业基础课系列教材
内容简介
本书是在北京大学计算机科学技术系使用的《软件工程》(第二版)教材的基础上,结合IEEE*发布的软件工程知识体系SWEBoK(software Engineering Body of Knowledge)和IEEE/AcM软件工程学科小组公布的软件工程教育知识体系SEEK(Software Engineering Education Knowledge),由主讲、主考教师编写而成的。本书既是北京大学计算机科学系本科生指定教材,也可作为其他高校的本科生教材及软件从业人员的参考书。
本书注重基础知识的系统性,并注重选材的先进性及知识的应用,有助于提高读者求解软件的能力,特别是提高读者直接参与软件开发实践和工程管理的能力。
本书注重基础知识的系统性,并注重选材的先进性及知识的应用,有助于提高读者求解软件的能力,特别是提高读者直接参与软件开发实践和工程管理的能力。
目 录
章 绪论
1.1 软件工程概念的提出与发展
1.2 软件开发的本质
1.3 本章小结
习题一
第二章 软件过程
2.1 软件生存周期过程
2.1.1 基本过程
2.1.2 支持过程
2.1.3 组织过程
2.1.4 软件生存周期过程以及角色和关系
2.2 软件生存周期模型
2.2.1 引言
2.2.2 瀑布模型
2.2.3 增量模型
2.2.4 演化模型
2.2.5 螺旋模型
2.2.6 喷泉模型
2.3 软件项目生存周期过程的规划与控制
2.3.1 概念:软件项目生存周期过程
2.3.2 软件项目生存周期过程的规划
2.3.3 软件项目生存周期过程的监控
2.4 本章小结
习题二
第三章 软件需求与软件需求规约
3.1 需求与需求获取
3.1.1 需求定义
3.1.2 需求分类
3.1.3 需求发现技术
3.2 需求规约(SRS)及其格式
3.2.1 定义
3.2.2 基本性质
3.2.3 需求规约(草案)格式
3.2.4 表达需求规约(规格说明书)的三种风格
3.2.5 需求规约的作用
3.3 本章小结
习题三
第四章 结构化分析方法
4.1 基本术语
4.2 模型表示
4.3 建模过程
4.4 实例研究
4.5 应用中注意的问题
4.6 需求分析的输出
4.7 需求验证
4.8 本章小结
习题四
第五章 结构化设计
5.1 总体设计的目标及其表示
5.2 总体设计
5.2.1 数据流图的类型
5.2.2 变换设计与事务设计
5.2.3 模块化及启发式规则
5.2.4 实例研究
5.3 详细设计
5.3.1 结构化程序设计
5.3.2 详细设计工具
5.4 结构化方法小结
习题五
第六章 面向对象方法——UML
6.1 表达客观事物的术语
6.1.1 类与对象
6.1.2 接口
6.1.3 协作
6.1.4 用况
6.1.5 主动类
6.1.6 构件
6.1.7 制品
6.1.8 节点
6.2 表达关系的术语
6.2.1 关联
6.2.2 泛化
……
第七章 面向对象方法——RUP
第八章 软件测试
第九章 软件工程项目管理概述
第十章 软件开发工具与环境
第十一章 内容总结
参考文献
1.1 软件工程概念的提出与发展
1.2 软件开发的本质
1.3 本章小结
习题一
第二章 软件过程
2.1 软件生存周期过程
2.1.1 基本过程
2.1.2 支持过程
2.1.3 组织过程
2.1.4 软件生存周期过程以及角色和关系
2.2 软件生存周期模型
2.2.1 引言
2.2.2 瀑布模型
2.2.3 增量模型
2.2.4 演化模型
2.2.5 螺旋模型
2.2.6 喷泉模型
2.3 软件项目生存周期过程的规划与控制
2.3.1 概念:软件项目生存周期过程
2.3.2 软件项目生存周期过程的规划
2.3.3 软件项目生存周期过程的监控
2.4 本章小结
习题二
第三章 软件需求与软件需求规约
3.1 需求与需求获取
3.1.1 需求定义
3.1.2 需求分类
3.1.3 需求发现技术
3.2 需求规约(SRS)及其格式
3.2.1 定义
3.2.2 基本性质
3.2.3 需求规约(草案)格式
3.2.4 表达需求规约(规格说明书)的三种风格
3.2.5 需求规约的作用
3.3 本章小结
习题三
第四章 结构化分析方法
4.1 基本术语
4.2 模型表示
4.3 建模过程
4.4 实例研究
4.5 应用中注意的问题
4.6 需求分析的输出
4.7 需求验证
4.8 本章小结
习题四
第五章 结构化设计
5.1 总体设计的目标及其表示
5.2 总体设计
5.2.1 数据流图的类型
5.2.2 变换设计与事务设计
5.2.3 模块化及启发式规则
5.2.4 实例研究
5.3 详细设计
5.3.1 结构化程序设计
5.3.2 详细设计工具
5.4 结构化方法小结
习题五
第六章 面向对象方法——UML
6.1 表达客观事物的术语
6.1.1 类与对象
6.1.2 接口
6.1.3 协作
6.1.4 用况
6.1.5 主动类
6.1.6 构件
6.1.7 制品
6.1.8 节点
6.2 表达关系的术语
6.2.1 关联
6.2.2 泛化
……
第七章 面向对象方法——RUP
第八章 软件测试
第九章 软件工程项目管理概述
第十章 软件开发工具与环境
第十一章 内容总结
参考文献
在线试读
章 绪论
正确认识软件开发,是从事软件开发实践和软件工程项目管理的思想基础。
1.1 软件工程概念的提出与发展
软件工程这一术语首次出现在1968年的NAT0会议上。20世纪60年代以来,随着计算机的广泛应用,软件生产率、软件质量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为“软件危机”。
当时,软件开发虽然有一些工具支持,例如编译连接器等,但基本上还是依赖开发人员的个人技能,缺乏可遵循的原理、原则、方法体系以及有效的管理,使软件开发往往超出预期的开发时间要求和预算。
一般而言,工程是将科学理论和知识应用于实践的科学。在理解“工程”这一概念的基础上,可以把软件工程定义为:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
软件工程概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决出现的“软件危机”。
软件工程作为一门学科至今已有30余年的历史,其发展大体可划分为两个时期。
20世纪60年代末到80年代初,软件系统的规模、复杂性以及在关键领域的广泛应用,促进了软件的工程化开发和管理。这一时期主要围绕软件项目,开展了有关开发模型、开发方法和支持工具的研究。主要成果体现为:提出了瀑布模型,试图为开发人员提供有关活动组织方面的指导;开发了诸多过程式语言(例如PASC’A,L语言、C语言、Ada语言等)和开发方法(例如Jackson方法、结构化方法等),试图为开发人员提供好的需求分析和设计手段,并开发了一些支持工具,例如调试工具等。在这一时期,开始出现各种管理方法,例如费用估算、文档复审等;开发了一些相应支持工具,例如计划工具、配置管理工具等。因此这一时期的主要特征可概括为:前期主要研究系统实现技术,后期则开始关注软件质量和软件工程管理。
……
正确认识软件开发,是从事软件开发实践和软件工程项目管理的思想基础。
1.1 软件工程概念的提出与发展
软件工程这一术语首次出现在1968年的NAT0会议上。20世纪60年代以来,随着计算机的广泛应用,软件生产率、软件质量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为“软件危机”。
当时,软件开发虽然有一些工具支持,例如编译连接器等,但基本上还是依赖开发人员的个人技能,缺乏可遵循的原理、原则、方法体系以及有效的管理,使软件开发往往超出预期的开发时间要求和预算。
一般而言,工程是将科学理论和知识应用于实践的科学。在理解“工程”这一概念的基础上,可以把软件工程定义为:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
软件工程概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决出现的“软件危机”。
软件工程作为一门学科至今已有30余年的历史,其发展大体可划分为两个时期。
20世纪60年代末到80年代初,软件系统的规模、复杂性以及在关键领域的广泛应用,促进了软件的工程化开发和管理。这一时期主要围绕软件项目,开展了有关开发模型、开发方法和支持工具的研究。主要成果体现为:提出了瀑布模型,试图为开发人员提供有关活动组织方面的指导;开发了诸多过程式语言(例如PASC’A,L语言、C语言、Ada语言等)和开发方法(例如Jackson方法、结构化方法等),试图为开发人员提供好的需求分析和设计手段,并开发了一些支持工具,例如调试工具等。在这一时期,开始出现各种管理方法,例如费用估算、文档复审等;开发了一些相应支持工具,例如计划工具、配置管理工具等。因此这一时期的主要特征可概括为:前期主要研究系统实现技术,后期则开始关注软件质量和软件工程管理。
……
评论
还没有评论。