何かが見えてきた(嘘かも)

結局のところ、画面があって、画面に1対1のコントローラがあって、DAOというかSQLがあって、たまにビジネスロジックがコントローラとDAOの中に挟まっている場合があると(というよりDAOというのはビジネスロジックなのか、もしかして)。帳票とかCSVファイルとかは画面と同じ扱いをするのは無理がある(イベントがないから。画面の場合、単なる参照画面であっても少なくとも「開いた」というイベントは起こる)。それはやっぱりビジネスロジックのOUTPUTとして定義すべきなのだろう(そう考えるとロバストネス図は微妙にずれている)。

バッチも結局同じだよな。画面の代わりにexeの実行があるだけの話だ。ようするに画面もexeも入力という意味では同じなんだな。

あとは、業務フローから機能一覧、機能一覧から入力(=画面、バッチ)一覧、入力一覧から出力(=テーブル・帳票・CSV)一覧に落としこんでいく手順がうまくつながってくれればよいのだ。