實戰系列『影像處理軟體設計』- [7] 物件導向方法:領域模型

閱讀時間約 1 分鐘

一、什麼是領域模型?

需求分析和物件導向並無直接關係,需求分析階段不區分是物件導向還是程序導向,要從「領域建模」才真正開始物件導向的工作。

領域模型是完成從需求分析到物件導向設計的一座橋樑。

領域模型是對領域內的概念或現實世界中物件的視覺化表示,又稱「概念模型」、「領域物件模型」、「分析物件模型」。

二、該如何進行領域建模?

領域建模的方法概括起來就是「找名詞」,從需求模型中或是說「從使用案例中找名詞」。

找到名詞後,為了能夠更加符合物件導向的要求,還需要進一步完善這些名詞:加屬性、連關係。

領域建模的方法可以總結為:找名詞、加屬性、連關係。

另外,該注意的是領域建模無法關注使用案例的約束和限制,例如效能、可靠性等;但後面進行設計時還會回過頭來核對使用案例。

後續我們會使用一個「影像處理軟體」的使用案例來說明如何建立領域模型。

三、常見問題

1. 如果沒有使用案例,是否就無法得到領域模型?

對於經驗豐富的分析師來說,沒有使用案例同樣能夠分析出領域模型;但強烈建議使用案例分析,使用案例對於正確分析客戶需求非常有幫助。

2. 如果是程序導向,需要進行領域模型分析嗎?

基本上不需要,程序導向需要分析的是「工作流程」和「資料結構」。

四、本章總結

  • 領域模型是「需求到物件導向的橋樑」。
  • 領域建模的方法:找名詞、加屬性、連關係。
  • 從使用案例中可以找到領域模型所需的名詞。
  • 領域模型的類別不是軟體類別,只是用來描述領域的實體,不需要關注方法。
閱讀可以用最低的成本來獲得別人經驗,培養閱讀能力,一生受益。但要記住,別只讓自己的大腦永遠處於「輸入狀態」,要適當地「輸出」自己的想法。透過閱讀輸入,再利用寫作輸出,就像「費曼學習法」說的一樣,教授到別人能夠了解,自己才算是領悟了這門學問。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
使用案例 (Use Case)是用來描述需求的流程,就是 5W1H8C 中的 How。有很多方法可以分析客戶需求,例如問卷調查、自由發想、資料分析、資料探勘、競爭對手分析等,可以參考「需求分析理論」的相關書籍;但最有效以及最直接的方法還是和客戶交流。只要掌握正確的方法,就可以完成良好的需求分析。
需求分為「功能屬性」和「品質屬性」, 5W + 1H 屬於功能屬性,8C 屬於品質屬性。能否正確地實現一個需求,既要看功能屬性是否正確,也要看品質屬性是否正確,兩者缺一不可。例如:設計了一個功能強大的機器視覺系統,但動不動就當機,你覺得客戶會使用這樣的系統嗎?
對軟體專案來說,需求就是專案最一開始的輸入。 需求:對客戶來說有價值的事情。 功能:系統為了滿足客戶價值而提供的能力。 區別是需求還是功能的方式很簡單,只要判斷是否對客戶有價值。 舉例來說:影像處理軟體:「顯示影像」是需求,「讀取檔案」、「取得影像長寬」、「取得色彩位元」等是功能。
專案管理的流程主要指導專案經理如何管理專案,但對於指導開發人員如何開發專案,並無多大用處。就像「專案管理」有一套完整的流程一樣,「專案開發」也有一套完整的程序。對於物件導向來說,整個開發流程實際上非常清晰,底下我們將「瀑布模型」、「敏捷開發」等稱為『管理流程』;物件導向流程開發稱為『技術流程』。
封裝、繼承、多型是物件導向的三大核心特徵,判斷一種程式語言是否為物件導向的程式語言,就看其是否支援這三大核心特徵。 軟體類別是對現實類別的模擬,但不是簡單的等同。除了實作現實類別相對應的功能,還會創造出許多現實中不存在的類別。 這個創造過程正是各種設計方法、設計模式、設計原則大顯身手的地方。
常見的 C 語言是屬於程序導向中結構化程式設計的概念,採取『自上而下、逐步細化、模組化』的方法,從而降低軟體發展的複雜度,因此 C 語言成為 20 世紀 70 年代軟體發展的潮流。因為結構化程式設計的方式無法滿足軟體『可擴充性』和『可維護性』的需求,因此物件導向的概念才開始普及。
使用案例 (Use Case)是用來描述需求的流程,就是 5W1H8C 中的 How。有很多方法可以分析客戶需求,例如問卷調查、自由發想、資料分析、資料探勘、競爭對手分析等,可以參考「需求分析理論」的相關書籍;但最有效以及最直接的方法還是和客戶交流。只要掌握正確的方法,就可以完成良好的需求分析。
需求分為「功能屬性」和「品質屬性」, 5W + 1H 屬於功能屬性,8C 屬於品質屬性。能否正確地實現一個需求,既要看功能屬性是否正確,也要看品質屬性是否正確,兩者缺一不可。例如:設計了一個功能強大的機器視覺系統,但動不動就當機,你覺得客戶會使用這樣的系統嗎?
對軟體專案來說,需求就是專案最一開始的輸入。 需求:對客戶來說有價值的事情。 功能:系統為了滿足客戶價值而提供的能力。 區別是需求還是功能的方式很簡單,只要判斷是否對客戶有價值。 舉例來說:影像處理軟體:「顯示影像」是需求,「讀取檔案」、「取得影像長寬」、「取得色彩位元」等是功能。
專案管理的流程主要指導專案經理如何管理專案,但對於指導開發人員如何開發專案,並無多大用處。就像「專案管理」有一套完整的流程一樣,「專案開發」也有一套完整的程序。對於物件導向來說,整個開發流程實際上非常清晰,底下我們將「瀑布模型」、「敏捷開發」等稱為『管理流程』;物件導向流程開發稱為『技術流程』。
封裝、繼承、多型是物件導向的三大核心特徵,判斷一種程式語言是否為物件導向的程式語言,就看其是否支援這三大核心特徵。 軟體類別是對現實類別的模擬,但不是簡單的等同。除了實作現實類別相對應的功能,還會創造出許多現實中不存在的類別。 這個創造過程正是各種設計方法、設計模式、設計原則大顯身手的地方。
常見的 C 語言是屬於程序導向中結構化程式設計的概念,採取『自上而下、逐步細化、模組化』的方法,從而降低軟體發展的複雜度,因此 C 語言成為 20 世紀 70 年代軟體發展的潮流。因為結構化程式設計的方式無法滿足軟體『可擴充性』和『可維護性』的需求,因此物件導向的概念才開始普及。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
我們講城的第一發就來請出日本目前保存的最完整、規模也最大的「姬路城」吧!希望當我們一起走過姬路城之後,大家以後到其他的城參訪時,也能從更多不同的角度來觀察日本城中的每一個角落,發現專屬於自己的、不同的樂趣喔。
Thumbnail
生成式AI工具越來越多,有很多跟生成式AI繪圖工具相關的產品不斷冒出,那麼再往進階一些方向去,大家會想到的應該就是海報跟商業攝影之類的,也確實有一些網站開始打著即刻靠著生成式AI產出專業等級的商業攝影,今天我們這邊就跟大家一起實測一下,這其中最有名氣的 Flair.ai 是否能夠替你產出專業的海報。
Thumbnail
《世紀帝國》系列   我們這次要討論的系列是著名的即時戰略遊戲《世紀帝國》系列。雖然它遠遠不是最早的即時戰略遊戲,卻是台灣以及世界上許許多多電腦遊戲玩家的童年回憶。也是人們想起即時戰略遊戲時,一定不會錯過的代表性遊戲。就讓我們一起聊聊這款在許多電腦玩家心目中無可取代的有趣作品吧!
Thumbnail
透過有計畫的寫作練習,從看到題目一片空白,到能在幾分鐘內理解題意、建立主要寫作架構,並在預估的時間內完成一篇「不離題」、「段落分明」、「閱讀順暢」,讓閱卷者挑不出明顯大錯的文章,是我們的最終目標。
Thumbnail
如果我們說金閣寺象徵著室町時代中,經濟最繁榮、舶來品滿天飛的時期;那麼銀閣寺便象徵著室町時代中,經濟發展最谷底、卻也是現在我們所認知的「日本文化」開始冒出頭的時期。如此與金閣差異甚大的銀閣,究竟是在甚麼樣的時代背景下,又是被誰給創造出來的呢?我們就一起來看看吧。
Thumbnail
終極戰士系列電影從1987年發展至今,前後推出了四部作品,而在先前才剛宣部第五部作品已經殺青,且在北美將於hulu上發行,根據最新的外媒報導,第五部作品將定名為《Prey》,而北美以外的地區,目前也沒有上映院線的計畫,取而代之的則是在Disney+或Star上來做播映。
Thumbnail
延續上一篇我們聊到了源義經在年少時期到源平合戰之間的故事,這次,我們就來聊聊他在回到京都之後,跟他的老大哥源董吵架,且最終吵到跑路的故事。
Thumbnail
前面幾集,我們大致上講完了兩間保全公司的激烈戰爭故事,戰爭結束之後,這一篇我們就當作後記,聊聊與源平合戰結束後所留下的謎團與傳說,以及一些相關的景點。希望之後大家實際造訪並看到相關事物的時候,可以回想起這幾集的精采故事,讓旅程回憶更加豐富喔。  
Thumbnail
源賴朝透過「瓶子倒了」群組號召來各地源氏保全公司的員工,開始與平氏餘黨們展開了你追我跑的一連串戰役。其中,最傳奇的員工不外乎就是源賴朝(源經理)的小老弟「源義經」了。這次我們就來看看他在戰場上到底是多麼不按牌理出牌,又是如何透過奇襲贏得勝利的吧。
Thumbnail
大部分的人,應該都覺得時間在中國那邊,只要中國持續強大,台灣被磁吸進去也是莫可奈何的,不是嗎?當然不是,時間之神從來就不會特別喜歡誰,他只站在有準備的人那一邊。把話說白一點,認為時間在中國那邊的人,大致上都是認同了「台灣怎樣都無力回天」這種想法。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
我們講城的第一發就來請出日本目前保存的最完整、規模也最大的「姬路城」吧!希望當我們一起走過姬路城之後,大家以後到其他的城參訪時,也能從更多不同的角度來觀察日本城中的每一個角落,發現專屬於自己的、不同的樂趣喔。
Thumbnail
生成式AI工具越來越多,有很多跟生成式AI繪圖工具相關的產品不斷冒出,那麼再往進階一些方向去,大家會想到的應該就是海報跟商業攝影之類的,也確實有一些網站開始打著即刻靠著生成式AI產出專業等級的商業攝影,今天我們這邊就跟大家一起實測一下,這其中最有名氣的 Flair.ai 是否能夠替你產出專業的海報。
Thumbnail
《世紀帝國》系列   我們這次要討論的系列是著名的即時戰略遊戲《世紀帝國》系列。雖然它遠遠不是最早的即時戰略遊戲,卻是台灣以及世界上許許多多電腦遊戲玩家的童年回憶。也是人們想起即時戰略遊戲時,一定不會錯過的代表性遊戲。就讓我們一起聊聊這款在許多電腦玩家心目中無可取代的有趣作品吧!
Thumbnail
透過有計畫的寫作練習,從看到題目一片空白,到能在幾分鐘內理解題意、建立主要寫作架構,並在預估的時間內完成一篇「不離題」、「段落分明」、「閱讀順暢」,讓閱卷者挑不出明顯大錯的文章,是我們的最終目標。
Thumbnail
如果我們說金閣寺象徵著室町時代中,經濟最繁榮、舶來品滿天飛的時期;那麼銀閣寺便象徵著室町時代中,經濟發展最谷底、卻也是現在我們所認知的「日本文化」開始冒出頭的時期。如此與金閣差異甚大的銀閣,究竟是在甚麼樣的時代背景下,又是被誰給創造出來的呢?我們就一起來看看吧。
Thumbnail
終極戰士系列電影從1987年發展至今,前後推出了四部作品,而在先前才剛宣部第五部作品已經殺青,且在北美將於hulu上發行,根據最新的外媒報導,第五部作品將定名為《Prey》,而北美以外的地區,目前也沒有上映院線的計畫,取而代之的則是在Disney+或Star上來做播映。
Thumbnail
延續上一篇我們聊到了源義經在年少時期到源平合戰之間的故事,這次,我們就來聊聊他在回到京都之後,跟他的老大哥源董吵架,且最終吵到跑路的故事。
Thumbnail
前面幾集,我們大致上講完了兩間保全公司的激烈戰爭故事,戰爭結束之後,這一篇我們就當作後記,聊聊與源平合戰結束後所留下的謎團與傳說,以及一些相關的景點。希望之後大家實際造訪並看到相關事物的時候,可以回想起這幾集的精采故事,讓旅程回憶更加豐富喔。  
Thumbnail
源賴朝透過「瓶子倒了」群組號召來各地源氏保全公司的員工,開始與平氏餘黨們展開了你追我跑的一連串戰役。其中,最傳奇的員工不外乎就是源賴朝(源經理)的小老弟「源義經」了。這次我們就來看看他在戰場上到底是多麼不按牌理出牌,又是如何透過奇襲贏得勝利的吧。
Thumbnail
大部分的人,應該都覺得時間在中國那邊,只要中國持續強大,台灣被磁吸進去也是莫可奈何的,不是嗎?當然不是,時間之神從來就不會特別喜歡誰,他只站在有準備的人那一邊。把話說白一點,認為時間在中國那邊的人,大致上都是認同了「台灣怎樣都無力回天」這種想法。