1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tài liệu dự án quản lý web bán hàng – rau củ quả xanh

73 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu dự án quản lý web bán hàng – rau củ quả xanh
Tác giả Đào Tuấn Điệp, Nguyễn Thành Trung, Lê Hồng Trung Quý, Phạm Hữu Trường, Huỳnh Quang Khải
Người hướng dẫn Nguyễn Thị Thanh Xuân
Trường học Không xác định
Chuyên ngành Công nghệ thông tin
Thể loại Dự án
Năm xuất bản 2023
Thành phố Không xác định
Định dạng
Số trang 73
Dung lượng 3,52 MB

Nội dung

Trang 1

TÀI LI U D ÁNỆỰ

GIẢNG VIÊN: NGUYỄN THỊ THANH XUÂN SINH VIÊN: ĐÀO TUẤN ĐIỆP – PS27897

Trang 2

MỤC LỤC

2.2.5.1 Thống kê top 10 sản phẩm bán nhiều nhất 10

Trang 3

4.1.2.2 Màn hình quản lý Sản Phẩm (fragment_ san_pham) 39 4.1.2.3 Màn hình quản lý Chi tiết sản Phẩm (fragment_ct_san_pham) 41 4.1.2.4 Màn hình quản lý Danh mục sản phẩm (fragment_danh_muc) 43 4.1.2.5 Màn hình quản lý Giỏ hàng (fragment_gio_hang) 46 4.1.2.6 Màn hình quản lý Đơn hàng (fragment_don_hang) 48 4.1.2.7 Màn hình quản lý Bình luận (fragment_binh_luan) 50

Trang 4

4.3.2.3 ChiTietSanPham & ChiTietSanPhamDAO 64

Trang 6

7.2 THUẬN LỢI 81

Trang 7

1 GIỚI THIỆU DỰ ÁN

1.1GIỚI THIỆU RAU CỦ QUẢ XANH

Rau củ quả xanh là 1 website chuyên bán các loại thực phẩm, sản phẩm nông nghiệp sạch Chúng tôi hiểu rằng việc chọn lựa rau củ quả là một phần quan trọng của lối sống lành mạnh và chăm sóc sức khỏe cá nhân Vì vậy, trang web của chúng tôi không chỉ cung cấp sản phẩm tốt nhất mà còn cung cấp thông tin hữu ích về cách chọn lựa, bảo quản và nấu ăn các loại rau củ quả một cách tối ưu.

1.2YÊU CẦU CỦA RAU CỦ QUẢ XANH

 Yêu cầu:

o Quản lý:

 Quản lý các loại mặt hàng: thêm, xóa, sửa.

 Quản lý hàng hóa, số lượng hàng hóa: tăng giảm số lượng, thêm giảm giá cho sản phẩm tồn kho.

 Quản lý user: quản lý tên TK MK.

 Quản lý các đơn hàng: Quản lý thông tin đơn hàng.

 Admin có quyền tạo tài khoản  Người dùng có quyền đổi mật khẩu.

Trang 8

5 Kiểm thử và sửa lỗi 05/06/2023 07/06/2023

5.1 Xây dựng kịch bản kiểm thử 05/06/2023 06/06/2023 Done 5.2 Hoàn tất kiểm thử và sửa lỗi 06/06/2023 07/07/2023 Done 6 Đóng gói & triển khai 12/06/2023 14/06/2023

6.2 Triển khai, hướng dẫn cài

Trang 9

2 PHÂN TÍCH YÊU CẦU KHÁCH HÀNG2.1 SƠ ĐỒ USE – CASE.

2.2 ĐẶC TẢ YÊU CẦU HỆ THỐNG (SRS).2.2.1 QUẢN LÝ THÀNH VIÊN

 MÔ TẢ CHỨC NĂNG: 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 liệt kê danh sách thành viên, thêm, xóa, cập nhật thông tin thành viên và tìm kiếm thành viên theo tên.

 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ọ và tên, ngày sinh, địa chỉ.

 ĐỐ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.

Trang 10

2.2.2 QUẢN LÝ LOẠI SẢN PHẨM, NGUỒN GỐC

 MÔ TẢ CHỨC NĂNG: Chức năng quản lý loại sản phẩm được sử dụng để

quản lý thông tin sản phẩm, xuất xứ, nguồn gốc Chức năng này liệt kê danh sách các loại sản phẩm Thêm, xóa, cập nhật thông tin loại sản phẩm, nguồn gốc và tìm kiếm theo tên.

 DỮ LIỆU LIÊN QUAN: Thông tin của mỗi loại sản phẩm, nguồn gốc gồm:

mã và tên.

 ĐỐ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.3 QUẢN LÝ SẢN PHẨM

 MÔ TẢ CHỨC NĂNG: Chức năng quản lý sản phẩm được sử dụng để

quản lý thông sản phẩm Chức năng này liệt kê danh sách các sản phẩm, thêm, xóa, cập nhật thông tin sản phẩm và tìm kiếm sản phẩm theo tên.

 DỮ LIỆU LIÊN QUAN: Thông tin của mỗi sản phẩm bao gồm: tên sản

phẩm, giá, ngày nhập hàng, mô tả sản phẩm.

 ĐỐ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.4 QUẢN LÝ NGƯỜI DÙNG

 MÔ TẢ CHỨC NĂNG: Chức năng quản lý người dùng cho phép admin

quản lý danh sách người dùng Chức năng này liệt kê danh sách người dùng, thêm, xóa người dùng và tìm kiếm người dùng theo tài khoản.

 DỮ LIỆU LIÊN QUAN: Thông tin của người dùng: mã người dùng, họ và

tên, email, số điện thoại, địa chỉ, tài khoản, mật khẩu.

 ĐỐI TƯỢNG SỬ DỤNG: Admin. 2.2.5 THỐNG KÊ

2.2.5.1 Thống kê top 10 sản phẩm bán chạy nhất tháng

 MÔ TẢ CHỨC NĂNG: Chức năng thống kê top 10 sản phẩm có lượt bán

Trang 11

ĐỐI TƯỢNG SỬ DỤNG: Khi đăng nhập người dùng có thể xem.

2.2.6.1 Thống kê sản phẩm sắp hết HSD để sale

 MÔ TẢ CHỨC NĂNG: Chức năng này thống kê sản phẩm có HSD < 3

ngày để sale

 DỮ LIỆU LIÊN QUAN: Thông tin sản phẩm sắp hết hạn: Id sanpham, Tên

sản phẩm, giá, giá sale

 ĐỐI TƯỢNG SỬ DỤNG: Admin 2.2.7 ĐĂNG NHẬP

 MÔ TẢ CHỨC NĂNG: Chức năng đăng nhập cho phép người dùng đăng

nhập tài khoản để truy cập vào giao diện chính.

 DỮ LIỆU LIÊN QUAN: Giao diện đăng nhập gồm: nơi nhập tài khoản,

mật khẩu, nút đăng nhập và nút quên mật khẩu.

 ĐỐI TƯỢNG SỬ DỤNG: Sau khi admin tạo tài khoản thì người dùng có

thể sử dụng tài khoản để đăng nhập.

2.2.8 CẬP NHẬT THÔNG TIN NGƯỜI DÙNG

 MÔ TẢ CHỨC NĂNG: Chức năng này cho phép người dùng cập nhật

thông tin.

 DỮ LIỆU LIÊN QUAN: Thông tin của người dùng: mã người dùng (không

được thay đổi), họ và tên, email, avatar, tài khoản (không được thay đổi), mật khẩu.

 ĐỐ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 SƠ ĐỒ TRIỂN KHAI VÀ YÊU CẦU HỆ THỐNG2.3.1 SƠ ĐỒ TRIỂN KHAI

2.3.2 YÊU CẦU HỆ THỐNG

 Min SDK: 16  JDK: 1.8+  SQLite.

Trang 12

3 THIẾT KẾ ỨNG DỤNG

3.1 MÔ HÌNH CÔNG NGHỆ ỨNG DỤNG

 GUI: Graphic User Interface: Thiết kế giao diện cho người sử dụng.

 Business Logic Programming: Lập trình các chức năng nghiệp vụ trong ứng dụng.

o Controllers: Xử lý nghiệp vụ (Business Logic) o Entity, DAO: Thực thể và Data Access Object o SQLiteOpenHelper: Class hỗ trợ SQLite  SQL: Database: Thiết kế CSDL cho ứng dụng.

Trang 13

3.2.2.1 USER

TÊN CỘTKIỂU DỮ

LIỆURÀNG BUỘC MÔ TẢ

AI Mã thành viên, khóa chính, tựsinh

Trang 14

3.2.2.2 SẢN PHẨM

TÊN CỘTKIỂU DỮ

LIỆURÀNG BUỘC MÔ TẢ

MaLoaiSach int PK, not null Mã loại sách, khóa chính, tự sinh

3.2.2.3 DANH MỤC

TÊN CỘTKIỂU DỮ

LIỆURÀNG BUỘC MÔ TẢ

Trang 15

3.2.2.4 ĐƠN HÀNG

TÊN CỘTKIỂU DỮ

LIỆURÀNG BUỘC MÔ TẢ

MaTG int PK, not null Mã tác giả, khóa chính, tự sinh

3.2.2.5 CHI TIẾT SẢN PHẨM

TÊN CỘT KIỂUDỮ

LIỆURÀNG BUỘC MÔ TẢ

MaSach int PK, not null Mã sách, khóa chính, tự sinh

Trang 16

3.2.2.6 GIỎ HÀNG

TÊN CỘT KIỂUDỮ

LIỆURÀNG BUỘC MÔ TẢ

tự sinh

3.2.2.7 BÌNH LUẬN

TÊN CỘT KIỂUDỮ

LIỆURÀNG BUỘC MÔ TẢ

Trang 17

MaUser int PK, not null Mã user, khóa chính, tự sinh

3.3 GIAO DIỆN

3.3.1 SƠ ĐỒ TỔ CHỨC GIAO DIỆN

Trang 18

Click Menu Show Navigation Drawer

Trang 19

quanlythanhvie n

quanlyuser Click Chuyển FragmentUser 7 @+id/thongke Click Chuyển FragmentThongKe

3.3.3 GIAO DIỆN QUẢN LÝ

3.3.3.1 Màn hình Home

 GIAO DIỆN

 MÔ TẢ HOẠT ĐỘNG

TT@IDS KI NỰỆMÔ T HO T Đ NGẢẠỘ

Trang 20

change_avatar Click Hiện dialog đổi avatar

3 @+id/update Click Hiện dialog cập nhật thông tin

Trang 21

Ẩn nút thêm, trượt lên trên cùng hiện ra (không che nút xóa và sửa)

Hiện dialog xác nhận xóa Hiện dialog sửa phiếu mượn

Trang 23

Ẩn nút thêm, trượt lên trên cùng hiện ra (không che nút xóa và sửa)

Hiện dialog xác nhận xóa Hiện dialog sửa sách.

3 @+id/search Click Tìm kiếm sách theo tên sách

 MÀN HÌNH LO I SÁCHẠ

OGIAO DI NỆ

OMÔ T HO T Đ NGẢẠỘ

TT@IDS KI NỰỆMÔ T HO T Đ NGẢẠỘ

Trang 24

Ẩn nút thêm, trượt lên trên cùng hiện ra (không che nút xóa và sửa)

Hiện dialog xác nhận xóa Hiện dialog sửa loại sách.

3 @+id/search Click Tìm kiếm loại sách theo tên

 MÀN HÌNH TÁC GIẢ

OGIAO DI NỆ

Trang 25

Ẩn nút thêm, trượt lên trên cùng hiện ra (không che nút xóa và sửa)

Hiện dialog xác nhận xóa Hiện dialog sửa tác giả 3 @+id/search Click Tìm kiếm tác giả theo tên

 MÀN HÌNH NHÀ XU T B NẤẢ

Trang 26

Ẩn nút thêm, trượt lên trên cùng hiện ra (không che nút xóa và sửa)

Hiện dialog xác nhận xóa Hiện dialog sửa NXB.

Trang 27

3 @+id/search Click Tìm kiếm NXB theo tên

Ẩn nút thêm, trượt lên trên cùng hiện ra (không che nút xóa và sửa)

Hiện dialog xác nhận xóa

Trang 28

btnXoaTV Click Hiện dialog sửa thành viên. 3 @+id/search Click Tìm kiếm thành viên theo tên

Trang 29

3 @+id/search Click Tìm kiếm user theo username

menu_top10 Click Chuyển Fragment thống kê top 10 sáchcó doanh thu cao nhất.

Trang 31

4 @+id/btnLogin Click Nếu tài khoản mật khẩu chính xác chuyển đến màn hình chính, nếu sai báo

Trang 33

Toolbar @+id/toolbar android:layout_width="match_parent"

Trang 35

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

LinearLayout @+id/

change_password android:layout_width="match_parent"android:layout_height="wrap_content" LinearLayout @+id/change_avatar android:layout_width="match_parent"

android:layout_height="wrap_content" LinearLayout @+id/update android:layout_width="match_parent"

android:layout_height="wrap_content"

Trang 36

LinearLayout @+id/logout android:layout_width="match_parent" android:layout_height="wrap_content" RecyclerView @+id/

recyclerDanhMuc android:layout_width="match_parent"android:layout_height="300dp"

4.1.2.2 Màn hình quản lý Phiếu Mượn(fragment_phieu_muon)

 GIAO DIỆN

Trang 37

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 38

Button @+id/ThemPhieuMuon android:layout_width=" wrap_content"android:layout_height="wrap_content"

4.1.2.3 Màn hình quản lý Sách (fragment_sach)

 GIAO DIỆN

Trang 39

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 40

Button @+id/ThemSach android:layout_width=" wrap_content"android:layout_height="wrap_content"

4.1.2.4 Màn hình quản lý Loại Sách (fragment_loai_sach)

 GIAO DIỆN

Trang 41

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

RecyclerView @+id/

recyclerLoaiSach android:layout_width="match_parent"android:layout_width="match_parent" ImageView @+id/btnSuaLoaiSach android:layout_width="36dp"

android:layout_height="36dp" ImageView @+id/ android:layout_width="36dp"

Trang 43

ImageView @+id/btnXoaNXB android:layout_width="36dp" android:layout_height="36dp" FloatingAction

Button @+id/ThemNXB android:layout_width=" wrap_content"android:layout_height="wrap_content"

4.1.2.5 Màn hình quản lý Tác giả (fragment_tac_gia)

 GIAO DIỆN

Trang 44

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 45

Button @+id/ThemTG android:layout_width=" wrap_content"android:layout_height="wrap_content"

4.1.2.6 Màn hình quản lý Nhà xuất bản (fragment_nxb)

 GIAO DIỆN

Trang 46

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 48

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 49

4.1.2.8 Màn hình quản lý User (fragment_user)

 GIAO DIỆN

Trang 50

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 51

frameLayoutThongKe android:layout_width="match_parent"android:layout_width="match_parent" BottomNavigat @+id/naviga android:layout_width="match_parent"

Trang 54

 ĐẶT TÊN CÁC ĐIỀU KHIỂN

Trang 55

Button @+id/btnLogin android:layout_width="150dp"

Trang 56

String table_PhieuMuon=

"create table PhieuMuon (" +

"id_phieumuon INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +

"id_user INTEGER NOT NULL, " + "id_tv INTEGER NOT NULL, " +

"id_sach INTEGER NOT NULL, " +

"ngay_thu INTEGER NOT NULL, " +

"thang_thu INTEGER NOT NULL, " +

"nam_thu INTEGER NOT NULL, " +

"trang_thai INTEGER NOT NULL, " +

"ngay_tra TEXT)";

 CÂU L NH SQL C B NỆƠ Ả

db.insert("PhieuMuon", null, values);

db.update("PhieuMuon", values, "id_phieumuon=?", new String[]{obj.maPhieuMuon});

db.delete("PhieuMuon", "id_phieumuon=?", new String[]{obj.maPhieuMuon});

db.execSQL("SELECT * FROM PhieuMuon WHERE id_phieumuon=?" , newString[]{ obj.maPhieuMuon});

db.execSQL("SELECT * FROM PhieuMuon");

4.2.2.2 Bảng Sach

 MÃ L NH T O B NGỆẠẢ

String table_Sach=

"create table Sach (" +

"id_sach INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +

"ten_sach TEXT NOT NULL, " +

Trang 57

"id_TG INTEGER NOT NULL, " +

"id_NXB INTEGER NOT NULL, " +

"id_loai INTEGER NOT NULL, " +

"gia_thue REAL NOT NULL)";db.execSQL(table_Sach);

 CÂU L NH SQL C B NỆƠ Ả

db.insert("Sach", null, values);

db.update("Sach", values, "id_sach=?", new String[]{obj.maSach});

db.delete("Sach", "id_sach=?", new String[]{obj.maSach});

db.execSQL("SELECT * FROM Sach WHERE id_sach=?" , newString[]

"create table Sach (" +

"id_loai INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +

"ten_loai TEXT NOT NULL)";

 CÂU L NH SQL C B NỆƠ Ả

db.insert("LoaiSach", null, values);

db.update("LoaiSach", values, "id_loai=?", new String[]{obj.maLoaiSach});

db.delete("LoaiSach", "id_sach=?", new String[]{obj.maLoaiSach});

db.execSQL("SELECT * FROM LoaiSach WHERE id_loai=?" , newString[]{

db.execSQL("SELECT * FROM LoaiSach");

Trang 58

4.2.2.4 Bảng TacGia

 MÃ L NH T O B NGỆẠẢ

String table_TacGia=

"create table TacGia (" +

"id_TG INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "

"ten_TG TEXT NOT NULL)";

 CÂU L NH SQL C B NỆƠ Ả

db.insert("TacGia", null, values);

db.update("TacGia", values, "id_TG=?", new String[]{obj.maTG});

db.delete("TacGia", "id_TG=?", new String[]{obj.maTG});

db.execSQL("SELECT * FROM TacGia WHERE id_TG=?" , newString[]

db.insert("NXB", null, values);

db.update("NXB", values, "id_nxb=?", new String[]{obj.maNXB});

db.delete("NXB", "id_nxb=?", new String[]{obj.maNXB});

Trang 59

db.execSQL("SELECT * FROM NXB WHERE id_nxb=?" , newString[]

"create table ThanhVien (" +

"id_tv INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "

"ten_tv TEXT NOT NULL, " +

"ngay_sinh TEXT NOT NULL, " +

"dia_chi TEXT NOT NULL)";

 CÂU L NH SQL C B NỆƠ Ả

db.insert("ThanhVien", null, values);

db.update("ThanhVien", values, "id_tv=?", new String[]{obj.maTV});

db.delete("ThanhVien", "id_tv=?", new String[]{obj.maTV});

db.execSQL("SELECT * FROM ThanhVien WHERE id_tv=?" , newString[]{

"create table User (" +

"id_user INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +

"ten_user TEXT, " +

Trang 60

"email TEXT, " +

"avatar INTEGER, " +

"user_name TEXT NOT NULL, " +

"password TEXT NOT NULL)" ;db.execSQL(table_User);

 CÂU L NH SQL C B NỆƠ Ả

db.insert("User", null, values);

db.update("User", values, "id_user=?", new String[]{obj.maUser});

db.delete("User", "id_user=?", new String[]{obj.maUser});

db.execSQL("SELECT * FROM User WHERE id_user=?" , newString[]

o SQLiteOpenHelper là lớp tiện ích hỗ trợ lập trình Android với SQLite Khi kế thừ Lớp này cần ghi đè 2 phương thức được mô tả trong phần hướng dẫn sử dụng sau đây.

 HƯỚNG D N S D NGẪỬ Ụ

o onCreate (SQLiteDatabase db): chứa các lệnh tạo table (có thể chèn dữ liệu test).

o onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion): chứa các lệnh xoá table và gọi lại onCreate khi nâng version.

4.3.2 MODEL CLASS VÀ DAO

4.3.2.1 PhieuMuon và PhieuMuonDAO

 SƠ ĐỒ

Trang 61

 DI N GI IỄẢ

THÀNH PH NẦMÔ TẢ

PhieuMuon Là lớp thực thể mô tả dữ liệu phiếu mượn

PhieuMuonDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với

Sach Là lớp thực thể mô tả dữ liệu sách

SachDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng Sach

Trang 62

4.3.2.3 LoaiSach & LoaiSachDAO

 SƠ ĐỒ

 DI N GI IỄẢ

THÀNH PH NẦMÔ TẢ

LoaiSach Là lớp thực thể mô tả dữ liệu thể loại sách

LoaiSachDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với

LoaiSach Là lớp thực thể mô tả dữ liệu thể loại sách

LoaiSachDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với bảng LoaiSach

Trang 63

ThanhVien Là lớp thực thể mô tả dữ liệu thành viên

ThanhVienDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với

Trang 64

User Là lớp thực thể mô tả dữ liệu user

UserDAO Là lớp DAO cụ thể hóa các hoạt động truy xuất CSDL với

Trang 65

3 SachMau () Nếu sách không có dữ liệu thì thêm dữ liệu mẫu 4 ThanhVienMau () Nếu thành viên sách không có dữ liệu thì thêm dữ

setOnClicklistener Hiện dialog thêm phiếu mượn

2 xoa.onClicklistener Hiện dialog xác nhận xóa phiếu mượn 3 sua.onClicklistener Hiện dialog sửa phiếu mượn

4 search.setOnQueryTex

tListener Tìm kiếm phiếu mượn theo mã

4.4.3.3 FragmentLoaiSach

TT METHOD/EVENTMÔ TẢ

Ngày đăng: 02/04/2024, 23:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w