Mục đích đề tài Mục tiêu của phần mềm là quản lý các hoạt động liên quan đến quán café bao gồm quản lý nhân viên, nguyên liệu, trang thiết bị, thống kê và tạo báo cáo.. Chức năng
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VÂN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
-o0o -BÁO CÁO BÀI TẬP MÔN HỌC
Đặc tả phần mềm
Đề tài : Xây dựng trang web quản lý cửa hàng cafe
Sinh viên thực hiện: Trần Khoa Trường-201200382 - Lớp CNTT2 - K61
Hà Nội, tháng 9 năm 2023
Trang 2I TỔNG QUAN VỀ ĐỀ TÀI
1 Đặc tả tổng quan yêu cầu
Quán cafe là nơi tuyệt vời để tránh xa cuộc sống hối hả, nơi bạn
có thể thư giãn và thả hồn giữa không gian ấm áp và thơ mộng Với bàn ghế thoải mái, ánh đèn mềm mại và hương vị của cà phê thơm ngon, quán cafe mang đến cho bạn cảm giác ấm cúng và thân thuộc Bạn có thể đọc sách, làm việc, hoặc đơn giản là quan sát cuộc sống bên ngoài qua cửa sổ Đồ uống đa dạng và bữa sáng ngon lành thường
có sẵn, biến quán cafe thành điểm đến lý tưởng cho mọi thời điểm trong ngày
Người bán và doanh nghiệp của quán cafe đóng một vai trò quan trọng trong việc tạo ra một trải nghiệm đáng nhớ cho khách hàng Họ thường là những người đam mê về cà phê và nghệ thuật pha chế, luôn tận tâm phục vụ khách hàng với nụ cười thân thiện Doanh nghiệp quán cafe thường phải xem xét nhiều khía cạnh, từ việc lựa chọn nguồn cung cấp cà phê chất lượng đến việc thiết kế không gian và menu đa dạng Họ cũng cố gắng duy trì môi trường thoải mái và sáng tạo để khách hàng cảm thấy thoải mái và thư giãn
Từ đó, ta có thể thấy đây là nơi hết sức quan trọng đối với chúng
ta hiện nay để trực tiếp kết nối lại với nhau
2 Mục đích đề tài
Mục tiêu của phần mềm là quản lý các hoạt động liên quan đến quán café bao gồm quản lý nhân viên, nguyên liệu, trang thiết bị, thống kê và tạo báo cáo
Phần mềm sẽ giúp quán café tối ưu quá trình quản lý, vận hành và đem lại dịch vụ tốt hơn cho khách hàng và chủ sở hữu
3 Kịch bản tiêu biểu
Đặt Hàng:
Trang 3Chức năng: Quản lý đặt hàng từ các nhà cung cấp để cung cấp nguyên liệu và sản phẩm cần thiết cho quán cafe Hành động:
Gọi điện thoại hoặc liên hệ với các nhà cung cấp
Xác định sản phẩm cần đặt hàng và số lượng
Xác định thời gian và điều kiện giao hàng
Thực hiện bởi: Chủ quán cafe
Kiểm tra hàng tồn:
Chức năng: Kiểm tra tồn kho hiện tại để xác định sản phẩm nào cần phải đặt hàng thêm
Hành động:
Xem danh sách sản phẩm trong kho
So sánh với danh sách đơn hàng đã đặt và sản phẩm cần đặt thêm
Xác định số lượng cần đặt thêm cho từng sản phẩm
Thực hiện bởi: Chủ quán cafe và nhân viên quản lý nhập hàng
Lập Báo Cáo Bán Hàng:
Chức năng: Tạo báo cáo về hoạt động bán hàng để theo dõi hiệu suất kinh doanh của quán cafe
Hành động:
Thu thập thông tin về doanh số bán hàng hàng ngày, tuần hoặc tháng
Tính toán tỷ lệ lợi nhuận
Xác định sản phẩm bán chạy và sản phẩm tồn kho
Phân tích dữ liệu để xem xét xu hướng bán hàng
Thực hiện bởi: Nhân viên kế toán hoặc quản lý kinh doanh
Quản Lý Nhân Viên:
Trang 4Chức năng: Đảm bảo rằng nhân viên của quán cafe hoạt động hiệu quả và tuân thủ các quy tắc và quy định nội bộ Hành động:
Quản lý thời gian làm việc và lịch làm việc của nhân viên Đào tạo và hướng dẫn nhân viên mới
Theo dõi hiệu suất làm việc và đánh giá nhân viên
Xử lý các vấn đề liên quan đến nhân viên, bao gồm việc nghỉ phép, thay đổi lịch làm việc, và phản ánh vấn đề nội bộ
Thực hiện bởi: Quản lý nhân sự hoặc chủ quán cafe nếu không có quản lý nhân sự riêng
4 Mô tả các đối tượng:
Chủ Sở Hữu Quán Cafe:
Vai trò: Người sở hữu và quản lý chung của quán cafe, có quyền quyết định về chiến lược kinh doanh và tài chính Hành động: Đưa ra quyết định lớn về menu, giá cả, mở rộng kinh doanh, và quản lý tổng quan
Nhân Viên:
Vai trò: Nhân viên trong quán cafe, có nhiều vị trí khác nhau như đầu bếp, phục vụ, thu ngân, và nhân viên làm sạch
Hành động: Thực hiện công việc hàng ngày như chế biến thức ăn, phục vụ khách hàng, quản lý đơn hàng và thu tiền,
và duy trì sạch sẽ quán cafe
Trang 5Trang Thiết Bị:
Vai trò: Bao gồm tất cả các thiết bị và trang thiết bị cần thiết để hoạt động quán cafe, như máy pha cà phê, bếp, bàn ghế, và hệ thống thanh toán
Hành động: Được sử dụng hàng ngày để phục vụ khách hàng và duy trì hoạt động suôn sẻ của quán cafe
Cơ Sở Dữ Liệu:
Vai trò: Là nền tảng lưu trữ dữ liệu liên quan đến menu, danh sách khách hàng, lịch sử đơn hàng, và thông tin về nhân viên
Hành động: Lưu trữ và quản lý dữ liệu, cho phép truy cập thông tin cần thiết cho việc quản lý và báo cáo kinh doanh
Hệ Thống Thống Kê:
Vai trò: Dùng để tạo báo cáo và thống kê về hoạt động kinh doanh của quán cafe
Hành động: Tự động tạo báo cáo về doanh số bán hàng, lợi nhuận, và các thông tin quan trọng khác để hỗ trợ quyết định kinh doanh
Hệ Thống Quản Lý Quán Cafe:
Vai trò: Hệ thống phần mềm đặc biệt dùng để quản lý các khía cạnh của quán cafe, bao gồm việc đặt hàng, quản lý menu, quản lý khách hàng, và theo dõi đơn hàng
Hành động: Hỗ trợ các tác nhân trong việc quản lý hoạt động hàng ngày của quán cafe và cung cấp giao diện để tương tác với dữ liệu và thông tin
Trang 6Hệ Thống Bảo Mật:
Vai trò: Bảo vệ thông tin quan trọng của quán cafe khỏi truy cập trái phép và lỗ hổng bảo mật
Hành động: Theo dõi và kiểm tra bảo mật hệ thống, cung cấp quyền truy cập dựa trên vai trò và chức năng của từng tác nhân, và bảo vệ dữ liệu quan trọng của quán cafe
Hệ Thống Thông Báo:
Vai trò: Sử dụng để gửi thông tin và thông báo cho tất cả các đối tượng trong hệ thống, bao gồm chủ sở hữu, nhân viên và khách hàng
Hành động: Gửi thông báo về các sự kiện quan trọng như khuyến mãi, thay đổi menu, và thông báo cho độc giả về các thông tin liên quan đến đơn hàng của họ
Hệ Thống Quản Lý Nhập Kho:
Vai trò: Được sử dụng để quản lý việc nhập hàng mới vào kho, từ việc xác định danh sách cần nhập đến theo dõi quá trình giao nhận hàng
Hành động:
Tạo đơn hàng nhập kho với thông tin chi tiết về sản phẩm,
số lượng, và nhà cung cấp
Theo dõi tiến trình giao hàng từ nhà cung cấp và cập nhật trạng thái nhập kho
Tạo hóa đơn và phiếu nhập kho để ghi chép thông tin liên quan đến việc nhập hàng
Thực hiện bởi: Nhân viên quản lý nhập hàng và hệ thống quản lý hàng tồn kho
Trang 7II Thiết kế sơ đồ phân rã chức năng
III Sơ đồ ERD
Trang 8IV Cài đặt CSDL
Create Table TAIKHOAN
mataikhoan int IDENTITY( , ) PRIMARY KEY,
tendangnhap nvarchar( 30 ) not null,
matkhau varchar( 100 ) not null,
loaitaikhoan nvarchar( 50 ) not null,
)
GO
Create Table KHACH_HANG
makhachhang int IDENTITY( , ) PRIMARY KEY,
tenKH nvarchar( 30 ) not null,
Trang 9sodienthoai nvarchar( 100 ),
email nvarchar( 50 ),
CONSTRAINT khachhang_unique UNIQUE( email , sodienthoai )
)
GO
Create Table BAN
maBan int IDENTITY( , ) PRIMARY KEY,
soBan nvarchar( 30 ) not null,
)
GO
CREATE TABLE NHACUNGCAP
maNCC INT IDENTITY( , ) PRIMARY KEY,
tenNCC NVARCHAR( 100 ) NOT NULL,
diaChi NVARCHAR( 255 ),
email NVARCHAR( 50 ),
soDienThoai NVARCHAR( 20 ),
CONSTRAINT nhacungcap_unique UNIQUE( email , soDienThoai )
);
CREATE TABLE ThuongHieu
maThuongHieu INT IDENTITY( , ) PRIMARY KEY,
tenThuongHieu NVARCHAR( 100 ) NOT NULL,
);
CREATE TABLE LoaiSanPham
maLoaiSanPham INT IDENTITY( , ) PRIMARY KEY,
tenLoaiSanPham NVARCHAR( 100 ) NOT NULL,
);
CREATE TABLE SANPHAM
masanpham INT IDENTITY( , ) PRIMARY KEY,
tenSanPham NVARCHAR( 100 ) NOT NULL,
maLoaiSanPham INT REFERENCES LoaiSanPham ( maLoaiSanPham ),
maThuongHieu INT REFERENCES ThuongHieu ( maThuongHieu ),
giaban FLOAT NOT NULL,
mota NVARCHAR( 100 ) null,
Anh Image null,
CONSTRAINT sanpham_unique UNIQUE( tenSanPham )
);
GO
CREATE TABLE ChiTietSanPham
MaChiTietSanPham INT IDENTITY( , ) PRIMARY KEY,
MaSanPham INT REFERENCES SanPham ( MaSanPham ),
machitietpnk int FOREIGN KEY
REFERENCES CHITIETPNK machitietpnk ),
TrangThai NVARCHAR( 100 ),
Ten NVARCHAR( 255 ),
SoDinhDanh NVARCHAR( 50 ) UNIQUE,
NSX datetime not null,
NHH datetime not null,
CONSTRAINT chitietsanpham_unique UNIQUE( machitietpnk , SoDinhDanh ), );
GO
Create Table DONDATHANG
Trang 10madondathang int IDENTITY( , ) PRIMARY KEY,
user1: khách hàng đặt hàng
mataikhoan1 int FOREIGN KEY
REFERENCES KHACH_HANG makhachhang ),
user2:nhân viên tạo đơn đặt
mataikhoan2 int FOREIGN KEY
REFERENCES TAIKHOAN mataikhoan ),
maBan int FOREIGN KEY
REFERENCES BAN maBan ),
trangthaitt nvarchar( 50 ) not null,
thoigian datetime null default( GETDATE ())
tongtien float null,
ghichu nvarchar( 255 ) null,
CONSTRAINT dondathang_unique UNIQUE( mataikhoan1 , thoigian ) )
GO
Create Table PHIEUNHAPKHO
maphieunhapkho int IDENTITY( , ) PRIMARY KEY,
user: nhân viên lập phiếu
maNV int FOREIGN KEY
REFERENCES TAIKHOAN mataikhoan ),
: nhà cung cấp
maNCC int FOREIGN KEY
REFERENCES NHACUNGCAP maNCC ),
thoigian datetime null default( GETDATE ())
tongtien float null,
ghichu nvarchar( 255 ) null,
CONSTRAINT phieunhap_unique UNIQUE( maNV , thoigian )
)
GO
create table CHITIETPNK (
machitietpnk int IDENTITY( , ) PRIMARY KEY,
masanpham int FOREIGN KEY
REFERENCES SANPHAM masanpham ),
maphieunhap int FOREIGN KEY
REFERENCES Phieunhapkho maphieunhapkho ),
soluong int not null,
gianhap float,
tongtien float null,
lohang nvarchar( 255 ) null,
NSX datetime not null,
NHH datetime not null,
CONSTRAINT cttiet_pnk_unique UNIQUE( masanpham , maphieunhap ) )
GO
create table CHITIETDDH (
machitietDDH int IDENTITY( , ) PRIMARY KEY,
masanpham int FOREIGN KEY
REFERENCES SANPHAM masanpham ),
madondat int FOREIGN KEY
REFERENCES Dondathang madondathang ),
soluong int not null,
tongtien float null,
Trang 11ghichu nvarchar( 255 ) null,
CONSTRAINT ctiet_ddh_unique UNIQUE( masanpham , madondat )
)
create table THANHPHANSP (
mathanhphan int IDENTITY( , ) PRIMARY KEY,
masanpham int FOREIGN KEY
REFERENCES SANPHAM masanpham ),
tenTP NVARCHAR( 255 ),
soluong int not null,
ghichu nvarchar( 255 ) null,
)
Ví dụ điền 1 số bản ghi
INSERT INTO TAIKHOAN (tendangnhap, matkhau, loaitaikhoan) VALUES ('user1', 'pass1', 'KhachHang'),
('user2', 'pass2', 'NhanVien'),
('user3', 'pass3', 'QuanLy'),
('user4', 'pass4', 'KhachHang'),
('user5', 'pass5', 'NhanVien');
INSERT INTO KHACH_HANG (tenKH, sodienthoai, email) VALUES
('KhachHang1', '123456789', 'khachhang1@gmail.com'),
('KhachHang2', '987654321', 'khachhang2@gmail.com'),
('KhachHang3', '111222333', 'khachhang3@gmail.com'),
('KhachHang4', '444555666', 'khachhang4@gmail.com'),
('KhachHang5', '777888999', 'khachhang5@gmail.com');
INSERT INTO BAN (soBan) VALUES
('Ban1'),
('Ban2'),
('Ban3'),
('Ban4'),
('Ban5');
INSERT INTO NHACUNGCAP (tenNCC, diaChi, email, soDienThoai) VALUES ('NCC1', 'DiaChi1', 'ncc1@gmail.com', '111111111'),
('NCC2', 'DiaChi2', 'ncc2@gmail.com', '222222222'),
('NCC3', 'DiaChi3', 'ncc3@gmail.com', '333333333'),
('NCC4', 'DiaChi4', 'ncc4@gmail.com', '444444444'),
('NCC5', 'DiaChi5', 'ncc5@gmail.com', '555555555');
INSERT INTO ThuongHieu (tenThuongHieu) VALUES
('ThuongHieu1'),
('ThuongHieu2'),
('ThuongHieu3'),
('ThuongHieu4'),
('ThuongHieu5');
INSERT INTO LoaiSanPham (tenLoaiSanPham) VALUES
Trang 12('LoaiSP2'),
('LoaiSP3'),
('LoaiSP4'),
('LoaiSP5');
INSERT INTO SANPHAM (tenSanPham, maLoaiSanPham, maThuongHieu, giaban, mota) VALUES
('SanPham1', 1, 1, 100.00, 'Mota1'),
('SanPham2', 2, 2, 150.00, 'Mota2'),
('SanPham3', 3, 3, 200.00, 'Mota3'),
('SanPham4', 4, 4, 250.00, 'Mota4'),
('SanPham5', 5, 5, 300.00, 'Mota5');
V Đặc tả module
1.Nhập sản phẩm
-Mục đích: Thêm các sản phẩm mới hoặc sửa đổi, xóa các sản phẩm đang hiện có
-Các bảng liên quan
+Loai SP
+ThuongHieu
-Layout: Gồm 4 dòng để điền các thuộc tính và 1 bảng hiện thị tất cả sản phẩm hiện có
-Hoạt động chức năng:
Khi truy vấn thì hệ thống sẽ không cho phép người sử dụng Insert, Update, Delete Và các thông tin hiển thị ra:
+ Số thứ tự + Mã SP + Tên SP + Mã loại SP + Mã thương hiệu Khi kick vào button “Lưu” hệ thống sẽ tự động kiểm tra và đưa ra danh sách đã được cập nhật lại và được hiển thị trong bảng và người sử dụng có thể Insert, Update ở đây.Block này hiển thị các thông tin sau:
+ Số thứ tự + Mã SP + Tên SP + Mã loại SP + Mã thương hiệu 2.Nhập chi tiết hóa đơn
Trang 13-Mục đích: Thêm các hóa đơn mới hoặc xóa các hóa đơn đang hiện có Đồng thời điền chi tiết của các hóa đơn
-Các bảng liên quan
+KhachHang +Tai Khoan +SanPham +ChiTietPhieuNhapKho
-Hoạt động chức năng:
Khi truy vấn thì hệ thống sẽ không cho phép người sử dụng Insert, Update, Delete Và các thông tin hiển thị ra:
+MaDD +MaCHiTietDD +So luong +TongTien Khi nhân viên nhập hóa đơn phần thì sẽ chọn button “Lưu” khi đó hệ thống sẽ kiểm tra các điều kiện như: So luong, MaCHiTietDD … nếu thỏa mãn các điều kiện đó thì lưu thành công