软件工程(5)--喷泉模型

简介: 软件工程(5)--喷泉模型

前言


这是基于我所学习的软件工程课程总结的第五篇文章。

迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。


       一般说来,使用面向对象方法学开发软件时,工作重点应该放在生命周期中的分析阶段。这种方法在开发的早期阶段定义了一系列面向问题的对象,并且在整个开发过程中不断充实和扩充这些对象。由于在整个开发过程中都使用统一的软件概念"对象",所有其他概念(例如功能、关系、事件等)都是围绕对象组成的,目的是保证分析工作中得到的信息不会丢失或改变,因此,对生命周期各阶段的区分自然就不重要、不明显了。分析阶段得到的对象模型也适用于设计阶段和实现阶段。由于各阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的,或者说是"无缝"连接的,这自然就很容易实现各个开发步骤的多次反复迭代,达到认识的逐步深化。每次反复都会增加或明确一些目标系统的性质,但却不是对先前工作结果的本质性改动,这样就减少了不一致性,降低了出错的可能性。


       喷泉模型就是典型的面向对象的软件过程之一。 (摘自 《软件工程导论》第六版   张海藩 牟永敏 著,有删改)


正文

1.喷泉模型(Fountain model)

  • 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程.

软件开发早期定义对象,整个开发过程充实和扩充对象.

为了避免使用喷泉模型开发软件时开发过程过分无序,应该把一个线性过程作为总目标。

各个阶段使用统一的概念和表示方法,生命周期各阶段无缝连接(面向对象方法在概念和表示方法上的一致性,保证了各项开发活动之间的无缝连接).

各个开发步骤多次反复迭代  


d2ac5c4eff44410ea75d9ba20b7a2dc5.jpg


2.喷泉模型的优点

  • 喷泉模型的各个阶段没有明显的界限,开发人员可以同步进行开发可以提高软件项目开发效率,节省开发时间适应于面向对象的软件开发过程。


3.喷泉模型的缺点

  • 由于喷泉模型在各个开发阶段是重叠的,在开发过程中需要大量的开发人员,因此不利于项目的管理。
  • 喷泉模型要求严格管理文档,使得审核的难度加大尤其是面对可能随时加入的各种信息、需求与资料的情况。


4.使用场合

面向对象开发(喷泉模型较好地体现了面向对象软件开发过程无缝迭代的特性,是典型的面向对象的软件过程模型之一) 。



目录
相关文章
|
架构师 Java 测试技术
【软件工程】为什么要选择软件工程专业?
【软件工程】为什么要选择软件工程专业?
387 0
|
6月前
|
安全 Linux 测试技术
软件工程之维护阶段
软件工程之维护阶段
252 0
|
敏捷开发 测试技术 项目管理
软件工程
一、软件工程 软件工程是一门关于开发、维护和管理软件的学科。它涵盖了软件开发的整个生命周期,包括需求分析、设计、编码、测试、部署和维护等各个阶段。 软件工程的目标是通过系统化的方法和工具来提高软件的质量、可靠性、可维护性和可重用性,以满足用户的需求和预期。它强调在软件开发过程中的规范化、标准化和可管理性,以提高团队的协作效率和项目的成功率。 软件工程包括以下几个主要领域: 1. 软件需求工程:负责收集、分析和定义软件系统的需求,并与用户和相关利益相关者进行沟通和协商。 2. 软件设计:负责将需求转化为具体的软件设计方案,包括系统架构、模块设计、接口设计等。 3. 软件编码:负责根据设计方案进行
374 0
|
开发工具
软件工程总结
软件工程总结
79 0
|
项目管理
软件工程——视频初总
软件工程——视频初总
97 0
|
算法 中间件 测试技术
【总结】软件工程(视频结束)
【总结】软件工程(视频结束)
软件工程(4)--螺旋模型
软件工程(4)--螺旋模型
419 0
软件工程(4)--螺旋模型
|
Java uml
【软件工程】——总结
【软件工程】——总结
86 0
【软件工程】——总结
|
测试技术
软件工程初识
随着微电子技术的进步,计算机硬件,在计算速度、存储容量、外部设备等方面都有了突飞猛进的发展,与此同时,计算机软件的研制与应用也必须跟得上硬件飞速发展的节奏。
软件工程初识