Để thực hiện được điều này, báo cáo trình bày các chức năng cơ bản của hệ thống, bao gồm quản lý thông tin nhân viên, quản lý phòng hát, quản lý đồ uống và đồ ăn, đặt phòng và thanh toán
CƠ SỞ LÝ THUYẾT
Mô hình 3 lớp
Mô hình 3 lớp (3-tier architecture) là một phương pháp thiết kế kiến trúc phần mềm, trong đó phần mềm được chia thành ba lớp độc lập nhau: Presentation Layer (Lớp Trình Bày), Business Logic Layer (Lớp Logic Kinh Doanh) và Data Access Layer (Lớp Truy Cập Dữ Liệu)
• Presentation Layer: Lớp trình bày là lớp giao diện người dùng, nơi mà người dùng có thể tương tác với phần mềm Lớp này thường được thiết kế bằng các công nghệ như HTML, CSS, JavaScript, Winform, WPF, ASP.NET
• Business Logic Layer: Lớp Logic Kinh Doanh là nơi xử lý các hoạt động kinh doanh, quản lý luồng dữ liệu và tương tác giữa Presentation Layer và Data
Access Layer Lớp này thường được thiết kế bằng các ngôn ngữ lập trình như Java, C#, Python, PHP
• Data Access Layer: Lớp Truy Cập Dữ Liệu là nơi thao tác trực tiếp với cơ sở dữ liệu, bao gồm các hoạt động như lưu trữ, truy xuất, cập nhật dữ liệu Lớp này thường được thiết kế bằng các công nghệ như ADO.NET, Entity Framework, Hibernate
Mô hình 3 lớp giúp tách biệt các phần của phần mềm, từ đó dễ dàng bảo trì và phát triển Việc phân chia lớp cũng giúp các nhà phát triển chuyên tâm vào các phần của phần mềm mà mình đang làm, giảm thiểu sự phụ thuộc giữa các phần của phần mềm, giúp đẩy nhanh quá trình phát triển và nâng cao hiệu quả trong quản lý và phát triển phần mềm.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Khảo sát và đặc tả yêu cầu
- Chức năng của nhân viên Lễ tân:
• Lễ tân có thể đăng nhập, đăng xuất, đổi mật khẩu
• Lễ tân có thể đặt phòng hát cho khách hàng khi khách dàng đến trực tiếp quầy lễ tân hoặc gọi điện thoại cho lễ tân
• Lễ tân có thể nhập thông tin khách hàng
• Lễ tân có thể thực hiện thanh toán cho khách hàng qua nhiều phương thức khác nhau (thanh tiền mặt, thanh toán ví điện tử, thanh toán chuyển khoản ngân hàng)
• Lễ tân có thể xem danh sách đơn hàng, lập hoá đơn, xem hoá đơn, xem chi tiết hoá đơn, in hoá đơn
- Chức năng của nhân viên Phục vụ:
• Phục vụ có thể đăng nhập, đăng xuất, đổi mật khẩu
• Phục vụ có thể đặt đồ ăn, đồ uống khi khách hàng yêu cầu
• Admin có thể đăng nhập, phân quyền (Admin, Lễ tân, phục vụ)
• Admin có thể quản lý nhân viên, đơn hàng, đồ ăn, đồ uống, khách hàng (thêm, xoá, sửa, cập nhật, xuất file)
• Admin có thể quản lý báo cáo, (Lập báo cáo thu - chi, xuất file)
3.1.2 Yêu cầu phi chức năng
- Mật khẩu phải chứa ít nhất 6 ký tự và được mã hoá
- Chọn màu vàng làm chủ đạo cho giao diện
- Bố cục giao diện dễ sử dụng, thuận tiện cho người sử dụng
3.1.3 Các tác nhân hệ thống
Có thể thực hiện các chức năng đăng nhập, đổi mật khẩu, đặt phòng hát, nhập thông tin khách hàng, thanh toán, lập hoá đơn, in hoá đơn, xem danh sách đơn hàng, xem hoá đơn, xem chi tiết hoá đơn
Có thể thực hiện các chức năng đăng nhập, đổi mật khẩu, đặt đồ ăn, đặt đồ uống
Admin Đăng nhập, quản lý nhân viên, quản lý toàn bộ hệ thống (tài khoản, đô ăn, đồ uống, đơn hàng, tình trạng đơn hàng, …)
Đặc tả Use case
3.2.2.1 Đặc tả Use case Đăng nhập
Scenario: Đăng nhập vào hệ thống
Event Nhân viên hoặc khách hàng chọn chức năng "Đăng nhập"
Description Người dùng đăng nhập vào hệ thống để truy cập vào các chức năng khác
Hệ thống đã được khởi động và hoạt động bình thường Nhân viên, admin đã được cấp quyền truy cập vào hệ thống Nhân viên, admin biết được thông tin tài khoản và mật khẩu
Condition(s): Nhân viên, admin đăng nhập thành công vào hệ thống.
Nhân viên hoặc khách hàng truy cập vào trang đăng nhập
Nhân viên hoặc khách hàng nhập thông tin tài khoản và mật khẩu của mình
Nhân viên hoặc khách hàng nhấn nút "Đăng nhập"
1 Hệ thống kiểm tra thông tin đăng nhập của nhân viên hoặc khách hàng
2.Nếu thông tin đúng, hệ thống đăng nhập thành công và chuyển đến trang chính của hệ thống
3.Nếu thông tin sai, hệ thống hiển thị thông báo lỗi và yêu cầu nhân viên hoặc khách hàng nhập lại thông tin đăng nhập
Nếu hệ thống không hoạt động bình thường, hệ thống hiển thị thông báo lỗi và yêu cầu nhân viên hoặc khách hàng thử lại sau
Nếu tài khoản và mật khẩu của nhân viên hoặc khách hàng không đúng, hệ thống hiển thị thông báo lỗi và yêu cầu nhân viên hoặc khách hàng nhập lại thông tin đăng nhập
3.2.2.2 Đặc tả Use case Đăng xuất
Scenario: Đăng xuất khỏi hệ thống
Event Người dùng hàng chọn tính năng "Đăng xuất"
Description Người dùng hàng thoát khỏi hệ thống đang sử dụng và quay về trang đăng nhập
Condition(s): Người dùng đã đăng nhập vào hệ thống
Condition(s): Người dùngđăng xuất khỏi hệ thống.
1.Người dùng chọn 1 Hệ thống yêu cầu xác nhận đăng xuất" 2 Nếu nhân viên hoặc khách hàng xác nhận đăng xuất, hệ thống đăng xuất và quay về trang đăng nhập
• Nếu hệ thống không hoạt động bình thường, hệ thống hiển thị thông báo lỗi và yêu cầu nhân viên hoặc khách hàng thử lại sau
3.2.2.3 Đặc tả Use case Đổi mật khẩu
Use Case Đổi mật khẩu
Scenario: Tác nhân muốn đổi mật khẩu hiện tại của mình
Tác nhân chọn tính năng "Đổi mật khẩu" trên giao diện người dùng
Description Tác nhân đổi mật khẩu hiện tại thành mật khẩu mới
• Tác nhân đã đăng nhập vào hệ thống
• Tác nhân đã xác thực mật khẩu hiện tại
Condition(s): Mật khẩu mới đã được cập nhật thành công trong hệ thống
1 Tác nhân hàng truy cập vào mục "Cài đặt tài khoản"
3 Nhân viên hoặc khách hàng nhập mật khẩu hiện tại, mật khẩu mới và xác nhận lại mật khẩu mới
4 Nhân viên hoặc khách hàng nhấn nút "Đổi mật khẩu"
1 Hệ thống xác thực mật khẩu hiện tại
2 Nếu mật khẩu hiện tại không đúng, hệ thống thông báo lỗi và yêu cầu nhân viên hoặc khách hàng nhập lại
3 Nếu mật khẩu mới không khớp với xác nhận mật khẩu, hệ thống thông báo lỗi và yêu cầu nhân viên hoặc khách hàng nhập lại
4 Hệ thống cập nhật mật khẩu mới trong hệ thống và thông báo cho nhân viên hoặc khách hàng biết rằng mật khẩu đã được đổi thành công
• Nếu hệ thống gặp lỗi kỹ thuật trong quá trình đổi mật khẩu, hệ thống sẽ thông báo lỗi và yêu cầu nhân viên hoặc
• Nếu nhân viên hoặc khách hàng không nhập đầy đủ thông tin, hệ thống sẽ thông báo lỗi và yêu cầu nhân viên hoặc khách hàng nhập đầy đủ thông tin cần thiết
3.2.2.4 Đặc tả Use case Đặt phòng hát
Use Case Đặt phòng hát
Scenario: Khách hàng đặt phòng hát để sử dụng dịch vụ hát
Triggering Event Lễ tân bấm vào chức năng Thanh toán
Description Tác nhân đổi mật khẩu hiện tại thành mật khẩu mới
Pre-Condition(s): • Lễ tần đã đăng nhập hệ thống
Post-Condition(s): Hệ thống tạo thành công đơn đặt phòng hát
Exception Khách hàng không xác nhận đặt phòng hát
3.2.2.5 Đặc tả Use case Đặt đồ ăn, đồ uống
Use Case Đặt phòng hát
Scenario: Khách hàng gọi đồ ăn đồ uống khi đang đặt phòng hát
Triggering Event Phục vụ bấm vào chức năng gọi món
Description Phục vụ gọi món khi khách hàng yêu cầu
Pre-Condition(s): • Phục vụ đã đăng nhập hệ thống
Post-Condition(s): Đặt món thành công
Exception Số lượng đồ ăn đồ uống không dủ
3.2.2.6 Đặc tả Use case Lập hoá đơn
Use Case Đặt phòng hát
Scenario: Khách hàng đặt phòng hát để sử dụng dịch vụ hát
Triggering Event Lễ tân bấm vào chức năng Thanh toán
Description Tác nhân thanh toán hoá đơn khi khách hàng trả phòng
Pre-Condition(s): • Lễ tần đã đăng nhập hệ thống
Post-Condition(s): Hệ thống xuất hoá đơn thành công
3.2.2.7 Đặc tả Use case Quản lý hoá đơn
Use Case Quản lý hoá đơn
Scenario: Quản lý danh sách hoá đơn
Event Quản lý bấm vào chức năng Quản lý hoá đơn
Description Quản lý hoá đơn
Condition(s): • Admin đã đăng nhập vào hệ thống
Post- Thông tin hoá đơn đã được quản lý lấy ra từ cơ sở dữ liệu
Admin chọn vào chức năng quản lý hoá đơn
3.2.2.8 Đặc tả Use case Thanh toán
Scenario: Thanh toán tiền cho hóa đơn của khách hàng
Event Lễ tân bấm vào chức năng Thanh toán
Description Tác nhân đổi mật khẩu hiện tại thành mật khẩu mới
• Khách hàng đã hoàn tất việc sử dụng dịch vụ và có hóa đơn cần thanh toán
Condition(s): Tiền đã được thanh toán và hóa đơn đã được cập nhật
• Nếu nhân viên thu ngân nhập sai số tiền khách hàng thanh toán: Hệ thống hiển thị thông báo lỗi "Số tiền thanh toán không hợp lệ"
• Nếu hệ thống không thể cập nhật thông tin hóa đơn: Hệ thống hiển thị thông báo lỗi "Cập nhật hóa đơn thất bại
3.2.2.9 Đặc tả Use case Quản lý nhân viên
Use Case Quản lý nhân viên
Scenario: Quản lý thông tin nhân viên của quán karaoke
Event Quản lý bấm vào chức năng Quản lý nhân viên
Description Quản lý thông tin nhân viên của quán karaoke
Condition(s): • Quản lý đã đăng nhập vào hệ thống
Thông tin nhân viên đã được quản lý lấy ra từ cơ sở dữ liệu và đỏ vào grid view
1 Quản lý chọn vào chức năng quản lý nhân sự
1 Hệ thống lấy dữ liệu từ cơ sở dữ liệu và đổ vào grid view
3.2.2.10 Đặc tả Use case Quản lý đồ ăn, đồ uống
Use Case Quản lý đồ ăn đồ uống
Scenario: Quản lý thông tin, số lượng đồ ăn đồ uống của quán karaoke
Event Quản lý bấm vào chức năng Quản lý đồ ăn đồ uống
Description Quản lý thông tin nhân viên của quán karaoke
Actor(s) Quản lý chi nhánh.
Condition(s): • Quản lý đã đăng nhập vào hệ thống
Thông tin nhân viên đã được quản lý lấy ra từ cơ sở dữ liệu và đỏ vào grid view
1.Quản lý chọn vào chức năng quản lý nhân sự 1.Hệ thống lấy dữ liệu từ cơsở dữ liệu và đổ vào grid view
Mô hình quan hệ
• account (idAcc, username, password, FK_userRole)
• employee (idEmployee idAcc, fullName, citizenID, email, address, avatar)
• food (idFood, typeFood, nameFood, desciptionFood)
• stock(idStock, idFood, quantityFood, priceFood)
• room (idRoom, roomName, idType, typeName, isClean, isOccupied,
• Reservation (idReservation, idRoom, idEmployee, checkinStart, checkoutEnd)
• invoice (idInvoice, idEmployee, idRoom, idFood, dateInvoice, totalPrice, isPay)
• invoiceLine (idInvoiceLine, idInvoice, quantity, price)