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

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

Trang 1

TÀI LI U D ÁN Ệ Ự

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

NGUYỄN THÀNH TRUNG – PS27883

LÊ HỒNG TRUNG QUÝ – PS27901PHẠM HỮU TRƯỜNG – PS27854HUỲNH QUANG KHẢI – PS27904NGÀNH – LỚP: CNTT – WD18302

6/11/2023

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 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ôngnghiệ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ÀNG

2.1 SƠ ĐỒ USE – CASE.

https://drive.google.com/file/d/1S51XLFREZaXuKr7p7fkCH3h_SsCLtg9d/view

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ê danhsá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ồngố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ể

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 ứngdụ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ỘT KIỂU DỮ

LIỆU RÀ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ỘT KIỂU DỮ

LIỆU RÀ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ỘT KIỂU DỮ

LIỆU RÀNG BUỘC MÔ TẢ

Trang 15

3.2.2.4 ĐƠN HÀNG

TÊN CỘT KIỂU DỮ

LIỆU RÀ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ỂU DỮ

LIỆU RÀ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ỂU DỮ

LIỆU RÀNG BUỘC MÔ TẢ

tự sinh

3.2.2.7 BÌNH LUẬN

TÊN CỘT KIỂU DỮ

LIỆU RÀ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

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 @ID S 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 Ạ

O GIAO DI N Ệ

O MÔ T HO T Đ NG Ả Ạ Ộ

TT @ID S 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Ả

O GIAO 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"

android:layout_height="wrap_content"DrawerLayout @+id/drawerLayout android:layout_width="match_parent"

android:layout_height="match_parent"FrameLayout @+id/frameLayout android:layout_width="match_parent"

android:layout_height="match_parent"

NavigationView @+id/

navigationView android:layout_width="wrap_content"android:layout_height="match_parent"

app:menu="@menu/drawermenu"app:headerLayout="@layout/

header_navigation"

4.1.2 CÁC MÀN HÌNH QUẢN LÝ

4.1.2.1 Màn hình Home (fragment_home)

 GIAO DIỆN

Trang 35

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

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

RecyclerView @+id/recyclerSach android:layout_width="match_parent"

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

android:layout_height="36dp"

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

android:layout_height="36dp"

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

Trang 42

android:layout_height="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

RecyclerView @+id/recyclerTG android:layout_width="match_parent"

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

android:layout_height="36dp"

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

android:layout_height="36dp"

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

RecyclerView @+id/recyclerNXB android:layout_width="match_parent"

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

android:layout_height="36dp"

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

android:layout_height="36dp"

Trang 48

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

RecyclerView @+id/recyclerTV android:layout_width="match_parent"

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

android:layout_height="36dp"

FloatingAction

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

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

RecyclerView @+id/recyclerUser android:layout_width="match_parent"

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

android:layout_height="36dp"

FloatingAction

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

Trang 52

android:layout_width="60dp"app:menu="@menu/menu_icon"

Trang 54

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

EditText @+id/etUsername android:layout_width="match_parent"

android:layout_width="wrap_content"EditText @+id/etPassword android:layout_width="wrap_content"

android:layout_width="wrap_content"CheckBox @+id/checkRemember android:layout_width="wrap_content"

android:layout_width="wrap_content"

Trang 55

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

android:layout_width="60dp"Button @+id/btnForgot 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)";

db.execSQL(table_PhieuMuon);

 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[]

"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[] { obj.maSach});

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

4.2.2.3 Bảng LoaiSach

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

String table_LoaiSach=

"create table Sach (" +

"id_loai INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,

" +

"ten_loai TEXT NOT NULL)";

db.execSQL(table_LoaiSach);

 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)";

db.execSQL(table_TacGia);

 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[] { obj.maTG});

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

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)";

db.execSQL(table_ThanhVien);

 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[]{ obj.maTV});

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

4.2.2.7 Bảng User

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

String table_User=

"create table User (" +

"id_user INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,

" +

"ten_user TEXT, " +

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