Chapter 04無料公開

機能設計

かよ
かよ
2021.12.31に更新

その機能によって、ユーザーが行うことができる処理と、それに伴ってサービスが裏側でする処理を決めていきます。

例えばTwitterですと、ユーザーが「あいう」と投稿すると、サービスは裏側でその投稿した「あいう」とユーザー名を保存してくれます。

なぜ機能設計が必要なのか?

  • その画面でユーザーとサービスがする処理を明確にすることで、実装がスムーズになる

  • 画面設計の抜け漏れに気づける

実装がスムーズになるのは、画面設計と同じですが、機能設計を行うことで、コードを書く前により具体的に実装をイメージできます。

また、画面設計でこのボタンが必要だった...等、抜け漏れに気づくことができます。

機能設計のやり方

以下の項目に従って、機能設計をしていきました。

  • 機能名
  • ユーザーの操作内容
  • サービス側の処理内容
    具体的にアカウント操作画面ではこんな感じで機能設計できます。

アカウント作成画面

ユーザーの操作内容

  • フォームに入力
  • 次へ進むをクリック
  • SNSログインをクリック
  • ログインをクリック

サービス側の処理内容

  • 入力フォームからユーザー情報を受取る
  • 受け取った情報をDBに保存
  • SNSログインページに移動
  • ログインページに移動

目標変更画面

ユーザーの操作内容

  • 目標削除ボタンをクリック
  • 各種ナビゲーションバーのページへ移動

サービス側の処理内容

  • 目標をDBから削除する
  • 目標設定ページに移動する
  • 各種ナビゲーションバーのページへ移動

機能設計をしている段階で、画面設計の抜け漏れが出てくると思うので、適宜変更しながら行くといいと思います。

完成したら、gituhubのREADME.mdに追加するといいかもです。

次回のチャプターでは、クラス設計について説明します。