Phạm vi của tài liệu này tập trung vào việc thu thập, phân tích và mô tả chi tiết các yêu cầu chức năng và phi chức năng cho hệ thống quản lý quán cafe.. Cụ thể, tài liệu này sẽ trình bà
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN MÔN: THU THẬP VÀ PHÂN TÍCH YÊU CẦU
ĐỀ TÀI : PHẦN MỀM QUẢN LÝ QUÁN CAFE CHO HIGHLAND CAFE
Giảng viên hướng dẫn: ThS Nguyễn Thị Tâm
Sinh viên thực hiện: Cao Hoàng Long - 2110A05
Phạm Văn Long - 2110A05
Đặng Tiến Đạt - 2110A05
Lê Văn Sáng - 2110A05
Đỗ Trà My - 2110A05
Hà Nội 2024
Trang 2PHIÊN BẢN TÀI LIỆU
bản Mô tả sửa đổi tài liệu Tác giả tài liệu
20/09 0.0 Tạo tài liệu
Trang 4Mục lục
1 Giới thiệu
1.1 Mục đích của tài liệu 1.2 Phạm vi dự án 1.3 Phạm vi của tài liệu 1.4 Tài liệu liên quan 1.5 Thuật ngữ/Từ viết tắt và Định nghĩa 1.6 Rủi ro và Giả định 2 Tổng quan về hệ thống/giải pháp
2.1 Biểu đồ ngữ cảnh/ Biểu đồ giao diện/ Biểu đồ luồng dữ liệu, Luồng màn hình ứng dụng, Sơ đồ trang web, Luồng quy trình 2.2 Các tác nhân hệ thống 2.3 Sự phụ thuộc và tác động của thay đổi 3 Thông số kỹ thuật chức năng
3.1 <Tiêu đề> 4 Cấu hình hệ thống
5 Các yêu cầu hệ thống khác/Yêu cầu phi chức năng
6 Yêu cầu báo cáo
7 Yêu cầu tích hợp
7.1 Xử lý ngoại lệ/Báo cáo lỗi 8 Yêu cầu di chuyển/chuyển đổi dữ liệu
8.1 Chiến lược chuyển đổi dữ liệu 8.2 Chuẩn bị chuyển đổi dữ liệu 8.3 Thông số kỹ thuật chuyển đổi dữ liệu 9 Tài liệu tham khảo
10 Các vấn đề mở
Phụ lục
Trang 51 Giới thiệu
1.1 Mục đích của tài liệu
< Mô tả Tài liệu đặc tả chức năng là gì và mục đích của nó đối với người nghe Bao gồm bên dưới là mục đích tiêu chuẩn của FSD, nhưng hãy sửa đổi mô tả nếu cần.>
Mục đích của tài liệu đặc tả yêu cầu phần mềm này là cung cấp một cái nhìntổng quan, dễ hiểu về các yêu cầu, thành phần của dự án
Tài liệu này được cung cấp nhằm đưa ra rõ ràng yêu cầu cụ thể, luồng chứcnăng dữ liệu hoạt động của phần mềm Ngoài ra trong môi trường thực tếbên ngoài tài liệu này còn phục vụ cho việc quản lý cửa hàng một cáchnhanh chóng và hiệu quả hơn
Tài liệu này được viết dựa theo chuẩn của Tài liệu đặc tả yêu cầu phần mềm(Software Requirements Specifications - SRS) được giải thích trong "IEEE-830-1998-IEEE Recommended Practice for Software RequirementsSpecifications" và "IEEE-1471-IEEE Recommended Practice forArchitectural Description of Software-Intensive Systems" Với cấu trúc tàiliệu được chia thành 3 phần như sau:
Phần 1: Giới thiệu tổng quan (I)
Phần 2: Mô tả chung (II)
Phần 3: Các yêu cầu chức năng của hệ thống (III)
Quản lý thông tin cơ bản:
Trang 6● Khách hàng: Quản lý thông tin khách hàng thân thiết, lịch sử giao dịch.
● Nhân viên: Quản lý thông tin cá nhân, lịch làm việc, lương thưởng
● Sản phẩm: Quản lý danh mục sản phẩm, giá cả, nguyên vật liệu
● Bàn ghế: Quản lý số lượng, vị trí, trạng thái bàn ghế
Quản lý bán hàng:
● Lập hóa đơn: Tạo hóa đơn bán hàng nhanh chóng, chính xác
● Thanh toán: Quản lý các hình thức thanh toán, xuất hóa đơn
● Khuyến mãi: Quản lý các chương trình khuyến mãi, thẻ thành viên
Báo cáo thống kê:
● Báo cáo doanh thu, lợi nhuận theo ngày, tuần, tháng, năm
● Báo cáo bán hàng theo sản phẩm, nhân viên
● Báo cáo tồn kho
Quản lý hoạt động khác:
● Quản lý đặt bàn
● Quản lý sự kiện
Giải quyết Nhu cầu và Vấn đề Kinh Doanh
Dự án hướng đến giải quyết các nhu cầu và vấn đề kinh doanh thường gặp của quán cafe như:
● Tăng hiệu quả quản lý:
○ Giảm thiểu sai sót trong quá trình quản lý thủ công
○ Nâng cao tốc độ phục vụ khách hàng
○ Tối ưu hóa quản lý nhân sự và tồn kho
Trang 7● Cải thiện dịch vụ khách hàng:
○ Quản lý thông tin khách hàng hiệu quả, tạo trải nghiệm khách hàng tốt hơn
○ Xử lý đơn hàng nhanh chóng, chính xác
● Tăng doanh thu:
○ Phân tích dữ liệu bán hàng để đưa ra các quyết định kinh doanh hiệu quả
○ Tối ưu hóa giá cả, khuyến mãi
● Quản lý chi phí:
○ Kiểm soát chặt chẽ chi phí nguyên vật liệu, nhân công
○ Phát hiện và ngăn chặn các hoạt động gian lận
● Bảo mật cao: Bảo vệ dữ liệu an toàn, tránh rò rỉ thông tin.
● Cập nhật thường xuyên: Đảm bảo phần mềm luôn hoạt động ổn
định và có các tính năng mới
Lợi ích khi sử dụng giải pháp:
● Nâng cao hiệu quả kinh doanh: Giảm chi phí, tăng doanh thu, cải
thiện dịch vụ khách hàng
● Quyết định kinh doanh chính xác: Dựa trên dữ liệu thống kê chi
tiết
● Tiết kiệm thời gian: Tự động hóa các công việc thủ công.
● Tăng tính chuyên nghiệp: Quản lý quán cafe một cách bài bản,
khoa học
Trang 81.3 Phạm vi của tài liệu
<Nếu có nhiều FSD được tạo cho dự án, hãy mô tả phạm vi cụ thể mà tài liệu này sẽ đề cập Phần 1.2 và 1.3 có thể được kết hợp với nhau>.
Phạm vi của tài liệu này tập trung vào việc thu thập, phân tích và mô tả chi tiết các yêu cầu chức năng và phi chức năng cho hệ thống quản lý quán cafe
Cụ thể, tài liệu này sẽ trình bày:
● Tổng quan về hệ thống: Mô tả chung về hệ thống, các chức năng
chính, các tác nhân tương tác với hệ thống, và các yêu cầu về hiệu năng, bảo mật, v.v
● Đặc tả chi tiết các chức năng: Phân tích và mô tả chi tiết từng
chức năng của hệ thống, bao gồm các luồng xử lý, các trường hợp
sử dụng, các yêu cầu về giao diện người dùng, v.v
● Các yêu cầu phi chức năng: Xác định các yêu cầu về hiệu năng,
bảo mật, khả năng mở rộng, khả năng bảo trì, v.v của hệ thống
● Các yêu cầu về báo cáo: Mô tả các loại báo cáo mà hệ thống cần
cung cấp, bao gồm các thông tin cần có trong mỗi báo cáo và định dạng của báo cáo
● Các yêu cầu về tích hợp: Mô tả các yêu cầu về tích hợp với các hệ
thống khác (nếu có)
● Xử lý ngoại lệ: Mô tả các trường hợp ngoại lệ có thể xảy ra trong
quá trình hoạt động của hệ thống và cách xử lý các ngoại lệ đó
● Yêu cầu di chuyển/chuyển đổi dữ liệu: Mô tả các yêu cầu về di
chuyển và chuyển đổi dữ liệu từ hệ thống cũ sang hệ thống mới (nếu có)
1.4 Tài liệu liên quan
<Thêm bất kỳ tài liệu liên quan nào có liên quan và liên quan đến FSD Một số
ví dụ là Hiến chương dự án, Tài liệu yêu cầu kinh doanh, v.v.>.
Trang 9resourcekey=0-1.5 Thuật ngữ/Từ viết tắt và Định nghĩa
Thuật ngữ/Từ
viết tắt
Định nghĩa/Giải thích Ghi chú
Use case Mô tả sự tương tác đặc trưng
giữa người dùng bên ngoài vào
hệ thốngSoftware
Trang 10● Thay đổi yêu cầu từ phía khách hàng: Trong quá trình phát triển,
khách hàng có thể thay đổi yêu cầu về tính năng, giao diện hoặc quy trình nghiệp vụ, dẫn đến việc phải điều chỉnh thiết kế và phát sinh thêm chi phí
● Khó khăn trong việc tích hợp với các hệ thống hiện có: Quán
cafe có thể đã sử dụng một số hệ thống khác như hệ thống kế toán, quản lý kho Việc tích hợp với các hệ thống này có thể gặp khó khăn về mặt kỹ thuật hoặc dữ liệu
● Vấn đề về bảo mật dữ liệu: Hệ thống lưu trữ thông tin nhạy cảm
của khách hàng và quán cafe, do đó cần đảm bảo an ninh dữ liệu đểtránh rò rỉ thông tin
● Sự cố về hạ tầng kỹ thuật: Sự cố về máy chủ, mạng internet, hoặc
các thiết bị phần cứng có thể làm gián đoạn hoạt động của hệ thống
● Khó khăn trong việc đào tạo người dùng: Nhân viên quán cafe
có thể gặp khó khăn trong việc làm quen và sử dụng hệ thống mới
Giả định:
● Khách hàng sẽ cung cấp đầy đủ thông tin và hợp tác trong quá trình phát triển: Sự hợp tác từ phía khách hàng là rất quan trọng
để đảm bảo hệ thống đáp ứng đúng nhu cầu
● Hệ thống sẽ được triển khai trên một môi trường kỹ thuật ổn định: Cần có đủ băng thông internet, máy chủ, và các thiết bị phần
cứng để đảm bảo hệ thống hoạt động hiệu quả
● Nhân viên quán cafe sẽ được đào tạo đầy đủ để sử dụng hệ thống: Đào tạo người dùng sẽ giúp hệ thống được sử dụng hiệu
quả và giảm thiểu lỗi phát sinh
Để giảm thiểu rủi ro, cần có các biện pháp phòng ngừa như:
● Xác định rõ ràng yêu cầu ngay từ giai đoạn đầu: Thảo luận kỹ
với khách hàng để hiểu rõ nhu cầu và phạm vi dự án
● Lựa chọn công nghệ phù hợp và có khả năng mở rộng: Sử dụng
các công nghệ phổ biến và có khả năng tích hợp cao
● Thực hiện kiểm thử kỹ lưỡng trước khi triển khai: Kiểm tra tất
cả các chức năng và tình huống sử dụng để đảm bảo hệ thống hoạt động ổn định
Trang 11● Xây dựng kế hoạch đào tạo người dùng chi tiết: Hướng dẫn sử
dụng hệ thống một cách rõ ràng và dễ hiểu
● Có phương án dự phòng cho các sự cố kỹ thuật: Sao lưu dữ liệu
thường xuyên và có phương án xử lý sự cố nhanh chóng
Ghi chú bổ sung
Quản lý chung:
Quản lý toàn bộ hoạt động của quán, từ tài chính đến nhân
sự, marketing
Quản lý ca:
Quản lý lịch làmviệc, phân công công việc cho nhân viên trong từng ca làm việc
Tính năng: Thêm
hóa đơn, xử lý thanh toán, lưu trữ thông tinkhách hàng
Bồi bàn: Tiếp nhận đơn hàng, phục vụ khách hàng, thanh toán
Pha chế: Chuẩn
bị đồ uống
Bếp: Chuẩn bị thức ăn
Kế toán: Quản
lý tài chính, xuất
Trang 12Tính năng: Nhập
thông tin, thanh toán
Thực hiện các hành động như đặt hàng, thanh toán, nhận sản phẩm
2.2 Biểu đồ ngữ cảnh/ Biểu đồ giao diện/ Biểu đồ luồng dữ liệu, Luồng màn hình ứng dụng, Sơ đồ trang web , Luồng quy trình
<Cung cấp bất kỳ biểu diễn đồ họa phù hợp nào có liên quan đến hệ thống và
dự án như sơ đồ luồng dữ liệu/giao diện/ngữ cảnh, luồng màn hình ứng dụng,
sơ đồ trang web hoặc luồng quy trình Thêm nhiều tùy theo nhu cầu.>
1 Sơ đồ phân rã chức năng
Trang 13Use case là chức năng mà các Actor
sẽ sử dụng hay thể hiện tương tác giữa người dùng và hệ thống
Biểu diễn mối quan hệ bắt buộc phải
có giữa các use case với nhau
Trang 14Biểu diễn mối quan hệ mở rộng giữa các use case với nhau
a Sơ đồ Use Case tổng
b Use Case dành cho nhân viên
Trang 15c Use Case cho quản lý
Trang 164 Mô Hình Activity Diagram
- Giải thích ký hiệu
a Chức năng tạo tài khoản nhân viên
● Input: Mã nhân viên, Mã loại tài khoản, mật khẩu
● Output: Tạo tài khoản thành công, tài khoản được thêm vào bảng tbl_Taikhoan trong cơ sở dữ liệu
● Process:
+ Vào form thông tin quản lý tài khoản
+ User chọn mã nhân viên và mã loại tài khoản ở combo box Và nhập mật khẩu vào ô text box
+ Click Button “Create Account” để tạo tài khoản
❖ Mã tài khoản sẽ được thêm tự động
❖ Nếu thông tin tài khoản chưa nhập đầy đủ sẽ thông báo “Dữliệu không được bỏ trống”
Trang 17❖ Nếu mã nhân viên đã được tồn tại trong bảng Tài khoản thìthông báo “Tài khoản này đã tồn tại”
❖ Nếu dữ liệu hợp lệ sẽ thêm bản ghi mới vào bảngtbl_Taikhoan và thông báo “Tạo tài khoản thành công”
❖ Nếu dữ liệu sẽ được thêm mới vào Database của bảng Tàikhoản dữ liệu hợp lệ nhưng có lỗi trong quá trình thêm mới
dữ liệu vào bảng Tài khoản vào Database thì hiện thông báo
“Tạo tài khoản thất bại”
● Biểu đồ luồng xử lý
Trang 18● Biểu đồ tuần tự:
Trang 19● Các unit cần cho chức năng tạo tài khoản
FK_iMaloaiT
K, sMatkhau
Msg “Dữ liệu không được bỏtrống”
khoản này đã tồn tại”
FK_iMaNV, FK_iMaloaiT
K, sMatkhau
Msg “Tạo tài khoản thành công”
● Từng unit được thiết kế như sau
○ checkrong()
Trang 20○ GetAccountByMaNV()
○ insertTK()
Trang 21● Thiết kế chi tiết checktaikhoan()
b Chức năng đăng nhập
● Input: Tài khoản, mật khẩu
Trang 22● Output: Chuyển sang trang chủ
● Process:
■ Sau khi nhập đầy đủ thông tin: Tên đăng nhập và mật khẩu,người dùng nhấn button “Đăng nhập” Nếu dữ liệu hợp lệ thì
sẽ đưa người dùng sang trang kế tiếp với quyền tương ứng
■ Nếu dữ liệu về tài khoản và mật khẩu không đúng, thì hiện rathông báo “Tài khoản hoặc mật khẩu không chính xác” vàyêu cầu nhập thông tin chính xác, còn nếu cả 2 đều trống thìhiện ra thông báo yêu cầu nhập đủ cả 2 trường thông tin
● Biểu đồ tuần tự:
● Các unit cần có cho chức năng đăng nhập:
Trang 231 LoginView btnDangNhap_
Click()
PK_iMaNV,sMatkhau
“Tên đăng nhậphoặc mật khẩukhông được đểtrống” hoặc khôngtrả về
oller
check() id, password “Thiếu thông tin
bắt buộc” hoặckhông trả về
oller
login() id, password “Tài khoản hoặc
mật khẩu khôngchính xác” hoặckhông trả về
4 LoginModel isCheckAccou
nt
PK_iMaNV, sTenNV, sSDT, sDiachi, dNgaysinh, bGioitinh
Trả về kết quả
● Thiết kế từng unit:
■ LoginController:: check()
Trang 24■ LoginController:: login()
■ LoginModel:: isCheckAccount
■ LoginView:: btnDangNhap_Click()
Trang 25c Chức năng lập hóa đơn cho khách hàng
● Input: Thông tin đơn hàng được nhập vào từ nhân viên
● Output: “Lập hóa đơn thành công” hoặc “Lập hóa đơn thất bại”
● Biểu đồ tuần tự:
Trang 26● Các unit cần có cho chức năng lập hóa đơn:
FK_iMaNV,FK_iMaDoUong,TenDoUong,SoLuong, DonGia
“Hãy thêm đồ uốngvào hóa đơn” hoặc không trả về
)
PK_iMaHoaDon “Hoá đơn đã tồn
tại” hoặc không trả
“thêm hóa đơn thành công”
● Thiết kế từng unit:
Trang 27■ cHoaDon:: CheckRong()
■ cHoaDon:: CheckHoaDon()
■ mHoaDon:: GetMaHD()
Trang 28■ Bộ phận quản lý yêu cầu xóa nhân viên theo mã nhân viên.
■ Nếu mã nhân viên không được nhập trước khi xóa, hệ thống
sẽ thông báo “Hãy nhập mã nhân viên”
■ Nếu mã nhân viên không tồn tại trong database, hệ thống sẽ thông báo “Mã nhân viên không tồn tại”
■ Sau khi xóa thành công (hoặc thất bại), hệ thống sẽ thông báo
“Xóa nhân viên thành công (hoặc thất bại)” Khi xóa thành công, thông tin nhân viên sẽ biến mất khỏi danh sách nhân viên
Trang 29● Biểu đồ tuần tự:
● Các unit cần có cho chức năng xóa nhân viên:
thành công”
“Xóa tài khoảnkhoản thất bại”
không tồn tại hoặcchưa được nhập”
Trang 303 mXoaNV CheckNV() PK_iMaNV “Mã nhân viên
Trang 31■ CheckNV():
■ DeleteMaNV():
e Chức năng lập phiếu xuất kho
● Tác giả: Nguyễn Thành Đức
● Input: PK_iMaPX, iMaNV, dNgayXuat
● Output: Lập phiếu thành công
● Process:
■ Vào trang Quản lý phiếu xuất kho, nhập các thông tin cần thêm
■ Kiểm tra tính đúng đắn của dữ liệu:
○ Mã phiếu xuất, mã nhân viên phải tồn tại
○ Ngày xuất phiếu phải hợp lệ (dd/mm/yyyy)
■ Kiểm tra xem bản ghi mới đã tồn tại chưa:
○ Nếu đã tồn tại thì phải yêu cầu nhập lại các thông tin
Trang 32○ Nếu chưa tồn tại thì tiếp tục thực hiện các bước
■ Lập phiếu xuất kho
○ Thông tin của phiếu xuất kho sẽ được thêm vào database và thêm vào bảng tbl_Phieuxuatkho
1 vPhieuXuat createPhieuXuat() PK_iMaPX,
FK_iMaNV,dNgayXuat
“Thêm phiếu thànhcông/ không thànhcông”
Trang 332 cPhieuXuat validate_inforPhie
uXuat
PK_iMaPX,FK_iMaNV
“Valid/ Invalid”
3 cPhieuXuat ThemPhieuXuat() PK_iMaPX,
FK_iMaNV,dNgayXuat
“Thêm phiếu thànhcông/ không thànhcông”
4 mPhieuXuat checkPhieuXuat() PK_iMaPX,
FK_iMaNV,dNgayXuat
“Phiếu đã tồn tại”
5 mPhieuXuat insertPhieuXuat() PK_iMaPX,
FK_iMaNV,dNgayXuat
“Thêm phiếu thànhcông/ không thànhcông”
● Thiết kế từng unit:
■ createPhieuXuat():
■ validate_inforPhieuXuat:
Trang 34■ ThemPhieuXuat():
■ checkPhieuXuat():
■ insertPhieuXuat():
Trang 35f Chức năng chỉnh sửa phiếu xuất kho
● Input: PK_iMaPX, iMaNV, dNgayXuat, FK_iMaNL, iSoluong, fDongia
● Output: Chỉnh sửa phiếu thành công / không thành công
● Process:
■ Vào trang Quản lý phiếu xuất kho, nhập các thông tin mong muốn được chỉnh sửa ở phiếu xuất kho
■ Kiểm tra tính đúng đắn của dữ liệu mới:
○ Nếu dữ liệu không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi cho người dùng
○ Mã phiếu xuất, mã nhân viên, mã nguyên liệu phải tồn tại
○ Ngày xuất phiếu phải hợp lệ (dd/mm/yyyy)
○ Số lượng và đơn giá phải phù hợp với định dạng tiêu chuẩn
■ Kiểm tra xem phiếu xuất kho cần chỉnh sửa đã tồn tại chưa:
○ Nếu chưa tồn tại thì sẽ thông báo lỗi “Phiếu xuất không không tồn tại”
○ Nếu đã tồn tại thì tiếp tục thực hiện các bước
■ Chỉnh sửa phiếu xuất kho
○ Thông tin mới của phiếu xuất kho sẽ được ghi đè lên thông tin cũ của phiếu đó ở trên database và ở bảng tbl_Phieuxuatkho
● Biểu đồ tuần tự:
Trang 36● Các unit cần có cho chức năng chỉnh sửa phiếu xuất kho:
1 vPhieuXuat Request_editPX() PK_iMaPX,
FK_iMaNV, dNgayXuat, FK_iMaNL, iSoluong, fDongia
“Đã tồn tại / chưa tồn tại Phiếu xuất trong hệ thống, Dữ liệu đưa vào hợp
lệ / không hợp lệ”
“Phiếu xuất đã tồntại hoặc không tồn
Trang 373 cPhieuXuat ValidateNewData
()
PK_iMaPX,FK_iMaNV,dNgayXuat,FK_iMaNL,iSoluong,fDongia
Thông báo “Invalid/ Valid”
FK_iMaNV,dNgayXuat,FK_iMaNL,iSoluong,fDongia
“Chỉnh sửa thànhcông / không thànhcông”
● Thiết kế từng unit:
■ Request_editPX():
Trang 38■ CheckPX():
Trang 39■ ValidateNewData():
■ UpdatePX():
g Chức năng xóa phiếu xuất kho
● Input: Phiếu xuất hàng cần xóa
● Output: Xóa phiếu xuất hàng thành công / không thành công
● Process:
■ Nhân viên vào trang quản lý phiếu xuất hàng và ấn chọn phiếu cần xóa
● Nếu xóa thành công, hệ thống sẽ hiển thị thông báo
“Xóa phiếu xuất hàng thành công” Đồng thời phiếu xuất hàng sẽ xóa trong database của hệ thống
● Nếu trong quá trình xóa xảy ra lỗi, hệ thống sẽ hiển thị thông báo “Xóa thất bại”
● Biểu đồ tuần tự:
Trang 40● Các unit cần có cho chức năng chỉnh sửa phiếu xuất kho:
phiếu xuất hàng cần xóa
Thông báo
“Xóa phiếu xuất hàng thành công” hoặc “Xóa phiếu xuất hàng thất bại”
● Thiết kế từng unit:
■ XoaPX()