業務の「入力」「出力」「演算」
の3つを具体的に考える

おおまかなストーリーができたところで、これをもう少し具体的にしながら、コンピュータシステムの設計に落としこみやすい形に表現し直します。「落としこみやすい形」とは、具体的には、以下の3項目を明らかにすることです。

入力:その業務に対する入力情報(検討したり、検討を指示するために必要な情報)
出力:結果として返すべき出力情報(納期)
演算:出力情報を作るための計算や判断など

順番に見ていくことにしましょう。

【入力情報】
納期を検討するために必要な情報には、どんなものがあるでしょうか。

当然ながら、「納期検討の指示」は、業務開始のトリガーとして不可欠ですね。そのほか、ちょっと考えただけでも、「製品名」「製品の個数」なども、必要な情報であることはわかるでしょう。

つまり、少なくともこの時点で必要な入力情報とは、

・納期検討の指示
・製品名
・個数

ということになりそうです。

【出力情報】
出力情報のほうは、この場合「製品の納期」であることが自明ですが、取りこぼしのないよう、具体的に記しておきます。

・製品名
・個数
・納期

【演算】
これらの入力情報を元に、出力情報をどのように作るのか、という「段取り」が 演算です(「アルゴリズム」と言ったりもします)。このケースでいえば、以下のような感じになるでしょう。

1:入力情報である「製品名」と「数量」から必要な部品名と数量を計算する
2:必要な部品の在庫数を調べて不足部品数を計算する
3:(1)もし不足部品がなければ「4」へ
  (2)不足部品があれば、部品入荷の日付を調べる
4:部品が揃う日付の後で、生産ラインが最も早く使用できる日付を調べる
5:生産に必要な日数を調べる
6:4の結果に5の結果を足して納期とする
7:製品名(1より)と数量(1より)、納期(6より)を出力する