- 相關推薦
計算機軟件復用探討的論文參考
[論文摘 要]計算機軟件作為一門學科得到了迅速發展,相關技術和方法層出不窮,研究領域不斷深入和發展,計算機的應用范圍也得到了很大程度的普及,人們對軟件系統的需求急劇上升,隨之而來的軟件規模越來越大,開發費用越來越高,開發的質量和效率不斷降低的問題日益嚴重,如何解決這些日益復雜的矛盾,滿足高質量、高效率地開發各種各樣日趨復雜、大型的軟件系統的需求,消除所謂的“軟件危機”,成為計算機軟件學科所面臨的重要課題。
軟件復用技術的提出成為消除這種危機的一種解決方案。近年來,特別是20世紀90年代以后,面向對象方法和技術成為主流的軟件開發技術,使得軟件復用被視為解決軟件危機一條現實可行的途徑。與此同時,模型構件技術、分布式系統、領域工程、自動生成技術又為軟件復用注入了新的活力,本文對面向對象系統分析階段軟件復用模型進行了研究和探討。
一、軟件復用
軟件復用的概念是在1968年NATO軟件工程會議上被第一次引入的,在其后的幾十年中,進行了許多復用技術的研究和實踐活動,但因技術和非技術方面的種種因素,造成復用技術在整體上對軟件產業的影響不盡人意。面向對象方法和技術的出現及成熟,為軟件復用提供了強有力的技術支持,尤其是軟件構件技術的發展為其注入了新的活力,使得軟件復用研究重新成為熱點,被視為解決軟件危機、提高軟件生產效率和質量的一個現實可行的途徑,同時也成為了避免軟件開發中重復勞動的解決方案,并在一定程度上降低了軟件開發的費用。目前,軟件復用技術主要從兩個方面來考慮:產品復用、過程復用。
產品復用:所謂產品復用是指復用已有的軟件產品。目前基于構件的和面向服務的軟件開發模式就是建立在這種軟件復用的基礎上的。這兩種開發模式主要通過對現有的構件和服務進行合成或集成,從而生成所需要軟件的過程。產品的復用是目前軟件復用技術研究的焦點,在這個復用的過程中涉及到的關鍵技術是構件技術和軟件架構技術,在成熟的構件和架構的技術上,可以使產品復用達到良好的效果。
二、面向對象系統分析(OOA)階段軟件復用模型
1.OOA階段可重用性的本質
編程階段不同類型的編程軟件和類有不同深度的可重用性:高深度、中深度、低深度。
所謂高深度重用是指在不進行任何改變就可以直接使用重用產品的重用,像可視化開發工具中的所有控件,就屬于這方面的重用;目前,面向服務的軟件開發技術中對服務的重用,只要程序員獲得服務者提供的接口,就可以直接使用別人開發的產品,這種復用也是高深度的復用技術,因此高深度的軟件復用,可重用性最好;所謂中深度的重用,程序員可以根據自己的開發經驗,開發出一些比較通用的組件,在具體的使用中,對這些通用的組件只要稍作修改就可以應用于具體的項目中去,這種復用可重用性較好。當然,對于低深度的可重用性就于具體的項目相關,它只能局限于該項目,可重用性最差。由此可見,可重用性與業務邏輯的相關性是成反比例關系的:越是與業務邏輯無關的重用,重用性越好;反之則越差。
2.OOA階段軟件復用模型研究
OOA階段的軟件復用,在一定程度上可以說是建立在許多優秀的系統分析員實踐和經驗基礎之上的復用,是一種思想上的復用。在這個階段的軟件復用更具有通用性和重用性,因此,構造這個階段的軟件復用模型,可以使復用達到更好地效果。
3.范式抽象
所謂范式就是抽象的解決方案模板,它可在不同具體項目中使用。范式抽象就是在此基礎上提出的對范式的設計方法。針對不同的問題域,就應該有與之對應的設計方法,這樣可以使范式的設計達到很高的重用性。針對OOA階段具體現狀,有三種范式抽象方法:
(1)關系抽象
在OOA階段,針對具體的項目,會分析出大量的關系模型。例如在學校排課表系統中,需要定義教師類,它包括教師姓名、性別、職稱等有關教師的基本信息,同時,為了便于教師很快得出自己的上課表,還需要定義一個與教師對應的教師課表類,這個類顯示了一周中教師的課程安排情況;在網上購物系統中,需要定義一個購物者類,包括了購物者的相關信息,同時為了得到購物者所購的物品,還需定義一個購物車類,該類描述了購物者與所購買的物品的對應關系。這兩個系統的具體業務是不同的,但教師類與教師課表類、購物者類與購物車類的關系卻是基本相同的,都是一個實體對另一個實體的擁有關系,同樣,所進行的操作也基本相同,諸如都涉及到對所擁有實體的查詢操作等。因此可將這種關系抽象出來,定義為擁有關系,然后在此關系的基礎上定義相應的操作。這種關系就可以以范式的形式保存起來,在不同的項目中都可重用這種范式。同樣,還可抽象出許多其他的關系范式,如實體——內容關系,上下級關系等。這些關系都是不依賴于具體的項目和業務的,可重復使用,只是在針對具體的業務時,在相關屬性和方法上稍作修改就可以了。
(2)相似對象抽象
在不同項目的OOA階段,還會分析出大量的相似對象或類,例如用戶、用戶組、角色、權限等在所有涉及到權限管理的系統中都會出現這類對象;在一些相同領域的項目中,由于涉及的領域的標準化,有些對象的相似性以及相同的機率會更大。對于這些相似程度如此大的對象來說,由于其在項目開發中的相對獨立性,把這些對象模型以范式的形式保存起來會使分析的結果得到更大的重用。
按照上述思想進行的范式抽象稱為相似對象抽象,這種抽象依據的是分析階段的對象模型,這種對象模型具有獨立的、高度的相似性,抽象出來的范式可稱為對象范式。這種范式與具體項目之間的相似可稱為表面相似性。表面相似越接近,范式的重用性就越大。
(3)領域抽象
所謂領域抽象是用于某一領域的抽象問題的解決方案。在同一個領域的項目開發過程中往往能夠總結出更多的相似性,包括關系相似性和表面相似性,將二者相結合,可構建出與行業有關的構件。這種構件是建立在具體領域上的一種抽象,稱為領域抽象。領域抽象的過程可借助領域工程的知識和方法。其中在OOA階段主要用到了領域分析的方法。所謂領域分析是被稱為領域工程更大的學科中的第一項技術活動。當業務、系統或產品域被定義為長期的業務策略,則可以展開持續的創建強健的可復用庫的工作,其目標是能夠在領域中以非常高的可復用構件率來創建軟件。領域分析在領域抽象過程的作用是從OOA得出的對象、關系、行為模型的抽象出與領域相關的領域范式,其中包括關系范式、相似對象范式和處理過程范式等。這些范式與前面提到的范式唯一不同就是有了特定領域的標識,這在同一領域的開發中將達到高度的重用性。
三、總結
本文通過對軟件復用技術的分析,提出了一種面向對象系統分析階段軟件復用的模型,并對此模型中所涉及到范式抽象方法做了探討,并把它們應用于具體的項目中去,從而很好地利用的設計思想,大大提高了項目的完成速度。另外,對于范式庫的研究也為建立在高層上的軟件復用庫管理提出了新的研究課題:例如對于編碼階段復用構件庫的檢索條件也可以擴展為以范式為索引的檢索等。這些都成為下一步的研究課題。
[參 考 文 獻]
[1]Roger S Pressman著,黃柏素、梅宏譯:《軟件工程實踐者的研究方法》,機械工業出版社1999年版。
[2]黃靖、趙海光:《軟件復用,軟件合成與軟件集成》,《計算機應用研究》2004年。
[3]王麗娟:《軟件復用技術及其在軟件開發中的應用》,《中山大學學報論壇》2004年第24卷第1期。
[4]段小君、高金環:《軟件復用與面向對象技術》,《西安郵電學院學報》2004年第9卷第2期。
[5]許天兵:《一種面向對象的軟件復用框架》,《微型電腦應用》2001年第17卷第10期
【計算機軟件復用探討的論文參考】相關文章:
關于計算機軟件復用探討09-03
計算機軟件碩士論文參考文獻05-26
關于論文參考文獻著錄注意事項的探討08-27
現代參考咨詢評價探討07-21
計算機軟件論文09-19
參考文獻著錄質量探討06-16
探討計算機軟件系統的保護及恢復技術10-22
web論文參考文獻參考09-18
無線通信的空分復用技術研究現狀論文10-09
計算機軟件工程項目管理探討09-25