免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
UML感悟
做業(yè)務(wù)系統(tǒng)很喜歡用uml來(lái)做分析和設(shè)計(jì)模型,很喜歡在rose中作以下事情:
1.以用戶需求作為輸入,做用例分析和領(lǐng)域模型設(shè)計(jì),得到一個(gè)系統(tǒng)用例模型和領(lǐng)域模型
2.接下來(lái)就做模型遷移(轉(zhuǎn)換),將用例模型和領(lǐng)域模型轉(zhuǎn)換為特定語(yǔ)言環(huán)境的設(shè)計(jì)模型和數(shù)據(jù)庫(kù)模型,比如java和oracle,其中還可以在java組件上直接應(yīng)用23種設(shè)計(jì)模式。
3.接下來(lái)將設(shè)計(jì)模型和數(shù)據(jù)庫(kù)模型正向工程為java代碼框架和數(shù)據(jù)庫(kù)建庫(kù)腳本(或者直接在數(shù)據(jù)庫(kù)中建表)
4.如果想將代碼或者數(shù)據(jù)庫(kù)表和設(shè)計(jì)模型或者數(shù)據(jù)庫(kù)模型保持同步,可以進(jìn)行逆向工程(這些uml工具真的很強(qiáng)大)
4.接下來(lái)就是實(shí)現(xiàn)所有的代碼框架和編寫(xiě)dao組件
5.最后可能的話還可以畫(huà)一個(gè)部署模型

整個(gè)路線圖看起來(lái)很好很強(qiáng)大很清晰,也很和諧。但是做到后來(lái)總是很困惑,可能是自己對(duì)uml把我不好或者是濫用了uml,那就是:分析模型和設(shè)計(jì)模型畫(huà)好后,代碼也寫(xiě)了一部分了,結(jié)果客戶說(shuō)他的需求要做大的變更。我傻眼了,需求的變化導(dǎo)致分析模型要調(diào)整,設(shè)計(jì)模型也要調(diào)整(你不要罵我做的模型不具備可擴(kuò)展性),代碼也要做一部分的調(diào)整(記住只是一部分),我該如何下手:
a.修改分析模型,然后將分析模型再轉(zhuǎn)換為設(shè)計(jì)模型,然后將設(shè)計(jì)模型再轉(zhuǎn)換為代碼模型(框架)和數(shù)據(jù)庫(kù)模型
b.直接修改分析模型,直接修改設(shè)計(jì)模型,直接修改代碼和數(shù)據(jù)庫(kù)模型
c.直接修改代碼和數(shù)據(jù)庫(kù)表,然后采用逆向工程方法同步先前的設(shè)計(jì)模型,數(shù)據(jù)庫(kù)模型,然后再逆向工程到分析模型(呵呵,這些uml工具確實(shí)很強(qiáng)大)

采用上述a,b,c三種方法都是一件很痛苦的事情,而且會(huì)導(dǎo)致分析模型,設(shè)計(jì)模型和代碼模型的不同步,另外,采用方法a很可能導(dǎo)致你已經(jīng)編寫(xiě)好的代碼和數(shù)據(jù)庫(kù)腳本被模型轉(zhuǎn)換出來(lái)的新代碼框架和數(shù)據(jù)庫(kù)腳本給覆蓋掉。這時(shí)你就徹底傻眼了,所有的代碼和腳本都得重新來(lái)過(guò)(誰(shuí)知到以前的代碼是怎么寫(xiě)的,有些人會(huì)說(shuō)你不是有配置庫(kù)嗎,有版本管理嗎,把原來(lái)的代碼考回來(lái)不就是了,事情要是有這么簡(jiǎn)單就好了,關(guān)鍵是你有這么多的時(shí)間去反反復(fù)復(fù)做這些事情嗎,項(xiàng)目的進(jìn)度怎么保證,如果是在單純地玩玩uml也沒(méi)什么,關(guān)鍵咱們是在做項(xiàng)目)。
如果項(xiàng)目的規(guī)模比較大,大面積出現(xiàn)上述的情況,那么這個(gè)項(xiàng)目就很危險(xiǎn)了,一般情況下項(xiàng)目都會(huì)以失敗而終結(jié),當(dāng)然這是我碰到的一般情況,可能您或者是大家碰到的情況要好些。

 

后來(lái)再也不去做那種傻事了,在項(xiàng)目中頂多用uml畫(huà)畫(huà)靜態(tài)的用例圖、類(lèi)圖、實(shí)體關(guān)系圖(也叫分析模型,領(lǐng)域模型)以及動(dòng)態(tài)的時(shí)序圖什么的,作為交流和溝通使用,或者作為文檔備案,這樣就夠了,不再去搞什么正向工程和逆向工程了,更多的時(shí)候只是用office word來(lái)畫(huà)幾個(gè)草圖,然后放到需求或者設(shè)計(jì)文檔中就可以了。

 

曾經(jīng)聽(tīng)一位uml培訓(xùn)老師講到:只要架構(gòu)師或者設(shè)計(jì)師將系統(tǒng)的體系架構(gòu)和代碼框架設(shè)計(jì)好,剩下的事情只要程序員去填空就可以了。呵呵,我個(gè)人覺(jué)得這個(gè)老師很天真,也很單純,一個(gè)系統(tǒng)不可能就這么簡(jiǎn)簡(jiǎn)單單就出來(lái)了的,要不還要那么多迭代開(kāi)發(fā)方法干什么。

最后說(shuō)一下Hashmap與Entity的問(wèn)題該怎么處理,之前我也不知道怎么處理,后來(lái)上面的那位uml培訓(xùn)老師告訴我可以用uml 2.x中的組合結(jié)構(gòu)圖(Compostion Construction diagram)來(lái)表示復(fù)雜的類(lèi)結(jié)構(gòu),例如java中的內(nèi)部類(lèi)和匿名類(lèi)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
面向?qū)ο筌浖_(kāi)發(fā)技術(shù)(OOA-OOD-OOP)
領(lǐng)域模型驅(qū)動(dòng)設(shè)計(jì)(DDD)之模型提煉
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD:Domain
如何進(jìn)行系統(tǒng)分析與設(shè)計(jì)
PHP程序員都應(yīng)該會(huì)用的五個(gè)工具
一位軟件工程師的軟件過(guò)程總結(jié)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服