記事概要
Webアプリケーションのサービス設計について、まとめる。
開発手順
企画
どんなアプリ(機能)を作るか決める段階のこと
誰のどんな問題を解決したいのかを決める
ペルソナ
マーケティングの用語で、「サービスを使用するユーザー」のこと
「ターゲット」よりも詳細に「サービスを使用するユーザー」を決める
年齢層・職業・性別や現在の境遇などまで決めることで、よりリアルに使用者の目線でサービスを考案できる
ユーザーストーリー
「ペルソナの課題に対して、どのような機能で解決していくのか」を明確にしたもの
要件定義
詳細な情報を整理すること
- ユーザーがどのように機能を使用するのかを考え言語化する
- 障害が起こった時どうするかを決める
UI/UX
サービスのデザイン(UI)とサービスを通して得られる体験(UX)のこと
- サービスのデザイン(UI)
画面上に表示されるメニュー、テキスト、画像、ボタン、フォーム、それらのレイアウトなどを指す - サービスを通して得られる体験(UX)
サービスを利用した際のユーザーの満足度、ユーザーが得られる価値のことを指す。ユーザーの問題とニーズを十分理解し、最適な解決策を正しい順序で提供することが重要
設計
エンジニアがどのようにアプリや新機能を作っていくかの手順書や、必要な設計図を作る工程
基本設計
開発に必要な内容へまとめることであり、外部設計とも呼ばれる
画面遷移図
どの画面でどんな操作をしたらどのページに移動するかを図で表記したもの
詳細設計
要件定義や基本設計の情報を元に、実際に書くべきコードを洗い出す作業
DB設計
開発で使用するDBの表を設計すること
具体的に考える項目としては、「テーブル」や「カラム」、「関連付け(アソシエーション)」など
- サービスで扱われる情報(エンティティ)を整理する
- エンティティの分類や関連付けなどを行い、模型のように表す(モデリング)
- テーブルの情報を利用しやすい形に変えていく(正規化)
正規形の段階 概要 非正規形 何もしていない状態 第一正規形 重複する値やカラムを分離する 第三正規形 情報が混在するエンティティを分離する
ER(Entity Relationship)図
DBのテーブルなどを図で表記したもの
開発
プログラミング言語などを使用し、アプリ開発を行う
注意点
1つ機能を作り終えたくらいのタイミングでアプリケーションをデプロイする
全ての機能を作成し終えてからデプロイしようとすると、トラブルが発生した時に解決する労力が大きくなってしまうことがあるため
機能を作るたびにデプロイすることで、エラー発生しても問題の切り分けが楽になる
質問できるサービス
Teratail
ITエンジニアに特化した質問サイト
会員登録をすれば、無料で質問を書き込める
MENTA
ITエンジニアなどに質問できるサービス
単発の質問は1回1000円 ~ などで行うことが可能
デプロイ
作ったアプリを外部のサーバーに移して、全世界からアクセスできるように設定すること
保守/運用
動いているアプリに異常がないか定期的に確かめることや、トラブルが発生したら対処すること