進捗報告 2002年5月23日現在
現在までの主な動き 企画 企画書作成 企画発表 要求分析(システム自体) 要求分析(システムの機能) ユースケース図、ユースケース文書の作成 今回は青い文字の3点の報告をする
晩ごはん革命!の要求分析 料理集が冷蔵庫の中身を把握してれば・・・ 出先でも冷蔵庫の中身が確認できれば・・・ 注:ひらがな 人を幸せにするWebアプリを作る 問題領域を献立選びに設定 晩ごはん革命は献立選びを支援するWebアプリ 献立選びって? 具体例① 料理集で見た料理を作ろうと冷蔵庫を確認したら肝心な食材がないことに気づいた。 具体例② 仕事帰りに買い物きたはいいが冷蔵庫になにがあったか、なかったか思い出せない。 料理集が冷蔵庫の中身を把握してれば・・・ 出先でも冷蔵庫の中身が確認できれば・・・
要求分析 プロジェクトの目的設定 ウェブ上で、冷蔵庫とレシピを管理し、それらとともにユーザの毎日の献立選びを手助けするWebアプリケーションを作ることである。 用語集参照 ①冷蔵庫 ②レシピ ③献立選び
目標と晩ごはん革命の要件定義 プロジェクトの目標設定 目標を実現するための要件3つ 用語集参照 ④食材 ⑤調理 ⑥冷蔵庫管理画面 日々の献立選びを迅速で楽なものにする 目標を実現するための要件3つ ①冷蔵庫の食材情報を把握した料理集がレシピの検索に応える。食材が足りないものはその旨を伝える。 ②冷蔵庫は登録されているレシピを調理した場合には自動的な在庫管理をする。 ③冷蔵庫の在庫管理は携帯電話のブラウザに対応。 用語集参照 ④食材 ⑤調理 ⑥冷蔵庫管理画面
ユースケース:ユーザー登録をする 事前条件: 事後条件:登録済みユーザーとしてログインできるようになる アクタ 新規ユーザ 目的 ユースケース:ユーザー登録をする 事前条件: 事後条件:登録済みユーザーとしてログインできるようになる アクタ 新規ユーザ 目的 システムの使用権限を得る。 イベントフロー (メインフロー) ① ユーザーが[新規登録]ボタンを押すとユースケースが開始する。 ② システムが登録情報の入力画面を表示する ③ アカウントとパスワード等の登録情報を入力する ④ システムが登録内容確認メッセージを表示する ⑤ ユーザーが内容を確認して[OK]ボタンを押す ⑥ システムが登録完了メッセージを表示して ユースケースは終了する。 シナリオ 永井さんは「晩ごはん革命」を利用するためにユーザー登録をしたいと考えた。サイトへアクセスして[新規登録]ボタンを押すと新規登録画面が表示されたので「晩ごはん革命」用アカウントとパスワードを入力した。登録内容の確認画面が表示されたので内容を確認して[OK]ボタンを押した。すると登録完了メッセージが表示された。
ユースケース:ログインする 事前条件: 事後条件:ユーザがシステムを利用できる状態になっていること アクタ ユーザ 目的 ユースケース:ログインする 事前条件: 事後条件:ユーザがシステムを利用できる状態になっていること アクタ ユーザ 目的 ユーザがシステムを利用できるようにする イベントフロー (メインフロー) ① アクタがログオン画面(top画面)にアカウント・パスワードを入力し、[ログイン]ボタンを押す ② システムがログオン情報を含んだメニュー画面を表示してユースケースは終了する シナリオ 今野君は今日の晩ごはんに何を作ろうか悩んでいた。「晩ごはん革命」でおいしいおかずを探そうと思いついた。今野君はまず「晩ごはん革命」のトップページであるログイン画面を表示した。そこにアカウントとパスワードを入力し、[ログイン]ボタンを押したら、「今日の晩ごはんはどうする?今野君」というメッセージつきのメニュー画面が表示された。
ユースケース:冷蔵庫を管理する 事前条件:ユーザとしてログインするユースケースを完了している 事後条件: アクタ ユーザ 目的 ユースケース:冷蔵庫を管理する 事前条件:ユーザとしてログインするユースケースを完了している 事後条件: アクタ ユーザ 目的 現在の冷蔵庫の内容をレシピの検索に 反映させる イベントフロー (メインフロー) ① ユーザがメニューから冷蔵庫の管理を選択するとユースケースが起動する ② ステムは冷蔵庫管理画面として食材のリストと、食材ごとに、ユーザの冷蔵庫の貯蔵量、「増減量入力フィールド」、「貯蔵or消費ラジオボタン」を表示。 ③ ユーザが“メニューへ戻る”のリンクを選択するとメニューに戻ってユースケースが終了する 代替フロー □②の後にユーザが「増減量入力フィールド」に増減量を入力し、「貯蔵or消費ラジオボタン」から該当するものを選択すると “食材の貯蔵量を更新する”ユースケースが起動する □②の後にユーザが“食材を登録”のリンクを選択すると“食材を登録する”ユースケース起動する シナリオ 晩ごはん革命ユーザの明石君は今日ダイエーでジャガイモを二つ買い、牛乳を1l飲み干した。明石君は今日の冷蔵庫の内容を晩ごはん革命に反映させるため、晩ごはん革命メニューから冷蔵庫の管理を選択した。すると冷蔵庫管理画面が開かれ、晩ごはん革命に登録された食材のリストと、明石君の冷蔵庫に入っている食材の貯蔵量が表示された。明石君は今日の貯蔵量を冷蔵庫に反映させて、メニューへ戻るのリンクをクリックした。
ユースケース:食材の貯蔵量を更新する 事前条件:ユーザとしてログインするユースケースを完了し、冷蔵庫管理画面が表示されている 事後条件: ユースケース:食材の貯蔵量を更新する 事前条件:ユーザとしてログインするユースケースを完了し、冷蔵庫管理画面が表示されている 事後条件: アクタ ユーザ 目的 冷蔵庫に登録された食材の貯蔵量に 現在の状態を反映させる イベントフロー (メインフロー) ① ユーザは冷蔵庫に登録された食材のリストから貯蔵量を更新したい食材を選ぶ。選んだ食材の「増減量入力フィールド」に増減量を入力し、「貯蔵or消費ラジオボタン」から該当するものを選択して「更新ボタン」をクリックするとユースケースが開始する。 ② システムは選択された食材の貯蔵量を増減し、「冷蔵庫管理画面」を更新するとユースケースは終了。 シナリオ 明石君は食材の消費と追加を晩ごはん革命に反映させるため、食材リストから「牛乳」の増減量を“1”にして“消費”を選択し、次に「ジャガイモ」の増減量を“2”にして“貯蔵”を選択し、更新ボタンを押した。すると冷蔵庫の内容が更新され、冷蔵庫管理画面が表示された。
ユースケース:食材を登録する 事前条件:ユーザとしてログインするユースケースを完了し、冷蔵庫管理画面が表示されている 事後条件: アクタ ユースケース:食材を登録する 事前条件:ユーザとしてログインするユースケースを完了し、冷蔵庫管理画面が表示されている 事後条件: アクタ ユーザ 目的 冷蔵庫で新しい食材を扱う イベントフロー (メインフロー) ① ユーザが“食材を登録”のリンクを選択するとユースケースが開始する。 ② システムは「食材登録画面」を表示する。 ③ ユーザは登録したい食材の名前と単位を入力し、送信する。 ④ システムは登録内容の確認画面を表示する。 ⑤ ユーザはOKを押す ⑥ システムは新しい食材を食材リストに加え、「冷蔵庫管理画面」に戻ってユースケース終了。 シナリオ 明石君は今日の料理に使うため「ターメリック」を買ってきた。しかし、晩ごはん革命の食材リストには「ターメリック」は登録されていなかったため、新しく食材を登録することにした。明石君は冷蔵庫管理画面から“食材を登録”のリンクをクリックし、食材登録画面を開いた。明石君は食材の名前として「ターメリック」単位として「g」を入力し、送信ボタンを押した。登録内容の確認を求められたので、OKボタンを押すと冷蔵庫管理画面に戻り、食材リストに新しい食材が追加されていた。
ユースケース:携帯電話から冷蔵庫を管理する 事前条件:ユーザとしてログインするユースケースを完了している 事後条件: アクタ ユーザ 目的 ユースケース:携帯電話から冷蔵庫を管理する 事前条件:ユーザとしてログインするユースケースを完了している 事後条件: アクタ ユーザ 目的 外出先から現在の冷蔵庫の内容をレシピの検索に 反映させる イベントフロー (メインフロー) ① ユーザが冷蔵庫管理画面にブラウザからアクセスするとユースケースが起動する ② ステムは登録されている食材のリストと、食材ごとに、ユーザの冷蔵庫での貯蔵量、「増減量入力フィールド」、「貯蔵or消費ラジオボタン」を表示する。 ③ ユーザが“メニューへ戻る”のリンクを選択するとメニューに戻ってユースケースが終了する 代替フロー □②の後にユーザが「増減量入力フィールド」に増減量を入力し、「貯蔵or消費ラジオボタン」から該当するものを選択すると “食材の貯蔵量を更新する”ユースケースが起動する □②の後にユーザが“食材を登録”のリンクを選択すると“食材を登録する”ユースケース起動する シナリオ 晩ごはん革命ユーザの明石君は今日ダイエーでジャガイモを4つ買った。明石君は冷蔵庫の内容をその場で更新するために晩ごはん革命にログインして、冷蔵庫管理画面にアクセスした。明石君は食材リストから「ジャガイモ」の増減量を“5”にして“貯蔵”を選択し、更新ボタンを押した。すると冷蔵庫の内容が更新され、冷蔵庫管理画面が表示された。
ユースケース:冷蔵庫からレシピを検索する 事前条件:ログインするユースケースを完了していること。冷蔵庫の食材とレシピ情報があること。 事後条件:指定した食材で作れるレシピの一覧が表示されていること。冷蔵庫の在庫が更新されていること。 アクタ ユーザ 目的 レシピ検索。消費食材量把握、冷蔵庫の在庫更新。 イベントフロー (メインフロー) ① ユーザが冷蔵庫からレシピを検索するボタンを押すとユースケースが始まる。 ② システムが冷蔵庫の中身を選択可能な形で表示する。 ③ ユーザが使いたい食材を表示から選択し、(複数選択可)検索ボタンを押す。 ④ システムが選択された食材の冷蔵庫保有量内で作れるレシピの概要一覧を表示する。 ⑤ ユーザが一覧から作りたい料理を選択する。 ⑥ システムが選択されたレシピを表示する。 ⑦ ユーザが表示したレシピを作りましたボタンを押す。 ⑧ システムがレシピの使用食材からユーザが使用した材料を見積もり、その確認をする。 ⑨ ユーザが見積もりに変更がなければ確認ボタンを押す。 ⑩ システムをユーザが確認した消費食材情報から冷蔵庫の在庫を更新する。 シナリオ 中村君は今日の晩ごはんの献立を決めようと、晩ごはん革命!にログインし、冷蔵庫からレシピを検索するボタンを押した。鶏肉が食べたかったので、表示された冷蔵庫の中から鶏肉と昨日使いかけた玉ねぎを選択し、検索ボタンを押した(鶏肉は600㌘、玉ねぎは1/2個あったみたいだ・・・)。すると、作れる料理概要一覧の一番上に「鶏肉の南蛮漬け」という料理があったので選択した。画面にレシピが表れ、それを見ながら料理を作った。冷蔵庫の在庫を更新するためこのレシピの料理を作りましたボタンを押した。消費食材の見積もりが表示され、鶏肉の使用見積もりが使った量より少し多めだったのでそれを修正して確認ボタンを押した。
ユースケース:料理名からレシピを検索する 事前条件:ログインするユースケースを完了していること。冷蔵庫の食材とレシピ情報が登録されていること。 事後条件:指定した食材で作れるレシピの一覧が表示されていること。冷蔵庫の在庫が更新されていること。 アクタ ユーザ 目的 レシピ検索。消費食材量把握、冷蔵庫の在庫更新。 イベントフロー (メインフロー) ① ユーザが料理名からレシピを検索するボタンを押すとユースケースが始まる。 ② システムが料理名またはキーワードを入力する入力欄があるページを表示する。 ③ ユーザが料理名またはキーワードを入力し、検索ボタンを押す。 ④ システムが入力に見合う料理と冷蔵庫の中身を照らし作れるレシピの概要の一覧を表示する*1。 ⑤ ユーザが一覧から作りたい料理を選択する。 ⑥ システムが選択されたレシピを表示する。 ⑦ ユーザが表示したレシピを作りましたボタンを押す。 ⑧ システムがレシピの使用食材からユーザが使用した材料を見積もり、その確認をする。 ⑨ ユーザが見積もりに変更がなければOKボタンを押す。 ⑩ システムをユーザが確認した消費食材情報から冷蔵庫の在庫を更新する。 シナリオ 中山君は今日の晩ごはんの献立を決めようと、晩ごはん革命!にログインし、料理名からレシピを検索するボタンを押した。今日はこれから買い物に行くので今のうちに献立を決めて足りないものを買いものついでに仕入れるねらいだ。スパゲッティーが食べたかったので、検索キー入力欄にスパゲッティーと入力し検索ボタンを押した。すると、作れる料理概要一覧の一番上に「カルボナーラ」が表示された。幸いなにも買わないでも作れそうなので「カルボナーラ」を選択した。画面にレシピが表れ、それを見ながら料理を作った。冷蔵庫の在庫を更新するためこのレシピの料理を作りましたボタンを押した。消費食材の見積もりが表示され、修正の必要がなかったので確認ボタンを押した。
ユースケース:レシピを登録する 事前条件:ログインするユースケースを完了していること。 事後条件:レシピがシステムに含まれていること。 アクタ ユーザ 目的 新しいレシピを検索に反映させる。 イベントフロー (メインフロー) ① ユーザがログオンする ② システムがメニュー画面を表示する ③ ユーザが[レシピ登録]ボタンを押す ④ システムがレシピ登録画面を表示する ⑤ ユーザがレシピ情報を入力する。 ⑥ ユーザがレシピを他のユーザ間に公開するか否かを選択し、[登録]ボタンを押す ⑦ システムが入力情報確認メッセージを表示する ⑧ ユーザが内容を確認して[OK]ボタンを押す ⑨ システムが登録完了メッセージを表示してユースケースは終了する シナリオ 神代さんは、今日レストランで食べた料理を元に新しいレシピを開発し、そのレシピを公開したいと考えたので、「晩ごはん革命」に新レシピとして登録することにした。神代さんはまず「晩ごはん革命」にログオンし、[レシピ登録]ボタンを押した。するとレシピ登録画面が表示されたので、そこに新レシピの情報を漏れなく打ちこんだ。実験で作ってみた料理のレシピだったので[レシピを公開しない]というところをチェックして[登録]ボタンを押した。画面に入力情報確認メッセージが表示されたので、誤字チェックをし[OK]ボタンを押した。すると登録完了メッセージが表示された。
プロトタイプで実装するモデル