目录
-
第一章 概论
-
1.1软件工程四个阶段
- 1. 程序设计阶段
- 2. 软件=程序+文档阶段
- 3. 软件工程阶段
- 4. 第4代技术阶段
-
1.2软件危机
- 概念:软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
- 软件危机主要表现在:
1、如何开发软件以满足对软件日益增长的需求;
2、如何维护数量不断增长的已有软件。
3、软件成本在计算机系统成本中所占的比例逐年上升
4、用户对已完成的软件系统不满意的现象经常发生;
- 软件危机产生的原因:
- 软件规模庞大,给软件的维护带来困难。
- 软件一般使用3~5年,在这段时间内很可能因为环境的改变、硬件的改变、技术方式的改变、需求的改变,需要及时的维护。
- 软件开发技术的落后。
- 软件开发人员忽视需求分析、维护阶段的重要性也是造成软件危机的原本。
1.3什么是软件工程
- 软件工程是软件开发、运行、维护和引退的系统方法。
- 软件工程是指导计算机软件开发和维护的工程学科。
- 软件工程三要素:方法、工具、环境
1.4软件生命周期
- 由软件计划、软件开发和软件运行维护三个时期组成;
- 软件计划时期:问题定义、可行性研究、需求分析三阶段。
- 软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。
- 软件运行过程中需要不断地进行维护,使软件持久满足用户需要。
1.5 软件开发模型
1、瀑布模型
2、快速原型模型
3、增量模型
4、喷泉模型
5、螺旋模型
6、统一过程
瀑布模型
规定了各项关键软件工程活动,自上而下、相互衔接、逐级下落,如同瀑布的固定次序。
特点是:
- 软件周期的顺序性、只有前一阶段完成后,后一阶段才开始
- 尽可能推迟软件的编码
- 保证质量:每个阶段都要完成规定的文档,每个阶段都要把完成的文档复审
- 里程碑或基线驱动,或者说文档驱动。
- 过程逆转性很差或者说不可逆转
瀑布模型:规范的、文档驱动的方法。
:是一直唯一被广泛采用的生命周期模型,现在是应用最广泛的过程模型。
优点:可以强迫开发人员采用规范的方法;严格的规定每个阶段必须提交的文档;每个阶段的产品必须经过质量保证。
缺点:过于理想化;时间长;需要推迟实现。
快速原型模型
是快速开发一个可以运行的原型系统,
增量模型
是遵循递增方式来进行软件开发的
先开发其中的核心模块(或子系统),然后再开发其他模块(或子系统),这样一个个模块(或子系统)地增加上去,就像搭积木一样,直至整个系统开发完毕为止。
特点:
任务或功能模块驱动,可以分阶段提交产品
分阶段提交产品
喷泉模型
适用于面向对象方法。
主张分析和设计过程的重叠、不严格区分
螺旋模型
每经过一个周期,系统就细化完善一些。
RUP(统一过程)
统一过程 RUP(Rational Unified Process)使用统一建模语言UML。
采用用例驱动和架构优先的策略。
采用迭代增量建造方法。