Help us understand the problem. What is going on with this article?

iOSアプリ開発テンプレ

More than 1 year has passed since last update.

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等のバージョンアップ対応
  • 修正についてはサービス仕様に盛り込んだほうがわかりやすい

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away