配套资源:电子课件
本书特色:
1)力求通俗、易懂,尽量使枯燥的内容变得有趣,因而在叙述软件工程技术和方法上增加了趣味性、故事性和情节性。
2)尽量将难点分散,避开高深的知识,并使全书在叙述上有节奏感,增强初学者学习的信心。
3)理论结合实际,每一章都有案例,使理论不抽象、技术能“落地”。
4)增强实用性。书中既有案例又列出了大量的实际题目,增强读者学习的牢固性,使其在其他学科的学习和实践中仍然有参考意义。
5)提供140个具有实际意义的软件工程课程设计题目,除了电子课件之外还提供上课指导。
本书教学资源,样书申请可添加微信13146070618索取
本书是软件工程的入门教材,内容实用、浅显。全书分8章,第1章软件工程概述介绍了软件的生命周期、软件工程的定义及软件开发模型等概念,第2章~第6章分别是软件需求分析、软件系统的设计、软件的编程实现、软件的测试及维护以及软件项目管理,这5章包括了软件工程的核心内容,也是用工程方法开发一个软件系统必须要经历的工作。前6章是软件工程课程教学的基本要求,每章都有案例和习题。第7章精选案例解读介绍了当代6个成功经典案例供读者品味和欣赏,这些案例是开发者的开发经验结晶,具有很强的时代感和学习价值。第8章软件工程课程设计供安排有课程设计的学校选用。本书以软件开发过程为主线,介绍了软件工程的基本原理、概念和技术方法,既适合本科生、专科生或高职类院校作教材使用,也可供对该学科感兴趣的读者阅读。
配套资源:电子课件
本书特色:
1)力求通俗、易懂,尽量使枯燥的内容变得有趣,因而在叙述软件工程技术和方法上增加了趣味性、故事性和情节性。
2)尽量将难点分散,避开高深的知识,并使全书在叙述上有节奏感,增强初学者学习的信心。
3)理论结合实际,每一章都有案例,使理论不抽象、技术能“落地”。
4)增强实用性。书中既有案例又列出了大量的实际题目,增强读者学习的牢固性,使其在其他学科的学习和实践中仍然有参考意义。
5)提供140个具有实际意义的软件工程课程设计题目,除了电子课件之外还提供上课指导。
本书教学资源,样书申请可添加微信13146070618索取
本书是软件工程的入门教材,内容实用、浅显。全书分8章,第1章软件工程概述介绍了软件的生命周期、软件工程的定义及软件开发模型等概念,第2章~第6章分别是软件需求分析、软件系统的设计、软件的编程实现、软件的测试及维护以及软件项目管理,这5章包括了软件工程的核心内容,也是用工程方法开发一个软件系统必须要经历的工作。前6章是软件工程课程教学的基本要求,每章都有案例和习题。第7章精选案例解读介绍了当代6个成功经典案例供读者品味和欣赏,这些案例是开发者的开发经验结晶,具有很强的时代感和学习价值。第8章软件工程课程设计供安排有课程设计的学校选用。本书以软件开发过程为主线,介绍了软件工程的基本原理、概念和技术方法,既适合本科生、专科生或高职类院校作教材使用,也可供对该学科感兴趣的读者阅读。
目 录
前言
第1章 软件工程概述1
1.1 软件分类和演化1
1.1.1 软件的起源和分类1
1.1.2 软件工程的产生和发展4
1.2 软件的生命周期8
1.2.1 计划阶段9
1.2.2 分析和定义阶段10
1.2.3 设计阶段11
1.2.4 实现阶段12
1.2.5 测试阶段13
1.2.6 运行和维护阶段14
1.3 软件开发模型15
1.3.1 瀑布模型15
1.3.2 演化模型16
1.3.3 螺旋模型17
1.3.4 喷泉模型18
1.3.5 其他模型18
1.4 实用案例23
1.4.1 出卷系统的开发模型选择23
1.4.2 住宅安全系统SafeHome的开发
模型选择25
1.5 小结26
1.6 习题26
第2章 软件需求分析29
2.1 结构化需求分析方法29
2.1.1 数据流图及其画法30
2.1.2 数据词典及其描述38
2.1.3 功能说明41
2.2 原型化分析方法44
2.2.1 开发模型45
2.2.2 快速原型技术介绍48
2.2.3 用户界面开发51
2.3 面向对象建模及UML方法51
2.3.1 面向对象基本概念51
2.3.2 面向对象建模54
2.3.3 统一建模语言UML63
2.4 需求规约说明书(SRS)67
2.4.1 SRS的内容67
2.4.2 SRS的作用68
2.4.3 SRS的特征69
2.4.4 SRS的构造原则70
2.4.5 SRS的评审71
2.5 案例:图书馆系统的软件需求
分析72
2.5.1 确定系统参与者72
2.5.2 开发系统场景73
2.5.3 绘制系统用例图73
2.5.4 描述用例74
2.6 小结75
2.7 习题76
第3章 软件系统的设计80
3.1 软件设计的基本原理80
3.1.1 软件设计的概念和原则83
3.1.2 软件概要设计90
3.1.3 软件详细设计97
3.2 结构化设计方法107
3.2.1 软件结构图的组成108
3.2.2 软件结构图的画法109
3.3 面向对象的设计方法115
3.3.1 面向对象设计过程115
3.3.2 面向对象设计方法118
3.4 其他设计方法介绍130
3.4.1 面向方面程序设计130
3.4.2 面向Agent的设计方法131
3.4.3 泛型程序设计131
3.4.4 面向构件的技术132
3.4.5 敏捷方法132
3.4.6 Rational统一过程132
3.4.7 功能驱动开发模式FDD132
3.4.8 极端编程133
3.5 实用案例133
3.5.1 SafeHome软件的结构设计133
3.5.2 基于UML的网络管理平台的
分析与设计136
3.6 小结140
3.7 习题141
第4章 软件的编程实现147
4.1 编程语言的选择和分类147
4.1.1 程序设计语言的分类147
4.1.2 机器语言148
4.1.3 汇编语言150
4.1.4 高级语言150
4.1.5 非过程语言151
4.2 编程要求151
4.2.1 程序语句结构的构成原则152
4.2.2 程序可读性和易理解性的要求153
4.2.3 数据说明的要求155
4.2.4 输入和输出应遵守的原则155
4.3 面向对象的编程语言介绍156
4.3.1 Smalltalk语言156
4.3.2 Eiffel语言156
4.3.3 C 语言156
4.3.4 Delphi语言157
4.3.5 Java语言158
4.3.6 C#语言158
前 言 人类已进入大数据时代,这是一个信息爆炸的时代,这都应该归因于计算机处理能力的提高,而计算机中起主导作用的是软件。稍加注意就会发现,软件无处不在,软件工程无处不在。毫不夸张地说,软件在技术进步方面起到了决定性的作用,国家财政收入中与软件产业的相关度越来越高,软件产业收入所占的比例也越来越高,软件及软件产业发展的速度超出人们的想象,2014年我国的软件产业总收入达到了3.7万亿元。与此同时,与软件产业紧密相关的软件工程也得到了很大的重视,软件工程作为一门学科虽然只有40多年的时间,但从它诞生之日起就显示出极强的生命力。 为适应软件工程学科的快速发展,2011年国务院学位委员会及教育部将软件工程设立为国家一级学科,这既为软件工程学科发展指明了方向,也说明软件工程的地位和作用十分重要。软件工程涉及的内容广泛、丰富,无论广度还是深度,其他学科都难以覆盖。 本书作者长期从事软件工程教学和科研,在参考了大量同类文献之后,按学生的接受程度、学科的基本内容和要求编写了本书。本书是软件工程的入门教材,适合初学者作为软件工程课程的教材使用,也适用于对软件工程学科感兴趣的读者阅读。软件工程是快速发展的学科,因而,虽然本书是基础教程但在书中也尽量对发展中的新技术有所反映。 本书的特点如下。 1)力求通俗、易懂,尽量使枯燥的内容变得有趣,因而在叙述软件工程技术和方法上增加了趣味性、故事性和情节性。 2)尽量将难点分散,避开高深的知识,并使全书在叙述上有节奏感,增强初学者学习的信心。 3)理论结合实际,每一章都有案例,使理论不抽象、技术能“落地”。 4)增强实用性。书中既有案例又列出了大量的实际题目,增强读者学习的牢固性,使其在其他学科的学习和实践中仍然有参考意义。 全书共8章,第1章是软件工程概述,介绍了软件的定义、起源和分类以及软件工程的产生和定义,讨论了软件生命周期的概念,叙述了常见的软件开发模型。第2章阐述了软件需求分析方法,包括结构化分析方法、原型化分析方法、面向对象建模及UML方法,以及软件需求规约说明书(SRS)的构造和要求。第3章是软件系统的设计,介绍了软件设计的基本原理,讲述了结构化设计方法和面向对象的设计方法,简要介绍了一些新方法。第4章是软件的编程实现,包括编程语言的选择、分类和编程要求,介绍了常用的面向对象的编程语言。第5章是软件的测试及维护,叙述了软件测试的基本原理、测试用例设计及面向对象的测试方法,讲述了软件维护的基本原理和软件再工程的内容。第6章是软件项目管理,包括软件范围的确定、软件资源的考虑、软件成本估算模型和技术,以及如何使用甘特图和PERT图来安排软件工程项目进度。第7章是从公开资料中整理而成的典型软件项目案例,具有很高的指导价值。第8章是软件工程课程设计的内容、基本要求、考核标准以及交付文档的要求和格式,这一章给出了140个具有实际意义的软件工程课程设计题目,可作为课程设计的目标、功能和性能要求。 本书配有习题解答、电子教案等教辅材料。使用本书的课程建议授课学时为40~48学时,课程设计可安排2周。 本书由华北电力大学宋雨编著。在编写过程中得到了多位同仁的支持和帮助,在这里一并表示感谢。由于时间仓促,书中难免存在不妥之处,请读者批评指正,并提出宝贵意见。 编 者
随手扫一扫~了解多多