實戰系列『影像處理軟體設計』- [6] 物件導向方法:使用案例方法

更新於 2023/07/11閱讀時間約 3 分鐘
使用案例 (Use Case)是用來描述需求的流程,就是 5W1H8C 中的 How
流程一般都是客戶根據自己的業務總結而來,看似只要將客戶描述的內容記錄下來即可,但現實與理想總是有差距,各式各樣的狀況都可能出現,因此我們也無法直接通過記錄客戶的描述,就能直接完成描述需求的流程。

一、NEA 三段法

只要掌握正確的方法,就可以完成良好的需求分析,例如使用案例方法三段法 (NEA 方法):
  1. 正常處理 (Normal),通過和客戶溝通,分析需求的正常流程。
  2. 異常處理 (Exception),在正常處理流程的步驟上,分析每一步的各種異常狀況和對應的處理。
  3. 替代處理 ( Alternative),在正常處理流程的步驟上,分析每一步是否有其他替代方法,以及如何進行。
經過以上簡單的三段法後,可以說 How 就分析得差不多了。
後續我們會用一個完整的「影像處理軟體」使用案例來說明需求分析 5W1H8C 方法涉及的內容。

二、使用案例說明

一個完整的使用案例,應該包含下列幾個部分:
  1. 使用案例名稱,即需求的名稱。
  2. 場景,使用案例發生的環境,正好對應 5W 中的 3 W - Who, Where, When
  3. 使用案例描述,對應 5W 中的 What How,亦即客戶應該怎樣做,以及每個步驟的輸出;不要求每個步驟都一定有輸出,可以有也可以沒有,或著有多個輸出。
  4. 使用案例價值,描述使用案例對應的客戶價值,對應 5W 中的 Why
  5. 約束和限制,整個需求流程中相關的約束和限制條件,對應 8C

三、常見問題與回答

  • 5W1H8C 分析方法是物件導向專用的嗎?
這方法適合軟體相關的所有領域、所有類型的產品與流程,其根本原因在於「需求的本質」都是一樣的,亦即「客戶的問題和價值」。
  • 瞭解客戶需求只能透過交談或是詢問進行嗎?
還有很多方法,例如問卷調查、自由發想、資料分析、資料探勘、競爭對手分析等,可以參考「需求分析理論」的相關書籍。但最常見、最有效以及最直接的方法還是和客戶交流。
  • 5W 和 8C 中的每個點,是否每次需求分析都一定要全部考慮?
實務上建議這樣做,即使某個點沒有涉及,就註明「沒有特別要求」。這個好處是,其他人不用擔心到底是忘記分析,或者是確實不涉及。
  • 是否每個需求都一定要寫一個使用案例?
不一定,只有那些關鍵、複雜、存在多個步驟或者互動的需求,才需要透過使用案例進行詳細分析。

四、總結

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