・自分と周りに対し仕事の内容を約束し確定させるため
・開発者のコミュニケーションのため
・後工程のテストや保守のため
・納品物だから

こんな所かな。エラーコードとか、
細かいメッセージとか、雑多な仕様ってのは
基本設計書に乗らない。そういうもんが
詳細設計書に行く。