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

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

開発の初めから順番に書いていってみる その27:外部設計(4)ワーカーさんに渡すレベルとは?

2007-04-12 17:25:01 | 開発ネタ

シリーズ「開発の初めから順番に書いていってみる」の続きです。
今、外部設計の段階で、要求仕様から、詳細設計までの間(ここを外部設計と、ここでは読んでいるわけですが)の手順は、以下の手順で行うと、流れに飛躍がなく説明がつくということを書きました。

(1)入出力の媒体をきめる。
(2)その媒体ごとにフレームワークを決定する。
   なければ、入出力方法を決定する。
(3)そのプロセスの起動方法を考える
   なければ、起動モジュールを考える。
(4)起動モジュールから、(2)の呼出し手順を考える
   →そうすると、処理部分だけ、のこるはず。
(5)その処理部分をどうするか、考える。
(6)そうすると、細分化された入出力、処理部分ができる。
   ここで、あわせたいものは、あわせる
   →特に画面を、いくつか合わせて1画面にすることが多い
(7)処理部分を、ワーカーさんに渡せるまで落とし込む。


で、前回までで、(6)まできたので、今日は、この「(7)処理部分を、ワーカーさんに渡せるまで落とし込む。」について考えます。




■今までの操作のまとめ

 で、(1)から(6)までの操作で、どうなったかというと、
 大きく処理は、外部入出力と、処理に分解でき、
(あ)外部入力を、プログラム内のメモリに展開する
(い)プログラム内のメモリの内容を元に処理を行う
(う)処理結果を、外部出力に書き出す

で、(あ)、(う)は、フレームワークなどを利用するなりして、プログラムを作成すると、結局、(い)の部分をどうするか、という話になることになります。
 この、(い)の部分が、ワーカーさんに渡せるまで詳細化できれば、詳細設計までいけそうです。




■ワーカーさんに渡せるレベルとは
 ここで、この業界で言うワーカーさんというのは、「教えていないことは、なにもやってくれない」ということが前提になります。
 教えてもできないというケースも多いのですが、逆に、「教えてないことをやってくれる」っていうことは、期待できないと思います。

 ということは、ここの(い)の部分は、

・すでに、教えているデータの変換方法である
  →いいかえると、教えることが可能で、
   理解しているかどうか、こちらが判断できることである

 っていうことだとおもいます。




■つまり、処理部分の詳細化は

 そうすると、あらかじめ、ワーカーさんに教えている処理方法にまで、
 落としこむ作業ということになります。

 つまり、「受注する」ではわからないので、
  画面入力データ項目●●を、出力データ●●に、うつす
 とか、計算する、とかです。。

 あらかじめ、教えていれば、ソート、マージ、リスティングその他もろもろというのも考えられます。
 逆に教えていないものや、定義していないものは、あとあとの品質低下につながります。
  データをチェックしろ:どーやって??

 受注に関しても、受注とは、こういうものだ(すでに決められている処理で定義しておいて)って言うのが分かっていれば、受注するでOKっていうことになります。




■で、これは一般的に言えることで。。

 これっていうのは、別にワーカーさんの話ではなく、一般的にプログラム可能かどうかで、言えることです。

 データの変換方法がわからないものは作れません

 たとえば、「指紋認証する」とあったとします。
 指紋のイメージは入力できるかもしれません
 その人の登録してある指紋のイメージもとることができるでしょう。
 出力はOK,NGです

 入出力はOKです。

 でも、指紋のイメージと、登録イメージから、OK,NGへ、どうやって変換するか(判断するか)がわからなければ、このプログラムは作れません。
 学会でのソフト研究は、主にこの変換可能性を広げているといえるかもしれません。
 業界知識も、ここの変換方法にかかわってくる話です。




■実は、これは、要求分析のところにつながっている。

 で、この変換内容って言うのは、いままで、要求仕様からずーと触ってきてないことからも分かるように、要求仕様そのままです。つまり、要求仕様の要求(動詞部分)が、既存のプログラミング方法で分かっている方法で説明されていれば、それは開発可能で、説明できなければ、説明できるまで落とし込まないと、そのシステムは作れないということです。




 っていうことで、そのワーカーさんがわかる変換方法で書けば、これで詳細設計まで落とし込めるので、外部設計は完了!ということになります。

 これで、説明はついたわけですが、実際は、このように行われていません。

 っていうことについて、次回は書いてみたいと思います。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

BREWでファミコンのエミュレーターを載せれば、miniSDをカートリッジにできるってこと?

2007-04-12 12:04:02 | Weblog

 まえに、ケータイによる介護、障害者の補助機器の制御が”BREWだと”できそうといった理由を書いているときに思いついたんだけど。。。

 ニンテンドーから出ていたファミコン、あれをケータイに移植するという場合、
 アプリ1本1本を移植していたら採算取れない、つーかたいへんだろうけど、

 BREWだと、miniSDにアクセスできる(ってかくと、守秘義務にふれるとまずいので、できるかもしれない ^^;想像ということにしておきましょう ^^)。。

 なら、

   ファミコンのカートリッジ部分の内容をminiSDにおいて、
   ファミコン本体のエミュレーターをBREWアプリにすれば、
 
miniSDの内容を換えるだけで、プログラムが置き換わるよね。。(=アプリ申請がいらないし、カートリッジ部分を簡単に変換できれば。。それにminiSDなら、大容量でもOK)

 まあ、大容量って言う点では無理?かもしれないけど、
miniSDじゃなくって、
HTTPでアクセスできるサーバーに
カートリッジのデータを置いてもいい。。




 まあ、ファミコンのエミュレーターをつくっても、ファミコンをやる人がどれだけいるか??だけど、nesとか、新しいゲーム用OSであれば、ありなのかも。。

。。。つーか、セガサターンでも、なんでも、エミュレーターをつくって、データ部分はminiSDは、ありだとおもうけど。。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする