システム開発における要求定義はシステムに必要な機能をまとめる作業ですが、クライアントからの要望をまとめた要求定義ができ、お互いに承諾できた後は開発メンバーによる要求定義をまとめる作業となります。この段階ではソフトウエアを作る際の実際の作業内容を決めることとも考えられ、外部設計と言われます。外部設計では要求定義書にある内容をソフトウエアで実現するための検討を行います。実現可能な内容ばかりが羅列されるはずですが、実現不可能、もしくは、コストに見合わない内容もここでチェックし、クライアントの了承を得られるか検討することが大事になります。

外部設計ではソフトウエアで必要な内容がすべてチェックされます。システムで必要になるデータ形式、データの流れ、要求定義書にある機能の実現の仕方、利用する言語などです。特にデータについては入力されるデータだけではなく、出力形式、印刷形式なども検討されます。外部設計で設計された内容はその後に詳細な設計に入る際の道標となりますし、実際の開発をするメンバーにとっても実現ができることなのか、どの程度のコストをかけられるのかなどが話しあわれます。

要求定義書と違い、クライアントには公開されないことが多いですが、セキュリティ面なども考慮されますので要求定義書で書かれている内容に付け加えることになることも多いようですが、要求定義書はお互いの承諾が必須ですので変更があった際にはすみやかに同意を取り付けることが必要です