1. Trang chủ
  2. » Tất cả

Xây dựng chương trình quản lý bán văn phòng phẩm cho nhà sách phương nam

54 7 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Xây dựng chương trình quản lý bán văn phòng phẩm cho nhà sách Phương Nam
Người hướng dẫn Nguyễn Thị Bích Nguyên
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Nhập môn Công nghệ Phần mềm
Thể loại Báo cáo
Định dạng
Số trang 54
Dung lượng 19,3 MB
File đính kèm file dinh kem.rar (38 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

I Hiện trạng: Văn phòng phẩm là sản phẩm không thể thiếu đối với học sinh, sinh viên và những người là hành chính, văn phòng. Vì vậy, các cửa hàng văn phòng phẩm thường được đặt tại các khu vực có trường học hay các văn phòng Với thị trường văn phòng phẩm được xem là có rất nhiều tiềm năng phát triển thì chúng ta cũng cần có sự chuyên nghiệp và tinh tế để kinh doanh hiệu quả. Bằng cách thiết kế web bán văn phòng phẩm cho riêng mình, ta có thể giới thiệu doanh nghiệp của mình đến mọi người trên toàn thế giới dù họ ở đâu. Từ đó, giúp doanh nghiệp tăng lượt khách hàng tiềm năng, tăng doanh thu và mang lại lợi nhuận lớn nhất cho doanh nghiệp. Website bán văn phòng phẩm được thiết kế từ website bán hàng. Khách hàng sẽ được cung cấp đầy đủ các tính năng quản lý của một trang web bán hàng thông thường. Đồng thời, các tính năng trên website văn phòng phẩm dễ dàng thay đổi theo ý muốn của bạn và cũng dễ cập nhật thông tin sản phẩm một cách hiệu quả nhất.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN VĂN PHÒNG PHẨM

CHO NHÀ SÁCH PHƯƠNG NAM Môn học: Nhập môn Công nghệ Phần mềm

Giảng viên hướng dẫn: Nguyễn Thị Bích Nguyên

Trang 2

Mục lục:

A/ XÂY DỰNG ĐỀ TÀI 4

I/ Hiện trạng: 4

II/ Yêu cầu: 4

a Chức năng nghiệp vụ: 4

Bộ phận: Nhân viên Mã số: NV 4

Bộ phận: Quản lý Mã số: QL 6

c Yêu cầu về chất lượng 10

d Mô hình luồng dữ liệu (DFD) chung cho toàn bộ hệ thống 11

e Mô hình luồng dữ liệu (DFD) theo yêu cầu 11

B/ THIẾT KẾ PHẦN MỀM 14

I/ Thiết kế dữ liệu: 14

➢ ERD: 14

➢ Diagram: 15

➢ Danh sách các thành phần của sơ đồ: 15

➢ Danh sách các thuộc tính từng thành phần: 15

II/ Thiết kế xử lý: 20

1 Phân tích các Package và Class trong Web 20

 Package: 20

 Class trong package: 22

3 Views 27

Trang 3

b Giao diện khách hàng: 32

c Giao diện Admin: 36

d Giao diện trang thông báo lỗi: 42

5 Thiết kế xử lý code: 43

 code tương tác với database: 43

 Code tương tác với model: 45

 Code tương tác với View (controller): 47

III/ Kiểm thử chương trình 48

IV/ Tài liệu tham khảo: 50

V/ Tổng kết 50

VI/ Lời cảm ơn 50

Trang 4

A/ XÂY DỰNG ĐỀ TÀI

I/ Hiện trạng:

Văn phòng phẩm là sản phẩm không thể thiếu đối với học sinh, sinh viên vànhững người là hành chính, văn phòng Vì vậy, các cửa hàng văn phòng phẩmthường được đặt tại các khu vực có trường học hay các văn phòng

Với thị trường văn phòng phẩm được xem là có rất nhiều tiềm năng phát triểnthì chúng ta cũng cần có sự chuyên nghiệp và tinh tế để kinh doanh hiệu quả Bằngcách thiết kế web bán văn phòng phẩm cho riêng mình, ta có thể giới thiệu doanhnghiệp của mình đến mọi người trên toàn thế giới dù họ ở đâu

Từ đó, giúp doanh nghiệp tăng lượt khách hàng tiềm năng, tăng doanh thu vàmang lại lợi nhuận lớn nhất cho doanh nghiệp

Website bán văn phòng phẩm được thiết kế từ website bán hàng Khách hàng

sẽ được cung cấp đầy đủ các tính năng quản lý của một trang web bán hàng thôngthường Đồng thời, các tính năng trên website văn phòng phẩm dễ dàng thay đổitheo ý muốn của bạn và cũng dễ cập nhật thông tin sản phẩm một cách hiệu quảnhất

II/ Yêu cầu:

Quy định/Công thức liênquan

Biểumẫu liênquan

Ghi chú

1 Đăng nhập

và quản lý

thông tin tài

Lưu trữ Xem lịch sử hoạt động,

quản lý thông tin cá nhân

Trang 5

3 Xem danh

sách đơn

hàng nhập

Tra cứu Tìm đơn hàng dựa trên các

thông tin: mã đơn hàng, mãsản phẩm,

Xem danh

sách đơn

hàng xuất

Tra cứu Tìm đơn hàng dựa trên các

thông tin: mã đơn hàng, mãsản phẩm, khách hàng,

6 Xem danh

sách nhà

cung cấp

Tra cứu Tìm nhà cung cấp dựa trên

các thông tin: mã nhà cungcấp, tên nhà cung cấp

Khi xóa phảighi rõ nguyênnhân

Khi xóa phảighi rõ nguyênnhân

Trang 7

Bộ phận: Quản lý Mã số: QL

Stt Công việc Loại công

việc

Quy định/Công thứcliên quan

Biểu mẫuliên quan

Ghi chú

1 Đăng nhập Lưu trữ Xem lịch sử hoạt động,

quản lý tài khoản đăngnhập của nhân viên

cho nhânviên bị mấthoặc quênmật khẩu

3 Xem thông

tin nhân viên

Tra cứu Quản lý thông tin nhân

viên

4 Xem danh

sách mặt

hàng

Tra cứu Tìm mặt hàng dựa trên

các thông tin: tên sảnphẩm, nhà xuất bản,

5 Xem danh

sách đơn

hàng nhập

Tra cứu Tìm đơn hàng dựa trên

các thông tin: mã đơnhàng, mã sản phẩm,

6 Xem danh

sách đơn

hàng xuất

Tra cứu Tìm đơn hàng dựa trên

các thông tin: mã đơnhàng, mã sản phẩm,khách hàng,

7 Xem danh

sách khách

hàng

Tra cứu Tìm khách hàng dựa

trên các thông tin: mãkhách hàng, tên kháchhàng,

8 Xem danh

sách nhà

cung cấp

Tra cứu Tìm nhà cung cấp dựa

trên các thông tin: mãnhà cung cấp, tên nhàcung cấp

Trang 8

Chỉ xóa trong trườnghợp thêm nhầm đơnhàng.

Quản lý vàkiểm trathông tinnhập hàng

11 Quản lý đơn

hàng xuất

Lưu trữ Thêm, xóa, sửa đơn

hàng xuất theo mụcđích

Chỉ xóa trong trườnghợp thêm nhầm đơnhàng

13 Quản lý

danh sách

nhà cung cấp

Lưu trữ Thêm, xóa, sửa thông

tin nhà cung cấp theomục đích

Trang 9

nhân viên duy nhất một tài

khoản, không đượctrùng

Bảng quy định/ công thức liên quan

Trang 11

Chức năng hệ thống

1 Phân quyền sử dụng - Người quản lý(admin) được

phép sử dụng tất cả các chức năng

- Nhân viên chỉ dung được một vài chức năng đã quy định như:

tra cứu sản phẩm, xem thông tinphiếu nhập, thanh toán hóa đơn

2 Cấp quyền tài khoản Admin sẽ cấp tài khoản cho nhân

viên và cấp quyền sử dụng

3 Cập nhật thông tin

nhân viên Thêm thông tin và cập nhật thông tin nhân viên khi có thay đổi

4 Cập nhật sản phẩm Cập nhập thông tin sản phẩm khi

có thay đổi

Nhập thêm sản phẩm khi hết hàng

Trang 12

c Yêu cầu về chất lượng

ST

T

1 Cho phép thay đổi giá sản

phẩm, chương trình

khuyến mãi

Tiến hóa Người dung phần

mềm có thể thay đổi mức giá sản phẩm và chương trình khuyến mãi

2 Hình thức tra cứu thật tiện

Có thể nhập thêm thông tin sản phẩm mới lên trang web Phù hợp với các loại

mn hình máy tính,điện thoại Có thể

áp dụng nhiều trên các trình duyệt khác nhau

5 Tốc dộ thực hiện việc tra

cứu và bán sản phẩm

nhanh

Hiệu quả Tối đa 30 giây

cho mỗi lần cập nhật thông tin mới Hỗ trợ thiết

bị đọc mã vạch

Tối đa 10 giây có

Trang 13

d Mô hình luồng dữ liệu (DFD) chung cho toàn bộ hệ thống

Hình ảnh 1 Sơ đồ luồng dữ liệu chung cho toàn bộ hệ thống

e Mô hình luồng dữ liệu (DFD) theo yêu cầu

- DFD về thông tin sản phẩm:

Trang 14

- DFD về Nhà cung cấp, tài khoản và hóa đơn bán hàng:

- DFD về thông tin nhân viên:

Trang 15

- DFD về thông tin hóa đơn:

Trang 17

➢ Diagram:

➢ Danh sách các thành phần của sơ đồ:

Trang 18

MẶT HÀNG

1 MAMH primarykey varchar(12) Not Null

9 MALOAI foreignkey varchar(10) Not Null

3 MANV

foreign key varchar(10) Allow Null

4 MAKH

foreign key varchar(10) Allow Null

Trang 19

 PHIEUNHAP

PHIẾU NHẬP

1 MAPN primary key varchar(10) Not Null

3 MANV foreign key varchar(10) Allow Null

4 MANCC

foreign key varchar(10) Allow Null

7 USERNAME

foreign key varchar(25) Allow Null

Trang 20

7 USERNAME

foreign key varchar(25) Allow Null

 CT_HOADON

CHI TIẾT HÓA ĐƠN

1 MAHD foreign key varchar(10) Not Null

2 MAMH

foreign key varchar(12) Not Null

Trang 21

 CT_PHIEUNHAP

CHI TIẾT PHIẾU NHẬP

1 MAMH foreign key varchar(12) Not Null

2 MAPN

foreign key varchar(10) Not Null

2 MANV

foreign key varchar(10) Not Null

3 MAROLE

foreign key varchar(10) Not Null

Trang 22

2 com.nhasachphuongnam.comparator Xử lý so sánh đối với các đối tượng

3 com.nhasachphuongnam.controller

chức các lớp thực hiện, xử lý, điều hướng theo yêu cầu của giao diện người dùng

4 com.nhasachphuongnam.controller.admin

chức năng tương tự com.nhasachphuongnam.controller nhưng chỉ chứa các lớp xử lýtrang admin

5 com.nhasachphuongnam.controller.errors

chức năng tương tự com.nhasachphuongnam.controller nhưng chỉ chứa các lớp xử lýkhi có lỗi

Trang 23

com.nhasachphuongnam.controller nhưng chỉ chứa các lớp xử lýđối với trang giao diện người dùng

8 com.nhasachphuongnam.dao chứa các interface của các lớp

tương tác với database

9 com.nhasachphuongnam.dao.impl

chức các lớp thực hiện mục đích, điều khiển, tương tác giữa chương trình với database

10 com.nhasachphuongnam.entity chứa các đối tượng tương ứng với các table trong database

11 com.nhasachphuongnam.ExceptionHandler chứa các lớp xử lý các lỗi xử lý thường gặp đối với trang web

12 com.nhasachphuongnam.interceptor chứa các lớp xử lý phần quyền truy cập đối với người dùng

13 com.nhasachphuongnam.model

chứa các đối tượng được thay đổi dựa trên đối tượng trong com.nhasachphuongnam.entity

để dễ dàng tương tác với giao diện người dùng hơn

14 com.nhasachphuongnam.service

chứa các interface của các lớp

có nhiệm vụ tương tác với các đối tượng trong package com.nhasachphuongnam.model

15 com.nhasachphuongnam.service.impl

chức các lớp thực hiện mục đích, điều khiển, xử lý các nhiệm vụ liên quan với các đối tượng trong package

2 GioHang.java Quản lý thông tin của 1 sản phấm trong giỏ hàng

3 GioHangModelAttribute.java Quản lý danh sách các sản phẩm trong giỏ hàng

o Comparator

Trang 24

1 ProductIdComparator.java So sánh các Product theo id

2 ProductNameComparator.java So sánh các Product theo tên

3 ProductPriceComparator.java So sánh các Product theo giá

Trang 25

9 InfoController.java

Lớp xử lý, chỉnh sửa thông tin người dùngđang đăng nhập

10 OrderController.java Lớp xử lý xem danh sách toàn bộ đơn hàng

11 ProductController.java Xử lý đối với trang xem danh sách sản phẩm

12 ProductCreateController.java Lớp thao tác thêm sản phẩm mới

15 ProductUploadPhotoController.java Lớp xử lý việc thêm ảnh cho 1 mặt hàng

16 StaffController.java Lớp thao tác xem danh sách nhân viên

17 StaffCreateController.java Lớp xử lý tạo nhân viên mới

18 SupplierController.java

Lớp xử lý nhà cung cấp: xem toàn bộ danhsách nhà cung cấp, thêm và chỉnh sửa thôngtin của nhà cung cấp

o Controller.errors

com.nhasachphuongnam.controller.errors

1 ForbiddenError403.java Xử lý lỗi 403 - quyền truy cập bị hạn chế

2 HTTPError404.java Xử lý lỗi 404 - không tìm thấy url được nhập

o Controller.login

com.nhasachphuongnam.controller.login

1 LoginController.java Xử lý đăng nhập của người dùng

2 LogoutController.java Xử lý đăng xuất của người dùng

3 RegisterController.java Xử lý đăng ký tài khoản mới cho người dùng

o

Trang 26

o Controller.user

com.nhasachphuongnam.controller.user

1 ChinhSachCotroller.java Xử lý trang xem chính sách của của hàng

2 ChiTietSanPhamController.java xử lý trang xem chi tiết 1 sản phẩm

5 HuongDanDatHangController.java Xử lý trang xem hướng dẫn đặt hàng

6 HuongDanThanhToanController.java Xử lý trang xem hướng dẫn thanh toán

13 UserController.java

Xử lý điều hướng người dùng đến trang chủ của khách hàng

o

Trang 28

o entity

com.nhasachphuongnam.entity

5 HoatDong Lớp đại diện thực thể Hoạt Động tài khoản

7 LoaiMatHang Lớp đại diện thưc thể Loại Mặt Hàng

9 CtPhieuNhap Lớp đại diện thực thể chi tiết Phiếu Nhập

12 CtHoaDon Lớp đại diện thực thể chi tiết Hóa Đơn

KhachHangInterceptor Kiểm tra người đăng nhập là user hay nhânviên

Trang 29

1 admin chứa các views của Trang admin

2 ERROR chứa cac views của Trang thông báo lỗi

3 login chứa cac views của Trang đăng nhập

4 user chức các views của Trang khách hàng

o folder admin:

Chi tiết folder admin

1 customer quản lý Trang khách hàng

2 dashboard Thống kê, Xem thông tin tổng quát dưới dạng biểu đồ

3 info

quản lý thông tin người dùng đang đăng nhập, thay đổi mật khẩu

4 orders Quản lý đơn hàng

5 product Quản lý thông tin mặt hàng

6 staff Quản lý danh sách nhân viên

7 supplier Quản lý thông tin nhà cung cấp

8 home.jsp Trang chủ của Trang admin

 Các views trong từng folder:

Trang 30

1 changepassword.jsp Trang thay đổi mật khẩu người dùng

2 index.jsp Quản lý thông tin người dùng đang đăng nhập

3 uploadPhoto.jsp Quản lý cập nhập hình ảnh người dùng đang đăng nhập

o Orders

Chi tiết folder orders

1 confirm.jsp Xem thông tin danh sách các đơn đặt hàng của người dùng

2 createIO.jsp Thêm đơn hàng nhập mới

3 export.jsp Xem danh sách đơn hàng của khách hàng

4 finish.jsp

Xem danh thông tin đơn hàng đang được vận chuyển của khách hàng

5 import.jsp Xem danh sách đơn hàng nhập

6 index.jsp Xem danh sách đơn hàng

o product

Chi tiết folder product

1 create.jsp Thêm mặt hàng mới

2 detail.jsp Xem chi tiết một mặt hàng

Trang 31

o Staff

Chi tiết folder staff

1 create.jsp Trang thêm nhân viên mới

2 index.jsp Xem danh sách nhân viên

3 uploadPhoto.jsp Cập nhật hình ảnh cho nhân viên

1 403.jsp Trang thông báo lỗi 403

2 404.jsp Trang thông báo lỗi 404

o Login

Chi tiết folder login

1 login.jsp Trang đăng nhập

2 register.jsp Trang đăng ký người dùng là khách hàng mới

o

Trang 32

o User

Chi tiết folder User

1 cart.jsp Xem danh sách mặt hàng trong giỏ hàng

2 contact.jsp Thông tin liên hệ của cửa hàng

3 guildOrder.jsp Xem hướng dẫn đặt hàng

4 guildPayment.jsp Xem hướng dẫn thanh toán

5 home.jsp Chứa form để tạo 1 views mới theo cấu trúc chung

6 index.jsp Trang chủ

7 info.jsp Trang thông tin cá nhân của người dùng

8 infoOrder.jsp Xem thông tin đơn hàng của người dùng

9 infoPassword.jsp

Xem và chỉnh sửa thông tin đăng nhập của người dùng đăngnhập

10 introduce.jsp Trang giới thiệu về cửa hàng

12 payment.jsp Trang thanh toán đơn hàng

13 paymentSuccess.jsp Thông báo người dùng đã đặt hàng thành công

14 policy.jsp Trang thông tin chính sách của cửa hàng

15 product.jsp Trang danh sách sản phẩm

16 product-detail.jsp Trang thông tin chi tiết của một sản phẩm

Trang 33

4 Thiết kế giao diện:

a Giao diện đăng nhập:

Hình ảnh 2 Giao diện đăng nhập

Hình ảnh 3 Giao diện đăng ký

Trang 34

b Giao diện khách hàng:

Trang 35

Hình ảnh 5 Giao diện trang sản phẩm

Trang 36

Hình ảnh 6 Trang chi tiết sản phẩm

Trang 37

Hình ảnh 7 Giao diện trang thông tin người dùng (khách hàng)

Trang 38

c Giao diện Admin:

Hình ảnh 8 Giao diện trang dashboard

Trang 39

Hình ảnh 10 Giao diện trang thêm đơn hàng nhập

Hình ảnh 11 Giao diện trang xác nhận đơn đặt hàng

Trang 40

Hình ảnh 12 Trang xác nhận giao hàng thành công

Trang 41

Hình ảnh 14 Trang danh sách đơn hàng xuất

Hình ảnh 15 Trang danh sách mặt hàng

Trang 42

Hình ảnh 16 Trang loại mặt hàng

Trang 43

Hình ảnh 18 Trang danh sách nhà cung cấp

Hình ảnh 19 Trang danh sách nhân viên

Trang 44

Hình ảnh 20 Trang thông tin tài khoản

d Giao diện trang thông báo lỗi:

Trang 45

Hình ảnh 22 Giao diện trang thông báo lỗi 404

5 Thiết kế xử lý code:

 code tương tác với database:

- Đối tượng demo: HoaDon.java

- Thiết kế interface: HoaDonDAO.java

package com.nhasachphuongnam.dao;

import java.util.Date;

import java.util.List;

import com.nhasachphuongnam.entity.HoaDon;

public interface HoaDonDAO {

boolean add(HoaDon hoaDon ); //thêm hóa đơn mới vào database

boolean update(HoaDon hoaDon ); //Cập nhập thông tin mới cu)a đơn hàng vào database

boolean delete(String ma ); //Xóa đơn hàng theo mã đơn hàng

HoaDon getByID(String ma ); //Tìm đơn hàng theo mã đơn hàng

List<HoaDon> getAll(); //Lấ5y toàn bộ đơn hàng trên database

String getLastMa(); //Lấ5y mã đơn hàng cu)a đơn hàng cuô5i danh sách, dùng đê) tạo mã đơn hàng mới

List<HoaDon> getBetweenThoiGian(Date start , Date end ); //Lấ5y danh sách đơn hàng trong khoa)n thời gian input

List<HoaDon> getHoaDonByMaKhachHang(String id ); //Lấ5y danh sách đơn hàng cu)a khách hàng

List<HoaDon> getHoaDonByMaNhanVien(String id ); //lấ5y danh sách đơn hàng thuộc phụ trách cu)a nhấn viên

}

Trang 46

- Thiết kế class: HoaDonDAOImpl.java : chọn 1 số phương thức tiêu biểu

o Phương thức add(HoaDon hoaDon);

//thêm đơn hàng xuấ5t mới

public boolean add(HoaDon hoaDon ) {

boolean flag = true; //biê5n kiê)m tra việc thêm có thành công hay không

Session session = factory openSession(); //tạo phiên làm việc mới với database

Transaction tran = session beginTransaction(); //tạo transaction mới đê) lưu lại thông tin và rollback khi cấJn thiê5t

try {

session save( hoaDon ); //lưu đơn hàng mới

for(CtHoaDon i : hoaDon getCtHoaDons()) {

session save( i ); //lưu từng mặt hàng cu)a đơn hàng mới vào trong table CT_HOADON

ex printStackTrace(); //in thông tin lôPi

flag = false; //thêm đơn hàng không thành công

//Lấ5y mã đơn hàng cu)a đơn hàng cuô5i danh sách, dùng đê) tạo mã đơn hàng mới

public String getLastMa() {

String sql = "SELECT top 1 MAHD FROM HoaDon ORDER BY MAHD DESC" ; //cấu lênh query sqlServer tìm ra mã đơn hàng cu)a đơn hàng cuô5i cùng trong table HOADON

Session session = factory getCurrentSession(); //Mơ ) 1 phiên làm việc mới với database (đấy là dạng phiên làm việc tự động đóng)

SQLQuery query = session createSQLQuery( sql ); //Thực hiện truy vấ5n với cấu lệnh query được tạo trước đó

Ngày đăng: 31/01/2023, 21:36

🧩 Sản phẩm bạn có thể quan tâm

w