软件工程发展趋势

注册

 

发新话题 回复该主题

你的软件工程还在青铜时代 [复制链接]

1#

最近看到一本书《现代软件工程和CMM的融合》。书中描述了软件工程发展三个阶段。这三个阶段分别是传统软件工程时代、面向对象软件工程时代、构件开发软件工程时代。

青铜时代——传统软件工程时代

当软件不再是服务于个人体而是要作为产品服务于大众的时候,软件的质量就被提上日程。而在软件工程发展的早期,如何控制软件的质量并没有什么好的办法,人们能够想到的是借用已经表现良好的硬件工程的概念,对软件产品进行管理。由此,就产生了第一个软件工程阶段——传统的软件工程时代。

在这个阶段,是把传统的硬件工程的一些概念引入软件开发过程当中,以管理软件开发活动,由此形成了软件工程的基本概念。对于软件的开发不再是不闻不问,我们会给软件开发设置一些关键节点,以控制软件开发的进度;我们会对软件进行一些验证活动,以确保软件功能的实现。这时候的软件工程主要使用的是目标管理的手段。

白银时代——面向对象的软件工程时代

随着软件技术的发展,出现了面向对象的开发技术。面向对象技术使得软件开发人员可以站在一个全新的角度来认识软件。软件看起来不再那么虚无缥缈,更像一个可以触摸的实体。与此类似,软件开发的过程应该也是可以通过达成一系列小的目标来实现开发过程的控制。于是软件的过程管理出现了。

软件工程的第二个阶段就是引入了软件开发的过程管理。而软件开发的过程管理的集大成者就是CMM体系。这一体系将软件开发的工程过程和管理过程,划分出多个关键过程域,而每个关键过程域都有一系列的专业目标和共用目标,通过实现这些目标已达到对这些过程的控制。这一阶段的软件工程是目标管理和过程管理的结合。

*金时代——构件开发的软件工程时代

随着互联网的发展,通讯越来越方便。软件开发的形式也有了很大的改变。软件开发不用集中在一个工作环境下,分布式的开发越来越普遍。这种分布式开发大大促进了基于构件的软件开发模式,软件工程也进入了新的时代。

在软件工程的第三个阶段,大量的跨行业的、跨地区的软件开发,使得软件产品是依赖于分布在不同地区或者不同行业开发出来的组件或者构件进行组装来完成的。软件过程管理和目标管理的对象,不再是完整的软件产品,首先要管理的是软件的一个组件或者构件的产生过程,然后才是软件的集成和组装,以及交付和验收。这时候软件工程管理的重点是构件之间的接口关系。

时代总是在发展。不管你愿意或者不愿意,基于构件的软件开发的时代已经到来了。我们要面临的是多个组件进行匹配、组装的新时代,而要适应这一新时代,就必须了解新的时代的特征,并针对这些特点采取适宜的管理方法,绝不能还停留在早期的青铜时代,只会使用目标管理的手段控制软件的质量,那样只能会使你的管理失去作用,导致软件的问题层出不穷。

软件工程之思

分享 转发
TOP
发新话题 回复该主题