
こんにちは、YMOです。
STRIXでは設立当初からスマホアプリの開発を行っており、今までエンタメから教育や医療、ARアプリなど数多くのアプリを開発してきました。
今回はアプリ開発未経験の方に向け、開発の流れを纏めてみようかと思います。
要件定義

まずはクライアント(顧客)から要求のヒアリングをおこない、どんな事ができるアプリなのか、どういうユーザーが使うものなのかなど、具体的な要件を洗い出し、アプリに必要な機能をリスト化します。
要件定義書をもとに工数出しやスケジュール作成、プロジェクトメンバーのアサインなどをしますので、考慮漏れが無いように議論や検討を重ねる必要があります。
外部設計(基本設計)

要件定義で決定した機能を実現するために必要なシステム構成や画面リスト、操作したときのアクション処理などを決定します。
特にUIなどユーザから見えるフロント側の見え方や、タップ時のアクションや条件による分岐などの設計を行います。
その他、コーディング基準や、セキュリティ対策の方針も確定させておきます。
内部設計(詳細設計)
外部設計で決まった内容をどのようにプログラムするか具体的に決定します。
外部設計ではユーザに見える部分の設計が多くありますが、内部設計は裏側のロジックやデータの処理方法など、正常にアプリが動作するための設計を行います。
実装

設計書に従ってコーディングをします。
画面デザイン
画面設計書に従ってデザインを制作します。
試験

試験には主に下記の3つがあります。
・単体試験
モジュール単位(システムの構成要素)で正常に動作するか確認します。
・結合試験
単体試験で正常に動作することが確認されたモジュール間の動作や、他システムとの連携が正常に行われるか確認します。
・総合試験(システムテスト)
要件定義書に基づいて、機能が満たせているか、不具合が無いかを確認します。
実際のデータを投入し、リリース時に行う動き(シナリオ)を実際に試していきます。
ストア申請
スマホアプリはiOS向けであればApp Storeに、Android向けであればGooglePlayストアに登録しないと一般公開されません。
開発したアプリと登録に必要な情報を入力して申請を行います。
登録内容に誤りが無く、ストアのレギュレーションを満たしていれば、無事にリリースが完了です。
以上がスマホアプリの開発工程になります。
どの工程もとても大切ですので、各工程の役割を理解してプロジェクトに挑みましょう!