- PR -

ソフトウェア開発にオブジェクト指向[開発]は必要か?

投票結果総投票数:91
必要 82 90.11%
不要 9 9.89%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
hs
会議室デビュー日: 2002/11/17
投稿数: 9
投稿日時: 2004-02-04 17:57
なんだかんだいって、ソフトウェア開発の方法にXPやRUPを適用するならば
オブジェクト指向開発をさせられることは避けられないと思われますね。

UMLを使いたいと思うならなおさらですね。
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-02-04 18:40
「ソフトウェア開発」という範囲の広い分野について、すべて必要だとは思え
ませんが、JAVA Solution、もう少し広げればWEB Solutionには必須のもの
ではないでしょうか。

規模の話も出ていましたが、あまり規模自体には関係無いように思います。それ
よりもシステム環境とか想定言語によって変わるのかと...
組み込み・制御系、汎用機系(COBOL等を想定)というような分野に考え方自体
は流用できなくは無いとは思いますが、非オブジェクト指向のほうが良い場合も
ある(何が「良い」かの定義は別として)のではないかと...
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-02-05 11:27
意見ありがとうございます。

lang8さんへ、
引用:

私なりに簡単にその理由を考えると、
構造化プログラミングにおける機能(関数)を中心とした言語体系から、
オブジェクト指向プログラミングにおける「対象」を中心とした言語体系へと変化したことによって、
従来の内部設計フェイズで機能分割など、プログラム中心の分析が行われていたレベルから、
それ以上の分析(大きくいえば、ビジネスプロセスといった企業活動そのものの設計)までを可能にする
抽象性(メタモデル)を、その言語体系に取り込んでしまったからではないかと思われます。


こういうことを考えてみると、やっぱりオブジェクト指向[開発]の目指す先は完全な
モデル駆動型のシステム開発になってゆくのではと考えてしまうのは
ぼくの妄想・・・?
引用:

ただスクリプト言語のような、ある処理の実現(結果)だけを目的としたプログラムには、
「オブジェクト指向」プログラミングは必ずしも必要ではないと思います。
例えるなら、1+1の答えが必要な際に、電卓やそろばんをひっぱり出して使う必要はないといったところでしょうか?


スクリプト言語等が使われるような状況では
システムの目的や使用範囲が限定されている。
そのため敢えてオブジェクト指向を行わずとも
実現できる、となるのでしょうか。

Beatleさんへ、
引用:

組み込み・制御系、汎用機系(COBOL等を想定)というような分野に考え方自体
は流用できなくは無いとは思いますが、非オブジェクト指向のほうが良い場合も
ある(何が「良い」かの定義は別として)のではないかと...



オブジェクト指向プログラミングのほうでも話が出ましたけど、
やっぱりこういうのはプラスアルファとしてとらえる必要がありそうですね。


-----少しぼくが感じたことについて
引用:

そのため、後者が前者を模倣することはそう難しくはありませんが、
前者が後者を模倣することには、そうとうな無理が生じるのではないでしょうか?


を自分なりに考えると
(もし本格的にモデル駆動型のシステム開発が実践されるようなら)
プログラマの意味合いが変わってゆくような気がします。
システムの要求定義を見て、
「アーキテクチャに沿った分析・設計・実装」までを
プログラマが手がけることになるのかな、と
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-02-05 13:38
引用:

を自分なりに考えると
(もし本格的にモデル駆動型のシステム開発が実践されるようなら)
プログラマの意味合いが変わってゆくような気がします。
システムの要求定義を見て、
「アーキテクチャに沿った分析・設計・実装」までを
プログラマが手がけることになるのかな、と



まぁ、「プログラマが手がける」かどうかは別として、分析、設計フェーズでも
実装を意識したものを作る必要性に直面しますよね。(じゃ、プログラマがやった
方が早いということもありますが)設計段階でクラスのところが実装と食い違う
ようなことになると、「設計が悪い」という非難がすぐ上がりますし...

じゃ、ある程度の規模で、分析・基本(概要)設計ぐらいまで開発言語やシステム
環境が決定されない(設計書を検討して最適なものを決める)ようなものを作る
場合、転用は可能なものかというのがひとつ疑問になるのですね。(頻度は少ない
かもしれませんが)
オブジェクト指向として途中まで進んだものを、そこから非オブジェクト言語で
詳細設計・プログラミングを行う。逆の場合もあるかと。
ここが困難であれば、やはり実装環境が決定された上でのオブジェクト指向分析
・設計・開発になってしまうのではないかなぁと...
lang8
会議室デビュー日: 2004/01/29
投稿数: 15
投稿日時: 2004-02-05 14:47
>こくぼさん
引用:

(もし本格的にモデル駆動型のシステム開発が実践されるようなら)
プログラマの意味合いが変わってゆくような気がします。
システムの要求定義を見て、
「アーキテクチャに沿った分析・設計・実装」までを
プログラマが手がけることになるのかな、と



手がけることになるかどうかはその人のスキルにもよると思いますが、
プログラマーレベルの技術者を多く抱える日本の中小企業などは、
海外の安い人件費との競争にも晒されるでしょうから、これから
さらなる淘汰の波をくぐり抜けなければならないことは確かだと思います。
UML・MDAの普及によって設計・実装とのミスマッチは徐々に解消されて
いくと思いますし。

一方の組み込み分野でも、現状は実装能力の高いプログラマーが
必要とされていますが、こちらもPCがそうであったように、
ハードウェアの制約が少なくなってくれば、コーディングの属人化を
さけるためにもMDAが普及していくのではないでしょうか?

(唯一の例外は逆にハードウェアを限定するゲーム業界でしょうか。
コンテンツの表現自体がハードウェアに依存するため、ある意味当然と言えますが、
日本では少子化が進むこともあり安泰ということも難しいでしょう)

どちらにしても、ハードウェアに近い技術力の高さよりも、
分析・設計能力といった抽象的な思考能力の高さが求められるようになることは
間違いないのではないかと思われます。そういった力を養うためにも、
プログラマーは「オブジェクト指向」に転向していく必要があるのかも知れません。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-02-09 13:57
Beatleさん、lang8さんありがとうございます。

モデリング駆動は未来の可能性の話なのでどうなるかは
なってみないとわかりませんが注目していきたいことです。

ソフトウェア開発は開発効率、生産性を向上させるために
様々な取り組みが行われてきたと思います。

モデリング駆動のようなトップダウン式の方法もあれば
XPのようにプログラミング主導のボトムアップ式の方法もあると思います。

何の方法にせよ上手いことそれらの技術を使って
予定通りの開発をすることができたらいいのですよね。

あれ、なんだかオブジェクト指向と関係なくなってきた。。
『あくまでもオブジェクト指向はプラスアルファの存在であって
後は使う側がオブジェクト指向を自分が行うビジネスにとって*適切な形として
応用させていけばよい。』
*適切な形 … 必要なことを必要な分だけ取り出す。


なんかよくわからない変なレスになってしまいましたが…
#ごめんなさい、先週末あたりから上手に頭が動いてくれません。。
まとめお返事でした。ごめんなさい。。。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-02-10 09:39
モデル駆動の話に関連して
マーティン・ファウラー先生のMDA批判をリンク

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?ModelDrivenArchitecture

修正:
モデリング駆動 -> モデル駆動

[ メッセージ編集済み 編集者: こくぼ 編集日時 2004-02-12 09:15 ]
lang8
会議室デビュー日: 2004/01/29
投稿数: 15
投稿日時: 2004-02-10 10:59
>こくぼさん

なかなか面白そうなサイトですね。リンク先の文章の要約は、最後の
「ソフトウェア開発が抽象レベルまで上がって欲しいのはやまやまなんです。
ですが、実際にUMLが抽象的なレベルまでジャンプできるかというと…分かりません。
抽象的なレベルにならないと、MDAは成功しないんですけどね。」
というところでしょうか?

UMLやMDAが『銀の弾丸』であるとは私も思いませんが、
この文章はどちらかというとプログラマ的な観点から書かれているので、
UMLを開発者間の意思疎通の道具として「スケッチする」レベルで
語られているような気がしました。

-------------------------------------------------------------------------------
同様のことがトピックとしてあげられていました^^;
「UMLモード」
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?UmlMode


[ メッセージ編集済み 編集者: lang8 編集日時 2004-02-10 11:07 ]

スキルアップ/キャリアアップ(JOB@IT)