卒論発表

Web上で管理・利用できる
面接予約データベースシステムの構築
•
•
•
•
はじめに・・・
操作説明
予備知識
処理内容説明
文理学部応用数学科谷研究室
5496009
鍛治 洋平
はじめに・・・
データベースとは・・・
データをある一定の基準にしたがって保存し、
検索や更新を簡単にしたものをデータベースといいます。
そして、キーとなるデータを利用し関連付けしたデータベースを
リレーショナルデータベースといいます。
これらのデータベースを作成・操作するソフトウェアを
データベースマネージメントシステム(DBMS)と言います。
面接予約システム
卒業研究の内容
面接の予約をWeb上で容易にできるようにする
データベースを用いたシステムの構築
予約システムに必要な操作
先生1、予約できる学生の登録・確認・削除
先生2、予約可能日時の登録・変更
先生3、予約状況の確認
学生4、学生の予約・確認・取り消し
今回使用した環境
OS:FreeBSD
DBMS:PostgreSQL
Webサーバー:Apache
HTML組み込み言語:PHP
セキュアシェル:SSH
クライアント
TTSSH
(管理者)
ブラウザ
サーバー(FreeBSD)
操作
SSH
SSHを通して操作
SQL作成
データ
ベース
PHP
Apacheで
(利用者) アクセス制限 HTTP等
Apache
操作の説明
先生と学生では行う操作が異なるので
それぞれ違うページで操作する。
追加する学生の名前を入力
削除する学生の名前と
先生の操作
クリック
学生の学籍番号を入力
続けて別の人を
クリック
鍛治 洋平
学籍番号を入力
パスワードを入力
学生の登録・確認・削除
5496009
追加するならクリック
IDを入力
5496009
クリック
****
5496009 パスワードを入力
すると、ここがクリアされる
******
クリック
先生の操作
行える操作
1、学生の登録・確認・削除
2、予約可能日時の登録・変更
3.予約状況の確認
追加されている
Apacheで制限をかけており、
削除されている
研究室・自宅以外からはアクセス不可
先生の操作
日程の登録・確認・削除
追加する日付を選択
予約可能な時間をチェック
予約可能時間をチェック
クリック
クリック クリック クリック
チェックした時間が
予約可能に
変更したとこが
予約不可になっていて
予約可になっている
クリック
時間をチェックして
学生の操作
面接の予約・確認・取消
学籍番号を入力
5496009
クリック
表に戻ると
○の中から予約したい
予約を取り消す時は
予約している時間は
クリックすると表に戻る
パスワードを入力
予約可能
○に戻る
時間を選び、クリック
赤丸で表示される
赤丸をクリック
******
クリック
学生の操作
行える操作
1、面接の予約
予約不可の時間
2、予約時間の確認
3、予約の取り消し
予備知識
処理内容を説明する前に、
今回用いたテーブル・変数などを紹介する。
SQLの行える事
1、選択(Select)
2、追加(Insert)
3、更新(Update)
4、削除(Delete)
用いたテーブル
名簿
予約表
用いた変数
1、先生の操作で用いる変数
$ID
:入室時のID
学生追加削除時の学生の学籍番号
$pass :入室時のパスワード
学生追加時のパスワード
$name :学生追加削除時の名前
$syori :処理する内容
$year・$month・$day :操作する年月日
$a~$y :各時間に対応するチェックボックスの値
用いた変数
2、学生の操作で用いる変数
$ID
$pass
$hiniti
$jikan
$syori
:入室時のID
:入室時のパスワード
:予約する年月日
:予約する時間
:処理する内容
処理内容説明
全ての処理を説明している時間はないので、
ここでは先生の予定の追加と学生の予約の説明のみを行う
5496009
$ID
$year
処理内容説明
$year : :2001
:
******
$Pass:
$month:2
$month:
日程の追加(先生)
$day
:7
メニューに
:
$day
ここで選択した値が
$a~$d:0
送信
5496009
$a~$y:
$year/$month/
$e~$h:1
$syori :
******
クリック チェックすれば1
$dayに入る
$i~$y :0
しなければ0が
$syori :日程追加
左から$a~$yに入る
この予定で追加すると
ここに入力した値が
クリックすると
1、$IDと$Passに値が入ってるかを確認
このデータで
$ID/$Passに入り
$syoriに「日程追加」が入り
処理開始2、入ってる値とID/パスワードを照合
メニューに送られる
処理を行う
3、メニューを表示
メニューを開く前に・・・
予定の追加
・・
day
a
d
・
2001-2-7 処理中
0
e
・・
・
1
h
i
・・
・
0
1、まず入力した日付が正しいかどうかを確認
2、日付で予約の表を検索し、追加済みでない事を確認
3、予定をデータベースに追加
4、処理完了を表示
y
処理内容説明
$ID : 5496009
$Pass: ******
ID :5496009
名前:鍛治 洋平
Pass:******
面接の予約(学生)
5496009
クリックで変数を
予約表に送る
******
ここに入力した値が
$ID/$Passに入り
予約表に送られる
面接の予約
予約表を表示する前に
1、$IDと$Passに値が入っていることを確認
2、名簿から$IDのデータを取り出す。(IDの存在確認)
3、パスワードの照合
4、予約表の表示開始
$ID
:5496009
ID :5496009
$Pass
:******
名前:鍛治
洋平
$now
:2000-2-7
Pass:******
$a~$y:各時間の状態
処理内容説明
面接の予約(学生)
予約表の表示開始
1、$IDのデータから名前を取り出し、表示
2、テーブルの最初の二行表示
3、日付を$nowに挿入、その日のデータを取り出す
4、日付を表示、予定が無ければその行は「予約不可」表示
5、各時間の値に対応した表示をする
(1なら○・0なら空白・$IDなら赤丸・その他なら×)
6、14回繰り返してテーブルを閉じる
2月
7日
0
1
0
$ID :5496009
$Pass :******
クリックするとそのまま転送
$hiniti:2001-2-8
$jikan :e
$syori :予約
$ID :5496009
$Pass :******
$hiniti:2001-2-8
$jikan :e
$syori :予約
予約処理の実行
確認画面の表示
○をクリックすると次の変数が送信される。
1、もう一度指定日時が予約可能かを確認
$ID :5496009
2、予約処理を実行する
$Pass :******
1、その日以降の全ての時間を$IDが無いか確認する
3、予約完了を表示
$hiniti:2001-2-8 (○の日付)
2、$hiniti/$jikanの日時が予約可能か確認する
$jikan :e
(○の時間)
3、予約確認のメッセージ、フォームを表示する
$syori :予約
day
・・・
e
・・・
2001-2-8
・・・
1
5496009
・・・
処理内容説明
面接の予約(学生)
最後に・・・
カスタマイズ例
先生のメニュー
面接予約表
発展の可能性
1、技術的な事
・パスワードの暗号化
・
への対応
etc…
2、技術によらない事
・気がつかなかった処理の簡略化
・実際に使用した先生の意見・感想を
踏まえてのカスタマイズ
etc…
Fin