實戰系列『影像處理軟體設計』- [3] 物件導向方法:分析和設計流程概述

更新 發佈閱讀 3 分鐘

專案管理的流程主要指導專案經理如何管理專案,但對於指導開發人員如何開發專案,並無多大用處。

剛畢業的學生或許對「軟體工程」很熟悉,對各個開發階段應該做什麼,不同的開發流程有什麼優缺點,說的頭頭是道。

可是一旦參與專案開發後,便會有一種無從下手的感覺。

舉例來說:

  1. 需求分析階段要分析需求,但具體怎麼分析?
  2. 客戶的需求是描述語句,例如「我們需要一個影像處理的軟體」,而程式碼則是一個具體的類別和函式。那怎麼從描述語句轉化成具體的類別和函式呢?
  3. 具體的語言特性,例如 C++ 的 private, protected, public 等屬性是來自哪裡?該如何設計?
  4. 物件導向的類別、屬性、方法等,是怎麼設計出來的?

相信以上的問題都曾困擾著你我,但軟體工程並未給出答案,導致我們在實際開發過程中,只能在別人的設計與指導下工作,或是亂湊出能滿足需求的想法,至於效果,就得靠上天眷顧了。

有慧根的人,經過一段時間的磨練後,可能就漸漸掌握門道,但大多數的人可能就一直原地踏步,不斷地執行別人分配的工作內容。

其實,就像「專案管理」有一套完整的流程一樣,「專案開發」也有一套完整的程序。

對於物件導向來說,整個開發流程實際上非常清晰,底下我們將「瀑布模型」、「敏捷開發」等稱為『管理流程』;物件導向流程開發稱為『技術流程』。

物件導向的技術流程可以概括如下:

需求模型 --> 領域模型 --> 設計模型 --> 實作模型

  1. 需求模型:透過和客戶溝通,結合產業經驗和知識,明確地闡述客戶的需求。
  2. 領域模型:根據需求模型,擷取出領域相關概念,為後面的物件導向設計打下基礎。
  3. 設計模型:以領域模型為基礎,綜合物件導向的各種設計技巧,完成類別的設計。
  4. 實作模型:以設計模型為基礎,將設計轉譯為具體的程式語言實作,完成程式碼撰寫。

技術流程環環相扣,上一步流程的輸入就是下一步流程的輸入。

藉由這種 step by step 的方式,可以完成從需求到最後實作的相關工作。

留言
avatar-img
一個工程師的創業之旅的沙龍
74會員
442內容數
閱讀可以用最低的成本來獲得別人經驗,培養閱讀能力,一生受益。但要記住,別只讓自己的大腦永遠處於「輸入狀態」,要適當地「輸出」自己的想法。透過閱讀輸入,再利用寫作輸出,就像「費曼學習法」說的一樣,教授到別人能夠了解,自己才算是領悟了這門學問。
2023/08/21
設計模型主要包含兩個部分:靜態模型、動態模型。動態模型設計一般都是在類別模型設計完成後開始,此階段需要使用類別模型的類別。動態模型設計不需要應用「設計原則」和「設計模式」,只需對照「使用案例模型」,並根據使用案例的特點,選一個適合的動態模型表述即可;動態建模不需要面面俱到。
Thumbnail
2023/08/21
設計模型主要包含兩個部分:靜態模型、動態模型。動態模型設計一般都是在類別模型設計完成後開始,此階段需要使用類別模型的類別。動態模型設計不需要應用「設計原則」和「設計模式」,只需對照「使用案例模型」,並根據使用案例的特點,選一個適合的動態模型表述即可;動態建模不需要面面俱到。
Thumbnail
2023/07/31
物件導向領域經過幾十年的演進,已經發展出很多成熟的指導方針和方法;其中最具代表性的就是「設計原則」和「設計模式」。進行物件導向類別設計,第一個要解決的問題是:類別從哪裡來?領域模型中的「領域類別」,便是設計類別中「軟體類別」最好的來源;透過「領域類別」啟發設計最初的「軟體類別」。
Thumbnail
2023/07/31
物件導向領域經過幾十年的演進,已經發展出很多成熟的指導方針和方法;其中最具代表性的就是「設計原則」和「設計模式」。進行物件導向類別設計,第一個要解決的問題是:類別從哪裡來?領域模型中的「領域類別」,便是設計類別中「軟體類別」最好的來源;透過「領域類別」啟發設計最初的「軟體類別」。
Thumbnail
2023/07/23
什麼是領域模型?領域模型是完成從需求分析到物件導向設計的一座橋樑。需求分析和物件導向並無直接關係,需求分析階段不區分是物件導向還是程序導向,要從「領域建模」才真正開始物件導向的工作。後續我們會使用一個「影像處理軟體」的使用案例來說明如何建立領域模型。
Thumbnail
2023/07/23
什麼是領域模型?領域模型是完成從需求分析到物件導向設計的一座橋樑。需求分析和物件導向並無直接關係,需求分析階段不區分是物件導向還是程序導向,要從「領域建模」才真正開始物件導向的工作。後續我們會使用一個「影像處理軟體」的使用案例來說明如何建立領域模型。
Thumbnail
看更多
你可能也想看
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
工作拆解第一式 用「階段」為基礎的拆分 用「交付物」為基礎的拆分 微管理(micro-management)不會讓事情更好 「專案管理」也是WBS的一部份 小趣談
Thumbnail
工作拆解第一式 用「階段」為基礎的拆分 用「交付物」為基礎的拆分 微管理(micro-management)不會讓事情更好 「專案管理」也是WBS的一部份 小趣談
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
介紹 在過去的歷史裡開發程式都是以呼叫Function的方式來做程式開發,後來才有了物件導向設計的概念,而物件導向程式設計的概念就是,使用【物件】的方式來設計程式。 Q: 什麼是【物件】? A:【物件】會包含以下這四個特性: 抽象(Abstraction) 封裝(Encapsulation)
Thumbnail
介紹 在過去的歷史裡開發程式都是以呼叫Function的方式來做程式開發,後來才有了物件導向設計的概念,而物件導向程式設計的概念就是,使用【物件】的方式來設計程式。 Q: 什麼是【物件】? A:【物件】會包含以下這四個特性: 抽象(Abstraction) 封裝(Encapsulation)
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
雖然標題是產品經理,但我想大家可能對專案開發比較有興趣。 為了讓整篇的含金量高一點,我會放入一些系統工程相關的東西 一般產品開發可能不需要到這麼嚴格。 專案管理及匯報 專案採購和產品採購 小趣談
Thumbnail
雖然標題是產品經理,但我想大家可能對專案開發比較有興趣。 為了讓整篇的含金量高一點,我會放入一些系統工程相關的東西 一般產品開發可能不需要到這麼嚴格。 專案管理及匯報 專案採購和產品採購 小趣談
Thumbnail
軟體開發一個很迷人的地方是可以在架空的世界(電腦世界)中重新思考、解構並處理真實世界的問題。但要怎樣真正有效的解決問題就很看各家功力了。 這篇文章我們暫且放下溝通及流程規劃的議題,聚焦來看看純粹領域差異造成的困難以及該怎麼面對。 回顧過往曾經觸碰過的領域真的滿多,茲列舉幾個
Thumbnail
軟體開發一個很迷人的地方是可以在架空的世界(電腦世界)中重新思考、解構並處理真實世界的問題。但要怎樣真正有效的解決問題就很看各家功力了。 這篇文章我們暫且放下溝通及流程規劃的議題,聚焦來看看純粹領域差異造成的困難以及該怎麼面對。 回顧過往曾經觸碰過的領域真的滿多,茲列舉幾個
Thumbnail
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
Thumbnail
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
Thumbnail
我和拍電影最近的距離大概是當短片的臨演…這本書令我感興趣的是拍電影的組織與管理,同樣是專案型組織,電影這個百年產業一定有可以借鏡的地方吧!所以我從資訊業的角度看拍電影。
Thumbnail
我和拍電影最近的距離大概是當短片的臨演…這本書令我感興趣的是拍電影的組織與管理,同樣是專案型組織,電影這個百年產業一定有可以借鏡的地方吧!所以我從資訊業的角度看拍電影。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News