軟件工程 設計與編碼
對于軟件工程中的詳細設計:有人認為于由沒有實際編碼,很多細節領悟不透。做出來的詳細設計也會和代碼相差很大。
另有人認為前一種說法是項目做得差的標志,因為設計文檔就要引導整個軟件的構架、流程、思想等,甚至包括使用的組件和實現方法。如果以文檔做為基準,項目可以順利進行。導致代碼和設計文檔相差太大有大體有兩種可能:一是項目實現沒有以設計文檔為基準進行開發,二是設計文檔經過評審,實現思想沒有統一。
外包時:設計應該做得足夠詳細而且沒有歧義。
1、詳細設計后,對這個系統會有一個比較系統的理解,會發現需要補充調研的需求之類的。此時補充調研后調整設計的成本是比較低的。否則,等你Coding完成了,再需求變更。。。哦。。。會很痛苦的。這種情況通過好的詳細設計來減少很多的。
2、項目特征中的漸進明細性,概括了項目團隊會隨著時間的推進,增加對項目的了解。詳細設計就是提供了這么個需要。此時的需求變更很大部分是可以發現的。特別是需求比較粗的部分,可以補充調研。
維護代碼的時候,如果沒有詳細設計而只有原代碼,那么維護起來會相當費時。(理解原代碼的意圖?理解是對的么?)
論壇上各種說法都有,引用認為比較有道理的flyfing(江山如此多嬌)評論(摘自CSDN社區):
原則上是設計的時間最長,不過國內很少能做到這一點兒。這樣,在編碼上消耗的時間就不少,而且由于軟件設計上時間欠缺造成的設計問題,會讓以后的測試困難重重,最后的重頭戲反而在測試上,呵呵。
大學的時候軟件工程的課沒認真聽,只記得老師說過編碼的時間是占的比例是相當短的。只好有時間再充電找一個權威一點的說法吧。。。