見出し画像

サービス設計

設計をしよう

基本設計

要件定義の内容を、開発に必要な内容へまとめること
外部設計とも

詳細設計

実際に書くべきコードを洗い出す作業

画面遷移図

どの画面でどんな操作をしたらどのページに移動するかを図で表記したもの
手書きでも専用アプリを使っても伝わればok

PicTweetの画面遷移図を確認しよう

  • サインイン/ログインページ
    ・トップページ(共有された写真を一覧表示するページ)

    • 共有された写真の詳細ページ

    • 共有写真を追加するページ

    • 共有された写真の編集ページ

    • マイページ

DBデーターベース設計

DB設計とは、開発で使用するDB(データベース)の表を設計すること
具体的に考える項目としては、「テーブル」や「カラム」、「関連付け(アソシエーション)」など

エンティティ

サービスで扱われるデータ自体

※エンティティはテーブルと等しい粒度で決める必要があるため、可能な限り「異なるジャンルの情報」は混合させないように

モデリング

モデリングとは、エンティティの分類や関連付けなどを行い、模型のように表すこと

エンティティを参考にDBを設計

デリングされたDBへさらに詳細な設計をしていく工程

正規化 せいきか

正規化とは、データベースの構造を効率的でシンプルな形にすること

非正規形   何もしていない状態
第一正規形  重複する値やカラムを分離する
第三正規形  情報が混在するエンティティを分離する

制約

制約とは、データを扱う際に制限をかけることです。バリデーションの仕組みと似ている

NOT NULLノット ヌル制約

NOT NULL制約は、テーブルの属性値にNULL(空の値)が入らないように制限

一意性制約

一意性制約は、テーブル内で重複するデータを禁止する制約

主キー制約

レコード情報を識別するための項目・・・idカラムの項目

外部キー制約

外部キーの元になるデータと参照するデータの整合性を保証する制約

マイグレーションファイルに書く

チェック制約

チェック制約は、値が保存される際に条件を満たしているか

いいなと思ったら応援しよう!