CHƯƠNG 1: TỔNG QUAN 1. Ý tưởng Website tracuuphong.com là nơi có tất cả các lựa chọn mà người dùng có thể tìm kiếm nhằm thuận tiện cho việc lựa chọn cũng như giảm thời gian tìm kiếm cho người dùng. Đặc tả yêu cầu nghiệp vụ 1. Người dùng: Được xem các thông tin về phòng, chi tiết phòng như tên, giá, địa chỉ, hình ảnh thực tế… Được tìm kiếm theo địa điểm hoặc vị trí hiện tại.
Xem được các đánh giá trước đây về phòng. Người dùng yêu cầu phải đăng nhập để có thể viết đánh giá. Người quản trị (ADMIN): Thiết lập trạng thái cho tài khoản người dùng. Thêm mới tài khoản.
Xem các biểu đồ về số lượng data, số lượt tìm kiếm… Sinh viên thực hiện: Quách Văn Tới GVHD: TS. Phạm Tuấn 2 Website tra cứu giá phòng CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Hệ quản trị cơ sở dữ liệu MySQL MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy nhập CSDL trên internet. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS … Sinh viên thực hiện: Quách Văn Tới GVHD: TS. Phạm Tuấn 3 Website tra cứu giá phòng 2. Ngôn ngữ lập trình PHP PHP: viết tắt của Hypertext Preprocessor, là ngôn ngữ chủ yếu được phát triển dành cho các ứng dụng nằm trên máy chủ.
Khi các lập trình viên PHP viết chương trình, các chuỗi lệnh sẽ được chạy ở trên server nhằm sinh ra mã HTML. Nhờ đó, những ứng dụng trên các website có thể chạy một cách dễ dàng. dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Bootstrap Bootstrap là một nền tảng (framework) miễn phí, mã nguồn mở, dựa trên HTML, CSS & Javascript, nó được tạo ra để xây dựng các giao diện Website tương thích với tất cả các thiết bị có kích thước màn hình khác nhau.
Sinh viên thực hiện: Quách Văn Tới GVHD: TS. Phạm Tuấn 4 Website tra cứu giá phòng CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3. Đặc tả yêu cầu phần mềm 3. Khách vãng lai Đăng ký Tìm kiếm phòng theo địa điểm Xem thông tin chi tiết phòng 3.
Người dùng Kế thừa các use-case “Xem thông tin chi tiết phòng”, “Tìm kiếm phòng theo địa điểm” của khách vãng lai. Đăng nhập Viết đánh giá cho phòng. Thay đổi thông tin cá nhân Đổi mật khẩu 3. Người quản trị (ADMIN) Đăng nhập Xem thông tin tài khoản người dùng Xem thống kê số lượng data, số lượt tìm kiếm… Xem thông tin phòng Sinh viên thực hiện: Quách Văn Tới GVHD: TS.
Phạm Tuấn 5 Website tra cứu giá phòng 3. Sơ đồ Use-case Hình ảnh 3.1: Sơ đồ Use-case Diagram 3. Kịch bản cho Usecase 3. Actor Khách vãng lai 3.
Usecase: Đăng ký Bảng 3.1: Kịch bản cho usecae Đăng ký Use case name Đăng ký Description Khách vãng lai muốn Đăng ký tài khoản Actors Khách vãng lai Input Khách vãng lai nhập “Tên đăng nhập”, “mật khẩu” và “xác nhận mật khẩu” Output Đăng ký tài khoản thành công Basic flow Bước 1: Vào website Sinh viên thực hiện: Quách Văn Tới GVHD: TS. Phạm Tuấn 6 Website tra cứu giá phòng Bước 2: Chọn “Đăng ký” Bước 3: Nhập “Tên đăng nhập”, “Mật khẩu”, “Xác nhận mật khẩu” và “Số điện thoại” Bước 4: Nhấn “Đăng ký” Bước 5: Nhập Mã OTP Bước 6: Nhấn “Xác nhận” Alternative Người dùng đã đăng ký rồi nhưng không nhớ mật khẩu có thể flow (các bước ấn “Quên mật khẩu” và nhập “Số điện thoại” để lấy lại mật phát sinh của khẩu. Basic flow) Exception flow Hệ thống thông báo lỗi: “Vui lòng nhập mật khẩu giống nhau.” (các trường Nếu người dùng nhập sai mật khẩu -> Quay về bước 3 hợp ngoại lệ Hệ thống thông báo lỗi: “Vui lòng nhập đúng số điện thoại.” của Basic flow) Nếu người dùng không nhập đúng 10 số điện thoại -> Quay về bước 3 3. Usecase: Tìm kiếm phòng Bảng 3.2: Kịch bản cho usecae Tìm kiếm phòng Use case name Tìm kiếm phòng Description Khách vãng lai muốn Tìm kiếm phòng Actors Khách vãng lai Input Khách hàng vãng nhập địa điểm cần tìm kiếm Output Hiển thị danh sách các phòng có tại địa điểm đã nhập Basic flow Bước 1: Vào website Bước 2: Nhập từ khoá vào ô “Tìm kiếm” Bước 3: Nhấn “Tìm” Alternative 2.a Khách vãng lai có thể chọn địa điểm liên quan hiện ra ở Sinh viên thực hiện: Quách Văn Tới GVHD: TS.
Phạm Tuấn 7 Website tra cứu giá phòng flow (các bước dưới hộp tìm kiếm. phát sinh của Basic flow) Exception flow Hệ thống thông báo: “Không có dữ liệu” Nếu không có thông (các trường tin nào -> Quay về bước 2 hợp ngoại lệ của Basic flow) 3. Usecase: Xem thông tin chi tiết phòng Bảng 3.3: Kịch bản cho usecae Xem thông tin chi tiết phòng Use case name Xem thông tin chi tiết phòng Description Khách vãng lai muốn Xem thông tin chi tiết phòng Actors Khách vãng lai Input Khách hàng vãng chọn phòng cần xem Output Hiển thị thông tin chi tiết của phòng đã chọn Basic flow Bước 1: Vào website Bước 2: Nhấn “Xem chi tiết” ở phòng muốn xem Alternative Không có flow (các bước phát sinh của Basic flow) Exception flow Không có (các trường hợp ngoại lệ của Basic flow) 3. Actor Người dùng 3.
Usecase: Đăng Nhập Sinh viên thực hiện: Quách Văn Tới GVHD: TS. Phạm Tuấn 8 Website tra cứu giá phòng Bảng 3.4: Kịch bản cho usecae Đăng nhập Use case name Đăng nhập Description Người dùng muốn Đăng nhập vào website Actors Người dùng Input Người dùng nhập “Tên đăng nhập” và “mật khẩu” Output Đăng nhập thành công Basic flow Bước 1: Vào website Bước 2: Chọn “Đăng nhập” Bước 3: Nhập “Tên đăng nhập” và “mật khẩu” Bước 4: Nhấn “Đăng nhập” Alternative Không có flow (các bước phát sinh của Basic flow) Exception flow Hệ thống thông báo lỗi: “Đăng nhập thất bại.” Nếu người dùng (các trường nhập sai mật khẩu hoặc tên đăng nhập -> Quay về bước 3 hợp ngoại lệ của Basic flow) 3. Usecase: Viết đánh giá.5: Kịch bản cho usecae Viết đánh giá Use case name Viết đánh giá Description Người dùng muốn viết đánh giá về một phòng, khách sạn. Actors Người dùng Input Người dùng nhập đánh giá của mình vào ô “Đánh giá” Output Đăng nhập thành công Sinh viên thực hiện: Quách Văn Tới GVHD: TS.
Phạm Tuấn 9 Website tra cứu giá phòng Basic flow Bước 1: Người dùng đăng nhập vào website Bước 2: Chọn “Xem chi tiết” phòng muốn đánh giá Bước 3: Viết “Đánh giá” của mình Bước 4: Nhấn “Đăng” Alternative Không có flow (các bước phát sinh của Basic flow) Exception flow Hệ thống thông báo lỗi: “Mời bạn đăng nhập.” Nếu người dùng (các trường chưa đăng nhập vào hệ thống -> Chuyển hướng đến trang hợp ngoại lệ “Đăng nhập” của Basic flow) 3. Usecase: Thay đổi thông tin cá nhân Bảng 3.6: Kịch bản cho usecae Thay đổi thông tin cá nhân Use case name Thay đổi thông tin cá nhân Description Người dùng muốn thay đổi thông tin cá nhân của mình. Actors Người dùng Input Người dùng nhập thông tin của mình Output Thông báo thay đổi thành công Basic flow Bước 1: Người dùng đăng nhập vào website Bước 2: Chọn “Xem thông tin cá nhân” Bước 3: Nhập đầy đủ thông tin Bước 4: Nhấn “Xác nhận” Alternative Không có flow (các bước phát sinh của Sinh viên thực hiện: Quách Văn Tới GVHD: TS. Phạm Tuấn 10 Website tra cứu giá phòng Basic flow) Exception flow Không có (các trường hợp ngoại lệ của Basic flow) 3.
Usecase: Đổi mật khẩu Bảng 3.7: Kịch bản cho usecae Đổi mật khẩu Use case name Đổi mật khẩu Description Người dùng muốn đổi mật khẩu. Actors Người dùng Input Người dùng nhập Mật khẩu cần đổi Output Thông báo thay đổi thành công Basic flow Bước 1: Người dùng đăng nhập vào website Bước 2: Chọn “Đổi mật khẩu” Bước 3: Nhập đầy đủ thông tin Bước 4: Nhấn “Xác nhận” Alternative Không có flow (các bước phát sinh của Basic flow) Exception flow Không có (các trường hợp ngoại lệ của Basic flow) 3. Actor Quản trị viên (ADMIN) 3. Usecase: Khoá tài khoản người dùng Sinh viên thực hiện: Quách Văn Tới GVHD: TS.
Phạm Tuấn 11 Website tra cứu giá phòng Bảng 3.8: Kịch bản cho usecae Khoá tài khoản người dùng Use case name Khoá tài khoản người dùng Description Người quản trị muốn khoá hoặc kích hoạt tài khoản người dùng Actors Quản trị viên Input Chọn một tài khoản muốn thao tác Output Tài khoản đã được thay đổi trạng thái. Tài khoản bị khoá không thể đăng nhập. Basic flow Bước 1: Đăng nhập vào trang quản trị Bước 2: Chọn “Quản lý tài khoản” Bước 3: Chọn một tài khoản cần thao tác Bước 4: Nhấn “Khoá” hoặc “Kích hoạt” Alternative 3.a Có thể tìm kiếm theo tên tài khoản flow (các bước phát sinh của Basic flow) Exception flow Không có (các trường hợp ngoại lệ của Basic flow) 3. Usecase: Xem thống kê Bảng 3.9: Kịch bản cho usecae Xem thống kê Use case name Xem thống kê Sinh viên thực hiện: Quách Văn Tới GVHD: TS.
Phạm Tuấn 12 Website tra cứu giá phòng Description Người quản trị muốn Xem thống kê về trang web Actors Quản trị viên Input Quản trị viên đã đăng nhập thành công Output Các biểu đồ, thống kê có liên quan. Basic flow Bước 1: Đăng nhập vào trang quản trị Bước 2: Chọn “Thống kê đơn vị hợp tác” hoặc “Thống kê lượt tìm kiếm” Alternative Không có flow (các bước phát sinh của Basic flow) Exception flow Không có (các trường hợp ngoại lệ của Basic flow) 3. Usecase: Xem thông tin phòng Bảng 3.20: Kịch bản cho usecae Xem thông tin phòng Use case name Xem thông tin phòng Description Người quản trị muốn xem thông tin về phòng đã được lưu về database Actors Quản trị viên Input Quản trị viên đã đăng nhập thành công Output Danh sách thông tin phòng trọ, khách sạn. Basic flow Bước 1: Đăng nhập vào trang quản trị Bước 2: Chọn “Xem thông tin phòng” Sinh viên thực hiện: Quách Văn Tới GVHD: TS.
Phạm Tuấn 13 Website tra cứu giá phòng Alternative Không có flow (các bước phát sinh của Basic flow) Exception flow Không có (các trường hợp ngoại lệ của Basic flow) Sinh viên thực hiện: Quách Văn Tới GVHD: TS.