Đang tải... (xem toàn văn)
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ẪUQUẢN LÝ THƯ VIỆN – PNLIB
GIẢNG VIÊN: LÊ HỒNG DUYSINH VIÊN: ĐỖ MINH HIỂULỚP: MD18305 - MOB2041
SEPTEMBER 20, 2023PHƯƠNG NAM LIBRARY
Trang 21.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 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Đặc tả yêu cầu hệ thống
Sơ đồ triển khai và yêu cầu hệ thống
Tạo giao diện
Tạo cơ sở dữ liệu với SQLITE
Trang 3Lập trình CSDLLập trình chức năng
Kiểm thử
Xây dựng kịch bản kiểm thử
Đóng gói & triển khai
Đóng gói sản phẩm
2.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ý
2.3 ĐẶC TẢ YÊU CẦU HỆ THỐNG2.3.1 QUẢN LÝ THÀNH VIÊN
Mô tả chức năng:
Too long to read onyour phone? Save
to read later onyour computer
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ínhKiểu dữ liệuMô tả
MAPM INTEGER Mã phiếu mượnMATV INTEGER Mã thành viênMASACH INTEGER Mã sách
MATT 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ínhKiểu dữ liệuMô 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 dungNhâ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ệnQuản lý đã cung cấp mật khẩuInputTên đăng nhập, Mật khẩu
OutputTruy 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 dungQuả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ệnQuản lý đã được cấp tài khoảnInputTên đăng nhập, Mật khẩu
OutputTruy 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 dungHiện thị các chức năng của Quản lý phiếu mượnĐiều kiệnQuả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 dungHiể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ư
InputThô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
OutputCậ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 dungHiể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ưInputMã thể loại, tên thể loại
OutputThô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 dungHiể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ưInputMã sách, tên sách, mã loại sách, giá bán, số trang.OutputThô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 dungHiể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ưInputMã thành viên, họ tên thành viên, năm sinh thành
OutputThô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 dungHiể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ưInputMã phiếu mượn, tên phiếu mượn, họ tên thành viên,
mã sách, ngày mượn.
OutputThô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 dungHiể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 15InputSố phiếu mượn
OutputThô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 dungCó 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ý InputThông tin tạo tài khoản:
+Họ và tên thủ thư+Tên tài khoản+Mật khẩu+Nhập lại mật khẩuOutputTài khoản mới cho thủ thư
4 THỰC HIỆN DỰ ÁN4.1 TẠO GIAO DIỆN
4.1.1 MÀN HÌNH CHÍNH (MAINACTIVITY)GIAO DIỆ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 SQLITE4.2.1 SƠ ĐỒ QUAN HỆ4.2.2 CHI TIẾT CÁC BẢNG4.2.2.1 Bảng ThuThu
CẤU TRÚC BẢNG
TÊNCỘTKIỂUDỮLIỆURÀNGBUỘCMÔTẢ
Trang 27MaTT TEXT PK Mã thủ thưMatKha
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 ThanhVienCẤU TRÚC BẢNG
maTV INTEGER PK Mã thành viênhoTen TEXT NOT NULL Họ và tênnamSin
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 LoaiSachCẤU TRÚC BẢNG
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 SachCẤU TRÚC BẢNG
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 PhieuMuonCẤU TRÚC BẢNG
maPM INTEGER PK Mã phiếu mượnmaSach INTEGER FK Mã sách
maTV INTEGER FK Mã thành viên
Trang 30MaTT TEXT FK Mã thủ thưtienThu
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”);