デモ動画(基本操作)
書籍名検索、会員名検索、ジャンル検索のほか、貸出・返却の操作ができる。
貸出を行うとLoan表に貸出記録が残り、返却を行うと対応するLoan表の行に返却日時が記録される。
デモ動画(バリデーション)
空欄のまま登録しようとする、貸出中の本を削除しようとする、貸出可能な冊数が残っていない本を貸し出そうとする、などの操作に対してはエラーダイアログを表示する。
使用技術
工夫した点
貸出は書籍と会員の多対多の関係になるため、会員に貸出情報を持たせず、中間表として貸出表を独立させた。貸出中の冊数も貸出表から求め、書籍には持たせていない。
ジャンルを独立した表として切り出し、ジャンルの変更が1か所で済み、入力時の表記揺れも防げるようにした。
IDは内部では整数で管理し、表示時にジャンルの接頭辞などを付けて整形することで、何のIDか分かりやすくした。
貸出ダイアログに書籍と会員の検索用のタブを設け、ダブルクリックで入力できるようにして、手入力の手間と誤りを減らした。
データをTSVファイルとして保存し、実行のたびにリセットされないようにした。
入力のバリデーションや、貸出中または貸出記録のある書籍・会員の削除制限を設け、不正なデータが登録されないようにした。
学んだこと
Javaの基本的な文法を学習した。
Java Swingを用いて、タブや表、ダイアログなどを組み合わせたGUIの作り方を学習した。
ボタンの押下や行の選択といったユーザーの操作に応じて処理を行う、イベント処理の書き方を理解した。
問題点・課題
データはウィンドウを閉じるときにしか保存されないため、異常終了すると変更が失われる。
一度でも貸し出した書籍や会員は削除できない。
返却期限を設けていないため、延滞の管理ができない。
JUnitによるテストを用意していない。
← Worksに戻る