アプリ作成を通じてRADツールの特長を知る

2011年5月12日(木)
藤井 等

アジャイルで重要な素早く動くものを作る力

しばしば、「ユーザーの要件は、動くソフトウエアを見て、初めて出てくる」といいます。従来型の開発手法では、要件定義から設計、実装を経て、初めて動くものを見ることができます。長い時間をかけてできたものが期待していたものと違ったり、動くものを見てから初めて重要な要件に気がついたりと、どうしても手戻りが発生してしまいます。

アジャイル型の開発では、反復的なプロセスによって、徐々に動くものを見せ、ユーザーとの合意を作りながら完成形を目指します。これによって、手戻りを防ぎ、よりよいソフトウエアをより早く作ることを可能にします。しかしながら、この場合でも、取りあえず動くもの、つまりユーザーの要件を引き出すようなプロトタイプをどれだけ早く作ることができるか、また、そのプロトタイプを後段の開発に活かせないような「使い捨ての試作品」にさせないという点において、まだまだチャレンジの余地があります。

RAD(Rapid Application Development)は、文字通りアプリケーションを素早く作成する手法ですが、その真髄は、ビジュアルRADと呼ばれるような、ビジュアル開発手法にあります。マウス操作で部品を配置してプログラムを組み立てていく、Visual Basicなどでおなじみのスタイルです。

RADというと、クライアントサーバー全盛時代の古い開発手法のようなイメージがありますが、実は、現在のアジャイル開発に活かすことができます。開発環境も今風のテクノロジーを取り込んで進化しています。

本稿では、Delphiを使って、すぐに動く、しかも使い捨ての試作品にならないアプリケーションを作り、RADツールの可能性について考えてみたいと思います。

作成するアプリケーション - イメージビューワー

RADツールの特長を簡単に理解できて、拡張性があるもの。しかも、見た目にも面白いアプリケーションと考えてみて、ちょっとしたイメージビューワーが適切なのではないかと思いました。ただ、普通に画像ファイルを選択して表示するのでは芸がありませんから、最近のDelphiでサポートされたタッチ・ジェスチャー機能を利用して、タッチスクリーンで使えるイメージビューワーに仕立ててみようと思います。

おそらく外見上のこだわりや、操作性についての改善などが次々にわき上がってくるでしょう。今回の目的は、そうした機能要求ができるようなたたき台となるプロトタイプを素早く作成することです。

とはいえ、まったくの試行錯誤で作成するのは効率が悪いですから、おおよその仮仕様を決めておきます。

  • アプリケーションは単一のウィンドウで、ウィンドウいっぱいに画像を表示する
  • ウィンドウ上でチェックマークを指で描く動作をすると、フォルダーを選択できる
  • 選択したフォルダーの画像を1つ表示し、右、左に指を動かすと、次の画像、前の画像へと遷移する

それでは、この仕様に基づいてDelphiアプリケーションを作成していきましょう。一連の流れは、こちらのビデオでも確認できます。

アプリケーション作成の第1歩

Delphiでは、アプリケーション開発のスタートをウィザードによって簡素化しています。普通のWindowsアプリケーション、多層アプリケーション、サービス、コンソールアプリケーションなど、さまざまな形態のアプリケーションのスケルトンを素早く作成できます。

「VCLフォームアプリケーション」を選択すると、次のような設計画面が表示されます。これがいわば開発のスタート地点です。これだけでも、何もしないWindowsアプリケーションです。

図1:アプリケーションの作成(クリックで拡大)

何もしないといっても、表示、最大化、最小化、リサイズなど、基本的な動作は含まれています。というのは、このウィンドウは、Formと呼ばれるコンポーネントで、ウィンドウを部品化したものです。コンポーネントは、すぐに使える状態になっているので、1行もコードを書かなくても、それなりに実行させることができるのです。

コンポーネントを配置する

通常の開発環境では、ウィザードでスケルトンを作成したら、次に必要なコードを埋めていく作業に入ります。しかしDelphiでは、まずコンポーネントの配置から始めます。

コンポーネントには、ボタンや編集ボックスのような画面上の構成要素となるコントロールと、画面には見えないけれど特定の機能を提供する非表示のコンポーネントの2種類があります。非表示のコンポーネントは、設計画面ではアイコンで表されますが、実際にアプリケーションを実行したときには見えません。データベースにアクセスする機能や、ネットワーク通信をする機能、あるいは今回使用するジェスチャーをサポートするためのコンポーネントなどがあります。

では、早速コンポーネントを配置します。ここで配置するのは、まず以下の3つのコンポーネントです。

  • TGestureManager
  • TPanel
  • TActionList

コンポーネントは、画面右にあるツールパレットから選択します。標準でも数百のコンポーネントがあるので探すのが大変ですが、検索機能などを用いれば、効率的に目的のコンポーネントを選択できます。

TGestureManagerとTActionListは、非表示のコンポーネントです。設計画面上では、アイコンで表されています。どこに配置しても違いはありませんので、じゃまにならない場所に置いておきましょう。

図2:コンポーネントの配置(クリックで拡大)

配置したコンポーネントには、それぞれ自動的に名前が付けられます。例えば、TPanelには、Panel1という名前が付いています。TPanelが型だとすれば、Panel1は変数名ということです。この名前は、もちろん変更することもできます。

エンバカデロ・テクノロジーズ 日本法人代表
千葉大学文学部行動科学科卒業。石油関連会社でGISなどの開発を経験したのち、1995年、ボーランドに入社。マーケティングとしてJava開発ツールJBuilderやVisiBrokerなどミドルウエア製品の立ち上げを行う。2008年7月、ボーランドの開発ツール部門を合併したエンバカデロ・テクノロジーズに移籍。2009年1月より日本法人代表を務める。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています