開発ワークフロー
====================

Yii の基本的なコンセプトを述べてきましたが、ここで Yii を用いたウェブアプリケーション開発の共通なワークフローを紹介しましょう。
この段階では対象となるアプリケーションの要求分析だけでなく、設計分析もすんでいるものと仮定します。

   1. 骨格となるディレクトリ構造を作成します。[初めての Yii アプリケーションの作成](/doc/guide/quickstart.first-app) で解説した `yiic` ツールがこのステップに役立ちます。

   2. [アプリケーション](/doc/guide/basics.application) の初期設定。
これはアプリケーションの初期設定ファイルを修正することで行います。
このステップでは、追加でアプリケーションコンポーネント (例えば、user コンポーネント) を書くことが必要になるかも知れません。

   3. 管理するそれぞれのデータタイプに対応する [モデル](/doc/guide/basics.model) クラスを作成します。
[初めての Yii アプリケーションの作成](/doc/guide/quickstart.first-app#sec-3) と [自動的なコード生成](/doc/guide/topics.gii) で説明している `Gii` ツールを使って、管理すべきデータベーステーブルに対応した [アクティブレコード](/doc/guide/database.ar) クラスを生成することが出来ます。

   4. それぞれのユーザリクエストに対応した [コントローラ](/doc/guide/basics.controller) クラスを作成します。
どのようにユーザリクエストを分類するかは、実際の要求分析に依存します。
一般的には、モデルクラスがユーザによってアクセスされる必要がある場合に、モデルに対応するコントローラクラスが必要となります。
この作業も `Gii` ツールで自動化することができます。

   5. [アクション](/doc/guide/basics.controller#sec-4) とそれに対応する [ビュー](/doc/guide/basics.view) を実装します。実際にしなければならない作業があるのは、主としてこのステップです。

   6. コントローラクラスにおいて、必要なアクション [フィルタ](/doc/guide/basics.controller#sec-5) を構成します。

   7. テーマ変更機能が必要であれば、[テーマ](/doc/guide/topics.theming) を作成します。

   8. [国際化](/doc/guide/topics.i18n) が必要であれば、翻訳メッセージを作成します。

   9. キャッシュされるべきデータとビューを特定し、[キャッシュ](/doc/guide/caching.overview) を適用します。

   10. 最後の [チューンナップ](/doc/guide/topics.performance) を行い、アプリケーションを配備します。

上記のそれぞれのステップにおいて、テストケースを作成して実行する必要があるかもしれません。

<div class="revision">$Id$</div>
