软件生存周期(software life circle)又称软件生命期,生存期。它是指从形成软件开发概念开始,到软件投入使用,再到软件失去价值而消亡的整个过程。
软件生存周期过程,是规定了获取,供应,开发,操作和维护软件时,要实施的过程,活动和任务(见下文)。它旨在提供一个公共的框架,方便使用“相同的语言”(可理解为相同的标准,规则)在自己的环境中创作和管理软件。
软件生存周期模型
从上文也应该知道了,软件生存周期模型是选取了软件生存周期过程中的部分活动。因为在实际软件开发过程中,不能一味地照搬模板,而是要根据项目和应用的性质,采用合适的方法与工具,对软件进行开发和维护。由此催生了各种软件生存周期模型。
下方的所有图片都是来自老师给的PPT截图,不是原创。
瀑布模型特点:
瀑布模型缺点:
基于用户的需求和实际产品不相符的情况,那就出现了一种模型叫做原型模型。
原型模型特点:
原型模型的缺点:
基于前面两个模型,你就知道这个模型是干啥的了。我如果能集合原型模型和瀑布模型的优点,不是很好?
RAD模型的基本思想是采用大量的人力物力对软件的每个组件进行开发,然后集成成最终的产品交互给用户。
所以,RAD模型具有如下特点:
但是,RAD模型就完美了吗?
不是 ,RAD模型需要大量的人力和物力,软件开发过程不止注重技术更看重管理。如果有一个小组撂挑子,说我不干了,那么整个软件的开发不就得推迟?所以,RAD模型的这一个特点就不满足之前Boehm提出的开发人员应该小而精的观点。
上面所述的模型都有一个显著的特征,即都是一次性交付给用户,这样做是具有风险的,因为技术有革新,市场有变化,当你的产品开发出来之后,可能就不符合时代的需求了。所以,又有另外的模型被相继地提出。
增量模型的特点:
但是增量模型有缺点没有?
还是有的,我们要考虑增加一个增量时是否对原来的软件造成影响,如果影响过大,那么这个增量反而不好。
但是,采用增量模型是可取的,为了规避开发不合适的增量,那么就得在设计上话功夫,但是这种牺牲是值得的。
螺旋模型的特点:
螺旋模型的缺点:
螺旋模型是风险驱动的,项目越大,风险越大。原型进行风险分析是需要代价的,如果砸在风险分析的钱太多,那么就可能导致项目终止。所以,螺旋模型适用于内部开发。
RUP模型相当复杂,我简单写写。RUP可以看做是一个二维的图。横向划分了四个阶段:初始,细化,构造,交付。纵向是若干工作流。
RUP的特点为迭代式增量开发,用例驱动,以体系架构为中心。如果体系架构做得不好,迭代式开发就不好开展。
RUP的一个缺点就是整个模型比较麻烦,不好操作。想了解更多,可以参考百度百科RUP。
总之,针对不同的开发应用场景,应当采用合适的模型进行开发。
点此到顶部TOP