面向?qū)ο蟮能浖_發(fā)方法分析論文
面向?qū)ο蟮募夹g(shù)是計(jì)算機(jī)軟件技術(shù)史上的一次革命,為軟件開發(fā)拉開了新的篇章。面向?qū)ο蟮能浖_發(fā)方法,是一種以對(duì)象建模為基礎(chǔ),自底向上和自頂向下相結(jié)合的方法,包括了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu);诖,文章從傳統(tǒng)軟件開發(fā)方法存在的問題出發(fā),并以此為基礎(chǔ),對(duì)面向?qū)ο蟮能浖_發(fā)方法展開分析,以供參考。
相比傳統(tǒng)的軟件開發(fā)方法,面向?qū)ο蟮能浖_發(fā)方法(OMT)實(shí)現(xiàn)了質(zhì)的飛躍,采用了一種自底向上的歸納、自頂向下的分解方法,通過(guò)對(duì)對(duì)象建模的建立,徹底解決了軟件開發(fā)在需求分析、可維護(hù)性以及可靠性三大環(huán)節(jié)上的問題,同時(shí)也大大提高和改善了系統(tǒng)的可維護(hù)性。可見,面向?qū)ο蟮能浖_發(fā)方法,作為一種歸納和演繹思想的綜合體現(xiàn),其對(duì)軟件設(shè)計(jì)、軟件開發(fā)所起的促進(jìn)作用是毋庸置疑的。
一、傳統(tǒng)軟件開發(fā)方法存在的問題
(一)軟件復(fù)用性差
在軟件開發(fā)工程所追求的目標(biāo)當(dāng)中,軟件復(fù)用性是重點(diǎn)之一,同時(shí)也是節(jié)約人力和提升軟件生產(chǎn)率的重要渠道。雖然近年來(lái)軟件當(dāng)中的結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化程序開發(fā)給軟件產(chǎn)業(yè)帶來(lái)了巨大的進(jìn)步,但是還不足以從根源上解決軟件重復(fù)使用的問題。
(二)軟件可維護(hù)性差
傳統(tǒng)的軟件開發(fā)方法過(guò)于側(cè)重一致、完整的文件合成最終的產(chǎn)品,以致在整個(gè)開發(fā)過(guò)程中,軟件的可測(cè)試性、可讀性和可修改性成了衡量一個(gè)軟件產(chǎn)品優(yōu)劣的重要標(biāo)準(zhǔn)。事實(shí)上,在軟件的實(shí)際應(yīng)用中,我們可以發(fā)現(xiàn)這類產(chǎn)品的維護(hù)性差,且所消耗的成本相當(dāng)高。
(三)開發(fā)出的軟件不能滿足用戶需要
傳統(tǒng)的結(jié)構(gòu)化方法所涉及的知識(shí)領(lǐng)域比較廣泛,以致使用它開發(fā)大型軟件時(shí),一旦遇到系統(tǒng)需求模糊或者系統(tǒng)發(fā)生動(dòng)態(tài)變化,就會(huì)影響開發(fā)效率,導(dǎo)致最終開發(fā)出來(lái)的軟件脫離用戶實(shí)際需求。
(四)軟件質(zhì)量難以保證
傳統(tǒng)的軟件開發(fā)方法所開發(fā)出來(lái)的復(fù)雜型大型軟件,或者是需求模糊的系統(tǒng),絕大多數(shù)都是難以成功投入市場(chǎng)使用的。歸其原因,主要有以下兩大因素:第一,軟件開發(fā)人員對(duì)用戶的實(shí)際需求理解不夠透徹,以致最后開發(fā)出來(lái)的軟件和用戶的期待不相符;第二,所開發(fā)出來(lái)的軟件靈活性低,無(wú)法適應(yīng)用戶需求的經(jīng)常性變化,再加上部分用戶有時(shí)會(huì)在軟件的一些使用性能方面提出部分要求,倘若系統(tǒng)的設(shè)計(jì)和開發(fā)是基于過(guò)程中,那么軟件系統(tǒng)的可擴(kuò)充性和穩(wěn)定性就會(huì)無(wú)法適應(yīng)變化,而這種變化也會(huì)對(duì)軟件系統(tǒng)自身的機(jī)構(gòu)造成影響,設(shè)計(jì)、開發(fā)的成本也會(huì)隨之提高。
二、面向?qū)ο蟮能浖_發(fā)方法
現(xiàn)階段,面向?qū)ο蟮能浖_發(fā)方法的研究已經(jīng)日趨成熟,市場(chǎng)上也不斷有新產(chǎn)品涌現(xiàn)。面向?qū)ο蟮能浖_發(fā)方法有Coad方法、Booch方法和OMT方法等。
(一)Booch方法
Booch方法的最突出特點(diǎn)就是它能夠反映出系統(tǒng)的各個(gè)方面是如何相互聯(lián)系和作用的。在一系列的面向?qū)ο蟮?軟件開發(fā)方法中,Booch方法是最早描述當(dāng)中的基礎(chǔ)問題的,其首先提出面向?qū)ο笫菂^(qū)別于傳統(tǒng)軟件開發(fā)的一種方法。Booch方法認(rèn)為面向?qū)ο蟮能浖纸飧咏藗儗?duì)客觀事物的認(rèn)知,它并沒有對(duì)各個(gè)開發(fā)階段進(jìn)行明確的周期劃分,把主要的工作都集中在軟件設(shè)計(jì)階段。
(二)Coad方法
Coad方法是通過(guò)多年來(lái)大型系統(tǒng)開發(fā)的經(jīng)驗(yàn)與面向?qū)ο蟾拍畹挠袡C(jī)結(jié)合,該方法在對(duì)象、結(jié)構(gòu)、屬性和操作的認(rèn)定方面,提出了一套系統(tǒng)化的原則,并完成了從客戶需求角度進(jìn)一步進(jìn)行類和類層次結(jié)構(gòu)的認(rèn)定。Coad方法把軟件系統(tǒng)的開發(fā)劃分為分析和設(shè)計(jì)兩個(gè)階段,雖然說(shuō)Coad方法沒有引入類和類層次結(jié)構(gòu)的術(shù)語(yǔ),但事實(shí)上它已經(jīng)在分類結(jié)構(gòu)、消息關(guān)聯(lián)等概念中呈現(xiàn)了類和類層次結(jié)構(gòu)的特征。從某種程度上來(lái)說(shuō),Coad方法的概念雖然簡(jiǎn)單易懂,但是它對(duì)各個(gè)面向?qū)ο蠛托袨榈拿枋霾粔蛉,?duì)象模型的語(yǔ)言表達(dá)能力也不突出。
(三)OMT方法
OMT方法是一種跟隨OOP向OOD和OOA發(fā)展而形成的面向?qū)ο蟮能浖_發(fā)方法,它的方法涵蓋了軟件分析、軟件設(shè)計(jì)以及軟件實(shí)現(xiàn)三大步驟,貫穿于軟件開發(fā)的全程。OMT還建立了對(duì)象模型、動(dòng)態(tài)模型和功能模型三個(gè)模型,這三個(gè)模型在一定程度上完善了軟件,使軟件開發(fā)更加清晰,也更易于維護(hù)?梢哉f(shuō),作為一種以真實(shí)世界為對(duì)象建模而進(jìn)行的獨(dú)立語(yǔ)言設(shè)計(jì),OMT方法徹底實(shí)現(xiàn)了傳統(tǒng)軟件開發(fā)方法沒有完全實(shí)現(xiàn)的目標(biāo),為絕大多數(shù)領(lǐng)域的應(yīng)用軟件提供了一種實(shí)際的、高效的、可操作的保證。
(四)UML語(yǔ)言
UML語(yǔ)言是一種建模語(yǔ)言,它是軟件工程領(lǐng)域的重要成果之一,在未來(lái),UML語(yǔ)言將會(huì)成為面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)的標(biāo)準(zhǔn)建模語(yǔ)言。UML不僅結(jié)合了Booch方法、OMT方法、OOSE方法的優(yōu)勢(shì),而且還對(duì)其做了進(jìn)一步的發(fā)展,汲取了面向?qū)ο蠹夹g(shù)領(lǐng)域中的其他流派優(yōu)秀的開發(fā)思想,融入了軟件工程領(lǐng)域的新思想、新方法、新技術(shù)?偠灾,UML是一種通用的標(biāo)準(zhǔn)建模語(yǔ)言,適用于以面向?qū)ο蠹夹g(shù)為基礎(chǔ)的任何類型的軟件系統(tǒng),而且還能夠在系統(tǒng)開發(fā)的不同階段使用,從需求規(guī)格描述直至系統(tǒng)完成后的測(cè)試和維護(hù)。
綜上所述,由于面向?qū)ο蟮能浖_發(fā)方法所具備的諸多優(yōu)點(diǎn),相信面向?qū)ο蟮能浖_發(fā)方法在未來(lái)會(huì)有更廣闊的前景。可見,開展面向?qū)ο蟮能浖_發(fā)方法的研究工作,也有著十分重要的現(xiàn)實(shí)意義。
【面向?qū)ο蟮能浖_發(fā)方法分析論文】相關(guān)文章:
仿真軟件開發(fā)中的面向?qū)ο笤O(shè)計(jì)07-05
面向?qū)ο蟮膿p傷容限分析與設(shè)計(jì)11-12
面向?qū)ο蟮闹R(shí)管理系統(tǒng)分析方法的探討07-10
面向?qū)ο蟮那度胧较到y(tǒng)設(shè)計(jì)方法01-20