999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析面向對象系統分析階段軟件復用模型

2008-12-31 00:00:00劉春娟
考試周刊 2008年24期

摘要: 軟件復用技術在軟件開發過程中發揮著極其重要的作用。如何更好地應用軟件復用技術,成為軟件工程研究中的一項重要課題。文章通過總結分析當今的軟件復用技術,提出了軟件復用在系統分析階段的應用,在此基礎上提出了一種復用模型,并對此模型進行了較詳細的分析。

關鍵詞: OOA階段 軟件復用 范式抽象 智能學習 范式庫

1. 引言

隨著計算機應用范圍的擴大,人們對軟件系統的需求越來越高,計算機軟件作為一門學科也在迅速發展,相關技術和方法層出不窮,隨之而來的軟件規模越來越大,開發費用越來越高,開發的質量和效率不斷降低的問題日益嚴重。針對這些日益復雜的矛盾,滿足高質量、高效率地開發各種各樣復雜、大型的軟件系統的需求,消除所謂的“軟件危機”,成為計算機軟件學科所面臨的重要課題。軟件復用技術的提出成為一種解決這一危機的方案。近年來,面向對象方法和技術成為主流的軟件開發技術,使得軟件復用也成為解決軟件危機一條切實可行的途徑。與此同時,分布式系統、模型構件技術、自動生成技術又為軟件復用注入了新的活力,本文主要針對面向對象系統分析階段軟件復用模型進行分析和探討。

2. 軟件復用

軟件復用(SoftWare Reuse)是將已有軟件的各種有關知識用于建立新的軟件,以縮減軟件開發和維護的花費。軟件復用是提高軟件生產力和質量的一種重要技術。早期的軟件復用主要是代碼級復用,被復用的知識專指程序,后來擴大到包括領域知識、開發經驗、設計決定、體系結構、需求、設計、代碼和文檔等一切有關方面。

2.1軟件復用的主要思想

軟件復用的主要思想是,將軟件看成是由不同功能部分的“組件”所組成的有機體,每一個組件在設計編寫時可以被設計成完成同類工作的通用工具,這樣,如果完成各種工作的組件被建立起來以后,編寫一特定軟件的工作就變成了將各種不同組件組織連接起來的簡單問題,這對于軟件產品的最終質量和維護工作都有本質性的改變。

2.2軟件復用的特點和現狀

軟件復用就是將已有的軟件成分用于構造新的軟件系統。可以被復用的軟件成分一般稱作可復用構件,無論對可復用構件原封不動地使用還是作適當的修改后再使用,只要是用來構造新軟件,則都可稱作復用。軟件復用不僅僅是對程序的復用,它還包括對軟件生產過程中任何活動所產生的制成品的復用,如項目計劃、可行性報告、需求定義、分析模型、設計模型、詳細說明、源程序、測試用例等等。如果是在一個系統中多次使用一個相同的軟件成分,則不稱作復用,而稱作共享;對一個軟件進行修改,使它運行于新的軟硬件平臺也不稱作復用,而稱作軟件移值。

目前及近期的未來最有可能產生顯著效益的復用是對軟件生命周期中一些主要開發階段的軟件制品的復用,按抽象程度的高低,可以劃分為如下的復用級別:

2.2.1代碼的復用

包括目標代碼和源代碼的復用。其中目標代碼的復用級別最低,歷史也最久,當前大部分編程語言的運行支持系統都提供了連接(Link)、綁定(Binding)等功能來支持這種復用。源代碼的復用級別略高于目標代碼的復用,程序員在編程時把一些想復用的代碼段復制到自己的程序中,但這樣往往會產生一些新舊代碼不匹配的錯誤。想大規模地實現源程序的復用只有依靠含有大量可復用構件的構件庫。

2.2.2設計的復用

設計結果比源程序的抽象級別更高,因此它的復用受實現環境的影響較少,從而使可復用構件被復用的機會更多,并且所需的修改更少。這種復用有三種途徑,第一種途徑是從現有系統的設計結果中提取一些可復用的設計構件,并把這些構件應用于新系統的設計;第二種途徑是把一個現有系統的全部設計文檔在新的軟硬件平臺上重新實現,也就是把一個設計運用于多個具體的實現;第三種途徑是獨立于任何具體的應用,有計劃地開發一些可復用的設計構件。

2.2.3分析的復用

這是比設計結果更高級別的復用,可復用的分析構件是針對問題域的某些事物或某些問題的抽象程度更高的解法,受設計技術及實現條件的影響很少,所以可復用的機會更大。復用的途徑也有三種,即從現有系統的分析結果中提取可復用構件用于新系統的分析;用一份完整的分析文檔作輸入產生針對不同軟硬件平臺和其它實現條件的多項設計;獨立于具體應用,專門開發一些可復用的分析構件。

2.2.4測試信息的復用

主要包括測試用例的復用和測試過程信息的復用。前者是把一個軟件的測試用例在新的軟件測試中使用,或者在軟件作出修改時在新的一輪測試中使用;后者是在測試過程中通過軟件工具自動地記錄測試的過程信息,包括測試員的每一個操作、輸入參數、測試用例及運行環境等一切信息。這種復用的級別,不便和分析、設計、編程的復用級別作準確的比較,因為被復用的不是同一事物的不同抽象層次,而是另一種信息,但從這些信息的形態看,大體處于與程序代碼相當的級別。

3. 面向對象系統分析(OOA)階段軟件復用模型

3.1 OOA階段可重用性的本質

編程階段不同類型的編程軟件和類有不同深度的可重用性:高深度、中深度、低深度。所謂高深度重用是指在不進行任何改變就可以直接使用重用產品的重用,像可視化開發工具中的所有控件就屬于這方面的重用。目前,面向服務的軟件開發技術中對服務的重用,只要程序員獲得服務者提供的接口,就可以直接使用別人開發的產品,這種復用也是高深度的復用技術,因此高深度的軟件復用,可重用性最好。所謂中深度的重用,程序員可以根據自己的開發經驗,開發出一些比較通用的組件,在具體的使用中,對這些通用的組件只要稍作修改就可以應用于具體的項目中去,這種復用可重用性較好。當然,對于低深度的可重用性就于具體的項目相關,它只能局限于該項目,可重用性最差。由此可見,可重用性與業務邏輯的相關性是成反比例關系的:越是與業務邏輯無關的重用,重用性越好;反之則越差。

OOA階段,就是對具體項目的分析,關注的就是與具體項目相關的問題和對象,相對來說可重用性較差,但如果在分析中對建模構件注入重用的思想,就可以構建可重用性相對較高的建模構件,這樣在構件足夠多的情況下,將會大大提高系統分析的效率和科學性,這就是OOA階段可重用性的本質。

3.2 OOA階段軟件復用模型研究

OOA階段的軟件復用,在一定程度上可以說是建立在許多優秀的系統分析員實踐和經驗基礎之上的復用,是一種思想上的復用。在這個階段的軟件復用更具有通用性和重用性,因此,構造這個階段的軟件復用模型,可以使復用達到更好的效果。下面給出OOA階段的軟件復用模型:

此模型主要的工作流程為:首先,系統分析師針對項目的需求說明書進行面向對象的系統分析(也就是OOA階段),這個階段所涉及的方法和技術已經相當成熟。通過有經驗的系統分析師,構造出相當抽象的對象、行為、關系等模型。其次,對分析出的對象、行為、關系模型進行更進一步的抽象,總結出相對獨立的、高重用的范式,這些范式成為OOA階段軟件復用的主題。再次,把智能學習系統引入范式庫中,通過對范式庫進行檢索,如果找到已有的范式,可以直接利用這些范式進行下一步的分析和設計;如果找不到所要的范式,利用智能學習系統把范式加入范式庫中,以利用以后分析的重用。上面的流程向我們展示在OOA階段軟件復用所涉及的問題和內容,下面針對這些問題和內容進行具體的研究:

3.2.1范式抽象

所謂范式就是抽象的解決方案模板,它可在不同具體項目中使用。范式抽象就是在此基礎上提出的對范式的設計方法。針對不同的問題域,就應該有與之對應的設計方法,這樣可以使范式的設計達到很高的重用性。針對OOA階段具體現狀,有三種范式抽象方法:

3.2.1.1關系抽象

在OOA階段,針對具體的項目,會分析出大量的關系模型。例如在學校排課表系統中,需要定義教師類,它包括教師姓名、性別、職稱等有關教師的基本信息,同時,為了便于教師很快得出自己的上課表,還需要定義一個與教師對應的教師課表類,這個類顯示了一周中教師的課程安排情況;在網上購物系統中,需要定義一個購物者類,包括了購物者的相關信息,同時為了得到購物者所購的物品,還需定義一個購物車類,該類描述了購物者與所購買的物品的對應關系。這兩個系統的具體業務是不同的,但教師類與教師課表類、購物者類與購物車類的關系卻是基本相同的,都是一個實體對另一個實體的擁有關系,同樣,所進行的操作也基本相同,諸如都涉及對所擁有實體的查詢操作等。因此可將這種關系抽象出來,定義為擁有關系,然后在此關系的基礎上定義相應的操作。這種關系就可以以范式的形式保存起來,在不同的項目中都可重用這種范式。同樣,還可抽象出許多其他的關系范式,如實體—內容關系、上下級關系等。這些關系都是不依賴于具體的項目和業務的,可重復使用,只是在針對具體的業務時,在相關屬性和方法上稍作修改就可以了。

按照上述思想進行的范式抽象就可稱為關系抽象,這種抽象依據的就是分析階段的關系模型,抽象出的范式可稱為關系范式。這種范式與具體項目之間的相似程度可以叫做關系相似性,關系相似性越高,重用的程度就越大。

3.2.1.2相似對象抽象

在不同項目的OOA階段,還會分析出大量的相似對象或類,例如用戶、用戶組、角色、權限等在所有涉及權限管理的系統中都會出現這類對象;在一些相同領域的項目中,由于涉及的領域的標準化,有些對象的相似性以及相同的機率會更大。對于這些相似程度如此大的對象來說,由于其在項目開發中的相對獨立性,把這些對象模型以范式的形式保存起來會使分析的結果得到更大的重用。

按照上述思想進行的范式抽象稱為相似對象抽象,這種抽象依據的是分析階段的對象模型,這種對象模型具有獨立的、高度的相似性,抽象出來的范式可稱為對象范式。這種范式與具體項目之間的相似可稱為表面相似性。表面相似越接近,范式的重用性就越大。

3.2.1.3領域抽象

所謂領域抽象是用于某一領域的抽象問題的解決方案。在同一個領域的項目開發過程中往往能夠總結出更多的相似性,包括關系相似性和表面相似性,將二者相結合,可構建出與行業有關的構件。這種構件是建立在具體領域上的一種抽象,稱為領域抽象。領域抽象的過程可借助領域工程的知識和方法。其中在OOA階段主要用到了領域分析的方法。所謂領域分析是被稱為領域工程更大的學科中的第一項技術活動。

通過對上面幾種范式抽象方式的探討,我們發現OOA階段的軟件復用主要體現在從模型和思想上的復用,是一種底層的復用,這種復用對于軟件的規范和標準化、行業的標準化都有重要的意義。

3.2.2智能的范式庫系統

在OOA階段軟件復用模型中,對于范式庫的構件也是主要的研究對象。范式庫可以說是系統分析師們實踐和經驗的總結,是思想和智慧的結晶,對于這些成果的保存是極為重要的。對于這個問題的解決,本文提出了智能學習范式庫的概念。所謂智能范式庫,就是在對每一個項目的OOA階段,通過范式抽象獲取的范式可以直接通過范式庫進行查找,如果找到可以直接利用范式庫中有關此范式的所有信息進行下階段的設計;如果找不到,系統分析人員就要重新進行設計,同時把設計出的成果保存在范式庫中去。通過這個模型在通過多個項目的分析后,可重用性將大大提高,從而提高設計的效率。

4. 總結

本文通過對軟件復用技術的分析,提出了一種面向對象系統分析階段軟件復用的模型,并對此模型中所涉及范式抽象方法做了分析,指出把它們應用于具體的項目中去很好地利用,大大提高了項目的完成速度。

參考文獻:

[1]黃靖,趙海光.軟件復用,軟件合成與軟件集成[J].計算機應用研究,2004年.

[2]王麗娟.軟件復用技術及其在軟件開發中的應用[J].中山大學學報論壇,2004年第24卷第1期.

[3]許天兵.一種面向對象的軟件復用框架[J].微型電腦應用,2001年第17卷第10期.

主站蜘蛛池模板: 欧美第九页| 在线观看精品自拍视频| 亚洲清纯自偷自拍另类专区| 成人综合网址| 久久公开视频| 国产成人亚洲精品无码电影| 中文字幕有乳无码| 国产在线第二页| 久久精品人人做人人综合试看| 国产精品免费p区| lhav亚洲精品| 亚洲全网成人资源在线观看| 亚洲精品老司机| 亚洲高清中文字幕在线看不卡| 国产伦片中文免费观看| 欧美亚洲日韩不卡在线在线观看| 精品国产一二三区| 国产内射一区亚洲| 亚洲成a人片77777在线播放| 99久久精品无码专区免费| 亚洲区欧美区| 国产91精品久久| 在线日韩日本国产亚洲| 手机看片1024久久精品你懂的| 日韩欧美国产精品| 97成人在线视频| 免费日韩在线视频| 男女精品视频| av大片在线无码免费| 日韩二区三区| 亚洲一区二区成人| 国产99免费视频| 91www在线观看| 国产香蕉在线| 婷婷色婷婷| 亚洲黄色网站视频| 亚洲三级影院| 亚洲国产系列| 精品视频第一页| 亚洲美女一区| 国产一区二区三区精品欧美日韩| 久久毛片免费基地| 日本影院一区| 国产交换配偶在线视频| 亚洲一本大道在线| 午夜视频免费一区二区在线看| 成人午夜精品一级毛片| 国产精品无码一二三视频| 欧美在线国产| 看看一级毛片| 91毛片网| 国产精品香蕉在线观看不卡| 国产va在线观看| 免费一级毛片不卡在线播放| 9cao视频精品| 婷婷在线网站| 亚洲天堂伊人| 91久久国产综合精品女同我| 日韩黄色大片免费看| 又爽又黄又无遮挡网站| 国产成人喷潮在线观看| 亚洲成人黄色在线| 国产精品思思热在线| 国产第八页| 麻豆a级片| 天天综合天天综合| 久久综合干| 亚洲精品制服丝袜二区| 国产99欧美精品久久精品久久| 国产精品lululu在线观看| 国产91小视频在线观看| 九九精品在线观看| 日韩小视频在线播放| www.亚洲天堂| 亚洲免费毛片| 精品久久久久久久久久久| 天天躁夜夜躁狠狠躁躁88| 国产91高跟丝袜| 欧美一区二区啪啪| 国产大片黄在线观看| 国产精品成人免费综合| 中国特黄美女一级视频|