The Introduction of The Whole and the Parts

這是人月神話:軟體專案管理之道(20週年紀念版)的第十三章:化整為零(The Whole and the Parts),簡體版本譯作整体部分,看起來就沒有化整為零這個翻譯漂亮,而且ㄚ琪看完了這節時發現這樣的成語用在這裡也頗貼切的,好吧,我就繼續分享這篇的心得。

文章一開始就來個敘述說,有人會自吹自擂說航管程式、彈道飛彈攔截程式…等等的,說我也會,這個案例ㄚ琪自己以前似乎也曾發生過,那時好像就是學會了C語言,管他什麼程式,應該都沒問題,結果活到大把年紀,一件像樣的軟體也沒生出來,嘿嘿,自大心理還真不小。所以對於大型軟體的開發,可不是只會玩C語言就行了,要怎樣用有系統的方式來做,請看。

避免發生錯誤的設計方式

做好定義以防止誤解  看來溝通的問題,一直在這裡浮現出來,這種問題只有盡量降低,別無他法。

規格審查  定義好的文件要先做審查,免得大家用自己的一套來辦事。

由上而下的設計方式(top-down design)  尼古拉斯·沃斯(Niklaus Wirth)學過Pascal的應該會比較熟,它是這個語言的主設計師,他在1971年提出這種設計方式,文章還可以再他的站上找到,Program Development by Stepwise Refinement.他還很健在說,佩服,這裡頭牽涉到的一些概念,我用粗體字來表現,細分精緻的步驟(refinement steps)、模組(module)、高階(high-level),這種設計方式很多人應該都碰過。

結構話程式設計  艾茲赫爾·戴克斯特拉(Edsger Wybe Dijkstra,1930年5月11日-2002年8月6日)提出,完整的,後由Corrado Böhm跟Jacopini完整提出,GO TO用不用的問題,在這裡的文章有很多都會討論到。

組件除錯

上機除錯(on-machine debugging)  這應該沒有人會再碰到吧!

記憶體頃印(memory dump)

記憶體即時擷取(snapshot)

交談式除錯(interactive debugging) 我想這應該ㄚ琪懂的除錯方式吧。

測試案例(test case)

系統除錯

使用除錯完成的組件  這還有兩種方法,一是嘗試整合(bolt-it-together-and-try),另一個是直接讓各個組件互測,這樣可以減少製作測試鷹架(scaffolding)。

建立充分的測試鷹架 這個形式可能是一個傀儡組件(dummy component),或是迷你檔案(miniature file),另一個特例是傀儡檔案(dummy file),第三種形式是輔助程式(auxiliary program)。

控制改變

一次只整合一個組件  偷懶事這個部份的最大敵人,沒錯,勤奮是有福的。

固定改版的時機

以上是我的心得,基本上沒有特別的想法,因為ㄚ琪自己發覺很多都是在談測試,講到測試就有點懶,所以這麼多的測試理論,就只好拿來看看順便做紀錄了,或許我以後可以拿上用場。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *