日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程 第三章:类图

發(fā)布時(shí)間:2023/12/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程 第三章:类图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第三章:類圖

概念
  • 類圖的概念:類圖是描述類、接口以及它們之間關(guān)系的圖,它顯示了系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu),是一種靜態(tài)模型。
  • 分類可以有效地使復(fù)雜問題簡(jiǎn)化。建立類模型的過程,是把現(xiàn)實(shí)世界中與問題有關(guān)的各種對(duì)象及其相互關(guān)系進(jìn)行抽象和分類的過程。
類圖的組成

2類元素(接口、類),4種關(guān)系

  • 對(duì)象:是人們對(duì)某個(gè)事物的一種抽象描述。對(duì)象的基本特征可以歸納為對(duì)象的屬性和行為兩類。

  • 類:類是指對(duì)一組具有相同特征的對(duì)象的抽象描述;任何對(duì)象都是某個(gè)類的實(shí)例。

  • 關(guān)聯(lián)關(guān)系:

  • 概念:關(guān)聯(lián)用來表示來表示兩個(gè)(或多個(gè))類的對(duì)象之間的結(jié)構(gòu)關(guān)系,它在代碼中表現(xiàn)為一個(gè)類以屬性的形式包含對(duì)另一個(gè)類的一個(gè)或多個(gè)對(duì)象的引用。
  • 表示:用一條無向線段表示,是一種雙向關(guān)系。例如客戶和訂單的關(guān)聯(lián):從客戶看,訂單是他提交的;從訂單看,它有一個(gè)客戶。用一條有向線段表示,是一種單向關(guān)系。
  • 名稱:關(guān)聯(lián)的名稱表達(dá)了關(guān)聯(lián)的內(nèi)容,一般使用動(dòng)賓結(jié)構(gòu)短語。關(guān)聯(lián)的名稱僅有語義作用,不轉(zhuǎn)換為代碼
  • 可見性:用可見性修飾角色名稱,以說明該角色名稱可以在哪些范圍內(nèi)被訪問。
    • 泛化關(guān)系:
  • 概念:泛化關(guān)系(繼承關(guān)系)定義類和包之間的一般元素和特殊元素之間的分類關(guān)系。泛化也稱之為繼承或派生。
  • 區(qū)別:
    泛化(Generalization): 抽象化
    特化(Specialization): 實(shí)例化
    • 依賴關(guān)系:
  • 概念:依賴表示一個(gè)類以某種形式依賴于其他類。當(dāng)兩個(gè)類處于依賴關(guān)系中時(shí),其中一個(gè)類的改變可能會(huì)影響另一個(gè)類。
  • 在程序代碼中,依賴關(guān)系意味著一個(gè)類的對(duì)象出現(xiàn)在另一個(gè)類的操作當(dāng)中。常見的有兩種情況:一個(gè)類將另一個(gè)類的對(duì)象作為自己某個(gè)操作的參數(shù)(形參),或者是操作的局部變量。
    區(qū)別:
    • 依賴關(guān)系VS關(guān)聯(lián)關(guān)系
  • 從符號(hào)上
  • 從語義上:
    當(dāng)一個(gè)類的實(shí)例與另一個(gè)類的一些特定實(shí)例存在固定的對(duì)應(yīng)關(guān)系時(shí),這兩個(gè)系統(tǒng)之間為關(guān)聯(lián)關(guān)系。只要一個(gè)類用到另一個(gè)類,但是和另一個(gè)類的關(guān)系不是太明顯的時(shí)候(可以說是“uses”了那個(gè)類),就可以把這種關(guān)系看成是依賴,依賴也可說是一種偶然的關(guān)系。
    “我在某個(gè)方法中偶然用到了它,但在現(xiàn)實(shí)中我和它并沒多大關(guān)系”。
    • 實(shí)現(xiàn)關(guān)系:

    • 聚合與組合:

  • 概念:
    對(duì)于聚合:
    聚合表示類之間的整體與部分的關(guān)系。聚合意味著一個(gè)類擁有但共享另一個(gè)類的對(duì)象。
    當(dāng)整體類不存在時(shí),部分類仍可能存在。部分類被銷毀時(shí),整體類也將能夠存在。
    對(duì)于組合:
    組合是一種特殊形式的聚合。與聚合相比,它有兩個(gè)特點(diǎn):
    一個(gè)部分類最多只能屬于一個(gè)整體類
    當(dāng)整體類不存在時(shí),部分類將同時(shí)被銷毀。
  • 區(qū)別
    • 關(guān)聯(lián)VS聚合(組合)
      關(guān)聯(lián)關(guān)系所涉及的兩個(gè)類是處在同一個(gè)層次上的。比如學(xué)生和課程就是一種關(guān)聯(lián)關(guān)系,而不是聚合關(guān)系,因?yàn)閷W(xué)生不是由課程組成的。聚合關(guān)系涉及的兩個(gè)類處于不平等的層次上,一個(gè)代表整體,一個(gè)代表部分。比如電腦和顯示器、鍵盤、主板、內(nèi)存就是聚合關(guān)系,因?yàn)橹靼宓仁请娔X的組成部分。
    • 聚合VS組合
      組合:整體類端的重?cái)?shù)必須是1,部分類的重?cái)?shù)是任意的
      聚合:整體類端的重?cái)?shù)可以大于1,部分類的重?cái)?shù)是任意的
  • 畫圖:
    聚合也是表示類和類之間的“整體-部分”關(guān)系,用空心菱形表示。
    組合是聚合的一種特殊情形,用實(shí)心菱形表示
    • 約束規(guī)則
  • 概念:
    在畫類圖的過程中,關(guān)聯(lián)、屬性和操作等基本要素都要為模型加注約束條件。
    約束規(guī)則的語法:將約束條件放在括號(hào){ }中,用自然語言或其他常見的設(shè)計(jì)語言來描述,其描述要簡(jiǎn)潔準(zhǔn)確。
    在理想的情況下,在所使用的程序設(shè)計(jì)語言中,規(guī)則應(yīng)該作為斷言來實(shí)現(xiàn),并在調(diào)試代碼時(shí)調(diào)用它。
    • 對(duì)象圖
    三個(gè)層次的觀點(diǎn)
    • 概念層:描述應(yīng)用域中的概念,是對(duì)現(xiàn)實(shí)世界的直接描述,與實(shí)現(xiàn)它們的類有關(guān),但與實(shí)現(xiàn)方案和實(shí)現(xiàn)語言無關(guān)。
    • 說明層:描述軟件的接口,而不是軟件的實(shí)現(xiàn)。一個(gè)類型描述一個(gè)接口,但可能有多種實(shí)現(xiàn)。
    • 實(shí)現(xiàn)層:從實(shí)現(xiàn)的角度定義類及其實(shí)現(xiàn),揭示了軟件實(shí)現(xiàn)體的構(gòu)成情況。
    類圖建模分析步驟

    (1)尋找出需求中的名詞(候選對(duì)象)。
    (2)合并含義相同的名詞,排除范圍以外的名詞,并尋找隱含的名詞。
    (3)去掉只能作為類屬性的名詞。
    (4)剩下的名詞就是要找的分析類(候選類)。
    (5)根據(jù)常識(shí)、問題域、系統(tǒng)責(zé)任確定該類有那些屬性。
    (6)補(bǔ)充該類動(dòng)態(tài)屬性,如狀態(tài)、對(duì)象間聯(lián)系(如聚合、關(guān)聯(lián))等屬性。
    (7)從需求中的動(dòng)詞、功能或系統(tǒng)責(zé)任中尋找類的操作(候選操作)。
    (8)從狀態(tài)轉(zhuǎn)換,流程跟蹤、系統(tǒng)管理等方面補(bǔ)充類的操作。
    (9)對(duì)所尋找的操作進(jìn)行合并、篩選。
    (10)對(duì)所尋找的操作在類間進(jìn)行合理分配(職責(zé)分配),形成每個(gè)類候選操作。
    (11)補(bǔ)充每個(gè)類的的分析文檔,為類的進(jìn)一步設(shè)計(jì)打下基礎(chǔ)。

    小結(jié):
  • 類和對(duì)象的表示法
    (1)名稱;(2)屬性;(3)行為;
  • 類之間的各種關(guān)系
    (1)繼承:子類繼承了超類的所有屬性和行為;
    (2)關(guān)聯(lián):兩個(gè)不同類之間關(guān)聯(lián),可以單向或雙向;
    (3)聚合:強(qiáng)關(guān)聯(lián)關(guān)系,整體與部分的生命周期分開;
    (4)組合:強(qiáng)聚合,整體與部分的生命周期相同;
  • 三個(gè)概念層次
    (1)概念層;(2)說明層;(3)實(shí)現(xiàn)層
  • 總結(jié)

    以上是生活随笔為你收集整理的软件工程 第三章:类图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。