Kihara Shota

講義制作

図書館管理システム

Java SwingによるGUIを用いた模擬的な図書館管理システム。貸出・返却や基本的なCRUD操作を実装した。

デモ動画(基本操作)

書籍名検索、会員名検索、ジャンル検索のほか、貸出・返却の操作ができる。

貸出を行うとLoan表に貸出記録が残り、返却を行うと対応するLoan表の行に返却日時が記録される。

デモ動画(バリデーション)

空欄のまま登録しようとする、貸出中の本を削除しようとする、貸出可能な冊数が残っていない本を貸し出そうとする、などの操作に対してはエラーダイアログを表示する。


使用技術

Java

工夫した点

貸出は書籍と会員の多対多の関係になるため、会員に貸出情報を持たせず、中間表として貸出表を独立させた。貸出中の冊数も貸出表から求め、書籍には持たせていない。
ジャンルを独立した表として切り出し、ジャンルの変更が1か所で済み、入力時の表記揺れも防げるようにした。

IDは内部では整数で管理し、表示時にジャンルの接頭辞などを付けて整形することで、何のIDか分かりやすくした。

貸出ダイアログに書籍と会員の検索用のタブを設け、ダブルクリックで入力できるようにして、手入力の手間と誤りを減らした。

データをTSVファイルとして保存し、実行のたびにリセットされないようにした。

入力のバリデーションや、貸出中または貸出記録のある書籍・会員の削除制限を設け、不正なデータが登録されないようにした。

学んだこと

Javaの基本的な文法を学習した。
Java Swingを用いて、タブや表、ダイアログなどを組み合わせたGUIの作り方を学習した。

ボタンの押下や行の選択といったユーザーの操作に応じて処理を行う、イベント処理の書き方を理解した。

問題点・課題

データはウィンドウを閉じるときにしか保存されないため、異常終了すると変更が失われる。
一度でも貸し出した書籍や会員は削除できない。

返却期限を設けていないため、延滞の管理ができない。

JUnitによるテストを用意していない。


← Worksに戻る