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