1
システム設計書
システム名:
「居酒屋検索システム」
教育情報システム学講座 0312003016 岩淵 直人 プロクター 鎌田 奉訓1. 要求仕様書に関する内容
システム機能の概要 ・居酒屋の新規登録および削除、編集が行えること。 ・検索機能は人数、料金、場所、ジャンル(和、洋、中)で検索できること。 検索できる場所は「盛岡」「滝沢」などでよい。 ・登録されている居酒屋に自由にコメントを書くことができること。 ・基本的に居酒屋は次のものを最低限含むことにする。 ・飲み放題の料金 ・予約人数の上限 ・住所 ・電話番号 ・営業時間 システム性能の目標 ・特に指定はなし データおよびライフサイクルの概要 ・特に指定はなし ネットワーク、ハードウェア。ソフトウェア構成 ・Perl またはその他のプログラミング言語2
2.外部設計書
開発期間 2004 年 12 月 15 日∼2005 年 2 月 15 日 開発者 教育情報システム学講座 岩淵 直人 システムが使用されるときのシナリオ 各種飲み会が行われる場合に、飲み会の幹事が目的にあった居酒屋を探す。 また管理人は居酒屋の登録、削除、修正を行う。 機能の概要 機能の内容の一覧 一般ユーザの機能 ・ 検索機能 ・ 一覧機能 ・ コメント機能 管理人の機能 ・ 登録機能 ・ 修正機能 ・ 削除機能 ・ コメント削除機能 ・ パスワード変更機能3 機能の主な流れ 1 トップページ 1.1 トップ画面 (izakaya.php)
管理人の機能
2 ログイン機能 2.1 ログイン結果表示 (izakaya_kannri.php) ① 検索フォーム フォームに検索した意項目 を入力して、検索できる ② メニュー メニューボタンをクリック して各メニュー表示 ③ ログイン IDとパスワードを入力し てログインする トップ画面(1.1)からログイ ンすると左図の画面になる。 ① 管理人メニュー ログインに成功すると居酒 屋の登録、削除、修正、コ メントの削除、パスワード の変更メニューが表示され る。4 3 登録機能 3.1 データ入力画面 (izakaya_touroku.php) 3.2 登録確認画面 (izakaya_touroku_kekka.php) 4 修正機能 4.1 修正項目選択画面 (izakaya_syu.php) 修正メニュー選択後の画面。 ① ラジオボタン 修正したい項目のラジオボ タンにチェックした後、一番 下の修正ボタンをクリック する。 登録メニュー選択後の画面。 ① 登録フォーム フォームに登録する居酒屋 のデータを入力する。入力後 登録ボタンを押すことで、登 録確認画面になる。 登録されたデータを表示。 どのように登録されたかを 確認する。
5 4.2 修正画面 (izakaya_syu_kekka.php) 4.3 修正確認画面 (izakaya_syu_kekka2.php) 5 削除機能 5.1 削除項目選択画面 (izakaya_del.php) 修正ボタンクリック後の画 面。 ① 修正するデータ 修正する居酒屋の修正前の データが表示される。 ② 修正フォーム 修正前のデータがフォーム に入力されているので、修正 する項目を入力しなおす。 修正された項目を表示する。 ① 修正項目 前の画面で修正された項目 を表示する。 修正メニュー選択後の画面。 ① チェックボックス 削除したい項目のチェック ボックスにチェックする。 チェック後に、下の削除ボタ ンをクリック。
6 5.2 削除確認画面1(izakaya_del_kekka.php) 5.3 削除確認画面 2(izakaya_del_kekka2.php) 6 コメント削除機能 6.1 削除対象居酒屋選択画面 (izakaya_del_com.php) チェックされた項目を本当 に削除するか、確認する。 ① 削除項目 チェックされた項目のデー タが表示される。この表示さ れた項目を削除しても良い のであれは、下の削除ボタン をクリック。 コメントの削除メニュー選 択後の画面。 ① 居酒屋名表示 コメントを削除したい、居酒 屋の項目を選択する。 正常に削除されたか、結果表 示をする。
7 6.2 コメント削除画面 (izakaya_com2_del_kekka.php) 6.3 コメント削除確認画面1 (izakaya_com_del_kekka.php) 6.4 コメント削除確認画面 2 (izakaya_com_del_kekka2.php) コメントを削除したい居酒 屋を選択した後の画面。 ① コメント一覧 居酒屋に登録されているコ メントの一覧が表示される。 削除したい項目にチェック を入れ、削除ボタンをクリッ クする。 チェックされた項目を本当 に削除するか、確認する。 ① 削除項目の表示 チェックされた項目のデー タが表示される。この表示さ れた項目を削除しても良い のであれは、下の削除ボタン をクリック。 コメントが正常に削除され たかどうかを表示。
8 7 パスワード変更機能 7.1 パスワード変更画面 (izakaya_user.php) 7.2 パスワード変更結果表示 (izakaya_pass.php) パスワード変更メニューを 選択後の画面。 ① パスワード変更フォーム パスワードが正常に変更さ れたか確認を表示する画面。 正常に登録されないときは、 エラーが表示される。
9
一般ユ−ザの機能
8 検索機能 8.1 トップページ (izakaya.php) 8.2 検索結果表示 (izakaya_kekka.php) 8.3 詳細表示 (izakaya_syousai.php) トップページ ① 検索フォーム 検索したい項目を入力して、 検索ボタンをクリック。 検索結果を表示する ① 検索結果 検索フォームで入力された 項目に対する検索結果が表 示される。 居酒屋の詳細なデータの表 示。 ① 詳細画面 居酒屋の詳細なデータが表 示されている。 ② コメント表示画面 コメントが記述されている 場合、そのコメントを表示す る。10 8.4 コメント記入画面 (izakaya_com_kakikomi.php) 8.5 コメント記入確認画面 (izakaya_com_kakikomi_kekka.php) 注意書き ・特になし 詳細画面から”コメントを書 く”を選択した画面。 ① コメント記入フォーム コメントを記入するフォー ム。コメントを記入し終えた ら、”書き込む”ボタンをクリ ックする。 コメントが正常に登録され たかどうかの確認を表示す る。
11
3.内部設計書
開発環境 ・ PHP 1.3.59 ・ MySQL ・ Apache 1.3.33 システム全体のアーキティクチャ システムの大まかな流れ ① ユーザがサーバに操作の要求をする ② Web サーバは要求のプログラムを選択し、DB にクエリを送信する ③ DB は受け取ったクエリから、その結果をサーバに返す ④ Web サーバは受け取った結果を、表示する システム構成図12 データベースの構成 データベース名:izakaya テーブルizakaya_db フィールド名 タイプ サイズ 内容 izakaya_id int 8 居酒屋のID izakaya_name varchar 80 居酒屋の店舗名 izakaya_chiiki varchar 8 居酒屋の存在する地域名 izakaya_janru varchar 5 居酒屋のジャンル izakaya_addr varchar 80 居酒屋の住所 izakaya_tell varchar 15 居酒屋の電話番号 izakaya_man int 4 居酒屋の最大予約人数 izakaya_money int 5 飲み放題の料金 izakaya_stime varchar 10 居酒屋の開店時間 izakaya_etime varchar 10 居酒屋の閉店時間 izakaya_yday varchar 20 居酒屋の定休日
izakaya_add varchar 200 居酒屋のホームーページへのURL izakaya_map text 居酒屋の所在地周辺の地図へのURL
テーブル com_db フィールド名 タイプ サイズ 内容 com_id int 8 コメントのID izakaya_id int 8 居酒屋のID com_name varchar 15 コメント記入者の名前 com_hyouka int 1 居酒屋の評価 com_com varchar 100 コメントの内容 com_day datetime コメントの記入された時間 テーブル user_db フィールド名 タイプ サイズ 内容 user_name varchar 10 ユーザID user_pass varchar 20 パスワード
13 ディレクトリとファイル構成
ディレクトリの属性は777 ファイルの属性はすべて644 である
14 ユーザ定義関数とその機能、入出力 関数名 引数 戻り値 機能 connect() なし なし DB に接続するための関数 smenu() なし なし サイドメニューを表示する関数 table() $count, $j なし Html の表組みの色分けをする関数 ランキングなどでループ回数を表示する場合 に用いる Table2() $count なし Html の表組みの色分けをする関数 ループ回数を表示させる必要が無い場合に用 いる logout() なし なし ログアウトするための関数 PrintPage() なし なし ログインの結果を表示するための関数 関数の概念図 プログラムの全ソースのコピー 別紙のプログラムソースを参照 システム試験の実施と報告 ① ログイン 外部設計書3 ページ ID テスト内容 タイプ 結果 判定 101 ログインフォームの ID 入力欄とパ スワード入力欄を空白のままログイ ンボタンをクリックした 異常系 エラーメッセージが表 示される ○ 102 ログインフォームの ID 入力欄に正 しいID(bucchi)パスワード入力欄 正常系 エラーメッセージが表 示される ○ connect () メイン関数 table2 () PrintPage () smenu () logout () table ()
15 に不正なパスワード(buchi)を入力 した 103 ログインフォームの ID 入力欄に不 正な ID(buchi)パスワード入力欄 に正しいパスワード(taxi)を入力 した 正常系 エラーメッセージが表 示される ○ 104 ログインフォームの ID 入力欄に正 しいID(bucchi)パスワード入力欄 に正しいパスワード(taxi)を入力 した 正常系 ログインが成功し、左に 管理人メニューが表示 される ○ ② 登録 外部設計書4 ページ ID テスト内容 タイプ 結果 判定 201 登録画面の入力フォームに何も入力 せず登録ボタンをクリックした 異常系 エラーメッセージが表 示される ○ 202 登録画面の入力フォームに居酒屋名 を入力せず、ジャンル“和”を選択 し登録ボタンをクリックした 正常系 エラーメッセージが表 示される ○ 203 登録画面の入力フォームに居酒屋名 (鬼屋敷)を入力しジャンル“和” を選択し登録ボタンをクリックした 正常系 正常に登録される ○ ③ 修正 外部設計書4 ページ ID テスト内容 タイプ 結果 判定 301 修正項目選択画面でラジオボタンに チェックを入れず、修正ボタンを押 した 異常系 エラーが表示される ○ 302 修正項目選択画面でラジオボタンに チェックを入れて、修正ボタンをク リックした 正常系 修正画面が表示される ○ 303 修正画面の入力フォームに何も入力 せず登録ボタンをクリックした 異常系 エラーメッセージが表 示される ○ 304 修正画面の入力フォームに居酒屋名 正常系 エラーメッセージが表 ○
16 を入力せず、ジャンル“中”を選択 し登録ボタンをクリックした 示される 305 修正画面の入力フォームに居酒屋名 (鬼屋敷2)を入力しジャンル“そ の他”を選択し登録ボタンをクリッ クした 正常系 正常に修正される ○ ④ 削除 外部設計書5 ページ ID テスト内容 タイプ 結果 判定 401 削除項目選択画面でチェックにチェ ックを入れず、削除ボタンを押した 異常系 エラーが表示される ○ 402 削除項目選択画面でラジオボタンに チェックを入れて、修正ボタンをク リックした 正常系 削除確認画面が表示さ れる ○ ⑤ コメント削除機能 外部設計書7 ページ ID テスト内容 タイプ 結果 判定 501 削除項目選択画面でチェックにチェ ックを入れず、削除ボタンを押した 異常系 エラーが表示される ○ 502 削除項目選択画面でラジオボタンに チェックを入れて、修正ボタンをク リックした 正常系 削除確認画面が表示さ れる ○ ⑥ パスワード変更 外部設計書8 ページ ID テスト内容 タイプ 結果 判定 601 パスワード修正フォームに何も入力 せず、修正ボタンをクリックした 異常系 エラーが表示される ○ 602 ID 入力画面で正しい ID(bucchi)、 パスワード入力フォームで不正なパ スワード(buchi)を入力し、新しい パスワード入力画面で(bucchi)を 入力し、修正ボタンをクリックした 正常系 エラーが表示される ○ 603 ID 入力画面で正しい ID(bucchi)、 パスワード入力フォームで不正なパ スワード(taxi)を入力し、新しい パスワード入力画面で(bucchi)を 入力、再確認画面で(buchi)を入力 正常系 エラーが表示される ○
17 し、修正ボタンをクリックした 604 ID 入力画面で正しい ID(bucchi)、 パスワード入力フォームで不正なパ スワード(taxi)を入力し、新しい パスワード入力画面で(bucchi)を 入力、再確認画面で(bucchi)を入 力し、修正ボタンをクリックした 正常系 パスワードが変更され る ○ ⑦ 検索 外部設計書9 ページ ID テスト内容 タイプ 結果 判定 701 検索フォームに何も入力せず検索ボ タンをクリック 異常系 エラーが表示される ○ 702 居酒屋名を入力するフォームで、登 録されていないキーワードを入力 (店舗)入力し、検索ボタンをクリ ック 正常系 そのキーワードでは検 索されませんでしたと、 表示された ○ 703 居酒屋名を入力するフォームで、登 録されているキーワード(bucchi) を入力した 正常系 キーワード bucchi にヒ ットした居酒屋が表示 される ○ ⑧ コメント記入 外部設計書10 ページ ID テスト内容 タイプ 結果 判定 801 名前記入フォームで空欄登録ボタン をクリックした 異常系 エラーが表示される ○ 802 コメント記入フォームを空欄のまま 登録ボタンをクリックした 異常系 エラーが表示される ○ 803 コメント記入フォームに(とてもよ かった)を記入し、登録ボタンをク リックした 正常系 コメントが登録される 名前は“名無しのごんべ い”で登録される。 ○