于永清 朱麗華
摘 要:面向?qū)ο筌浖こ桃詫ο鬄橹行?,在問題域、自然語言、面向?qū)ο蟮木庉嬚Z言等方面,發(fā)展迅速,應(yīng)用廣泛。在本文中研究了軟件工程發(fā)展過程中的問題,并提出了簡單的解決方法,在應(yīng)用中如何把握面向?qū)ο筌浖こ淘陂_發(fā)中所遵循的原則,同時進(jìn)一步探討常用的幾種面向?qū)ο筌浖こ痰姆椒ǎ唵胃乓撌銎涮攸c、作用及發(fā)展趨勢。
關(guān)鍵詞:面向?qū)ο?;軟件工程;發(fā)展趨勢
隨著社會科技信息的不斷進(jìn)步,面向?qū)ο筌浖こ套哌M(jìn)了人們的視野,關(guān)注程度非常廣泛。面向?qū)ο筌浖こ?,主要是以對象為中心,用最容易理解的方式方法解決生活中存在的問題,并通過開發(fā)相應(yīng)的軟件去直接解決和應(yīng)用。面向?qū)ο笤趹?yīng)用在軟件工程領(lǐng)域中給人們帶來全新的思路和方法,在軟件工程領(lǐng)域中更是一種極好的工具。隨著社會的需求,面向?qū)ο筌浖こ田w速發(fā)展的同時,也存在一些問題需要探討,基于現(xiàn)有的技術(shù)基礎(chǔ),下面對面向?qū)ο筌浖こ淘诠ぷ髦羞M(jìn)行認(rèn)識和探討。
1 審視面向?qū)ο蠓治?/p>
面向?qū)ο蠓治?,英文簡稱OOA,是目前軟件領(lǐng)域應(yīng)用廣泛的一種技術(shù),由標(biāo)識對象、結(jié)構(gòu)、定義主題、定義屬性、定義服務(wù)五個主要步驟組成。這種方法仍是以對象為中心,要求對問題領(lǐng)域和對象進(jìn)行分類,繼而找出這些對象的特點和彼此間的關(guān)系,由此建立一個能解決問題的統(tǒng)一規(guī)格的詳細(xì)說明。
1.1 面向?qū)ο蠓治龅木唧w操作過程
第一,繪制生成使用的用例圖。用例圖是能夠在系統(tǒng)會話中完成與用戶使用系統(tǒng)行為相關(guān)的事務(wù)序列。用例之間存在三種關(guān)系:角色與用例之間的連接、用例之間的使用和擴(kuò)展以及通過角色執(zhí)行來識別不同的用例;第二,繪制構(gòu)建系統(tǒng)的靜態(tài)模型。包括類圖、對象圖等圖形的靜態(tài)模型反映了軟件系統(tǒng)中各種對象的類型以及彼此間的靜態(tài)關(guān)系,而靜態(tài)模型也是以對象為中心構(gòu)建的,是類圖、對象圖等圖形之間最大的共同點;第三、繪制構(gòu)建系統(tǒng)的動態(tài)模型。事物發(fā)展的過程中總是包含了動態(tài)和靜態(tài)兩種過程,動靜結(jié)合,二者互相聯(lián)系相輔相成,不可分割。同樣的,面向?qū)ο蠓治鲋杏徐o態(tài)模型,就有動態(tài)模型,它包含保險系統(tǒng)執(zhí)行時的各種序列狀態(tài)以及交互關(guān)系的系列行為。
1.2 面向?qū)ο蠓治龅膬?yōu)點
作為現(xiàn)代軟件生產(chǎn)開發(fā)的使用頻率較高的重要技術(shù)之一,面向?qū)ο蠓治霰厝粨碛衅洳豢纱胬^而模仿的優(yōu)勢。優(yōu)點如下:第一,面向?qū)ο蠓治鲎⒅貙栴}領(lǐng)域的理解和認(rèn)識,有利于問題的解決;第二、它靈活方便,能夠在當(dāng)前實際運行分流和分析化的分流之間出現(xiàn)差異時進(jìn)行調(diào)整以適應(yīng)變化;第三,它沒有分列屬性和專用屬性的服務(wù),而將它們視為統(tǒng)一的整體,更為完整明了;第四、它使用了對象之間依賴性最小的自包含分塊進(jìn)行說明和分析,能夠使軟件更為具體深刻易懂,等等。
2 做好面向?qū)ο笤O(shè)計
面向?qū)ο笤O(shè)計獨立于編程語言描述軟件設(shè)計,同樣是靈活而又便利的。他建立在對“面向?qū)ο蟆钡纳钊肴胬斫夂驼J(rèn)識的基礎(chǔ)之上,解決類與互相通信的對象之間的組織關(guān)系,它與面向?qū)ο蠓治鲋g具有同樣的概念、原則和表示方法,二者相輔相成,不可分割和剝離。面向?qū)ο笤O(shè)計的具體過程如下:
⑴對象行為和對象間交互作用的進(jìn)一步細(xì)化。
⑵用例的設(shè)計和實現(xiàn)。在面向?qū)ο蠓治鲋猩墒褂糜美龍D的操作和步驟讓我們對用例有一定的了解,然而那只是從系統(tǒng)的外部展現(xiàn)系統(tǒng)的功能,并不全面。作為一種完善和補(bǔ)充,面向?qū)ο笤O(shè)計中的用例設(shè)計實現(xiàn)了系統(tǒng)內(nèi)部的對象與外部功能相互作用和適應(yīng)配合。
⑶細(xì)化分析階段的交互圖、狀態(tài)圖、活動圖。
⑷確定系統(tǒng)可重用的類或部件。
⑸用構(gòu)建圖描述代碼部件的物理系結(jié)構(gòu)及相互之間的依賴關(guān)系。
⑹用配置圖描述軟硬件的物理系結(jié)構(gòu)。面向?qū)ο笤O(shè)計則對問題領(lǐng)域進(jìn)行觀察、分析,使系統(tǒng)能夠直接映射出問題領(lǐng)域,維持問題領(lǐng)域中對象的完整性和真實性,而面向?qū)ο笤O(shè)計則對面向?qū)ο笤O(shè)計所做出的對象模型進(jìn)行抽象化和歸納化,生成直觀的歸納性圖形,使對象模型得以概括和升華。
3 總結(jié)
綜上所述,面向?qū)ο筌浖こ谭椒▽⒚嫦驅(qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中的方法和工具,它的主要思想是建立在對象的基礎(chǔ)概念之上即以對象為中心進(jìn)行系統(tǒng)研究和開發(fā)。雖然面向?qū)ο筌浖こ谭椒ù嬖谥恍┤毕莺筒蛔?,但是相比于傳統(tǒng)和開發(fā)。雖然面向?qū)ο筌浖こ谭椒?,面向?qū)ο筌浖こ谭椒ň哂懈嗟膬?yōu)點,面向?qū)ο筌浖こ谭椒ㄍ怀鋈说乃季S邏輯,改變了傳統(tǒng)工程方法過于機(jī)械化的缺點,更為現(xiàn)實和具體,更加有利于人們對軟件工程方法的認(rèn)識和理解,提高軟件生產(chǎn)的效率和效果,為軟件開發(fā)領(lǐng)域提供了一種新思路新方法。同時它可以為軟件開發(fā)領(lǐng)域帶來便利,但是這個工具的建立需要一個過程,所以它是漫長而又復(fù)雜的工程。
[參考文獻(xiàn)]
[1]邸劍,李新葉,宋雨.面向?qū)ο筌浖こ谭椒ǚ治鯷J].微機(jī)發(fā)展,2002(1).
[2]邱威,李代平.基于面向?qū)ο筌浖こ谭椒ǖ腃AI開發(fā)與實現(xiàn)[J].黑上饒師范學(xué)院學(xué)報(自然科學(xué)版),2003(3).