第10回 読者アンケート結果
.NET開発におけるOOADの利用状況とは? ―

小柴 豊
@IT マーケティングサービス
2004/05/25

 最近のソフトウェア開発をめぐる潮流の1つに、「オブジェクト指向分析/設計」(以下OOAD)がある。オブジェクト指向言語(OOP)であるJavaやC#、Visual Basic .NETなどの活用に加えて、上流での分析/設計工程にOOAD手法を採用することで、不確実性の高いオープン・システム開発に適応しやすくなるという。

 では今日の.NET開発プロジェクトにおいて、OOAD手法はどの程度利用されているのだろうか? @IT Insider.NETフォーラムが実施した第10回読者調査の結果から、その状況をレポートしよう。

.NETアプリケーションの開発状況は?

 はじめに読者の.NETアプリケーション開発状況から確認したところ、現在.NET開発に取り組んでいるのは、回答者の32%であった(図1)。

図1 .NETアプリケーション開発状況(N=505)

 .NETを実業務で活用している読者は全体で3人に1人程度だが、「2004年度中に取り組む予定がある」「現在検討/提案中」という“開発予備軍”は、合わせて23%に上っており、.NET Frameworkのリリースから3年目を迎える今年度末には、その開発者層は確実に厚みを増していくだろう。

開発している.NETアプリケーションの種類は?

 続いて.NET開発を実施、または予定/検討している読者に、開発対象アプリケーションの種類を尋ねたところ、およそ半数が「n階層アプリケーション」の開発に携わっていた(図2 青棒)。プレゼンテーション層/ロジック層/データ層といったn階層(多層構造)アプリケーションは、現在のWebシステムにおいて広く用いられていることから、技術的にはASP.NETの活用率が高いものと思われる。

図2 開発している(予定/検討中の).NETアプリケーションの種類

 一方、.NET開発予定者/検討者の間では、「スタンドアロンのデスクトップPC用アプリケーション」や「XML Webサービスを利用した分散アプリケーション」、「PDAなどのモバイル端末用アプリケーション」の開発意向も高くなっている(図2 黄棒)。マイクロソフトはWebアプリケーションの弱点を補う“スマート・クライアント”開発を提唱していることもあり、今後は.NETアプリケーションの多様化が進んでいきそうだ。

.NET開発におけるOOAD手法の採用状況は?

 ここで現在の.NET開発者に、プロジェクトにおけるOOAD手法の採用状況を聞いたところ、該当者の44%がOOADを採用している(「OOAD採用済み」+「一部で試験的に採用中」の合計)ことが分かった(図3)。

図3 .NET開発におけるOOAD手法採用状況(.NET開発者 n=138)

 また、現在の採用者以外にも「今後採用する予定/検討中」(16%)、「採用予定はないが、必要性は感じている」(28%)との回答が多く、.NET開発者全般にOOADの必要性に対する認識が高まっている様子がうかがえる。

.NET開発における設計技法の利用状況は?

 では.NET開発において、具体的にどのようなOOAD手法が採用されているのだろうか? 現在のプロジェクトで利用している設計技法を尋ねたところ、.NET開発者の51%が、ユースケース図やクラス図などの「UML」を作成していた(図4)。

図4 .NET開発プロジェクトにおける設計技法利用状況(複数回答)

 UMLは実装技術に依存しないオブジェクト・モデルの表記言語であるが、.NET開発者層においても、DFD(Data Flow Diagram:データ・フロー図)/ERD(Entity Relationship Diagram:実体関連図)などの構造化手法以上にポピュラーな設計技法となってきたようだ。

.NET開発における開発プロセスの利用状況は?

 ところで、UMLが規定するのはモデルの表記法に限定されるため、それだけでプロジェクトの成功が保証されるものではない。そこで、モデリングとともに開発方法論を構成する“開発プロセス”の利用状況を尋ねたところ、旧来型の「ウォータフォール型プロセス」が、まだ数多く利用されていることが分かった(図5)。

図5 .NET開発プロジェクトにおける開発プロセス利用状況(複数回答)

 UMLで作成したオブジェクト・モデルに基づき、要求変更などのリスクを管理しながら開発を進めるためには、「スパイラル型」やその発展型である「反復型」のプロセスが適しているといわれている。今後.NET開発を成功に導くためには、モデリング技法に加えて、開発プロセスの変革が必要となりそうだ。

.NET開発プロジェクトの課題とは?

 ここまで見てきたとおり、.NET開発においても、UMLに代表されるOOAD手法は確実に浸透しつつある。こうした状況の中、読者の.NETプロジェクトで何がいま課題となっているのか、あらためて聞いた結果が図6だ。

図6 現在の方法論による.NET開発の課題(複数回答)

 「開発プロセスやUML導入に関する開発者の教育/啓蒙が困難(図中では「UMLなどの開発者教育/啓蒙」)」および「.NET開発におけるOOAD関連情報や事例の不足(図中では「.NETにおけるOOAD情報の不足」)」の2点が、「短期開発に対応できない」などソフトウェア開発全般の課題を大きく上回って、上位に挙げられたのが特徴だ。

 この点について読者からは、以下のようなコメントが寄せられた。

  • VB開発者をVB.NETでの開発に十分な教育なしにアサインするので、古い考え方から抜けられない。ただの焼き直しになってしまう

  • .NETで開発を行っているにもかかわらず、プロセスや設計技法についての参考書は、ほとんどすべてJavaのものを読んでいる

  • 現段階では.NETはJ2EEに比べると設計方法やデザイン・パターンなどの啓蒙や成熟が不十分なように感じる

 そもそも設計技法や開発プロセスは実装技術に依存するものではないが、現実のプロジェクトへの適用を考えると、上流から下流まで一貫した情報や教育が利用できることが望ましいだろう。@IT Insider.NETフォーラムでも、こうしたニーズに応えるべく、.NET開発の上流工程に関するコンテンツ充実を図っている。興味のある方は、ぜひ文末の“関連記事”を併せてご覧いただきたい。

.NET開発におけるモデリング・ツールの利用状況は?

 さて図4で見たように、.NET開発でUMLを作成する読者が増えているが、そこではどのようなツールが使われているのだろうか? 最後に読者のモデリング・ツール利用状況を尋ねたところ、現在は「Microsoft Visio」の利用率が64%に達し、.NET開発時の標準モデリング・ツールとなっていることが分かった(図7 緑棒)。

図7 .NET開発におけるモデリング・ツール利用状況/利用予定(複数回答)

 ただし図6で「.NET対応のモデリング・ツールが少ない」ことを課題視する読者も36%に上っているとおり、皆が現状に満足しているわけではなさそうだ。

 読者が今後利用を予定/検討しているツールを見ると、より高機能な「IBM Rational Rose XDE」や「Borland Together Edition」への注目度が上がっている(図7 黄棒)。またマイクロソフトも次期「Visual Studio 2005(Whidbey)」では、新たな“サービス指向アプリケーション デザイナ”の提供を予定している。.NETモデリング・ツールの利用は、現在のVisio集中型から、今後は状況に応じて選択していく形に変わっていきそうだ。End of Article

調査概要
調査方法
Insider.NETフォーラムからリンクしたWebアンケート
調査期間
2004年3月9日〜4月2日
有効回答数
505件
 
関連記事
技術解説
PetShopで学ぶデータベース・アクセスの実装パターン
連載
アプリケーション・アーキテクチャ設計入門
Trend Interview
ボーランドの.NET戦略 上流設計支援でMSをリード
Opinion
オブジェクト指向の終えんとサービス指向の台頭
 
 「Insider.NET 読者調査結果」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間