溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

UML建模過程中需要注意哪些問題

發(fā)布時(shí)間:2021-12-06 11:08:39 來源:億速云 閱讀:188 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“UML建模過程中需要注意哪些問題”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“UML建模過程中需要注意哪些問題”這篇文章吧。

UML建模的誤區(qū)

通過理解和避開UML建模的誤區(qū),你能夠是得你自己、你的項(xiàng)目組和你的組織更加有效地進(jìn)行軟件開發(fā)。在揭示這些普遍存在誤區(qū)的過程中,我已經(jīng)表述了AgileModeling(AM)的許多原則。AgileModeling以前叫做ExtremeModeling(XM)。我希望我所給于你的是精神上的食糧。
--------------------------------------------------------------------------------
無論你遵從的是重量級的方法,比如EnterpriseUnifiedProcess(EUP),還是輕量級的開發(fā)過程,如ExtremeProgramming(XP),UML建模在軟件開發(fā)中都是不可或缺的。但不幸的是其中充斥著各種謬誤與迷思。這來自于各個(gè)方面,有從理論家錯(cuò)誤的研究、數(shù)十年來信息技術(shù)領(lǐng)域內(nèi)的文化沉積、軟件工具開發(fā)商天花亂墜半的市場宣傳以及象ObjectManagementGroup(OMG)和IEEE這類組織的標(biāo)準(zhǔn)。這個(gè)月,我要揭示UML建模中的誤區(qū),指出其相應(yīng)的事實(shí)真相。

誤區(qū)一:UML建模就等于是寫文檔

這很可能是其中***破壞力的一條,因?yàn)殚_發(fā)人員可以此為借口而完全放棄UML建模。許多優(yōu)秀的軟件開發(fā)人員會說他們不想把時(shí)間浪費(fèi)在這些“無用的“文檔上。他們沉溺于編碼之中,制造著一些脆弱而劣質(zhì)的系統(tǒng)。另外,甚至于許多盡責(zé)的開發(fā)人員現(xiàn)在也認(rèn)為UML建模是一件討厭的事,而不愿去學(xué)習(xí)相應(yīng)的UML建模技術(shù)。

事實(shí)分析:“模型”與“文檔”這二者在概念上是風(fēng)馬牛不相及的—你可以擁有一個(gè)不是文檔的模型和不是模型的文檔。一幅設(shè)計(jì)圖就是一個(gè)模型,而不論是被畫在餐巾紙的背面,或?qū)懺谝粔K白板上,或在ClassResponsibilityCollaboration(CRC)卡片中,還是根據(jù)記錄在報(bào)紙和便簽紙上的流程圖而生成的一個(gè)粗略的用戶界面原型。雖然這些都不能說是文檔,但他們卻都是有價(jià)值的模型。

UML建模很象是作計(jì)劃:作計(jì)劃的價(jià)值在于計(jì)劃編制的過程中,而非計(jì)劃本身;價(jià)值體現(xiàn)在UML建模的活動中,而非模型本身。實(shí)際上,模型不是你系統(tǒng)中的一部分正式的文檔,而且在完成它們的使命后可以被丟掉。你會發(fā)現(xiàn)值得保留的只有很少的模型,而且它一定是非常***。

誤區(qū)二:從開始階段你可以考慮到所有的一切

這種說法流行于二十世紀(jì)七十年代到八十年代早期,現(xiàn)今的許多經(jīng)理都是在那個(gè)時(shí)候?qū)W習(xí)的軟件開發(fā)。對這一點(diǎn)的迷信會導(dǎo)致在前期投入可觀的時(shí)間去對所有的一切UML建模以期把所有一切都弄正確,試圖在編碼開始前就“凍結(jié)”所有的需求(見誤區(qū)四),以致于患上“分析期麻痹癥”–要等到模型非常***之后才敢向前進(jìn)。基于這個(gè)觀點(diǎn),項(xiàng)目組開發(fā)了大量的文檔,而不是他們真正想要得到的—開發(fā)滿足需要的軟件。

事實(shí)分析:怎么才能走出這個(gè)誤區(qū)呢?首先,你必須認(rèn)識到你不能考慮到所有的細(xì)枝末節(jié)。第二,認(rèn)識到編碼員可能會對UML建模者的工作不以為然(這是可能的,事實(shí)上UML建模者所作的工作在實(shí)際價(jià)值中只占很少的部分),他們或許會說模型沒有反應(yīng)出真實(shí)的情況。第三,認(rèn)識到不管你的最初所作的規(guī)格說明書有多好,但注定代碼會很快地與之失去同步,即便是你自己UML建模自己編碼。一個(gè)基本的道理就是代碼永遠(yuǎn)只會和代碼保持一致。第四,認(rèn)識到迭代法(小規(guī)模地UML建模,編一些代碼,做一些測試,可能還會做一個(gè)小的工作版本)是軟件開發(fā)的準(zhǔn)則。它是現(xiàn)代重量級的軟件開發(fā)過程(如EUP),以及輕量級(如XP)的基本原理。

誤區(qū)三:UML建模意味著需要一個(gè)重量級的軟件開發(fā)過程

走入這個(gè)誤區(qū)(經(jīng)常與誤區(qū)一有聯(lián)系)的項(xiàng)目組常常是連UML建模都徹底地放棄了,應(yīng)為這樣的軟件開發(fā)過程對他們來說太復(fù)雜太沉重了。這不亞于一場天災(zāi)。

事實(shí)分析:你可以用一種敏捷的方式取而代之。關(guān)于用簡單的工具進(jìn)行簡單地UML建模的詳細(xì)內(nèi)容可參看AgileModeling(AM)。而且,你可以丟棄你的模型當(dāng)使命完之后,同樣也可以很基本的方式進(jìn)行UML建模(比如,從辦公桌起來,來到白板前就開始構(gòu)略草圖)。只要你愿意,你就可以輕松地UML建模。

誤區(qū)四:必須“凍結(jié)”需求

這個(gè)要求常常來自高級經(jīng)理,他們確切地想知道他們從這個(gè)項(xiàng)目組能得到什么東西。這樣的好處就是在開發(fā)周期的早期確定下需求,就可以確切地知道所要的是一個(gè)什么樣的東西;缺點(diǎn)就是他們可能沒有得到實(shí)際上所需要的(不全或錯(cuò)誤的需求,譯者)。

事實(shí)分析:變化總會發(fā)生的。由于優(yōu)先級的變化和逐漸對系統(tǒng)有了更進(jìn)一步的理解,都會引起需求的變化。與凍結(jié)需求相反,估計(jì)項(xiàng)目成功的風(fēng)險(xiǎn),盡量去接受變化而且相應(yīng)地采取行動,就象XP所建議的一樣。

誤區(qū)五:設(shè)計(jì)是不可更改的

如同誤區(qū)四,要求每一個(gè)開發(fā)人員必須嚴(yán)格遵從“設(shè)計(jì)“,導(dǎo)致開發(fā)人員為了符合“設(shè)計(jì)“而作了錯(cuò)誤的事情或以錯(cuò)誤的方式作正確的事情?;蛘呤呛唵蔚睾雎粤嗽O(shè)計(jì),否定了所有設(shè)計(jì)可能帶來的好處。凍結(jié)了設(shè)計(jì),你就不能從在項(xiàng)目進(jìn)程中所學(xué)到知識進(jìn)一步獲益。另外一個(gè)很大的趨勢就是開發(fā)出大量的文檔而不是實(shí)際的軟件,使用面向文檔的CASE工具而不是能給項(xiàng)目帶來實(shí)際價(jià)值的面向應(yīng)用的工具。

事實(shí)分析:事實(shí)上,設(shè)計(jì)會經(jīng)常根據(jù)開發(fā)人員和數(shù)據(jù)庫管理員的反饋進(jìn)行修改,因?yàn)樗麄兪亲罱咏鼘?shí)際應(yīng)用的人,通常他們對技術(shù)環(huán)境的理解要好于UML建模者。我們必須的面對這樣一個(gè)事實(shí):人無完人,他們所作的工作也不可能盡善盡美。難道您真的想將一個(gè)并不完善的設(shè)計(jì)固定下來而不再去修改其中的錯(cuò)誤嗎?另外,如果需求并沒有被凍結(jié),其實(shí)就意味著你不能凍結(jié)你的設(shè)計(jì),因?yàn)槿魏涡枨蟮男薷膭荼赜绊懺O(shè)計(jì)。對之,正確的態(tài)度是:只要你的代碼還在改動,涉及就沒完。

以上是“UML建模過程中需要注意哪些問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

uml
AI