DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng DỰ ÁN MẪU - app quản lí thư viện của môn dự án trường cao đẳng fpt polytechnic có đầy đủ chức năng
Trang 1TÀI LIỆU DỰ ÁN
QUẢN LÝ THƯ VIỆN - LIBMANA
GIẢNGVIÊN : TRẦNTHỊHƯỜNG
HỌCVIÊN : NGUYỄNNGỌCTHIÊN
LỚP/KỲ : MD18302/FA23
SEPTEMBER 17, 2023PHUONG NAM LIBRARY
Trang 2
MỤC LỤC
2.3 Sơ đồ triển khai và yêu cầu hệ thống 4
Trang 34.1 Tạo giao diện 11
Trang 41 GIỚI THIỆU DỰ ÁN
1.1 GIỚITHIỆ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áchphục vụ cho các bạn đọc như “Kinh tế”, “Ngoại Ngữ”, “Công nghệ thông tin”, “Ẩmthực”, “Sức Khoẻ” … 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.2 YÊUCẦUCỦA PNLIBQUẢN LÝ
Quản lý các thể loại sách Quản lý sách
Quản lý thành viên
Quản lý phiếu mượn (mỗi phiếu chỉ cho mượn 01 quyển sách).
THỐNG KÊ
Thống kê 10 sách mượn nhiều nhất.
Thống kê doanh thu theo thời gian chọn (từ ngày -> đến ngày)
Trang 51 Phân tích yêu cầu khách hàng 13/09/2023 19/09/2023 Đang làm1.1 Vẽ sơ đồ use cases 13/09/2023 16/09/2023 Hoàn thành
4 Kiểm thử
4.1 Xây dựng kịch bảng kiểm thử…
5 Đóng gói & triển khai5.1 Đóng gói sản phẩm
…
Trang 62 PHÂN TÍCH YÊU CẦU KHÁCH HÀNG
2 Dữ liệu liên quan:
Thông tin của mỗi thành viên gồm: mã loại sách, họ tên thành viên, năm sinhthành viên.
3 Đố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.2.2 QUẢNLÝ LOẠI SÁCH
1 MÔTẢCHỨCNĂNG:
Trang 7Chức năng "Loại sách" trong phần mềm giúp thư viện quản lý thông tin về các loạisách một cách dễ dàng và hiệu quả Nó giúp tổ chức, cập nhật và tìm kiếm thôngtin về các loại sách trong thư viện một cách thuận tiện và nhanh chóng.
2 DỮLIỆULIÊNQUAN:
Dữ liệu liên quan đến chức năng loại sách gồm: mã loại sách, tên loại sách, mô tả,số lượng sách.
Dữ liệu liên quan đến quản lý sách gồm: mã sách, tên sách, tác giả, năm xuất bản,mô tả, thể loại, ngôn ngữ, số lượng sách.
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.2.4 QUẢNLÝ PHIẾU MƯỢN
Chức năng "Quản lý phiếu mượn" trong phần mềm PNLib giúp thư viện quản lýthông tin về các phiếu mượn sách một cách dễ dàng và hiệu quả Nó giúp tổ chức,cập nhật và tìm kiếm thông tin về các phiếu mượn sách trong thư viện một cáchthuận tiện và nhanh chóng.
Dữ liệu liên quan chức năng phiếu mượn gồm: số phiếu mượn, tên người mượn,danh sách sách mượn, ngày mượn, ngày hết hạn, ngày trả sách.
Trang 8giúp điều chỉnh quy trình và cung cấp sự đánh giá về sự phục vụ và sử dụng dịchvụ của thư viện.
Dữ liệu liên quan đến chức năng thống kê gồm: dữ liệu sách, dữ liệu phiếu mượn,dữ liệu đọc giả, dữ liệu thời gian, dữ liệu tác giả, dữ liệu tình trạng sách.
Dữ liệu liên quan đến chức năng đăng nhập gồm: dữ liệu người dùng, dữ liệu xác thực, dữ liệu quyền truy cập, dữ liệu đăng nhập và hoạt động.
Tùy thuộc vào vai trò và quyền truy cập, đối tượng sử dụng chức năng đăng nhậptrong PNLib có thể khác nhau và sẽ có quyền truy cập vào các tính năng và chứcnăng tương ứng.
2.2.7 ĐỔIMẬTKHẨU
Tóm lại, chức năng đổi mật khẩu trong phần mềm cho phép người dùng thay đổimật khẩu hiện tại của họ để tăng cường bảo mật tài khoản và đảm bảo tính riêng tưvà an toàn của thông tin cá nhân.
Dữ liệu liên quan đến chức chức năng đổi mật khẩu gồm: dữ liệu người dùng, dữ liệu mật khẩu, dữ liệu cơ sở dữ liệu.
Sau khi đăng nhập thì tất cả người dùng có thể sử dụng chức năng này.
Trang 92.3 SƠĐỒTRIỂNKHAIVÀYÊUCẦUHỆTHỐNG
2.3.1 SƠĐỒTRIỂNKHAI
2.3.2 YÊUCẦUHỆTHỐNG
Máy cần hệ điều hành window 10 trở lênMáy cài đặt phần mềm android studio.Có hệ quản trị CSDL: SQLite
Máy cần JDK: 1.8+
Ứng dụng sẽ cài đặt trên điện thoại chạy hệ điều hành Android
3 THIẾT KẾ ỨNG DỤNG
3.1 MÔHÌNHCÔNGNGHỆỨNGDỤNG
Trang 10 GUI - Graphic User Interface: Thiết kế giao diện cho người sử dụng.
Business Logic Programming: Lập trình cho các chức năng nghiệp vụ trong ứng dụng.
Database: Thiết kế CSDL cho ứng dụng.
Controllers: Xử lí nghiệp vụ (Business Logic).
Enitity, DAO: thực thể và Data Access Object.
Trang 113.2.2 CHITIẾTTHỰCTHỂ
3.2.2.1Thực thể Thủ Thư
Tên cột Kiểu Ràng buộc Ghi chú MaTTNCHAR(5) PK,NOT NULLMã thủ thư(người dùng)
hoTen NVARCHAR(50) Họ tên người dùng
3.2.2.2Thực thể Phiếu Mượn
Trang 12Tên cột Kiểu Ràng buộc Ghi chú MaPhieuMuon NCHAR(5) PK, NOT NULL Mã Phiếu Mượn MaSach NCHAR(5) FK, NOT NULL Mã Sách
MaThuThuNCHAR(5) FK, NOT NULL Mã Thủ Thư(người dùng) NgayMuonDATE NOT NULL Ngày Mượn
NgayTra DATE NOT NULL Ngày Trả Sách TienThueINT NOT NULL Tiền ThuếMaTVNCHAR(5) FKMã Thành Viên
3.2.2.3Thực thể Thành viên
Tên cột Kiểu Ràng buộc Ghi chú MaTV NVARCHAR(50) PK Tên đăng nhập Năm sinhNCHAR(10) NOT NULL Số điện thoại
hoTen NVARCHAR(50) Họ tên người dùng
3.2.2.4Thực thể Loại Sách
Tên cột Kiểu Ràng buộc Ghi chú MaLoai CHAR(5) PK, NOT NULL Mã thể thoại TenLoai NVARCHAR(50) NOT NULL Tên thể loại
3.2.2.5Thực thể Sách
Tên cột Kiểu Ràng buộc Ghi chú MaSach NCHAR(5) PK, NOT NULL Mã Sách
Trang 13MaTheLoai NCHAR(50) FK, NOT NULL Mã thể loại mà sách thuộcTacGia NVARCHAR(50) Tác giá sách GiaThue FLOAT NOT NULL Giá cho thuê sách
Có thể chia các màn hình giao diện thành 3 nhóm:
Tổ chức: Chính, chào, đăng nhập, đổi mật khẩu.
Quản lý: Thành viên, loại sách, sách, phiếu mượn, thêm thủ thư
Thống kê: top 10, doanh thu.
3.3.2 GIAODIỆN MÀN HÌNH CHÍNH
GIAODIỆN:
Trang 141 navigationView Vuốt từ trái/Click Menu icon
Show Navigation Drawer2 mQLPhieuMuon Click Chuyển Fragment_PhieuMuon3 mQLLoaiSach Click Chuyển Fragment_LoaiSach4 mQLSach Click Chuyển Fragment_Sach
5 mQLThanhVien Click Chuyển Fragment_ThanhVien
6 mTop10 Click Chuyển Fragment_Top10
7 mDanhThu Click Chuyển Fragment_DanhThu
Trang 158 mDoiMatKhau Click Chuyển Fragment_DoiMatKhau
9 mDangXuat Click Chuyển từ MainActivity đến trang Login
3.3.3 GIAODIỆNQUẢNLÝ
3.3.3.1Màn hình quản lý Thành Viên
1 lv_Thanhvien Hiển Thị danh sách thành viên
3 txt_tenTV Hiển thị tên thành viên
5 img_deleteTV Click Xóa thành viên
6 img_addTV Click Thêm thành viên
3.3.3.2Màn hình quản lý Loại Sách
GIAODIỆN:
Trang 161 lv_LoaiSach Hiển Thị danh sách Loại sách
2 txt_maLoaiSach Hiển Thị mã Loại Sách
3 txt_tenLoaiSach Hiển Thị tên Loại Sách
4 Img_addLoaiSach Click Thêm Loại Sách
5 Img_deleteLoaiSach
Click Xóa Loại Sách
Trang 173.3.3.3Màn hình quản lý Sách
1 lv_Sach Hiển Thị danh sách Sách
2 txt_maSach Hiển Thị mã Sách
3 txt_tenSach Hiển Thị tên Sách
4 Txt_GiaThueSach
Hiển thị giá thuê Sách
Trang 185 Txt_LoaiSach Hiển thị loại Sách
6 Img_addSach Click Thêm Sách
7 Img_deleteSach
Hiển Thị mã Phiếu Mượn
Trang 193 txt_tenThanhVien
Hiển Thị tên ThanhVien
4 Txt_TraSach Hiển thị trạng thái Trả Sách
5 Txt_Ngay Hiển thị ngày mượn sách
6 Txt_Sach Hiển Thị tên Sách
7 Txt_TienThue Hiển thị tiền thuê Sách
8 Img_addPhieuMuon
Click Thêm Phiếu mượn
9 Img_deletePhieuMuon
Click Xóa Phiếu mượn
3.3.3.5Màn hình thống kê
GIAODIỆN:
Trang 201 Btn_tuNgay Click Chọn ngày bắt đầu thống kê
2 Btn_denNgay Click Chọn ngày kết thúc thống kê
3 Btn_danhThu Click Tính danh thu ngày bắt đầu đến ngày kết thúc thống kê
4 Txt_tuNgay Hiển thị ngày bắt đầu thống kê
5 Txt_denNgay Hiển thị ngày kết thúc thống kê
6 Txt_danhThu Hiển thị danh thu từ ngày bắt đầu đến ngày kết thúc thống kê
Trang 213.3.4 CÁCGIAODIỆNHỖTRỢKHÁC
3.3.4.1Màn hình chào
1 Tv_Logo Hiển thị logo
3.3.4.2Màn hình đăng nhập
GIAODIỆN
Trang 221edUserNameNhập vào tên tài khoản
2edPasswordNhập vào mật khẩu
Chọn để lưu tài khoản và mật khẩu
4btnLoginClickĐăng nhập vào MainActivity nếu như tài khoản và mật khẩu hợp lệ
5btnHuyClickXóa trống tài khoản và mật khẩu
Trang 233.3.4.3Màn hình thêm người Dùng (chỉ dành cho admin)
1 edUserNameAdminNhập vào tên tài khoản
2 edHoTenNhập vào họ tên
3 edPasswordAdminNhập vào mật khẩu
4 edRememberPassNhập lại mật khẩu
5 btnLuuClickLưu tài khoản
Trang 24btnHuyClickXóa trống
3.3.4.4Màn hình đổi mật khẩu
1 edPassOldNhập vào mật khẩu cũ
2 edPasswordNew
Nhập vào mật khẩu mới
3 edRememberPassNew
Nhập lại mật khẩu
Trang 25LAYOUT_HEIGHT="MATCH_PARENT"
Trang 26HEADERLAYOUT="@LAYOUT/NAV_HEADER"
Trang 274.1.2.2Màn hình quản lý Loại sách (fragment_loai_sach)
…
Trang 294.1.2.4Màn hình quản lý Thành viên (fragment_thanh_vien)
…
Trang 304.1.3 MÀNHÌNHTHỐNGKÊTOP 10 (FRAGMENT_TOP)
…
Trang 314.1.4 MÀNHÌNHTHỐNGKÊDOANHTHU (FRAGMENT_DOANH_THU)
…
Trang 36MatKhau TEXT NOT NULL Mật khẩu
//Tao bang Thu Thu
String createTableThuThu=
"create table ThuThu (" +
"maTT TEXT PRIMARY KEY, " +
Trang 37"hoTen TEXT NOT NULL, " + "matKhau TEXT NOT NULL)";db.execSQL(createTableThuThu);
CÂULỆNH SQL CƠBẢN
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
db.execSQL(“SELECT * FROM ThuThu”);
4.2.2.2Bảng ThanhVien
CÂULỆNH SQL CƠBẢN
Trang 384.2.2.3Bảng LoaiSach
// Tao bang loai sach
String createTableLoaiSach = "create table LoaiSach("+ "maloai integer primary key autoincrement,"+ "tenloai text not null)";
// Tạo bảng Sach
String createTableSach = "create table Sach("+
"masach integer primary key autoincrement,"+"" + "tensach text not null," +
"giathue integer not null,"+
"maloai integer references LoaiSach(maLoai))";
sqLiteDatabase.execSQL(createTableSach);
Trang 39CÂULỆNH SQL CƠBẢN
4.2.2.5Bảng PhieuMuon
//Tao bang phieu muon
String createTablePhieuMuon = "create table PhieuMuon("+ "mapm integer primary key autoincrement,"+"" + "matt text references ThuThu(maTT)," +
"matv integer references ThanhVien(maTV)," + "masach integer references Sach(maSach)," + "tienthue integer not null," +
"trasach text not null," + "ngay text not null)";
CÂULỆNH SQL CƠBẢN
4.3 LẬPTRÌNH CSDL (SQLITEOPENHELPER+MODEL+DAO)
4.3.1 SQLITEOPENHELPERMÔTẢ:
Trang 40SQLiteOpenHelper là lớp tiện ích hỗ trợ lập trình Android với SQLite Khi kế thừ Lớpnày cần ghi đè 2 phương thức được mô tả trong phần hướng dẫn sử dụng sau đây.
Trang 414.3.2 MODEL CLASSVÀ DAO
4.3.2.1ThuThu và ThuThuDAO
ThuThu Là lớp thực thể mô tả dữ liệu thủ thư
ThuThuDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảngThuThu
Trang 424.3.2.2ThanhVien & ThanhVienDAO
LoaiSachLà lớp thực thể mô tả dữ liệu thủ thư
LoaiSachLà lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng
Trang 434.3.2.4Sach & SachDAO
SachLà lớp thực thể mô tả dữ liệu thủ thư
SachDAOLà lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảngSach
Trang 444.3.2.5PhieuMuon & PhieuMuonDAO
Điều hướng Navigation2 setSupportActionBar() Sử dụng toolbar
…
Trang 454.4.1 CÁCGIAODIỆNHỖTRỢ
4.4.1.1Màn hình chào (SplashScreenActivity)
1 checklogin Kiểm tra user và pass trong database2 SharePreferenc
Lưu thay đổi dữ liệu vào database
4.4.1.3Màn hình đổi mật khẩu (ChangePassFragment)
1 CapNhatMatKhau()
Đọc user, pass trong SharePreferences, kiểm tra thông tin đăng nhậpcủa người dùng có giống với thông tin của người đăng nhập hiện tạihay không
Kiểm tra mật khẩu mới và xác nhận có giống nhau hay không
4.4.1.4Màn hình thêm người dùng (AddUserFragment)
1 addThuThu Thêm thủ thư2 deleteThuThu Xóa thủ thư
▪
Trang 474.4.3 MÀN HÌNH THỐNG KÊ4.4.3.1TopFragment
TT PHƯƠNGTHỨC
Yêu cầu nhập ok2 Đăng nhập sai tên Teo, admin Sai tên đăng nhập not3 Đăng nhập sai mật khẩu admin, 123 Sai mật khẩu 95
%4 Đăng nhập đúng admin, admin Longin thành công ok
5.2 ADDUSERFRAGMENTT
Yêu cầu nhập Ok
2 Đăng ký trùng mã thủ thư đã có thuthu01,thuthu01 Thêm thất bại Ok
5.3 …TH
1 Nhập mật khẩu không chính xác Cập nhật mật khẩu ok
Trang 48thất bại
2 Mật khẩu và mật khẩu mới khôngtrùng
Cập nhật mật khẩuthất bại
6.2 HƯỚNGDẪNCÀIĐẶT
✔ Bước 1:✔ Bước 2:✔ Bước 3:✔ …