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

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

藤井 等

2011年5月12日 20:00

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

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

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

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は変数名ということです。この名前は、もちろん変更することもできます。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30