もどるの。
@ど素人によるオブジェクト指向入門♪
2001/06/03
えっと、ど素人によるオブジェクト指向入門なの♪
オブジェクト指向というのはシステム開発手法のひとつなの♪
でもみゅはど素人だからよくわかっていないの♪
でもわかっていないながらもみんなで勉強していこうという方向で♪
で。うちのフリーソフトのへやで最近公開されつつある
ぼうりんぐすこあかんりしすてむは一応OOもどきで作成されているの。
あ、OOっていうのは「Object Oriented」でオブジェクト指向のことね。
だからこのぼうりんぐすこあかんりしすてむを題材に
すこしだけでもOOについて考えてみたいの。
さて、システム開発の工程は設計と実装のフェーズにわかれているの。
OOでも同様に設計と実装のフェーズがあるの。
設計の工程ですべきことはシステムの対象範囲の決定、
システムとして実現される機能の整理、
その中で発生するデータとそれぞれ行われる処理の把握、
なの。
なんのことはない構造化手法と一緒なの。
いやいや、一緒でなければおかしいの。
だってどんな設計手法を使ったとしても、
おなじ人がおなじ作業についておなじ要求仕様をだした結果
作成されるシステムはおなじことをするはずだもの。
おなじでなければおかしいの。
でもでも、それでもOOはいろいろすぐれているといわれるの。
曰く「高生産性だ」
曰く「高品質なシステムを作成できる」
うんうん。みゅもそう思うの。
えー結論からいってしまうとOO手法は本来システム開発が
行わなければならないことを忠実に行おうという手法なの。
だからやっていることは他の開発手法と変わらないの。
それにどんなシステムにも対応できるのかというと
そうでもなくて得手不得手があったりするの。
向いているものは生産管理システムのような対象の物体があって
その物体がお互いにくっついたり、形を変えたりしていくもの。
向いていないものは管理対象にしたい物体がはっきりしないもの、
物体があっても集計して帳票を作成するだけのもの。
んー。
この物体というのがキーワードなの。
オブジェクトとは「物体」。
オブジェクト指向とは物体を中心としてとらえ、
この物体が別の物体とどのような関わりを持ちながら
作業が進められていくのか、に視点をあわせた考え方なの。
えっと詳しく述べるときりがないので割愛するんだけど、
(詳しく説明できるだけの知識がないともいう)
そのへんはまたべつなぺーじで調べてきて欲しい方向で。
それにここ「ぷろぐらみんぐ」のへやだし(笑)。
まあポイントだけ書いておくと、
設計時にお客様やその業務に精通している人を参加させること。
その設計によって生み出されたドキュメントを元に
作成しようとしているシステムが間違っていないか、
正しい方向に進んでいるか、随時確認していくこと。
間違いがあれば前のフェーズに戻ってやりなおすこと。
機能要求者であるお客様や業務に精通したスペシャリストが
参加することで全体の把握に間違いが起こりにくい。
故に高品質になる。
間違いが起こりにくいから手戻りも減る。
だから高生産性になる。
ということなの。
いや、それ以外に設計イメージに従ってそのまま実装できる、とか
再利用性が高いとかいろいろあるんだけどそこはおいといて♪
ともかくここは「ぷろぐらみんぐ」のへやなので(笑)、
OOぷろぐらみんぐに焦点をあててみるの。
そこで題材のぼうりんぐすこあかんりしすてむ。
機能概要はぼうりんぐのすこあを登録しておいて、
平均スコアとかストライクの数とか後半だけのスコアとかを
集計するソフトなの♪
これをOOでつくってみたつもりなの♪
・・・え?集計するの・・・?
さっき集計型のシステムはOOに向かないっていわなかったっけ??
・・・。
・・・。
・・・。
えっと、ここはあくまでも「ぷろぐらみんぐ」の部屋なので(笑)。
設計はともかくOOプログラミングとはどのようなものなのかを
身を持って体験してみるというほうこうで♪
そんなわけでつぎへすすむの♪
つぎへすすむの。