我們也可以從軟件工程的角度,講一講“All software bugs can be fixed”充其量是半對。
有了spec,寫了軟件,你說,我測過了 (verified-我寫的軟件符合spec)。由於你的係統是封閉的,test case是有限的,即使是有bug,通過繼續debug,可以找到為什麽出錯,進而fix。
但是作為一個工程係統,你的設計必須通過“validation”-你的係統在做的事是對的。這時候你的係統事實上是開放的 - 外部條件的假設,已知和未知的條件,你要對付的case事實上是無窮的。
回到豐田的情況,我相信他們的軟件設計過程應當是嚴謹的(一天吃不出個胖子不是?). 問題可能出現在對外界條件(EMI,etc)的假設上。