ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

画面遷移図だけの判断は、危険

画面遷移図を書けといわれると、こんなかんじになる

あるデータについて、表示範囲を設定し、
  「グラフ」ボタンがクリックされるとグラフが、
  「表」ボタンがクリックされると表の一覧が
  「CSV」ボタンがクリックされるとCSV形式でデータが
表示される状況を表した。

お客さんと合意をとるだけならこれでいいが、実際に実装まで考えるんなら、
ここで止めるとまずい。というのも、これには、3つの実装方法が考えられるが、
それにより開発コストとリスクが大幅に異なり、従って、プロジェクトの進め方も
変えたほうがよいからだ。




【その1】

サーバーで、
1.サーバー側でデータをまず取得する。
2.その後、おされたボタンにより、サーバー側で
    2-1.グラフ用に加工
    2-2.表用に加工
    2-3.CSV用に加工
のいずれかを行い、クライアント側は、サーバーで加工されたデータを表示する

これは、プログラム数は増えるが、他メディアの仕様が影響しないため
(グラフ用データは2項目全データ、
   表用は全項目だが一部データ、
 CSV用は全項目全データが必要など)
比較的、簡単に作れる。
プロジェクトはそのまま詳細化、分担割して問題はない。




【その2】

1.サーバー側でデータを取得し、クライアントに全データを送る。
2.おされたボタンにより、クライアント側で
    2-1.グラフ用にJavascriptで頑張る
    2-2.表用にJavascriptで整形する
    2-3.データはCSVで送られることにしておけば、そのまま出す
  のように、javascriptで加工する

これは、Javascriptの生産性に影響してくる
他メディアの仕様が影響することも気がかり
プロジェクトはそのまま詳細化しつつ、Javascriptでの実現性を確認、
詳細化が煮詰まったところで、サーバー側の処理に問題ないか確認し
すすめる。




【その3】

1.サーバー側でデータを取得し、クライアントに全データを送る。
2.おされたボタンにより、クライアント側でグラフ/表/CSV部品を切り替えて表示

これは、要望どおりの思った部品を作るのが結構難しい。
→単にグラフを出す、表を出すことは簡単に出来る。
 グラフの操作や表の切り替えなどを、要求に合わせるのが難しい。

仮に作れても、他メディアの仕様の影響をもろに受ける。
 グラフ操作のバグが、表に影響することも・・・

プロジェクトは、まず、部品が出来るかどうかを確認する必要がある。




その1とその3では、開発リスクが異なり、その3の場合は、そういう
部品が作れるかどうかで決まってしまう。

なので、画面遷移図を考えるとき、

遷移図から実装を考えるのが、ウォーターフォールでは、決まりなんだけど、
先に、実装を考えて(つまり、その1、その2、その3の図を作って)、その上で、
(その図からサーバー部分を除くことにより)画面遷移図を考えてったほうが、
のちのち、安全・・・