📜
【詳細設計】アプリケーション詳細設計の作成
テーブル定義書が終わり、アプリケーション詳細設計を作成する。
回答にならないよう、悩んだところのみの備忘録を残します。
詳細設計とは
基本設計:画面設計、データベース設計、ER図、テーブル定義書(For ユーザー)
詳細設計:基本設計でまとめたものをどのように実装するか決めること(For エンジニア)
アプリケーション詳細設計
システムやアプリケーション仕様や機能を具体的に定義し、設計するプロセスのこと。つまり、アプリケーションを作る前に必要な「設計図」。
開発現場ごとに作成する書式は様々だが、スクールでは、Controller、Model、Routingを記載する。
詳細設計が必要な理由
以下の表のとおり。
必要性 | 説明 |
---|---|
効率的な開発 | 開発プロセスを効率化し、作業の重複や無駄を減らす |
一貫性の確保 | 一貫性のある設計やコーディングを実現し、バグや不具合を防止 |
コミュニケーションの円滑化 | 開発チームや関係者間のコミュニケーションを円滑にする |
変更への対応 | 変更や拡張が容易に行える設計を行い、柔軟なシステムを構築 |
品質向上とバグの予防 | 品質の向上を図り、バグやエラーの発生を予防する |
アプリケーション詳細設計作成
以下の通り作成していく。
public側
-
顧客の登録情報確認画面:
Deviseのgemを使うので、/customers/edit
を使用すると、Deviseの編集ページと重複する。明確化のため、/customers/information/edit
とする。 -
注文情報確認画面:
入力した注文情報のデータを送信するため、HTTPメソッドは「POST」を使用。
GET vs POST
HTTPメソッド | 説明 |
---|---|
GET | サーバーからデータを取得 |
POST | サーバーにデータを送信 |
イメージとしては、
GET:ウェブページのリンククリック
POST:フォームの送信
- 注文確定処理:
アクションは「create」を使用。注文入力画面(「new」アクション)で入力した注文データを、注文確定時データベースに保存するので「create」が適切。
admin側
- 注文詳細画面に
orders
コントローラを使用:
注文の情報(注文ID、日時、配送先、支払い方法など)は親の情報。
注文詳細の情報(商品名、個数、製作ステータスなど)は子の情報。
今回実装する注文詳細ページでは、注文情報の内容を含んでいるので、注文IDを基準として親の情報(注文情報)と子の情報(注文詳細情報)を表示させる。
つまり、次のようなURLを作れる。/admin/orders/:id
穴埋め形式問題だったけどなかなか難しかった。
チームで意見を出しながらまとめることで完成!明日は工程表の完成とgitの練習!
順調に実装に入れるかな?
Discussion