1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng website tìm phòng trọ tại thành phố đà nẵng

88 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Tìm Phòng Trọ Tại Thành Phố Đà Nẵng
Tác giả Lê Văn Thắng
Người hướng dẫn Ths. Phạm Thị Trà My
Trường học Đại Học Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 88
Dung lượng 4,8 MB

Nội dung

Scenario Use-case “Đăng ký” Bảng 2.5.1 Scenario Use-case “Đăng ký” Tên Use case Đăng ký tài khoản Mô tả Người dùng muốn đăng ký tài khoản Actors Khách vãng lai Đầu vào Thông tin tài khoả

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

Trang 5

Tên đề tài: Xây dựng website tìm phòng trọ tại thành phố Đà Nẵng.

Sinh viên thực hiện: Lê Văn Thắng

Mã SV: 1811505310439 Lớp: 18T4

Đề tài “Xây dựng website tìm phòng trọ tại thành phố Đà Nẵng” cho phépngười dùng có thể dễ dàng tìm kiếm phòng hoặc đăng tin cho thuê phòng trên địabàn thành phố Đà Nẵng Với người có nhu cầu thuê trọ, việc tìm kiếm theo hìnhthức truyền thống sẽ rất khó khăn, mất thời gian và công sức để tìm những phòngtrọ phù hợp với tiêu chí của mình Đối với người cho thuê, việc tiếp cận với kháchhàng gặp khá nhiều khó khăn do vị trí, cách thức truyền đạt hạn chế Giờ đây hệthống mạng ra đời, chỉ với một chiếc máy tính được kết nối mạng là chúng ta có thểđăng tin và tìm kiếm các phòng trọ ở bất cứ địa điểm nào, giá cả phù hợp với nhucầu một cách dễ dàng

Website tìm và đăng tin cho thuê phòng áp dụng tại thành phố Đà Nẵng đượcxây dựng dựa trên ngôn ngữ lập trình PHP, ứng dụng Laravel framework, sử dụng

hệ quản trị cơ sở dữ liệu MySQL cùng các công cụ hỗ trợ như Bootstrap, JQuery,Ajax

Website với các chức năng chính như: Người dùng có thể tìm kiếm phòngtrọ, xem danh sách phòng trọ, chi tiết phòng trọ, Chủ trọ có thể đăng nhập, đăngtin cho thuê phòng, quản lý tin đăng, … Quản trị viên có thể quản lý tài khoản, quản

lý bài viết, quản lý tin đăng, quản lý danh mục, …

Trang 6

Giảng viên hướng dẫn: ThS Phạm Thị Trà My

Sinh viên thực hiện: Lê Văn Thắng Mã SV: 1811505310439

1 Tên đề tài:

Xây dựng website tìm phòng trọ tại thành phố Đà Nẵng

2 Các số liệu, tài liệu ban đầu:

 Tham khảo cơ cấu tổ chức của một số website: mogi.vn, phongtro123.com

 Các số liệu về nhu cầu tìm kiếm phòng, nhu cầu đăng tin cho thuê phòng đượclấy từ bạn bè, người thân hiện đang ở Đà Nẵng và dự định đến Đà Nẵng

 Tài liệu lập trình, tham khảo được lấy từ nhiều nguồn, bài viết và các videohướng dẫn trên youtube

3 Nội dung chính của đồ án:

Quá trình xây dựng website tìm phòng trọ tại thành phố Đà Nẵng bao gồm các côngviệc:

 Thu thập thông tin tài liệu liên quan và khảo sát thực tế

 Phân tích thiết kế các chức năng của hệ thống

 Phân tích thiết kế cơ sở dữ liệu

 Thiết kế giao diện cho các chức năng

 Xây dựng hệ thống Website

 Kiểm thử chương trình

 Hoàn thành báo cáo tổng hợp

4 Các sản phẩm dự kiến

 Hoàn thành website tìm phòng trọ tại thành phố Đà Nẵng

 File báo cáo hoàn chỉnh

Trang 7

Lời đầu tiên, em xin gửi lời cảm ơn đến quý thầy cô của trường Đại học Sưphạm Kỹ thuật - Đại học Đà Nẵng và đặc biệt là quý thầy cô thuộc ngành Côngnghệ thông tin – khoa Công nghệ số của trường đã truyền đạt những kiến thức cầnthiết và những kinh nghiệm quý báu cho chúng em trong suốt thời gian 4 năm trêngiảng đường để em có thể hoàn thành đồ án tốt nghiệp này

Em cũng xin gửi lời cảm ơn chân thành tới cô ThS Phạm Thị Trà My đãnhiệt tình hướng dẫn giúp đỡ em những kiến thức bài học, cũng như kiến thức thực

tế trong quá trình thực hiện đề tài đồ án tốt nghiệp này

Trong quá trình thực hiện đề tài, mặc dù đã cố gắng hoàn thành đồ án trongphạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếusót Vì vậy em mong quý thầy, cô thông cảm và góp ý để em có thể hoàn thiện đềtài Và những lời góp ý đó có thể giúp em có thể tránh được những sai lầm sau này

Em xin chân thành cảm ơn!

Trang 8

Tôi xin cam đoan:

1 Những nội dung trong luận văn này do em thực hiện dưới sự hướng dẫn của cô ThS Phạm Thị Trà My.

2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm.

Sinh viên thực hiện

Lê Văn Thắng

Trang 9

MỤC LỤC iii

DANH MỤC BẢNG BIỂU vii

DANH MỤC HÌNH VẼ viii

DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT x

DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xi

MỞ ĐẦU 12

1 Mục tiêu đề tài 12

2 Đối tượng nghiên cứu và phạm vi nghiên cứu 13

a) Đối tượng nghiên cứu 13

b) Phạm vi nghiên cứu 13

3 Phương pháp nghiên cứu 13

4 Giải pháp công nghệ 13

5 Cấu trúc đồ án 14

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 15

1.1 Ngôn ngữ lập trình PHP 15

1.1.1 PHP là gì? 15

1.1.2 Lịch sử phát triển 15

1.2 Laravel Framework 16

1.2.1 Tổng quan về Laravel Framework 16

1.2.2 Ưu điểm của Laravel 16

1.2.3 Mô hình MVC của Laravel 17

1.3 Hệ quản trị cơ sở dữ liệu MySQL 18

1.4 JQuery và Ajax 19

1.4.1 JQuery 19

1.4.2 Ajax 19

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 20

2.1 Khảo sát hệ thống 20

2.1.1 Khảo sát thực tế 20

2.1.2 Khảo sát người dùng 20

2.1.3 Xác định các tác nhân 20

2.2 Đặc tả yêu cầu nghiệp vụ 20

2.2.1 Khách vãng lai 20

2.2.2 Chủ trọ 20

Trang 10

2.3 Đặc tả yêu cầu phần mềm 21

2.3.1 Các yêu cầu chức năng 21

2.3.2 Yêu cầu phi chức năng 21

2.4 Biểu đồ Use Case 22

2.4.1 Biểu đồ tổng quát 22

2.4.2 Khách vãng lai và Chủ trọ 23

2.4.3 Quản trị viên 24

2.5 Scenario cho Use Case 25

2.5.1 Scenario Use-case “Đăng ký” 25

2.5.2 Scenario Use-case “Đăng nhập” 26

2.5.3 Scenario Use-case “Xem danh sách phòng trọ” 27

2.5.4 Scenario Use-case “Tìm kiếm phòng trọ” 27

2.5.5 Scenario Use-case “Xem danh sách bài viết” 28

2.5.6 Scenario Use-case “Xem chi tiết phòng trọ” 28

2.5.7 Scenario Use-case “Đăng tin” 29

2.5.8 Scenario Use-case “Nạp tiền” 30

2.5.9 Scenario Use-case “Xem lịch sử nạp tiền” 31

2.5.10 Scenario Use-case “Xem lịch sử thanh toán” 32

2.5.11 Scenario Use-case “Quản lý danh mục” 32

2.5.12 Scenario Use-case “Quản lý địa điểm” 33

2.5.13 Scenario Use-case “Quản lý tài khoản” 34

2.5.14 Scenario Use-case “Quản lý phòng trọ” 35

2.5.15 Scenario Use-case “Quản lý giao dịch” 36

2.5.16 Scenario Use-case “Quản lý bài viết” 37

2.6 Sơ đồ hoạt động 38

2.6.1 Đăng ký 38

2.6.2 Đăng nhập 39

2.6.3 Xem danh sách phòng trọ 40

2.6.4 Tìm kiếm phòng trọ 41

2.6.5 Xem danh sách bài viết 42

2.6.6 Xem chi tiết phòng trọ 43

2.6.7 Đăng tin 44

2.6.8 Nạp tiền 45

Trang 11

2.6.10 Quản lý Địa điểm 47

2.6.11 Quản lý tài khoản 48

2.6.12 Quản lý phòng trọ 49

2.6.13 Quản lý giao dịch 50

2.6.14 Quản lý bài viết 51

2.7 Sơ đồ lớp 52

2.8 Sơ đồ ERD 53

2.9 Thiết kế bảng cơ sở dữ liệu 54

2.9.1 Bảng Admins 54

2.9.2 Bảng Users 54

2.9.3 Bảng Rooms 56

2.9.4 Bảng Categories 57

2.9.5 Bảng Locations 57

2.9.6 Bảng Images 59

2.9.7 Bảng Codes 59

2.9.8 Bảng Articles 60

2.9.9 Bảng Payment_history 61

2.9.10 Bảng Recharge_history 61

CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 63

3.1 Công cụ xây dựng chương trình 63

3.2 Giao diện chương trình 64

3.2.1 Giao diện trang chủ 64

3.2.2 Giao diện đăng ký 65

3.2.3 Giao diện đăng nhập 65

3.2.4 Giao diện cập nhật thông tin cá nhân 66

3.2.5 Giao diện danh sách phòng trọ cho thuê 67

3.2.6 Giao diện danh sách bài viết 68

3.2.7 Giao diện chi tiết phòng trọ 69

3.2.8 Giao diện Nạp tiền 70

3.2.9 Giao diện bảng giá 71

3.2.10 Giao diện lịch sử nạp tiền 71

3.2.11 Giao diện lịch sử thanh toán 72

3.2.12 Giao diện đăng tin 73

Trang 12

3.2.14 Giao diện Thanh toán tin đăng 74

3.2.15 Giao diện đăng nhập quản trị viên 74

3.2.16 Giao diện trang chủ quản trị viên 75

3.2.17 Giao diện quản lý địa điểm 75

3.2.18 Giao diện quản lý danh mục 76

3.2.19 Giao diện quản lý tài khoản 76

3.2.20 Giao diện quản lý phòng trọ 77

3.2.21 Giao diện quản lý giao dịch 77

3.2.22 Giao diện quản lý thanh toán 78

3.2.23 Giao diện quản lý bài viết 78

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80

TÀI LIỆU THAM KHẢO 81

Trang 13

Bảng 2.5.1 Scenario Use-case “Đăng ký” 25

Bảng 2.5.2 Scenario Use-case “Đăng nhập” 26

Bảng 2.5.3 Scenario Use-case “Xem danh sách phòng trọ” 27

Bảng 2.5.4 Scenario Use-case “Tìm kiếm tìm kiếm phòng trọ” 27

Bảng 2.5.5 Scenario Use-case “Xem danh sách bài viết” 28

Bảng 2.5.6 Scenario Use-case “Xem chi tiết phòng trọ” 28

Bảng 2.5.7 Scenario Use-case “Đăng tin” 29

Bảng 2.5.8 Scenario Use-case “Nạp tiền” 30

Bảng 2.5.9 Scenario Use-case “Xem lịch sử nạp tiền” 31

Bảng 2.5.10 Scenario Use-case “Xem lịch sử thanh toán” 32

Bảng 2.5.11 Scenario Use-case “Quản lý danh mục” 32

Bảng 2.5.12 Scenario Use-case “Quản lý địa điểm” 33

Bảng 2.5.13 Scenario Use-case “Quản lý tài khoản” 34

Bảng 2.5.14 Scenario Use-case “Quản lý phòng trọ” 35

Bảng 2.5.15 Scenario Use-case “Quản lý giao dịch” 36

Bảng 2.5.16 Scenario Use-case “Quản lý bài viết” 37

Bảng 2.9.1 Admins 54

Bảng 2.9.2 Users 54

Bảng 2.9.3 Rooms 56

Bảng 2.10.4 Categories 57

Bảng 2.9.5 Locations 57

Bảng 2.9.6 Images 59

Bảng 2.9.7 Codes 59

Bảng 2.9.8 Articles 60

Bảng 2.9.9 Payment_history 61

Bảng 2.9.10 Recharge_history 61

Trang 14

Hình 1.2.1 Laravel framework 16

Hình 1.2.3 Mô hình MVC của Laravel 17

Hình 1.3.1 Mô hình hoạt động của MySQL 18

Hình 2.4.1 Use case tổng quát 22

Hình 2.4.2 Use case cho Actor Khách vãng lai và Chủ trọ 23

Hình 2.4.5 Use case cho Actor Quản trị viên 24

Hình 2.6.1 Activity “Đăng ký” 38

Hình 2.6.2 Activity “Đăng nhập” 39

Hình 2.6.3 Activity “Xem danh sách phòng trọ” 40

Hình 2.6.4 Activity “Tìm kiếm phòng trọ” 41

Hình 2.6.5 Activity “Xem danh sách bài viết” 42

Hình 2.6.6 Activity “Xem chi tiết phòng” 43

Hình 2.6.7 Activity “Đăng tin” 44

Hình 2.6.8 Activity “Thanh toán online” 45

Hình 2.6.9 Activity “Quản lý Danh mục” 46

Hình 2.6.10 Activity “Quản lý Địa điểm” 47

Hình 2.6.11 Activity “Quản lý tài khoản” 48

Hình 2.6.12 Activity “Quản lý phòng trọ” 49

Hình 2.6.13 Activity “Quản lý giao dịch” 50

Hình 2.6.14 Activity “Quản lý bài viết” 51

Hình 2.7 Sơ đồ lớp 52

Hình 2.8 Sơ đồ ERD 53

Hình 3.1.1 Giao diện XAMPP 63

Hình 3.1.2 Màn command line cài đặt thành công composer 63

Hình 3.1.3 Giao diện Visual Studio Code 64

Hình 3.2.1 Giao diện “Trang chủ” 64

Hình 3.2.2 Giao diện “Đăng ký” 65

Hình 3.2.3 Giao diện “Đăng nhập” 65

Hình 3.2.4 Giao diện “Cập nhật thông tin cá nhân” 66

Hình 3.2.5 Giao diện “Danh sách phòng trọ” 67

Hình 3.2.6 Giao diện “Danh sách bài viết” 68

Hình 3.2.7 Giao diện “Chi tiết phòng trọ” 69

Hình 3.2.8 Giao diện “Nạp tiền” 70

Hình 3.2.9 Giao diện “Bảng giá” 71

Trang 15

Hình 3.2.11 Giao diện “Lịch sử thanh toán” 72

Hình 3.2.12 Giao diện “Đăng tin” 73

Hình 3.2.13 Giao diện “Danh sách tin đăng” 73

Hình 3.2.14 Giao diện “Thanh toán tin đăng” 74

Hình 3.2.15 Giao diện “Đăng nhập quản trị viên” 74

Hình 3.2.16 Giao diện “Trang chủ quản trị viên” 75

Hình 3.2.17 Giao diện “Quản lý địa điểm” 75

Hình 3.2.18 Giao diện “Quản lý danh mục” 76

Hình 3.2.19 Giao diện “Quản lý tài khoản” 76

Hình 3.2.20 Giao diện “Quản lý phòng trọ” 77

Hình 3.2.21 Giao diện “Quản lý giao dịch” 77

Hình 3.2.22 Giao diện “Quản lý thanh toán” 78

Hình 3.2.23 Giao diện “Quản lý bài viết” 78

Trang 16

STT CHỮ VIẾT TẮT GIẢI NGHĨA

Trang 17

STT CHỮ VIÊTTẮT GIẢI NGHĨA NGHĨA TIẾNG VIỆT

1 HTML Hypertext Markup

Language Ngôn ngữ đánh dấu siêu văn bản

2 CSS Cascading Style Sheets Ngôn ngữ định dạng các phần tử được tạo ra bởi ngôn ngữ đánh dấu (HTML)

3 XML Extensible Markup

Language Ngôn ngữ đánh dấu mở rộng

4 NPM Node package manager Công cụ tạo và quản lý các thư viện lậptrình Javascript cho Node.js

5 PHP Hypertext Preprocessor Ngôn ngữ lập trình PHP

6 RDBMS Relational Database Management System, Hệ thống quản trị cơ sở dữ liệu mã nguồn mở

7 SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc

Controller Dữ liệu – giao diện – bộ điều khiển

Trang 18

MỞ ĐẦU

Ngày nay, CNTT và đặc biệt là Internet đã giúp cho con người thay đổi cáchsống, cách liên lạc, cách làm việc, cách tiếp cận các nguồn thông tin đa dạng vànhanh chóng Mạng Internet ra đời là trợ thủ đắc lực giúp cho những người có nhucầu tìm kiếm các tài nguyên nói chung, hay tìm kiếm các phòng trọ nói riêng trởnên dễ dàng hơn bao giờ hết Với người có nhu cầu thuê trọ, việc tìm kiếm theohình thức truyền thống sẽ rất khó khăn, mất thời gian và công sức để tìm nhữngphòng trọ phù hợp với tiêu chí của mình Đối với người cho thuê, việc tiếp cận vớikhách hàng gặp khá nhiều khó khăn do vị trí, cách thức truyền đạt hạn chế Giờ đây

hệ thống mạng ra đời, chỉ với một chiếc máy tính được kết nối mạng là chúng ta cóthể đăng tin và tìm kiếm các phòng trọ ở bất cứ địa điểm nào, giá cả phù hợp vớinhu cầu một cách dễ dàng

Từ những lý do trên, em quyết định chọn đề tài “Xây dựng website tìm phòngtrọ tại thành phố Đà Nẵng” Với mong muốn tạo ra trang website, hỗ trợ ngườidùng tìm kiếm và đăng tin cho thuê phòng trọ phù hợp với nhu cầu người dùng tạithành phố Đà Nẵng

1 Mục tiêu đề tài

Đề tài hướng đến xây dựng website tìm phòng trọ tại thành phố Đà Nẵngnhằm:

- Tạo ra một nền tảng trực tuyến giúp người dùng dễ dàng tìm kiếm

phòng trọ, giúp họ tìm được một căn phòng phù hợp với nhu cầu và tiếtkiệm thời gian

- Hỗ trợ chủ nhà trọ tiết kiệm thời gian và công sức trong việc quảng bá

và cho thuê phòng trọ của họ Chủ nhà trọ có thể dễ dàng đăng tin chothuê phòng trọ của họ lên website và giúp cho phòng trọ của họ đượcnhiều người biết đến

Trang 19

2 Đối tượng nghiên cứu và phạm vi nghiên cứu

a) Đối tượng nghiên cứu

- Nghiên cứu, tìm hiểu nhu cầu và mong muốn của người dùng, bao gồmngười thuê phòng phòng và người đăng tin cho thuê phòng

- Nghiên cứu ứng dụng các công cụ và ngôn ngữ lập trình để xây dựngwebsite tìm và đăng tin cho thuê phòng, cụ thể là ngôn ngữ lập trình PHP và ứngdụng thư viện Laravel framework được cài đặt và chạy trên ứng dụng XAMPP,Visual Studio Code

- Nghiên cứu tạo dựng hệ thống CSDL nhằm đáp ứng và tạo điều kiện choviệc lưu trữ, truy xuất thông tin phòng, khu vực phòng trọ

b) Phạm vi nghiên cứu

Đề tài nghiên cứu và thực nghiệm trong phạm vi thành phố Đà Nẵng

3 Phương pháp nghiên cứu

Khảo sát người dùng để tìm hiểu nhu cầu và mong muốn của họ khi sử dụngwebsite Phân tích các website tìm kiếm và đăng tin cho thuê phòng tồn tại để tìmhiểu ưu điểm và nhược điểm của chúng Nghiên cứu thông qua tài liệu, số liệu, báocáo, báo chí nhằm xây dựng cơ sở dữ liệu, cơ sở lý thuyết và các biện pháp giảiquyết vấn đề thực trạng

- Tạo server ảo: XAMPP.

- Trình soạn thảo mã nguồn: Visual Studio Code.

d)

Trang 20

5 Cấu trúc đồ án

MỞ ĐẦU

- Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vi nghiên

cứu của đề tài Giới thiệu tóm tắt nội dung sẽ được trình bày trong cácchương tiếp theo

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

- Chương này trình bày tổng quan về các ngôn ngữ lập trình, công nghệ,

khái niệm thường xuyên sử dụng trong phạm vi đề tài này Nhằm hỗ trợ

quá trình phát triển ứng dụng

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

- Phân tích các tác nhân và chức năng của từng tác nhân, yêu cầu phi chức

năng của hệ thống Thiết kế sơ đồ use-case, sơ đồ hoạt động, sơ đồ ERD.Thiết kế cơ sở dữ liệu Xây dựng kịch bản cho từng use-case trong hệthống

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH

- Xây dựng giao diện và chức năng của hệ thống.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

- Trình bày những vấn đề đã giải quyết đồng thời trình bày hướng phát

triển

Trang 21

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

PHP được xây dựng và phát triển bởi cộng đồng và có sự đóng góp rất lớncủa Zend Inc Phiên bản PHP gần đây nhất là 8.2 được phát hành năm 2023

và chấm dứt phát triển PHP/FI 2.0 PHP 3.0 cung cấp cho người dùng cuối một cơ

sở hạ tầng dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau Cho phépngười dùng có thể mở rộng theo module Chính điều này làm cho PHP3 thành công

so với PHP2 Lúc này chính thức đặt tên ngắn gọn là PHP (HypertextPreprocessor)

- PHP 4.0: Được công bố năm 2000 tốc độ xử lý được cải thiện, PHP 4.0đem đến các tính năng chủ yếu khác gồm có hỗ trợ nhiều máy chủ web, hỗ trợsession HTTP, tạo Đầu ra buffering, nhiều cách xử lý dữ liệu Đầu ra bảo mật hơn

và cung cấp một vài các cấu trúc ngôn ngữ mới Với PHP 4, số nhà phát triển dùngPHP lên đến hàng trăm nghìn và hàng triệu trang web dùng PHP, chiếm 20% số tênmiền trên mạng Internet Team phát triển PHP lên tới con số hàng nghìn người vànhiều người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL

và tài liệu cho PHP

Trang 22

- PHP 5.0: Bản chính thức ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗicác bản kiểm thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù đây là phiên bản sảnxuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi, đáng kể là lỗi xác thực HTTP.

- PHP 6.0: Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyếtcủa PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace; hỗ trợ Unicode; sử dụngPDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thànhthư viện PECL Phiên bản 6 này chỉ dùng ở việc nghiên cứu và thử nghiệm Saunày PHP bỏ hẳn phiên bản 6 và lên 7

- PHP 7.0: Với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độnhanh gấp 2 lần Ngoài ra ở phiên bản này còn thêm vào rất nhiều cú pháp, tínhnăng mới giúp cho PHP trở nên mạnh mẽ hơn [CITATION PHP \l 1033 ]

1.2 Laravel Framework

1.2.1 Tổng quan về Laravel Framework

Hình 1.2.1 Laravel frameworkLaravel là PHP Framework miễn phí, mã nguồn mở, được tạo bởi TaylorOtwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc môhình MVC và dựa trên Symfony PHP Framework Một số tính năng của Laravelnhư là sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợnhiều hệ quản trị CSDL quan hệ (MySQL, MariaDB, SQLite, PostgreSQL, …), cáctiện ích hỗ trợ triển khai và bảo trì ứng dụng[CITATION Lar \l 1033 ]

1.2.2 Ưu điểm của Laravel

Một số ưu điểm của Laravel so với các framework khác:

- Sử dụng mô hình MVC (Model – View – Controller).

- Hệ thống xác thực (Authentication) và ủy quyền (Authorization) tuyệt

vời

- Có hệ thống tài liệu chi tiết, dễ hiểu.

- Cộng đồng hỗ trợ đông đảo.

- Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh.

- Sử dụng composer để quản lý PHP package.

- Sử dụng NPM để quản lý các gói Javascript.

Trang 23

- Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade).

- Hỗ trợ routing mềm dẻo.

Trang 24

1.2.3 Mô hình MVC của Laravel

MVC là viết tắt của cụm từ “Model-View-Controller“ MVC là mô hìnhđược sử dụng trong kỹ thuật phần mềm Nó mô phỏng mẫu kiến trúc để tạo dựnggiao diện người dùng trên máy tính Mô hình MVC thường có 3 phần chính và cả 3đều kết nối cùng nhau – dữ liệu (model), giao diện (view) và bộ điều khiển(controller) MVC có thể được chia thành 3 phần trong source code với các vai trò

và nhiệm vụ độc lập[CITATION Lar \l 1033 ]

Hình 1.2.3 Mô hình MVC của Laravel

Thành

Model Gồm những Class, tạo ra các table của Database, nơi mà Eloquent

ORM thao tác với CSDL

View Chứa các template được thiết kế ra và được xử lý để Đầu ra ra mã

html/css cho trang web

Controlle

r Chứa các class, function để xử lý các request từ người dùng

Trang 25

1.3 Hệ quản trị cơ sở dữ liệu MySQL

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (RelationalDatabase Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server, dựa trên ngôn ngữ truy vấn có cấu trúc (SQL) và được phát triển, phân phối,

hỗ trợ bởi Tập đoàn Oracle Các ứng dụng web lớn nhất như Facebook, Youtube,Google đều dùng MySQL cho mục đích lưu trữ dữ liệu

Quy trình hoạt động khá đơn giản mỗi Client (máy khách) yêu cầu dữ liệu từServer (máy chủ), từ Server sẽ phản hồi lại các dữ liệu đó Ví dụ khi người dùngtruy cập vào một trang web nào đó các Request sẽ gửi tới Server, lúc này Server sẽnhận được Request và bắt đầu gửi dữ liệu quay lại máy người dùng để hiển thịthông tin trang web đó lên[CITATION MyS \l 1033 ]

Hình 1.3.1 Mô hình hoạt động của MySQLMột số lý do chính khiến MySQL trở nên quan trọng:

- Linh hoạt và dễ dùng: Có thể sửa source code để đáp ứng nhu cầu sử

dụng mà không phải thanh toán thêm chí phí nào, quá trình cài đặt cũngđơn giản

- Hiệu năng cao: Bất kể lưu trữ dữ liệu lớn của các trang thương mại điện

tử hoặc những hoạt động kinh doanh lớn liên quan đến công nghệ thôngtin, MySQL cũng có thể đáp ứng

- An toàn: An toàn dữ liệu luôn là vấn đề quan trọng nhất khi chọn phần

mềm RDBMS Với hệ thống phân quyền truy cập và quản lý tài khoản,MySQL đặt tiêu chuẩn bảo mật rất cao[CITATION MyS \l 1033 ]

Trang 26

1.4 JQuery và Ajax

1.5.1 JQuery

- JQuery là một thư viện JavaScript được thiết kế đơn giản hóa thao tácHTML DOM, cũng như xử lý sự kiện, hoạt ảnh CSS, và Ajax Nó làphần mềm mã nguồn mở, miễn phí sử dụng giấy phép MIT License.Tính đến tháng 5 năm 2019, jQuery được 73% trong số 10 triệu trangweb phổ biến nhất sử dụng Phân tích web chỉ ra rằng jQuery là thưviện JavaScript được triển khai rộng rãi nhất với tỷ suất lợi nhuận lớn,

có mức sử dụng nhiều hơn ít nhất ba đến bốn lần so với bất kỳ thư việnJavaScript nào khác

- JQuery được chính thức cho ra đời “chào sân” vào tháng 1 năm 2006bởi “cha đẻ” là John Resig tại BarCamp NYC Tính đến nay, nó vẫnđược duy trì và ngày càng phát triển mạnh mẽ nhờ vào một nhóm độingũ các nhà phát triển phần mềm của Google, đứng đầu là ông TimmyWilson jQuery ngày càng được phổ biến sử dụng rộng rãi đặc biệt làtrên các website nổi tiếng[CITATION JQu \l 1033 ]

1.5.2 Ajax

- Ajax (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là

"JavaScript và XML không đồng bộ") là một nhóm các công nghệ pháttriển web được sử dụng để tạo các ứng dụng web động hay các ứngdụng giàu tính Internet (rich Internet application) Từ Ajax được ôngJesse James Garrett đưa ra và dùng lần đầu tiên vào tháng 2 năm 2005

để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên các chươngtrình duyệt từ 10 năm trước Ajax là một kỹ thuật phát triển web có tínhtương tác cao bằng cách kết hợp các ngôn ngữ: HTML (hoặc XHTML)với CSS trong việc hiển thị thông tin, Mô hình DOM (Document ObjectModel), được thực hiện thông qua JavaScript, nhằm hiển thị thông tinđộng và tương tác với những thông tin được hiển thị, …

- Giống như DHTML, LAMP hay SPA, Ajax tự nó không phải là mộtcông nghệ mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhómnhiều công nghệ với nhau Trong đó, HTML và CSS được kết hợp vớinhau để đánh dấu và định kiểu thông tin DOM và JavaScript kết hợplại để hiển thị thông tin động và cho phép người dùng tương tác với cácthông tin này JavaScript cùng với đối tượng XMLHttpRequest hỗ trợviệc trao đổi dữ liệu bất đồng bộ giữa trình duyệt và máy chủ nhằm hạnchế việc tải lại nguyên trang[CITATION Ajax \l 1033 ]

Trang 27

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1.2 Khảo sát người dùng

Theo khảo sát người dùng:

- Trung bình cứ 6 đến 12 tháng người thuê trọ lại chuyển trọ một lần vìnhiều lý do như thay đổi chất lượng cuộc sống, các mối quan hệ, thayđổi nơi làm việc và học tập

- Đa số người cần thuê phòng mất nhiều thời gian và công sức để tìm,thuê được phòng trọ phù hợp với nhu cầu

Như vậy việc xây dựng một website làm cầu nối trung gian trao đổi thôngtin nhanh chóng giữa người cần thuê và người cho thuê là rất cần thiết vàtiềm năng

2.2.2 Chủ trọ

Là người đăng nhập hệ thống, đăng các tin phòng trọ, thực hiện đăng kí,đăng nhập có các chức năng như khách vãng lai, và các chức năng đăng tinphòng trọ, thanh toán online, xem lịch sử giao dịch,…Đăng xuất hệ thống

Trang 28

- Xem chi tiết phòng.

- Xem bài viết

- Quản lý tài khoản

- Quản lý tin đăng

- Quản lý giao dịch

- Quản lý bài viết

2.3.2 Yêu cầu phi chức năng

- Giao diện, đẹp mắt, đơn giản, dễ sử dụng

- Tốc độ xử lý nhanh chóng, đảm bảo tính bảo mật, an toàn

Trang 29

2.4 Biểu đồ Use Case

2.4.1 Biểu đồ tổng quát

Hình 2.4.1 Use case tổng quát

Trang 30

2.4.2 Khách vãng lai và Chủ trọ

Hình 2.4.2 Use case cho Actor Khách vãng lai và Chủ trọ

Trang 31

2.4.3 Quản trị viên

Hình 2.4.5 Use case cho Actor Quản trị viên

Trang 32

2.5 Scenario cho Use Case

2.5.1 Scenario Use-case “Đăng ký”

Bảng 2.5.1 Scenario Use-case “Đăng ký”

Tên Use case Đăng ký tài khoản

Mô tả Người dùng muốn đăng ký tài khoản

Actors Khách vãng lai

Đầu vào Thông tin tài khoản mới

Đầu ra Hệ thống thông báo đăng ký tài khoản thành công

Các bước

phát sinh

1 Actor vào ứng dụng, chọn đăng ký

2 Actor nhập thông tin tài khoản

3 Actor nhấn nút đăng ký

4 Hệ thống kiểm tra thông báo kết quả đã đăng kýthành công và trả về trang Trang chủ (đã đăng nhập) Kết thúc use case

Các bước

phát sinh Actor quay về trang chủ  kết thúc use case

Các trường

hợp ngoại lệ 2.1 Actor thoát khỏi hệ thống  Use case kết thúc màchưa được đăng ký

3.1 Nhập thiếu thông tin hoặc nhập Email đã tồn tại 

Hệ thống báo thông tin không đầy đủ  Quay lại bước 2

Trang 33

2.5.2 Scenario Use-case “Đăng nhập”

Bảng 2.5.2 Scenario Use-case “Đăng nhập”

Tên Use case Đăng nhập

Mô tả Người dùng đã có tài khoản muốn đăng nhập vào hệ

thống

Actors Chủ trọ/Quản trị viên

Đầu vào Email và mật khẩu

Đầu ra Hệ thống thông báo đăng nhập thành công

Trang 34

2.5.3 Scenario Use-case “Xem danh sách phòng trọ”

Bảng 2.5.3 Scenario Use-case “Xem danh sách phòng trọ”

Tên Use case Xem danh sách phòng trọ

Mô tả Người dùng muốn xem danh sách phòng trọ hiện đang

cho thuê

Actors Khách vãng lai/ Chủ trọ

Đầu vào Người dùng truy cập chọn vào cách danh mục phòng trọ

Đầu ra Hệ thống hiển thị danh sách các phòng trọ

Các bước

phát sinh

1 Actor truy cập hệ thống

2 Actor chon vào danh danh mục phòng trọ

3 Hệ thống trả kết quả  Kết thúc use case

2.5.4 Scenario Use-case “Tìm kiếm phòng trọ”

Bảng 2.5.4 Scenario Use-case “Tìm kiếm tìm kiếm phòng trọ”

Tên Use case Tìm kiếm phòng trọ

Mô tả Người dùng thực hiện tìm kiếm phòng trọ

Actors Khách vãng lai/ Chủ trọ

Đầu vào Chọn các tiêu chí ở thanh tìm kiếm

Đầu ra Hệ thống hiển thị danh sách phòng trọ phù hợp với kết

Trang 35

2.5.5 Scenario Use-case “Xem danh sách bài viết”

Bảng 2.5.5 Scenario Use-case “Xem danh sách bài viết”

Tên Use case Xem danh sách bài viết

Mô tả Actor muốn xem danh sách bài viết trên trang web

1 Actor truy cập hệ thống  Bắt đầu use case

2 Actor chọn vào mục Bài viết

3 Hệ thống trả kết quả danh sách bài viết Kếtthúc use case

2.5.6 Scenario Use-case “Xem chi tiết phòng trọ”

Bảng 2.5.6 Scenario Use-case “Xem chi tiết phòng trọ”

Tên Use case Xem chi tiết phòng trọ

Mô tả Actor muốn xem chi tiết phòng trọ

Actors Khách vãng lai/ Chủ trọ

Đầu vào Người dùng truy cập vào hệ thống và chọn phòng trọ

muốn xem chi tiết

Đầu ra Hệ thống hiển thị trang chi tiết phòng trọ

Các bước

phát sinh

1 Actor chọn phòng muốn xem chi tiết

2 Hệ thống lấy chi tiết phòng trọ theo ID

3 Hệ thống hiển thị trang chi tiết phòng trọ  Kếtthúc use case

Trang 36

2.5.7 Scenario Use-case “Đăng tin”

Bảng 2.5.7 Scenario Use-case “Đăng tin”

Tên Use case Đăng tin

Mô tả Chủ trọ thực hiện đăng tin về phòng trọ mình muốn cho

thuê

Actors Chủ trọ

Đầu vào Nhập thông tin chi tiết về phòng trọ cho thuê

Đầu ra Hiển thị đăng bài thành công, tin đăng được lưu vào

CSDL

Các bước

phát sinh

1 Người dùng đăng nhập hệ thống, chọn đăng bài

2 Hệ thống hiển thị form thêm bài đăng phòng trọ

3 Người dùng nhập các trường dữ liệu, nhấn nút Lưu

4 Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiệnbước tiếp theo Ngược lại, thông báo lỗi và quay lạibước 3

5 Hệ thống thông báo thêm bài đăng phòng trọ thànhcông, và lưu thông tin bài đăng phòng trọ trong cở

dữ liệu Kết thúc Use case

Trang 37

2.5.8 Scenario Use-case “Nạp tiền”

Bảng 2.5.8 Scenario Use-case “Nạp tiền”

Tên Use case Chủ trọ thực hiện nạp tiền

Mô tả Người dùng thực hiện nạp tiền

Actors Chủ trọ

Đầu vào Người dùng đăng nhập thành công với quyền chủ trọ

Đầu ra Các thông tin giao dịch được lưu vào cơ sở dữ liệu

Các bước

phát sinh

1 Người dùng đăng nhập hệ thống, chọn Nạp tiền

2 Hệ thống hiển thị các phương thức thanh toán

3 Người dùng chọn phương thức thanh toán phùhợp, và nhập các nội dung bắt buộc như số tiền, tàikhoản…

4 Hệ thống kiểm tra: Nếu thỏa mãn thực hiện bướctiếp theo Ngược lại, thông báo lỗi và quay lạibước 2

5 Hệ thống thông báo giao dịch thành công, và lưuthông tin giao dịch trong cở dữ liệu Kết thúcUse case

Trang 38

2.5.9 Scenario Use-case “Xem lịch sử nạp tiền”

Bảng 2.5.9 Scenario Use-case “Xem lịch sử nạp tiền”

Tên Use case Xem lịch sử nạp tiền

Mô tả Actor muốn xem lịch sử nạp tiền

Actors Chủ trọ

Đầu ra Actor đã đăng nhập thành công với quyền chủ trọ

Đầu ra Hiển thị danh sách lịch sử nạp tiền trên màn hình

Các bước

phát sinh

1 Người dùng chọn xem lịch sử nạp tiền

2 Hệ thống lấy thông tin lịch sử nạp tiền theo ID tàikhoản, hiển thị danh sách lịch sử nạp tiền Kếtthúc Use case

Trang 39

2.5.10.Scenario Use-case “Xem lịch sử thanh toán”

Bảng 2.5.10 Scenario Use-case “Xem lịch sử thanh toán”

Tên Use case Xem lịch sử thanh toán

Mô tả Dùng để quản lý danh sách các Tin tức

Actors Chủ trọ

Đầu ra Actor đã đăng nhập thành công với quyền chủ trọ

Đầu ra Hiển thị danh sách các lịch sử thanh toán

Các bước

phát sinh

1 Người dùng chọn xem lịch sử thanh toán

2 Hệ thống lấy thông tin lịch sử thanh toán theo IDtài khoản, hiển thị danh sách lịch sử thanh toán

2.5.11.Scenario Use-case “Quản lý danh mục”

Bảng 2.5.11 Scenario Use-case “Quản lý danh mục”

Tên Use case Quản lý danh mục

Mô tả Quản trị viên thực hiện thêm các danh mục, giúp phân

loại các phòng trọ dễ dàng

Actors Quản trị viên

Đầu vào Actor đã đăng nhập thành công với quyền quản trị viên

Đầu ra Các thông tin danh mục được lưu vào cơ sở dữ liệu

Các bước

phát sinh

1 Quản trị viên đăng nhập hệ thống, chọn quản lý

danh mục Bắt đầu use case

2 Hệ thống hiển thị danh sách danh mục

3 Actor thực hiện các thao tác cần thiết (thêm,

sửa, xóa) đối với danh mục

Quản trị viên chọn Hủy

Hệ thống hủy thao tác, và trả về trang quản lý danh mục

Các trường

Trang 40

hợp ngoại lệ

2.5.12.Scenario Use-case “Quản lý địa điểm”

Bảng 2.5.12 Scenario Use-case “Quản lý địa điểm”

Tên Use case Quản lý địa điểm

Mô tả Actor thực hiện quản lý địa điểm

Actors Quản trị viên

Đầu vào Actor đã đăng nhập thành công với quyền quản trị viên

Đầu ra Hiển thị các thông tin địa điểm được, cập nhật các thông

tin địa điểm vào cơ sở dữ liệu

Các bước

phát sinh

1 Actor nhấn vào “Quản lý địa điểm”  Bắt đầuuse case

2 Hệ thống hiển thị danh sách địa điểm

3 Actor thực hiện các thao tác cần thiết (thêm, sửa,xóa) đối với Địa điểm

4 Hệ thống ghi nhận và cập nhật lại các chỉnh sửacủa quản trị viên nếu có  Kết thúc Use case

Các trường

hợp phát

sinh

Quản trị viên chọn Hủy

Hệ thống hủy thao tác, và trả về trang quản lý địa điểm

Các trường

hợp ngoại lệ

Ngày đăng: 07/03/2024, 10:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w