以前我写的处理各种油田开发地质方面使用的数据,都是自己写一些小程序,没有界面,不能算是软件,甚至连程序都算不上,只能说是有点小用途的代码而已。这一次,我将全面介绍“带有界面的”、“全Windows式风格的”小软件的开发过程。
首先,我要说明软件开发的过程。软件需求分析是软件开发的前期工作,是非常重要的一步,可以说至少占据了30%的重要性,然后软件结构的总体设计(软件架构)占据大概35%,或者更多一点,而代码的编写只占到10%,调试可能占20%,而其他方面仅仅占到5%(这些可能还包括了财务分析等内容,其实财务分析一般是做需求分析中可行性分析的一部分)。
好了,说完基本的过程,我们谈谈这个具体的小软件开发过程,如果你是初学者,你会学到很多东西。
我们这个小软件功能非常单一,就一项功能,就是把井位坐标加入到las文件中。当然由于功能小,而且只是帮朋友做的,所以没有什么需求分析。在油田研究院,或者采油厂地质所工作的朋友们都知道las曲线文件,用文本打开后基本上就是下图的样子:
一般的las 文件中仅仅有井名字(WELL)或者井ID号(UWI),没有坐标,可是有时候在利用las曲线做别的工作的时候,可能需要带有井位坐标(XCRD和YCRD)。很多时候大家都有井位坐标文件,然后从坐标文件中找到坐标,然后打开对应井的las文件,然后把坐标复制粘贴进去,最后结果如下图:
上图红色区域就是我们从坐标文件中找到然后加入到对应井的las文件中。坐标文件一般大家都有,油田的数据库都能下载到,一般都是文本格式,格式如下图, 其实就是3列,第一列井名,第二列X坐标,第三列Y坐标,当然las文件的文件名也需要是井名字,并且要和坐标文件里的一直,否则就对应不上了。
其实上面所说的就是我们软件要实现的功能,我朋友跟我说上次他自己手动完成了差不多50个文件,差点累死,搞的眼睛都哗哗的流泪
………………………………………………………………………………
上面说的就算是我们的需求分析(正规的需求分析可不是这样)。下面我们就做一下架构分析,其实就一个功能,根本谈不上什么架构。但是架构还包括界面分析设计,所以我们就分为界面和功能两部分。
首先看看功能分析:就一个功能写成一个函数,可以被调用就行了。
其次我们看看界面分析设计:考虑需要导入坐标文件和las文件两种类型,所以至少要有两个地方可以选择这些文件,一个地方是用于选择坐标文件(坐标文件就一个文件),另一个地方用于选择las文件(las文件有很多,因为一口井一个文件),这些文件能够被选择,然后还要有一个运行按钮来调用功能函数。然后加上一个退出按钮就OK了,所以界面的草图看起来应该如下: