Development Style
第1回 読者調査結果
〜 いま開発者が期待するオブジェクト指向技術とは? 〜
小柴豊
アットマーク・アイティ
マーケティングサービス担当
2002/5/30
ソフトウェア開発におけるオブジェクト指向言語の利用は、1970年代のSmalltalk以来、長い歴史を持っている。それに加えて最近では、UMLやコンポーネントベースの開発など、オブジェクト指向に基づくより広範囲な技術/手法が話題となっている。では実際の開発プロジェクトにおいて、オブジェクト指向はどの程度浸透しているのだろうか? Java SolutionフォーラムのDevelopment Styleコーナーで実施した第1回読者調査の結果から、その普及状況や注目される技術などについてレポートしよう。
6割が開発プロジェクトで オブジェクト指向手法を活用 |
まず読者が現在かかわるプロジェクトでオブジェクト指向手法をどの程度活用しているか尋ねたたところ、「全面的にオブジェクト指向手法を活用している」または「状況に応じてオブジェクト指向や構造化手法を使い分けている」と回答した人が全体の63%に上った(図1)。また現在はオブジェクト指向手法を活用していない層においても「今後活用する予定」が「活用予定なし」を大きく上回っており、オブジェクト指向手法が今後のソフトウェア開発で重要性を増すことは間違いないだろう。
図1 オブジェクト指向手法活用状況(N=305) |
オブジェクト指向技術採用状況 「実装偏重から上流工程重視へ」 |
ところで一口に「オブジェクト指向」といっても、冒頭で述べたように活用範囲が広がる中で、開発者が現在注目しているのはどのような技術なのだろうか? 具体的なオブジェクト指向関連技術の中から、読者のプロジェクトで現在採用されているもの/今後採用予定があるものを尋ねた結果が図2だ。
まず現在の状況を見ると、「C++/Javaなどのオブジェクト指向言語によるプログラミング」の採用率が突出していることが分かる。逆に開発プロセスや分析/設計関連技術などの採用率はまだ低く、現在のオブジェクト指向導入が実装面に偏っている様子が明らかになった。
一方今後の採用予定では、全体の4割以上が「分析/設計段階でのUMLによるモデリング」および「ソフトウェア設計時のデザインパターンの活用」を挙げており、上流の分析/設計工程におけるオブジェクト指向技術の採用意向が高まっている模様だ。
図2 オブジェクト指向技術の採用状況(複数回答 N=305) |
次に読者が“個人的に学びたい”と考えているオブジェクト指向技術の知識/スキルを聞いたところ、こちらでも「UMLによる分析/設計手法全般」および「デザインパターンの考え方/適用方法」に関する学習意欲が高いことが確認された(図3)。
「第4回 Java Solution読者調査」では、現在のソフトウェア開発の課題として「オブジェクト指向に基づいた分析/設計ができるコア・エンジニアの不足」を訴える声が多かった。UMLやデザインパターンに期待される最大の効用は、いままで一握りのコア・エンジニアが担ってきた上流工程のノウハウ/ナレッジを、より多くのエンジニアが共有できる点にあるのかもしれない。
図3 オブジェクト指向技術の学習意向(複数回答 N=305) |
コンポーネント活用状況 |
さて後半では、オブジェクト指向に基づいた生産性向上の手法の例として、ソフトウェアの部品化/再利用を実現する“コンポーネント利用開発”の実態を見ていこう。
まずは読者のかかわるプロジェクトにおけるコンポーネント活用状況を表したのが、図4だ。コンポーネントの形態を自社開発と外部に分けて複数回答で聞いたところ、「自社開発したコンポーネントを再利用している」人が全体の36%、「外部コンポーネントを購入/利用している」が29%となった。読者の多くがソフトウェア開発業に勤務しているためか、まずは自社開発が先行している形だ。なお全体の半数強は現在コンポーネントを利用していないものの、「今後利用してみたい」との希望は強く、コンポーネントベース開発に対する潜在需要の大きさを予感させる結果となった。
図4 ソフトウェア開発コンポーネント利用状況 (複数回答 N=305) |
コンポーネントは“未完成”なままがよい? |
では開発業務にコンポーネントを用いる際、その利用形態としてはどのようなものが望まれているのだろうか? カスタマイズ性や粒度などに関する選択肢から読者の希望を尋ねた結果、「カスタマイズポイントが明確になっているブラックボックスコンポーネント」および「ソースが公開され改変可能なコンポーネント」の2点が、それぞれ過半数から支持された(図5)。
ソフトウェアの部品化/再利用は“業界の長年の夢”である半面、“結局は案件ごとのカスタマイズが必要”という声もよく聞かれる。であるならば、あらかじめカスタマイズ/改変を想定した“半製品コンポーネント”は、開発者にとって現実性のある利用形態なのかもしれない。
図5 希望するコンポーネント利用形態(複数回答 N=305) |
外部コンポーネント機能 |
最後に市販の外部コンポーネントについて、今後どのような機能/分野が有望なのか紹介しておこう。ECサイト構築から入力チェックまで、さまざまな規模・機能のコンポーネントについて読者の利用希望を聞いた結果、トップ3は「DBアクセス」「帳票・印刷」「セキュリティ」の順となった(図6)。上述の図5を見ても、「コンポーネントの粒度は、再利用の可能性のある単位で、できるだけ小さく分割されている方がよい」という回答が「再利用は業務単位のパッケージが望ましい」を大きく上回ったように、シンプルで汎用性の高い外部コンポーネントが望まれる傾向にあるようだ。
図6 利用を希望する外部コンポーネントの種類(複数回答 N=305) |
■調査概要
- 調査方法:Development Styleコーナーからリンクした Webアンケート
- 調査期間:2002年3月13日〜4月5日
- 回答数:305件
関連記事 |
第1回 今度こそソフトウェアの部品化は現実になる?(米持幸寿のJava Issue) |
IT Architect 連載記事一覧 |