《软件工程教程》简介

更新于 2026年10月10日 版权声明

《软件工程教程》这本书是由.吴迪,马宏茹,丁万宁主编创作的,《软件工程教程》共有324章节

1

前言

软件工程是指导计算机软件开发和维护的学科,是软件工程专业、计算机科学与技术专业和相关专业的主干课程,也是软件从业人员必不可少的专业知识。目前,软件工程的理论和技
阅读
2

目录

目 录 前言 第一部分:软件工程引论。 第二部分:传统软件工程。 第三部分:面向对象软件工程。 第四部分:软件管理与项目实例。 第一部分 软件工程引论 第1章 
阅读
3

第一部分 软件工程引论

(https://www.daowen.com)
阅读
4

第1章 软件工程概述

学习目标 ·掌握软件的定义与特性; ·了解软件的分类; ·掌握软件危机产生的原因、表现形式和消除软件危机的途径; ·熟悉软件工程的形成和发展; ·理解软件工程的
阅读
5

1.1 软件

当计算机的应用日益普及,软件日益复杂,规模日益增大,人们开始意识到软件并不仅仅等于程序。程序是人们为了完成特定的功能而编制的一组指令集,它由计算机的语言描述,并
阅读
6

1.1.1 软件的意义和特性

要想理解软件的真正含义,首先需要了解软件有哪些特征。我们应从软件的本质特性和软件的生产特性等方面剖析软件的特性。 1.软件的本质特性 (1)复杂特性。软件是个庞
阅读
7

1.1.2 软件的分类

由于软件产品各式各样、种类繁多,要对软件产品进行分类,并不是件容易的事情。按照不同的标准,会有不同的分类结果。比如,按照软件产品功能的不同,可以分为系统软件、支
阅读
8

1.2 软件危机

软件危机是指在计算机软件开发和维护时所遇到的一系列问题。软件危机主要包含两方面的问题:一是如何开发软件以满足社会对软件日益增长的需求;二是如何维护数量不断增长的
阅读
9

1.2.1 软件危机产生的原因

20世纪60年代中期以前,计算机刚刚投入使用,通用硬件相当普遍,软件却是为每个具体应用而专门设计和编写的。这时的软件通常是规模比较小的程序,除了程序清单以外,没
阅读
10

1.2.2 软件危机的表现形式

具体地说,软件危机的表现形式可以概括如下。 (1)软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又
阅读
11

1.2.3 消除软件危机的途径

为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。软件工程技术从技术和管理两方面来研究如何更好地开发和维护计算机软件。因此,要解决软件危机
阅读
12

1.3 软件工程

计算机软件是信息化的重要组成部分,已形成了独立的产业,成为国民经济新的增长点和重要支柱。如何才能开发出用户满意的软件?如何以较低的成本开发出高质量的软件?怎样才
阅读
13

1.3.1 软件工程的形成与发展

自1968年在北大西洋公约组织NATO召开的计算机科学会议上,Fritz Bauer首先提出了“软件工程”概念以来,人们一直在寻求更先进的软件开发的方法与技术。
阅读
14

1.3.2 软件工程的定义

为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验且被证明正确的管理技术和方法结合起来,这就
阅读
15

1.3.3 软件工程的目标和原则

软件工程要达到的基本目标包括以下六方面。 (1)达到要求的软件功能。 (2)取得较好的软件性能。 (3)开发出高质量的软件。 (4)付出较低的开发成本。 (5)
阅读
16

1.3.4 软件工程知识体系及知识域

软件工程作为一门学科,在取得对其核心的知识体系的共识方面已经达到了一个重要的里程碑。2005年9月,ISO/EC JTCI/SC7正式发布为国际标准,即ISO/
阅读
17

1.4 软件生存周期

(https://www.daowen.com)
阅读
18

1.4.1 软件生存周期的定义

任何事物都有一个从产生到消亡的过程,事物从其孕育开始,经过诞生、成长、成熟、衰退,到最终灭亡,就经历了一个完整的生存周期。生存周期是世界上任何事物都具备的普遍特
阅读
19

1.4.2 软件生存周期各个阶段的任务

软件生存周期一般由软件定义、软件开发和软件维护三个时期组成。 (1)软件定义时期。软件定义时期确定软件开发工程必须完成的总目标,确定工程的可行性,导出实现工程目
阅读
20

1.5 软件过程模型

软件生存期模型也称为软件过程模型,是从软件项目需求定义直至软件运行维护为止,跨越整个生存周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架。到目前
阅读
21

1.5.1 瀑布模型

在20世纪80年代之前,瀑布模型(Waterfall model)一直是唯一被广泛采用的软件生存期模型。瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑
阅读
22

1.5.2 快速原型模型

为了克服瀑布模型的缺点,可以在需求阶段或者设计阶段平行地进行几次快速建立原型的工作。快速原型模型(Rapid Prototype Model)的基本思想是快速建
阅读
23

1.5.3 增量模型

增量模型(Incremental model)也称为渐增模型,是Mills等人于1980年提出来的。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计
阅读
24

1.5.4 螺旋模型

在软件开发过程中必须及时识别和分析风险,并且采取适当措施以减少或清除风险的危害。1988年,Boehm最早提出了螺旋模型(Spiral model),该模型将瀑
阅读
25

1.5.5 喷泉模型

喷泉模型(Fountain Model)是典型的面向对象软件开发模型,着重强调不同阶段之间的重叠,认为面向对象的软件开发过程不需要或不应该严格区分不同的开发阶段
阅读
26

1.5.6 统一过程

统一软件开发过程(Rational Unified Process,RUP)模型是基于统一建模语言(Unified Modeling Language,UML)
阅读
27

1.5.7 基于构件的开发模型

基于构件的开发是指利用预先包装的构件来构造应用系统。构件可以是组织内部开发的,也可以是现有的商业成品构件(Commercial Off-The-Shelf,CO
阅读
28

1.5.8 敏捷软件开发模型

1.敏捷过程概述 随着计算机技术的迅猛发展和全球化进程的加快,软件需求常常发生变化,强烈的市场竞争要求更快速地开发软件,同时软件也能够以更快的速度更新。传统的方
阅读
29

1.5.9 几种模型之间的关系

(1)瀑布模型与RUP模型之间的关系 在宏观上,瀑布模型是静态模型,RUP模型(RUP型是迭代模型的一种)是动态模型。RUP模型的每一次迭代,实际上都需要执行一
阅读
30

1.5.10 软件过程模型的选择

1.软件过程模型选择需要考虑的因素 各种软件过程模型反映了软件生存周期表现形式的多样性。在生存周期的不同阶段也可采用不同的软件过程模型。在具体的软件开发过程中,
阅读