CHƯƠNG 3 : PHÂN TÍCH HỆ THỐNG
3.2. Phân tích hệ thống về dữ liệu (Áp dụng phương pháp Top-Down)
3.2.2 Ma trận rà soát thực thể chức năng
(1) E1. KHÁCH HÀNG: Mã khách hàng, Họ tên, Ngày sinh, Địa chỉ, Số điện thoại, Email
(2) E2. HOÁ ĐƠN: Số hoá đơn, Số bàn, Ngày giờ, Tên hàng, Số lượng, Đơn giá, Chiết khấu, Tiền đặt trước, Tiền khách đưa, Nhân viên thanh toán.
(3) E3. NHÂN VIÊN: Mã nhân viên, Tên nhân viên, Chức vụ, Bộ phận (4) E4. ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
(5) E5. NGUYÊN LIỆU: Mã nguyên liệu, Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
(7) E7. PHIẾU ORDER: Mã phiếu order, Số bàn, Ngày giờ, Tên nhân viên, Số khách, Tên món, Số lượng
(8) E8. MĨN ĂN: Mã món, Tên món, Giá bán, Đơn vị tính, Hình ảnh món (9) E9. CHI TIẾT NHẬP: Mã nhập nguyên liệu, Mã nguyên liệu
(10) E10. NGUYÊN LIỆU MĨN: Mã ngun liệu, Mã món (11) E11. PHIẾU ORDER MĨN: Mã phiếu order, Mã món
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 1.1 Đặt bàn C 1.2 Tìm kiếm khách hàng R 1.3 Lập phiếu order món ăn C R C 2.1 Lập hóa đơn thanh tốn R C R 2.2 Thanh tốn hóa đơn R R 3.1 Lập phiếu yêu cầu nhập nguyên liệu R C C 3.2 Duyệt phiếu yêu cầu nhập nguyên
liệu 3.3 Thêm nguyên liệu C C 3.4 Cập nhật ngun liệu RU 3.5 Tìm kiếm ngun liệu R 3.6 Thêm món ăn C C 3.7 Cập nhật món ăn RU 3.8 Tìm kiếm món ăn R 4.1 Lập báo cáo thống kê nhập nguyên liệu R R R 4.2 Lập báo cáo thống kê R R
cáo thống kê doanh thu 4.4 Tìm kiếm báo cáo doanh thu R 4.5 Lập báo cáo thống kê tài chính R R 5.1 Đăng nhập R R 5.2 Cập nhật thông tin tài khoản RU R 5.3 Đổi mật khẩu RU 5.4 Khóa tài khoản R RU 5.5 Cấp tài khoản R C 5.6 Thêm nhân viên C
5.7 Đăng xuất R 5.8 Thêm nhân viên C 3.2.3 Từ điển dữ liệu ID Mục từ Tên khác Ý nghĩa
1 Đăng nhập Khi một nhân viên muốn vào hệ thống sẽ
thực hiện đăng nhập và thông tin này sẽ được lưu lại
2 Cấp tài khoản Khi có nhân viên mới vào làm, quản lý sẽ đăng nhập vào hệ thống và thực hiện cấp tài khoản cho nhân viên đó
3 Cập nhật thơng tin tài khoản
Nhân viên có tài khoản có thể đăng nhập vào hệ thống để thực hiện cập nhật thông tin của bản thân
4 Đổi mật khẩu Khi nhân viên hay quản lý cảm thấy mật khẩu khơng an tồn có thể thực hiện thay đổi mật khẩu của mình
5 Khố tài khoản Khi nhân viên nghỉ làm, quản lý sẽ thực hiện khố tài khoản nhân viên đó lại
7 Đặt bàn Khi khách hàng gọi điện đặt bàn, nhân viên sẽ thực hiện lưu thông tin đặt bàn của khách hàng vào hệ thống
8 Tìm kiếm khách hàng
Khi khách hàng đến nhà hàng, nhân viên có thể thực hiện tìm kiếm thơng tin của khách hàng để kiểm tra xem khách đã đặt bàn trước hay chưa
9 Lập phiếu order món ăn
Khi khách hàng có yêu cầu gọi món, nhân viên sẽ thực hiện lập phiếu order món ăn
10 Lập hố đơn thanh toán
Khi khách hàng yêu cầu thanh toán, nhân viên bộ phận kế toán - thu ngân sẽ thực hiện lập hoá đơn thanh toán, in rồi giao cho khách hàng. Đồng thời, lưu thông tin vào nơi lưu trữ của hệ thống
11 Thanh toán hoá đơn Sau khi lập hoá đơn, khách hàng sẽ thanh tốn chi phí theo hoá đơn đã lập. Bộ phận kế toán - thu ngân sẽ kiểm tra thu tiền và đánh dấu hoá đơn đã được thanh toán.
12 Lập phiếu yêu cầu nhập nguyên liệu
Khi nguyên liệu trong kho hết (hoặc gần hết) cần nhập bổ sung nguyên liệu. Nhân viên sẽ lập phiếu yêu cầu nhập nguyên liệu và gửi bộ phận quản lý duyệt yêu
cầu. 13 Duyệt yêu cầu nhập
nguyên liệu
Khi nhân viên gửi yêu cầu nhập nguyên liệu, bộ phận quản lý tiếp nhận yêu cầu, kiểm tra thông tin trong phiếu để ra quyết định có nhập nguyên liệu hay không.
14 Thêm nguyên liệu Sau khi yêu cầu nhập nguyên liệu được duyệt nhà hàng sẽ tiến hành nhập nguyên liệu theo phiếu yêu cầu. Thông tin về nguyên liệu được nhập sẽ được lưu lại để quản lý.
15 Cập nhật nguyên liệu
Khi có thay đổi về thông tin của nguyên liệu cần cập nhật thay đổi lên hệ thống. 16 Tìm kiếm ngun
liệu
Khi cần tìm kiếm thơng tin về ngun liệu có thể nhập thơng tin về nguyên liệu muốn tìm, hệ thống sẽ lọc theo thông tin đã nhập để đưa ra nguyên liệu và thơng tin trên hệ thống.
17 Thêm món ăn Khi nhà hàng có món mới cần nhập thơng tin món lên hệ thống và đưa vào menu của nhà hàng.
thống.
19 Tìm kiếm món ăn Khi cần tìm kiếm món ăn có thể nhập thơng tin cần tìm kiếm, hệ thống sẽ lọc ra các món ăn tương ứng với thơng tin đã nhập và thơng tin của món ăn đó.
20 Lập báo cáo thống kê nhập nguyên liệu
Khi nhập nguyên liệu cần lập báo cáo chi tiết thông tin mỗi lần nhập nguyên liệu cho cửa hàng.
21 Lập báo cáo thống kê nguyên liệu
Khi có yêu cầu từ quản lý hoặc định kỳ theo tháng (quý, năm) thì bộ phận bếp sẽ lập báo cáo.
22 Lập báo cáo thống kê doanh thu
Khi có yêu cầu từ quản lý hoặc định kỳ theo tháng (quý, năm) thì bộ phận kế toán - thu ngân sẽ lập báo cáo.
23 Tìm kiếm báo cáo doanh thu
Khi cần xem lại báo cáo doanh thu của một tháng (q, năm) nào đó thì nhập thơng tin báo cáo cần xem hệ thống sẽ lọc và hiển thị danh sách báo cáo theo thông tin đã nhập.
24 Lập báo cáo thống kê tài chính
Khi có u cầu từ quản lý hoặc định kỳ theo tháng (quý, năm) thì bộ phận kế tốn - thu ngân sẽ lập báo cáo tình hình thu - chi của nhà hàng.
25 Đăng xuất Khi một nhân viên hay quản lý muốn thoát khỏi hệ thống sẽ thực hiện đăng xuất
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG4.1. Chiến lược phát triển hệ thống 4.1. Chiến lược phát triển hệ thống
Chiến lược phát triển Ưu điểm Nhược điểm
Tự phát triển - Đáp ứng được mọi yêu cầu, chức năng đã đề ra
- Bảo mật dữ liệu. - Chủ động trong mọi
việc, mọi tình huống.
- Cần đội ngũ có năng lực hiểu biết và kinh nghiệm về hệ thống(vận hành, bảo trì ..)
- Cần nhiều thời gian. - Độ rủi ro cao.
Sử dụng sản phẩm sẵn có
- Tiết kiệm được thời gian (có thể sử dụng được ngay)
- Độ rủi ro thấp, thuận tiện trong việc sử dụng
- Có thể khơng đáp ứng đầy đủ các chức năng đã đặt ra. - Có thế tốn nhiều chi phí với các sản phẩm có bản quyền. - Bị hạn chế khi hệ thống có hướng mở rộng.
- Chỉ cần phát triển thêm các chức năng còn thiếu. - Hệ thống sẵn có phải có khả năng mở rộng, phát triển - Cần đội ngũ có năng lực để phát triển hệ thống dựa vào cái đã có Th ngồi - Đáp ứng được các
chức năng và yêu cầu đặt ra
- Không phải tốn nguồn nhân lực trong việc thiết kế và phát triển hệ thống
- Tốn nhiều kinh phí - Khơng an tồn trong việc bảo mật dữ liệu
- Phụ thuộc nhiều vào bên ngoài.
Từ những ưu nhược điểm của các chiến lược phát triển hệ thống ở bên trên
nhóm chúng em xét thấy chiến lược “Tự phát triển” là phù hợp nhất với dự án bởi vì nó đáp ứng được các tiêu chí quan trọng như tính bảo mật, tính chủ động.. cho hệ thống và các nhược điểm của nó có thể giải quyết được. Với các chiến lược cịn lại, chiến lược Sử dụng sản phẩm có sẵn tuy tiết kiệm được thời gian nhưng do hệ thống có khả năng sẽ cịn mở rộng nên không thể áp dụng, hoặc là chiến lược Tích hợp hệ thống có sẵn - điều kiện tiên quyết là phải cần một hệ thống sẵn có thì Nhà hàng vẫn chưa đáp ứng được, cịn chiến lược Thuê ngồi rất khả thi tuy nhiên nó lại khơng đảm bảo các tiêu chí quan trọng đã đề ra như vấn đề bảo mật và phải phụ thuộc khá nhiều vào bên ngoài.
4.2. Kiến trúc hệ thống 4.2.1 Kiến trúc vật lý
Hình 46. Kiến trúc vật lý
Nhận xét:
Hệ thống thiết kế có sự tương tác giữa người sử dụng trên các thiết bị khác nhau và vào các thời điểm khác nhau.
Ưu điểm của mơ hình client server là có thể truy cập dữ liệu từ xa (bao gồm các cơng việc như gửi và nhận file, tìm kiếm thơng tin,…) với nhiều dịch vụ đa dạng. Mơ hình client/server cung cấp một nền tảng cho phép tích hợp các kỹ thuật hiện đại như mơ hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS)…
Khả năng bảo mật thông tin và độ an toàn Khả năng bảo mật và an tồn thơng tin cao. Có thể điều chỉnh quyền truy cập thông tin. Khả năng bảo mật và an tồn thơng tin kém. Phần lớn phụ thuộc vào mức độ quyền được chia sẻ.
Khả năng bảo mật và an tồn thơng tin cao. Có thể điều chỉnh quyền truy cập thông tin. Khả năng cài đặt. Cài đặt khá khó khăn. Cài đặt dễ dàng. Cài đặt khá khó khăn. Yêu cầu về phần cứng và phần mềm Bao gồm: + Máy chủ + Hệ điều hành + Phần cứng Chỉ cần ít phần cứng bổ sung. Ngồi ra khơng cần máy chủ và hệ điều hành như 2 mơ hình trên. Bao gồm: + Máy chủ + Hệ điều hành + Phần cứng Yêu cầu về quản trị mạng Cần phải có quản trị mạng Khơng cần quản trị mạng Cần phải có quản trị mạng Có khả năng xử lý và lưu trữ tập trung khơng? Có Khơng Khơng
Nhược điểm: Một trong những vấn đề nảy sinh trong mơ hình này đó là tính an tồn và bảo mật thơng tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ.
Kết luận :
Với những ưu, nhược điểm trên kiến trúc vật lý client - server là phù hợp với hệ thống.
Kiến trúc vật lý là Client – Server.
4.2.2 Kiến trúc logic của phần mềm
Với nhà hàng Nam Sơn, nhóm chúng em nhận thấy kiến trúc phần mềm hướng xử lý (MVC – Model View Controller) là phù hợp nhất.
Bởi vì, xét thấy hệ thống nhà hàng bao gồm nhiều bộ phận nhưng đều dùng chung một kho dữ liệu và các bộ phận đó sử dụng , xử lý dữ liệu khơng hồn toàn giống nhau dẫn đến một vấn đề quan trọng cần giải quyết đó là sự độc lập trong việc thay đổi dữ liệu với việc trình bày dữ liệu. Đặc biệt, trong tương lai hệ thống còn phát triển mở rộng cho nên yêu cầu đặt ra đó là hệ thống phải dễ dàng nâng cấp và thay thế. Kiến trúc hướng xử lý có thể đáp ứng được hai yêu cầu quan trọng như trên, nó giúp cho hệ thống có thể vận hành một cách ổn định nhất.
Với MVC, hệ thống được cấu trúc hóa thành ba component logic tương tác với nhau:
Model component: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý …
View component: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, là nơi chứa tất cả các đối tượng GUI như textbox, image … hay hiểu một cách đơn giản nó tập hợp các form (hoặc html)
Controller component: Giữ nhiệm vụ điều hướng các yêu cầu từ phía người dùng (đến model và view) và gọi đúng những phương thức xử lý chúng.
Giải thích mơ hình :
Khi có một u cầu từ phía máy client gửi đến server, bộ phận Controller sẽ tiếp nhận và có nhiệm vụ xử lý u cầu đó. Ngồi ra, khi cần thiết, nó sẽ gọi đến thành phần Model, là bộ phận làm việc với Database.
Xử lý xong yêu cầu, tất cả kết quả trả về được đẩy đến View, tại View sẽ lấy ra mã HTML thành giao diện và trả HTML về hiển thị trên trình duyệt.
4.3. Thiết kế Cơ sở dữ liệu
4.3.1 Chuyển đổi Logical ERD sang Physical RDB
Chuyển các thực thể thành bảng/file (đổi tên theo quy ước của bảng / file)
KHÁCH HÀNG tbl_khachhang
HÓA ĐƠN tbl_hoadon
NHÂN VIÊN tbl_nhanvien
ĐĂNG NHẬP tbl_dangnhap
NGUYÊN LIỆU tbl_nguyenlieu
NHẬP NGUYÊN LIỆU tbl_nhapnguyenlieu
PHIẾU ORDER tbl_phieuorder
MÓN ĂN tbl_monan
CHI TIẾT NHẬP tbl_chitietnhap
NGUYÊN LIỆU MÓN tbl_nguyenlieu_mon
PHIẾU ORDER MĨN tbl_phieuorder_mon
Chuyển thực thể - Thuộc tính thành Bảng – Trường dữ liệu
Thực thể - Thuộc tính Bảng - Trường
HỐ ĐƠN: Số hố đơn, Số bàn, Ngày giờ, Tên hàng, Số lượng, Đơn giá, Chiết khấu, Tiền đặt trước, Tiền khách đưa, Nhân viên thanh toán
tbl_hoadon(SoHD, SoBan, NgayGio, TenMonAn, SoLuong, DonGia, ChietKhau, TienDatTruoc, TienKhachDua, NVThanhToan)
NHÂN VIÊN: Mã nhân viên, Tên nhân viên, Chức vụ, Bộ phận
tbl_nhanvien(MaNV, TenNV, ChucVu, BoPhan)
ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
tbl_dangnhap(TenDangNhap, MatKhau, TrangThaiTaiKhoan) NGUYÊN LIỆU: Mã nguyên
liệu, Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
tbl_nguyenlieu(MaNL, TenNL, SoLuong, DonGia, DoViTinh)
NHẬP NGUYÊN LIỆU: Mã nhập nguyên liệu, Tên người yêu cầu, Bộ phận, Lý do sử dụng, Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng thực xuất, Đơn vị tính, Trạng thái yêu cầu
tbl_nhapnguyenlieu(MaNNL, NguoiYeuCau, BoPhan, LyDoSD, TenNL, NgayYeuCau,
SoLuongYeuCau, SoLuongThucXuat, DonViTinh, TrangThaiYeuCau)
PHIẾU ORDER: Mã phiếu order, Số bàn, Ngày giờ, Tên nhân viên, Số khách, Tên món, Số lượng
tbl_phieuorder(MaPhieuOrder, SoBan, NgayGio, TenNV, SoKhach, TenMon, SoLuong)
MÓN ĂN: Mã món, Tên món, Giá bán, Đơn vị tính, Hình ảnh
món DonViTinh, HinhAnhMon) CHI TIẾT NHẬP: Mã nhập
nguyên liệu, Mã nguyên liệu
tbl_chitietnhap(MaNNL, MaNL)
NGUYÊN LIỆU MĨN: Mã ngun liệu, Mã món
tbl_nguyenlieu_mon(MaNL, MaMon)
PHIẾU ORDER MĨN: Mã phiếu order, Mã món tbl_phieuorder_mon(MaPhieuOrder, MaMon) 4.3.2 Đặc tả Cơ sở dữ liệu tbl_khachhang MaKH Int(11) Mã khách hàng
HoTen Varchar(255) Họ tên khách hàng
NgaySinh Date Ngày sinh
DiaChi Varchar(255) Địa chỉ
SoDienThoai Varchar(255) Số điện thoại
Email Varchar(255) Email
tbl_hoadon
TenMonAn Varchar(255) Tên món ăn
SoLuong Varchar(255) Số lượng
DonGia Varchar(255) Đơn giá
ChietKhau Float Chiết khấu
TienDatTruoc Float Tiền đặt trước
TienKhachDua Float Tiền khách đưa
NVThanhToan Varchar(255) Nhân viên thanh toán
tbl_nhanvien
MaNV Int(11) Mã nhân viên
TenNV Varchar(255) Tên nhân viên
ChucVu Varchar(255) Chức vụ
BoPhan Varchar(255) Bộ phận
tbl_dangnhap
TenDangNhap Varchar(255) Tên đăng nhập
MatKhau Varchar(255) Mật khẩu
TrangThaiTaiKhoan Varchar(255) Trạng thái tài khoản
tbl_nguyenlieu
TenNL Varchar(255) Tên nguyên liệu
SoLuong Varchar(255) Số lượng
DonGia Float Đơn giá
DonViTinh Varchar(255) Đơn vị tính
tbl_nhapnguyenlieu
MaNNL Int(11) Mã nhập nguyên liệu
NguoiYeuCau Varchar(255) Người yêu cầu
TenNL Varchar(255) Tên nguyên liệu
NgayYeuCau Date Ngày yêu cầu
SoLuongYeuCau Int(11) Số lượng yêu cầu
SoLuongThucXuat Int(11) Số lượng thực xuất
DonViTinh Varchar(255) Đơn vị tính
TrangThaiYeuCau Varchar(255) Trạng thái yêu cầu
tbl_phieuorder
TenNV Varchar(255) Tên nhân viên
SoKhach Int(11) Số khách
TenMon Varchar(255) Tên món
SoLuong Int(11) Số lượng
tbl_monan
MaMon Int(11) Mã món
TenMon Varchar(255) Tên món
GiaBan Float Giá bán
DonViTinh Varchar(255) Đơn vị tính
HìnhAnhMon Varchar(255) Hình ảnh món
tbl_chitietnhap
MaNNL Int(11) Mã nhập ngun liệu
MaNL Int(11) Mã nguyên liệu
tbl_nguyenlieu_mon
MaNL Int(11) Mã nguyên liệu
tbl_phieuorder_mon
MaPhieuOrder Int(11) Mã phiếu order
MaMon Int(11) Mã món
4.3.3 Sơ đồ quan hệ
4.4. Physical DFD
4.4.1. Physical DFD nhập nguyên liệu
Hình 48. Physical DFD nhập nguyên liệu
4.4.2. Physical DFD đón tiếp khách hàng
4.4.3. Physical DFD order món ăn
Hình 50. Physical DFD order món ăn
4.4.4. Physical DFD thanh tốn hóa đơn
Hình 51. Physical DFD thanh tốn hố đơn
Hình 52. Giao diện menu quản lý hệ thống
Thêm nguyên liệu:
Hình 53. Giao diện thêm nguyên liệu
Các đối tượng giao diện (Interface Objects):
Hình 54. Giao diện tuỳ chọn