周 扬 渤海大学信息学院 辽宁锦州 121000
【文章摘要】
在第一款软件开发过程模型,瀑布模型成功开发与应用之后,随着这些年的需求与发展,快速原型化模型等模型被相继推出。本文在对每种模式推出背景进行阐述的基础上,对各种模型的应用情况加以分析。并根据对软件开发模型的相关因素进行分析,从而去探讨软件开发模型的未来发展方向。
【关键词】
软件开发;过程模型;应用与发展
1 软件开发过程模型的推出背景
1.1 瀑布模型的推出背景
早期在软件开发过程中,具有较强的个性化特征,存在严重的不规范及随意现象。很多人单纯的把软件与程序进行等同来看,而忽略了程序之外的文档材料,造成开发成本上升、软件质量难以得到保证等软件危机的产生。这时,人们便开始对软件开发的方法进行探究,并在1968 年首次提出软件工程的概念,其将各种工程项目中的原理与方法在软件开发与维护中加以应用。在此背景下,1970 年,第一种软件开发过程模型,瀑布模型被推出。
1.2 快速原型化模型的推出背景
虽然瀑布模型在推出之后,得到有效的应用,但是灵活度方面还存在着较多的不足之处,这种需要根据阶段顺序来进行操作的瀑布模型,必须在前一段工作完成之后,才能够开始下一段的工作。而在软件开发中,需求分析具有极为重要的作用,但因其在开发前期的需求较为模糊、存在变化,因此在分析阶段未完成分析之前,下阶段的概要设计就无法进行,因此按照此种模型来进行软件开发,还存在严重的不足之处。因此为了解决这一问题,快速原型化模型被开发与推出。
1.3 增量模型的推出背景
对于上述两种模型来说,其在进行软件开发时,都是根据模型的规定来加以完成,需要对开发过程的各项任务做到完成,才能开发出一个完整的软件。但是,由于软件市场竞争日趋激烈,用户使用过程中,对软件需求的提升,造成原先开发出来软件中的很多问题得以显现。另外,当一个软件产品提供给客户之后,其需要花费大量的时间来进行学习,从而无法在较短的时间内对新产品加以应用。并且这种产品在完整提交之后,就无法进行修改与评价。这样一来,在进行软件开发时,所承受的风险因素就会加大,相继造成开发成本上升,周期延长,客户满意度下降等问题的出现,为了解决这一系列的问题,人们推出了增量模型。
1.4 螺旋模型的推出背景
软件开发当中,从开始到结束,一直有较多风险的存在,并且伴随着开发规模,开发复杂程度的加大,软件开发所承担的风险也就越大,同时具有很多的不确定因素。但是在软件开发过程中,风险一旦出现,就会给整个开发工作来毁灭性的后果。因此,在软件开发过程中,如何对风险进行识别、预防、控制与规避,是软件开发过程需要考虑的问题。基于这一背景之下,具有风险分析的螺旋模型被应用与推出。
1.5 构件组装模型的推出背景
面向对象技术应用之前,在软件开发过程中,很少会对软件构件的重复使用进行探讨。因此在软件开发时,所有的工作都必须要从头做到结束。这样的开发,带来的时间成本与人工成本较高,并具有出错的可能性。因此,有研究者提出,要是在新的软件开发过程中,原先软件开发中的内容可以在新软件开发时得以应用,从而能很好的节约时间成本与开发成本,并能够在软件开发质量上有所保证。另外随着054
软件开发
Software Development
电子制作
面向对象的出现,这种构件组装模型被成功的推出与应用。
2 软件开发过程模型的应用
2.1 瀑布模型的应用
根据软件的生命周期,在瀑布模型应用时,能够将软件开发流程分为问题定义、可行性研究、需求分析、概要设计、编码、测试、维护这7 个阶段。在软件开发过程中,这些阶段都是依次完成的,并且只有当上一阶段完成之后,才能够开启下一阶段的工作。瀑布模型要求软件开发每一个阶段都要做到对文档的提交,并严格要求软件工程师使用规范的方法来进行开发,从而做到对软件质量的有效保证。瀑布模型的成功应用,成功的摆脱了软件开发的危机,有效解决软件开发过程中存在的不规范性与随意性,从而在应用时取到良好的效果。
2.2 快速原型化模型的应用
快速原型化模型在应用时,能够做到对客户模糊不清及变化的问题做到妥善的解决,更是对瀑布模型存在不足之处的完善与补充。原先的瀑布模型在应用时, 是静态完成整个开发过程,将用户需求进行固定与简单化,从而呈现出一种理想的状态。而快速原型化模型以动态的过程来进行软件开发,能够正视软件开发过程中存在的现实问题,从而在实际操作中到有效的应用。
2.3 增量模型的应用
通常来说,对各个小问题进行分开解决,其在解决的过程中就具有很大的独立性,使得各个小问题间互不联系,从而做到对各种小问题的有效解决。而增量模型的应用,就是按照这一思路,将软件开发中的大软件划分为小的增量,从而实现对每一个增量的开发。一般来说,软件开发中所开发的第一个增量较为关键,是整个软件的核心部分,能够做到对软件需求的满足。通过增量模型,在向用户提供一个个增量过程中,客户就能够对软件进行熟悉与学习,提出软件存在的问题,然后反馈到开发人员那里进行修改。因此,增量模型在应用时,具有较高的完善程度,使用户满意度有所提升。
2.4 螺旋模型的应用
螺旋模型实际上是一种迭代模型, 进行每一次迭代,都能够做到对快速原型化模型法的应用及对风险的分析。对于螺旋模型来说,其是由各种螺旋周期所组成的,在每一个周期中,都包含着需求、风险分析、工程实现及评审的各个阶段。在应用时,项目是根据顺时针的螺旋线来完成的,每次迭代完成,螺旋线就会上升一个周期,同时软件也会更新一个周期与版本。当迭代达到用户满意的时候,迭代结束。这种模型在应用时,能够强化人们风险意识,使软件开发中存在风险的得到有效降低,因此具有很强的实用性。
2.5 构件组装模型的应用
重复利用这一思想在很多行业与领域当中都有所应用。对于每一款软件来说,都有其特殊的性能存在。因此,在面向对象技术出现之前,很难能够在软件开发时,做到对开发内容的重复利用。而面向对象技术的出现,将操作数据与数据算法有效的放在一个组合当中,即形成软件构件。在软件开发过程中,将这些使用过的软件构件应用到软件构件库当中,并做到重复使用。另外,对这一构件组装模型的应用,还能够根据软件开发的需求与目标来做到对开发方案的选择,从而做到对完整软件的组装。
3 软件开发模型发展的相关因素
3.1 客观世界变化,有更多的问题需要使用计算机来处理
世界中每时每刻都会有新问题的产生,这些问题在解决过程中,或多或少都会需要对计算机的应用。在面对这种新问题时,原先开发的软件将会难以进行解决,因此需要开发出新的软件来进行处理。在整个软件开发史的进程当中,也做到对这一观点的印证。像螺旋模型推出时,正是为了解决风险问题。
3.2 人们需求提升,对软件开发效果与质量有着更高期望
随着软件开发行业的发展,人们已经不单单是追求单纯的软件开发,而是希望软件工程师在软件开发时,能够做到对效率的提升,对质量的保证。随着技术的进步,这种期望还会进一步提升。像构建组装模型在应用与推出时,正是对人们对软件开发需求的提升,对原先软件开发过程不满足的实现。因此,在未来的软件开发过程中,人们对现状的不满足,将对进一步探究用新的理念来开发软件开发过程模型。
4 软件开发过程模型的未来发展方向
4.1 在现有模型的基础上通过改进与完善来进行发展
在软件开发过程模型的未来发展中, 会解决当前开发过程中时所遇的问题,并在当前现存的软件开发过程模型的基础上,进行改进、扩充与完善,从而得到一个新的过程模型。或者,通过对原先几种模型的综合运用来做到对一个新模型的开发。例如三段式并行管道化软件过程模型正是对构架组装模型与瀑布模型进行综合应用与分析的基础上所提出的一种软件开发过程模型。又如组件开发的并行过程模型正是在对构建组装模型与并行过程模型进行应用与分析的基础上来完成推出的。
4.2 运用新的思维方式来做到对软件开发过程模型的推出
对于当前存在的软件开发模型,其每一种都有着其自身的特点与思维方式。例如对于瀑布模型来说,其正是采用线性思维方式的模型。又如快速原型化模型是采用反复循环迭代思维方式来构建的模型。应用新的思维模式来做到对软件开发过程模型的推出,就是表明,在软件开发过程模型推出与开发时,应该要做到对新型思维的有效展现,即使通过新的思维与想法,来构建新的软件开发模型。比如XP 模型就是通过对新型思维方式的应用而进行开发的。又如Agent 模型具有很强的自主性、社会性与反应性,而这些,都是Agent 的软件开发过程模型在开发中,运用新的思维方式来开发的。
4.3 运用新的技术与工具来做到对软件开发过程模型的推出
在计算机技术发展历程中可见,不论是何种技术的应用,还是何种软件开发模型的推出,都是在技术与工具的发展基础上进行发展的。因此,技术与工具的开发, 对软件开发过程模型来说,具有至关重要的影响。一旦新的技术与工具出现之后,原先的开发方式将会淘汰,因此新的技术与工具的出现,也会做到对软件开发过程模型发展的推进。例如对于构建组装模型来说,其在推出时,正是在面向对象技术的应用基础上进行开发出来的。又如PUR 软件开发过程模型,也是在UML 这一软件开发工具的基础上进行推出的。
5 总结
软件开发模型的推出与应用,是软件开发工作达到一定阶段的必然结果。软件开发的多样性发展,也决定着每一种软件在开发过程模型也有着其自身的特异性, 从而能够做到对特殊问题的解决,对软件特异性的展现,然而,人们的思维在不断的发展,先进的开发技术与工具也在不断的更新当中,这些因素的存在,都对软件开发过程模型的应用与发展产生较大的推动作用。因此,在对软件开发过程模型进行研究过程中,需要对其发展问题进行探究,从而能够开发出新的模型,做到对软件质量与开发效率的满足。
【参考文献】
[1] 丁立新, 牟盛勇, 马伟. 软件开发过程方法研究[J]. 装备制造.2009(04)
[2] 罗孟华, 李军, 黄益辉. 瀑布模型在软件开发中的应用及其局限性[J]. 才智.2009(09)
[3] 杨萍, 周云成, 郭丹, 朴在林. 软件工程中主要开发模型的比较分析[J]. 鸡西大学学报.2008(01)
[4] 王军. 软件过程模型分析及应用策略[J]. 计算机与数字工程.2008(06)
【作者简介】