发表文章

[最新] 软件工程过程及过程改进

iteye9378 2011-3-7 1

软件过程主要指的是软件工程过程,即在软件开发的过程中组织内发生的各开发阶段、各项开发活动的先后顺序及其关系。这些活动有机的运转即可以完成软件开发过程。

有人将软件生命周期当作软件工程过程,这个观点是有偏差的。软件生命周期指的是软件从无到有再到消亡的过程,是软件本身的特性。软件工程过程是创建软件或者修改软件过程中所经历的分析、设计、实施、维护的过程,该过程的作用对象是软件。对于一次性开发软件,可能软件工程过程近似于软件生命周期中的从无到有的过程,但对于非一次性开发的软件,即软件需要通过多次版本的更新维持更长的生命周期的软件,每一次新功能的开发过程都需要软件工程过程。因此,有必要将二者的关系进行正确的区分。

软件工程过程是以工程化的思维,通过可复用的过程来保障软件开发工作能够顺利的、可重复的进行的过程。为达到这个目的,软件工程过程的概念也随着软件规模的扩大、复杂性的提高在成熟并发展着。为了简练的表达不同的过程,提出了软件工程过程模型的方式,简称过程模型,用一些形象化的、标准的名称来形成一套过程体系或方法论。目前常用的过程模型有瀑布模型、增量模型、统一过程模型、敏捷模型等等。

任何过程模型,都是按照理想的环境定义的,企业要想采用过程模型来规范软件开发过程,本人认为以下的过程和思路是非常重要的。

一.正确认识过程模型的作用

前文已经提到,过程是一个活动的序列,无论是否采用过程模型,只要在做软件开发工作,就必然有一系列活动,这自然而然就是一个过程。可见,过程是客观存在的,不因没有采用过程模型而消亡。但是,强调并规范软件开发过程可以使得原始的随机的活动被规范到大家一致认可的阶段和活动中,形成一个有机的流畅的过程,可以减少随机的人为因素产生的不利影响,从而强化团队的合作程度。这才是过程模型在约束、规范软件开发活动中的作用所在。不是用来炫耀,也不是用来评级的。

二.正确认识过程模型的定制

任何一个过程模型,都有它的适用环境和不足之处,这是在进行模型选择时必须重点关注的部分。不同的企业、不同的项目,甚至不同的团队都可能需要不同的过程模型,一味的追求新定义的模型而不考虑实际情况,人员不适应,部门不协作,大多数情况下必然会走向失败的。即使选好了过程模型,也务必要经过剪裁和定制,遵循过程建设的过程,去掉不适用的部分,按现实情况进行调整,通过长期的磨合,利用积累的过程经验和数据,从而在不断的完善和优化过程中形成最合适的自己的过程。

三.过程模型的推进要符合企业的文化

同过程模型的定制是一样的,在企业范围内,过程模型一定要与企业文化融为一体。如果是一家强调按部就班的企业,很可能采用传统的瀑布或计划驱动的模型会很合适,而换用敏捷模型则会与企业的文化形成背离,是不适合企业整体环境的。好的过程一定是与企业文化完美结合、相辅相承的,否则,过程就失去了生存的土壤,无法在企业内扎根。

四.过程的改进是要从上到下的

过程的改进对企业来讲是具有变革性质的,当然,任何变革都会付出代价,都会遇到阻力。因此,企业应深刻的认识到,过程的改进不是成立一个过程改进小组那么简单,需要从企业的战略高度出发,从上到下,整体进行。如果只是高层领导口里说改进而无法落实,那就是空话;如果只是某些员工或某个部门在推动过程改进而高层领导不予配合,那也是毫无结果的。因此,对过程的改进要慎重,要补充必要的知识,要有变革的决心和勇气并能坚持到底,最重要的是要从上到下全方位进行。

五.过程的改进要辅以工具

过程是一个复杂而又不具备可见性的事物,对过程的建设、管理和改进,需要引入适当的过程管理工具,尤其是配置管理工具和项目管理工具,前者用于记录各种配置项的过程变化,可以形成有效的过程数据,后者用于进行可视化的项目管理,变抽象为具体。

总之,软件工程过程的引入,无疑会规范软件开发过程,从而提高软件产品的质量,减少失败的风险。随着软件工程过程这一领域的进一步发展,越来越多的过程模型在产生,无论是敏捷方式的,还是计划驱动的,在未来可能会有更加驱于二者结合的模型出现。在过程模型的发展中,也注意到软件工程方法、软件工程管理等其他学科的发展,这些是软件开发工作中不可缺少的部分,是有机的整体,只是分别从不同的角度进行描述而已,是不可割裂的。银弹不会出现,但是过程与企业文化的融合,能使软件开发向更规范的方向发展,这是过程模型的深远意义。

——欢迎转载,转载请注明出处 http://blog.csdn.net/caowenbin ——

相关推荐
最新评论 (0)
返回
发表文章
iteye9378
文章数
1052
评论数
0
注册排名
1339332