131212_03:アジャイル開発本

第5章以下からは本格的なショッピングカートアプリケーションの開発に入る。

ショッピングカートはいま開発しようとしているWebサービスと類似点が多いため、そのサービスに応用できる部分を特に集中して吸収する。

 

-------

第4章:Ruby入門

楽しいRubyで一通り勉強したためさらっと流し読む。

この章の内容は

  • オブジェクト:名前、メソッド
  • データ:文字列、配列、ハッシュ、正規表現
  • 制御構造:if, while, ブロック、イテレータ、例外
  • 基本構成要素:クラス、モジュール
  • YAMLとマーシャリング
  • よく使用するイディオム

 

-------

第5章:Depotアプリケーション

この章の内容

  • インクリメンタル(漸進的な)開発
  • ユースケース、ページフロー、データ
  • 優先順位

 

Depot(デポ、配送拠点)というショッピングカートアプリケーションをつくる。

ショッピングカートを作成する目的は、Railsで開発することによって得られるさまざまなメリットを実践的な例を通じて体験すること。

具体的には、簡単な管理用ページの作成、データベーステーブルとのリンク、セッション処理、およびフォーム作成の方法。

全体を12の章に分け、ユニットテストやセキュリティ、ページレイアウトなどの関連トピックも消化する。

 

--------

5.1 インクリメンタル開発

インクリメンタル開発は要するにリーン開発と似たような意味の開発手法のことと認識

 

5.2 Depotの基本仕様

ユースケース

Depotのユースケースは単純。まず2つの役割を定義する。買い手と売り手の2つ。

買い手はDepotを使って販売されている商品を閲覧し、購入する商品を選択して、注文の作成に必要な情報を入力する。

売り手は商品リストの管理や発送待ちの注文の割り出し、発送の確認後に注文を発送済みの状態に更新する操作などを行うためにDepotを使う。

 

ページフロー

最初にアプリケーションの主要なページの構想を立て、それらのページの間をユーザがどのように移動するか、大まかに把握しておく。

このような開発の初期段階ではページフローを完全に確定できないもの。しかし、不完全なページフローであっても、行うべき作業を明確にしてアクションの流れを順序立てて理解するのには役立つ。

PhotoshopやWordやHTMLを使う開発者もいるが、紙と鉛筆がおすすめ。

 

買い手のページフロー

  • カタログページ(選ぶ)
  • カートページ(チェックアウト)
  • 注文の概要(支払)
  • 領収ページ

 

売り手のページフロー

  • ログイン
  • メニュー
  • 商品の管理(作成、表示)
  • 出荷待ちの注文を表示

 

データ

アプリケーションで扱うデータについても考えておく必要がある。

スキーマやクラス、データベース、テーブル、キーといった用語は使わない。ここで検討する対象はあくまでも単なるデータ。

 

商品

  • 名前
  • 説明
  • 画像
  • 価格

売り手の詳細

  • ログイン名
  • パスワード

カート

注文

  • 買い手の詳細
  • 支払の詳細
  • 発送の状況

品目

  • 商品
  • 数量
  • 価格

 

*メモ

イテレーション:繰り返し型の開発プロセスにおける繰り返しの単位をイテレーションと呼ぶ。