読者です 読者をやめる 読者になる 読者になる

Xojo日本語ブログ

マルチプラットフォーム対応アプリが開発できるXojoのブログです。

Xojoを使えばシステム開発が高速化します

システム開発は幾つかのステップに分かれて行われます。大分すると次のようになるでしょう。

  1. 要求定義
  2. 基本設計
  3. 詳細設計
  4. 開発
  5. テスト
  6. リリース

最近ではアジャイル開発が人気ですが、2(の一部)〜6までが繰り返される形なので基本的には変わりません。

これらの開発プロセスにおいて、Xojoがどう活かせるのか紹介します。

1. 要求定義

要求定義はシステム開発にとって最も大事で基礎的な部分になるでしょう。この部分で要求を吸い上げられなかったり、齟齬があると最終的にできあがるものがユーザの要求に合っていないものになってしまいます。

f:id:moongift:20161104141738p:plain

ユーザとの齟齬を防ぐベストな方法としては「動くものを見せる」のがお勧めです。画面やボタンを押した時の挙動をテキストで説明されてもなかなか理解しきれるものではありません。エンジニアであればまだしも開発の専門家ではないユーザにとっては困難を極めるでしょう。そのため自分たちの思い浮かべたものとできあがったものとの違いに驚いてしまうのです。

Xojoは画面設計がとても簡単に、Xojo IDE上で行えます。あらかじめ用意されている画面部品(コントロール)をドラッグ&ドロップで配置していくだけです。これはエンジニアのみならず、営業の方であっても簡単に使いこなせるでしょう。

ユーザが要望するUIをその場で組んでみて話ができれば齟齬が発生することなどありません。そういった、モックアップ/ワイヤフレームといった作り方はWebシステム開発の場合に良く行われてきました。しかしHTMLを自在に組むのはデザイナーでない限り容易ではありませんし、HTMLのソースコードを書きながら実際のUIがどうなっているかを正確に判断するのは難しいでしょう。

さらにXojo IDE上で組み上げた画面設計はそのまま開発に利用することができます。一般的にワイヤフレームと実際の開発されるシステムとは別物になってしまいますが、改めてシステム用にUIを作り直すという二度手間を防ぐことができます。さらにデザイン上はできるけれどもシステム上は困難と言ったことが発生しづらいのもポイントです。なぜならXojo上で実現できることはXojo IDE上でできるからです。

2. 基本設計

要求定義が終わったら基本設計仕様書に展開されていきます。画面設計はもちろん、データベース設計仕様書、アーキテクチャなども定義されていきます。最近のアジャイル開発においても、まず基本設計を行う必要はあるはずです。

基本設計のフェーズにおいてもモックアップ、ワイヤフレームで作成した画面が役に立ちます。どのボタンを押したらどのウィンドウが開くのか、どういったアクションが実行されるのかはすべてXojo IDE上で表現されています。

さらにWebシステムだけでなく、社内で使うバッチ処理のプログラムであったり、担当者用の業務効率化用のデスクトップアプリケーションなどもすべてXojoで開発できます。システムの種類に応じて使うツールが分かれたり、モックアップの品質がバラバラになったりすることはありません。

3. 詳細設計

基本設計が終わった段階で詳細設計に入っていきます。アジャイル開発においては各イテレーションの中で行われるユースケースにおいて設計されることが多いのではないでしょうか。設計を行わずにいきなり開発に入る場合も見受けられますが、何の目標もなしにいきなり手をつけるのはお勧めしません。

この時大事なのがプロジェクトの情報をなるべく一元管理するということです。プロジェクト管理システムを導入した場合、タスクやドキュメントなどを管理しますが、時々ローカルディレクトリにExcelファイルやメモがテキストとして保存されていたりします。こうした情報の散在はメンバー毎の情報量の違いを生みやすく、その結果として情報共有に失敗します。

f:id:moongift:20161104142028p:plain

Xojoでは一つのプロジェクトにおけるUI、クラス、ドキュメントなどがすべて一元管理されます。タスク管理機能などはありませんが、プロジェクトに必要なファイルを統合管理することで情報の散在を防げるようになります。

ドキュメントとソースコードが同じ場所にあると、参照や更新がとても簡単になります。ソースコード中のコメントも重要ですが、ドキュメントを切り出しておくことでソースコードに余計な情報が増えてしまうのを防げるようになるでしょう。

4. 開発

実開発のフェーズです。最近では多くの場合、GitやSubversionといったバージョン管理システムを組み合わせて行われます。また、CI(継続的インテグレーション)を用いてテストファーストな開発を行ったり、デプロイを自動化すると言った施策も増えています。

Xojoを使った開発でも多人数での開発が可能です。XMLファイルベースでプロジェクトを管理すれば、個々のクラスや画面ごとにソースコードが分かれます。後はバージョン管理システムソースコードを履歴管理できるでしょう。

5. テスト

スクリプトを使ってバージョン管理がアップデートしたタイミングで自動ビルドを行うことも可能です。Xojoではユニットテストをサポートしており、assertを使ったテストを行えます。ただしユニットテストなので、クラスのテストが中心になるでしょう。

f:id:moongift:20161104142044p:plain

テストはGUIで結果が確認できますが、Jenkins向けのXMLフォーマットで出力もできます。そのファイルを使えばGitHubのプルリクエストと連携したCIと自動テストの仕組みが構築できるようになります。

テストは開発時において大切なフェーズで、それだけに自分の書いたコードをちゃんとテストしなければなりません。そのためにはなるべくウィンドウなどにコードを直接書くのではなく、ロジックをなるべくクラス化することでテストできる形にしていくのがお勧めです。

6. リリース

システムリリースは最も緊張する瞬間です。Webであればサーバが外部からのリクエストを受け付けるようになる瞬間であり、デスクトップアプリケーションであればユーザに配布して起動した瞬間かもしれません。

デスクトップアプリケーションでありがちなのが、実行ファイルを動かすのに必要なライブラリやランタイムがないと言った話です。Xojoでは単体+必要なライブラリがまとまってビルド結果に表示されますので、それを配置するだけで使えるようになります。

Webシステムの場合も同様で、実行ファイルを配置するだけです。この他、Apache + CGI環境で利用することもできます。さらに簡単なのはXojo Cloudを使ったデプロイで、この場合はサーバを用意する必要もありません。


Xojoを使うことで開発の各フェーズがとてもスムーズになります。特にユーザに対して最初から見られる画面を用意できるメリットは大きいと言えます。ぜひXojoを使ったシステム開発にチャレンジしてください。

Xojo(ゾージョー)仕事に。研究に。”使える”アプリを瞬速×クロス開発|グレープシティ株式会社