Phương thức hoạt động của hệ thống Khách hàng, chủ trọ có thắc mắc có thể nhắn tin với nhân viên, nhân viên sẽ giải quyết các thắc mắc của khách hàng và chủ trọ Chủ trọ nạp tiền để đăng
Trang 1LỜI CẢM ƠN Nhân dịp kết thúc khóa luận tốt nghiệp với đề tài: “Triển khai xây dựng website hỗ trợ tìm kiếm phòng trọ cho sinh viên của trường Đại Học Lâm Nghiệp” Lời đầu tiên cho em xin trân thành cảm ơn các thầy cô trong bộ môn
Tin học, thầy cô trong khoa kinh tế và quản trị kinh doanh trường Đại học Lâm Nghiệp đã tạo điều kiện cho em thực hiện đề tài này
Em xin bày tỏ lòng cảm ơn chân thành và sâu sắc nhất đến giáo viên hướng dẫn Trần Hồng Diệp và thầy Nguyễn Hoàng Ngọc đã tận tình hướng dẫn
em trong suốt quá trình nghiên cứu và thực hiện đề tài
Em xin cám ơn các thầy cô trong bộ môn Tin học cũng như các thầy cô trong Trường đại học Lâm Nghiệp đã trang bị cho em những kiến thức bổ ích trong suốt quá trình học tập tại trường Những kiến thức ấy là hành trang vững chắc cho em thêm vững tin bước vào đời
Mặc dù đã có nhiều cố gắng, nhưng do thời gian tìm hiểu cũng như kiến thức bản thân còn hạn chế nên luận văn chắc chắn không tránh khỏi những hạn chế, sai sót, em rất mong quý thầy cô tận tìm chỉ bảo
Em xin chân thành cảm ơn !
Hà nội, ngày 19 tháng 5 năm 2019
Sinh viên thực hiện Nguyễn Trung Thành
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn này là công trình nghiên cứu riêng dưới sự hướng dẫn của giáo viên T.S Trần Hồng Diệp Các kết quả nêu trong bài văn là trung thực, có nguồn gốc rõ ràng, không phải là sao chép toàn văn của bất kì một công trình nào khác
Hà nội, ngày 19 tháng 5 năm 2019
Người cam đoan
Nguyễn Trung Thành
Trang 3MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC BẢNG
CHƯƠNG 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Mục đích chọn đề tài 1
1.3 Mục tiêu của đề tài 1
1.4 Đối tượng và phạm vi nghiên cứu 2
1.5 Phương pháp nghiên cứu 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 Recommender system 3
2.2 Các hệ thống lọc của recommender system 3
2.2.1 Collaborative filtering 3
2.2.2 Content-based filtering 4
2.2.3 Hybrid recommender systems 4
2.3 Lý do chọn thuật toán và phương pháp áp dụng 4
2.3.1 Lý do chọn thuật toán: 4
2.3.2 Phương pháp áp dụng 5
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ 6
3.1 Khảo sát hệ thống 6
3.1.1 Các thành phần trong hệ thống 6
3.1.2 Phương thức hoạt động của hệ thống 6
3.1.3 Các hoạt động quảng cáo, chăm sóc khách hàng 6
3.2 Phân tích thiết kế hệ thống 7
3.2.1 Xác định yêu cầu của hệ thống 7
3.2.2 Đặc tả yêu cầu 7
3.2.3 Biểu đồ tuần tự 14
Trang 43.3.2 Biểu đồ use case tổng quát 48
3.3.3 Biểu đồ trạng thái 48
3.3.4 Biểu đồ hoạt động 53
3.3.5 Biểu đồ lớp 56
3.3.6 Thiết kế giao diện 57
3.3.7 Thiết kế kiểm soát 60
3.3.8 Thiết kế cơ sở dữ liệu 64
CHƯƠNG 4: CÀI ĐẶT VÀ TRIỂN KHAI HỆ THỐNG 69
4.1 Công nghệ xây dựng hệ thống 69
4.2 Yêu cầu hệ thống 69
4.2.1 Đối với máy chủ web (web hosting server) 69
4.2.2 Đối với máy trạm: 69
4.3 Xây dựng phần mềm 69
4.2.1 Phục vụ khách hàng 71
4.2.2 Phục vụ yêu cầu của chủ trọ 74
4.2.3 Hệ thống quản lý 75 TÀI LIỆU THAM KHẢO
Trang 5
Content-based filtering Hệ thống lọc dựa trên nội dung
Hybrid recommender systems Hệ thống gợi ý lai
Cosine similarity Công thức tính góc của hai vector website Website hoặc trang mạng, là một tập
hợp trang web, thường chỉ nằm trong một tên miền hoặc tên miền phụ trên World Wide Web của Internet
Trang 6DANH MỤC CÁC BẢNG
Bảng 3.1 Chức năng của chủ trọ 7
Bảng 3.2 Chức năng của người dùng 8
Bảng 3.3 Chức năng của nhân viên 9
Bảng 3.4 Chức năng của người quản lý 9
Bảng 3.5 Nhóm người dùng dự kiến 11
Bảng 3.6 Kịch bản use case đăng ký 24
Bảng 3.7 Kịch bản use case đăng nhập 26
Bảng 3.8 Kịch bản use case thông tin cá nhân 27
Bảng 3.9 Kịch bản use case đơn hẹn 28
Bảng 3.10 Kịch bản use case tìm kiếm 29
Bảng 3.11 Kịch bản use case sửa phòng 30
Bảng 3.12 Kịch bản use case thêm phòng 31
Bảng 3.13 Kịch bản use case xóa phòng 32
Bảng 3.14 Kịch bản use case sửa đơn 33
Bảng 3.15 Kịch bản use case xóa đơn 34
Bảng 3.16 Kịch bản use case thống kê 34
Bảng 3.17 Kịch bản use case sửa thông tin người dùng 35
Bảng 3.18 Kịch bản use case xóa người dùng 36
Bảng 3.19 Kịch bản use case phê duyệt phòng chờ 37
Bảng 3.20 Kịch bản use case sửa nhân viên 38
Bảng 3.21 Kịch bản use case thêm nhân viên 39
Bảng 3.22 Kịch bản use case xóa nhân viên 40
Bảng 3.23 Kịch bản use case sửa sự kiện 41
Bảng 3.24 Kịch bản use case thêm sự kiện 42
Bảng 3.25 Kịch bản use case xóa sự kiện 43
Bảng 3.26 Kịch bản use case sửa bài đăng 44
Bảng 3.27 Kịch bản use case thêm bài đăng 45
Bảng 3.28 Kịch bản use case xóa bài đăng 46
Trang 7Bảng 3.30 Bảng people 64
Bảng 3.31 Bảng host 64
Bảng 3.32 Bảng room 65
Bảng 3.33 Bảng room_detail 65
Bảng 3.34 Bảng room_discounted 65
Bảng 3.35 Bảng room_temporary 66
Bảng 3.36 Bảng comment 66
Bảng 3.37 Bản event_room 66
Bảng 3.38 Bảng manager 67
Bảng 3.39 Bảng employees 67
Bảng 3.40 Bảng order 67
Bảng 3.41 Bảng order_detail 67
Bảng 3.42 Bảng customer 68
Bảng 3.43 Bảng event 68
Trang 8DANH MỤC CÁC HÌNH
Hình 3.1 Biểu đồ phân cấp 10
Hình 3.2 Biểu đồ tuàn tự đăng ký 14
Hình 3.3 Biểu đồ tuần tự đăng nhập 15
Hình 3.4 Biểu đồ tuần tự quản lý tài khoản 15
Hình 3.5 Biểu đồ tuần tự tìm kiếm 16
Hình 3.6 Biểu đồ tuần tự thống kê đơn hẹn 16
Hình 3.7 Biểu đồ tuần tự thống kê bài đăng 17
Hình 3.8 Biểu đồ tuần tự thống kê câu truy vấn 17
Hình 3.9 Biểu đồ tuần tự thống kê lƣợt truy cập 18
Hình 3.10 Biểu đồ tuần tự thêm phòng 18
Hình 3.11 Biểu đồ tuần tự sửa phòng 19
Hình 3.12 Biểu đồ tuần tự xóa phòng 19
Hình 3.13 Biểu đồ tuần tự thêm nhân viên 20
Hình 3.14 Biểu đồ tuần tự sửa nhân viên 20
Hình 3.15 Biểu đồ tuần tự xóa nhân viên 21
Hình 3.16 Biểu đồ tuần tự thêm bài đăng 21
Hình 3.17 Biểu đồ tuần tự sửa bài đăng 22
Hình 3.18 Biểu đồ tuần tự xóa bài đăng 22
Hình 3.19 Biểu đồ tuần tự sửa đơn 23
Hình 3.20 Biểu đồ tuần tự xóa đơn 23
Hình 3.21 Use case đơn hẹn 28
Hình 3.22 Use case tổng quát 48
Hình 3.23 Biểu đồ trạng thái đăng nhập 48
Hình 3.24 Biểu đồ trạng thái thống kê 49
Hình 3.25 Biểu đồ trạng thái thêm phòng trọ 49
Hình 3.26 Biểu đồ trạng thái sửa phòng trọ 49
Hình 3.27 Biểu đồ trạng thái xóa phòng trọ 50
Hình 3.28 Biểu đồ trạng thái thêm nhân viên 50
Hình 3.29 Biểu đồ trạng thái sửa nhân viên 50
Hình 3.30 Biểu đồ trạng thái xóa nhân viên 51
Hình 3.31 Biểu đồ trạng thái thêm bài đăng 51
Trang 9Hình 3.33 Biểu đồ trạng thái xóa bài đăng 52
Hình 3.34 Biểu đồ trạng thái sửa đơn 52
Hình 3.35 Biểu đồ trạng thái xóa đơn 52
Hình 3.36 Biểu đồ họat động đăng ký 53
Hình 3.37 Biểu đồ hoạt động đăng nhập 53
Hình 3.38 Biểu đồ hoạt động thống kê 54
Hình 3.39 Biểu đồ hoạt động quản lý phòng trọ 54
Hình 3.40 Biểu đồ hoạt động quản lý nhân viên 55
Hình 3.41 Biểu đồ hoạt động quản lý bài đăng 55
Hình 3.42 Biểu đồ hoạt động quá lý đơn 56
Hình 3.43 Biểu đồ lớp 56
Hình 3.44 Giao diện đầu vào đăng ký 57
Hình 3.45 Giao diện đầu vào đăng nhập 57
Hình 3.46 Giao diện đầu vào tìm kiếm 58
Hình 3.47 Giao diện đầu vào bình luận 58
Hình 3.48 Giao diện đầu vào đơn hẹn 59
Hình 3.49 Giao diện đầu vào chat 59
Hình 3.50 Giao diện đầu vào thêm 60
Hình 3.51 Giao diện đầu vào sửa 60
Hình 3.52 Biểu đồ cơ sở dữ liệu 64
Hình 4.1 Giao diện đăng ký 70
Hình 4.2 Giao diện đăng nhập 70
Hình 4.3 Giao diện trang chủ 71
Hình 4.4 Giao diện tìm kiếm 72
Hình 4.5 Giao diện phòng chi tiết 72
Hình 4.6 Giao diện đơn hẹn chi tiết 73
Hình 4.7 Giao diện đơn hẹn gửi qua gmail khách hàng 74
Hình 4.8 Giao diện chat 74
Hình 4.9 Giao diện quản lý phòng chờ 75
Hình 4.10 Giao diện trang chủ người quản lý 75
Trang 10CHƯƠNG 1 TỔNG QUAN 1.1 Đặt vấn đề
Khi bắt đầu tìm kiếm các trường Đại Học, các bạn sinh viên không chỉ tìm hiểu về quá trình học, về vấn đề học phí, hay các hoạt động trong trường mà các bạn sinh viên cũng rất để ý đến môi trường sống tại trường, những thông tin
cơ bản như ký túc xá, khuôn viên nhà trường hay khu vực phòng trọ ở xung quanh trường,… Thường thì các bạn sinh viên sẽ dành thời gian để đến khảo sát trường đại học mà mình muốn học qua các nguồn tin chính thống như trang chủ của trường hay qua các trang web đánh giá Nhưng hiện tại trên trang chủ của trường không đưa ra được tất cả thông tin của những nội dung nêu trên, các thông tin chỉ mới nêu ra tình hình chung về trường còn các khu vực dân cư xung quanh trường vẫn chưa được đề cập đến
Hiện nay các phòng trọ có vị trí tốt, môi trường, không gian phòng trọ đẹp
có giá cả rất cao Còn những phòng trọ có giá cả phải chăng thì thường ở vị trí
xa trường và ở sâu trong ngõ Những thông tin phòng trọ này thường ít được biết đến với những sinh viên mới Đây là cơ hội phát triển và đồng thời cũng là thách thức khi muốn mang thông tin này đến cho tất cả sinh viên cần
Ngày nay công nghệ thông tin ngày càng phát triển, việc tìm kiếm thông tin phòng trọ thường được người dùng tìm kiếm qua các trang mạng, tuy nhiên tại trường Lâm nghiệp chưa có website tìm kiếm phòng trọ cho sinh viên Vì vậy việc triển khai xây dựng website tìm kiếm phòng trọ là vấn đề cần thiết
Với việc là một sinh viên công nghệ của trường đại học lâm nghiệp, được
sự chấp thuận của giáo viên hướng dẫn và phòng đào tạo tôi đã quyết định chọn
đề tài: “Triển khai xây dựng website hỗ trợ tìm kiếm phòng trọ cho sinh viên của trường Đại Học Lâm Nghiệp”
1.2 Mục đích chọn đề tài
Tạo được một website
Một bản phân tích thiết kế tốt, làm cơ sở cho phát triển về sau
1.3 Mục tiêu của đề tài
Trang 11 Tạo một website demo
Một bản phân tích thiết kế hoàn chỉnh
1.4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
Sinh viên, chủ trọ, phòng trọ
Phạm vi nghiên cứu
Các phòng trọ quanh trường đại học lâm nghiệp
1.5 Phương pháp nghiên cứu
Nghiên cứu lý thuyết
Nghiên cứu thực nghiệm
Trang 12CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Recommender system
Ngày nay công nghệ 4.0 đã có mặt trong tất cả các lĩnh vực của cuộc sống, nó hỗ trợ cho chúng ta có được một cuộc sống tiện nghi Với vài cú nhấp chuột cả thế giới đã mở ra trước mắt bạn Đó mới là lợi thế cạnh tranh đặc trưng của nó, sức mạnh của công nghệ nằm ở chỗ thậm chí nó còn suy nghĩ hộ bạn và làm việc hộ bạn Như facebook chẳng hạn, chỉ cần bạn tìm kiếm hoặc đề cập đến một món hàng, ngay lập tức sau đó các quảng cáo trên facebook đều đề xuất đến loại mặt hàng đấy Để làm được điều đó các hệ thống này sử dụng những cấu trúc giải thuật phức tạp và khổng lồ Điểm hình là Recommender system
Recommender Systems là một dạng của hệ hỗ trợ ra quyết định, cung cấp giải pháp mang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phức tạp nó gồm những công cụ và kỹ thuật nhằm cung cấp đề xuất về một item cho người dùng Recommender Systems học từ người dùng và gợi ý các sản phẩm tốt nhất trong số các sản phẩm phù hợp
"Item" là thuật ngữ chung nhằm ám chỉ hệ thống đề xuất với người dùng Các item này có thể là sản phẩm trên các trang bán hàng, bài hát trên các trang nghe nhạc, một người dùng khác như trên facebook hay một bài viết như trên ZingNew chẳng hạn Tại sao cần phải quan tâm đến item, bởi vì nó chính là cơ
sở để gợi ý cho người dùng
Đây là một trong những kỹ thuật mới có tiềm năng pháp triển mạnh mẽ Trên thực tế thì những website lớn đều đang khai thác và mang lại hiệu quả rất cao Tôi mong muốn có thể tìm hiểu và áp dụng recommender systems vào khóa luận tốt nghiệp của mình, để có thể mang lại sự tiện nghi và trải nghiệm tốt nhất cho khách hàng sau này
2.2 Các hệ thống lọc của recommender system
2.2.1 Collaborative filtering
Collaborative system dựa trên việc thu thập và phân tích một lượng lớn
Trang 13những gì người dùng sẽ thích dựa trên sự tương đồng của họ với người dùng khác (Độ tương tự về sở thích của 2 user được tính toán dựa trên mức độ tương tự về lịch sử rating của 2 user) Một lợi thế quan trọng của phương pháp lọc cộng tác là
nó không dựa vào nội dung phân tích và do đó nó có khả năng đề xuất chính xác các item phức tạp như phim, video mà không yêu cầu “hiểu biết” về item nó
Collaborative system dựa trên giả định rằng những người đã đồng ý trong quá khứ sẽ đồng ý trong tương lai và họ sẽ thích các loại mặt hàng tương tự như
họ thích trong quá khứ
2.2.2 Content-based filtering
Content-based filtering được sử dụng để mô tả các item và hồ sơ người dùng được xây dựng chỉ ra loại item mà người dùng này thích, nói cách khác content-based filtering gợi ý những item tương tự với những item mà user đã thích trong quá khứ Độ tương tự giữa các item được tính dựa trên những đặc trưng kết hợp với những item được so sánh Chẳng hạn, nếu user rate điểm cao cho một bộ phim thuộc thể loại hài hước, thì hệ thống học để gợi ý những bộ phim khác thuộc thể loại này
2.2.3 Hybrid recommender systems
Hybrid recommender systems là kết hợp giữa collaborative filtering và content-based filtering Ví dụ phương pháp collaborative filtering sẽ gặp vấn đề với các item mới, nghĩa là nó không thể sinh ra gợi ý cho các item mà chưa có rating Tuy nhiên điều này lại không ảnh hưởng đến content-based vì phương pháp này dự đoán cho các item mới dựa trên mô tả của chúng (các tính năng, đặc điểm) Với hai kỹ thuật recommender system cơ bản (hoặc nhiều hơn) kết hợp lại tạo ra một hệ thống hybrid mới nhằm tận dụng lợi thế của kỹ thuật này
để bổ sung cho điểm yếu của kỹ thuật kia
2.3 Lý do chọn thuật toán và phương pháp áp dụng
2.3.1 Lý do chọn thuật toán:
Một số nghiên cứu thực nghiệm so sánh hiệu suất của hybrid recommender systems với các recommender system cơ bản(collaborative filtering, content-based filtering) đã chứng minh rằng các hybrid recommender systems có thể cung cấp các
Trang 14này cũng có thể được sử dụng để khắc phục một số vấn đề thường gặp trong hệ thống gợi ý như cold start( hệ thống thường yêu cầu một lượng lớn dữ liệu hiện có của người dùng để đưa ra các đề xuất chính xác) và sparsity( số lượng các mặt hàng được bán trên các trang web thương mại điện tử lớn là cực kỳ lớn Những người dùng tích cực nhất cũng chỉ đánh giá một tập con nhỏ của cơ sở dữ liệu tổng thể
Do đó, ngay cả những mặt hàng phổ biến nhất cũng có xếp hạng rất thấp)
Netflix là một ví dụ tốt về việc sử dụng các hệ thống hybrid recommender Trang web đưa ra các đề xuất bằng cách so sánh thói quen xem và tìm kiếm của những người dùng tương tự (collaborative filtering) cũng như bằng cách cung cấp những bộ phim có chung đặc điểm với những bộ phim mà người dùng đánh giá cao (content-based filtering)
2.3.2 Phương pháp áp dụng
Đầu tiên, hệ thống thực hiện giai đoạn xây dựng mô hình bằng cách tìm
sự tương đồng giữa tất cả các cặp vật phẩm Ở đây tôi sử dụng Cosine similarity
kỹ thuật này được sử dụng để đo lường sự gắn kết trong các cụm item tại lĩnh
vực khai thác dữ liệu với công thức:
A.B==||A||.||B|| 𝜃
Thuật toán tổng quát
Vectơ thuộc tính, A và B, độ tương tự cosin, cos (θ)
similarity= 𝜃 =|| |||| || = ∑
√∑ √∑
Thuật toán chi tiết
Thứ hai, hệ thống thực hiện một giai đoạn khuyến nghị Nó sử dụng các mục tương tự nhất với các mục đã được xếp hạng của người dùng để tạo danh sách đề xuất Thông thường tính toán này là một tổng trọng số hoặc hồi quy tuyến tính Hình thức đề xuất này tương tự như "những người đánh giá cao mặt hàng X, như bạn, cũng có xu hướng xếp hạng mặt hàng Y cao và bạn chưa đánh giá mặt hàng Y, vì vậy bạn nên thử nó"
Trang 15CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ 3.1 Khảo sát hệ thống
Nạp tiền để đăng tin, sau khi có tin bắt đầu nhập thông tin bài đăng, quản
lý bài đăng của mình
Khách hàng
Xem bài đăng, nếu có nhu cầu thuê sẽ nhận được thông tin liên lạc với chủ trọ như số điện thoại, địa chỉ phòng trọ
3.1.2 Phương thức hoạt động của hệ thống
Khách hàng, chủ trọ có thắc mắc có thể nhắn tin với nhân viên, nhân viên
sẽ giải quyết các thắc mắc của khách hàng và chủ trọ
Chủ trọ nạp tiền để đăng bài viết của mình lên hệ thống, khách hàng qua tìm kiếm, truy cập vào chi tiết bài đăng, trò chuyện và liên hệ với chủ nhà
Nếu phòng có nhiều bất bất cập, khách hàng có thể thông báo với nhân viên, nhân viên kiểm tra nếu phòng trọ vi phạm nội quy của hệ thống, sẽ báo lên với người quản lý, bài đăng sẽ bị gỡ
Người quản lý quản lý bài đăng, sự kiện, nhân viên, thông tin tài khoản của khách hang
3.1.3 Các hoạt động quảng cáo, chăm sóc khách hàng
Đăng các quảng cáo lên các trang mạng xã hội lớn như facebook, giới thiệu lên các nhóm tìm nhà, luôn cập nhập các thông tin về tình hình phòng trọ
Trang 163.2 Phân tích thiết kế hệ thống
3.2.1 Xác định yêu cầu của hệ thống
Các phòng trọ quanh trường đại học lâm nghiệp thường có các mức giá không đồng ổn định, tìm phòng rất khó khăn, các phòng phân bố không đồng đều, có tính cạnh tranh kém Các sinh viên đa phần chỉ có thể tìm kiếm được những phòng trọ gần trường, thường qua người quen giới thiệu, hoặc được quảng cáo facebook với độ rủi ro cao Hiện tại không có một website chính thống quản lý vấn đề này Chính vì thế một website quản lý phòng trọ sẽ giải quyết được những khó khăn trên
3.2.2 Đặc tả yêu cầu
3.2.2.1 Chức năng của hệ thống
3.2.2.1.1 Chức năng chủ trọ
Bảng 3.1 Chức năng của chủ trọ
1 Thêm mới tài khoản Chủ trọ có thể thực hiện chức năng đăng ký để
trở thành thành viên của trang Khi người chủ trọ
đã đăng ký thì có thể tạo, quản lý phòng chờ
2 Tìm kiếm Thanh tìm kiếm sẽ giúp chủ trọ tìm thấy phòng
như mong muốn
3 Đăng nhập Sau khi đăng ký tài khoản và thông tin của chủ
trọ được lưu lại trên cơ sở dữ liệu Để có thể vào lại tài khoản của mình chủ trọ cần nhập chính xác username va password, nó sẽ giúp chủ trọ có thể kiểm soát các phòng chờ của mình
4 Nhắn tin Chủ trọ nhấn tin về các vấn đề gặp phải, nhân
viên tư vấn giúp chủ trọ giải quyết các khúc mắc
6 Quản lý thông tin tài
khoản
Chủ trọ sau khi tạo tài khoản có thể thay đổi, cập nhập thông tin tài khoản
7 Quản lý phòng chờ Chủ trọ có thể quản lý các phòng mà mình đã
Trang 173.2.2.1.2 Chức năng người dùng
Bảng 3.2 Chức năng của người dùng
1 Thêm mới tài khoản
Khách hàng có thể thực hiện chức năng đăng ký
để trở thành thành viên của trang Khi người dùng đăng ký họ có thể, chat, bình luận trên trang web
Các mẫu gợi ý sẽ giúp khách hàng tìm thấy phòng, giới hạn phạm vi phòng trọ như mong muốn
3 Đăng nhập
Sau khi đăng ký tài khoản và thông tin của người dùng được lưu lại trên cơ sở dữ liệu Để có thể vào lại tài khoản của mình người dùng cần nhập chính xác username va password, nó sẽ giúp khách hàng dễ dàng nhận được các khuyến mại
Khách hàng nhắn tin về các vấn đề như đơn hẹn, hay một số vấn đề như cách tham gia sự kiện cho nhân viên, nhân viên tư vấn để cho khách hàng, chốt đơn
5 Bình luận Khách hàng bình luận các cảm xúc của mình lên
Trang 183.2.2.1.3 Chức năng nhân viên
Bảng 3.3 Chức năng của nhân viên
1 Quản lý đơn hẹn Nhân viên nhận đơn hẹn của khách hàng, những
đơn hẹn nào đã được xử lý thì chuyển trạng thái
đã xử lý, còn mặc định trạng thái chưa được xử
lý Nhân viên có thể sửa xóa đơn hẹn tùy theo yêu cầu của khách hàng
2 Đăng nhập Nhân viên đăng nhập để có quyền truy cập
“Nhân viên” bắt đầu xử lý các tác vụ
3 Thống kê Giúp người nhân viên có thể nắm bắt được được
các số liệu chi tiết
4 Quản lý người dùng Nhân viên có thể sửa đổi thông tin cá nhân của
người dùng trong một số trường hợp người dùng yêu cầu, và xóa người dùng nếu vi phạm nội quy của trang
3.2.2.1.4 Các chức năng quản lý
Bảng 3.4 Chức năng của người quản lý
1 Duyệt phòng chờ Duyệt, sửa, xóa các phòng chờ mà chủ trọ muốn
đăng lên
2 Quản lý nhân viên Lưu trữ các thông tin về tài khoản nhân viên, cấp
quyền truy cập “nhân viên”
3 Quản lý bài đăng, sự
kiện
Quản lý, lưu trữ thông tin về bài đăng, sự kiện giúp người quản lý có thể dễ dàng tạo lên các bài đăng, sự kiện trên trang hợp lý Chỉ định những bài đăng thuộc sự kiện
4 Đăng nhập Người quản lý đăng nhập để có quyền “Người
Trang 19 Tính đúng đắn của phòng trọ: Mọi thông tin được đăng tải trên trang
web đều có độ chính xác rất cao
Độ an toàn: Với mọi giao dịch của khách hàng đều được hệ thống và nhân viên giám sát, lưu trữ
Đối với chủ trọ:
Thuận tiện trong việc marketing: Căn phòng được biết đến rộng rãi
Thuận tiện trong việc quản lý: Dễ dàng cập nhập thông tin về phòng trọ
Đối với nhân viên:
Chăm sóc khách hàng: Nhân viên nhanh chóng, dễ dàng tiếp cận
Trang 20 Tiết kiệm thời gian: Mọi thông tin về khách hàng, đơn hàng đề được
lưu trữ trên website, thuận tiện cho việc tra cứu và quản lý
Nhanh chóng xây dựng báo cáo phát triển hệ thống: Website hỗ trợ nhân viên lấy những mẫu thống kê, biểu đồ thống kê chi tiết, phục vụ lập báo
cáo
Đối với người quản lý:
Tiết kiệm thời gian: Mọi thông tin về bài đăng, sự kiện, nhân viên đều
được lưu trữ trên website thuận tiện cho việc tra cứu và quản lý
Tiết kiệm thời gian duyệt phòng chờ: Các phòng chờ từ chủ trọ được
lưu trữ trên website dễ dàng tra cứu, phê duyệt
Tiết kiệm thời gian chi phí marketing: Mọi thông tin về bài đăng, sự kiện đều được quảng bá trên trang, sẽ không mất phí như quảng cáo truyền
thống
Xây dựng hình ảnh, lòng tin của khách hàng: Website giúp xây
dựng hình ảnh, lòng tin của khách hàng với độ tin cậy cao
2 Nhân Viên Nhân viên làm đơn hẹn, hỗ trợ khách hàng, và thu
thập các mẫu thống kê, quản lý khách hàng
3 Chủ trọ Chủ trọ có thể đăng bài và quản lý bài đăng của mình
4 Người quản lý
Cấp quyền cho các tài khoản có mức truy cập là nhân viên và quản lý các bài đăng, sự kiện hiển thị trên web, duyệt phòng chờ
Trang 213.2.2.3.2 Yêu cầu của hệ thống
3.2.2.3.2.1 Yêu cầu chức năng
Hỗ trợ khách hàng: Trong việc tìm kiếm, tra cứu theo nhiều tiêu chí như: Tìm kiếm theo giá, theo các tiện ích mà căn nhà có Việc truy cập vào bài đăng, đặt lịch hẹn, đăng ký, đăng nhập phải thực hiện nhanh chóng, dễ dàng Luôn có một bot chat với khách hàng, nếu thời gian trả lời của nhân viên quá lâu
Hỗ trợ Chủ trọ: Dễ dàng quản lý thông tin của phòng trọ, đăng ký đăng nhập nhanh chóng, các mẫu đăng ký nhà phải dễ hiểu, dễ đọc, đủ tiêu chuẩn giúp chủ trọ hiểu và tạo nhanh chóng Luôn có một bot chat với chủ trọ,
nếu thời gian trả lời của nhân viên quá lâu
Hỗ trợ nhân viên: Đăng nhập nhanh chóng, quản lý các thông tin đơn hẹn, thông tin khách hàng dễ dàng Các đơn hẹn, tin nhắn đã được xử lý, chưa được xử lý hoặc đã xóa cần có một công cụ biểu hiện trang thái thuận tiện trong
việc quản lý
Hỗ trợ người quản lý: Các chức năng quản lý nhân viên, phê duyệt phòng chờ, quản lý sự kiện, có giao diện dễ nhìn Phê duyệt phòng chờ có một
công cụ biểu hiện trang thái thuận tiện trong việc quản lý
3.2.2.3.2.2 Yêu cầu phi chức năng
Yêu cầu về tốc độ xử lý:
Tốc độ xử lý: Đăng ký, đăng nhập và hệ thống phải nhanh chóng, tìm kiếm phải chính xác nhất với mong muốn của người sử dụng Các chức năng quản lý rành mạch, rõ ràng nhanh chóng
Yêu cầu về hiệu năng:
cơ sở dữ liệu được lập chỉ mục cho phép truy vấn tìm kiếm để chạy nhanh hơn, đặc biệt là trong các bảng dữ liệu lớn và thường xuyên truy cập Truy cập song song độc lập để đọc và ghi vào cơ sở dữ liệu để tăng tốc độ truy cập Sử dụng bộ nhớ và bộ nhớ cache tập tin cho phép truy cập nhanh đến dữ liệu
Trang 22trước khi người dùng thực sự xem nội dung nó, cung cấp cho người dùng trải nghiệm mượt mà hơn
Kỹ thuật này sẽ giúp tăng tốc độ website và làm cho người dùng cảm thấy thoải mái hơn khi tương tác với website
Yêu cầu về ngôn ngữ lập trình và phông chữ:
Ngôn ngữ lập trình: PHP sử dụng framework Laravel, Bootstrap
Ngôn ngữ trong việc xây dựng web là tiếng việt và tiếng anh
Phông chữ trong hệ thống là: Arial
Các đặc tính của web:
Yêu cầu về bảo mật:
Cần thực hiện các chức năng bảo mật sau:
Thường xuyên cập nhật phần mềm ứng dụng website
Cần bảo mật cơ sở dữ liệu bằng các thuật toán như md5
Cẩn thận với thông tin web hiển thị trong các thông báo lỗi, chỉ cung cấp những lỗi tối thiểu cho người dùng để đảm bảo rằng không bị rò rỉ bí mật trên máy chủ
Việc thực thi các yêu cầu về mật khẩu chẳng hạn như tối thiểu là khoảng tám ký tự, bao gồm một chữ cái và chữ viết hoa sẽ giúp bảo vệ thông tin người dùng trong thời gian dài, tuyệt đối an toàn
HTTPS là một giao thức được sử dụng để cung cấp bảo mật qua Internet, HTTPS đảm bảo với người dùng rằng họ đang tương tác với máy chủ mong đợi
và không ai khác có thể chặn hoặc thay đổi nội dung mà họ đang xem Nếu có bất cứ thứ gì mà người dùng muốn riêng tư, nên chỉ sử dụng HTTPS để phân phối nó
Yêu cầu về bảo trì:
Kiểm tra lại toàn bộ website để có cái nhìn tổng quát tình trạng hiện tại của website, từ đó đưa ra hướng khắc phục (nếu có lỗi)
Kiểm tra, chỉnh sửa, bổ sung tags, các thẻ quan trọng giúp website có kết quả tốt hơn
Trang 23Kiểm tra, chỉnh sửa lại nội dung tất cả bài viết về lỗi chính tả, cách trình bày, hình ảnh trong bài
Tổ chức, bố cục lại website sao cho các danh mục được sắp xếp hợp lý giúp khách hàng tìm kiếm thông tin dễ dàng hơn
Biên soạn bài viết theo chủ đề, theo yêu cầu Bài viết có nội dung phong phú, có hình ảnh đi kèm sinh động
Yêu cầu tính khả chuyển:
Luôn luôn cập nhập thị trường để update web thân thiện dễ sử dụng hơn với người dùng mà không cần những điều chỉnh đặc biệt về mặt chức năng
Đặc tính thể hiện khả năng kết hợp với chuẩn mvc khi thay đổi môi trường
3.2.3 Biểu đồ tuần tự
3.2.3.1 Biểu đồ đăng ký
Hình 3.2 Biểu đồ tuàn tự đăng ký
Trang 243.2.3.2 Biểu đồ đăng nhập
Hình 3.3 Biểu đồ tuần tự đăng nhập
3.2.3.3 Quản lý tài khoản
Hình 3.4 Biểu đồ tuần tự quản lý tài khoản
Trang 26 Thống kê bài đăng
Hình 3.7 Biểu đồ tuần tự thống kê bài đăng
Thống kê câu truy vấn
Hình 3.8 Biểu đồ tuần tự thống kê câu truy vấn
Trang 293.2.3.7 Quản lý nhân viên
Thêm
Hình 3.13 Biểu đồ tuần tự thêm nhân viên
Sửa
Trang 30 Xóa
Hình 3.15 Biểu đồ tuần tự xóa nhân viên
3.2.3.8 Quản lý bài đăng
Thêm
Hình 3.16 Biểu đồ tuần tự thêm bài đăng
Trang 333.3 Thiết kế hệ thống
3.3.1 Các use case chính trong hệ thống
3.3.1.1 Use case đăng ký:
Mô tả: Use case này giúp người dùng và chủ trọ có thể đăng ký trở thành thành viên của hệ thống
Bảng 3.6 Kịch bản use case đăng ký
1 Người dùng chọn chức năng đăng ký
2 Người dùng nhập đầy đủ trường thông tin
Trang 34 Người dùng nhập thêm nội dung để phù hợp với yêu câu
2.b Người dùng nhập thông tin không đúng định dạng
Hệ thống yêu cầu người dùng nhập đúng định
Người dùng thay đổi thông tin đúng định dạng với yêu cầu
4.a Người dùng không nhập được mã xác nhận trong thời gian quy định
Hệ thống gợi ý người dùng gửi lại mã xác nhận
Người dùng chọn gửi lại mã xác nhận
Người dùng nhập mã xác nhận mới
3.3.1.2 Use case đăng nhập:
Mô tả: Người dùng muốn chat và đặt lịch hẹn Nhân viên, chủ trọ và người quản lý muốn sử dụng hệ thống bắt buộc phải đăng nhập Use case này sẽ làm nhiệm vụ phân quyền hệ thống
Trang 35Bảng 3.7 Kịch bản use case đăng nhập
Tên use case Đăng nhập
Tác nhân chính Người quản lý, nhân viên, khách hàng, chủ trọ
Tiền điều kiện Các tài khoản đã có trong cơ sở dữ liệu
3 Hệ thống kiểm tra các điều kiện
4 Hệ thống thông báo đăng nhập thành công
5 Hệ thống đưa người sử dụng vào quyền truy cập của mình
Ngoại lệ:
3.a Hệ thống thông báo chưa nhập đầy đủ username và password
1 Hệ thống yêu cầu người sử dụng nhập đủ trường thông tin
2 Người dùng nhập đủ các trường thống 3.b Hệ thống báo nhập sai username hoặc password
1 Hệ thống yêu cầu nhập lại username và password
2 Người dùng nhập lại các trường thông tin 3.c Người dùng nhập sai tài khoản quá 5 lần
1 Gợi ý người dùng vào trang đăng ký
2 Người sử dụng nhấn vào trang đăng ký và tạo tài khoản mới
Trang 363.3.1.3 Use case quản lý thông tin cá nhân
Mô tả: Khách hàng, chủ trọ chọn chức năng quản lý thông tin cá nhân để có thể thay đổi thông tin cá nhân của mình
Bảng 3.8 Kịch bản use case thông tin cá nhân
Tên use case Quản lý thông tin cá nhân
1 Người dùng đã đăng nhập vào hệ thống
2 Người dùng nhấn vào quản lý thông tin cá nhân
3 Người dùng thay đổi thông tin cá nhân theo đúng định dạng
4 Người dùng lưu thông tin cá nhân
5 Hệ thống thông báo thành công
Ngoại lệ:
3.a Người nhập thông tin sai định dạng
1 Hệ thống báo người dùng nhập thông tin cá nhân không đúng định dạng
2 Người dùng nhập đúng định dạng yêu cầu của hệ thống
3.3.1.4 Use case đơn hẹn
Mô tả: Khách hàng chọn chức năng đặt đơn hẹn để có thể lên lịch đi xem nhà Nếu căn phòng có sự kiện giảm giá thì giá thuê sẽ được điều chỉnh
Trang 37Hình 3.21 Use case đơn hẹn
Bảng 3.9 Kịch bản use case đơn hẹn
Tên use case Đơn hẹn
Tác nhân chính khách hàng
Tiền điều kiện Khách hàng đã đã đăng nhập, chọn được phòng
Đảm bảo tối thiểu Hệ thống đưa người dùng về trang chủ
3 Khách hàng nhấn vào chức năng đơn hẹn
4 Hệ thống gửi biểu mẫu và khách hàng nhập thông tin cần thiết
5 Khách hàng được thông báo đơn hẹn đang chờ xử lý
6 Khách hàng được thông báo đơn hẹn thành công
Ngoại lệ:
4.a Khách hàng nhập thông tin sai định dạng
1 Hệ thống yêu cầu khách hàng nhập đúng định dạng
2 Khách hàng nhập đúng định dạng yêu cầu của hệ thống
5.a Khách hàng nhập thông tin sai
1 Nhân viên liên lạc xác thực thông tin lại với khách hàng
Trang 383.3.1.5 Use case tìm kiếm
Mô tả: Khách hàng sử dụng chức năng tìm kiếm để có thể giới hạn các phòng trong một phạm phạm vi
Bảng 3.10 Kịch bản use case tìm kiếm
Tên use case Tìm kiếm
Tác nhân chính Khách hàng
Đảm bảo tối thiểu Khách hàng sẽ tìm được một phòng có độ phù hợp gần
nhất với yêu cầu
Đảm bảo thành công Hiển thị phòng tìm kiếm được
Kích hoạt Khách hàng chọn chức năng tìm kiếm
Chuỗi sự kiện chính:
1 Khách hàng nhấn vào thanh tìm kiếm
2 Khách hàng nhập từ khóa tìm kiếm
3 Hiển thị danh sách các bài viết chứa từ khoán đó
3.3.1.6 Use case quản lý phòng trọ:
Mô tả: Use case này giúp cho chủ trọ quản lý các thông tin về phòng trọ, trong đó chủ trọ có thể thực hiện các chức năng như thêm phòng trọ, xóa phòng trọ, sửa thông tin phòng trọ, sau đó phòng sẽ được nhân viên xác thực nếu các thông tin là đúng sẽ được người quản lý phê duyệt thành một bài đăng trên trang
Trang 39Kịch bản 1 Sửa phòng
Bảng 3.11 Kịch bản use case sửa phòng
Tác nhân chính Chủ trọ
Người chịu trách nhiệm Chủ trọ
Tiền điều kiện Chủ trọ đã đăng nhập vào hệ thống, và bài đẵng
muốn sửa phải đã tồn tại Đảm bảo tối thiểu Hệ thống thông báo và quay lại bước trước
Đảm bảo thành công Thông tin về phòng được sửa đổi vào cơ sở dữ liệu Kích hoạt Chủ trọ kích hoạt tính năng sửa phòng trong quản lý
phòng Chuỗi sự kiện chính:
1 Chủ trọ nhấn chọn chức năng quản lý phòng
2 Chủ trọ chọn chức năng sửa phòng
3 Hệ thống gửi về một biểu mẫu và yêu cầu chủ trọ phải sửa thông tin cần có
4 Chủ trọ sửa thông tin phòng
5 Hệ thống kiểm tra thông tin phòng và xác nhận hợp lệ
6 Hệ thống cập nhập thông tin vào cơ sở dữ liệu và thông báo thành công, phòng được hiển thị tại trang chủ
7 Thông tin được hệ thống gửi tới người quản lý, nhân viên và chờ phê duyệt
8 Nhân viên xác thực thông tin
9 Người quản lý phê duyệt
10 Phòng trọ trở thành bài đăng
11 Gửi thông báo, thống kê về cho chủ trọ
Ngoại lệ:
5.a Hệ thống thông báo phòng không hợp lệ
1 Hệ thống yêu cầu nhập lại
2 Chủ trọ nhập lại thông tin
8.a Nhân viên xác thực thông tin là sai lệch
Trang 40Kịch bản 2 Thêm phòng
Bảng 3.12 Kịch bản use case thêm phòng
Tên use case Thêm phòng
5 Hệ thống kiểm tra thông tin phòng và xác nhận hợp lệ
6 Hệ thống cập nhập thông tin vào cơ sở dữ liệu và thông báo thành công và phòng mới được hiển thị tại trang chủ
7 Thông tin được hệ thống gửi tới người quản lý, nhân viên và chờ phê duyệt
8 Nhân viên xác thực thông tin
9 Người quản lý phê duyệt