引言
在現代軟體工程中,將模糊的商業需求轉化為精確且可執行的系統模型,是一項關鍵技能。文字分析作為自然語言問題陳述與正式UML(統一建模語言)圖表之間的強大橋樑。本案例研究展示了一個完整且逐步的流程,從真實世界問題描述中提取候選類別,透過系統性的排除標準進行優化,並逐步發展成穩健的類圖與序列圖。
以Saturn國際停車場安全系統作為我們的實務範例,我們說明產品經理、業務分析師與軟體架構師如何利用Visual Paradigm的文字分析功能,加速需求發現、減少模糊性,並產出可維護的設計成果。無論您正在建模存取控制系統、企業工作流程,或客戶導向的應用程式,本文所提出的方法論提供了一個可重複使用的框架,將文字轉化為可運作的模型。

問題描述
以下問題描述將在本教學中使用。讓我們來看一下。
|
Saturn Int.的管理層希望提升其建築物與現場的安全措施。他們希望阻止非公司人員使用其停車場。 Saturn Int.已決定向所有員工發放身份證。每張證件記錄員工的姓名、部門與編號,並提供進入公司停車場的權限。員工被要求在現場時佩戴此證件。 停車場入口設有柵欄與感應卡機。當駕駛者駕車進入停車場時,需將身份證插入卡機。卡機隨即驗證卡號是否為系統所知。若卡號被識別,卡機會發出訊號,觸發柵欄升起。駕駛者便可駕車進入停車場。 停車場出口處另設有一道柵欄,當車輛欲離開停車場時,會自動升起。 當停車場無空位時,入口處的顯示牌會顯示「已滿」。只有當車輛離開時,顯示牌才會關閉。 另有一種訪客專用卡片,同樣允許進入停車場。此卡片記錄卡號與當前日期。這些卡片可事先寄出,或於接待處領取。所有訪客卡片必須在訪客離開Saturn Int時歸還至接待處。 |
|---|
從文字中識別類別
建立文字分析
-
建立新專案。選擇 專案 > 新增 從主選單中選擇。在 新專案 視窗中,將專案命名為 教學 並點選 建立空白專案 以確認。
-
建立新的文字分析。選擇 圖表 > 新增 從主選單中。
-
在 新圖表 視窗中,選擇 文字分析 並按一下 下一步。輸入 安全改進 作為圖形名稱,然後按一下 確定.

-
這將開啟文字分析編輯器。複製上方提供的問題描述,並貼到編輯器中。可透過按下 Ctrl-V 或在編輯器上按右鍵並選擇 貼上.

從文字中識別候選物件
閱讀問題描述以識別候選類別。當找到候選項目時,於文字段落上按右鍵並選擇 將文字新增為類別 來自浮出式功能表。

以下是取得的候選類別清單:
| 土星公司 | 安全措施 | 建築物 | 場地 |
|---|---|---|---|
| 非公司成員 | 停車場 | 身份證 | 員工 |
| 姓名 | 部門 | 編號 | 公司員工 |
| 存取 | 障礙 | 讀卡器 | 駕駛員 |
| 卡號 | 系統 | 信號 | 出口 |
| 為客人提供的另一種卡片 | 接待 | 客人卡片 | 訪客 |
到目前為止,文字分析編輯器應該看起來像這樣:

拒絕候選物件
在本節中,這些候選類別將根據一組拒絕規則進行審查。到本節結束時,將獲得一個類別模型的清單。
現在,根據以下拒絕規則審查候選類別的清單:
-
重複:如果兩個或多個物件只是同一事物的不同名稱。
-
無關:在問題領域中存在,但並非預期的物件。
-
模糊:仔細考慮詞語時,有時會發現它們並無明確意義,無法作為系統中有用的基礎。
-
過於廣泛:含義太寬泛。
-
屬性:作為物件的屬性。
-
關聯:實際上代表物件之間的關係。
-
角色:有時物件是根據其在系統特定部分所扮演的角色來指稱的。
下表列出了審查結果:
| 候選類別 | 接受/拒絕 | 拒絕原因 |
|---|---|---|
| 土星國際管理 | 拒絕 | 與系統無關 |
| 安全措施 | 拒絕 | 模糊 |
| 建築物 | 拒絕 | 與系統無關 |
| 場地 | 拒絕 | 與系統無關 |
| 非公司成員 | 拒絕 | 與系統無關 |
| 停車場 | 接受 | |
| 身份證 | 接受 | |
| 員工 | 拒絕 | 與「公司員工」重複 |
| 姓名 | 拒絕 | 屬性 |
| 部門 | 拒絕 | 屬性 |
| 數量 | 拒絕 | 屬性 |
| 公司員工 | 拒絕 | 角色 |
| 存取 | 接受 | |
| 障礙 | 接受 | |
| 讀卡機 | 接受 | |
| 駕駛員 | 拒絕 | 角色 |
| 卡號 | 拒絕 | 屬性 |
| 系統 | 拒絕 | 過於廣泛 |
| 信號 | 接受 | |
| 退出 | 拒絕 | 與系統無關 |
| 另一種給訪客的卡 | 拒絕 | 與訪客卡重複 |
| 接待 | 拒絕 | 與系統無關 |
| 訪客卡 | 接受 | |
| 訪客 | 拒絕 | 角色 |
為了區分被接受和被拒絕的候選類別,我們將被接受的類別的高亮顏色改為綠色。要做到這一點,請點擊黃色高亮的單元格,並從顏色選擇器中選擇綠色。

因此,現在獲得的候選類別剩餘清單如下:
| 停車場 | 身份證 | 存取 | 障礙 |
|---|---|---|---|
| 讀卡器 | 信號 | 訪客卡 |
重新表述已識別的類別
讓我們重新表述被接受的候選類別:(1) 統一單數和複數用法中的名詞形式,(2) 准確反映提取文本的含義。
請閱讀下方表格,了解所需的更改及更改的說明。
| 提取的文本 | 重新表述為 | 原因 |
|---|---|---|
| 停車場 | ||
| 身份證 | 員工卡 | 「身份證」字面意思是各種卡片,但根據段落內容,「身份證」一詞來自名詞短語「給所有員工的身份證」,因此實際上指的是員工卡。我們應重新表述以避免混淆。 |
| 存取 | ||
| 障礙 | ||
| 讀卡器 | ||
| 信號 | ||
| 出口 | ||
| 訪客卡 | 訪客卡 | 改為使用單數名詞,使其與其他詞語一致 |
相應地更新候選類別的名稱:

從文本創建類模型元素
您已識別出一組類別。要將它們用於模型建構,您需要將它們從文字轉換為模型元素。
-
在表格中選擇七個類別。要執行多選操作,請按住 Ctrl 鍵,並逐一點擊各行。
-
右鍵點擊您的選擇,並選擇 建立模型元素 從彈出式功能表中。

-
系統會提示您在圖形中顯示所建立的元素。請保持選擇 建立新圖形 選中。將類別圖形重新命名為 停車場系統 並點擊 建立.

這將建立一個類別圖形。

建立類別模型 – 識別結構關係
您已獲得在類別圖形中可視化的類別集合。現在,請透過關聯、泛化和依賴等關係連接器將它們相互連接,以識別其結構關係。下圖顯示了結果。在此過程中,可能會新增類別,例如在此範例中新增「卡」類別作為「員工卡」和「訪客卡」子類別的超類別。

建立互動模型 – 識別屬性和操作
序列圖用於可視化物件之間的互動,也就是上述識別出的類別的實例。在此過程中,將識別出屬性和操作,從而使類別模型完整。讓我們建立一個序列圖,以可視化公司員工駕車進入停車場的情境。
-
建立一個序列圖。選擇 圖形 > 新增 從主功能表中。
-
在 新圖形 視窗中,選擇 序列圖 並點擊 下一步。選擇 空白 作為範本並按一下 下一步。輸入 汽車停車場(使用員工卡) 作為圖表名稱並按一下 確定.

-
此情境從一位駕駛員將其員工卡插入讀卡器開始。讓我們建立一個參與者 員工。要建立參與者,請選擇 參與者 工具,從圖表工具列中拖曳至圖表上。

-
我們需要將讀卡器顯示為物件。除了建立生命線之外,讓我們從 讀卡器 類別建立物件實例。有幾種方法可以達成此目的。其中一種方法是透過 模型探索器。按一下 模型探索器 標籤,位於應用程式視窗左側(或選擇 檢視 > 面板 > 模型探索器 如果標籤未出現)。然後,將類別讀卡器拖曳至圖表上。

-
選擇 生命線 以建立,當您被提示選擇類型時。
-
生命線會自動命名為「讀卡器」,依照分類器的名稱。由於名稱是可選的,讓我們將其移除。這也讓圖表更容易閱讀。

-
連接 員工 與 : 讀卡器。將滑鼠指標移至參與者 員工。按一下 資源目錄 按鈕並拖曳至生命線 : 卡片讀取器.

-
釋放滑鼠指標並選擇 訊息 來自 資源目錄.

-
輸入 插入員工卡 作為訊息的名稱。

-
作為輸入裝置,卡片讀取器接收卡片後,會要求系統進行驗證。讓我們為系統建立一條生命線。由於我們沒有這樣的類別,因此直接建立生命線。拖曳 生命線 從圖表工具列拖曳至圖表。將生命線命名為 汽車停車系統.

-
建立訊息 verify card() 來自 : 卡片讀取器 至 汽車停車系統.

-
有兩種可能的結果:成功或失敗。我們將同時模擬這兩種情況。在UML序列圖中,可以使用替代合併片段來模擬多種可能的流程。建立一個覆蓋參與者和生命線的替代合併片段。隨著越來越多的生命線被加入,我們將調整其大小以涵蓋更多生命線。

-
如果成功,系統將載入員工卡的記錄。建立一個自我訊息 load staff()。為達成此目的,將滑鼠指標移至 汽車停車系統然後按一下資源目錄,然後選擇自我訊息 -> 生命線來自資源目錄。輸入自我訊息的名稱。

-
依照步驟 4 來視覺化類別員工卡作為生命線。再次,移除其名稱。

-
假設最後存取時間將設定為員工卡的記錄。以設定訊息來表示此動作設定最後存取時間().

-
將會建立一筆存取記錄。讓我們在圖表上視覺化存取類別為生命線,然後以建立訊息連接至它。別忘了擴大選擇性合併片段以涵蓋生命線。

-
也會建立一個訊號以觸發欄杆升起。讓我們在圖表上視覺化訊號類別在圖表上,然後以建立訊息連接至它。截至目前為止,您的順序圖應與下方圖示相似。

-
升起欄杆。視覺化欄杆類別為生命線,並以升起()訊息連接。在此我們將生命線命名為入口因為入口和出口都有欄杆,而在此圖中我們指的是入口處的欄杆。

-
最後,要求卡片讀取器顯示訊息,以表示員工卡驗證成功。建立一個順序訊息「顯示成功訊息」,連接於汽車停車系統和: 卡片讀取器.

-
當卡片無法驗證時會發生什麼情況?讓我們在 alt. 合併片段的下方部分進行建模。假設系統會要求卡片讀取器顯示驗證失敗訊息。請在圖中創建這樣的訊息。

-
無論成功或失敗,員工卡片在驗證程序後都會被彈出。讓我們創建序列訊息彈出卡片 連接 汽車停車系統 和 : 卡片讀取器.

-
最後,創建一個從 : 卡片讀取器 返回到 角色 員工。要執行此操作,請先創建訊息,然後右鍵點擊它並從彈出式選單中選擇 類型(未指定)> 回覆 從彈出式選單中。

-
alt. 合併片段的兩個部分稱為運算元。將運算元的條件作為約束條件輸入。右鍵點擊合併片段左上角的標籤 alt 並從彈出式選單中選擇 運算元 > 管理運算元 從彈出式選單中。在彈出視窗中,將兩個運算元的約束條件分別設為 卡片已接受 和 卡片被拒絕 分別。

-
讓我們從序列訊息創建操作。首先,從停車系統的生命線創建一個類別。右鍵點擊生命線,並從選單中選擇 類別 > 建立類別「停車系統」 從彈出式選單中。

-
請參考以下圖像。針對每個突出顯示的連接器,右鍵點擊它並選擇 輸入 > 呼叫 > 建立作業從彈出式功能表中選擇。

-
回到類別圖。作業會自動顯示在類別模型中。

透過為不同情境不斷建立序列圖,類別模型將逐漸被豐富,包含系統所需的所有作業與屬性。
結論
將自然語言需求轉化為精確的UML模型,既是一門藝術,也是一門科學。本案例研究顯示,透過有紀律的方法——從文字分析開始,應用系統性的排除標準,重新表述以提高清晰度,並透過類別圖與序列圖反覆修正——團隊能夠將模糊的問題陳述轉化為穩健且可執行的系統設計。
Saturn國際停車場的範例說明,即使看似簡單的需求也包含多層複雜性:多種參與者類型、條件流程、硬體互動與狀態管理。透過利用Visual Paradigm的整合式建模環境,實務工作者可從最初的文本到最終程式碼維持可追溯性,確保圖表間的一致性,並有效協作於技術與非技術利益相關者之間。
實務工作者的關鍵收穫:
-
從廣泛的候選項目提取開始,再透過明確的排除規則進行精煉
-
使用單數且一致的命名規範以減少歧義
-
善用序列圖以發現隱藏的作業與屬性
-
將建模視為迭代過程——每個情境都豐富了類別模型
-
維持需求、模型與實作之間的雙向可追溯性
無論您是設計存取控制系統、企業工作流程,還是客戶導向的應用程式,本文提出的方法論都提供了一個可重複、可擴展的框架,將文字轉化為可執行的軟體模型。
參考文獻
- Visual Paradigm UML工具功能:全面介紹Visual Paradigm的UML建模功能,包含對所有14種UML 2.x圖表類型的支援,以及AI輔助建模功能。
- 14種UML圖表類型概覽:詳細指南,說明結構與行為性UML圖表及其在軟體設計中的適當應用情境。
- Visual Paradigm使用者指南PDF:官方文件,涵蓋Visual Paradigm的安裝、介面導航與核心建模工作流程。
- UML建模文件:逐步說明如何在Visual Paradigm環境中建立、編輯與管理UML圖表。
- 什麼是UML圖表?:適合初學者的UML概念、圖表類型介紹,以及其在軟體架構與設計溝通中的角色。
- 使用用例捕捉需求:實用指南,說明如何使用用例圖與文字分析來探詢、記錄與驗證系統需求。
- AI輔助UML類別圖生成器:介紹Visual Paradigm的AI功能,可自動根據自然語言描述生成類別圖。
- PlantUML轉換為Visual圖表教學: 影片教學示範如何將 PlantUML 程式碼轉換為 Visual Paradigm 內的互動式、可編輯 UML 圖表。
- 什麼是 UML?: 對統一建模語言原則、歷史及其在現代軟體工程實務中重要性的基礎說明。
- 程式工程工具: 對雙向工程功能的描述,支援多種程式語言的程式碼產生與反向工程。
- 使用 ORM 的資料庫對應: 使用物件-關聯對應技術,從 UML 類別圖表產生資料庫結構與持久層的指南。
- 資料庫工程的優勢: 解釋整合式資料庫建模如何提升資料一致性、縮短開發時間,並支援敏捷迭代。
- Visual Paradigm 精選作品集: 展示使用 Visual Paradigm 建立的範例專案、圖表範本與產業特定的建模範例。
- 安裝 Visual Paradigm: 官方安裝指南,涵蓋系統需求、授權啟用與初始設定步驟。
- Eclipse 中的 UML 整合: 文件說明如何將 Visual Paradigm 建模工具直接嵌入 Eclipse IDE,以實現無縫的開發工作流程。
- 免費 UML 工具選項: 比較 Visual Paradigm 社群版功能與專業功能,協助評估建模解決方案的團隊做出選擇。
- UML 建模軟體流程: 簡述 UML 工具如何融入迭代式開發流程,包括敏捷、瀑布與混合方法論。
- 視覺化建模工具功能: 詳細的功能清單,突出智慧元件重用、語法驗證與資源目錄功能,展現專業建模工具的差異性。
- 企業解決方案用的 UML 工具: 以企業為導向的描述,說明 Visual Paradigm 的可擴展性、協作功能,以及與需求管理與敏捷規劃工具的整合。
- Visual Paradigm 首頁: Visual Paradigm 的主要網站,提供產品下載、教學影片、社群論壇與支援資源,供建模實務工作者使用。
- UML 教學影片合集: 精選的逐步教學影片資料庫,涵蓋從初學到進階的多種圖表類型 UML 建模技巧。
- 繁體中文 UML 工具指南: 本地化資源,為使用繁體中文的使用者與團隊提供 UML 建模指引與產品資訊。












