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