You are on page 1of 30

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

BÁO CÁO MÔN HỌC

PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG

ĐỀ TÀI:

QUẢN LÝ CỬA HÀNG BÁNH MỲ

NHÓM 15

Sinh viên thực hiện: Nguyễn Văn Bình – CT050304

Nguyễn Hoàng Long – CT050331

Bùi Thành Đạt – CT050308

Nguyễn Tiến Tài – CT050342

Giáo viên hướng dẫn: Bùi Thị Như

Hà Nội, 12-2023
1. TỔNG QUAN VỀ ĐỀ TÀI

2. PHÂN TÍCH VÀ THIẾT KẾ


2.1. Phân tích quy trình nghiệp vụ
2.1.1. Quy trình đăng nhập

Khi người dùng muốn đăng nhập vào phần mềm, hệ thống yêu cầu nhập
usename và password, hệ thống kiểm tra thông tin và cho người dùng đăng nhập
vào hệ thống.
2.1.2. Quản lý bán hàng

Khi khách hàng tới quầy order món thì người dùng đăng nhập vào hệ thống và
đến giao diện bán hàng, khách hàng chọn món ăn và người dùng sẽ thêm món ăn
vào giỏ hàng và tiến hàng thanh toán.
2.1.3. Quản lý nhân viên

Quản lý đăng nhập vào hệ thống với quyền của quản lý và tiến hành những thao
tác cần phải làm như thêm nhân viên, xóa nhân viên, sửa nhân viên, có thể cấp
tài khoản, xóa tài khoản nhân viên, xuất file exel, cập nhật lại mật khẩu cho
nhân viên. Phần quản lý nhân viên sẽ có danh sách của các nhân viên dễ dàng
cho người dùng cập nhật thông tin.
2.1.4. Quản lý sản phẩm

Admin đăng nhập vào hệ thống với quyền của admin và tiến hành những thao tác cần
làm như thêm sản phẩm, sửa sản phẩm, xóa sản phẩm, tìm kiếm sản phẩm, xuất file
exel. Ở giao diện này sẽ có bảng hiện danh sách sản phẩm để cho người dùng dễ dàng
quản lý sản phẩm.
2.1.5. Quản lý loại

Admin đăng nhập vào hệ thống với quyền của admin. Sau khi đăng nhập admin sẽ đến
giao diện sản phẩm và chọn loại để thêm ,sửa hoặc xóa loại. Ở giao diện này sẽ có
bảng hiện danh sách loại đã có trong hệ thống để cho người dùng dễ dàng quản lý.
2.1.6. Quản lý khuyến mãi

Quản lý đăng nhập vào hệ thống với quyền của quản lý và tiến hành những thao tác
cần làm như thêm khuyến mãi, sửa khuyến mãi. Ở giao diện này sẽ có bảng hiện danh
sách các khuyến mãi để cho người dùng dễ dàng quản lý khuyến mãi.
2.1.7. Quản lý khách hàng

Người dùng đăng nhập vào hệ thống với quyền của quản lý và tiến hành những thao
tác cần làm như thêm khách hàng, sửa khách hàng, xóa khách hàng, tìm kiếm khách
hàng, tìm kiếm khách hàng theo chi tiêu. Ở giao diện này sẽ có bảng hiện danh sách
các khách hàng để cho người dùng dễ dàng quản lý khách hàng, và mỗi khách hàng sẽ
có tổng chi tiêu.
2.1.8. Quản lý hóa đơn

Người dùng muốn xem thông tin hóa đơn thì đăng nhập vào hệ thống với quyền của
quản lý. Ở giao diện quản lý hóa đơn người dùng sẽ chọn hóa đơn mà mình muốn xem
và hệ thống sẽ hiển thị thông tin hóa đơn và chi tiết hóa đơn.
2.1.9. Quản lý lập hóa đơn

Nhân viên đăng nhập vào hệ thống. Khi muốn lập hóa đơn thì nhân viên truy cập vào
phần bán hàng, sau đó chọn các món ăn và xuất hóa đơn. Ở giao diện hóa đơn hệ
thống yêu cầu nhập thông tin khách hàng và khuyến mãi, sau đó thì ta có thể xuất hóa
đơn.
2.1.10.Quản lý thống kê doanh thu

Admin đăng nhập vào hệ thống với quyền của quản lý và chọn thống kê doanh thu. Hệ
thống hiển thị giao diện thống kê theo quý và tổng theo năm.
2.2. Đặc tả UseCase
2.2.1. UseCase tổng quát

2.2.2. UseCase “Đăng nhập”

Use case: {UC_01_ Đăng nhập hệ thống}

Nhân viên, quản lý đăng nhập thành công để thực hiện được
Mục đích
các công việc của mình.

Cho phép nhân viên, quản lý đăng nhập hệ thống để sử dụng


Mô tả các chức năng được hỗ trợ đối với đối tượng nhân viên,
quản lý.

Tác nhân Nhân viên, quản lý

Điều kiện trước Truy cập vào phần mềm quản lý cửa hàng bánh mỳ

- Nhập tên tài khoản


Luồng sự kiện chính - Nhập mật khẩu của tài khoản
(Basic flows) - Đăng nhập vào hệ thống (có thể tích vào ô ghi nhớ đăng
nhập)
- Nếu để trống thông tin thì hệ thống sẽ thông báo không
Luồng sự kiện phụ thể để trống thông tin.
(Alternative Flows) - Nếu nhập sai tài khoản hoặc mật khẩu thì hệ thống sẽ
báo sai thông tin đăng nhập hoặc tài khoản đã bị khóa

Đăng nhập thành công và bắt đầu sử dụng các chức năng
Điều kiện sau
khác của hệ thống .

2.2.3. UseCase “Quản lý bán hàng”

Use case: {UC_02_ Quản lý bán hàng}

Mục đích Quản lý bán hàng.

Cho phép nhân viên, quản lý đăng nhập hệ thống để tạo đơn
Mô tả
hàng và xuất hóa đơn.

Tác nhân Nhân viên, quản lý

- Truy cập vào phần mềm quản lý cửa hàng bánh mỳ


Điều kiện trước - Đăng nhập thành công với quyền truy cập của nhân viên
hoặc quản lý.

- Kích chọn mục quản lý bán hàng


Luồng sự kiện - Thêm sản phẩm vào giỏ hàng ( nếu thêm nhầm có thể xóa
chính (Basic flows) sản phẩm từ giỏ hàng).
- Xuất hóa đơn

Luồng sự kiện phụ - Chưa chọn sản phẩm khi thêm vào giỏ hàng
(Alternative
- Chưa chọn sản phẩm khi muốn xóa khỏi giỏ hàng
Flows)

Điều kiện sau - Xuất hóa đơn và tiến hành lập hóa đơn.

2.2.4. UseCase “Quản lý nhân viên”

Use case: {UC_03_ Quản lý nhân viên}

Mục đích Quản lý nhân viên

Cho phép quản lý đăng nhập hệ thống để sử dụng các chức


năng được hỗ trợ như là thêm, sửa, xóa nhân viên hoặc cấp tài
Mô tả
khoản, xóa tài khoản và cấp lại mật khẩu cho nhân viên trong
hệ thống.

Tác nhân Quản lý

- Đăng nhập thành công với quyền truy cập của quản lý
Điều kiện trước
- Kích chọn mục quản lý nhân viên

Luồng sự kiện - Quản lý thêm nhân viên


chính (Basic + Nhập thông tin nhân viên cần thêm bao gồm họ tên
flows)
và giới tính
+ Thêm nhân viên
- Quản lý sửa nhân viên
+ Chọn nhân viên cần sửa
+ Nhập thông tin thay đổi của nhân viên
+ Tiến hàng lưu
- Quản lý xóa nhân viên
+ Chọn nhân viên cần xóa
+ Tiến hành xóa nhân viên
- Quản lý cấp tài khoản cho nhân viên
+ Chọn nhân viên cần cấp tài khoản ( nhân viên chưa
có tài khoản)
+ Nhập tên đăng nhập và mật khẩu
+ Tiến hành cấp tài khoản cho nhân viên
- Quản lý đặt lại mật khẩu cho nhân viên
+ Chọn nhân viên cần đặt lại mật khẩu
+ Mật khẩu mới = tên đăng nhập
+ Đặt lại mật khẩu
- Quản lý xóa tài khoản nhân viên
+ Chọn nhân viên cần xóa tài khoản
+ Chọn xóa tài khoản
- Quản lý xuất file excel
+ Chọn xuất file excel
+ Chọn nơi cần lưu
+ Đặt tên và lưu

- Khi thêm nhân viên nếu để trống thông tin hệ thống sẽ


thông báo.
- Quản lý chưa chọn nhân viên để xóa

Luồng sự kiện - Quản lý chưa chọn nhân viên để sửa


phụ (Alternative - Quản lý chưa chọn nhân viên để cấp tài khoản
Flows) - Quản lý chưa chọn nhân viên để đặt lại mật khẩu
- Quản lý chưa chọn nhân viên để xóa tài khoản hoặc nhân
viên chưa có tài khoản để xóa.
- Thông tin nhập không hợp lệ
- Quản lý nhân viên thành công và lưu lại trong CSDL với
Điều kiện sau
đầy đủ các thông tin đã cập nhật.

2.2.5. UseCase “Quản lý sản phẩm”

Use case: {UC_04_ Quản lý sản phẩm}

Mục đích Quản lý sản phẩm

Cho phép quản lý nắm bắt được các sản phẩm trong hệ thống và
Mô tả
sử dụng các chức năng như thêm, sửa, xóa, tìm kiếm sản phẩm.

Tác nhân Quản lý

- Đăng nhập thành công với quyền truy cập của quản lý
Điều kiện trước
- Kích chọn Quản lý sản phẩm

Luồng sự kiện - Quản lý thêm sản phẩm


chính (Basic + Nhập thông tin sản phẩm cần thêm bao gồm tên sản
flows)
phẩm, loại, số lượng, đơn vị tính, đơn giá.
+ Thêm sản phẩm
- Quản lý sửa sản phẩm
+ Chọn sản phẩm cần sửa
+ Nhập thông tin thay đổi của sản phẩm
+ Tiến hàng lưu
- Quản lý xóa sản phẩm
+ Chọn sản phẩm cần xóa
+ Tiến hành xóa sản phẩm
- Quản lý tìm kiếm sản phẩm
+ Nhập từ khóa tìm kiếm
+ Chọn nút tìm kiếm
+ Hiển thị kết quả tìm kiếm
- Quản lý xuất file excel
+ Chọn xuất file excel
+ Chọn nơi cần lưu
+ Đặt tên và lưu

- Khi thêm sản phẩm nếu để trống thông tin hệ thống sẽ thông
báo.
Luồng sự kiện
phụ (Alternative - Quản lý chưa chọn sản phẩm để xóa
Flows) - Quản lý chưa chọn sản phẩm để sửa
- Thông tin nhập không hợp lệ

- Quản lý sản phẩm thành công.


Điều kiện sau - Sản phẩm được thêm, sửa, xóa sẽ được cập nhật trong
CSDL.

2.2.6. UseCase “Quản lý loại”

Use case: {UC_04_ Quản lý sản phẩm}

Mục đích Quản lý loại


Cho phép quản lý nắm bắt được các loại trong hệ thống và sử
Mô tả
dụng các chức năng thêm, sửa, xóa loại.

Tác nhân Quản lý

- Đăng nhập thành công với quyền truy cập của quản lý
Điều kiện trước
- Kích chọn Quản lý sản phẩm và chọn loại

- Quản lý thêm loại


+ Nhập thông tin loại cần thêm bao gồm tên loại
+ Thêm loại
- Quản lý sửa loại
Luồng sự kiện + Chọn loại cần sửa
chính (Basic
flows) + Nhập thông tin thay đổi của loại
+ Tiến hàng lưu
- Quản lý xóa loại
+ Chọn loại cần xóa
+ Tiến hành xóa loại

- Khi thêm loại nếu để trống thông tin hệ thống sẽ thông báo.
Luồng sự kiện - Quản lý chưa chọn loại để xóa.
phụ (Alternative
Flows) - Quản lý chưa chọn loại để sửa.
- Thông tin nhập không hợp lệ.

- Quản lý loại thành công.


Điều kiện sau
- Loại được thêm, sửa, xóa sẽ được cập nhật trong CSDL.
2.2.7. UseCase “Quản lý khuyến mãi”

Use case: {UC_05_ Quản lý khuyến mãi}

Mục đích Quản lý khuyến mãi

Cho phép quản lý hoặc nhân viên nắm bắt được các mã
Mô tả khuyến mãi trong hệ thống và sử dụng các chức năng thêm,
sửa khuyến mãi.

Tác nhân Quản lý, nhân viên

- Đăng nhập thành công


Điều kiện trước
- Kích chọn Quản lý mã khuyến mãi

- Quản lý thêm khuyến mãi


+ Nhập thông tin khuyến mãi cần thêm bao gồm tên
chương trình, phần trăm giảm, điều kiện, ngày bắt
đầu, ngày kết thúc.
Luồng sự kiện + Thêm khuyến mãi
chính (Basic flows)
- Quản lý sửa khuyến mãi
+ Chọn khuyến mãi cần sửa
+ Nhập thông tin thay đổi của khuyến mãi
+ Tiến hàng lưu

- Khi thêm khuyến mãi nếu để trống thông tin hệ thống sẽ


Luồng sự kiện phụ thông báo.
(Alternative
- Quản lý hoặc nhân viên chưa chọn khuyến mãi để sửa.
Flows)
- Thông tin nhập không hợp lệ

Điều kiện sau - Quản lý mã khuyến mãi thành công


- Mã khuyến mãi được thêm, sửa sẽ được cập nhật trong
CSDL.

2.2.8. UseCase “Quản lý khách hàng”

Use case: {UC_06_ Quản lý khách hàng}

Mục đích Quản lý khách hàng

Cho phép quản lý, nhân viên nắm bắt được các khách hàng có
Mô tả trong hệ thống và sử dụng các chức năng như thêm, sửa, xóa,
tìm kiếm khách hàng.

Tác nhân Quản lý, nhân viên

- Đăng nhập thành công


Điều kiện trước
- Kích chọn Quản lý khách hàng

Luồng sự kiện - Quản lý thêm khách hàng


chính (Basic + Nhập thông tin khách hàng cần thêm bao gồm họ
flows)
đệm, tên, giới tính.
+ Thêm khách hàng.
- Quản lý sửa khách hàng
+ Chọn khách hàng cần sửa.
+ Nhập thông tin thay đổi của khách hàng.
+ Tiến hàng lưu.
- Quản lý xóa khách hàng
+ Chọn khách hàng cần xóa.
+ Tiến hành xóa khách hàng.
- Quản lý tìm kiếm khách hàng
+ Nhập từ khóa tìm kiếm
+ Chọn nút tìm kiếm
+ Hiển thị kết quả tìm kiếm

- Khi thêm khách hàng nếu để trống thông tin hệ thống sẽ


thông báo.
Luồng sự kiện
phụ (Alternative - Quản lý, nhân viên chưa chọn khách hàng để xóa.
Flows) - Quản lý, nhân viên chưa chọn khách hàng để sửa.
- Thông tin nhập không hợp lệ.

- Quản lý khách hàng thành công


Điều kiện sau - Khách hàng được thêm, sửa, xóa sẽ được cập nhật trong
CSDL.

2.2.9. UseCase “Quản lý hóa đơn”

Use case: {UC_06_ Quản lý hóa đơn}

Mục đích Quản lý hóa đơn

Cho phép quản lý, nhân viên nắm bắt được các hóa đơn có trong
Mô tả hệ thống bao gồm thông tin hóa đơn và chi tiết hóa đơn, tìm
kiếm hóa đơn.
Tác nhân Quản lý, nhân viên

- Đăng nhập thành công.


Điều kiện trước
- Kích chọn Quản lý hóa đơn.

- Quản lý tìm kiếm hóa đơn


+ Nhập ngày bắt đầu và kết thúc.
+ Nhấn Enter.
+ Các hóa đơn trong thời gian tìm kiếm hiển thị.
Luồng sự kiện - Quản lý xem thông tin hóa đơn
chính (Basic
flows) + Chọn hóa đơn cần xem
+ Hiển thị thông tin hóa đơn
- Quản lý chi tiết hóa đơn
+ Chọn hóa đơn cần hiển thị chi tiết
+ Hiển thị chi tiết hóa đơn

Luồng sự kiện - Quản lý, nhân viên chưa nhập thời gian tìm kiếm.
phụ (Alternative - Quản lý, nhân viên chưa chọn hóa đơn.
Flows) - Quản lý, nhân viên chọn sai hóa đơn.

Điều kiện sau - Quản lý hóa đơn thành công


2.2.10.UseCase “Quản lý lập hóa đơn”

Use case: {UC_07_ Lập hóa đơn }

Mục đích Lập hóa đơn.

Lập hóa đơn để quản lý có thể theo dõi doanh thu của cửa
Mô tả hàng, để khách hàng biết được số tiền mình phải trả cho các
món ăn.

Tác nhân Nhân viên, quản lý

- Đăng nhập thành công.


Điều kiện trước
- Thêm giỏ hàng và xuất hóa đơn để tiến hành lập hóa đơn.

- Chọn khách hàng (nếu khách hàng không có trong hệ


thống tiến hành thêm khách hàng)

Luồng sự kiện - Chọn mã giảm giá (nếu các mã giảm giá không hợp lệ
chính (Basic flows) chọn không giảm giá)
- Thanh toán
- In hóa đơn (nếu cần)

Luồng sự kiện phụ - Nhân viên, quản lý chưa chọn khách hàng.
(Alternative
Flows) - Nhân viên, quản lý chưa chọn mã giảm giá.

- Lập hóa đơn thành công.


Điều kiện sau
- Hóa đơn được thêm và sẽ được lưu vào CSDL.
2.2.11. UseCase “Thống kê doanh thu”

Use case: {UC_08_ thống kê doanh thu}

Mục đích Thống kê doanh thu của cửa hàng

Thống kê doanh thu và thống kê số món, số khách hàng, số


Mô tả
nhân viên.

Tác nhân Quản lý

- Đăng nhập thành công.


Điều kiện trước
- Kích chọn thống kê doanh thu.

Luồng sự kiện chính - Quản lý chọn khoảng thời gian cần thống kê.
(Basic flows) - Hệ thống hiển thị thông tin thống kê.

Luồng sự kiện phụ - Quản lý chưa chọn khoảng thời gian để thống kê doanh
(Alternative Flows) thu

- Theo dõi được doanh thu của cửa hàng theo quý của
năm.
Điều kiện sau
- Theo dõi được tổng số nhân viên, số sản phẩm, số khách
hàng.
2.3. Biểu đồ tuần tự
2.4. Thiết kế cơ sở dữ liệu
2.4.1. Mô hình quan hệ CSDL

Danh sách các bảng trong CSDL


STT Tên bảng Mô tả
1 cthoadon Bảng chi tiết hóa đơn
2 giamgia Bảng giảm giá
3 hoadon Bảng hóa đơn
4 khachhang Bảng khách hàng
5 loai Bảng loại
6 nhanvien Bảng nhân viên
7 san pham Bảng sản phẩm
8 taikhoan Bảng tài khoản

2.4.2. Bảng cthoadon

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaHD Int(11) Mã hóa đơn
2 MaSP Int(11) Mã sản phẩm
3 SoLuong Int(11) Số lượng
4 DonGia Int(11) Đơn giá
5 ThanhTien Int(11) Thành tiền
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng
1 cthoadon_ibfk_1 MaHD hoadon
2.4.3. Bảng giamgia

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaGiam Int(11) Mã giảm
2 TenGiamGia Text Tên giảm giá
3 PhanTramGiam Int(11) Phần trăm giảm giá
4 DieuKien Int(11) Điều kiện
5 NgayBD Date Ngày bắt đầu
6 NgayKT Date Ngày kết thúc
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng

2.4.4. Bảng hoadon

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaHD Int(11) Mã hóa đơn
2 MaKH Int(11) Mã khách hàng
3 MaNV Int(11) Mã nhân viên
4 NgayLap Date Ngày lập
5 TongTien Int(11) Tổng tiền
6 GhiChu Text Ghi chú
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng
1 hoadon_ibfk_1 MaNV nhanvien
2 hoadon_ibfk_2 MaKH khachhang

2.4.5. Bảng khachhang

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaKH Int(11) Mã khách hàng
2 Ho Varchar(50) Họ
3 Ten Varchar(50) Tên
4 GioiTinh Varchar(3) Giới tính
5 TongChiTieu Int(11) Tổng chi tiêu
6 TinhTrang Int(11) Tình trạng
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng
2.4.6. Bảng loai
Mô tả chi tiết các cột
STT Tên cột Kiểu dữ liệu Mô tả
1 MaLoai Int(11) Mã loại
2 TenLoai Text Tên loại
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng

2.4.7. Bảng nhanvien

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaNV Int(11) Mã nhân viên
2 Ho Varchar(50) Họ
3 Ten Varchar(50) Tên
4 GioiTinh Varchar(3) Giới tính
5 ChucVu Varchar(50) Chức vụ
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng

2.4.8. Bảng sanpham

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaSP Int(11) Mã sản phẩm
2 TenSP Varchar(255) Tên sản phẩm
3 MaLoai Int(11) Mã loại
4 SoLuong Int(11) Số lượng
5 DonViTinh Varchar(50) Đơn vị tính
6 HinhAnh Varchar(255) Hình ảnh
7 DonGia Int(11) Đơn giá
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng
1 sanpham_ibfk_1 MaLoai loai
2.4.9. Bảng taikhoan

Mô tả chi tiết các cột


STT Tên cột Kiểu dữ liệu Mô tả
1 MaNV Int(11) Mã nhân viên
2 TenDangNhap Varchar(255) Tên đăng nhập
3 MatKhau Varchar(255) Mật khẩu
4 Quyen Varchar(255) Quyền
5 TrangThai Int(11) Trạng thái
Khóa ngoài
STT Tên Cột khóa ngoài Quan hệ với bảng
1 taikhoan_ibfk_1 MaNV nhanvien
2 taikhoan_ibfk_2 Quyen phanquyen

You might also like