OOAD 板


LINE

引述《adrianshum (Alien)》之銘言: : ※ 引述《H45 (!H45)》之銘言: : : 因為 OOAD 的上一層是軟體工程 : : 所以系統在開發的過程中勢必少不了一些前提 : : 現在就假設以 test-driven 的方法來開發軟體 : : 開發程式之初,最需要的就是「需求的擷取」 : : 再度假設現在已經知道了系統的需求與功能 : : 那麼緊接著就是做一連串的 test case : : 做完了 test case 之後就是真的去發展系統本身 : : 但是系統發展的過程中,不是每次都能夠像 waterfall 一樣從頭就做到尾的 : : 而是會有數次的 iteration, 進行循序式的發展 : : 也許哪天系統需求有了變化,也許設計上有些元件不夠具有彈性 : : 或者某些類別的命名不太理想,又或許突然發現套用一個 design pattern 會更好 : : 那麼這個時候當初訂下來的 test case 是否也需要做一些調整呢? : : 答案很明顯是肯定的。 : : 這個時候如果又剛好是 Object oriented language : : 那麼就會出現另一個問題:test case 要怎麼設計會比較具有彈性? : : 一般而言,test case 必須對介面進行呼叫,而非針對葉類別進行呼叫 : : 因為葉類別在系統發展中處於一個不穩定的狀態,而介面卻往往是最穩定的 : : 所以 test case 就會傾向於呼叫介面的操作。 : : 但是呼叫介面的操作之前又必須先產生實體才有辦法真的做測試 : : 要解決產生實體的問題又可以使用 factory pattern 來設計 : : 整個就變得和 OOAD 十分的有關係了 : 這部份不太贊同 : 沒錯, 做 unit test 時通常會比較針對 : interface 提供的東西來作測試, 但test case : 本身是用來測試特定的 implementation 的. : 換而言知, 對 test case 而言, 它是知道它 : 要測試的是哪一個 implementation, 產生實 : 體該由 test case 自己做就好, 如非必要, : 不必另外藉由 factory 去 instantiate. : 而 unit test 的理念該是盡量只碰你要測試的 : class 就好, 如果還去找個 factory 來生產你 : 要的 impl 的話, 涉及與 test 不相關的東西就變多, : test case 的準確程度反而變低. : : 不知道這樣的回答有沒有解釋到.... : : 雖然我還是比較贊同 unit testing 和 OO 沒有直接的關係 : : 但是還是試圖說明了一下 unit testing 要怎麼和 OO 扯上關係 : Alien OOAD只是開發流程中設計部分的一種方式.. 但開發流程等不等於軟體工程, 應該是見人見智的問題.. 舉凡 雛型式開發 瀑布式開發 到 漸進式及 ExtremeProgramming (英文不好, 前三個英文不會打, 請多包涵. XD) 哪一種是不包含 測試 這個部份的? 而且雛型 及 瀑布式開發等等 一些開發流程, 從尚未有OO的時代就已經發展出來了.. 所以話說回來. Unit Testing 嚴格說起來不只是針對 OO而已.. 應該說它是 測試 理論中的一部分. 均適用於 物件導向及結構式程式設計.. 所以那些發展出這套理論的人也都鼓勵程式設計師遵循這些方法去測試.. 而非指特定的OOP, 目前比較常見的Junit 等等的測試工具. 是有人以特定的程式導向去實作出測試理論. 以便讓某程式導向的Programmer 方便使用. 如此而已. 其實剛開始學的人, 很容易把某些工具跟理論或標準規格劃上等號. 就像以前小弟小時候不懂事, 把FrontPage當作 Html一樣. Unit Testing 歸 Unit Testing, OOAD歸OOAD 一個是測試. 一個是設計.. 要說有關係, 也不過是用 Unit Testing 去試你設計出來的東西對不對而已吧? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.124.20
1F:→ PsMonkey:Prototype, Waterfall, 我不確定你的漸進式是哪一個 07/21 12:11
2F:推 godfat:iterative i suppose 07/21 12:34
3F:推 retsamsu:For more imformation about unit-testing, you can 07/21 20:38
4F:→ retsamsu:find something from CMMI technical solution process 07/21 20:40
5F:→ retsamsu:area (不過我覺得已經離OOAD太多了) 07/21 20:41
6F:→ bejoe:不要把CMMI那套扯進來 那跟OO其實有點遠了 08/03 21:56







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP