高 波, 溫美娜
(秦皇島廣播電視大學,河北 秦皇島 066000)
?
軟件工程中的可重用性研究
高 波, 溫美娜
(秦皇島廣播電視大學,河北 秦皇島 066000)
作為用工程化方法構建和維護有效、實用和高質量的軟件學科,軟件工程已經成為國內外各大軟件公司普遍使用的開發(fā)共識。研究軟件工程的方法、工具、過程,最大限度地提高這三個方面中的可重用性是企業(yè)提高自身效率、降低開發(fā)成本、樹立企業(yè)品牌的最佳途徑。
軟件工程; 可重用; 構件
隨著國內經濟的快速發(fā)展,各軟件企業(yè)也從初期創(chuàng)業(yè)過渡到平穩(wěn)發(fā)展,這時軟件工程中的可重用性就顯得尤為重要。
20世紀60年代末期,隨著硬件技術的飛速發(fā)展,大容量、高速度計算機的出現(xiàn),使計算機的應用范圍迅速擴大,軟件開發(fā)急劇增長,高級語言開始出現(xiàn)。軟件系統(tǒng)的規(guī)模越來越大,復雜程度越來越高,軟件開發(fā)中的問題也越來越突出。原來的個人設計方式已不再能滿足要求,迫切需要改變軟件生產方式,提高軟件生產效率,由此軟件危機開始爆發(fā)。為了研究、解決軟件危機,誕生了一門新興學科——軟件工程學。它把軟件作為工程對象來研究,從技術措施和組織管理兩個方面來研究、解決軟件危機。
軟件工程研究如何用系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法去進行軟件產品的開發(fā)。在現(xiàn)代軟件開發(fā)中,軟件已經形成了大規(guī)模的產品市場。因此,軟件產品的生產也必將走上工業(yè)化的道路,軟件工程也就越來越重要。在研究軟件工程的過程中發(fā)現(xiàn),一個好的軟件工程,應該是選取適宜的開發(fā)模型,采用合適的設計方法,提供高質量的工程支持以及重視開發(fā)過程的管理,由此歸納出軟件工程應該包括三個要素:方法、工具和過程。
對軟件工程的可重用而言,主要就是從軟件的分析、設計、編碼來體現(xiàn)它的可重用性。系統(tǒng)分析的可重用,是對某些事物或某些問題的抽象程度更高的概括,受系統(tǒng)設計技術和軟件編程實現(xiàn)條件的影響少,因此可重用性也就越大。在系統(tǒng)分析層面,既可以不依附于具體應用而專門開發(fā)一些可重用的模塊,也可以在一個系統(tǒng)的分析結果中歸納出可重用于其他新系統(tǒng)的分析。
系統(tǒng)設計的可重用,受實現(xiàn)環(huán)境的影響較少,所以可重用的機會多,因此需要作的修改就少。既可以傳承于系統(tǒng)分析的重用,歸納出可重用于其他新系統(tǒng)的設計,也可以獨立于具體的應用,有計劃地開發(fā)出一些可重用的設計模塊。
代碼的可重用,包括目標代碼和源代碼的可重用。現(xiàn)在大部分的高級編程語言的運行支持系統(tǒng)都提供了連接、綁定等一些庫來實現(xiàn)目標代碼的可重用。大規(guī)模地實現(xiàn)源代碼的可重用只有依靠含有大量可重用構件的構件庫。在源代碼的編寫過程中,針對某一個應用或算法可能會重復用到的情況,也可以將其構件化,以便靈活組合,適應各種不同的應用。源代碼的注釋是保證編碼可重用的一個重要指標。即使完全不懂編程語言,通過逐句讀注釋,也能夠知道所實現(xiàn)的功能,這樣的注釋才是好的可重用性應該具備的條件。
軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。目前,已經推出了許多軟件開發(fā),數(shù)據(jù)管理等方面的軟件工具,這些軟件工具集成起來,建立起稱之為計算機輔助軟件工程的軟件開發(fā)支撐系統(tǒng)。
在軟件開發(fā)過程中,需要建立的軟件環(huán)境包括編程語言、編程工具、數(shù)據(jù)庫、版本管理工具、文檔編輯工具以及可能用到的特殊工具,如數(shù)據(jù)傳輸工具、繪圖打印工具等。對軟件工程的可重用而言,主要是編程語言、編程工具、數(shù)據(jù)庫、版本管理組成的軟件環(huán)境的可重用。
在選擇編程語言方面:目前的主流高級編程語言主要有JAVA和NET等,對服務器的底層編程語言主要有C++和COBOL等。NET是微軟公司主要推行的技術,依托于微軟強大的技術支持。JAVA是SUN公司推出的Java程序設計語言,跨平臺是其最大的優(yōu)勢。C++是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程范式的通用程序設計語言,它支持過程化程序設計、數(shù)據(jù)抽象、面向對象程序設計、制作圖標等泛型程序設計等多種程序設計風格。COBOL是一種適合于商業(yè)及數(shù)據(jù)處理的底層程序設計語言,特別適合于銀行、工廠等大型數(shù)據(jù)處理,可以使商業(yè)數(shù)據(jù)處理過程精確表達。在選擇編程工具方面主要有商用和開源兩種。選擇商用的編程工具可以獲得商用級的技術支持。開源的編程工具則降低了開發(fā)費用,并且現(xiàn)在如Eclipse這樣的開源開發(fā)工具已經完全達到了商用級別。在選擇數(shù)據(jù)庫方面:目前的數(shù)據(jù)庫工具很多,大型的數(shù)據(jù)庫如IBM公司的DB2,Oracle公司的Oracle,微軟公司的SQL Server。中小型的如MySQL、Access等。根據(jù)自己公司的實力,選擇適合自己項目的軟件環(huán)境,是整個軟件開發(fā)過程的基礎,也是可重用性的重要決定因素。
軟件工程的過程是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協(xié)調變化所需要的管理、及軟件開發(fā)各個階段完成的任務。
開發(fā)方法和項目管理方法都是由企業(yè)自身管理水平所決定的,是在開發(fā)過程中總結出來的經驗,可以根據(jù)實際項目應用適合的開發(fā)方法和項目管理方法。因此,對軟件工程的可重用性而言,主要就是提高文檔的可重用。但是人們發(fā)現(xiàn),隨著軟件工程的發(fā)展,大型軟件的開發(fā)過程中,項目參與人數(shù)越來越多,不同的團隊,不同的組之間需要共同的規(guī)范來約束,這些落實到紙上,就是各個階段形成的文檔。
在交付的文檔中,對軟件工程的可重用性而言,主要是分析、設計階段的文檔。這兩個階段又有兩個方面的文檔,規(guī)范類文檔和實現(xiàn)類文檔。規(guī)范類文檔是項目開發(fā)中的標準,記錄如模塊命名方法、變量命名規(guī)范、編程書寫格式、模塊定義說明等信息。這些在軟件工程中可以直接重用。而實現(xiàn)類的文檔是在分析、設計的時候形成的成果,是實現(xiàn)階段的編程依據(jù),所以這類文檔的可重用性顯得尤為重要。實現(xiàn)類文檔若要實現(xiàn)可重用,除了要作好分析、設計之外,還對文檔的編寫者提出了嚴謹、負責的要求。只有將文檔做成標準化,才能最大限度地實現(xiàn)可重用。
研究提高軟件工程中的可重用性對軟件企業(yè)的發(fā)展有重要意義。軟件企業(yè)要想做大、做強,一定要在提高自身競爭力上狠下工夫,而一個軟件企業(yè)的競爭力就是開發(fā)的高質量產品。通過軟件工程中的可重用性研究,把企業(yè)的高質量產品延續(xù)下去,形成自己的開發(fā)風格,讓我國的軟件企業(yè)真正立足國內,走向世界。
[1]鄧良松,劉海巖,陸麗娜.軟件工程[M].西安:西安電子科技大學出版社,2001.
[2]張海藩.軟件工程導論[M].北京:清華大學出版社,2008.
2010-04-19
高波(1978-),男,河北秦皇島人,助教,工程碩士,主要從事網(wǎng)絡教育、軟件工程理論研究。
TP311.5
A
1008-469X(2010)04-0010-02