Tải bản đầy đủ (.docx) (63 trang)

Báo cáo đồ án: Quản lý đặt vé xe khách trên nền web

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.96 MB, 63 trang )

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ ĐẶT VÉ XE KHÁCH TRÊN
NỀN WEB

Hà Nội – Năm 2022


TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CƠNG NGHỆ THƠNG TIN

ĐỖ VĂN BÌNH
XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ ĐẶT VÉ XE KHÁCH TRÊN
NỀN WEB

Chuyên ngành : Cơng nghệ thơng tin
Mã ngành

: 7480201

NGƯỜI HƯỚNG DẪN: ThS. PHÍ THỊ HẢI YẾN

Hà Nội – Năm 2022


1
LỜI CAM ĐOAN
Những nội dung trong khóa luận tốt nghiệp này là thành quả từ sự nghiên cứu
và được thực hiện dưới sự trực tiếp hướng dẫn của giảng viên hướng dẫn ThS. Phí
Thị Hải Yến.


Khố luận được thực hiện hồn tồn mới, là thành quả của riêng em, khơng
sao chép theo bất cứ khóa luận tương tự nào. Mọi sự tham khảo sử dụng trong khóa
luận đều được trích dẫn các nguồn tài liệu trong báo cáo và danh mục tài liệu tham
khảo.
Mọi sao chép không hợp lệ, vi phạm quy chế của nhà trường, em xin hoàn
toàn chịu trách nhiệm
Sinh viên thực hiện

Đỗ Văn Bình


2

LỜI CẢM ƠN
Để hồn thành được đề tài khóa luận tốt nghiệp này, trước hết em xin gửi lời
cảm ơn chân thành nhất đến các cán bộ giảng viên trong Trường Đại học Tài
nguyên Môi trường Hà Nội, các cán bộ giảng viên Khoa Cơng nghệ Thơng tin, đã
tận tình giảng dạy và truyền đạt kiến thức và luôn quan tâm và tạo điều kiện giúp
em hoàn thành đề tài khóa luận tốt nghiệp này. Đồng thời em xin gửi lời cảm ơn đặc
biệt về sự chỉ dạy, hướng dẫn tận tình của ThS. Phí Thị Hải Yến đã ln tận tình
hướng dẫn, giúp đỡ em trong suốt thời gian thực hiện khóa luận.
Em cũng vơ cùng biết ơn gia đình và bạn bè, những người đã ln ln ở bên
cạnh động viên, chia sẻ với em trong suốt thời gian thực đề tài khóa luận tốt nghiệp
“ Xây dựng website quản lý dịch vụ đặt vé xe khách trên nền web ”.
Do kiến thức còn hạn chế, bài báo cáo của em khơng tránh khỏi những sai sót.
Rất mong nhận được những lời góp ý từ q thầy cơ để khóa luận tốt nghiệp của em
được hồn thiện và giúp em có thêm những kinh nghiệm quý báu.
Cuối cùng, em xin kính chúc các thầy cơ giảng viên trường Đại học Tài
ngun và Mơi trường Hà Nội nói chung, các thầy cơ khoa cơng nghệ thơng tin nói
riêng dồi dào sức khỏe và thành công trong sự nghiệp cao quý.

Em xin chân thành cảm ơn!
Hà Nội, tháng 6 năm 2022
Sinh viên thực hiện
Bình
Đỗ Văn Bình


3
MỤC LỤC
LỜI CAM ĐOAN.....................................................................................................i
LỜI CẢM ƠN..........................................................................................................ii
DANH MỤC CÁC CHỮ VIẾT TẮT....................................................................vi
DANH MỤC CÁC BẢNG....................................................................................vii
DANH MỤC HÌNH ẢNH....................................................................................viii
PHẦN MỞ ĐẦU......................................................................................................1
1.

Cơ sở lý thuyết............................................................................................................. 1

2.

Tổng quan về đề tài nghiên cứu...................................................................................2

3.

Mục đích nghiên cứu..................................................................................................2

4.

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


5.

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

6.

Những đóng góp của báo cáo......................................................................................3

7.

Kết cấu của báo cáo....................................................................................................3

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN.........................................................4
1.1. Lý do chọn đề tài.......................................................................................................4
1.2. Cơng nghệ sử dụng....................................................................................................4
1.2.1.

Ngơn ngữ lập trình PHP ...............................................................................4

1.2.2.

Framework Laravel ......................................................................................5

1.2.3. Hệ quản trị cơ sở dữ liệu MySQL.................................................................9
1.2.4.

Sử dụng các thư viện dành cho thiết kế giao diện website..........................10

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

2.1. Phân tích yêu cầu.....................................................................................................13
2.2. Xây dựng biểu đồ Use Case.....................................................................................13
2.2.1.

Biểu đồ usecase tổng quát...........................................................................14

2.2.2.

Biểu đồ use case đăng nhập........................................................................14

2.2.3. Biểu đồ use case tìm kiếm..........................................................................15


4
2.2.4.

Biểu đồ usecase quản lý tin tức...................................................................16

2.2.5.

Biểu đồ usecase quản lý chuyến xe.............................................................17

2.2.6.

Biểu đồ usecase quản lý lộ trình.................................................................18

2.2.7. Biểu đồ usecase quản lý loại xe..................................................................19
2.2.8.

Biểu đồ usecase quản lý khách hàng...........................................................20


2.2.9.

Biểu đồ usecase quản lý người dùng...........................................................21

2.2.10.

Biểu đồ usecase quản lý trạm dừng..........................................................22

2.2.11.

Biểu đồ usecase xem thông tin..................................................................23

2.2.12.

Biểu đồ usecase đặt vé – thanh toán.........................................................24

2.3.

Biểu đồ hoạt động...................................................................................................25

2.3.1. Biểu đồ hoạt động chức năng đăng ký.........................................................25
2.3.2. Biểu đồ hoạt động chức năng đăng nhập.....................................................25
2.3.3. Biểu đồ hoạt động chức năng thêm..............................................................26
2.3.4. Biểu đồ hoạt động chức năng sửa................................................................26
2.3.5. Biểu đồ hoạt động chức năng xóa................................................................27
2.4.

Biểu đồ tuần tự........................................................................................................27


2.4.1. Khách hàng đăng kí.....................................................................................27
2.4.2. Khách hàng đăng nhập.................................................................................28
2.4.3. Khách hàng xem thơng tin...........................................................................28
2.4.4. Khách hàng tìm kiếm chuyến xe..................................................................29
2.4.5. Biểu đồ tuần tự chức năng đặt vé.................................................................29
2.4.6. Người quản trị quản lý các thông tin...........................................................30
2.5. Sơ đồ lớp..................................................................................................................31
2.6. Thiết kế cơ sở dữ liệu...............................................................................................32
2.6.1. Bảng user.....................................................................................................32


5
2.6.2. Bảng type_buses..........................................................................................32
2.6.3. Bảng Coach.................................................................................................33
2.6.4. Bảng Buse....................................................................................................33
2.6.5. Bảng buse_stop............................................................................................34
2.6.6. Bảng customer.............................................................................................34
2.6.7. Bảng introduce.............................................................................................34
2.6.8. Bảng news...................................................................................................35
2.6.9. Bảng province..............................................................................................35
2.6.10.

Bảng order_ticket.....................................................................................36

2.6.11.

Bảng route_bus.........................................................................................36

2.6.12.


Bảng settings............................................................................................37

2.7.

Sơ đồ liên kết..........................................................................................................38

CHƯƠNG 3: XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ............................39
ĐẶT VÉ XE KHÁCH............................................................................................39
3.1.

Yêu cầu về cấu hình................................................................................................39

3.2.

Thiết kế giao điện Website......................................................................................40

3.2.1.

Giao diện người dùng.................................................................................40

3.2.2.

Giao diện trang quản lý...............................................................................46

KẾT LUẬN – HƯỚNG PHÁT TRIỂN................................................................50
1. Kết quả đạt được.........................................................................................................50
2. Hướng phát triển.........................................................................................................50
TÀI LIỆU THAM KHẢO.....................................................................................51



6

DANH MỤC CÁC CHỮ VIẾT TẮT
Chữ viết tắt
MVC
SQL
STT
Framework

Tên tiếng anh
Model - View - Controller
Structured Query Language

Nghĩa tiếng việt
Mơ hình - Hiển thị - Điều khiển
Ngôn ngữ truy vấn
Số thứ tự
Là các đoạn code đã được viết
sẵn, cấu thành nên một bộ
khung và các thư viện lập trình

DOM

Document Object Model

HTML

Hypertext Markup Language

được đóng gói

mơ hình các đối tượng trong tài
liệu HTML
Nó giúp người dùng tạo và cấu
trúc các thành phần trong trang
web hoặc ứng dụng, phân chia
các đoạn văn, heading, links,
blockquotes,


7
DANH MỤC CÁC BẢNG
Bảng 2.1: Kịch bản cho usecase đăng nhập.............................................................15
Bảng 2.2: Kịch bản cho usecase tìm kiếm...............................................................16
Bảng 2.3: Kịch bản quản lý tin tức..........................................................................16
Bảng 2.4: Kịch bản quản lý chuyến xe....................................................................17
Bảng 2.5: Kịch bản quản lý lộ trình.........................................................................18
Bảng 2.6: Kịch bản quản lý loại xe..........................................................................19
Bảng 2.7: Kịch bản quản lý khách hàng..................................................................20
Bảng 2.8: Kịch bản quản lý người dùng..................................................................21
Bảng 2.9: Kịch bản quản lý trạm dừng....................................................................22
Bảng 2.10: Kịch bản xem thông tin.........................................................................23
Bảng 2.11: Kịch bản đặt vé – thanh toán.................................................................24
Bảng 2.12: Bảng user..............................................................................................32
Bảng 2.13: Bảng type_buses...................................................................................32
Bảng 2.14: Bảng coach............................................................................................33
Bảng 2.15: Bảng Buse.............................................................................................33
Bảng 2.16: Bảng buse_stop.....................................................................................34
Bảng 2.17: Bảng customer.......................................................................................34
Bảng 2.18: Bảng giới thiệu......................................................................................34
Bảng 2.19: Bảng tin tức...........................................................................................35

Bảng 2.20: Bảng province.......................................................................................35
Bảng 2.21: Bảng order_ticket..................................................................................36
Bảng 2.22: Bảng route_bus.....................................................................................36
Bảng 2.23: Bảng settings.........................................................................................37


8

DANH MỤC HÌNH ẢNH
Hình 1.1. Cách thức hoạt động của PHP...................................................................5
Hình 1.2: Mơ hình tương tác Model và cơ sở dữ liệu................................................7
Hình 1.3: Liên kết Route, Controller và View trong Laravel.....................................8
Hình 2.1: Sơ đồ Usecase Tổng quát hệ thống..........................................................14
Hình 2.2: Biểu đồ Use case đăng nhập....................................................................14
Hình 2.3: Biểu đồ Use case tìm kiếm......................................................................15
Hình 2.4: Sơ đồ Use case phân rã quản lý tin tức....................................................16
Hình 2.5: Sơ đồ Use case phân rã quản lý chuyến xe..............................................17
Hình 2.6: Sơ đồ Use case phân rã quản lý lộ trình...................................................18
Hình 2.7: Sơ đồ Use case phân rã quản lý loại xe....................................................19
Hình 2.8: Sơ đồ Use case phân rã quản lý khách hàng............................................20
Hình 2.9: Sơ đồ Use case phân rã quản lý người dùng............................................21
Hình 2.10: Sơ đồ Use case phân rã quản lý trạm dừng............................................22
Hình 2.11: Sơ đồ Use case phân rã xem thơng tin...................................................23
Hình 2.12: Sơ đồ Use case phân rã đặt vé – thanh tốn...........................................24
Hình 2.13: Biểu đồ hoạt động chức năng đăng ký...................................................25
Hình 2.14: Biểu đồ hoạt động chức năng đăng nhập...............................................25
Hình 2.15: Biểu đồ hoạt động chức năng thêm........................................................26
Hình 2.16: Biểu đồ hoạt động chức năng sửa..........................................................26
Hình 2.17: Biểu đồ hoạt động chức năng xóa..........................................................27
Hình 2.18: Biểu đồ tuần tự khách hàng đăng kí.......................................................27

Hình 2.19: Biểu đồ tuần tự khách hàng đăng nhập..................................................28
Hình 2.20: Khách hàng xem thơng tin.....................................................................28


9
Hình 2.21: Khách hàng tìm kiếm chuyến xe............................................................29
Hình 2.22: Biều đồ tuần tự chức năng đặt vé...........................................................29
Hình 2.23: Biểu đồ tuần chức năng quản lý thơng tin..............................................30
Hình 2.24: Sơ đồ lớp...............................................................................................31
Hình 2.25: Sơ đồ liên kết.........................................................................................38
Hình 3.1: Giao diện trang chủ..................................................................................40
Hình 3.2: Giao diện tìm chuyến...............................................................................41
Hình 3.3: Giao diện chọn chuyến............................................................................41
Hình 3.4: Giao diện chi tiết vé.................................................................................42
Hình 3.5: Giao diện chọn hình thức thanh tốn.......................................................42
Hình 3.6: Giao diện thơng tin vé đã đặt...................................................................43
Hình 3.7: Giao diện thơng tin khách hàng...............................................................43
Hình 3.8: Giao diện đổi thơng tin khách hàng.........................................................44
Hình 3.9: Giao diện đổi mật khẩu khách hàng.........................................................44
Hình 3.10: Giao diện tin tức....................................................................................45
Hình 3.11: Giao diện trang giới thiệu......................................................................45
Hình 3.12: Giao diện trang liên hệ...........................................................................46
Hình 3.13: Giao diện trang đăng nhập.....................................................................46
Hình 3.14: Giao diện trang quản lý..........................................................................47
Hình 3.15: Giao diện trang quản lý đặt vé...............................................................47
Hình 3.16: Giao diện trang cấu hình website...........................................................48
Hình 3.17: Giao diện trang quản lý tin tức..............................................................48
Hình 3.18: Giao diện trang quản lý chuyến xe........................................................49



1
PHẦN MỞ ĐẦU
1. Cơ sở lý thuyết
Ngày nay công nghệ thơng tin đã có những bước tiến phát triển mạnh mẽ về cả
chiều sâu và chiều rộng. Máy tính điện tử giờ đây khơng cịn là thứ q hiếm mà
đang ngày càng trở thành một công cụ làm việc và giải trí của con người. Những
năm gần đây, việc cập nhật các thông tin cũng như thực hiện các giao dịch qua
mạng internet ngày càng trở nên phổ biến. Và một loại hình kinh doanh qua hiện
nay khá phổ biến đó là bn bán qua mạng.
Hình thức kinh doanh này mang lại rất nhiều lợi ích cho người tiêu dùng cũng
như nhà cung cấp. Phần lớn khách hàng có nhu cầu mua hàng thì phải đến các cửa
hàng, siêu thị hay các trung tâm thương mại để lựa chọn những mặt hàng hợp với
nhu cầu của minh. Công việc này tốn kém nhiều thời gian và chi phí đi lại cho
người tiêu dùng, đơi khi khách hàng cịn mua phải hàng kém chất lượng. Tất cả
những bất cập đó sẽ được loại bỏ với sự ra đời của website giao dịch qua mạng
internet. Khi khách hàng có nhu cầu mua hàng hay đặt trước vé xe, dù ở nhà hay
công sở hay bất cứ nơi đâu có mạng internet, khách hàng chỉ cần truy cập vào
những trang web cần thiết qua mạng là có thể tìm kiếm được những mặt hàng mà
mình muốn mua, những địa điểm cần đến và hành trình rõ ràng, khách hàng có thể
thực hiện các thủ tục được hướng dẫn trên trang web là có thể đáp ứng được u
cầu của mình, phần cịn lại là công việc của nhân viên và các nhà quản trị website.
Ngồi những lợi ích mà internet mang lại cho người tiêu dùng nó cịn giúp cho
nhà cung cấp phát triển rất nhiều trong việc mở rộng thị trường, giúp thương hiệu
của công ty được nhiều người biết đến, từ đó giảm được rất nhiều chi phí quảng cáo
cho sản phẩm và rất thuận tiện trong việc quản lý sản phẩm và chăm sóc khách hàng
theo đúng phương trâm đặt ra. Để tiếp cận và góp phần đẩy mạnh sự phát triển của
thương mại điện tử ở nước ta, em đã tìm hiểu và xây dựng “Website quản lý các
dịch vụ đặt vé xe khách trên nền web”.



2
2. Tổng quan về đề tài nghiên cứu
Cùng với sự phát triển khơng ngừng về kỹ thuật máy tính và mạng internet,
công nghệ thông tin đang ngày càng chinh phục các đỉnh cao. Mạng internet là một
trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên là một công cụ
không thể thiếu trong mọi lĩnh vực cuộc sống.
Với internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn
và chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc
đầy sự khai sinh và phát triển của thương mại điện tử và chính phủ điện từ trên khắp
thể giới, làm biến đối đáng kể bộ mặt văn hóa, nâng cao chẩt lượng cuộc sống con
người.
Trong hoạt động sản xuất kinh doanh, giờ đây thương mại điện tử đã khẳng
định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một
công ty xe khách, việc quảng bá và giới thiệu đến các khách do công ty cung cấp
một cách hiệu quả và kịp thời là yếu tố quyết định đến lợi nhuận của doanh nghiệp.
Vì vậy, sẽ rất thiếu sót nếu công ty bạn chưa xây dựng một website quảng bá và đặt
vé trực tiếp trên website, nhưng song song với đó, là làm sao để có thể quản lý và
điều hành website một cách dễ dàng và hiệu quả để thu được kết quả như mong
muốn. Đây là vấn đề hết sức cấp thiết cho các doanh nghiệp khác nói chung, nhất là
các doanh nghiệp Việt Nam.
Với đề tài này tơi xin được trình bày một cách thức quản lý website cho những
người quản trị dễ dàng trong việc quản lý, thay đổi, cập nhật thông tin trang web
cũng như quản lý hiệu quả khách hàng và đặt vé trên mạng.
3. Mục đích nghiên cứu
 Tìm hiểu về ngơn ngữ PHP.
 Tìm hiểu về Laravel Framework.
 Xây dựng một ứng dụng sử dụng Laravel Framework.
 Nghiên cứu nghiệp vụ quản lý các dich vụ của website đặt vé xe khách.
4. Đối tượng nghiên cứu và phạm vi nghiên cứu



Đối tượng nghiên cứu: Người quản lý và khách hàng.



Phạm vi nghiên cứu: Các dịch vụ website đặt vé xe khách


3

5. Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Thu nhập, nghiên cứu các tài liệu về
xây dựng web, nghiệp vụ quản lý, nghiên cứu cứu về HTML5, Bootstrap, Javascript
và Laravel Framework để nghiên cứu xây dựng phần mềm quản lý.
- Phương pháp nghiên cứu thực nghiệm: Tiến hành kiểm thử sản phẩm đã
xây dựng để kiểm tra kết quả đạt được và khắc phục các lỗi đưa ra các hướng giải
quyết kịp thời.
6. Những đóng góp của báo cáo
Khóa luận hồn thành sẽ có những đóng góp chủ yếu sau đây:
- Xây dựng hoàn thiện được website có đầy đủ các chức năng phù hợp với
mục đích sử dụng, có độ chính xác cao với giao diện đẹp. Dễ dàng cho người sử
dụng khi thao tác cập nhật và xử lý thơng tin.
- Hệ thống hóa những vấn đề lý thuyết cơ bản về PHP.
- Một số vấn đề cơ bản về Laravel Framework
7. Kết cấu của báo cáo
CHƯƠNG 1. TỔNG QUAN
- Lý do chọn đề tài
- Tổng quan về ngôn ngữ PHP
- Công nghệ Laravel Framework
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG.

- Mơ tả bài tốn và phân tích u cầu
- Xây dựng biểu đồ Use Case
- Biểu đồ hoạt động
- Sơ đồ lớp
- Thiết kế cơ sở dữ liệu
- Sơ đồ liên kết
CHƯƠNG 3. XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ ĐẶT VÉ XE
KHÁCH
- Thiết kế giao điện Website
- Đánh giá kết quả


4
CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN
1.1. Lý do chọn đề tài
Trước đây, việc kinh doanh các dịch vụ đặt vé xe khách chỉ đơn thuần các
công việc như quản lý thông tin, quản lý đặt vé xe khách, thống kê doanh thu thơng
qua giấy tờ và bảng tính excel…Tuy nhiên, đến khi nhu của khách hàng ngày càng
tăng thì việc quản lý bằng giấy tờ khơng cịn hiệu quả, việc quản lý sẽ mất nhiều
thời gian và thiếu sót. Hệ thống quản lý các dịch vụ đặt vé giúp tiết kiệm rất nhiều
thời gian và công sức cho khách hàng mỗi khi có nhu cầu đi xe khách hay các dịch
vụ liên quan đến xe khách. Ngồi ra cịn giúp rất nhiều trong việc mở rộng thị
trường, giúp thương hiệu của công ty được nhiều người biết đến, từ đó giảm được
rất nhiều chi phí quảng cáo cho sản phẩm và rất thuận tiện trong việc quản lý sản
phẩm và chăm sóc khách hàng theo đúng phương trâm đặt ra. Khách hàng có thể tra
cứu thơng tin lộ trình cũng như các dịch vụ đặt vé trên website mọi lúc mọi nơi. Để
tiếp cận và góp phần đẩy mạnh sự phát triển của thương mại điện tử ở nước ta, em
đã tìm hiểu và xây dựng “XÂY DỰNG WEBSITE QUẢN LÝ DỊCH VỤ ĐẶT VÉ
XE KHÁCH TRÊN NỀN WEB”.
1.2. Cơng nghệ sử dụng

1.2.1. Ngơn ngữ lập trình PHP [3]
PHP - viết tắt của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịch
bản được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải qua rất
nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ
rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất
phổ biến và được ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị
cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux
(LAMP).
- Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình
duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
- MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress,
Oracle, SQL server...) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.


5
- Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các
webserver. Thông thường các phiên bản được sử dụng nhiều nhất là RedHat
Enterprise Linux, Ubuntu...
Phương thức hoạt động:
Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để
thông dịch dịch trang PHP và trả kết quả cho người dùng như hình bên dưới.

Hình 1.1. Cách thức hoạt động của PHP
1.2.2. Framework Laravel [5]
a) Laravel là gì?
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm
trúc model-view-controller (MVC). Những tính năng nổi bật của Laravel bao gồm
cú pháp dễ hiểu – rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc,

nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác
nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại
Github.
b) Lịch sử phát triển của Laravel
Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter,
cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền. Tôi cũng


6
khơng chắc về điều này, nhưng có thể Taylor vốn là một .NET developer khi bắt đầu
có nhu cầu làm việc với PHP khoảng vào những năm 2010-2011, đã chọn
CodeIgniter khi đó đang là một ngơi sao mới nổi, thậm chí lấn át cả Symfony gạo
cội. Và Taylor nhanh chóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với
tài năng và kiến thức xuất sắc về design-pattern của mình, Taylor quyết định tự
mình tạo ra một framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện
thực ý tưởng một cách nhanh nhất bằng nhiều tính năng hỗ trợ như Eloquent ORM
mạnh mẽ, xác thực đơn giản, phân trang hiệu quả, và hơn thế nữa.
c) Thành phần cơ bản trong Laravel [5]
-

Route trong Laravel

Mục đích chính của router là định tuyến đến những controller cụ thể nào đó từ
phía u cầu của người sử dụng. Đối với những Framework khác thì khi muốn thực
hiện một cơng việc nào đó thường sẽ cần xây dựng một controller để xử lý, nhưng
trong Laravel thì hồn tồn có thể xử lý dữ liệu ngay trong phần Route. Đây chính
là điểm mạnh cũng như điểm khác biệt lớn của Laravel đối với các Framework
khác.
 Cấu trúc Route:

- Các định tuyến trong Laravel 5.5 đều được viết trongroutes/web.php
- Cú pháp: Route:method (‘URI’, ‘function callback’);
Trong đó:
o URI là dạng link trên url.
o Function call back: hàm sẽ gọi tới link URI phía trên.
o Method: các dạng phương thức cơ bản post, get, put, delete, any
- Các method:
o POST Route: các thao tác lấy từ biểu mẫu (form) như thêm dữ liệu.
o GETRoute: dành cho các thao tác truy cập thong thường tương đương với
yêu cầu cơ bản trong PHP. Ví dụ chạy 1 đường dẫn trên URL.
o PUT Route: dành cho các thao tác lấy từ biểu mẫu nhưng là cập nhật dữ
liệu.


7
o DELETE Route: dành cho thao tác xóa dữ liệu.
o ANY Route: là sự tổng hợp các thao tác ở trên. Trong đó POST và GET
được sử dụng nhiều nhất.
- Laravel Model

Hình 1.2: Mơ hình tương tác Model và cơ sở dữ liệu
Model là một lớp dữ liệu có cấu trúc giống với bảng trong cơ sở dữ liệu, dùng
để xử lý dữ liệu vào ra trong bảng.
 Tạo model
- Các Model sẽ được lưu tại mụcApp/
- Tạo một Model: Khởi động Command Prompt (cmd) và trỏ về thư mục gốc
của dự án, gõ lệnh sau để tạo model:
php artisan make:model NameModel
- Tạo một Model và migrate tương ứng với nó
php artisan make:model NameModel –m

- Kết nối Model tới bảng trong cơ sở dữ liệu
Protected $table = ‘nameTable’;
- Laravel Controller
 Cấu trúc Controller


8
- Các Controller sẽ được lưu tại app/Http/Controllers
 Tạo Controller
- Tạo Controller với cmd bằng câu lệnh:
php artisan make:controller MyController
 Gọi Controller từ Route
- Để gọi một Controller, phải thông qua Route bằng cách khai báo như sau:
Gọi
Route::get(‘goiController/{id}’,

Nhận dữ liệu bên Controller
class MyControllerextends Controller{

‘MyController@GetData’);

public function GetData($id)
{
Echo “Xin chào!”;
}
}

 Gửi nhận dữ liệu từ Route sang Controller
Truyền tham số id từ Route
Route::get(‘goiController/{id}’,


Nhận dữ liệu bên Controller
class MyController extends Controller

‘MyController@GetData’);

{
public function GetData($id){
Echo “Đã nhận”.$id;
}
}

- Laravel View (MasterTemplate)
+ Laravel View


9

Hình 1.3: Liên kết Route, Controller và View trong Laravel
View là các tệp tin có đi .php, chứa mã nguồn html, hiển thị dữ liệu cho
người dùng xem và được lưu tại resources/views.
Giả sử truyền lên trình duyệt một đường dẫn, trình duyệt sẽ gửi lên router,
Route chuyển sang Controller, sau khi Controller xử lý xong, sẽ gọi tệp tin
index.php, đây chính là view. Tập tin này chứa các mã nguồn html, css, hoặc các dữ
liệu mà nhà phát triển ứng dụng muốn hiển thị lên màn hình rồi trả về trình duyệt
hiển thị cho người dung xem.
Cài đặt Route
Route::get('myView',

Controller

Public function myView()

'MyController@myView');

{

myView.php

Đây là view



Return view(‘myView’);
}
 Truyền tham số sang view
Cài đặt Route
Route::get('myView/{ts}',

Controller
Public function myView($ts){

myView.php

Đây là

'MyController@myView');

Return view(‘myView’,


[‘thamso’=>&ts]);

echo $thamso;


}

?>



 Mastertemplate
Luồng xử lý dữ liệu tương tự như ở View ở trên. Trong View có tệp
master.blade.php, tệp này chứa giao diện chung của hệ thống, @section định nghĩa


10
phần nội dung còn @yield sử dụng để hiển thị nội dung mà section đem lại. Các
view sẽ kế thừa blade template này bằng cách sử dụng lệnh@extends.
Muốn sử dụng Blade Template thì tên tệp phải có chứa .blade đằng trước .php
1.2.3. Hệ quản trị cơ sở dữ liệu MySQL [4]
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational
Database Management System, viết tắt là RDBMS) hoạt động theo mơ hình clientserver. RDBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ
liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng.
MySQL là một trong số các phần mềm RDBMS. RDBMS và MySQL thường
được cho là một vì độ phổ biến quá lớn của MySQL. Các ứng dụng web lớn
nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng MySQL cho
mục đích lưu trữ dữ liệu. Kể cả khi ban đầu nó chỉ được dùng rất hạn chế nhưng giờ
nó đã tương thích với nhiều hạ tầng máy tính quan trọng như Linux, macOS,
Microsoft Windows, và Ubuntu.
1.2.4. Sử dụng các thư viện dành cho thiết kế giao diện website
a) Boostrap CSS Framework [8]
Bootstrap là 1 frame work HTML, CSS, và JavaScript cho phép người dung
dễ dàng thiết kế website theo một chuẩn nhất định, bao gồm typography (kiểu dáng
văn bản), forms (biểu mẫu), buttons (nút bấm), tables (bảng biểu), navigation

(menu), modals (các phương thức), image carousels (trình chiếu ảnh) và nhiều thứ
khác. Trong bootstrap có thêm các trình cắm (plugin) Javascript trong nó, giúp tạo
các website thân thiện (web responsive) với các thiết bị cầm tay như mobile, ipad,
tablet, ... dễ dàng hơn và nhanh chóng hơn.
Trong các phiên bản Laravel 5.x, bootstrap đã được thiết lập sẵn cấu hình, chỉ
cần tải về các gói (package) là sử dụngđược.
Mỗi trang web, khi muốn sử dụng có 2 cách là tải Bootstrap từ
getbootstrap.com hoặc thêm từ CDN.
b) Thư viện Javascript [9]


11
JavaScript là một ngôn ngữ dạng script thường được sử dụng cho việc lập
trình web ở phía client, nó tn theo chuẩn ECMAScript.
Một số đặc điểm chính của JavaScript:
- Là một ngôn ngữ linh động, cú pháp dễ sử dụng như các ngơn ngữ khác và
dễ dàng lập trình.
- Khơng hề liên quan tới ngơn ngữ lập trình java.
- Được hầu hết các trình duyệt ngày nay hỗ trợ.
- Là một ngơn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các
ý niệm nguyên mẫu.
- Được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả
năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng.
- Giống Java, JavaScript có cú pháp tương tự ngơn ngữ lập trình C, nhưng nó
gần với Self hơn Java.
“.js” là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript.
c) Thư viện Jquery [6]
JQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào
năm 2006 với một phương châm tuyệt vời: Write less, do more - Viết ít hơn, làm
nhiều hơn.

JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng
động và tương tác Ajax. Với jQuery, khái niệm Rapid Web Development đã khơng
cịn q xa lạ.
Một số tính năng quan trọng được hỗ trợ bởi jQuery:
- Thao tác DOM − jQuery giúp dễ dàng lựa chọ các phần tử DOM
để traverse (duyệt) một cách dễ dàng như sử dụng CSS, và chỉnh sửa nội dung của
chúng bởi sử dụng phương tiện Selector mã nguồn mở, mà được gọi là Sizzle.
- Xử lý sự kiện − jQuery giúp tương tác với người dùng tốt hơn bằng việc xử
lý các sự kiện đa dạng mà không làm cho HTML code rối tung lên với các Event
Handler.
- Hỗ trợ AJAX − jQuery giúp bạn rất nhiều để phát triển một site giàu tính
năng và phản hồi tốt bởi sử dụng công nghệ AJAX.


12
- Hiệu ứng − jQuery đi kèm với rất nhiều các hiệu ứng đa dạng và đẹp mắt
mà bạn có thể sử dụng trong các Website của mình.
- Gọn nhẹ − jQuery là thư viện gọn nhẹ - nó chỉ có kích cỡ khoảng 19KB
(gzipped).
- Được hỗ trợ hầu hết bởi các trình duyệt hiện đại − jQuery được hỗ trợ hầu
hết bởi các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+, FF 2.0+, Safari 3.0+,
Chrome và Opera 9.0+.
Cập nhật và hỗ trợ các công nghệ mới nhất − jQuery hỗ trợ CSS3 Selector và
cú pháp XPath cơ bản.

Tổng kết chương 1:
Chương 1 trình bày cơ sở lý thuyết về ngơn ngữ lập trình và các cơng nghệ sử
dụng. Trên cơ sở lý thuyết này em đã vận dụng kiến thức về Laravel Framework để
xây dựng bài toán quản lý các dịch vụ đặt vé xe khách.



13
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. Phân tích yêu cầu
a) Yêu cầu chức năng
Người dùng vào website có thể xem, tìm kiếm thơng tin về các lộ trình hiện
hành, các dịch vụ do công ty cung cấp và thơng tin về cơng ty.
Khách hàng có thể đặt vé, thanh toán online và các dịch vụ trực tuyến. Website
sẽ cập nhật thông tin đặt dịch vụ lên cơ sở dữ liệu và cho phép người quản trị được
phân thao tác cơng việc sau:
- Tìm kiếm các đơn đặt vé đã xác nhận hay chưa xác nhận.
- Thống kê tình hình đặt vé của từng xe, xem danh sách khách hàng tham gia
các xe đó.
- Thay đổi, thêm mới hoặc xóa bỏ thơng tin, hình ảnh về các lộ trình, tin
tức… ở các địa điểm khác nhau mà công ty muốn giới thiệu cho khách hàng.
- Theo dõi tình hình liên hệ thông qua website của khách hàng, để đáp ứng
kịp thời nhu cầu của họ.
b) Yêu cầu phi chức năng
- Website phải có dung lượng khơng q lớn, tốc độ xử lý nhanh.
- Cơng việc tính tốn phải thực hiện chính xác, khơng chấp nhận sai xót.
- Sử dụng mã hóa các thơng tin bảo mật của khách hàng.
- Đảm bảo an toàn dữ liệu khi chạy website trực tuyến.
- Giao diện đơn giản, thân thiện, đẹp và dễ nhìn
2.2. Xây dựng biểu đồ Use Case
Xác định Actor:
- Admin: Tác nhân Admin là tác nhân giữ vai trị chính của hệ thống website,
là người điều hành, quản lý và theo dõi mọi hoạt động của hệ thống. Tác nhân
Admin có thể thực hiện được tất cả các chức năng có trong hệ thống của quản trị
như: đăng nhập, quản lý các thông tin liên quan đến các dịch vụ, quản lý khách
hàng, tìm kiếm….

- Khách hàng: những người giao tiếp với Website đăng ký hoặc đăng nhập
thông tin với Website. Tra cứu thông tin về các dịch vụ, đặt vé, thanh toán ...


14
2.2.1. Biểu đồ usecase tổng quát

Hình 2.1: Sơ đồ Usecase Tổng quát hệ thống
2.2.2. Biểu đồ use case đăng nhập

Hình 2.2: Biểu đồ Use case đăng nhập
+ Kịch bản:
Bảng 2.1: Kịch bản cho usecase đăng nhập


×