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