- 相關(guān)推薦
java建模的誤區(qū)在哪里
建模就等于是寫(xiě)文檔這很可能是其中最具破壞力的一條,因?yàn)殚_(kāi)發(fā)人員可以此為借口而完全放棄建模。許多優(yōu)秀的軟件開(kāi)發(fā)人員會(huì)說(shuō)他們不想把時(shí)間浪費(fèi)在這些“無(wú)用的“文檔上。他們沉溺于編碼之中,下面是小編精心整理的java建模的誤區(qū)在哪里,歡迎閱讀與收藏。
java建模的誤區(qū)在哪里
誤區(qū)一:
建模就等于是寫(xiě)文檔這很可能是其中最具破壞力的一條,因?yàn)殚_(kāi)發(fā)人員可以此為借口而完全放棄建模。許多優(yōu)秀的軟件開(kāi)發(fā)人員會(huì)說(shuō)他們不想把時(shí)間浪費(fèi)在這些“無(wú)用的“文檔上。他們沉溺于編碼之中,制造著一些脆弱而劣質(zhì)的系統(tǒng)。另外,甚至于許多盡責(zé)的開(kāi)發(fā)人員現(xiàn)在也認(rèn)為建模是一件討厭的事,而不愿去學(xué)習(xí)相應(yīng)的建模技術(shù)。
事實(shí)分析:“模型”與“文檔”這二者在概念上是風(fēng)馬牛不相及的—你可以擁有一個(gè)不是文檔的模型和不是模型的文檔。一幅設(shè)計(jì)圖就是一個(gè)模型,而不論是被畫(huà)在餐巾紙的背面,或?qū)懺谝粔K白板上,或在Class Responsibility Collaboration(CRC)卡片中,還是根據(jù)記錄在報(bào)紙和便簽紙上的流程圖而生成的一個(gè)粗略的用戶(hù)界面原型。雖然這些都不能說(shuō)是文檔,但他們卻都是有價(jià)值的模型。
建模很象是作計(jì)劃:作計(jì)劃的價(jià)值在于計(jì)劃編制的過(guò)程中,而非計(jì)劃本身;價(jià)值體現(xiàn)在建模的活動(dòng)中,而非模型本身。實(shí)際上,模型不是你系統(tǒng)中的一部分正式的文檔,而且在完成它們的使命后可以被丟掉。你會(huì)發(fā)現(xiàn)值得保留的只有很少的模型,而且它一定是非常完美。
誤區(qū)二:
從開(kāi)始階段你可以考慮到所有的一切這種說(shuō)法流行于二十世紀(jì)七十年代到八十年代早期,現(xiàn)今的許多經(jīng)理都是在那個(gè)時(shí)候?qū)W習(xí)的軟件開(kāi)發(fā)。對(duì)這一點(diǎn)的迷信會(huì)導(dǎo)致在前期投入可觀的時(shí)間去對(duì)所有的一切建模以期把所有一切都弄正確,試圖在編碼開(kāi)始前就“凍結(jié)”所有的需求 -- 因?yàn)樗芤?guī)劃數(shù)據(jù)庫(kù)。這兩個(gè)工具真正地幫助我實(shí)現(xiàn)了軟件開(kāi)發(fā)的目的 – 制造滿(mǎn)足用戶(hù)要求的軟件。但我絕大多數(shù)得建模工作仍然使用的是簡(jiǎn)單的工具,而不是CASE工具。
誤區(qū)三:
建模是在浪費(fèi)時(shí)間許多新手都這樣認(rèn)為,這主要是因?yàn)樗麄兯邮艿慕逃齼H僅局限于如何編寫(xiě)代碼,對(duì)于完整的開(kāi)發(fā)流程鮮有接觸。而且他們的經(jīng)驗(yàn)也僅限于如何實(shí)現(xiàn)代碼,就如初級(jí)程序員。他們放棄了提高效率和學(xué)習(xí)技能的機(jī)會(huì),這些技能能夠使他們很容易地適應(yīng)不同的項(xiàng)目或組織。他們應(yīng)該為此感到羞愧。
事實(shí)分析:在大多數(shù)情況下,在開(kāi)始編碼之前畫(huà)一個(gè)草圖、開(kāi)發(fā)一個(gè)粗率的原型或者制作一些索引卡片都能提高你的生產(chǎn)效率。高效的開(kāi)發(fā)者在編碼之前都要進(jìn)行建模工作。另外,建模是一種很好的在項(xiàng)目組成員與項(xiàng)目負(fù)責(zé)人之間溝通途徑。你們?cè)谶@個(gè)過(guò)程中探討問(wèn)題,從而對(duì)所要的是一個(gè)什么樣的東西可以得到更好的理解,涉及到該項(xiàng)目中的每個(gè)成員也可得到對(duì)該項(xiàng)目有一個(gè)從分的了解。
誤區(qū)四:
數(shù)據(jù)模型(Data Model)就是一切許多組織基于數(shù)據(jù)模型就蹣跚啟動(dòng)新的開(kāi)發(fā)工作,也許正如你所在的組織:IT部門(mén)對(duì)于數(shù)據(jù)有非常嚴(yán)格的規(guī)定,控制著你的開(kāi)發(fā)項(xiàng)目;或者你以前的數(shù)據(jù)庫(kù)是一團(tuán)糟,別無(wú)選擇。
事實(shí)分析:數(shù)據(jù)模型是一個(gè)重要的但不是最重要的建模,它最好是建立在另外的模型之上。(參見(jiàn)“Extreme Modeling”,Thinking Objectively,Nov.2000)。這即使在象數(shù)據(jù)倉(cāng)庫(kù)這類(lèi)面向數(shù)據(jù)的項(xiàng)目中也如此。如果沒(méi)有很好的理解用戶(hù)是如何使用該數(shù)據(jù)倉(cāng)庫(kù)的(在數(shù)據(jù)模型中沒(méi)有表示出來(lái)),這些項(xiàng)目經(jīng)常是以可悲的失敗而告終。你可以使用的模型有很多 – 使用案例(use cases),業(yè)務(wù)規(guī)則(business rules),activity diagrams,類(lèi)圖(class diagrams),component diagrams,用戶(hù)界面流程圖(user interface flow diagrams)和CRC,等等。數(shù)據(jù)模型僅僅是其中的一種。每種模型都有其長(zhǎng)處和短處,應(yīng)該正確地使用。
誤區(qū)五:
所有的開(kāi)發(fā)人員都知道如何建模我們現(xiàn)在面臨照這樣一個(gè)嚴(yán)重的問(wèn)題:許多不是開(kāi)發(fā)人員的人,包括高級(jí)經(jīng)理和用戶(hù),不知道軟件是如何建成的。其結(jié)果,他們不能夠區(qū)分開(kāi)熟練的開(kāi)發(fā)者和一般的程序員(當(dāng)然也分不清高級(jí)程序員和一般程序員),他們想當(dāng)然地認(rèn)為所有的開(kāi)發(fā)人員都具備從頭到尾開(kāi)發(fā)整個(gè)系統(tǒng)的技能。
事實(shí)分析:這肯定是不正確的。建模的技能,是只有當(dāng)一個(gè)開(kāi)發(fā)者通過(guò)學(xué)習(xí)它,并經(jīng)過(guò)長(zhǎng)期的實(shí)踐才能夠掌握。一些非常聰明的程序員常常相信自己無(wú)所不能,畢竟他們終究只是程序員。正因?yàn)檫@樣的狂妄自大,他們承當(dāng)?shù)囊恍┤蝿?wù)是他們根本就沒(méi)有相應(yīng)的技能去完成的。軟件開(kāi)發(fā)是如此的復(fù)雜,單單一個(gè)人是很難具備所有的技能去成功地進(jìn)行開(kāi)發(fā),甚至也不可能去配置有一定復(fù)雜程度的系統(tǒng)。開(kāi)發(fā)這應(yīng)該有自知之明,明白他們自己的弱點(diǎn),學(xué)無(wú)止境。通過(guò)互相取長(zhǎng)補(bǔ)短,建模者可從程序員身上學(xué)到一項(xiàng)技術(shù)的具體細(xì)節(jié),程序員也可從建模者那里學(xué)。
學(xué)習(xí)java開(kāi)發(fā)過(guò)程中存在的誤區(qū)有哪些
1.沒(méi)有系統(tǒng)的學(xué)習(xí)計(jì)劃
很多學(xué)員并不了解Java開(kāi)發(fā)技術(shù),更不用說(shuō)制定系統(tǒng)的學(xué)習(xí)計(jì)劃,還有很多學(xué)員剛開(kāi)始在網(wǎng)上找了很多相關(guān)的培訓(xùn)課程,但沒(méi)有方向的盲目學(xué)習(xí),會(huì)讓自己越來(lái)越迷茫。所以學(xué)習(xí)java開(kāi)發(fā)技術(shù)知識(shí),系統(tǒng)的學(xué)習(xí)計(jì)劃是非常有必要的。
2.封閉式學(xué)習(xí)
小伙伴在java培訓(xùn)機(jī)構(gòu)學(xué)習(xí)的過(guò)程中,一定不要獨(dú)自學(xué)習(xí),要學(xué)會(huì)和老師、同學(xué)進(jìn)行交流,在交流的過(guò)程中學(xué)習(xí)別人比較好的編程思維,杜絕封閉式獨(dú)自學(xué)習(xí)的方式。
3.加群學(xué)習(xí)
很多學(xué)員學(xué)習(xí)時(shí)會(huì)在網(wǎng)上加一些所謂的學(xué)習(xí)群,或者進(jìn)一些論壇討論學(xué)習(xí),這樣學(xué)習(xí)不太系統(tǒng)而且知識(shí)碎片化,后期的工作中肯定也會(huì)遇到各種問(wèn)題。
4.書(shū)籍學(xué)習(xí)
對(duì)于零基礎(chǔ)初學(xué)java開(kāi)發(fā)技術(shù)小伙伴來(lái)說(shuō),看書(shū)也是一個(gè)學(xué)習(xí)的途徑,但是書(shū)本上的知識(shí)點(diǎn)是比較籠統(tǒng)概括的,其實(shí)并沒(méi)有java培訓(xùn)班老師線下講的通俗易懂,對(duì)于初入門(mén)學(xué)習(xí)java開(kāi)發(fā)技術(shù)的小伙伴來(lái)說(shuō),看書(shū)學(xué)習(xí)是無(wú)法學(xué)習(xí)到更深入的java開(kāi)發(fā)技術(shù)知識(shí)的。
5.教程自學(xué)
現(xiàn)在市場(chǎng)上學(xué)習(xí)java開(kāi)發(fā)技術(shù)知識(shí)的方式有兩種:自學(xué)和java培訓(xùn),有部分小伙伴會(huì)選擇自學(xué)的方式來(lái)學(xué)習(xí)java開(kāi)發(fā)技術(shù)知識(shí),但是,不能確保小伙伴在網(wǎng)上所找到的學(xué)習(xí)教程是系統(tǒng)的,而且自學(xué)的方式學(xué)習(xí)效率比較低,不利于小伙伴快速入門(mén)學(xué)習(xí)。
【java建模的誤區(qū)在哪里】相關(guān)文章:
java建模誤區(qū)有哪些07-26
JAVA語(yǔ)言認(rèn)識(shí)的誤區(qū)06-06
Java編程語(yǔ)言程序的認(rèn)識(shí)誤區(qū)03-11
Java常見(jiàn)誤區(qū)與細(xì)節(jié)有哪些呢08-05
c語(yǔ)言和java語(yǔ)言的區(qū)別在哪里03-22
Java與Java web的區(qū)別01-30
什么是低面建模 如何進(jìn)行低面建模設(shè)計(jì)04-25
淺談Java語(yǔ)言與Java 技術(shù)03-28
Java與Java web有什么不同04-16