发布于 2007-10-13 22:34:06
0楼
我从来都没有说过,也不敢保证自己的程序没有一点错误,只是尽力做到最好。一个高质量程序的编写需要设计者要有扎实的逻辑数学和数据结构等方面的知识,最好是对汇编和一些高级语言有相当了解,还需要在工程项目上的长期实践,这些只是前提或必要条件,不是充要条件,所以编写一个好的程序相当困难。
从软件工程测试程序的角度出发,最好是程序的运行的每一种可能性都测试过,实际上大家都知道这是不可能的,所以大多数情况下测试输入输出的运行正确性,然后用现场实际运行状况对一个程序的正确与否作出评判。前段时间,对轧钢的一个程序用单步和断电功能执行测试,一个25K程序测试的几乎让人发狂,最后还是用变量表测试完成的。
另外,正因为测试不完全,所以编写的程序肯定会存在这样或那样的问题,只是这种问题不要影响系统功能的正确运行就好。今年年初,有一家流水线的S5系统,出现了问题,系统不报故障,就像死机一样,本人对S5系统知之不多,我正好在那家单位,也去看看想长见识。当时他们现场工程师向了很多招,查通讯,屏蔽,接地,换板卡,还是没找到,最后只有全线重起系统,由于涉及很多工艺流程,重启花了5个小时,重启之后就好了。要知道,5个小时的时间,在那个厂里算重大故障。有过了2月左右,又来了一次,厂里怕了,找来了上海的西门子工程师,没看出问题在那里,把程序备份了,说回去看看,最后没有说法就算了。后来,有一个现场工程师花了3周时间,终于在程序中找到了漏洞,要知道这个程序完完全全就是德国工程师做的,运行了近十年才发现问题,这当然与那位现场工程师对轧钢工艺相当熟悉有关。
我的进步,离不开你的帮助!!!!