使用软件工程学来开发软件(软件工程实践之一)

使用软件工程学来开发软件
                                         ---------软件工程的产生,概念,作用

                                                       作者:制造太阳海 发表时间:2005-06-16

一.引言

       笔者近来参与了一个百万级以上的大型项目,这个百万级指的是金钱."人为财死,鸟为食亡",我认为企业能发这么大的成本来做一个这么大的项目,也是难能可贵了,失去了这么一大笔的钱财,为的是一个软件,但其目的也是显而可见了,当然是想利用软件来产生商业利益,失去几百万,当然希望能得到几千万.但笔者近来心里有点烦闷,为的啥?因为笔者作为一个工程师,一个模块在二个月内写了出来,但改了四五次,不过客户还是在提需求,更令我心烦的是,改来改去,有几次又是原来一模一样的需求.我终于发现了,我们开发的很多的时候只是一个临时的想法,和一个临时的决定,没一个真正控制的过程,没有一个统一的方法.这个项目目前我感觉很失败,因为到目前为止,我发现还是走不通,但上面已经汇报了说完成了?呵呵,笔者思考着,我想,应该研究研究工程学了,这样或许会减轻痛苦....

二.概述
       软件是一门艺术的阶段,我想现在很不合时宜了,因为艺术这个东西是人的灵感,依照一个人的灵感而发产生一件事物。艺术很大一部分完全是靠个人的能力和想法而产生。以前谈软件是一门艺术,想应该很能说过去,因为一个人写出一个程序就是一个软件了,成功不成功就是使用者的福份了,创作得好当然很赏心悦目!但目前中国的现状有很大一部分还是存在于艺术,中国人太聪明了,但聪明有时候会被聪明误的,想想,现在软件项目,还能依靠一个人的灵感而创作出来吗?一个项目那么大,整个过程那么长,人的灵感有那么长时间的维持吗?“软件危机”产生了,软件开发和及最后的结果必然会产生如下问题:
1、硬件发展过于快,“艺术”性软件开发不能发挥硬件所在潜能;
2、软件发展不能快速的响应客户的需求;
3、人们生活越来越依赖于软件,因而希望软件可靠,稳定,不产生经济损失;
4、拙劣的设计和缺乏的资源越来越不能支撑原来的系统;
5、追求高可靠性、高质量的软件产品是必然的。
为了解决上面的问题,只能依靠工程的方法来解决。

三、软件工程概述
1、软件概念:
   软件是一种驱动力,有利于人们的生活,商业交流...,更准确和专业的定义是,他是指挥硬件运作的一系列的指令组合。
2、软件担任的角色:
   软件担任双重角色,它即是一个产品,又是开发和运作其它产品的载体(如操作系统,就是用来支撑其它软件产品运行的载体)。  
3、软件工程概念:
   采用一系列的技术来完成一个高可靠性、高质量的产品,这一系列的技术包括一个过程,一组方法和一系列的工具,我们称之为软件工程。
4、软件工程为何能解决问题呢?
   (1)首先它在产品设计前就制定了一个规范的过程,任何一个大型的产品都必定在规范的过程(流程)下产生,软件产品也不例外,只有这样才会产生包装好的软件产品,才有可能像其它消费商品一样摆在货架上让顾客选择,参考,购买。它也是流水线作业必要程序,大型产品(或项目)都必定要有一个作业过程才能完成,因为它不是一天两天就能产生的产物,因为它只有有了一个过程,才能像其它产品一样大批量的生产和销售。
   (2)其次工程学是包括做事方法的,常话说”磨刀不误砍柴工“,为什么要去磨刀,因为人们知道刀锋利才能更好的砍柴而又不费力,磨刀的作用就是使用刀锋利,这其实就是告诉人,如果你做一件事情,那么你必须找到好的方法,并实施这些方法,才能更好的完成你要做的工作。工程学中就有一方面是研究这个方法的,软件工程学也是,他规范出了一系列的软件产品开发方法,这一系列的方法是有前瞻性的,规范的,经过实践考验的,你可以使用这些方法开发你的产品,那即省时,又省力,又能高效率的开发,并且能产生一个高质量和高可靠性的产品,更重要的是可扩展性也强。
   (3)再其次工程学会告诉你一切现有的工具,来帮助你完成你的产品,你的工作,这样节省你大量的时间,提高你极高的效率,节省大量的成本,也避免了你一系列重复的工作。
   总之、采用软件工程来生产软件产品是一条正确的道路,也是可证实的道路。我们准备了吗?

四、为什么软件工程在软件业没有真正的实行下来呢?
1、软件特征:
   1、人们最初定义它为“艺术”或许大多是因为它与其它产业的不同特征,它不像其它产品是一个实体,而它是一个逻辑体。看不到,摸不着的一个逻辑体的组合。
   2、软件由开发和工程化产生,而不是制造产生。
   3、软件不会磨损而退化,而只是由于需求变化而修改,由于修改及需求的变化而退化。
   4、软件一般是自定义的,没有其它构件组成。
2、由于它本有的特质,使人们没有想到使用工程学来开发软件产品,直到可复用的概念推广。工程学产生了,但软件本身生产后可复制形成,改动成本也是人力,因此,人们对工程学来管理软件产品开发也是人性的定义了。

五、总结
  软件是由程序、数据和文档组成。这些条目构成了软件工程过程中的配置项,软件工程的目的就是为建造高质
量的软件提供一个框架。(出自于《实践者的研究方法》)

下一篇《软件工程学之软件过程(软件工程实践之二)》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值