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