前のパートに戻る 完了して次のパートへ  

  0-3 kanbanの設計

今回のパートでは、作成するアプリの設計を行います。

必要な機能の洗い出し


このコースで開発する機能は、

  • ログイン・ログアウト・プロフィール機能
  • リスト機能
  • カード機能

となります。 次に、これらの機能を開発する上で必要な情報を書き出します。

● ユーザーの情報

  • ユーザー名
  • メールアドレス
  • パスワード

● リストの情報

  • タイトル
  • リストを作ったユーザーの情報

● カードの情報

  • タイトル
  • 詳細
  • カードが属するリストの情報
  • カードを作ったユーザーの情報


まとめると、ユーザー、リスト、カードの3つの情報が必要となります。

情報の関係性の整理


ユーザーの情報とリストの情報の関係性を考えてみると、

- ユーザーは複数のリストを作成できる
- 1つのリストに対して関連するユーザーは1人

このような関係を「一対多の関係」といいます。

ユーザーは複数のリストを作成できる

1つのリストに対して関連するユーザーは1人

同様に「ユーザーの情報とカードの情報」「リストの情報とカードの情報」などの全ての情報の関係性を考えます。

テーブル設計


全ての情報の関係を洗い出したら、テーブル設計を行います。 テーブル設計では、テーブルに対して

  • どのようなデータを保存するのか
  • テーブル同士がどういった関係なのか

を整理します。

今回は、「必要な機能の洗い出し」と「情報の関係性の整理」をもとに、以下の図のようにテーブルを設計します。

実際にはUserテーブルはDjangoの標準機能を使って作成するため、これらのフィールド以外にもいくつかのフィールド(権限など)が自動的に定義されます。学習を進める上では影響はないので、本コースでは特に触れずに進めていきます。

詳細が気になる方は、

設定 | Django ドキュメント | Django

を参照してみてください。 加えて、このコースを完走した後に、Django標準のUserモデルを覗いてみるのもいいかもしれません。

django/models.py at master · django/django

なお、このような図のことをER図といいます。ER図に関しては、こちらのURLを参考にしてください。 若手プログラマー必読!5分で理解できるER図の書き方5ステップ

議論

0 質問

このコースの評価は?