• <menu id="w2i4a"></menu>
  • logo Enterprise Architect教程

    文檔首頁(yè)>>Enterprise Architect教程>>UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖


    Enterprise Architect是一個(gè)對(duì)于軟件系統(tǒng)開(kāi)發(fā)有著極好支持的CASE軟件(Computer Aided Software Engineering)。EA不同于普通的UML畫(huà)圖工具(如VISIO),它將支撐系統(tǒng)開(kāi)發(fā)的全過(guò)程。在需求分析階段,系統(tǒng)分析與設(shè)計(jì)階段,系統(tǒng)開(kāi)發(fā) 及部署等方面有著強(qiáng)大的支持,同時(shí)加上對(duì)10種編程語(yǔ)言的正反向工程,項(xiàng)目管理,文檔生成,數(shù)據(jù)建模等方面??梢宰屜到y(tǒng)開(kāi)發(fā)中各個(gè)角色都獲得最好的開(kāi)發(fā)效率。

    Enterprise Architect現(xiàn)已更新至最新版本15,改進(jìn)了瀏覽器窗口等功能,趕快下載體驗(yàn)吧~點(diǎn)擊查看更新詳情

    點(diǎn)擊下載Enterprise Architect最新試用版

    類(lèi)圖

    類(lèi)圖顯示了任何面向?qū)ο笙到y(tǒng)的構(gòu)建塊。類(lèi)圖描繪了模型或模型一部分的靜態(tài)視圖,描述了模型具有的屬性和行為,而不是詳細(xì)描述了實(shí)現(xiàn)操作的方法。類(lèi)圖在說(shuō)明類(lèi)和接口之間的關(guān)系時(shí)最有用。概括,集合和關(guān)聯(lián)對(duì)于分別反映繼承,組成或用法以及連接都很有價(jià)值。
    下圖說(shuō)明了類(lèi)之間的聚合關(guān)系。較輕的聚合表明類(lèi)“ Account”使用了AddressBook,但不一定包含它的實(shí)例。其他連接器進(jìn)行的強(qiáng)大的綜合聚合表明目標(biāo)類(lèi)對(duì)源類(lèi)具有所有權(quán)或?qū)λ鼈兊陌?,例如Contact和ContactGroup值將包含在AddressBook中。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    類(lèi)

    類(lèi)是定義對(duì)象能夠生成的屬性和行為的元素。該行為由類(lèi)能夠理解的可能消息以及適合于每個(gè)消息的操作來(lái)描述。類(lèi)也可以具有約束,標(biāo)記值和構(gòu)造型的定義。

    類(lèi)符號(hào)

    類(lèi)由矩形表示,這些矩形顯示類(lèi)的名稱(chēng)以及可選的操作和屬性的名稱(chēng)。隔離專(zhuān)區(qū)用于劃分類(lèi)名稱(chēng),屬性和操作。
    在下面的圖表中,類(lèi)包含最頂層隔離專(zhuān)區(qū)中的類(lèi)名稱(chēng),下一個(gè)隔離專(zhuān)區(qū)詳細(xì)說(shuō)明了屬性,“ center”屬性顯示了初始值。最后一個(gè)部分顯示操作setWidth,setLength和setPosition及其參數(shù)。屬性或操作名稱(chēng)之前的符號(hào)表示元素的可見(jiàn)性:如果使用+符號(hào),則屬性或操作具有公共可見(jiàn)性;如果使用-符號(hào),則該屬性或操作是私有的。另外,#符號(hào)允許將操作或?qū)傩远x為受保護(hù),而?符號(hào)指示包的可見(jiàn)性。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    接口

    接口是實(shí)現(xiàn)者同意滿(mǎn)足的行為規(guī)范。這是合同。通過(guò)實(shí)現(xiàn)一個(gè)接口,可以確保類(lèi)支持所需的行為,這允許系統(tǒng)以相同的方式(即通過(guò)公共接口)對(duì)待不相關(guān)的元素。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    可以用與類(lèi)相似的樣式繪制接口,并指定操作,如下所示。也可以將它們繪制為圓形,而沒(méi)有詳細(xì)的顯式操作。當(dāng)繪制為圓形時(shí),將在沒(méi)有目標(biāo)箭頭的情況下繪制指向符號(hào)的圓形形式的實(shí)現(xiàn)鏈接。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    盡管表不是基本UML的一部分,但表是構(gòu)造型可以完成的示例。它在右上角帶有一個(gè)小表格圖標(biāo)繪制。表屬性是刻板的“列”。大多數(shù)表將具有一個(gè)主鍵,即一個(gè)或多個(gè)字段,這些字段構(gòu)成用于訪問(wèn)該表的唯一組合,外加一個(gè)原型為“ PK”的主鍵操作。某些表將具有一個(gè)或多個(gè)外鍵,一個(gè)或多個(gè)字段一起映射到相關(guān)表中的主鍵,外加定型為“ FK”的外鍵操作。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    關(guān)聯(lián)

    關(guān)聯(lián)意味著兩個(gè)模型元素具有關(guān)系-通常在一個(gè)類(lèi)中實(shí)現(xiàn)為實(shí)例變量。該連接器可能在每個(gè)末端包括命名角色,基數(shù),方向和約束。關(guān)聯(lián)是元素之間的一般關(guān)系類(lèi)型。對(duì)于兩個(gè)以上的元素,也可以使用菱形表示工具箱元素。當(dāng)為類(lèi)圖生成代碼時(shí),命名關(guān)聯(lián)結(jié)束將成為目標(biāo)類(lèi)中的實(shí)例變量。因此,對(duì)于下面的示例,“ playsFor”將成為“ Player”類(lèi)中的一個(gè)實(shí)例變量。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    概論

    概括用于指示繼承。從特定分類(lèi)器到一般分類(lèi)器,概括的含義是源繼承了目標(biāo)的特征。下圖顯示了歸納子類(lèi)的父類(lèi)。隱式地,Circle類(lèi)的實(shí)例化對(duì)象將具有屬性x_position,y_position和radius和方法display()。請(qǐng)注意,“ Shape”類(lèi)是抽象的,用斜體顯示。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    下圖顯示了相同信息的等效視圖。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    集合體

    聚合用于描述由較小組件組成的元素。聚集關(guān)系由指向目標(biāo)或父類(lèi)的白色菱形箭頭顯示。
    黑色菱形箭頭表示一種更強(qiáng)的聚集形式(復(fù)合聚集),用于一次最多可包含一種成分的成分。如果刪除組合聚合的父級(jí),通常會(huì)同時(shí)刪除其所有部分。但是,可以從組成中單獨(dú)刪除一部分,而不必刪除整個(gè)組成。合成是可傳遞的,不對(duì)稱(chēng)的關(guān)系,并且可以是遞歸的。
    下圖說(shuō)明了弱聚合和強(qiáng)聚合之間的區(qū)別。地址簿由多個(gè)聯(lián)系人和聯(lián)系人組組成。聯(lián)系人組是聯(lián)系人的虛擬分組。一個(gè)聯(lián)系人可以包含在多個(gè)聯(lián)系人組中。如果刪除通訊錄,所有聯(lián)系人和聯(lián)系人組也將被刪除。如果刪除聯(lián)系人組,則不會(huì)刪除任何聯(lián)系人。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    關(guān)聯(lián)類(lèi)

    關(guān)聯(lián)類(lèi)是一種允許關(guān)聯(lián)連接具有操作和屬性的構(gòu)造。下面的示例表明,將雇員分配到項(xiàng)目中比在兩個(gè)類(lèi)之間建立簡(jiǎn)單的關(guān)聯(lián)鏈接要多:雇員在項(xiàng)目中所擔(dān)當(dāng)?shù)慕巧旧砭褪且粋€(gè)復(fù)雜的實(shí)體,并且包含不屬于該實(shí)體的詳細(xì)信息在員工或項(xiàng)目類(lèi)中。例如,一名雇員可能同時(shí)從事多個(gè)項(xiàng)目,并且每個(gè)項(xiàng)目的職務(wù)和安全級(jí)別不同。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    依賴(lài)關(guān)系

    依賴(lài)關(guān)系用于對(duì)模型元素之間的各種依賴(lài)關(guān)系進(jìn)行建模。通常會(huì)在設(shè)計(jì)過(guò)程的早期使用它,因?yàn)樗纼蓚€(gè)元素之間存在某種聯(lián)系,但是現(xiàn)在要確切地知道這種關(guān)系是什么還為時(shí)過(guò)早。在設(shè)計(jì)過(guò)程的后期,依賴(lài)項(xiàng)將被定型(可用的定型包括“實(shí)例化”,“跟蹤”,“導(dǎo)入”等),或替換為更特定類(lèi)型的連接器。

    跟蹤關(guān)系

    跟蹤關(guān)系是對(duì)依賴(lài)關(guān)系的專(zhuān)門(mén)化,它鏈接表示模型之間相同思想的模型元素或元素集。跟蹤通常用于跟蹤需求和模型更改。由于在兩個(gè)方向上都可能發(fā)生更改,因此通常會(huì)忽略此依存關(guān)系的順序。關(guān)系的屬性可以指定跟蹤映射,但是跟蹤通常是雙向的,非正式的并且很少可計(jì)算。

    實(shí)現(xiàn)

    源對(duì)象實(shí)現(xiàn)或?qū)崿F(xiàn)目標(biāo)。實(shí)現(xiàn)用于表示模型中的可追溯性和完整性-業(yè)務(wù)流程或需求由一個(gè)或多個(gè)用例實(shí)現(xiàn),這些用例又由某些類(lèi)實(shí)現(xiàn),而這些類(lèi)又由組件等實(shí)現(xiàn)。映射需求,類(lèi)等等,貫穿整個(gè)系統(tǒng)的設(shè)計(jì),直到建模抽象的各個(gè)層次,都可以確保系統(tǒng)的整體形象能夠記住并反映出所有制約和定義系統(tǒng)的細(xì)節(jié)。實(shí)現(xiàn)以帶有實(shí)心箭頭的虛線顯示。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    套料

    嵌套是連接器,顯示源元素嵌套在目標(biāo)元素中。下圖顯示了內(nèi)部類(lèi)的定義,盡管在EA中更常見(jiàn)的是通過(guò)它們?cè)陧?xiàng)目視圖層次結(jié)構(gòu)中的位置來(lái)顯示它們。

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    =====================================================

    想要了解或購(gòu)買(mǎi)Enterprise Architect正版版權(quán),請(qǐng)咨詢(xún)慧都官方客服

    更多精彩內(nèi)容,歡迎關(guān)注下方的微信公眾號(hào),及時(shí)獲取產(chǎn)品最新資訊▼▼▼

    UML軟件開(kāi)發(fā)與建模工具Enterprise Architect教程 :UML 2教程-類(lèi)圖

    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();