<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    布衣王子

    Email:roose2008@gmail.com QQ:79212131

    UML類圖標準總結__大家相互學習

    以前在做一個項目之前總是在UML的一些概念上花費極大的功夫,得出的圖形反而讓自己都含糊不清。這兩天一口氣在網(wǎng)上查了很多相關文章,
    在圖書管也翻了幾本書,給自己定義了一個UML嚴格的標準。現(xiàn)在拿到網(wǎng)上來,兄弟們幫我看看有那些地方又不妥當?shù)牡胤健O嗷W習....

    首先弄清楚類圖是個什么東西:
        類圖(class diagram)描述了模型的靜態(tài)結構,包括模型中的類的類的內(nèi)部結構以及于其他類的關系,在結構化設計一個系統(tǒng)的時候類圖可以讓我們的思路更加清晰。
        類的內(nèi)部結構就不用說了,沒什么好說的。
        一個類與其他的類常見的關系(我所接觸到的關系)有:
        1.一般化關系
        2.關聯(lián)關系
        3.聚合關系
        4.組合關系(合成關系)
        5.依賴關系
        其中,聚合關系合成關系又屬于關聯(lián)關系。
    一般化關系表現(xiàn)是與類之間是(is a)的關系。也就是類與類之間的繼承,接口于接口之間的繼承或者是對一個接口的實現(xiàn)。表示方法是用一個空心箭頭+實線,箭頭指向父類。或用空心肩頭加虛線(如果富父類是接口的話)

    如圖1,User定義了系統(tǒng)中一個用戶的原型,客戶Customer繼承了User類并且有自己特有的方法。管理員Manager類也繼承了User類,并且又自己特有的方法,而且Manager為了能夠管理客戶還實現(xiàn)了Cmanage這個接口,也就具備了Cmanage的所有功能,可以對客戶的余額進行操作,而且還可以刪除一個客戶。


    關聯(lián)關系表現(xiàn)為類與類之間的(has a)關系。它使一個類知道另一個類的屬性和方法。關聯(lián)關系表示的是類與類之間的持久關系,這種關系一般是表示一種業(yè)務邏輯上的關系,需要保存到數(shù)據(jù)庫中的。
    如圖2.學生Student中存在一個班級Class的引用。在student中可以直接根據(jù)引用訪問到Class.同時在數(shù)據(jù)庫中存在兩張表tb_student,tb_class,在表tb_student中有一個字段存儲了所關聯(lián)的class記錄的id。用箭頭+實指向被關聯(lián)的類



    聚合關系是關聯(lián)的一種,是一種強關聯(lián)關系。聚合關系還體現(xiàn)了一種整體與個體的關系。如圖3:
    商品ShangPin是獨立的,一張進貨單JinHuoDan內(nèi)可以又很多個商品。可以說進貨單JinHuoDan是整體,商品ShangPin是個體。可以由進貨單JinHuoDan導航到每個進貨單包含的商品。空心菱形+實線+箭頭指向部分。

    依賴關系是表現(xiàn)為類與類之間的一種(use a)的關系。一個類用到了另一個類,為了完成一特定的操作。但是類與類之間不存在業(yè)務邏輯上的關系。依賴關系是針對于程序來說的。依賴關系體現(xiàn)在程序中主要是些局部變量、方法參數(shù)、或對一個類方法的調用。如圖四:
    商品管理類ShangPinManager主要對上提供查詢商品,刪除商品的功能,而這些功能的實現(xiàn)必須調用Dao類的某些方法來實現(xiàn)(一種調用關系)但是他和我們數(shù)據(jù)庫持久類Dao沒有業(yè)務上的關系,更不可能把這兩個類存到數(shù)據(jù)庫中去。虛線+箭頭指向被調用的類。

    另外我個人覺得利用聚合足以體現(xiàn)合成,沒必要分的那么詳細。UML本身是一種工具,沒必要把太多時間花費在工具的一些概念上面。
    小弟愚見,請多多指教!。。。。

    posted on 2009-09-21 18:17 草包書生 閱讀(3295) 評論(8)  編輯  收藏

    評論

    # re: UML類圖標準總結__大家相互學習 2009-09-22 10:22 草包書生

    你們這群人一點也不厚道!回個帖都老火!  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-09-22 10:55 于翔

    dia畫的吧  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-09-22 17:57 草包書生

    是阿  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-09-23 22:54 wangchangbing

    最近也是在整理UML的相關資料 為面試準備
    但是發(fā)現(xiàn)公司原來利用VISIO畫的流程圖狀態(tài)圖 到了ROSE里面都不成立了

    其實公司畫的大部分只是一個示意圖 用來和客戶溝通
    有個圖客戶看了明白 至于里面的流程狀態(tài)在UML里面是不是規(guī)范的客戶不關心

    類圖我確實沒有畫過 可能是還沒有遇到特別復雜的類吧  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-09-24 12:01 草包書生

    @wangchangbing
    強烈建議你在項目之前用UML為你的project做一個總體的規(guī)劃  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-10-29 20:27 等牛奶的咖啡

    @草包書生
    Uml最大的作用不是用來文檔,也不是用來規(guī)劃什么,而是為了溝通和理解需求。
    在項目開始之前是不需要花很長的時間來進行Uml的詳細建模,因為項目在進行的過程中需求可能會經(jīng)常的變動,另一方面,在進行反復的迭代式開發(fā)過程中才應當使用Uml畫圖同客戶交流進行需求的分析  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-10-29 20:29 等牛奶的咖啡

    不過完整的UML類圖的標準學習了下,還缺少組合和拋出異常這些  回復  更多評論   

    # re: UML類圖標準總結__大家相互學習 2009-11-07 12:53 草包書生

    @等牛奶的咖啡
    個人認為如果在每張一個獨立的uml圖中如果只有一條執(zhí)行路徑的話,思維反而更清晰。如果把異常一融合到uml圖中,試想一下異常在到處亂拋,雜亂無章的,亂七八糟。況且uml這個東西本來也只是一個指導性的東西。所以啦 uml圖中加入異常的描述是完全沒有必要的。  回復  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    導航

    常用鏈接

    相冊

    java的相關連接

    最新評論

    主站蜘蛛池模板: 日日噜噜噜噜夜夜爽亚洲精品| 免费看又爽又黄禁片视频1000| 亚洲第一区精品观看| 亚洲精品亚洲人成在线| 国产一精品一AV一免费孕妇| 亚洲an日韩专区在线| 国产成人yy免费视频| 亚洲一级毛片视频| 成人午夜免费福利视频| 亚洲a视频在线观看| 在线v片免费观看视频| 亚洲香蕉在线观看| 日韩中文无码有码免费视频 | 亚洲精品无码专区久久| 国内一级一级毛片a免费| 男人的天堂av亚洲一区2区| 国产传媒在线观看视频免费观看 | 亚洲av成人一区二区三区在线观看| 亚洲AV成人一区二区三区观看 | 亚洲国产三级在线观看| 亚洲视频免费在线观看| 亚洲精品偷拍无码不卡av| 国内精品乱码卡1卡2卡3免费| 国产成人精品日本亚洲专一区| 免费高清资源黄网站在线观看| 日本特黄特色AAA大片免费| 亚洲精品无码MV在线观看| 99re在线视频免费观看| 7777久久亚洲中文字幕| 亚洲AV无码乱码在线观看牲色| 国产精品免费久久久久影院| 亚洲av午夜福利精品一区人妖| 亚洲一区二区三区免费视频| 亚洲天然素人无码专区| 亚洲一区无码精品色| 成人性生交大片免费看中文| 亚洲AV一二三区成人影片| 免费大黄网站在线观看| 香蕉免费一区二区三区| 亚洲乱码日产精品一二三| 亚洲国产成人久久综合区|