【系統分析】用做蛋糕比喻學習MDA:從UML到自動產生程式碼

更新於 發佈於 閱讀時間約 3 分鐘


raw-image



學習UML學到MDA這一塊

一直覺得書本上寫的很抽象

再講到CIM、PIM、PSM時就開始有點問號

因為沒有實際例子


讓我們重新用「做蛋糕」的比喻來解釋MDA吧


什麼是 MDA?

2001年OMG組織提出了MDA的架構
希望設計階段的模型與實作階段程式碼脫鉤。

想像你要做一個蛋糕,但你不直接動手做,而是先寫一份「蛋糕設計圖」。

這份設計圖會詳細描述:

  • 蛋糕有幾層
  • 要用哪些材料
  • 裝飾的步驟


MDA 的核心概念就是:用「設計圖」(模型)來驅動整個軟體開發過程

而不是直接寫程式碼。

你就可以想像成你經營蛋糕工廠

當你畫好設計圖(UML)後

利用工廠的機器(MDA相關工具)產生出程式碼(蛋糕)



MDA 的三大步驟(分層設計)


  1. CIM(Computation Independent Model)→ 需求藍圖
    ➤ 就像你和客戶討論:「蛋糕要多大?什麼口味?預算多少?」
    ➤ 這階段只關心「要做什麼」,不談技術細節。
  2. PIM(Platform Independent Model)→ 通用設計圖
    ➤ 設計一個「通用蛋糕食譜」,例如:「三層巧克力蛋糕,用鮮奶油裝飾」。
    ➤ 此時不考慮「用哪個牌子的烤箱」或「用哪種攪拌器」。
  3. PSM(Platform Specific Model)→ 具體操作手冊
    ➤ 根據你家廚房的設備(例如:某品牌烤箱),把通用食譜轉換成具體步驟。
    ➤ 例如:「烤箱預熱到 180°C,烤 25 分鐘」


自動生成程式碼
➤ 最後,工具會把「具體操作手冊」轉換成真正的程式碼(例如 Java、Python)。



總結

  • 當你使用MDA時,你就可以有跨平台優勢
    你可以使用同一份設計圖,轉換成不同平台使用的語言
  • 當你使用MDA時,你一修改設計圖
    你的程式碼也可以跟著一起變動
  • MDA 就像用「設計圖自動做蛋糕」
    先畫通用設計圖(PIM)
    轉換成具體操作手冊(PSM)
    工具自動生成程式碼







留言
avatar-img
留言分享你的想法!
avatar-img
ZAXC科技商業週週報
3會員
11內容數
分享軟體科技與商業時事新知 👏歡迎一起每週變得更強👏
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
Mplus是一種用於統計分析和結構方程模型(SEM)的軟體,通常用於處理複雜的數據分析和模型建立。以下是一些Mplus的基本語法示例,用於不同類型的分析。
Thumbnail
Mplus是一種用於統計分析和結構方程模型(SEM)的軟體,通常用於處理複雜的數據分析和模型建立。以下是一些Mplus的基本語法示例,用於不同類型的分析。
Thumbnail
IC產業常用術語,什麼是SDC? DRC? EC? 打開小白筆記~
Thumbnail
IC產業常用術語,什麼是SDC? DRC? EC? 打開小白筆記~
Thumbnail
本文摘要出我覺得IC開發流程中最基本的相關知識,幫自己的成長做紀錄,也分享給剛加入半導體/IC產業的小白們,希望這篇文章可以提供幫助。
Thumbnail
本文摘要出我覺得IC開發流程中最基本的相關知識,幫自己的成長做紀錄,也分享給剛加入半導體/IC產業的小白們,希望這篇文章可以提供幫助。
Thumbnail
關於塑膠件的設計流程中,除了模具設計部門(或廠商) 對於機構設計部件所做的 tooling DFM之外,做重要的就是 "模流分析" 了。 IG:https://instagram.com/tomdaddydesign/
Thumbnail
關於塑膠件的設計流程中,除了模具設計部門(或廠商) 對於機構設計部件所做的 tooling DFM之外,做重要的就是 "模流分析" 了。 IG:https://instagram.com/tomdaddydesign/
Thumbnail
分類原則請參照這篇 狹義來說,我們把建模視為幾何建模的簡寫,但是廣義來說他應該是會包含發熱體行為,風扇行為,所有會影響到各方程式架設的因子。也就是說如果我們今天以最基本熱流模型,那就會有流的建模和熱的建模。 雖然說是流體建模,但是實際上卻是畫固體邊界,然後不屬於固體的部分通通是流體。一般概
Thumbnail
分類原則請參照這篇 狹義來說,我們把建模視為幾何建模的簡寫,但是廣義來說他應該是會包含發熱體行為,風扇行為,所有會影響到各方程式架設的因子。也就是說如果我們今天以最基本熱流模型,那就會有流的建模和熱的建模。 雖然說是流體建模,但是實際上卻是畫固體邊界,然後不屬於固體的部分通通是流體。一般概
Thumbnail
建模 (Modeling) 畫細不難,難在用最經濟的方式達成 "雖不中亦不遠矣"。 網格 (Meshing) 任憑你列式再怎麼漂亮,解不出來就是白搭。 求解 (iterating) 能收斂都好說,不能收斂就是痛苦的開始
Thumbnail
建模 (Modeling) 畫細不難,難在用最經濟的方式達成 "雖不中亦不遠矣"。 網格 (Meshing) 任憑你列式再怎麼漂亮,解不出來就是白搭。 求解 (iterating) 能收斂都好說,不能收斂就是痛苦的開始
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News