UML的奥妙 - 学习UML笔记(1)
?
前兩天買了一本《大象 Thinking in UML》,其實(shí)本就有學(xué)習(xí)UML的念頭,但都因這樣那樣的事兒耽擱了,當(dāng)然,也有些惰性在作祟......
閑話少說(shuō),這本書看完了一章,發(fā)現(xiàn)還是不錯(cuò)的,先把這兩天的學(xué)習(xí)情況總結(jié)一下:
一、UML來(lái)龍去脈的第一章:
從現(xiàn)實(shí)情況而言,面向過(guò)程方法在復(fù)雜度不是很大的項(xiàng)目中應(yīng)該說(shuō)是適用的,但是對(duì)于規(guī)模較大、復(fù)雜度較高的項(xiàng)目而言,應(yīng)該盡可能考慮面向?qū)ο蟮姆椒?#xff0c;也就是OOA/OOD/OOP。
=>說(shuō)明方法方式是死的,活學(xué)活用+實(shí)踐總結(jié)才是正解。
面向?qū)ο蟮姆椒ǖ闹攸c(diǎn)和難點(diǎn)在于抽象、如何抽象才能貼近現(xiàn)實(shí)之需?我們需要解決及面對(duì)以下三點(diǎn)問(wèn)題:
1)現(xiàn)實(shí)環(huán)境怎樣映射到對(duì)象環(huán)境?
2)用對(duì)象的角度怎樣來(lái)描述現(xiàn)實(shí)環(huán)境?
3)怎樣驗(yàn)證對(duì)象環(huán)境的描述是正確反映了現(xiàn)實(shí)環(huán)境的實(shí)際的?
當(dāng)然,答案就是UML,確切地說(shuō),UML是工具,我個(gè)人覺得作者應(yīng)該在這個(gè)時(shí)侯先不緊跟著就提UML,應(yīng)該先說(shuō)說(shuō)RUP,在說(shuō)UML會(huì)比較好。我的理解是:要回答上述三個(gè)問(wèn)題,答案應(yīng)該是各種軟件工程方法,比如RUP,同時(shí)運(yùn)用的工具是UML,這么理解比較好。
UML中,有用例(use case)、類、包等等,稱之為元模型;規(guī)則和圖形稱之為表示法或視圖(View)。
一般整個(gè)建模的過(guò)程是:
1)先從現(xiàn)實(shí)世界->業(yè)務(wù)模型:
?整個(gè)面向?qū)ο蠓椒▏@這這四個(gè)基本因素:人、事、物以及規(guī)則。
?這時(shí)候用例即事(要實(shí)現(xiàn)的業(yè)務(wù)目標(biāo)),參與者(actor)即人,業(yè)務(wù)場(chǎng)景(business scenario)和用例場(chǎng)景(use case scenario)是規(guī)則,業(yè)務(wù)對(duì)象模型(business object model)是物。
2)業(yè)務(wù)模型->概念模型:
上面的業(yè)務(wù)模型就是開始,得到了業(yè)務(wù)模型后,要把業(yè)務(wù)模型轉(zhuǎn)換為計(jì)算機(jī)能夠理解的模型:先過(guò)渡到概念模型吧。
UML通過(guò)概念化的過(guò)程(conceptual)建立分析模型,分析模型向上映射了原始需求,向下為計(jì)算機(jī)實(shí)現(xiàn)規(guī)定了高層次的抽象,承上啟下。
人:用戶,邊界類(boundary):事,實(shí)體類(entity):物,控制類(control):規(guī)則。
概念模型描繪出了軟件藍(lán)圖,比如造汽車,已經(jīng)在圖紙上繪制了汽車所有的零部件,以及如何組裝這些零部件的步驟。
3)概念模型->設(shè)計(jì)模型:
汽車藍(lán)圖描繪出來(lái)后,就是樣建造零部件,以及生產(chǎn)汽車了。
從軟件開發(fā)角度而言,就是要把概念模型實(shí)例化,實(shí)例化的情況因使用的技術(shù)不同而不同,如選擇的軟件架構(gòu)和框架、選擇的語(yǔ)言實(shí)現(xiàn)、中間件等等,不同的技術(shù)有不同的實(shí)現(xiàn),這很容易理解。
?
經(jīng)過(guò)上述3個(gè)步驟,就回答了前面的三個(gè)問(wèn)題,就是貫穿各個(gè)階段,使用UML工具來(lái)加于輔助解決。
接下來(lái)介紹RUP:統(tǒng)一過(guò)程。
說(shuō)明了RUP和UML的關(guān)系,是緊密的,但不是一回事兒,這很重要,RUP是一個(gè)軟件開發(fā)過(guò)程中的龐大知識(shí)體系,是內(nèi)功,UML是語(yǔ)言,是招式或武器,RUP中大量使用UML,但UML并不是只能在RUP中使用。
好了,今天先到這里吧,后面繼續(xù)......
?
轉(zhuǎn)載于:https://www.cnblogs.com/junxiang/archive/2008/12/14/1354794.html
總結(jié)
以上是生活随笔為你收集整理的UML的奥妙 - 学习UML笔记(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab生成西门子plc源文件,【图
- 下一篇: LevelDB 之 arena