油田软件可复用性研究与实践

所属栏目:软件开发论文 发布日期:2012-12-21 09:33 热度:

  摘要:在数字化油田的建设过程中,各类软件系统被层出不穷的开发出来,但是很多软件在开发完毕后很难被其它软件所复用,这就导致了同样的软件功能被重复性的开发,既费时费力还影响数字化油田的建设进程。根据在油田上开发软件的特殊环境,总结了开发一个可复用性良好的软件所应遵循的原则,并提出应用了软件开发的可复用性原则的几点认识,在开发工作中进行了实践,证明其开发原则是具有指导意义,可在油田范围内推广。

  关键词:数字化油田,可复用性

  在数字化油田的建设过程中,各类软件系统如雨后春笋般不断地被开发出来,这些软件在石油生产和管理的方方面面都起到了重要的作用,可以说目前整个石油工业是建立在数字化的基础之上。虽然油田的数字化建设已经取得了很多成绩,但却存在一个不可忽视的事实:在在数字化油田的建设过程中忽视了软件的可复用性这一点,很多软件在开发完毕后很难被其它单位使用,这就导致了同样的软件功能被重复性的开发,既费时费力还影响数字化油田的建设进程,为此,应用油田软件系统的可复用性研究是十分必要的。

  1实现可复用性的开发原则

  (1)采用.NET平台的主流技术。经过多年的开发实践,在油田范围内,主流的开发技术均采用了.NET平台的开发技术,比如中石油的门户网站系统、A2系统等。因为软件开发技术的垄断性特点,使用不同技术开发出来的软件,互相之间很难复用。为了保证软件可复用性的基础,建议油田范围内开发的软件均采用.NET平台的技术架构。

  (2)封装可复用的类。提倡油田上自主开发的软件源代码完全共享,也即在油田内部实现开源。开源是实现软件复用的基础,但即使开源,在阅读软件的源代码后,寻找哪些部分是可以复用的,仍然费时费力。因此在实际中,开发人员往往采取另一种方式,那就是,如果开发人员意识到正在开发的某一个软件功能是可以被复用的,就将其封装成一个类,供自己或其他的人在开发程序时使用。目前油田上的软件开发人员还很缺乏这种意识,急需加强。这需要从三方面解决:一、油田信息专业的管理者应制定相关的制度,规范油田范围内开发人员的开发过程,规定开发人员每开发一项新软件时,必须提供封装好的类,并提供接口文档等,否则不予通过开发审批;二、建立一个共享平台,将制度规定的类都发布到该平台,并由开发者提供详细说明文档;制度还应规定,该平台应有专业人员定期维护。我们可以设想,在制度和平台建立后。随着可复用类和服务的积累,开发人员在开发某一软件功能时,首先会到该平台上寻找是否有实现类似功能的类和服务,底层的类可以稍加修改后拿来使用,服务则可以直接使用,这样就会避免大量的重复性的开发工作。

  (3)使用CSS技术提供样式的复用。目前油田上的软件系统多采用B/S架构,也就是通过网站来提供各种软件功能。一个制作精美的网站,其字体的大小、背景的颜色等风格也是值得复用的对象。如果直接查看字体大小是几号字、背景颜色是什么代码,然后在自己的网站制作中使用,往往十分繁琐,而且也不能完全的还原其风格。根据这种情况,可以采用CSS技术来控制网站整体的页面风格。只是目前油田上大多数网站在制作时还没有采用这种技术。因此,我建议新开发的无论是普通的静态、动态新闻网站,还是B/S架构的软件系统,都应使用CSS文件来统一控制网站风格,这样另一个网站如果想模仿其风格,可以简单的引用其CSS文件来还原。同样,我建议将制作完毕的网站的CSS控制文件也上传到共享平台上。

  (4)采用模块化设计的思想。一个软件系统如果想在各个方面都可以被复用,就必须要采用模块化设计的思想。按照功能将一个软件切分成许多部分单独开发,然后再集成起来,每一个部分即为模块。其优点是利于控制质量、利于多人合作、利于扩充功能等,是软件工程中一种重要的开发方法,并为软件复用提供强有力的支持。目前油田上大多数的软件都已经采用了这种模块化设计的思想,并配以模块化设计的说明文档,这种优秀的设计思想应该继续保持下去,并在今后的开发工作中继续发扬。

  (5)应用Web Service技术。目前油田上绝大多数的软件只是软件,并没有上升到服务。通俗的说,就是多数软件系统在对数据进行处理、加工,采用一系列算法计算得到结果后,最后通过用户界面将结果展示给软件的使用者。换句话说,软件只能给自己的用户使用,并不能给其他软件的用户使用。而使用Web Services技术则可以将软件的功能封装成一个服务,提供给其他的软件使用。举例来说,生产日报的查询软件在开发完毕后,将其生产日报的查询功能封装成一个Web Service服务,这样,今后开发的软件系统,如果想实现生产日报的查询功能时,只需要简单的调用其Web Service服务即可。最理想的情况下,如果每个软件都可以将其功能封装成Web Service服务供其复用,而不仅仅是底层的类复用和模块复用,那么今后软件的开发就可以类似于一种“搭积木”的形式,只需要简单的挑选“积木”,然后搭成想要的“形状”就可以了。Web Service技术是实现软件可复用性的最高级的技术,目前油田上绝大多数的软件暂时没有采用这种方式将软件功能封装起来,应在今后的工作中加强该技术的学习和应用。

  2提高油田软件可复用性的实践

  (1)可复用类的设计。在开发某采油厂两单一证在线审批系统的用户登陆功能时,通过用户名获得数据库中用户的角色、检查用户是否是系统授权用户以及检查用户名密码是否正确等功能都是可以被复用的,因此将其封装到一个user类里面,并编写了说明文档。见图1。经实践证明User类可以在另一套基建网络办公平台中复用。这就实现了可复用类的设计。

 

1.jpg

  (2)前台页面的css复用。为了便于复用,在两单一证在线审批系统的前台页面的制作过程中,采取了使用css文件统一界面风格。这样在其开发完毕后,可以方便的在基建网络办公平台中复用,也可以在今后开发的其他软件系统中复用。见图2。由于使用了CSS文件来设计网站的风格,使得包括网页边缘的阴影效果,字体大小和颜色等网站风格得到了复用。

  (2)模块化设计思想的应用。通过分析,两单一证在线审批系统和基建网络管理办公平台有两个可以完全复用的子模块,即权限管理模块和系统维护支持模块。权限管理是各部门、各级人员使用软件各项功能的基础,这对于每一个软件应用系统来说都是必不可少的,并且其模式及细分程度都很相似。系统维护支持模块是为了软件系统的正常运作所提供的必不可少的功能,如日志管理、数据库备份、数据库恢复等都属于此类。所有的这些都可以作为公共模块加以复用。因此,在开发完两单一证在线审批系统的这两个模块后,基本上可以直接地复用在基建网络管理办公平台中。除上述两个可以直接复用的模块之外,两单一证在线审批系统的审批进度查询模块,可以稍作修改,应用在基建网络管理办公平台中的项目施工进度查询模块中,见图3。

  (3)Web Service技术的应用。在设计两单一证在线审批系统的检查用户名和密码是否正确的功能时,由于已经存在一套中石油的域用户认证系统,即通过中石油邮箱的用户名和密码来检查用户名和密码是否正确,并且油田的信息技术人员已经将其封装成Web Service服务。因此在实现其功能时,我并没有再另外的设计一套认证系统。而是直接使用了中石油邮箱的域用户认证系统的Web Service服务。这样的结果是,当用户登陆我新开发的这两套软件系统时,不需要注册新用户,并设置密码。而是直接使用中石油邮箱的用户名和密码即可登陆。

  3结论和认识

  通过实践,现总结软件的可复用性开发原则的结论和认识:

  (1)可复用类的开发最容易实现的,但其提供的可复用性较小。

  (2)页面风格的复用技术容易实现,但多数开发人员还没有应用的意识。

  (3)可复用的模块化设计思想已经被大多数油田上的软件开发人员所采用。

  (4)使用Web Service技术实现软件的可复用性是最难实现的,但也能最大程度的实现软件的可复用性。

  参考文献:

  [1] Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides.设计模式. 2000.9

文章标题:油田软件可复用性研究与实践

转载请注明来自:http://www.sofabiao.com/fblw/dianxin/ruanjiankaifa/14975.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3