使用软件工程学来开发软件
---------软件工程的产生,概念,作用
一.引言
笔者近来参与了一个百万级以上的大型项目,这个百万级指的是金钱."人为财死,鸟为食亡",我认为企业能发这么大的成本来做一个这么大的项目,也是难能可贵了,失去了这么一大笔的钱财,为的是一个软件,但其目的也是显而可见了,当然是想利用软件来产生商业利益,失去几百万,当然希望能得到几千万.但笔者近来心里有点烦闷,为的啥?因为笔者作为一个工程师,一个模块在二个月内写了出来,但改了四五次,不过客户还是在提需求,更令我心烦的是,改来改去,有几次又是原来一模一样的需求.我终于发现了,我们开发的很多的时候只是一个临时的想法,和一个临时的决定,没一个真正控制的过程,没有一个统一的方法.这个项目目前我感觉很失败,因为到目前为止,我发现还是走不通,但上面已经汇报了说完成了?呵呵,笔者思考着,我想,应该研究研究工程学了,这样或许会减轻痛苦....
二.概述
软件是一门艺术的阶段,我想现在很不合时宜了,因为艺术这个东西是人的灵感,依照一个人的灵感而发产生一件事物。艺术很大一部分完全是靠个人的能力和想法而产生。以前谈软件是一门艺术,想应该很能说过去,因为一个人写出一个程序就是一个软件了,成功不成功就是使用者的福份了,创作得好当然很心旷神怡!但目前中国的现状有很大一部分还是存在于艺术,中国人太聪明了,但聪明有时候会被聪明误的,想想,现在软件项目,还能依靠一个人的灵感而创作出来吗?一个项目那么大,整个过程那么长,人的灵感有那么长时间的维持吗?“软件危机”产生了,软件开发和及最后的结果必然会产生如下问题:
1、硬件发展过于快,“艺术”性软件开发不能发挥硬件所在潜能;
2、软件发展不能快速的响应客户的需求;
3、人们生活越来越依靠于软件,因而希望软件可靠,稳定,不产生经济损失;
4、拙劣的设计和缺乏的资源越来越不能支撑原来的系统;
5、追求高可靠性、高质量的软件产品是必然的。
为了解决上面的问题,只能依靠工程的方法来解决。
三、软件工程概述
1、软件概念:
软件是一种驱动力,有利于人们的生活,商业交流...,更准确和专业的定义是,他是指挥硬件运作的一系列的指令组合。
2、软件担任的角色:
软件担任双重角色,它即是一个产品,又是开发和运作其它产品的载体(如操作系统,就是用来支撑其它软件产品运行的载体)。
3、软件工程概念:
采用一系列的技术来完成一个高可靠性、高质量的产品,这一系列的技术包括一个过程,一组方法和一系列的工具,我们称之为软件工程。
4、软件工程为何能解决问题呢?
(1)首先它在产品设计前就制定了一个规范的过程,任何一个大型的产品都必定在规范的过程(流程)下产生,软件产品也不例外,只有这样才会产生包装好的软件产品,才有可能像其它消费商品一样摆在货架上让顾客选择,参考,购买。它也是流水线作业必要程序,大型产品(或项目)都必定要有一个作业过程才能完成,因为它不是一天两天就能产生的产物,因为它只有有了一个过程,才能像其它产品一样大批量的生产和销售。
(2)其次工程学是包括做事方法的,常话说”磨刀不误砍柴工“,为什么要去磨刀,因为人们知道刀锋利才能更好的砍柴而又不费力,磨刀的作用就是使用刀锋利,这其实就是告诉人,假如你做一件事情,那么你必须找到好的方法,并实施这些方法,才能更好的完成你要做的工作。工程学中就有一方面是研究这个方法的,软件工程学也是,他规范出了一系列的软件产品开发方法,这一系列的方法是有前瞻性的,规范的,经过实践考验的,你可以使用这些方法开发你的产品,那即省时,又省力,又能高效率的开发,并且能产生一个高质量和高可靠性的产品,更重要的是可扩展性也强。
(3)再其次工程学会告诉你一切现有的工具,来帮助你完成你的产品,你的工作,这样节省你大量的时间,提高你极高的效率,节省大量的成本,也避免了你一系列重复的工作。
总之、采用软件工程来生产软件产品是一条正确的道路,也是可证实的道路。我们预备了吗?
四、为什么软件工程在软件业没有真正的实行下来呢?
1、软件特征:
1、人们最初定义它为“艺术”或许大多是因为它与其它产业的不同特征,它不像其它产品是一个实体,而它是一个逻辑体。看不到,摸不着的一个逻辑体的组合。
2、软件由开发和工程化产生,而不是制造产生。
3、软件不会磨损而退化,而只是由于需求变化而修改,由于修改及需求的变化而退化。
4、软件一般是自定义的,没有其它构件组成。
2、由于它本有的特质,使人们没有想到使用工程学来开发软件产品,直到可复用的概念推广。工程学产生了,但软件本身生产后可复制形成,改动成本也是人力,因此,人们对工程学来治理软件产品开发也是人性的定义了。
五、总结
软件是由程序、数据和文档组成。这些条目构成了软件工程过程中的配置项,软件工程的目的就是为建造高质
量的软件提供一个框架。(出自于《实践者的研究方法》)