Professional Documents
Culture Documents
ps26023 LeNhatDuy Duanmau
ps26023 LeNhatDuy Duanmau
JANUARY 3, 2023
PHƯƠNG NAM LIBRARY
MỤC LỤC
1 Giới thiệu dự án 3
1.1 Giới thiệu PNLib 3
1.2 Yêu cầu của PNLib 3
1.3 Lập kế hoạch dự án 3
2 Phân tích yêu cầu khách hàng 3
2.1 Sơ đồ Use Case 3
2.2 Đặc tả yêu cầu hệ thống (SRS) 3
2.2.1 Quản lý THÀNH VIÊN 4
2.2.2 Quản lý LOẠI SÁCH 4
2.2.3 Quản lý SÁCH 4
2.2.4 Quản lý PHIẾU MƯỢN 4
2.2.5 thống kê 4
2.2.6 Đăng nhập 4
2.2.7 Đổi mật khẩu 4
2.3 Sơ đồ triển khai và yêu cầu hệ thống 4
2.3.1 Sơ đồ triển khai 4
2.3.2 Yêu cầu hệ thống 5
3 Thiết kế ứng dụng 5
3.1 Mô hình công nghệ ứng dụng 5
3.2 Thực thể 5
3.2.1 Sơ đồ quan hệ thực thể (ERD) 5
3.2.2 Chi tiết thực thể 6
3.3 Giao diện 7
3.3.1 Sơ đồ tổ chức giao diện 7
3.3.2 Giao diện MÀN HÌNH CHÍNH 7
3.3.3 Giao diện quản lý 8
3.3.4 Các giao diện hỗ trợ khác 10
4 Thực hiện dự án 11
4.1 Tạo giao diện 11
4.1.1 Màn hình chính (MainActivity) 11
4.1.2 Các màn hình quản lý 12
4.1.3 Màn hình thống kê top 10 (fragment_top) 13
4.1.4 Màn hình thống kê doanh thu (fragment_doanh_thu) 13
4.1.5 Các giao diện hỗ trợ khác 13
4.2 Tạo CSDL với SQLITE 14
4.2.1 Sơ đồ quan hệ 14
4.2.2 Chi tiết các bảng 15
4.3 Lập trình CSDL (SQLiteOpenHelper+Model+DAO) 16
4.3.1 SQLiteOpenHelper 16
4.3.2 Model Class và DAO 16
4.4 Lập trình chức năng 17
4.4.1 Màn hình chính (MainActivity) 17
4.4.2 Các giao diện hỗ trợ 18
4.4.3 Các màn hình quản lý 18
4.4.4 MÀN HÌNH THỐNG KÊ 18
5 Kiểm thử phần mềm và sửa lỗi 19
5.1 LoginActivity 19
5.2 AddUserFragment 19
5.3 … 19
6 Đóng gói và triển khai 19
6.1 Sản phẩm phần mềm 19
6.2 Hướng dẫn cài đặt 19
7 KẾT LUẬN 20
7.1 Khó khăn 20
7.2 Thuận lợi 20
1 GIỚI THIỆU DỰ ÁN
1.1 GIỚI THIỆU PNLIB
Công việc quản lí thư viện trở thành một chuỗi công việc rất vất vả và tốn
nhiều công sức. Vì vậy mà PNLib sẽ giúp cho việc quản lí thư viện trở nên đơn
giản.
Đặc biệt và có tính chính xác cao. PNLib với chức năng tạo tài khoản, đăng
nhập đăng xuất, quản lí loại sách và loại sách, quản lí phiếu mượn, quản lí thành
viên, quản lí thủ thư, thống kê 10 sách bán chạy nhất, doanh thu.
4 Kiểm thử
4.1 Xây dựng kịch bảng kiểm thử
2.2.5 THỐNG KÊ
Mô tả chức năng:
Chức năng này dùng để thống kê doanh thu và top 10 sách thịnh hành nhất.
Dữ liệu quan trong:
Đối tưởng sử dụng:
Sau khi đăng nhập mọi người có thể sử dụng chức năng này.
2.2.6 ĐĂNG NHẬP
Mô tả chức năng:
Chức năng này cho phải ai đã được admin cung cấp tài khoản có thể đăng nhập
và sử dụng từ chức năng cơ bản đến nâng cao.
Dữ liệu quan trọng: tài khoản , mật khẩu.
Đối tưởng sử dụng: Tất cả mọi người.
2.2.7 ĐỔI MẬT KHẨU
Mô tả chức năng:
Chức năng này cho phải ai đã được admin cung cấp tài khoản có thể đăng nhập
và đổi mật khẩu.
Dữ liệu quan trọng: tài khoản , mật khẩu.
Đối tưởng sử dụng: người sở hữu tài khoản của chính mình
2.3 SƠ ĐỒ TRIỂN KHAI VÀ YÊU CẦU HỆ THỐNG
2.3.1 SƠ ĐỒ TRIỂN KHAI
2.3.2 YÊU CẦU HỆ THỐNG
MÔ TẢ HOẠT ĐỘNG:
TT @ID SỰ KIỆN MÔ TẢ HOẠT ĐỘNG
1 BTNADD CLICK HIỆN DIALOG THÔNG TIN VÀ THÊM VÀO FRAGMENT SÁCH
2
MÔ TẢ HOẠT ĐỘNG:
TT @ID SỰ KIỆN MÔ TẢ HOẠT ĐỘNG
1 BTNTRA CLICK HIỆN DIALOG THÔNG TIN VÀ XOÁ KHỎI FRAGMENT
2
3.3.3.4Màn hình quản lý Phiếu Mượn
GIAO DIỆN:
MÔ TẢ HOẠT ĐỘNG:
TT @ID SỰ KIỆN MÔ TẢ HOẠT ĐỘNG
1 BTNADD CLICK HIỆN DIALOG THÔNG TIN VÀ THÊM VÀO LIST
2
MÔ TẢ HOẠT ĐỘNG
TT @ID SỰ KIỆN MÔ TẢ HOẠT ĐỘNG
1 TXTREGIS CLICK CHUYỂN VỀ MÀN HÌNH ĐĂNG KÍ
MÔ TẢ HOẠT ĐỘNG
TT @ID SỰ KIỆN MÔ TẢ HOẠT ĐỘNG
1 BTNSIGNUP CLICK TẠO TÀI KHOẢN VÀ VỀ LẠI MÀN HÌNH LOGIN
LINEARLAYOUT LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT=" WRAP_CONTENT ""
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
LINEARLAYOUT LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT=" WRAP_CONTENT ""
RECYCLERVIEW RECYCLERTOP10 LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT="MATCH_PARENT"
LINEARLAYOUT LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT=" WRAP_CONTENT ""
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
EDIT TEXT EDTEND LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT=" WRAP_CONTENT ""
TEXTVIEW TXTKETQUA
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
TEXTVIEW LAYOUT_WIDTH="WRAP_CONTENT"
LAYOUT_HEIGHT=" WRAP_CONTENT "
4.1.2.1 Màn hình Thêm thủ thư (fragment_add_user)
GIAO DIỆN
TEXTVIEW LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT="MATCH_PARENT"
TEXTVIEW LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT="MATCH_PARENT"
TEXTVIEW LAYOUT_WIDTH="MATCH_PARENT"
LAYOUT_HEIGHT="MATCH_PARENT"
//datamau
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//chay khi version thay đổi
if(oldVersion!= newVersion){
db.execSQL("DROP TABLE IF EXISTS THUTHU");
db.execSQL("DROP TABLE IF EXISTS THANHVIEN");
db.execSQL("DROP TABLE IF EXISTS LOAISACH");
db.execSQL("DROP TABLE IF EXISTS SACH");
db.execSQL("DROP TABLE IF EXISTS PHIEUMUON");
onCreate(db);
}
}
}
4.3.3 MODEL CLASS VÀ DAO
4.3.3.1 ThuThu và ThuThuDAO
DIỄN GIẢI
THÀNH MÔ TẢ
PHẦN
THÀNH PHẦN MÔ TẢ
ThanhVien Là lớp thực thể mô tả dữ liệu Thành viên
ThanhVien DAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với
bảng ThanhVien
4.3.3.3 LoaiSach & LoaiSachDAO
THÀNH PHẦN MÔ TẢ
LoaiSach Là lớp thực thể mô tả dữ liệu loại sách
LoaiSach DAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với
bảng LoaiSach
THÀNH MÔ TẢ
PHẦN
THÀNH PHẦN MÔ TẢ
PhieuMuon Là lớp thực thể mô tả dữ liệu phiếu mượn
PhieuMuon DAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với
bảng PhieuMuon
4.4.4.2 LoaiSachFragment
TT PHƯƠNG THỨC MÔ TẢ
1 loadData () cập nhật dữ liệu lên RecyclerView
2 .setOnClickListener Sử dụng Button Thêm
3 .setOnClickListener Sử dụng Button Sữa
4 .setAdapter Sử dụng Adapter
4.4.4.3 SachFragment
TT PHƯƠNG THỨC MÔ TẢ
1 loadData () cập nhật dữ liệu lên RecyclerView
2 .setOnClickListener Sử dụng Button Thêm
3 .setOnClickListener Sử dụng Button Sữa
4 .setAdapter Sử dụng Adapter
4.4.4.4 PhieuMuonFragment
TT PHƯƠNG THỨC MÔ TẢ
1 loadData () cập nhật dữ liệu lên RecyclerView
showDialog () Sử dụng dialog thêm Phiếu Mượn
.setNegativeButton Sử dụng Button Cập nhật
.setPositiveButton Sử dụng Button Hủy
.getDataThanhVien() Sử dung Spinner Thành Viên
.getDataSach() Sử dung Spinner Sách
.themphieumuon() Sử dụng SharePreference thêm Phiếu Mượn
4.4.5.2 DoanhThuFragment
TT PHƯƠNG THỨC MÔ TẢ
1 .setOnClickListener Sử dụng EditText Ngày Bắt đầu
.setOnClickListener Sử dụng EditText Ngày Kết thúc
.setOnClickListener Sử dụng Button Thống Kê
5.2 ADDLOAISACHFRAGMENT
T MÔ TẢ TÌNH HUỐNG DỮ LIỆU MẪU KẾT QUẢ TRÔNG ĐỢI FIX
H
1 Thêm để trống tên Thông báo : Thêm thất bại
2 Sửa đê trống tên Thông báo : Thay đổi thất bại
3 Thêm đúng tên loại Sách English Thông báo : Thêm Thành công
và sửa tên Loại Sách
4 Thêm loại sách đã tồn tại Thông báo: Đã có loại sách tồn
tại
5 Xóa Loại Sách Thông báo : Xóa loại Sách
Thành công
6 Xóa Sách Thất bại Thông báo :Xóa thất bại
7 Giao diện Giống với thiết kế
5.3 ADDPHIEUMUONFRAMENT
T MÔ TẢ TÌNH HUỐNG DỮ LIỆU MẪU KẾT QUẢ TRÔNG ĐỢI FIX
H
1 Thêm để trống tên Thông báo : Thêm thất bại
2 Sửa đê trống tên Thông báo : Thay đổi thất bại
3 Thêm đúng tên Phiếu mượn thuthu1 Thông báo : Thêm Thành công
và sửa tên Phiếu Mượn
4 Trả Sách thành công Thông báo : Trả Sách thành
công và sữa Phieu mượn
5 Trả Sách thất bại Thông báo : Trả Sách thất bại
6 Giao diện Giống với thiết kế
5.4 ADDSACH
T MÔ TẢ TÌNH HUỐNG DỮ LIỆU MẪU KẾT QUẢ TRÔNG ĐỢI FIX
H
1 Thêm để trống tên Thông báo : Thêm Sách thất bại
2 Thêm Sách đã tồn tại Thông báo : Sách đã tồn tại
3 Xóa Sách Thành công Thông báo :Xóa thành công và
cập nhật lại Sách
Xóa Sách Thất bại Thông báo :Xóa thất bại
4 Sửa đê trống tên Thông báo : Thay đổi Sách thất
bại
4 Thêm đúng tên Sách Doraemon Thông báo : Thêm Sách Thành
công và sửa tên Phiếu Mượn
5 Giao diện Giống với thiết kế
5.5 ADDTHANHVIEN
T MÔ TẢ TÌNH HUỐNG DỮ LIỆU MẪU KẾT QUẢ TRÔNG ĐỢI FIX
H
1 Thêm để trống tên Thông báo : Thêm Thành viên
thất bại
2 Thêm Thành viên đã tồn tại Thông báo : Thành viên đã tồn
tại
3 Xóa Thành Viên Thành công Thông báo :Xóa thành công và
cập nhật lại DS Thành viên
4 Xóa Thành Viên Thất bại Thông báo :Xóa thất bại
5 Sửa đê trống tên Thông báo : Thay đổi Thành
viên thất bại
6 Sửa Thành Viên thành công Thông báo thành viên thành
công và cập nhật lại DS Thành
viên
7 Thêm đúng tên Thành viên Lê Nhật Duy Thông báo : Thêm Thành viên
Thành công và sửa tên Thành
viên
8 Giao diện Giống với thiết kế