アプリケーション開発の手順について

 どうも、IHです!

 

 今日はプログラムを書く系の話ではなく、

「アプリケーションの開発手順」

について学んだので、アウトプットしていきたいと思います。

(実際には、制作会社によってこの手順は異なるそうですが、今回は一般的な制作手順を学びました)

 

 これまでは

 

カリキュラム通りにプログラムを記述する

その通りに動くか検証する

 

といった流れでしたが、

エンジニア っぽくなってきましたね!

 

楽しみです😁

 

それでは早速いってみよう!

 

ーーーーーーーーーーーーーーーーーーーーーーーー

 まず、アプリケーションの開発前にやることについて触れます。

 

 「開発」というのは、実際にコードを書く段階ですね! その前にやるべき事があるというわけです。

 

 開発前の流れをざっくり説明すると、以下のようになります。

 

「企画」

   ↓

「要件定義」

   ↓

「設計」

 

 それぞれの段階について、順番に見ていきましょう!

 

・企画とは?

……「誰の(ターゲット)」「どんな問題を解決したいか」を決めます。

この答えによって、新しくアプリを作るのか、それとも既にリリースしているアプリに機能を追加するのかが決まります。

 

・要件定義とは?

…… 企画で「誰の」「どんな問題を解決するか」が決まったら行う、詳細な情報整理のことを、要件定義と言います。

具体的には、

「ユーザーがどのように機能を使用するのか、を考え言語化する」

「障害が起こったとき、どうするのかを決める」

と言ったことを整理します。

 

・設計とは?

……「エンジニアが実際にどのようなアプリや新しい機能を作っていくか」の手順書や、必要な設計図を作ります。

 

 

 上記3つが、開発前に行うことです。

 これらをしっかりと行ってから、開発の段階に入れるわけですね。

 

 

 続いて、その開発が終わったあとに何をするのかを見ていきましょう!

 開発後にやることの流れは、大きく2つです。

 

「デプロイ」

   ↓

「保守/運用」

 

 こちらもそれぞれ見ていきますね。

 

・デプロイとは?

……実際に作ったアプリを、外部のサーバーに移して、全世界からアクセスできるようにすることです。

 

・保守/運用とは?

……デプロイした後、アプリに不具合が起こったら、正常に機能するよう修正しなければなりません。また、アプリに異常がないか、定期的にチェックする必要もあります。これが保守/運用です。

「どれくらいの人数に使われるアプリなのか」

「どれくらい重要なアプリなのか」

によって、保守/運用のやり方は変わります。例えば、医療現場で使われるアプリに不具合が生じたとすれば、早急に対応しないといけませんよね。人の命に関わる事ですから。こういった、人の命に関わるものには、何が起きても良いよう何重もの策が講じられるそうです。

 

 以上が開発後にやることの流れになります。

 

 アプリケーション開発全体の流れを振り返ると、以下のようになります。

 

企画

要件定義

設計

開発

デプロイ

保守/運用

 

 

 

ーーーーーーーーーーーーーーーーーーーーーーーー

 

 いかがでしたか?

 

 ざっくりと開発の全体の流れを振り返ってみました。

 

 個人的な感想としては、事前準備として企画までは予想していましたが、要件定義や設計などもあるんですね!

 どんなことでも、事前の準備はやっぱり大事ですね。

 

 ちなみに、エンジニアが主に担当するのは、要件定義以降になるそうですよ。

 企画は企画部さんの仕事になるみたいです。

 でも、企画からやってみるのも面白そうですね!

 僕は最近、筋トレにハマっているので、筋トレアプリの企画とか妄想してました😁

 腕立て伏せとかするとき、自分で回数数えるのちょっとしんどかったりするじゃないですか?

 だから

「腕立て伏せをカウントしてくれるスマホアプリ」

があったらいいなって思ってたんです。

 以下、アプリの大まかなイメージです。

 

・画面には、「1回押す事に1回カウントしてくれるカウントボタン」と「何回したかを数字で表示するカウンター」を表示させる。

 

・顎や鼻で押せるよう、カウントのボタンは大きくする(顎や鼻で押さないといけないので、腕立て伏せも深いものになってサボれない)。

 

・「制限時間内に何回できるか!?」

または

「腕立て伏せ100回を何秒でできるか!?」

といったチャレンジモードと、ユーザーのランキング機能

 

 こんな感じですね!

 いや多分、もう同じようなアプリあると思いますが😅

 

 それに、たとえば

「30秒以内に何回できるか!?」ってチャレンジモードでランキング機能を付けても、

「俺30秒で200回出来たわ笑(指でボタン連打しただけ)」

ってユーザーが出てきて、ランキング機能自体が形骸化しそう……

 

 そもそも今勉強してるRubyRailsで作れるんだろうか……

 

 とか考え出したら、アプリを出すのって難しいですね!🤣

 

 以上、アプリを自分で作るという私の妄想でした😌

 

 こんな感じで、どんな時も。

 エラーが起きた時だろうと。笑

 楽しみつつ勉強していきます!

 

 今日もみてくださってありがとうございました!