アプリ開発論

アプリ開発をするためには ①

この記事は約11分で読めます。
記事内に広告が含まれています。
スポンサーリンク

こんにちは、まっさん(@Tera_Msaki)です。

この記事はSIベンダーで28年あまりシステムエンジニアとして、いろいろなシステムを開発してきた経験をもとにアプリ開発についてまとめたものです。

アプリケーション開発(アプリ開発)から遠ざかっていたせいか、久々にアプリ開発してみると、アプリ開発の敷居は随分下がったとように感じました。
これは開発する環境が整ってきたという意味で、要求される技術レベルが下がったという意味ではありません。むしろ、専門性が高くなり、技術の細分化が進み、一人でなんでもこなすには難しくなってきたと考えています。

少し昔を思い出しながらになりますが、
「アプリ開発するためにはどうすればいいのか」を掘り下げてみたいと思います。

こんな人にオススメ

・アプリ開発に興味がある人
・アプリ開発=プログラミングと思っている人
・SIベンダーのアプリ開発ってどんな感じ?を知りたい人

この記事を読めば、 アプリ開発の大まかな流れが分かります。

アプリ開発のフェーズ

通常、アプリとそれが動く環境(ハードウェアやOS、ミドルウェアなど)をまとめてシステムと呼びます。
ここでは、わかりやすく
アプリ(アプリケーション)と定義します。
つまり、広義ではアプリ開発ではなくシステム開発です。
アプリ開発のフェーズには、大きく分けて、5つ(※)のフェーズがあります。
※もう少し細分化されているのですが、SIベンダー固有の方言が存在します。

要件定義

アプリで実現したい機能(目的)を定義します。
あと、動作する環境や求められる性能、条件などを合わせて整理します。
動作する環境や求められる性能、条件は、直接的に実現したい機能に結びつかないこともあり、非機能要件と呼ばれています。
要件定義の前に構想とか企画フェーズとかありますが、実現したい機能=目的が見えた段階がアプリ開発の始まりと考えています。
また、実務レベルでは、業務フローなどの業務要件、システムの各種構成、画面や帳票、バッチ、データ、インタフェースなどの各種要件を必要に応じて定義します。

プロジェクトで目的がいつのまにか手段に置き換わっているケースがあります。
〇〇を解決するために ×× を導入するが、××を導入することが目的でゴールに置き換わる現象です。
本来、プロジェクトの成功を評価すべきは、要件定義の目的が達成できているかです。

基本設計

アプリで実現したい機能の実現方法を具体的に設計(デザイン)します。
画面や帳票の一覧やイメージ、画面や帳票に表示(出力)する内容や機能を具体的に記述します。
同意として概要設計、機能設計や外部設計などに細分化することもあります。

設計で実現方法(実装方式)が具体的でないケースがあります。
これは設計者が実現方法をイメージできていない、技術の調査や仕様の理解を十分にできていないことによるものです。設計の曖昧さは、後工程で作業の後戻り(やり直し)という形で顕在化することがあります。

詳細設計

画面や帳票に表示(出力)する内容や機能をプログラム構成レベル(関数やロジック)まで設計します。

製造

プログラム構成レベルまで設計したものをコーディング(プログラミング)します。

テスト

コーディングしたものを実行して結果を確認します。
詳細設計で設計された内容を確認することを単体テストと呼び、基本設計で設計された内容を確認することを結合テストと呼ぶことが多いです。あと、アプリが動く環境でテストすることからシステムテストと呼ぶこともあります。

開発したAndroidアプリのご紹介

このサイトを開設するにあたり、開発したAndroidアプリを紹介します。
Androidアプリの開発自体は初めてで、調査から開発の期間は約2か月です。
ダウンロードして動かしてもらえれば、うれしいです。

GPS走行記録アプリ Archive

モータスポーツ向けのGPSを利用した走行データやセッティングを記録するアプリです。

この下にあるアイコンから、
Archive – GPSで走行データの記録&ビジュアル表示をダウンロード(無料)できます。

Google Play で手に入れよう

アプリはいろいろな機器とつながることで可能性が生まれます。

GPSタイム計測アプリ Laps

GPSの位置情報を利用して、事前に登録したゴール地点(2点間)を通過するまでの経過時間を計測するアプリです。

この下にあるアイコンから、
Laps – GPSで計測ラインを通過するまでの時間を計測♪をダウンロード(無料)できます。

Google Play で手に入れよう

性能を向上する手段として機器とつなげる方法もあります。