陳忠菊
摘 要:該文首先說明軟件工程領域應用復用技術的意義,接著指出將復用技術應用到軟件工程時需要解決的技術問題,以及復用技術在軟件工程領域主要應用在哪些方面,最后對復用技術在軟件工程領域的具體應用過程進行分析。
關鍵詞:軟件工程 復用技術 應用
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1674-098X(2016)07(a)-0098-02
軟件系統在快速開發和應用的過程中,存在著相當多的重復開發現象,浪費了大量的開發資金和技術。為了減少或避免這種重復開發,提高軟件系統的開發質量,推動軟件工程的發展,可以在軟件工程領域中應用復用技術。
1 軟件工程領域應用復用技術的意義
1.1 軟件工程領域應用復用技術的含義
通常情況下,軟件系統的開發和投入應用都要經歷“系統的需求分析—系統設計—系統編碼—系統測試—系統維護”等過程,而這些過程中有很多重復的工作內容。為了減少重復工作造成的時間和資金的消耗,軟件工程領域的工作人員通過使用復用技術以及可復用的構件組建新軟件系統,取代傳統的“一切從頭開始進行”的軟件開發方式,達到實現軟件復用的目的,就是復用技術在軟件工程領域應用的含義。
1.2 軟件工程領域應用復用技術的意義
1.2.1 提高軟件系統質量
(1)可復用構件在組建系統時,需要經過科學合理的設計和試驗,因此組建出的系統具有更強大的性能和更高的穩定性。
(2)在軟件工程領域應用復用技術,能夠提高軟件系統與其他系統的互操作性,提高了軟件系統工作效率。
(3)利用可復用構件和框架,能夠進行快速的原型設計和構建,從而能夠得到用戶的使用情況以及對軟件系統功能的反饋。
1.2.2 降低軟件開發成本
(1)軟件工程領域應用復用技術能夠提高軟件系統的生產率,縮短組建一個新系統需要花費的時間,降低軟件系統的生產成本。
(2)可復用構件在組建過程中經過科學嚴格的設計與檢驗,具有更高的性能和可靠性,能夠有效減少軟件系統維護的可能性,降低軟件系統維護的代價,能夠節省一大筆軟件系統的維護費用。
1.2.3 推動實現軟件工程
在軟件工程領域應用復用技術,可以提高原型設計的效率、避免重復工作、降低系統被維護的可能性、提高軟件系統的質量,對于解決軟件發展面臨的難題具有重要意義,而這又剛好符合軟件工程提出和發展的目的,能夠推動軟件工程的實現和發展。
2 將復用技術應用到軟件工程領域時需要解決的技術問題
2.1 軟件構件技術
主要使用的構件為代碼級構件,直接由工具支持,分為二進制代碼和源代碼兩種,前者的復用方式為黑盒復用,主要用于了解構件的接口和屬性等信息;后者的復用方式為黑盒復用和白盒復用。
將復用技術應用到軟件工程領域的過程中,需要從以下幾個方面應用軟件構件技術:
(1)獲取構件:通常從已經存在的軟件系統中挖掘獲取,找到可復用構件;(2)構件模型:通過設計和組建模型,了解不同構件之間的關系,便于可復用構件的進一步利用;(3)構件描述:對不同類型的構件的性能和屬性等進行清晰準確的描述,著重于構件的組建和使用問題;(4)儲存構件:根據對獲取的構件的描述,將構建分類,并存入構件庫,便于之后對構件的查詢和檢索;(5)構建的組裝:了解不同構件的屬性和組裝機之后,在構件模型的基礎上進行構件組裝,并對其進行標準化的處理。
2.2 CASE技術和軟件復用庫
2.2.1 CASE技術和工具
軟件工程的實現和發展是一個長期復雜的過程,這之中要需要涉及大量的軟件開發,而CASE(計算機輔助軟件工程)技術的使用能夠降低軟件開發和管理的難度,提高軟件開發的質量,促進軟件工程的實現和發展。在復用技術應用于軟件工程領域的過程中,CASE技術可以配合具體的開發方法,實現對可復用構件的選擇、分類、儲存、檢索、組裝、度量等一系列管理。
2.2.2 軟件復用庫
在過去積累的軟件設計的算法和實現技術的基礎上,對代碼進行進一步的改進和提升,并將其保存和編輯,形成可以直接用于檢索、查詢和引用的軟件復用庫。在復用技術應用于軟件工程領域的過程中,需要借助于軟件復用庫對可復用構件、構件組建方式、軟件設計算法等進行管理,降低軟件開發的難度,提高軟件開發的質量和能力。
2.3 開放系統技術
使用開放系統技術主要是為了提高子系統,以及不同系統之間的互操作性,保證系統演化和運行的穩定;還能夠為軟件系統開發的設計過程提供參考依據,縮短軟件系統開發的周期,提高軟件開發的效率;同時,穩定的接口標準使得軟件系統能夠更容易適應復用技術,促進了復用技術在軟件工程領域的應用[1]。
3 復用技術在軟件工程領域的主要應用方面
3.1 復用軟件的分析和測試信息
軟件系統從開發到投入應用的過程中,需要參考大量的信息,其中就包括軟件的分析和測試信息,為了避免對這些信息的重復測量和分析,就可以對部分信息內容進行復用。
(1)復用軟件的分析:將重復的軟件分析內容和方法抽取出來后,可以將軟件分析的內容應用在其他軟件系統的分析上;也可以將軟件分析的方法應用在其他不同的軟件平臺上;還可以對軟件系統中的部分構件進行分析。
(2)復用軟件的測試信息:將重復的測試過程信息和通用的測試用例提出后,前者可用于為其他軟件系統的部分測試提供參考信息;后者可以直接用于其他軟件系統的測試中。
3.2 復用軟件設計
軟件設計的復用,能夠使復用技術在軟件工程領域的應用上升到軟件系統的模塊級別,而且可以復用的范圍也更廣泛。
3.3 復用代碼
代碼的復用主要體現在面向結構化和面向對象的軟件設計方法中。在前者中使用復用技術指的是:將可以復用的部分抽象為函數,以向函數傳遞不同參數的方式,實現軟件系統不同模塊對函數的復用;在后者中使用復用技術指的是:將重復使用基類的代碼或者成員變量等,在子類繼承過程中進行重復使用[2]。
4 復用技術在軟件工程領域的具體應用過程
4.1 指導復用驅動軟件開發過程
指導復用驅動軟件開發過程,主要是為了實現更高的共享率和復用率。一般從兩個角度看待復用技術的應用:(1)應用者角度:利用可復用構件組建出新的軟件系統;(2)生產者角度:重新設計、建立和獲得可復用構件[3]。
4.2 評估軟件復用能力
為了避免其他因素對軟件復用能力評估的干擾,首先,要盡可能地挖掘軟件中能夠被復用的部分,提高軟件的復用能力:對軟件系統的功能、屬性以及開發需求進行充分深入的分析,在此基礎上將適合復用的部分提取出來,并通過提高對這些可復用部分的使用效率,來提高軟件系統的質量。
4.3 選擇可復用構件
(1)根據實際軟件系統開發的需要,從供應商那里,網絡上,或者其他并行項目中選擇可復用構件,但一定要做好對這些構件的質量檢測工作,確保選擇的構件能夠滿足軟件系統開發的需求;
(2)利用公用的或者個人的軟件復用庫,結合所開發的軟件系統的特點和實際開發需求,從軟件復用庫中檢索選擇合適的可復用構件。
5 結語
將復用技術應用于軟件工程領域中,解決軟件系統開發過程中遇到的難題,提高軟件系統開發的效率,推動軟件工程的實現和發展。
參考文獻
[1] 劉小海.軟件復用技術[J].信息與電腦:理論版,2011(12):118-120.
[2] 毛海駿.軟件復用在軟件工程開展中的應用探析[J].電子技術與軟件工程,2014(23):54-55.
[3] 馬伽洛倫.復用技術在軟件工程領域中的應用研究[J].中國新通信,2016(2):159.