所屬欄目:軟件開發(fā)論文 發(fā)布日期:2012-12-21 09:33 熱度:
摘要:在數(shù)字化油田的建設(shè)過程中,各類軟件系統(tǒng)被層出不窮的開發(fā)出來,但是很多軟件在開發(fā)完畢后很難被其它軟件所復(fù)用,這就導(dǎo)致了同樣的軟件功能被重復(fù)性的開發(fā),既費(fèi)時費(fèi)力還影響數(shù)字化油田的建設(shè)進(jìn)程。根據(jù)在油田上開發(fā)軟件的特殊環(huán)境,總結(jié)了開發(fā)一個可復(fù)用性良好的軟件所應(yīng)遵循的原則,并提出應(yīng)用了軟件開發(fā)的可復(fù)用性原則的幾點(diǎn)認(rèn)識,在開發(fā)工作中進(jìn)行了實(shí)踐,證明其開發(fā)原則是具有指導(dǎo)意義,可在油田范圍內(nèi)推廣。
關(guān)鍵詞:數(shù)字化油田,可復(fù)用性
在數(shù)字化油田的建設(shè)過程中,各類軟件系統(tǒng)如雨后春筍般不斷地被開發(fā)出來,這些軟件在石油生產(chǎn)和管理的方方面面都起到了重要的作用,可以說目前整個石油工業(yè)是建立在數(shù)字化的基礎(chǔ)之上。雖然油田的數(shù)字化建設(shè)已經(jīng)取得了很多成績,但卻存在一個不可忽視的事實(shí):在在數(shù)字化油田的建設(shè)過程中忽視了軟件的可復(fù)用性這一點(diǎn),很多軟件在開發(fā)完畢后很難被其它單位使用,這就導(dǎo)致了同樣的軟件功能被重復(fù)性的開發(fā),既費(fèi)時費(fèi)力還影響數(shù)字化油田的建設(shè)進(jìn)程,為此,應(yīng)用油田軟件系統(tǒng)的可復(fù)用性研究是十分必要的。
1實(shí)現(xiàn)可復(fù)用性的開發(fā)原則
(1)采用.NET平臺的主流技術(shù)。經(jīng)過多年的開發(fā)實(shí)踐,在油田范圍內(nèi),主流的開發(fā)技術(shù)均采用了.NET平臺的開發(fā)技術(shù),比如中石油的門戶網(wǎng)站系統(tǒng)、A2系統(tǒng)等。因?yàn)檐浖_發(fā)技術(shù)的壟斷性特點(diǎn),使用不同技術(shù)開發(fā)出來的軟件,互相之間很難復(fù)用。為了保證軟件可復(fù)用性的基礎(chǔ),建議油田范圍內(nèi)開發(fā)的軟件均采用.NET平臺的技術(shù)架構(gòu)。
(2)封裝可復(fù)用的類。提倡油田上自主開發(fā)的軟件源代碼完全共享,也即在油田內(nèi)部實(shí)現(xiàn)開源。開源是實(shí)現(xiàn)軟件復(fù)用的基礎(chǔ),但即使開源,在閱讀軟件的源代碼后,尋找哪些部分是可以復(fù)用的,仍然費(fèi)時費(fèi)力。因此在實(shí)際中,開發(fā)人員往往采取另一種方式,那就是,如果開發(fā)人員意識到正在開發(fā)的某一個軟件功能是可以被復(fù)用的,就將其封裝成一個類,供自己或其他的人在開發(fā)程序時使用。目前油田上的軟件開發(fā)人員還很缺乏這種意識,急需加強(qiáng)。這需要從三方面解決:一、油田信息專業(yè)的管理者應(yīng)制定相關(guān)的制度,規(guī)范油田范圍內(nèi)開發(fā)人員的開發(fā)過程,規(guī)定開發(fā)人員每開發(fā)一項(xiàng)新軟件時,必須提供封裝好的類,并提供接口文檔等,否則不予通過開發(fā)審批;二、建立一個共享平臺,將制度規(guī)定的類都發(fā)布到該平臺,并由開發(fā)者提供詳細(xì)說明文檔;制度還應(yīng)規(guī)定,該平臺應(yīng)有專業(yè)人員定期維護(hù)。我們可以設(shè)想,在制度和平臺建立后。隨著可復(fù)用類和服務(wù)的積累,開發(fā)人員在開發(fā)某一軟件功能時,首先會到該平臺上尋找是否有實(shí)現(xiàn)類似功能的類和服務(wù),底層的類可以稍加修改后拿來使用,服務(wù)則可以直接使用,這樣就會避免大量的重復(fù)性的開發(fā)工作。
(3)使用CSS技術(shù)提供樣式的復(fù)用。目前油田上的軟件系統(tǒng)多采用B/S架構(gòu),也就是通過網(wǎng)站來提供各種軟件功能。一個制作精美的網(wǎng)站,其字體的大小、背景的顏色等風(fēng)格也是值得復(fù)用的對象。如果直接查看字體大小是幾號字、背景顏色是什么代碼,然后在自己的網(wǎng)站制作中使用,往往十分繁瑣,而且也不能完全的還原其風(fēng)格。根據(jù)這種情況,可以采用CSS技術(shù)來控制網(wǎng)站整體的頁面風(fēng)格。只是目前油田上大多數(shù)網(wǎng)站在制作時還沒有采用這種技術(shù)。因此,我建議新開發(fā)的無論是普通的靜態(tài)、動態(tài)新聞網(wǎng)站,還是B/S架構(gòu)的軟件系統(tǒng),都應(yīng)使用CSS文件來統(tǒng)一控制網(wǎng)站風(fēng)格,這樣另一個網(wǎng)站如果想模仿其風(fēng)格,可以簡單的引用其CSS文件來還原。同樣,我建議將制作完畢的網(wǎng)站的CSS控制文件也上傳到共享平臺上。
(4)采用模塊化設(shè)計的思想。一個軟件系統(tǒng)如果想在各個方面都可以被復(fù)用,就必須要采用模塊化設(shè)計的思想。按照功能將一個軟件切分成許多部分單獨(dú)開發(fā),然后再集成起來,每一個部分即為模塊。其優(yōu)點(diǎn)是利于控制質(zhì)量、利于多人合作、利于擴(kuò)充功能等,是軟件工程中一種重要的開發(fā)方法,并為軟件復(fù)用提供強(qiáng)有力的支持。目前油田上大多數(shù)的軟件都已經(jīng)采用了這種模塊化設(shè)計的思想,并配以模塊化設(shè)計的說明文檔,這種優(yōu)秀的設(shè)計思想應(yīng)該繼續(xù)保持下去,并在今后的開發(fā)工作中繼續(xù)發(fā)揚(yáng)。
(5)應(yīng)用Web Service技術(shù)。目前油田上絕大多數(shù)的軟件只是軟件,并沒有上升到服務(wù)。通俗的說,就是多數(shù)軟件系統(tǒng)在對數(shù)據(jù)進(jìn)行處理、加工,采用一系列算法計算得到結(jié)果后,最后通過用戶界面將結(jié)果展示給軟件的使用者。換句話說,軟件只能給自己的用戶使用,并不能給其他軟件的用戶使用。而使用Web Services技術(shù)則可以將軟件的功能封裝成一個服務(wù),提供給其他的軟件使用。舉例來說,生產(chǎn)日報的查詢軟件在開發(fā)完畢后,將其生產(chǎn)日報的查詢功能封裝成一個Web Service服務(wù),這樣,今后開發(fā)的軟件系統(tǒng),如果想實(shí)現(xiàn)生產(chǎn)日報的查詢功能時,只需要簡單的調(diào)用其Web Service服務(wù)即可。最理想的情況下,如果每個軟件都可以將其功能封裝成Web Service服務(wù)供其復(fù)用,而不僅僅是底層的類復(fù)用和模塊復(fù)用,那么今后軟件的開發(fā)就可以類似于一種“搭積木”的形式,只需要簡單的挑選“積木”,然后搭成想要的“形狀”就可以了。Web Service技術(shù)是實(shí)現(xiàn)軟件可復(fù)用性的最高級的技術(shù),目前油田上絕大多數(shù)的軟件暫時沒有采用這種方式將軟件功能封裝起來,應(yīng)在今后的工作中加強(qiáng)該技術(shù)的學(xué)習(xí)和應(yīng)用。
2提高油田軟件可復(fù)用性的實(shí)踐
(1)可復(fù)用類的設(shè)計。在開發(fā)某采油廠兩單一證在線審批系統(tǒng)的用戶登陸功能時,通過用戶名獲得數(shù)據(jù)庫中用戶的角色、檢查用戶是否是系統(tǒng)授權(quán)用戶以及檢查用戶名密碼是否正確等功能都是可以被復(fù)用的,因此將其封裝到一個user類里面,并編寫了說明文檔。見圖1。經(jīng)實(shí)踐證明User類可以在另一套基建網(wǎng)絡(luò)辦公平臺中復(fù)用。這就實(shí)現(xiàn)了可復(fù)用類的設(shè)計。
(2)前臺頁面的css復(fù)用。為了便于復(fù)用,在兩單一證在線審批系統(tǒng)的前臺頁面的制作過程中,采取了使用css文件統(tǒng)一界面風(fēng)格。這樣在其開發(fā)完畢后,可以方便的在基建網(wǎng)絡(luò)辦公平臺中復(fù)用,也可以在今后開發(fā)的其他軟件系統(tǒng)中復(fù)用。見圖2。由于使用了CSS文件來設(shè)計網(wǎng)站的風(fēng)格,使得包括網(wǎng)頁邊緣的陰影效果,字體大小和顏色等網(wǎng)站風(fēng)格得到了復(fù)用。
(2)模塊化設(shè)計思想的應(yīng)用。通過分析,兩單一證在線審批系統(tǒng)和基建網(wǎng)絡(luò)管理辦公平臺有兩個可以完全復(fù)用的子模塊,即權(quán)限管理模塊和系統(tǒng)維護(hù)支持模塊。權(quán)限管理是各部門、各級人員使用軟件各項(xiàng)功能的基礎(chǔ),這對于每一個軟件應(yīng)用系統(tǒng)來說都是必不可少的,并且其模式及細(xì)分程度都很相似。系統(tǒng)維護(hù)支持模塊是為了軟件系統(tǒng)的正常運(yùn)作所提供的必不可少的功能,如日志管理、數(shù)據(jù)庫備份、數(shù)據(jù)庫恢復(fù)等都屬于此類。所有的這些都可以作為公共模塊加以復(fù)用。因此,在開發(fā)完兩單一證在線審批系統(tǒng)的這兩個模塊后,基本上可以直接地復(fù)用在基建網(wǎng)絡(luò)管理辦公平臺中。除上述兩個可以直接復(fù)用的模塊之外,兩單一證在線審批系統(tǒng)的審批進(jìn)度查詢模塊,可以稍作修改,應(yīng)用在基建網(wǎng)絡(luò)管理辦公平臺中的項(xiàng)目施工進(jìn)度查詢模塊中,見圖3。
(3)Web Service技術(shù)的應(yīng)用。在設(shè)計兩單一證在線審批系統(tǒng)的檢查用戶名和密碼是否正確的功能時,由于已經(jīng)存在一套中石油的域用戶認(rèn)證系統(tǒng),即通過中石油郵箱的用戶名和密碼來檢查用戶名和密碼是否正確,并且油田的信息技術(shù)人員已經(jīng)將其封裝成Web Service服務(wù)。因此在實(shí)現(xiàn)其功能時,我并沒有再另外的設(shè)計一套認(rèn)證系統(tǒng)。而是直接使用了中石油郵箱的域用戶認(rèn)證系統(tǒng)的Web Service服務(wù)。這樣的結(jié)果是,當(dāng)用戶登陸我新開發(fā)的這兩套軟件系統(tǒng)時,不需要注冊新用戶,并設(shè)置密碼。而是直接使用中石油郵箱的用戶名和密碼即可登陸。
3結(jié)論和認(rèn)識
通過實(shí)踐,現(xiàn)總結(jié)軟件的可復(fù)用性開發(fā)原則的結(jié)論和認(rèn)識:
(1)可復(fù)用類的開發(fā)最容易實(shí)現(xiàn)的,但其提供的可復(fù)用性較小。
(2)頁面風(fēng)格的復(fù)用技術(shù)容易實(shí)現(xiàn),但多數(shù)開發(fā)人員還沒有應(yīng)用的意識。
(3)可復(fù)用的模塊化設(shè)計思想已經(jīng)被大多數(shù)油田上的軟件開發(fā)人員所采用。
(4)使用Web Service技術(shù)實(shí)現(xiàn)軟件的可復(fù)用性是最難實(shí)現(xiàn)的,但也能最大程度的實(shí)現(xiàn)軟件的可復(fù)用性。
參考文獻(xiàn):
[1] Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides.設(shè)計模式. 2000.9
文章標(biāo)題:油田軟件可復(fù)用性研究與實(shí)踐
轉(zhuǎn)載請注明來自:http://www.anghan.cn/fblw/dianxin/ruanjiankaifa/14975.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:106
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫管理學(xué)論文可以用的19個...關(guān)注:192
測繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時開論文檢索證明很重要關(guān)注:52
中國水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國際出書需要了解的問題解答關(guān)注:58
合著出書能否評職稱?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:121
評職稱發(fā)論文好還是出書好關(guān)注:68
復(fù)印報刊資料重要轉(zhuǎn)載來源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評估...關(guān)注:59
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計算機(jī)信息管理論文 計算機(jī)網(wǎng)絡(luò)論文 計算機(jī)應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開發(fā)論文
SCI期刊分析
copyright © www.anghan.cn, All Rights Reserved
搜論文知識網(wǎng) 冀ICP備15021333號-3