UML復(fù)習(xí)及重點(diǎn)整理

分為兩部分:

  1. 基礎(chǔ)知識(shí)部分
  2. 各類(lèi)圖的實(shí)際畫(huà)法畫(huà)法掌握及需要注意的地方

part1 important point:

  • 面向?qū)ο蠓椒?/p>

    • 面向?qū)ο笈c面向過(guò)程?
      面向過(guò)程:面向的是數(shù)據(jù)流,簡(jiǎn)單易懂易掌握,但開(kāi)發(fā)效率低,重用性不好 面向?qū)ο?對(duì)現(xiàn)實(shí)中的事物進(jìn)行抽象,描述成**對(duì)象**,按對(duì)象的一致屬性,將對(duì)象劃分為**類(lèi)**
    • 面向?qū)ο笤O(shè)計(jì)的基本原則?
      開(kāi)閉原則,替換原則,依賴(lài)倒置原則,接口分離原則
  • 統(tǒng)一建模語(yǔ)言
    UML中圖的分類(lèi):結(jié)構(gòu)圖 行為圖

  • 統(tǒng)一過(guò)程

    • 軟件生命周期:問(wèn)題集中在 做什么?怎么做?怎么用電腦做?做的對(duì)不對(duì)?長(zhǎng)時(shí)間運(yùn)行需要改變嗎?
      就是 需求分析 設(shè)計(jì)模型 編碼 測(cè)試分析 維護(hù)
  • UML的構(gòu)成

    • 關(guān)系
      依賴(lài),關(guān)聯(lián),泛化,實(shí)現(xiàn)
  • 正向工程和反向工程的概念

part2 各種圖

  • 用例圖 use case diagram

    • 什么是用例、用例圖?有什么用?

      用例:系統(tǒng)外在的需求情況.一般是一個(gè)動(dòng)作,一個(gè)由系統(tǒng)提供用戶(hù)使用的動(dòng)作.在UML中一半用橢圓表示
      用例圖:用例圖(use case diagram)是顯示一組用例、參與者以及它們之間的關(guān)系的圖
      作用:幫助你分析系統(tǒng)有哪些功能,以及讓你明確系統(tǒng)內(nèi)部和系統(tǒng)外部(也就是角色)的交互的

    • 用例圖有哪些主要的建模元素?

      用例,參與者,系統(tǒng)邊界,和他們之間的關(guān)系

    • 什么是參與者?

      是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)交互的事物, 包括: 人、設(shè)備、外部系統(tǒng)等

    • 什么是用例?

      用戶(hù)使用系統(tǒng)一項(xiàng)功能所進(jìn)行交互的文字描述

    • 參與者、用例之間有哪些關(guān)系?

      參與者之間有泛化(generalization)關(guān)系,特殊指向一般 用空心三角+實(shí)線表示
      參與者和用例之間是關(guān)聯(lián)關(guān)系,表示了參與者與用例間的通信
      用例之間的關(guān)系:泛化,包含,擴(kuò)展
      包含關(guān)系:基本用例的行為包含了另一個(gè)用例的行為?;居美枋鲈诙鄠€(gè)用例中都有的公共行為。包含關(guān)系本質(zhì)上是比較特殊的依賴(lài)關(guān)系。
      用例的泛化、包含、擴(kuò)展關(guān)系的比較。一般來(lái)說(shuō)可以使用“is a”和“has a”來(lái)判斷使用那種關(guān)系。泛化和擴(kuò)展關(guān)系表示用例之間是“is a”關(guān)系,包含關(guān)系表示用例之間是“has a”關(guān)系

    • 如何獲取參與者?

      誰(shuí)來(lái)使用系統(tǒng)的主要功能
      誰(shuí)來(lái)維護(hù)系統(tǒng)
      誰(shuí)對(duì)系統(tǒng)的結(jié)果感興趣
      系統(tǒng)需要操作哪些硬件
      需要與系統(tǒng)交互的其他系統(tǒng)有哪些

    • 如何獲取用例?

      和用戶(hù)交互
      系統(tǒng)交互的目的是什么?
      需要向系統(tǒng)輸入什么信息?
      希望由系統(tǒng)進(jìn)行什么處理并從它得到何種結(jié)果?
      * 如何詳述用例?

  • 類(lèi)圖

    • 什么是類(lèi)圖?類(lèi)圖有什么用?

      類(lèi)圖:顯示出類(lèi)、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系;它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)。
      作用:展示一個(gè)工程中每個(gè)類(lèi)所包含的函數(shù)和屬性,類(lèi)之間的關(guān)系,類(lèi)的組織方式等

    • 類(lèi)圖包含哪些建模元素?

      類(lèi)、接口 包以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系

    • 類(lèi)的種類(lèi)

      抽象類(lèi) --不能實(shí)現(xiàn)的類(lèi),是一種抽象
      接口 --類(lèi)似抽象類(lèi),所有操作都未實(shí)現(xiàn)
      關(guān)聯(lián)類(lèi)
      模板類(lèi) --可以根據(jù)占位符或參數(shù)來(lái)定義類(lèi)
      主動(dòng)類(lèi)
      嵌套類(lèi) --java中的內(nèi)置類(lèi)

    • 類(lèi)之間的關(guān)系有哪些?如何表示?

      • 組合 是一類(lèi)“強(qiáng)”的整體與部分的包含關(guān)系。成分類(lèi)別必須依靠合成類(lèi)別而存在 例如汽車(chē)與化油器 用實(shí)心菱形和實(shí)線表示
      • 聚合 是一種has a 的弱關(guān)系 如池塘中有一只鴨子 這樣的關(guān)系 用空心菱形和實(shí)線表示
      • 依賴(lài) 是一種弱化形式的關(guān)系,表示一類(lèi)別依賴(lài)于另外的類(lèi)別
      • 關(guān)聯(lián) 當(dāng)一個(gè)類(lèi)作為另一個(gè)類(lèi)某個(gè)方法的參數(shù)時(shí),為關(guān)聯(lián)。
      • 泛化 --感覺(jué)上就像是繼承,
      • 實(shí)現(xiàn) 和泛化一樣 用空心三角加實(shí)線表示
      • 關(guān)系之間的強(qiáng)弱:組合>聚合>關(guān)聯(lián)>依賴(lài)
        而對(duì)于兩種關(guān)聯(lián)關(guān)系(組合和聚合之間的區(qū)分,個(gè)人覺(jué)得維基百科上的例子特別形象:

        例如,一個(gè)大學(xué)包含若干個(gè)系(如化學(xué)系),每個(gè)系由若干名教授。如果大學(xué)撤銷(xiāo),這些系也就不復(fù)存在了,但這些教授仍會(huì)繼續(xù)存在。還需注意,一名教授可以在不同系甚至不同學(xué)校兼職,而一個(gè)系不能屬于兩所大學(xué)。所以,大學(xué)與系之間是組成關(guān)系,而系與教授是聚合關(guān)系

    • 聚合與組合的區(qū)別?

      兩者的差別主要描述了子類(lèi)的生命周期的不同。組合關(guān)系中,一旦父類(lèi)被銷(xiāo)毀子類(lèi)也會(huì)隨之銷(xiāo)毀;聚合關(guān)系中,子類(lèi)的生命周期與父類(lèi)獨(dú)立。

    • 派生屬性與派生關(guān)聯(lián)?
      可以從其它屬性和關(guān)聯(lián)計(jì)算推演得到的屬性和關(guān)聯(lián)

    • 類(lèi)圖中的常用版型?類(lèi)圖的抽象層次?
      邊界類(lèi) ,實(shí)體類(lèi) , 控制類(lèi)

    • 類(lèi)圖的抽象層次?
      概念層
      說(shuō)明層
      實(shí)現(xiàn)層

    • 面向?qū)ο笤O(shè)計(jì)的原則?

      1. 開(kāi)閉原則:開(kāi):對(duì)擴(kuò)展開(kāi)放 閉:對(duì)修改封閉
      2. 替換原則:子類(lèi)可以在任何地方替換父類(lèi)
      3. 依賴(lài)倒置原則:依賴(lài)關(guān)系應(yīng)該是盡量依賴(lài)接口(或抽象類(lèi)),而不是依賴(lài)于具體類(lèi)
      4. 接口分離原則:使用多個(gè)專(zhuān)門(mén)的接口比使用單一的總接口要好,使用多個(gè)專(zhuān)用接口比使用單一的復(fù)合接口更好
  • 活動(dòng)圖

    • 什么是活動(dòng)圖?活動(dòng)圖有什么用?

      活動(dòng)圖描述系統(tǒng)從一種活動(dòng)轉(zhuǎn)換到另一種活動(dòng)的整個(gè)過(guò)程
      活動(dòng)圖通常對(duì)業(yè)務(wù)過(guò)程、工作流和用例實(shí)現(xiàn)進(jìn)行建模

    • 活動(dòng)圖中包含哪些建模元素?

      • 初始節(jié)點(diǎn) 一個(gè)黑點(diǎn),表示活動(dòng)的開(kāi)始,只能有一個(gè)
      • 活動(dòng)終點(diǎn) 圓圈套黑點(diǎn),表示活動(dòng)處理完成
      • 活動(dòng)節(jié)點(diǎn) 表示一個(gè)活動(dòng) 用半橢圓表示(區(qū)分于狀態(tài))
      • 轉(zhuǎn)換 當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),控制流就會(huì)馬上傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn) 一條帶箭頭的直線
      • 分支和監(jiān)護(hù)條件 用菱形表示,它有一個(gè)進(jìn)入轉(zhuǎn)換(箭頭從外指向菱形),一個(gè)或多個(gè)離開(kāi)轉(zhuǎn)換(箭頭從菱形指向外)
        在分支的每個(gè)離開(kāi)轉(zhuǎn)換上都會(huì)有一個(gè)監(jiān)護(hù)條件,用來(lái)表示滿足什么條件的時(shí)候執(zhí)行該轉(zhuǎn)換
      • 分岔與匯合 在UML中,采用同步線對(duì)分岔和匯合來(lái)對(duì)并發(fā)事件流建模,同步線是一種水平或垂直的粗線段
      • 帶泳道 區(qū)分操作角色
    • 活動(dòng)圖中的分支和分岔?
      分支是一個(gè)控制流選擇某一個(gè)方向繼續(xù)執(zhí)行,控制流是串行的
      而分岔則是控制流的分開(kāi) 控制流是并行的

    • 活動(dòng)圖中的對(duì)象流?

  • 包圖

    • 什么是包圖?包圖有什么用?

      組織代碼

    • 包圖包含哪些基本建模元素?
      包 類(lèi)

    • 什么是包?

      在UML中,包是用于把建模元素組織成組的通用機(jī)制。
      分組事物 是其他建模元素的容器
      * 包圖的建模原則?
      重用等價(jià)原則、共同重用原則、共同閉包原則、非循環(huán)依賴(lài)原則

  • 對(duì)象圖

    • 什么是對(duì)象圖?對(duì)象圖有什么用?

      對(duì)象圖表示一組對(duì)象和它們之間的聯(lián)系

    • 對(duì)象圖中包含哪些建模元素?

      對(duì)象
      鏈接

    • 對(duì)象圖與類(lèi)圖的比較?

      對(duì)象是類(lèi)的實(shí)例
      對(duì)象圖組織類(lèi) 類(lèi)圖組織類(lèi)

  • 狀態(tài)機(jī)圖

    • 什么是狀態(tài)機(jī)圖?狀態(tài)機(jī)圖有什么用?

      狀態(tài)機(jī)圖描述狀態(tài)到狀態(tài)的控制流程,常用來(lái)對(duì)系統(tǒng)的動(dòng)態(tài)特征建模

    • 狀態(tài)機(jī)圖包含哪些建模元素?

      • 初態(tài)和終態(tài)

        開(kāi)始的狀態(tài) 用實(shí)心圓表示 只能有一個(gè)
        終態(tài) 點(diǎn)外有圈 可以有多個(gè)

      • 源狀態(tài)和目標(biāo)狀態(tài)

        兩個(gè)狀態(tài),看名字也能知道這兩個(gè)狀態(tài)是要做什么的

      • 轉(zhuǎn)換
        事件[監(jiān)護(hù)條件]/動(dòng)作

        • 觸發(fā)事件
        • 監(jiān)護(hù)條件
        • 動(dòng)作
      • 分支

    • 怎樣建模狀態(tài)機(jī)圖?

      1. 尋找主要的狀態(tài)
      2. 確定狀態(tài)之間的轉(zhuǎn)換
      3. 細(xì)化狀態(tài)內(nèi)的活動(dòng)和轉(zhuǎn)換
      4. 用復(fù)合狀態(tài)展開(kāi)細(xì)節(jié)
  • 交互圖

    • 交互圖包括幾類(lèi)圖?分別描述什么,有什么用?
      順序圖、通信圖、定時(shí)圖、交互概述圖

    • 順序圖包含哪些基本建模元素?
      --對(duì)象、生命線、控制焦點(diǎn)、消息

    • 通信圖?

      通信圖描述了系統(tǒng)中對(duì)象之間通過(guò)消息進(jìn)行的交互,強(qiáng)調(diào)了對(duì)象在交互行為中承擔(dān)的角色

    • 順序圖與通信圖的比較?

      • 順序圖強(qiáng)調(diào)消息的時(shí)間順序,通信圖強(qiáng)調(diào)參加交互的對(duì)象的組織,兩者可以相互轉(zhuǎn)換
      • 順序圖不同于通信圖的兩個(gè)特征:
        • 順序圖有對(duì)象生命線
        • 順序圖有控制焦點(diǎn)
      • 通信圖不同于順序圖的特征:
        • 通信圖必須有消息順序號(hào)
    • 順序圖與定時(shí)圖的不同?

    • 交互概述圖是哪兩種圖的綜合?

  • 其他圖

    • 構(gòu)件圖
    • 部署圖
    • 復(fù)合結(jié)構(gòu)圖
    • Profile圖

part3 實(shí)際作圖

下面對(duì)著幾個(gè)圖重點(diǎn)建模:
用例圖,類(lèi)圖,活動(dòng)圖,狀態(tài)機(jī)圖
使用工具Enterprise Architect 8.0

問(wèn)題背景

隨著網(wǎng)絡(luò)的不斷發(fā)展,web2.0時(shí)代早已全面到來(lái),web2.0最鮮明的特點(diǎn)就是與用戶(hù)的交互越來(lái)越多,這就導(dǎo)致了用戶(hù)所參與的網(wǎng)站也越來(lái)越多
但是,這些網(wǎng)站都有一個(gè)共同的特點(diǎn)--需要登錄進(jìn)行操作,這就使得用戶(hù)的賬號(hào)密碼不斷增加,能否使得賬號(hào)密碼的管理更加輕松?比如用手機(jī)
登錄網(wǎng)站?

需求分析

對(duì)于用戶(hù):他們需要輸入賬號(hào)之后,用手機(jī)確認(rèn)該請(qǐng)求之后就可以登錄了,用戶(hù)也可以向數(shù)據(jù)庫(kù)中添加網(wǎng)站信息(包括地址,賬號(hào)和密碼)
對(duì)于網(wǎng)站:他們收到用戶(hù)請(qǐng)求之后,由服務(wù)器向用戶(hù)的手機(jī)發(fā)送登錄請(qǐng)求,用戶(hù)如果在規(guī)定時(shí)間內(nèi)確認(rèn)該請(qǐng)求,將登錄,否則登錄超時(shí)

用例圖

(這里等簡(jiǎn)書(shū)markdown下可以傳圖片再增加吧)


Image
Image

類(lèi)圖

Image
Image

活動(dòng)圖

Image
Image

狀態(tài)機(jī)圖

Image
Image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • UML概述 UML簡(jiǎn)介 UML (Unified Modeling Language)為面向?qū)ο筌浖O(shè)計(jì)提供統(tǒng)一的...
    aron1992閱讀 617評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,835評(píng)論 18 399
  • 以前老是聽(tīng)到UML的大名,不過(guò)很少去真正地了解它,無(wú)非以為只是一種建模的方法,乍看這封面或許和產(chǎn)品經(jīng)理毫無(wú)相關(guān),但...
    mon_liu閱讀 3,752評(píng)論 2 10
  • 愛(ài)神丘比特拿著弓箭到處尋找他覺(jué)得適合在一起的男女,然后把箭射到他們的心上,這樣他們就會(huì)墜入愛(ài)河了。聽(tīng)起來(lái),真是件功...
    深井冰4353閱讀 404評(píng)論 0 0

友情鏈接更多精彩內(nèi)容