喷泉模型【一种过程模型,同时支持面向对象开发】
在面向对象的方法中,分析模型和设计模型采用相同的符号标示体系,各阶段之间没有明显的界限,而且常常重复、迭代地进行。
“喷泉”一词体现了面向对象方法的迭代和无间隙性。
迭代是指各阶段需要多次重复。
例如,分析和设计阶段常常需要多次、重复进行,以更好地实现需求。
无间隙性是指各个阶段之间没有明显的界限,并常常在时间上互相交叉,并行进行。
- 瀑布模型无迭代
喷泉模型主要用于面向对象的软件项目,软件的某个部分通常被重复多次,相关对象在每次迭代中随之加入渐进的软件成分。
基于组件的开发模型
- 其实对于组件来说,它和增量有很多的相似之处。
- 对于组件这个知识,我们可能有点陌生,但是对于函数的调用、封装来说,你是否熟悉。
- 它可以是自己开发的也可以是别人开发的,关键是在我们需要的时候可以用就行。
- 就像你买了一辆车,有一天它坏了,你拿去维修店,师傅告诉你,是轮胎坏了,那你只需要换一个轮胎,也就是这里的组件即可,谁会为了一个轮胎去把整个车都换了呢?
- 这就是组件开发得以存在的魅力,很方便快捷!
- 其实在某个方面,对于硬件来说,就是各个零件
基于组件的开发模型使用现有的组件以及系统框架进行产品开发
- 由于现有组件大多已经历实际应用的反复检验,因此其可靠性相对新研发组件高出很多。
- 实际上,从最简单的应用程序到极度复杂的操作系统,现在的新产品开发很少有完全从零开发的,都或多或少地使用了现有的组件或系统开发框架
- 比如大型游戏的开发常常使用现有的图形引擎、声音引擎以及场景管理模块等。
- 使用现有的组件开发新产品不仅极大地提高了产品开发效率,同时由于组件常常是经历了时间考验的,因此产品的质量也得到了提高。
- 在确定需求之后,开发人员开始从现有的组件库中筛选合适的组件,并分析组件功能。
- 组件库可能是组织内部开发的,也可能是商业授权组件,后者常常需要支付费用并且不能任意修改和传播,但也有一些开源组织(如著名的GNU)或自由开发人员提供免费并可自由修改和传播的组件。
- 在分析组件之后,开发人员可能适当修改需求来适应现有组件,也可能修改组件或寻找新的组件。
- 组件筛选完成之后,开发人员需要根据需求设计或使用现有的成熟开发框架复用这些组件,一些无法利用现有组件的地方,则需要单独开发,新开发的组件在经历时间考验之后也会加入组件库中。最后将所有组件集成在一起,进行系统测试。
基于组件的开发模型充分体现了软件复用的思想,降低了开发成本和风险,并加快了产品开发速度。随着技术的发展,现在的软件系统越来越庞大,完全从零开发已近乎不可能,基于现有组件或系统开发已成为一种趋势。