ここ数年、WikiやBTSの機能を備えたオープンソースの開発支援ウェブアプリケーションが増えてきました。サーバを一つセットアップすれば専用ツールの準備が必要ないこともあって、ソフトウェア開発における課題や成果物(外部設計、内部設計、ソースコードなど)などを共有する目的で導入も進んでいるようです。
一方、UMLのようなモデリング言語が成熟してきたことを受けて、エンジニア同士で設計意図を共有するためにモデリングが行われるケースも増えてきました。小さなプロジェクトでは、UMLのようなモデルは議論の途中で作成される中間成果物的な扱いになることもありますが、大きなプロジェクトでは、成果物となる仕様書にUMLを含めるケースも多くあります。
また、オフショア開発の広がりの影響を受けて開発拠点が分散することが増えてきたことや、オープンソースプロジェクトのように開発拠点を一カ所に集めない開発スタイルが出てきたことから、情報共有の助けとなるウェブアプリケーションやモデリングの必要性は高まりつつあるようです。(もっとも、単一の開発拠点でも、配置の容易さからウェブアプリケーションが選択されるケースは増えています。)
まとめると、今のソフトウェア開発では以下のような流れがあると言えます。
- ソフトウェア開発を支援するウェブアプリケーションの普及
- モデリングの普及
- 開発拠点の分散
一方、モデリングツールも成果物の作成を重視しながら独自の発展を遂げてきました。一般的なモデリングツールは、スタンドアロンで動作し、オフィスツールや統合開発環境との連携機能やきれいな図を作成するためのユーザインタフェースなどを特徴としています。
こうしたモデリングツールはソフトウェア開発において重要な役割を果たしており、成果物を作成する上では有用なものです。しかし、モデリングはコミュニケーションツールでもあるわけですが、コミュニケーションを支援する機能は、サーバによる共有やリアルタイムの連携などいくつかの機能が実験的に実装されてはいるものの、まだまだ未発達な状態にあります。
こうした状況を踏まえて、筆者は2006年度下期未踏ソフトウェア創造事業にて、ウェブというコミュニケーションツールとの相性にフォーカスをあてたKodouguというモデリングツールを開発しました。本記事では、このKodouguの紹介をします。
全文を読みたい方は、以下URLをクリックしてください。
http://www.infoq.com/jp/articles/webmodeling_kodougu
モデリングに関する他に話題が気になる方は、以下URLより一覧をご覧ください。
http://www.infoq.com/jp/uml