系判斷與畫圖避坑指南)
簡介面向UML課程復(fù)習(xí)與考試準(zhǔn)備的試題大集合以用例圖、順序圖、協(xié)作圖等交互圖為核心同時覆蓋高內(nèi)聚度、對象可見性、領(lǐng)域模型、統(tǒng)一過程等高頻考點(diǎn)適合軟件工程及相關(guān)專業(yè)學(xué)生、考研備考者和自學(xué)者對照查漏補(bǔ)缺。資源以doc格式提供共1個文檔壓縮包大小僅62KB文件輕量但內(nèi)容集中可直接用Word打開瀏覽或打印練習(xí)。目前已有11265人學(xué)習(xí)下載屬于UML高頻考試資料。文檔中收錄了選擇題、簡答題與綜合分析題既有順序圖與協(xié)作圖區(qū)別、SSD圖使用原則等理論講解也包含統(tǒng)一過程階段劃分、增量開發(fā)步驟等實踐知識點(diǎn)能幫助讀者系統(tǒng)梳理UML核心概念并通過典型試題快速檢驗掌握程度。1. uml 試題大集合用例圖 順序圖真正難的不是畫圖而是關(guān)系判斷uml 試題大集合用例圖 順序圖刷起來最迷惑的地方是選擇題全對畫圖題全崩。A同學(xué)考前刷了兩遍題庫模擬卷里一道“圖書借閱”順序圖大題還是丟了 8 分原因只是把同步消息和返回消息畫成了同一種箭頭。這套題真正考的不是背定義而是兩個翻譯能力把文字場景翻譯成規(guī)范圖形把模糊表述翻譯成 include、extend、同步、異步這些精確概念。用例圖考關(guān)系方向順序圖考消息順序都是錯一個箭頭就整體降檔的題型。它適合正在備期末考、考研復(fù)試筆試或面試前突擊 UML 的開發(fā)者。后面按“考點(diǎn)怎么拆、做題怎么排、畫完怎么驗”推進(jìn)照著走該拿的分拿得住。2. 用例圖考點(diǎn)拆解用三步法從題干里拔出參與者與關(guān)系2.1 用例圖只考四樣?xùn)|西參與者、用例、系統(tǒng)邊界、關(guān)系先把用例圖的組成部件固定下來??荚?yán)锼羞x擇題、判斷題、畫圖題本質(zhì)上都在圍著這四樣?xùn)|西打轉(zhuǎn)參與者是誰、用例是什么、邊界畫在哪、關(guān)系怎么判。把這四件事的邊界劃清楚選擇題基本就拿穩(wěn)了。參與者是系統(tǒng)外部主動發(fā)起或接收業(yè)務(wù)的對象可以是人也可以是外部系統(tǒng)。題庫里最常埋的坑是“數(shù)據(jù)庫”。很多套題都出過“圖書管理系統(tǒng)中數(shù)據(jù)庫屬于參與者嗎”這道判斷題標(biāo)準(zhǔn)答案是“不屬于”。數(shù)據(jù)庫是系統(tǒng)內(nèi)部的存儲組件在用例圖里它畫在系統(tǒng)邊界內(nèi)在順序圖里它只是普通對象跟參與者這個概念沒有關(guān)系。用例是一個完整業(yè)務(wù)目標(biāo)命名習(xí)慣是動詞短語比如“借書”“歸還圖書”“繳納罰款”?!暗卿洝薄拜斎朊艽a”這類動作算不算用例要看它能不能獨(dú)立構(gòu)成一個業(yè)務(wù)目標(biāo)。在“借書”流程里“驗證讀者身份”不是獨(dú)立用例而是被復(fù)用的公共步驟——這一點(diǎn)直接決定 include 關(guān)系的判定。關(guān)系是重頭戲用例之間考三種include、extend、泛化再加參與者與用例的關(guān)聯(lián)一共四類。題庫里密集出題的區(qū)域集中在 include 與 extend 的區(qū)分上這兩者的箭頭方向、觸發(fā)條件、關(guān)鍵詞都不同放在一起才容易考出差距。下面這張對照表是我做題時一直放在手邊的四類關(guān)系的判定要素全在里面建議抄到草稿紙上關(guān)系類型箭頭畫法觸發(fā)時機(jī)題干關(guān)鍵詞典型例子關(guān)聯(lián)參與者指向用例的實線每次業(yè)務(wù)都會發(fā)生無明顯特征詞讀者 — 借書include虛線箭頭指向被包含用例執(zhí)行主流程時必須執(zhí)行必須 / 都要 / 先借書 — 驗證身份extend虛線箭頭指向基礎(chǔ)用例滿足附加條件才觸發(fā)當(dāng)…時 / 如果 / 可選的借書 — 圖書超期罰款泛化實線空心三角指向父用例子用例是父用例的一種是一種 / 包括多種網(wǎng)上支付 — 掃碼支付箭頭方向的記憶口訣是include 和 extend 都用虛線但方向完全相反。include 的箭頭從基礎(chǔ)用例指向被包含的小用例意思是“我去調(diào)用你”extend 的箭頭從擴(kuò)展用例指向基礎(chǔ)用例意思是“我作為補(bǔ)充掛在你身上”。方向畫反整道關(guān)系題直接沒分。2.2 讀題三步法劃場景、摘用例、判關(guān)系拿到一道用例圖大題我一般不會馬上動筆而是先在題干上做三遍處理。第一遍劃場景把業(yè)務(wù)描述拆成“一個完整目標(biāo)加若干支撐動作”第二遍摘用例把所有動詞短語按“能否獨(dú)立完成一個業(yè)務(wù)目標(biāo)”篩一遍第三遍判關(guān)系逐對判斷兩個用例之間該畫哪種關(guān)系。以題庫里常駐的“圖書借閱系統(tǒng)”為例題干通常這么寫“讀者到柜臺借書系統(tǒng)先驗證讀者身份是否有效驗證通過后查詢圖書可借數(shù)量如果該書已被全部借出提示讀者預(yù)約借出成功后系統(tǒng)登記借閱記錄?!眲潏鼍爸笾髂繕?biāo)很明確是“借書”。支撐動作有三個驗證身份、查詢可借數(shù)量、登記借閱記錄。“提示預(yù)約”不是主流程它只是分支。再摘用例。驗證身份是每次借書都必須執(zhí)行的公共步驟它是被 include 的用例查詢可借數(shù)量同樣是借出的必經(jīng)前置步驟也用 include。提示預(yù)約只在“已被全部借出”這種情況發(fā)生屬于可選補(bǔ)充行為應(yīng)該畫 extend。登記借閱記錄發(fā)生在借出成功后主成功場景的收尾步驟每次都執(zhí)行也畫 include。判關(guān)系有一個快捷辦法把題干里的“必須”“都要”“先”圈出來命中就是 include把“如果”“當(dāng)…時”“另外”“補(bǔ)充”圈出來命中就是 extend。題庫里大概七成 include/extend 選擇題靠這套關(guān)鍵詞對照就能直接定位。剩下三成沒有關(guān)鍵詞的就用“去掉它主流程還完整嗎”來檢驗去掉后主流程不完整是 include去掉后主流程照樣走是 extend。注意關(guān)鍵詞法定位的是關(guān)系判斷不是用例識別。用例識別只看“是否獨(dú)立業(yè)務(wù)目標(biāo)”別再額外疊加其他條件。2.3 泛化關(guān)系與參與者繼承第四種關(guān)系怎么判泛化關(guān)系在用例圖里出題頻率不如 include 和 extend但一旦出現(xiàn)就是拉差距的題。泛化發(fā)生在兩個用例或兩個參與者之間表示“子類是父類的一種特殊形式”畫法是實線加空心三角箭頭箭頭指向父用例。典型題干長這樣“網(wǎng)上支付方式包括掃碼支付、銀行卡支付和余額支付?!蹦敲础熬W(wǎng)上支付”是父用例后面三個是子用例畫成泛化關(guān)系。這里要跟 include 分清include 描述的是“做一件事之前必須先做另一件事”兩個用例是流程上的先后依賴泛化描述的是“一個用例有多種平級實現(xiàn)方式”語義上是父子關(guān)系不是先后關(guān)系。參與者之間也有泛化這是容易被漏掉的考點(diǎn)。比如系統(tǒng)里有“普通用戶”和“教師用戶”教師用戶擁有普通用戶的全部權(quán)限還能批量導(dǎo)入課程。此時教師用戶與普通用戶之間畫泛化箭頭從特殊角色指向一般角色。判斷依據(jù)就一句話能不能說“教師用戶是一種普通用戶”能不能說“掃碼支付是一種網(wǎng)上支付”能就是泛化。這套題還??肌昂喜⒂美钡呐袛囝}比如把“查詢圖書”和“圖書預(yù)約”合并成“圖書管理”用例。這種說法是錯的合并會丟失業(yè)務(wù)目標(biāo)的獨(dú)立性。判據(jù)仍然是拆出來的用例各自是否對應(yīng)獨(dú)立業(yè)務(wù)目標(biāo)獨(dú)立就不該合并。這條血淚經(jīng)驗來自我早年刷題時連續(xù)踩坑后的總結(jié)合并題看著像概念題實際考的還是邊界劃分。3. 順序圖考點(diǎn)拆解從用例場景到消息序列的五步轉(zhuǎn)換法3.1 順序圖的五個要素與三種消息箭頭怎么認(rèn)順序圖描述的是“一個用例在時間軸上的執(zhí)行過程”??荚?yán)锂嬳樞驁D實際是考五個要素的完整度對象與生命線、激活條、消息箭頭、返回消息、時間軸方向。少一個要素閱卷分就掉一檔所以畫圖前先按這五項做清單畫完再按清單檢查。對象是參與交互的實體頂部矩形框?qū)憽皩ο竺?類名”比如“讀者”“圖書管理系統(tǒng)”“數(shù)據(jù)庫”。對象下方一條垂直虛線是生命線表示對象存在的時間范圍。激活條是生命線上細(xì)長的矩形表示對象正在執(zhí)行操作。時間軸默認(rèn)從上到下越往下時間越靠后消息的先后順序是閱卷第一眼盯的東西。消息箭頭是扣分最密集的地方三種畫法必須分清楚。實線實心箭頭是同步調(diào)用調(diào)用方發(fā)出請求后要等待結(jié)果比如“讀者提交借書申請”實線空心箭頭是異步消息發(fā)出去不等結(jié)果就繼續(xù)比如系統(tǒng)向日志組件發(fā)送寫入通知虛線箭頭是返回消息配合同步調(diào)用出現(xiàn)比如“返回驗證結(jié)果”。很多人在選擇題里被“調(diào)用圖書接口查詢庫存并等待返回結(jié)果”這類題干絆住。題干出現(xiàn)“等待”“并返回”是同步調(diào)用的信號出現(xiàn)“發(fā)出后繼續(xù)”“不必等待”是異步信號。做題時先把信號詞圈出來再選箭頭別靠整體感覺下手。一對一答的常見錯誤是同步請求用了實心箭頭返回結(jié)果也畫實心箭頭這是錯的返回一律畫虛線。3.2 文字場景轉(zhuǎn)順序圖五步轉(zhuǎn)換法把一段業(yè)務(wù)描述轉(zhuǎn)換成規(guī)范順序圖我按五步走。第一步拆事件流把題干按時間順序拆成一句一個動作第二步定對象參與者、系統(tǒng)模塊、數(shù)據(jù)庫各歸各位第三步排主調(diào)把動作按“誰發(fā)起、發(fā)給誰”排成消息序列第四步補(bǔ)返回給每個同步調(diào)用補(bǔ)上虛線返回第五步加組合片段把題干里的條件和循環(huán)套進(jìn)對應(yīng)結(jié)構(gòu)。用題庫里常出的“在線選課”場景演示。題干是“學(xué)生登錄系統(tǒng)選擇課程并提交選課請求系統(tǒng)驗證課程名額名額足夠則選課成功否則提示選課失敗選課成功后向?qū)W生發(fā)送確認(rèn)通知?!钡谝徊讲鹗录鞯玫剿膫€動作提交選課請求、驗證名額、提示結(jié)果、發(fā)送通知。第二步定對象學(xué)生是參與者教務(wù)系統(tǒng)是系統(tǒng)對象課程庫是存儲對象。第三步排主調(diào)學(xué)生先向教務(wù)系統(tǒng)發(fā)“提交選課請求”教務(wù)系統(tǒng)再向課程庫發(fā)“查詢剩余名額”。第四步補(bǔ)返回課程庫返回“剩余名額信息”教務(wù)系統(tǒng)根據(jù)結(jié)果判斷然后把“選課成功”作為返回消息發(fā)給學(xué)生。這里有個易混點(diǎn)“向?qū)W生發(fā)送確認(rèn)通知”在題干里是一個動作在順序圖里它不是新消息而是系統(tǒng)對請求的返回結(jié)果畫虛線箭頭不要畫成系統(tǒng)主動發(fā)起的實心箭頭。第五步加組合片段?!懊~足夠/名額不足”是雙向條件分支用 alt 組合片段包住驗證名額對應(yīng)的是同步數(shù)據(jù)庫查詢前面已經(jīng)畫成實心箭頭加虛線返回。經(jīng)過這五步一張能拿滿分的順序圖基本成型剩下的工作是檢查命名是否用了動賓結(jié)構(gòu)、每條消息有沒有明確的發(fā)送方和接收方。3.3 alt、opt、loop 三個組合片段的選擇標(biāo)準(zhǔn)組合片段是順序圖大題里區(qū)分中等分和滿分的關(guān)鍵。最??嫉娜N結(jié)構(gòu)是 alt條件分支、opt可選執(zhí)行、loop循環(huán)。判定方法很簡單題干出現(xiàn)“如果…否則…”用 alt出現(xiàn)“如果…就…但沒說否則”用 opt出現(xiàn)“對每個…都執(zhí)行”“重復(fù)直到…”用 loop。alt 組合片段內(nèi)部用虛線水平分隔成多個操作數(shù)每個操作數(shù)上方寫條件比如“[名額充足]”和“[名額不足]”各自下面放對應(yīng)的消息序列。opt 只有一個操作數(shù)框內(nèi)只放滿足條件才執(zhí)行的那一小段。loop 要寫循環(huán)條件和循環(huán)體比如“對每個選課學(xué)生執(zhí)行”。這套題還喜歡把用例圖和順序圖連起來考畫出某用例的順序圖并標(biāo)注主成功場景與備選分支。正確做法是主成功場景鋪在 alt 的第一個操作數(shù)備選分支放第二個操作數(shù)而不是另畫一張完整圖??荚嚂r間有限一張圖覆蓋一個用例的完整邏輯本身就是得分策略。組合片段可以嵌套alt 里套 loop、loop 里套 opt 都常見但嵌套超過兩層時閱卷容易看不清。我的習(xí)慣是控制消息密度內(nèi)層太擠就縮減命名長度優(yōu)先保證結(jié)構(gòu)清晰。結(jié)構(gòu)清晰是順序圖的最大得分點(diǎn)內(nèi)容再全看不清也是白畫。4. 用例圖與順序圖做題避坑5 個高頻失分點(diǎn)逐個排查4.1 include 與 extend 判斷反了錯得最多的一種現(xiàn)象題干寫“借書時必須先驗證身份”答案寫成 extend題干寫“超過借閱期限時觸發(fā)罰款計算”答案寫成 include。對答案時才發(fā)現(xiàn)整道關(guān)系題全反選擇題連錯三道的情況也常出現(xiàn)。原因很多人用“動作重要不重要”來判斷關(guān)系覺得驗證身份重要、罰款次要就把重要的寫 include、次要的寫 extend。這是典型的拿語義重要性代替流程必須性概念層面就錯了。include 的判定標(biāo)準(zhǔn)只有一個去掉它主流程還能不能走通。驗證身份去掉后沒法借書所以是 include罰款計算去掉后借書流程照常所以是 extend。解決讀題時只問一句“這個步驟是不是主成功場景的必經(jīng)步驟”別再糾結(jié)它重要不重要。必經(jīng)include條件觸發(fā)extend。把這句口訣寫下來每次猶豫就念一遍。這道題考的是流程關(guān)系不是業(yè)務(wù)價值排序。4.2 同步與返回消息全畫成實心箭頭現(xiàn)象畫完一張順序圖所有消息線看起來一模一樣全是實線實心箭頭同步調(diào)用沒有配對虛線返回或者返回也畫成實心箭頭。閱卷老師第一眼就能扣掉細(xì)節(jié)分一整道大題可能只剩一半分?jǐn)?shù)。原因備課時只背了“同步調(diào)用”這四個字沒有把“一次同步交互 請求箭頭 返回箭頭”綁成整體記。圖上的時間軸默認(rèn)自上而下一條同步消息后面必須緊跟著它的返回消息形成一個有去有回的小循環(huán)這是順序圖的底層規(guī)則。解決每次畫完一條實心箭頭順手在它下方補(bǔ)一條虛線返回箭頭并命名返回消息用“返回 數(shù)據(jù)/結(jié)果”格式比如“返回驗證結(jié)果”。畫完整體檢查一次所有實心箭頭都有虛線配對所有虛線箭頭都能找到發(fā)起它的實心箭頭。這樣檢查花不到一分鐘救回的分?jǐn)?shù)遠(yuǎn)比預(yù)估多。4.3 參與者與對象放錯位置把數(shù)據(jù)庫畫到邊界外現(xiàn)象用例圖里數(shù)據(jù)庫被畫成參與者順序圖里數(shù)據(jù)庫帶上了小人圖標(biāo)。圖本身能看懂但閱卷按考點(diǎn)扣分兩處各扣一次一題損失三分到五分。原因把“與系統(tǒng)打交道的角色”理解得太寬。數(shù)據(jù)庫是系統(tǒng)自己要調(diào)用的組件它的角色是內(nèi)部服務(wù)者。參與者必須是在系統(tǒng)邊界之外、主動與系統(tǒng)交互的外部角色人、外部機(jī)構(gòu)、外部系統(tǒng)都可以內(nèi)部組件不行。解決畫圖前先給每個擬定的角色做一次邊界測試它能不能脫離系統(tǒng)獨(dú)立存在讀者能數(shù)據(jù)庫不能。能獨(dú)立存在的才允許畫在邊界外。順序圖里數(shù)據(jù)庫一律畫成普通對象圖標(biāo)是頂部矩形框不是小人。這個測試十秒做完能攔住這張圖里最貴的錯誤。4.4 消息順序與編號不一致自上而下原則被打破現(xiàn)象順序圖上的消息編號寫的是 1、3、2生命線的位置卻把編號 2 的消息畫在最上面或者編號正確但某條消息畫在了錯誤的時間層導(dǎo)致后面所有消息配對都跟著亂。原因先畫結(jié)構(gòu)再補(bǔ)編號或者先畫分支場景再拼主場景造成時間軸語義錯位。順序圖的時間軸是全局約束不是標(biāo)注工具畫的過程就不能跳躍。一旦某條消息先落筆它前面的消息位置就全被擠偏了。解決先按時間從上到下一口氣排完主消息鏈再回頭補(bǔ)編號嵌套調(diào)用用 1.1、1.2 這種層級編號。檢查時只盯一件事從上往下讀消息編號是不是嚴(yán)格遞增。不是就說明有一條消息位置放錯了。這個檢查比反復(fù)核對箭頭類型更能發(fā)現(xiàn)問題位置錯是結(jié)構(gòu)問題箭頭錯是表示問題結(jié)構(gòu)問題影響更大。4.5 一個用例塞進(jìn)所有場景主流程與分支糾纏不清現(xiàn)象一張順序圖又畫主流程又畫異常流程又畫循環(huán)生命線交叉、消息線繞來繞去批改時連題目都看不清閱卷老師只能按最低檔給結(jié)構(gòu)分。原因想一張圖覆蓋所有情況。順序圖的定位是“某個用例的某一次執(zhí)行過程”一個用例可以有多張順序圖分別描述主成功場景和各個備選分支。把不同場景擠進(jìn)一張圖每條分支都畫成了半截整體邏輯反而丟了。解決主成功場景單畫一張分支場景用 alt、opt、loop 在特定位置插入多個場景互斥時優(yōu)先保證主流程完整其余另起一段重畫。答題卡空間有限時先畫主流程完整版再用旁注列出分支結(jié)構(gòu)比畫一張亂圖得分高。順序圖的評分重心是主流程的連續(xù)性和可讀性這張密不透風(fēng)的圖不是加分項是送分項。5. 試題套路與答題模板四類題型的拿分順序與標(biāo)準(zhǔn)答法5.1 選擇與判斷題干關(guān)鍵詞速判表選擇題和判斷題在 uml 試題大集合里占比最高也是最好拿分的部分。命題方式高度固定幾乎都是從題庫語料里抽原句再挖空或反轉(zhuǎn)所以掌握關(guān)鍵詞速判表正確率能穩(wěn)定在八成以上。下面這張表把高頻題干特征詞和對應(yīng)答案整理在一起做題時先圈詞再選答案題型類別題干特征詞對應(yīng)答案概念判斷必須 / 每次 / 都include 關(guān)系條件判斷當(dāng)…時 / 如果 / 額外extend 關(guān)系參與者判斷數(shù)據(jù)庫 / 緩存 / 日志組件不是參與者消息判斷等待返回結(jié)果同步調(diào)用實線實心箭頭消息判斷發(fā)出后繼續(xù) / 不等待異步消息實線空心箭頭返回判斷返回 / 回傳結(jié)果虛線箭頭泛化判斷是一種 / 包括多種泛化關(guān)系用這張表要注意前提關(guān)鍵詞是輔助定位不是萬能公式。很多高質(zhì)量題干會故意混合關(guān)鍵詞比如“每次登錄都必須驗證身份當(dāng)賬號異常時額外發(fā)送通知”前半段命中 include后半段命中 extend答案兩個都要選。只盯一個關(guān)鍵詞下筆是這類題丟分的主因。判斷題的改錯句式也固定。常見錯誤改法是把 include 改成“關(guān)聯(lián)”把順序圖時間軸方向改成“左右方向”。改錯遵從一條原則用詞錯誤就改詞關(guān)系錯誤才改關(guān)系不要動箭頭方向。題干把“虛線箭頭表示返回消息”改成“實線箭頭表示返回消息”這是定義錯誤題干說“借書用例擴(kuò)展了驗證身份用例”這是方向錯誤需要同時改關(guān)系和箭頭。5.2 畫圖題五步作答順序與四查清單畫圖題是分值最高、最需要順序感的題型。閱卷一般按結(jié)構(gòu)分給點(diǎn)給分作答順序決定得分下限。我習(xí)慣的順序是第一步畫參與者放邊界外第二步畫系統(tǒng)邊界矩形第三步把用例寫進(jìn)邊界內(nèi)第四步畫關(guān)系先畫關(guān)聯(lián)和 include再畫 extend 和泛化第五步給關(guān)系寫清命名和箭頭方向。具體到畫圖題里最常翻車的 include 與 extend 方向include 是基礎(chǔ)用例指向被包含用例extend 是擴(kuò)展用例指向基礎(chǔ)用例。下筆前先念一遍“包含指向被包含、擴(kuò)展指向基礎(chǔ)”再落筆。順序圖畫圖題同理先畫對象和生命線再標(biāo)激活條接著排主消息鏈最后補(bǔ)組合片段。任何一個步驟倒序都會導(dǎo)致時間軸錯位。畫完以后按四查清單過一遍關(guān)系是否雙向、箭頭是否用對、消息是否成對、命名是否動賓結(jié)構(gòu)。每查一項在草稿上打個勾。這個習(xí)慣能攔住七成以上的低級錯誤尤其是箭頭方向這種肉眼很難發(fā)現(xiàn)的錯。四個檢查項目對應(yīng)四個評分維度漏掉任何一個都可能白丟兩分。5.3 簡答題三段式模板保證結(jié)構(gòu)分簡答題在題庫里出現(xiàn)頻率不高一旦出現(xiàn)就是“描述 X 與 Y 的區(qū)別”或“說明某建模步驟”。這種題不要求新穎要求結(jié)構(gòu)完整。我常用的三段式模板是第一段寫定義講清 X 是什么、Y 是什么第二段寫對比按三個維度列出差異第三段寫適用場景說明什么情況下選 X、什么情況下選 Y。以“include 與 extend 的區(qū)別”為例標(biāo)準(zhǔn)答法這樣組織定義段寫“include 表示基礎(chǔ)用例必然包含的行為extend 表示特定條件下附加的行為”對比段列三條觸發(fā)條件是必須還是可選、箭頭指向被包含用例還是基礎(chǔ)用例、去掉后主流程完整與否適用場景段寫“公共前置步驟用 include異常與補(bǔ)充流程用 extend”。這段模板文字量不大但覆蓋了簡答題三個核心得分點(diǎn)定義準(zhǔn)確、對比維度清楚、場景說明到位。閱卷按“是否提到關(guān)鍵術(shù)語、是否區(qū)分到位”給分三段式天然包含這些要素不需要臨場發(fā)揮。遇到?jīng)]見過的簡答題也按這個結(jié)構(gòu)套先保證有定義有對比有場景再談深度。6. 進(jìn)階技巧用追蹤矩陣反向驗證用例圖與順序圖的邏輯一致性做完一套 UML 題后不急著對答案先用一張追蹤矩陣建立“用例 ? 順序圖”的對應(yīng)關(guān)系。豎列是題干里所有用例橫列是你畫出的每一張順序圖單元格里寫這張順序圖覆蓋了哪個用例的哪個場景。矩陣讀法很簡單每一行必須有至少一個非空單元格如果一個用例沒有任何對應(yīng)順序圖說明這套圖缺場景每個順序圖里的消息序列必須能回溯到對應(yīng)用例的事件流描述回溯不去的消息要么是多畫的要么是命名錯誤。它本質(zhì)上是用追蹤關(guān)系反向驗證兩張圖比單純對答案更能暴露邏輯漏洞。我用這個方法栽過一次跟頭。某次模擬卷我把“圖書超期罰款”的 extend 箭頭方向畫反對答案也沒發(fā)現(xiàn)因為選擇題的答案里根本沒覆蓋這道畫圖題。后來做追蹤矩陣時發(fā)現(xiàn)“罰款計算”這個用例在順序圖矩陣?yán)镎也坏綄?yīng)場景回頭查才看見關(guān)系方向錯了一條線。那之后我在任何 UML 模擬練習(xí)里都先畫矩陣再交卷花不了三分鐘但能攔住最隱蔽的丟分。平時刷題習(xí)慣還有兩個值得固定下來的動作。一個是每道畫圖題在草稿上先寫“參與者名單、用例清單、關(guān)系判定理由”把思考過程顯性化后再畫正式圖另一個是對每套錯題按“概念型錯誤、關(guān)系型錯誤、表示型錯誤”三類做標(biāo)記考前只復(fù)習(xí)表示型錯誤那一類。概念型和關(guān)系型一旦理解就不會再錯表示型錯誤才是反復(fù)出現(xiàn)的扣分點(diǎn)。把上面的方法串起來你的 uml 試題大集合用例圖 順序圖復(fù)習(xí)就形成一個閉環(huán)讀題用三步法畫圖用五步法檢查用四查清單交叉驗證用追蹤矩陣。考前十分鐘別再背新題把這條流程在腦子里過一遍就夠。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取