LoginSignup
15
22

More than 5 years have passed since last update.

iOSアプリ開発テンプレ

Last updated at Posted at 2016-05-20

iOSアプリ開発のテンプレ化

アプリは開発の流れとしては

  1. サービス仕様(画面デザインや基本ロジック)決定
  2. 実装するための詳細仕様(各Viewのパラメータやアプリ動作ロジック)決定
  3. 実装
  4. 機能試験で仕様に沿ってなければ実装修正
  5. 全体的な動作試験
  6. リリース
  7. 運用上の問題修正

サービス仕様決定

  1. サービスコンセプト、サービス収支、サービスターゲット決定
  2. サービスコンセプトに沿ったUIデザイン作成
  3. サービスコンセプトと制限事項に沿ったロジックを設計
  4. 必要な外部システムの手配

このうち開発に渡す情報としては、

  • UIデザイン
  • アプリロジック
  • 外部システムとの連携仕様
  • スケジュール

詳細仕様決定

  1. 各利用対象端末(iPhone,iPad)の画面サイズに合わせて再デザインし、デザインを各Viewに分解してViewのパラメータ調整する。
  2. 必要なデータモデルを書き出し、スキーマを調整する。
  3. 基本ロジックを分類し、ビジネスロジック(UIとは分離できるもの)とViewロジック(Viewの調整に関わるもの)に分ける。
  4. アプリの各状態における振る舞い(データ初期化・取得などのタイミング)について状態遷移表を作成する
  5. テスト用または画面PV計測用のロギング設計を行う

実装

  1. データモデルからDB作成
  2. 調整されたデザインに基づいて、Viewの初期パラメータとViewロジックを作成
  3. ビジネスロジックを作成
  4. 状態遷移表に従って、AppDelegateとViewControllerにViewロジックやビジネスロジック呼び出しを配置
  5. テストまたはPV計測のためのログ出力を追加

機能試験

  • ビジネスロジックについては、様々なパターンの入力を与え評価するユニットテストを行う。
  • UIテストは手動もしくはAppiumにて各試験データを与えたときの状態遷移に基づく画面表示内容を確認。
  • ログを活用してアプリ内の状態変化を監視する。
  • アプリはCIで自動ビルドして、バイナリをサイトまたはツールを作って配布し、テスターが簡単にインストールできる環境を作る。

全体的な動作試験

  • UXとデグレしていないかを確認する。

リリース

  • AppStoreに申請
  • プロモコードで最終動作確認(商用BundleIDでないと試験できないものとか)
  • リリース

運用上の問題修正

  • 障害発生時は障害原因の修正
  • パフォーマンス不足の場合は、速度向上策を図る
  • OS等のバージョンアップ対応
  • 修正についてはサービス仕様に盛り込んだほうがわかりやすい

みたいな感じでテンプレ化

15
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
22