CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG
3.1. Phân tích yêu cầu
3.1.1. Yêu cầu chức năng.
Trong quá trình phát triển website "Xây dựng website Student Booking" các yêu cầu chức năng chính bao gồm:
- Quản lý tài khoản người dùng:
o Người dùng có thể đăng nhập, đăng xuất.
o Chức năng quản lý tài khoản bao gồm chỉnh sửa thông tin cá nhân, đổi mật khẩu, và khôi phục mật khẩu.
- Chức năng tìm kiếm, tạo và xem bài đăng chuyến xe :
o Người dùng có thể tìm kiếm bài đăng chuyến xe bao gồm kênh tài xế và kênh khách hàng.
o Người dung có thể tạo bài đăng và chỉnh sửa bài đăng chuyến xe bao gồm nơi đi, nơi đến, giờ xuất phát, và số tiền cho chuyến xe.
o Hiển thị chi tiết bài đăng bao gồm người đăng, nơi đi, nơi đến, giờ xuất phát, số tiền cho chuyến xe này.
o Người dùng có thể gửi yêu cầu đến bài đăng chuyến xe bao gồm kênh tài xế và kênh khách hàng.
- Chức năng nhắn tin:
o Người dùng có thể nhắn tin trực tiếp cho người gửi yêu cầu ti bài đăng hoặc người tạo bài đăng.
- Quản lý bài đăng:
o Người dùng có thể chỉnh sửa bài đăng bao gồm nơi đi, nơi đến, giờ xuất phát, và số tiền cho chuyến xe..
o Có thể chấp nhận một trong những yêu cầu gửi ti bài đăng của mình bao gồm người gửi, nơi đi, nơi đến, giờ xuất phát, số tiền cho chuyến xe này.
- Đánh giá và phản hồi:
o Người dùng có thể để lại đánh giá, bình luận sau chuyến xe.
o Hệ thống quản lý các đánh giá này và hiển thị công khai trên trang cá nhân của người được đánh giá.
- Quản lý admin:
o Quản trị viên có quyền truy cập để quản lý người dùng, chuyến đi, bài đăng, đánh giá, các yêu cầu ti bài đăng.
o Admin có thể thêm, sửa người dùng, thêm xóa sửa bài đăng và các đánh giá, theo dõi các yêu cầu ti bài đăng trên website.
3.1.2. Yêu cầu phi chức năng.
Các yêu cầu phi chức năng (Non-functional Requirements) của hệ thống " Xây dựng website Student Booking " bao gồm:
- Hiệu năng (Performance):
o Thời gian phản hồi khi tải trang không quá 3 giây.
o Hệ thống phải có khả năng xử lý đồng thời ít nhất 1000 yêu cầu từ người dùng trong giờ cao điểm mà không gây chậm trễ.
o Thời gian xử lý các thao tác hiện thông báo, yêu cầu ti diễn ra trong vòng 5 giây.
- Độ tin cậy (Reliability):
o Khả năng phục hồi: Hệ thống phải có khả năng khôi phục nhanh chóng trong trường hợp có sự cố, chẳng hạn như server bị lỗi.
o Đảm bảo uptime: Hệ thống phải đảm bảo thời gian hoạt động (uptime) ít nhất 99,9% trong suốt một tháng.
o Dự phòng: Dữ liệu của người dùng phải được sao lưu định kỳ để tránh mất mát thông tin quan trọng.
- Tính bảo mật (Security):
o Xác thực và phân quyền: Hệ thống phải sử dụng các phương pháp bảo mật hiện đại cho xác thực (JWT, OAuth) và phân quyền người dùng.
o Mã hóa dữ liệu: Dữ liệu nhạy cảm (như mật khẩu, thông tin cá nhân) phải được mã hóa trưc khi lưu vào cơ sở dữ liệu.
o Bảo vệ khỏi các lỗ hổng bảo mật: Hệ thống phải được bảo vệ khỏi các cuộc tấn công như SQL Injection, Cross-Site Scripting (XSS), và Cross-Site Request Forgery (CSRF).
o Xác thực hai yếu tố (2FA): Có thể yêu cầu xác thực hai yếu tố cho các thao tác quan trọng (ví dụ, thay đổi mật khẩu, thay đổi thông tin tài khoản).
- Khả năng sử dụng (Usability):
o Giao diện người dùng: Giao diện phải thân thiện, dễ sử dụng và phù hợp vi đa dạng người dùng (sinh viên từ nhiều khoa và năm học khác nhau).
o Tính tương thích đa thiết bị: Website cần tương thích vi các thiết bị di động, máy tính bảng và máy tính để bàn.
o Trải nghiệm người dùng (UX): Cần đảm bảo trải nghiệm mượt mà, dễ hiểu và không có nhiều bưc thao tác phức tạp.
- Khả năng bảo trì (Maintainability):
o Quản lý mã nguồn: Mã nguồn phải dễ dàng quản lý và bảo trì, sử dụng các công cụ kiểm soát phiên bản như Git.
o Tài liệu hệ thống: Tài liệu về kiến trúc hệ thống, API, và các hưng dn sử dụng phải được cung cấp đầy đủ và dễ hiểu cho đội ngũ phát triển và bảo trì.
- Khả năng sử dụng (Usability):
o Giao diện người dùng thân thiện, dễ hiểu, tương thích trên cả máy tính và thiết bị di động (responsive design).
o Hỗ trợ đa ngôn ngữ (nếu cần), tối ưu hóa trải nghiệm người dùng để dễ dàng tìm kiếm và mua sắm sản phẩm, đặt lịch dịch vụ.
o Cung cấp hưng dn sử dụng rõ ràng cho người dùng mi.
- Tuân thủ pháp lý (Compliance to the law):
o Bảo vệ dữ liệu cá nhân: Cần tuân thủ các quy định về bảo vệ dữ liệu cá nhân như GDPR (nếu có sinh viên quốc tế).
o Chính sách bảo mật: Cung cấp chính sách bảo mật rõ ràng cho người dùng, bao gồm cách thức thu thập, sử dụng và bảo vệ thông tin cá nhân.