欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

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

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

開(kāi)通VIP
正確認識使用UML中的類(lèi)圖

正確認識使用UML中的類(lèi)圖

http://developer.51cto.com  2008-11-06 09:55  cnblogs  IT168.com  我要評論(0)
  • 摘要:在OOA與OOD大行其道的今天,UML在系統分析與設計中得到了廣泛的采用。而在UML的9種圖中,類(lèi)圖是最重要也是使用最普遍的圖之一。本文能在一定程度上幫助這些朋友更好的認識和使用類(lèi)圖。
  • 標簽:UML

前言

在OOA與OOD大行其道的今天,UML在系統分析與設計中得到了廣泛的采用。而在UML的9種圖中,類(lèi)圖是最重要也是使用最普遍的圖之一。但是,在與一些朋友,特別是初學(xué)者的聊天當中,我發(fā)現很多朋友對類(lèi)圖的作用及使用方法存在一定的誤解和困惑。于是我寫(xiě)下這篇文章,希望本文能在一定程度上幫助這些朋友更好的認識和使用類(lèi)圖。當然,由于我對UML的認識并不很深刻,所以在文章中有錯誤和疏漏之處,懇請大家批評指正。

A vs D

要想正確認識與使用類(lèi)圖,我們首先要正確認識兩個(gè)概念——“A”和“D”。

A是Analyse的縮寫(xiě),即我們所說(shuō)的“分析”;而D是Design的縮寫(xiě),即“設計”。一般來(lái)說(shuō),一個(gè)系統在編碼前,都要經(jīng)過(guò)分析與設計兩個(gè)步驟。而對這兩個(gè)概念認識的模糊不清,正是導致很多朋友無(wú)法正確使用類(lèi)圖的原因。

分析,我對其的解釋是:根據用戶(hù)的需求,做出一系列與業(yè)務(wù)領(lǐng)域相關(guān)而和計算機技術(shù)無(wú)關(guān)的整理與識別。

很多朋友有個(gè)錯誤的認識,認為軟件開(kāi)發(fā)工作一定要由懂計算機的人完成,不懂計算機的人怎么能進(jìn)行軟件開(kāi)發(fā)呢?當然,對于設計和編碼等工作,當然是這樣,但是唯有“分析”這一工作,可以由完全不懂計算機的人來(lái)進(jìn)行,甚至從某種程度上說(shuō),不懂計算機的人更適合做軟件分析師的工作。因為想要把分析做好,一定要僅與業(yè)務(wù)相關(guān),而拋開(kāi)具體技術(shù)。一個(gè)滿(mǎn)腦子計算機技術(shù)的程序員去做分析時(shí),很容易想到編碼、實(shí)現、平臺、數據庫設計等具體細節,這種思維形式恰恰成為做好分析的最大障礙。此為誤解一:只有懂計算機技術(shù)的人才能做系統分析師。我現在所在的研究所(北京航空航天大學(xué)計算機學(xué)院軟件工程研究所)曾經(jīng)接過(guò)一個(gè)日本項目,當時(shí)日方那邊派來(lái)一個(gè)系統分析師對計算機就完全是外行,而是一個(gè)領(lǐng)域專(zhuān)家,但是他很好的完成了系統分析的工作。

另外一個(gè)誤解就是UML圖,特別是類(lèi)圖,就是給開(kāi)發(fā)人員用的。很多人覺(jué)得UML是計算機業(yè)內專(zhuān)業(yè)語(yǔ)言,不懂計算機的怎么能用它呢?用了做什么呢?但是很多不懂計算機的系統分析師在進(jìn)行分析工作時(shí),也在使用UML圖,而類(lèi)圖就是其中一種。一般情況下,分析師在進(jìn)行分析時(shí),確實(shí)會(huì )繪制一套類(lèi)圖。但是,它所畫(huà)的類(lèi)圖不管是從視角還是作用,與設計師所做的類(lèi)圖是不同的,具體將在下面介紹。此為誤解二:只有計算機人士才使用UML圖。

分析說(shuō)完了,下面說(shuō)設計。與分析不同,我對設計的解釋是:根據分析材料與技術(shù)平臺,確定軟件系統的架構結構、編碼方式及一切與具體技術(shù)有關(guān)的宏觀(guān)問(wèn)題。

這里可以看到,設計與分析不同,它必須由計算機方面的人來(lái)完成,因為它和具體技術(shù)是息息相關(guān)的。而且,設計師在進(jìn)行設計時(shí),也會(huì )繪制一套類(lèi)圖。

到這里,我們明確了,原來(lái)軟件在分析與設計兩個(gè)階段各自會(huì )繪制一套類(lèi)圖,而且是由分析師和設計師兩個(gè)不同的角色繪制的。那么這兩套類(lèi)圖有什么異同呢?下面將解釋這個(gè)問(wèn)題。

領(lǐng)域類(lèi)圖 vs 實(shí)現類(lèi)圖

上文提到,在軟件分析與設計過(guò)程中,會(huì )由兩種角色產(chǎn)生兩套類(lèi)圖。一般情況下,分析師繪制的類(lèi)圖叫做“領(lǐng)域類(lèi)圖”,而設計師繪制的類(lèi)圖叫做“實(shí)現類(lèi)圖”。這里要聲明,這兩個(gè)名詞是我的習慣性叫法,并不是大家都認同的通用叫法。下面,我對這兩種類(lèi)圖給出我的定義:

領(lǐng)域類(lèi)圖:產(chǎn)生于分析階段,由系統分析師繪制,主要作用是描述業(yè)務(wù)實(shí)體的靜態(tài)結構,包括業(yè)務(wù)實(shí)體、各個(gè)業(yè)務(wù)實(shí)體所具有的業(yè)務(wù)屬性及業(yè)務(wù)操作、業(yè)務(wù)實(shí)體之間具有的關(guān)系。

雖然這個(gè)類(lèi)圖也叫“類(lèi)圖”,但是說(shuō)實(shí)話(huà),它和編程中的“類(lèi)”實(shí)在是沒(méi)啥關(guān)系,因為最后的系統中可能根本沒(méi)有類(lèi)和它們對應,而且很多最后系統中的類(lèi)如控制類(lèi)和界面類(lèi)這套類(lèi)圖中也沒(méi)有。也就是說(shuō)這套圖和具體技術(shù)無(wú)關(guān),也不是畫(huà)給程序員看的,它只是表達業(yè)務(wù)領(lǐng)域中的一個(gè)靜態(tài)結構。下面給個(gè)例子:

這是一個(gè)選課系統的簡(jiǎn)單領(lǐng)域分析類(lèi)圖??梢钥吹?,主要實(shí)體有教師、學(xué)生、課程和開(kāi)課安排。每個(gè)實(shí)體標注了其在業(yè)務(wù)上具有的屬性和方法。而且圖中還標明了實(shí)體間的關(guān)系。

但是,最終系統中可能沒(méi)有一個(gè)學(xué)生類(lèi)和其對應。因為最終系統中有哪些類(lèi)、各個(gè)類(lèi)有什么屬性、方法依賴(lài)于所選擇的平臺和架構。例如,如果使用了Struts2,則會(huì )存在很多Action類(lèi),而使用了ASP.NET MVC,則會(huì )有很多Controller類(lèi)等,所以,領(lǐng)域類(lèi)圖只于業(yè)務(wù)有關(guān),和具體實(shí)現及編碼等計算機技術(shù)無(wú)關(guān)。

下面該說(shuō)說(shuō)實(shí)現類(lèi)圖了:

實(shí)現類(lèi)圖:產(chǎn)生于設計階段,由系統設計師繪制,其作用是描述系統的架構結構、指導程序員編碼。它包括系統中所有有必要指明的實(shí)體類(lèi)、控制類(lèi)、界面類(lèi)及與具體平臺有關(guān)的所有技術(shù)性信息。

就像上面的領(lǐng)域類(lèi)圖,如果你把它交給程序員編碼,我想程序員會(huì )瘋掉,因為它沒(méi)有提供任何編碼的依據。假如我們使用的是.NET平臺分層架構,并使用ASP.NET MVC,則設計師應該在實(shí)現類(lèi)圖中繪制出所有的實(shí)體類(lèi)、數據訪(fǎng)問(wèn)類(lèi)、業(yè)務(wù)邏輯類(lèi)和界面類(lèi),界面類(lèi)又分為視圖類(lèi)、控制器類(lèi)等等,還要表示出IoC和Aop等信息,并明確指出各個(gè)類(lèi)的屬性、方法,不能有遺漏,因為最終程序員實(shí)現程序的依據就是實(shí)現類(lèi)圖。

總結

最后,我們總結一下本文的要點(diǎn):

1.軟件分析與設計是編碼前的兩個(gè)階段,其中分析僅與業(yè)務(wù)有關(guān),而與技術(shù)無(wú)關(guān)。設計以分析為基礎,主要與具體技術(shù)有關(guān)。

2.分析階段由分析師繪制領(lǐng)域類(lèi)圖,設計階段由設計師繪制實(shí)現類(lèi)圖。

3.領(lǐng)域類(lèi)圖表示系統的靜態(tài)領(lǐng)域結構,其中的類(lèi)不與最終程序中的類(lèi)對應;設計類(lèi)圖表示系統的技術(shù)架構,是程序員的編碼依據,其中的類(lèi)與系統中的類(lèi)對應。

4.領(lǐng)域類(lèi)圖中類(lèi)的屬性與操作僅關(guān)注與業(yè)務(wù)相關(guān)的部分,實(shí)現類(lèi)圖中的屬性與操作要包括最終需要實(shí)現的全部方法與操作。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
詳解UML圖之類(lèi)圖
UML和面向對象分析與設計總結
實(shí)例講解UML對象圖使用
概要設計需要哪些設計圖?
基于UML的需求分析和系統設計(完整案例和UML圖形演示)
【原】UML筆記(1):UML簡(jiǎn)介
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久