1.GIỚI THIỆU DỰ ÁN1.1 GIỚI THIỆU PNLIB - Thư viện Phương Nam PNLib là một thư viện nhỏ, chuyên cho thuê các loại sách phục vụ cho các bạn đọc như “Kinh tế”, “Ngoại Ngữ”, “Công nghệ thông
Trang 1DỰ ÁN MẪU QUẢN LÝ THƯ VIỆN – PNLIB
GIẢNG VIÊN: LÊ HỒNG DUY
SINH VIÊN: ĐỖ MINH HIỂU
LỚP: MD18305 - MOB2041
SEPTEMBER 20, 2023
PHƯƠNG NAM LIBRARY
Trang 21.GIỚI THIỆU DỰ ÁN
1.1 GIỚI THIỆU PNLIB
- Thư viện Phương Nam (PNLib) là một thư viện nhỏ, chuyên cho thuê các loại sách phục vụ cho các bạn đọc như “Kinh tế”, “Ngoại Ngữ”, “Công nghệ thông tin”, “Ẩm thực”, “Sức Khoẻ” …
1.2 YÊU CẦU CỦA PNLIB
- Việc quản lý các đầu sách, các phiếu mượn sách, thành viên hiện đang được thư viện quản lý trên
sổ sách bằng tay Việc này gây khó khăn cho thư viện, tốn thời gian ghi chép, và sai sót nhiều trong thống kê Vì vậy, PNLIB mong muốn xây dựng một phần mềm chạy trên thiết bị di động cá nhân để
hỗ trợ giải quyết các khó khăn trên
1.3 LẬP KẾ HOẠCH DỰ ÁN
Phân tích yêu cầu khách hàng
Vẽ sơ đồ use cases
Tạo giao diện
Tạo cơ sở dữ liệu với SQLITE
Trang 32.PHÂN TÍCH YÊU CẦU KHÁCH HÀNG
2.1 SƠ ĐỒ USE CASE
a.Sơ đồ use case tổng
Trang 4b.Sơ đồ use case dành cho nhân viên
c Sơ đồ dành cho quản lý
Save to a Studylist
Trang 5-Chức năng quản lý thành viên được sử dụng để quản lý thông tin thành viên, chức năng này là liệt
kê danh sách thành viên, xem thông tin chi tiết yêu cầu của mỗi thành viên, thêm thành viên mới, cập nhật thông tin hoặc xóa thành viên đã tồn tại
Dữ liệu liên quan
-Thông tin của mỗi thành viên gồm: mã thành viên, họ tên thành viên, năm sinh thành viên
Dữ liệu liên quan
-Thông tin của mỗi loại sách gồm: mã thể loại, tên thể loại
Dữ liệu liên quan
-Thông tin của mỗi loại sách gồm: mã sách, tên sách, mã loại sách, giá thuê
Đối tượng sử dụng
-Sau khi đăng nhập thì tất cả người dùng có thể sử dụng chức năng này
2.3.4 QUẢN LÝ PHIẾU MƯỢN
Mô tả chức năng:
Trang 6-Chức năng quản lý phiếu mượn được sử dụng để quản lý phiếu mượn, chức năng này là liệt kê danhsách phiếu mượn, thêm phiếu mượn, cập nhật thông tin hoặc xóa phiếu mượn đã tồn tại.
Dữ liệu liên quan
-Thông tin của mỗi phiếu mượn gồm: mã phiếu mượn, mã sách, mã thành viên, mã thủ thư, tiền thuê, ngày thuê, ngày trả
Trang 83.2.2 CHI TIẾT THỰC THỂ
3.2.2.1 Thực thể thủ thư
MATT String Mã thủ thư
HoTen String Họ và tên thủ thư
3.2.2.2 Thực thể phiếu mượn
Trang 9Thuộc tính Kiểu dữ liệu Mô tả
MAPM INTEGER Mã phiếu mượnMATV INTEGER Mã thành viênMASACH INTEGER Mã sáchMATT String Mã thủ thưTIENTHUE INTEGER Tiền thuê
TRASACH INTEGER Ngày trả
3.2.2.3 Thực thể thành viên
Trang 10Thuộc tính Kiểu dữ liệu Mô tả
MATV INTEGER Mã thành viênHOTEN String Họ và tên thành viênNAMSINH String Năm sinh thành viên
3.2.2.4 Thực thể loại sách
MALOAI INTEGER Mã loạiTENLOAI String Tên loại
3.2.2.5 Thực thể sách
MASACH INTEGER Mã sáchMALOAI INTEGER Mã loại
Trang 11TENSACH String Tên sáchGIATHUE INTEGER Giá bán
3.3 GIAO DIỆN
3.3.1 SƠ ĐỒ TỔ CHỨC GIAO DIỆN
3.3.1.1 CHỨC NĂNG TỔ CHỨC GIAO DIỆN CỦA THỦ THƯ
3.3.1.1 CHỨC NĂNG TỔ CHỨC GIAO DIỆN CỦA QUẢN LÝ
Trang 123.3.2 MÔ TẢ SƠ ĐỒ
3.3.2.1 CHỨC NĂNG ĐĂNG NHẬP
*Đăng nhập tài khoản nhân sự
Nội dung Nhân sự đăng nhập bằng mật khẩu và tên đăng nhập quản lý đã
cung cấp
Điều kiện Quản lý đã cung cấp mật khẩu
Input Tên đăng nhập, Mật khẩu
Output Truy cập vào hệ thống dành cho nhân viên.
*Đăng nhập tài khoản quản lý
Nội dung Quản lý đăng nhập vào hệ thống bằng tài khoản được nhóm phát
triển cung cấp
Điều kiện Quản lý đã được cấp tài khoản
Input Tên đăng nhập, Mật khẩu
Output Truy cập vào hệ thống dành cho quản lý
Trang 133.3.2.2 CHỨC NĂNG MÀN HÌNH CHÍNH
Nội dung Hiện thị các chức năng của Quản lý phiếu mượn
Điều kiện Quản lý và thủ thư đã được cấp tài khoản
3.3.2.4 CHỨC NĂNG ĐỔI MẬT KHẨU
*Chức năng đổi mật khẩu bên thủ thư và quản lý
Nội dung Hiển thị chức năng đổi mật khẩu
Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý và thủ thư, nhân sự
đã tồn tại trong bảng danh sách thủ thư
Input Thông tin:
+ Nhập mật khẩu cũ
+ Nhập mật khẩy mới
+ Nhập lại mật khẩu mới
Output Cập nhật mật khẩu của tài khoản quản lý và thủ thư
3.3.2.5 CHỨC NĂNG QUẢN LÝ LOẠI SÁCH
*Chức năng quản lý loại sách bên thủ thư và quản lý
Nội dung Hiển thị thông tin loại sách
Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý và thủ thư Input Mã thể loại, tên thể loại
Output Thông tin chi tiết về thể loại sách
3.3.2.6 CHỨC NĂNG QUẢN LÝ SÁCH
*Chức năng quản lý loại sách bên thủ thư và quản lý
Trang 14Nội dung Hiển thị thông tin sách
Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý và thủ thư Input Mã sách, tên sách, mã loại sách, giá bán, số trang.
Output Thông tin chi tiết về sách
3.3.2.7 CHỨC NĂNG QUẢN LÝ THÀNH VIÊN
*Chức năng quản lý loại sách bên thủ thư và quản lý
Nội dung Hiển thị thông tin thành viên
Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý và thủ thư Input Mã thành viên, họ tên thành viên, năm sinh thành
viên
Output Thông tin chi tiết về thành viên
3.3.2.8 CHỨC NĂNG QUẢN LÝ PHIẾU MƯỢN
*Chức năng quản lý loại sách bên thủ thư và quản lý
Nội dung Hiển thị thông tin phiếu mượn
Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý và thủ thư Input Mã phiếu mượn, tên phiếu mượn, họ tên thành viên,
mã sách, ngày mượn.
Output Thông tin chi tiết về thành viên
3.3.2.9 CHỨC NĂNG THỐNG KÊ
*Chức năng quản lý loại sách bên thủ thư và quản lý
Nội dung Hiển thị thông tin 10 sách được mượn nhiều nhất và doanh thu Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý và thủ thư
Trang 15Input Số phiếu mượn
Output Thông tin 10 sách được mượn nhiều nhất và doanh thu
3.3.2.10 CHỨC NĂNG TẠO TÀI KHOẢN
*Chức năng tạo tài khoản bên quản lý
Nội dung Có thể tạo tài khoản mới cho thủ thư
Điều kiện Đã đăng nhập vào hệ thống với quyền quản lý Input Thông tin tạo tài khoản:
Trang 164.1.2 CÁC MÀN HÌNH QUẢN LÝ 4.1.2.1 MÀN HÌNH QUẢN LÝ PHIẾU MƯỢN(fragment_phieu_muon)GIAO DIỆN
Trang 174.1.2.2 MÀN HÌNH QUẢN LÝ LOẠI SÁCH(fragment_loai_sach)GIAO DIỆN
Trang 184.1.2.3 MÀN HÌNH QUẢN LÝ SÁCH(fragment_sach)GIAO DIỆN
Trang 194.1.2.4 MÀN HÌNH QUẢN LÝ THÀNH VIÊN(fragment_thanh_vien)
GIAO DIỆN
Trang 204.1.3 MÀN HÌNH THỐNG KÊ TOP 10(fragment_top)GIAO DIỆN
Trang 214.1.4 MÀN HÌNH THỐNG KÊ DOANH THU(fragment_DOANH_THU)
GIAO DIỆN
Trang 224.1.5 CÁC GIAO DIỆN HỖ TRỢ KHÁC
4.1.5.1 MÀN HÌNH CHÀO(fragment_plash_screen)GIAO DIỆN
Trang 234.1.5.2 MÀN HÌNH ĐĂNG NHẬP(fragment_login)GIAO DIỆN
Trang 244.1.5.3 MÀN HÌNH THÊM THỦ THƯ(fragment_add_user)GIAO DIỆN
Trang 254.1.5.4 MÀN HÌNH ĐỔI MẬT KHẨU(fragment_change_pass)GIAO DIỆN
Trang 264.2 TẠO CSDL VỚI SQLITE
Trang 27MaTT TEXT PK Mã thủ thưMatKha
u
TEXT NOT NULL Mật khẩu
HoTen TEXT NOT NULL Họ và tên
MÃ LỆNH TẠO BẢNG
CÂU LỆNH CƠ BẢN CỦA SQLITE
db.insert("ThuThu", null, values);
db.update("ThuThu", values, "maTT=?", new String[]{obj.maTT});
db.delete("ThuThu" "maTT=?", , new String[]{id});
db.execSQL(“SELECT FROM* ThuThu WHERE maTT=?", new String[]{obj.maTT});
db.execSQL(“SELECT FROM* ThuThu”);
4.2.2.2 Bảng ThanhVien
CẤU TRÚC BẢNG
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
maTV INTEGER PK Mã thành viênhoTen TEXT NOT NULL Họ và tênnamSin
h
TEXT NOT NULL Năm sinh
MÃ LỆNH TẠO BẢNG
Trang 28CÂU LỆNH CƠ BẢN CỦA SQLITE
db.insert("ThanhVien", null, values);
db.update("ThanhVien ", values, "maTV=?", new String[]{obj.maTV});
db.delete("ThanhVien ", "maTV=?", new String[]{id});
db.execSQL(“SELECT FROM* ThanhVien WHERE maTV=?", new String[]{obj.maTV});
db.execSQL(“SELECT FROM* ThanhVien”);
4.2.2.3 Bảng LoaiSach
CẤU TRÚC BẢNG
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
maLoai INTEGER PK Mã loại sáchtenLoai TEXT NOT NULL Tên loại sách
MÃ LỆNH TẠO BẢNG
CÂU LỆNH CƠ BẢN CỦA SQLITE
db.insert("LoaiSach", null, values);
db.update("LoaiSach ", values, "maLoai=?", new String[]{obj.maLoai});
db.delete("LoaiSach " " maLoai =?", , new String[]{id});
db.execSQL(“SELECT FROM* LoaiSach WHERE maLoai =?", new String[]{obj.maLoai});
db SELECT FROM* LoaiSach”
Trang 294.2.2.4 Bảng Sach
CẤU TRÚC BẢNG
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
maSach INTEGER PK Mã sáchtenSach TEXT NOT NULL Tên sáchgiaThue INTEGER NOT NULL Giá thuêmaLoai INTEGER FK Mã loại sách
MÃ LỆNH TẠO BẢNG
CÂU LỆNH CƠ BẢN CỦA SQLITE
db.insert("Sach", null, values);
db.update("Sach ", values, "maSach=?", new String[]{obj.maSach});
db.delete("Sach " " maSach =?", , new String[]{id});
db.execSQL(“SELECT FROM* Sach WHERE maSach =?", new String[]{obj.maSach});
db.execSQL(“SELECT FROM* Sach”);
4.2.2.5 Bảng PhieuMuon
CẤU TRÚC BẢNG
T ÊN CỘT K IỂU DỮ LIỆU R ÀNG BUỘC M Ô TẢ
maPM INTEGER PK Mã phiếu mượnmaSach INTEGER FK Mã sáchmaTV INTEGER FK Mã thành viên
Trang 30MaTT TEXT FK Mã thủ thưtienThu
e
INTEGER NOT NULL Tiền thuê
Ngay DATE NOT NULL Ngày mượntraSach INTEGER NOT NULL Ngày trả
MÃ LỆNH TẠO BẢNG
CÂU LỆNH CƠ BẢN CỦA SQLITE
db.insert("PhieuMuon", null, values);
db.update("PhieuMuon ", values, "maPM=?", new String[]{obj.maPM});
db.delete("PhieuMuon " " maPM =?", , new String[]{id});
db.execSQL(“SELECT FROM* PhieuMuon WHERE maPM =?", new String[]{obj.maPM});
db.execSQL(“SELECT FROM* PhieuMuon”);