Tải bản đầy đủ (.doc) (73 trang)

hệ thống giám sát và điều phối taxi ứng dụng 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 (2.41 MB, 73 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN

NGÀNH CÔNG NGHỆ THÔNG TIN

 !"
#$%&'(
Sinh viên thực hiện: )*#+,!
Lớp CNPM - K51
Giáo viờn hướng dẫn: - ./0
HÀ NỘI 17-5-2011
Hệ thống giám sát và điều phối taxi ứng dụng web
12345)678
1. Thông tin về sinh viên
Họ và tên sinh viên: Vũ Đức Quang
Điện thoại liên lạc: 0955629433Email Email:
Lớp: Công Nghệ Phần Mềm K51 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: công ty VES, 108E Lê Thanh Nghị, Hai Bà Trưng
Thời gian làm ĐATN: Từ ngày 28/02/2011 đến 28/05/2011
2. Mục đích nội dung của ĐATN
Xây dựng hệ thống giám sát và quản lý, điều phối xe taxi trên giao diện web.
3. Các nhiệm vụ cụ thể của ĐATN
 Tìm hiểu về Google Maps và cách ứng dụng của nó trong việc xây dựng bản đồ.
 Tìm hiểu về các công nghệ để xây dựng trang web.
 Tìm hiểu mô hình, cách thức hoạt động của các hệ thống quản lý taxi.
 Tìm hiểu các yêu cầu sử dụng mà người dùng cần.
 Tìm hiểu và đưa ra giải pháp công nghệ, lựa chọn công cụ phát triển cho hệ thống
quản lý.
 Phân tích và thiết kế hệ thống quản lý xe taxi.


 Cài đặt và triển khai hệ thống.
4. Lời cam đoan của sinh viên:
Tôi - Vũ Đức Quang - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của ThS Lê Tấn Hùng.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ
công trình nào khác.
Hà Nội, ngày tháng năm
Tác giả ĐATN
Vũ Đức Quang
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
Lê Tấn Hùng
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
2
Hệ thống giám sát và điều phối taxi ứng dụng web
Lời nói đầu
Trong 5 năm học vừa qua, em đã nhận được rất nhiều kiến thức và kinh nghiệm
được truyền đạt lại từ các thầy và cỏc cụ dưới mái trường đại học Bách Khoa Hà
Nội. Trước khi đặt chân vào giảng đường đại học em không nghĩ việc học tập và
rèn luyện tại Bách Khoa lại khó khăn đến vậy. Tuy nhiên theo từng ngày, từng bài
giảng, từng môn học, từng kì trôi qua, em cảm thấy mình trở nên tự tin hơn, vốn
kiến thức cũng nhờ đó mà nâng cao hơn. Giờ em có thể tự hào mà nói rằng mình là
một sinh viên trưởng thành từ đại học Bách Khoa với hành trang tri thức vững vàng.
Có được điều đó là công ơn dìu dắt của tập thể thầy cô đã truyền thụ lại kiến thức
cho lớp lớp các thế hệ sinh viên dưới mái trường này. Vì thế, trước tiên em xin gửi
lời cảm ơn chân thành đến tất cả các thầy cô đã giảng dạy cho em trong thời gian
học tập tại trường đại học Bách Khoa Hà Nội.
Tiếp đó, em xin gửi lời cảm ơn đến thầy Lê Tấn Hùng, thầy đã định hướng và

giúp đỡ em rất nhiều kể từ năm học thứ tư để em hoàn thành được đồ án tốt nghiệp.
Được sự hướng dẫn của thầy Hùng, em đã tiếp thu được rất nhiều kiến thức, đặc
biệt là những kinh nghiệm thực tế. Em xin được gửi tới thầy lòng biết ơn sâu sắc.
Do thời gian làm đồ án có hạn, nên trong quá trình làm đồ án, em không tránh
khỏi những sai sót, mong các thầy cô giáo chỉ bảo và giúp đỡ để sau này em có thể
hoàn thiện được đề tài của mình trong tương lai. Một lần nữa, em xin cảm ơn tất cả
các thầy cô trong khoa Công nghệ thông tin, cựng cỏc bạn bè đã giúp đỡ em rất
nhiều để hoàn thành đề tài này.
Hà Nội, ngày 17 tháng 5 năm 2011
-/9 Vũ Đức Quang
.: 9 Công nghệ phần mềm K51
)9 Công nghệ thông tin và truyền thông
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
3
Hệ thống giám sát và điều phối taxi ứng dụng web
;5<=>278
Đồ án tập trung vào việc xây dựng hệ thống quản lý taxi trên nền công nghệ web. Đồ án
được chia làm 4 chương chính như sau:
Chương I. Phân tích hệ thống: phân tích các nhóm người dùng và các chức năng mà hệ
thống cần đạt đến.
Chương II. Thiết kế hệ thống: đưa ra các biểu đồ chi tiết thiết kế hệ thống và thiết kế cơ sở
dữ liệu.
Chương III. Cài đặt hệ thống và kết quả thu được: hướng dẫn cách cài đặt hệ thống trên
localhost và remote server. Một số kết quả bằng hình ảnh thu được.
Chương IV. Đánh giá ưu, nhược điểm hệ thống: chỉ ra những công việc đã hoàn thành của
hệ thống và những mặt hạn chế còn tồn tại.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
4
Hệ thống giám sát và điều phối taxi ứng dụng web
3?-@34AB--

The thesis focuses on how to develop a taxi management system deployed on website
platform. This thesis is divided into 4 main chapters:
Chapter I. System analysis: analysising user groups and functions that the system need to
reach.
Chapter II. System design: giving some detail paradigms about system design and database
design.
Chapter III. System installation and result: guiding how to install the system on localhost
and remote server. Also giving some screenshots about the system.
Chapter IV. Assessing the advantages and disadvantages: showing accomplished tasks of
the system and limitation.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
5
Hệ thống giám sát và điều phối taxi ứng dụng web
56.6
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
Sinh viên: 3
Vũ Đức Quang 3
Lớp: 3
Công nghệ phần mềm K51 3
Viện: 3
Công nghệ thông tin và truyền thông 3
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4
Đồ án tập trung vào việc xây dựng hệ thống quản lý taxi trên nền công nghệ web. Đồ án
được chia làm 4 chương chính như sau: 4
Định hướng phát triển 69
Kết luận chung 69
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
6
Hệ thống giám sát và điều phối taxi ứng dụng web
>3568C)D

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
Sinh viên: 3
Vũ Đức Quang 3
Lớp: 3
Công nghệ phần mềm K51 3
Viện: 3
Công nghệ thông tin và truyền thông 3
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4
Đồ án tập trung vào việc xây dựng hệ thống quản lý taxi trên nền công nghệ web. Đồ án
được chia làm 4 chương chính như sau: 4
Định hướng phát triển 69
Kết luận chung 69
>3568?E
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
Sinh viên: 3
Vũ Đức Quang 3
Lớp: 3
Công nghệ phần mềm K51 3
Viện: 3
Công nghệ thông tin và truyền thông 3
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4
Đồ án tập trung vào việc xây dựng hệ thống quản lý taxi trên nền công nghệ web. Đồ án
được chia làm 4 chương chính như sau: 4
Định hướng phát triển 69
Kết luận chung 69
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
7
Hệ thống giám sát và điều phối taxi ứng dụng web
>3568F)1<
GHI JK

CSDL Cơ sở dữ liệu
GPS Hệ thống định vị toàn cầu (Global Positioning System)
GPRS Dịch vụ truyền tin qua sóng radio (General Packet Radio Service)
SMS Dịch vụ thông báo tin ngắn (Short Message Services)
GIS Hệ thống thông tin địa lý (Geographic Information System)
HTML Ngôn ngữ đánh dấu siêu văn bản (HyperText Markup Language)
CSS Cascading Style Sheet
PHP Hypertext Preprocessor
UI Giao diện người dùng (User Interface)
AJAX Asynchronous JavaScript and XML
API Giao diện trình ứng dụng (Application Programming Interface)
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
8
Hệ thống giám sát và điều phối taxi ứng dụng web
LMNO)P)QRSE8
TUNVW!
- Tên đề tài: hệ thống giám sát và điều phối taxi ứng dụng web.
MNMN5XK
- Mục tiêu đề tài: hệ thống quản lý taxi được thiết kế để chạy trên web browser
cung cấp giao diện cần thiết cho phép người điều hành giám sát và thực hiện các
thao tác quản lý, tìm kiếm thông tin, khách hàng có thể thực hiện việc đặt xe trên
thiết bị di động sử dụng android. Dữ liệu sẽ được lưu vào cơ sở dữ liệu và được cập
nhập mỗi khi có thay đổi xảy ra.
- Phạm vi đề tài: ứng dụng quản lý đội xe cho doanh nghiệp vừa và nhỏ. Có cơ
cấu gồm người điều hành, nhân viên tổng đài, người quản lý hệ thống, người quản
lý xe và lái xe.
MNYNZ
MNYNMN+K  WK[\!"X$%]+*^
Có không ớt cỏc phương pháp quản lý xe taxi và đội xe đã được áp dụng trong
thực tế, thông dụng nhất là dùng thiết bị liên lạc qua sóng radio, thiết lập hệ thống

các trạm báo cáo trên đường (checkpoint), hoặc kiểm soát xe thông qua việc xác
định chuẩn thời gian vận hành, Những phương pháp này ít nhiều đã phát huy tác
dụng, giúp quá trình quản lý cho các doanh nghiệp có quy mô lớn đạt hiệu quả cao
hơn.
Tuy nhiên, những phương pháp này đều có nhược điểm. Với phương pháp dùng
thiết bị liên lạc radio thường được áp dụng trên xe taxi, hệ thống này chỉ có thể xác
định vị trí xe và lộ trình xe thông qua báo cáo của người lái, nên người điều hành
khó xác minh được độ tin cậy của thông tin, cũng như khó bao quát được mật độ xe
trong từng khu vực. Phương pháp thiết lập các trạm báo cáo chỉ có thể xác định
được vị trí và tình trạng xe khi xe có mặt tại trạm, và cũng tốn kém, ảnh hưởng
không nhỏ đến chi phí vận tải. Còn phương pháp quy định chuẩn thời gian vận hành
thì không có được sự mềm dẽo cần thiết trong quản lý, do không bám sát được thực
tế giao thông, nên gây ra không ít áp lực bất lợi cho người lái xe.
MNYNYNK  WK[\!"_$%``*!+a]
:^
Giải pháp quản lý sử dụng hệ thống định vị toàn cầu (GPS) để quản lý phương
tiện giao thông đang được coi là hiệu quả và đa dụng nhất hiện nay, cũng là phương
pháp quản lý được áp dụng rộng rãi nhất trên thế giới.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
9
Hệ thống giám sát và điều phối taxi ứng dụng web
Mô hình hoạt động cơ bản nhất của một hệ thống GPS Tracking gồm một thiết bị
liên lạc được gắn trên xe, đóm nhận việc thu tín hiệu vệ tinh từ hệ thống định vị
toàn cầu GPS để xác định tọa độ chính xác của xe. Thiết bị cũng thu thập các thông
tin hữu ích khác như trạng thái tắt/mở của động cơ, tốc độ vận hành, hướng duy
chuyển của xe,
Những thông tin này được chuyển về trung tâm xử lý dữ liệu thông qua mạng
điện thọai di động hiện hành (sử dụng kết nối GPRS hoặc SMS). Tại đây thông tin
được kết hợp với hệ thống bản đồ để xác định vị trí thực tế của xe, đồng thời có thể
được xử lý và đưa ra các báo cáo theo các yêu cầu khác nhau của các nhà quản lý.

Thông thường, các thông tin sau khi xử lý sẽ được đưa lên mạng internet hoặc
intranet để tiện cho việc quản lý nhanh chóng và chính xác.
Hình 1. Mô hình quản lý phương tiện giao thông bằng GPS
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
10
Hệ thống giám sát và điều phối taxi ứng dụng web
Như vậy với tính liên tục của hệ thống định vị GPS và mạng điện thọai di động,
việc quản lý có thể được thực hiện mọi lúc mọi nơi, áp dụng được với bất kỳ vật thể
chuyển động nào.
MNYNbNc+HdTe+fgh!
MNYNbNMN!-!i'
!N:
GiamSatXe là hệ thống quản lý điều hành vận tải sử dụng hộp đen GPS kết hợp
với công nghệ truyền dữ liệu không dây (GPRS) và bản đồ số (GIS) giúp quản lý
phương tiện và tài sản một cách dễ dàng, góp phần giải quyết hiệu quả bài toán chi
phí cho cá nhân và doanh nghiệp hoạt động trong các lĩnh vực liên quan đến hoạt
động vận tải. Địa chỉ: www.GiamSatXe.com
(N5Xj
Giải pháp GiamSatXe sử dụng một thiết bị được gọi là hộp đen định vị (GPS)
gắn vào xe. Hộp đen GPS làm nhiệm vụ ghi nhận thông tin từ xe và truyền dữ liệu
về máy chủ trung tâm qua sóng điện thoại di động (GPRS). Máy chủ trung tâm ghi
lại tất cả dữ liệu trả về. Người dùng được cung cấp một tài khoản Web truy cập vào
máy chủ trung tâm xem lại tất cả hoạt động của xe.
Hình 2. Mô hình hệ thống GiamSatXe
+N#+k
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
11
Hệ thống giám sát và điều phối taxi ứng dụng web
 Giám sát vị trí và lộ trình xe theo thời gian thực trên nền bản đồ và bản đồ vệ
tinh.

 Tự động cảnh báo về trung tâm khi vượt quá tốc độ cho phép.
 Tự động cảnh báo về trung tâm khi vượt ra khỏi vùng giới hạn.
 Báo động tình trạng khẩn cấp về trung tâm.
 Theo dõi âm thanh từ xa.
 Trạng thái xe hiển thị trực tiếp ở trung tâm trên bản đồ số chi tiết 63 tỉnh
thành.
 Có thể lưu lại lộ trình từng xe trong thời gian 01 tháng hoặc 06 tháng (tùy
theo nhu cầu của khách hàng).
 Hệ thống báo cáo chi tiết, đa dạng giúp nhà quản lý nhanh chóng tổng hợp
tình hình.
 Thao tác xử lý đơn giản, nhanh chóng, tiện dụng cho người không chuyên
máy tính.
 Cho phép tạo và quản lý riờng cỏc điểm trên bản đồ số.
$N5ljK
Hình 3. Website quản lý GiamXetXe
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
12
Hệ thống giám sát và điều phối taxi ứng dụng web
MNYNbNYN?3mA5-
!N:
BA-FMS là giải pháp tối ưu cho công tác quản lý, điều hành, giám sát, cảnh báo
phương tiện giao thông dựa trên hệ thống định vị vệ tinh toàn cầu, mạng viễn thông
di động và bản đồ số phù hợp mọi mô hình quản lý phương tiện giao thông.
(N5Xj
Hệ thống gồm hai phần chính:
 BA-Blackbox (hộp đen): thiết bị nhỏ gọn lắp đặt trên mỗi xe.
 Trung tâm điều hành: hệ thống máy tính kết nối internet có cài đặt phần mềm
bản đồ số và phần mềm quản lý.
Hình 4. Mô hình hệ thống BA-FMS
Hộp đen lắp đặt trên xe (BA-Blackbox)

Hộp đen nhỏ gọn kích thước: 12cm x 8cm x 3cm lắp đặt trên mỗi xe, các tính
năng của hộp đen là:
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
13
Hệ thống giám sát và điều phối taxi ứng dụng web
 Ghi nhận tọa độ, tốc độ, trạng thái của xe.
 Kết nối đồng hồ tính cước taxi để lấy các thông số: xe cú khỏch hay không,
thông tin cuốc khách: tiền cước, Km cú khỏch, Km rỗng, giờ lên, giờ xuống.
 Gửi các thông tin về phòng điều hành tần suất 10 giõy/lần.
 Cảnh báo tại chỗ nhiều cấp độ: tiếng bip khi xe quá tốc độ, khẩu lệnh phát từ
loa khi lái xe cố tình vi phạm, ngắt nguồn điện khi lái xe bị tấn cụng…
 Tự động phát lời chào khi khách lên xe, lời cảm ơn và nhắc khách hàng nhớ
mang hành lý khi xuống xe.
Trung tâm điều hành
 Tại Trung tâm cần trang bị hệ thống máy tính có kết nối internet.
 Phần mềm bản đồ số: tạo kịch bản điều hành taxi tối ưu.
 Phần mềm quản lý: trợ giúp cho công tác quản lý, đánh giá tình hình kinh
doanh và hệ thống bảng biểu báo cáo.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
14
Hệ thống giám sát và điều phối taxi ứng dụng web
TUNTU  H +nT:KWoH
YNMNT:KWoH++Zf!
YNMNMNT:KWoHZl$
Để giải quyết vấn đề về mặt nội dung được đưa ra với một hệ thống taxi thì hệ
thống được chia ra làm 5 nhóm người dùng: nhân viên tổng đài, người điều hành,
người quản lý xe, lái xe và khách hàng. Mỗi người dựng cú những vai trò riêng đối
với hệ thống quản lý. Nhân viên tổng đài sẽ là người tương tác chủ yếu đối với
website, họ làm các nhiệm vụ giám sát, liên lạc, báo cáo và quản lý khách hàng.
Người điều hành là người quản lý toàn bộ hệ thống, giám sát quá trình làm việc của

nhân viên tổng đài, người quản lý xe và xe. Trong khi đó người quản lý xe sẽ là
người làm việc trực tiếp với lái xe trong mỗi buổi làm việc, chịu trách nhiệm trong
việc phân bổ xe đến từng lái xe. Lái xe đóng vai trò quan trọng trong hệ thống nhất
là về nhiệm vụ liên lạc với tổng đài. Khách hàng là người tham gia vào quá trình đặt
xe, họ có thể đặt xe trực tiếp qua thiết bị cầm tay hoặc thông qua điện thoại tới tổng
đài.
YNMNYNp[c!XjHhH
Hệ thống được thiết kế theo mô hình 3 lớp. Lớp Presentation chứa các thành
phần HTML, CSS, JavaScript. Lớp Business Logic chia thành Service Interfaces và
Business Components. Thành phần Service Interfaces bao gồm các file
interface_provider.php và check_news.php, trong đó interface_provider.php là nơi
tiếp nhận các request gửi lên từ phía client và trả về đáp ứng, check_news.php cũng
làm nhiệm vụ tương tự tuy nhiên nó xử lý đáp ứng theo kĩ thuật long polling. Thành
phần Business Components bao gồm các file UserController.php,
PassengerController.php, MessageController.php, DriverController.php,
CarController.php làm nhiệm vụ xử lý dữ liệu tương ứng. Lớp Data Access chứa
các file DbController.php thực hiện xử lý dữ liệu lấy về từ CSDL và
DbConnector.php làm nhiệm vụ tạo kết nối đến CSDL MySQL.
Hỡnh 5. Mô hình thiết kế 3 lớp
YNMNbNp[c!+X+% fg
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
15
Hệ thống giám sát và điều phối taxi ứng dụng web
Với việc phát triển hệ thống trên cơ sở làm việc với website, các ngôn ngữ được
sử dụng để xây dựng website gồm HTML, CSS, JavaScript và PHP. Đây là những
ngôn ngữ rất phổ biến và có nhiều công cụ phát triển hỗ trợ những ngôn ngữ này.
Trong đó JavaScript có sử dụng thêm thư viện jQuery là một thư viện miễn phí giúp
cho việc xây dựng JavaScript thuận tiện và đơn giản hơn. jQuery còn cung cấp các
plugin tiện ích gồm cả UI giúp xây dựng website động một cách linh hoạt hơn. PHP
cũng là một ngôn ngữ hoàn toàn miễn phí và được cài đặt trên hầu hết các server.

PHP làm việc tốt với MySQL cũng là một hệ quản trị cơ sở dữ liệu rất phổ biến.
Với việc sử dụng PHP và MySQL việc thiết lập cấu hình cho server là không cần
thiết.
YNMNqNp[c!hrn"so$c&'('
Các kĩ thuật chủ yếu trong việc gửi và nhận các request từ phía client được thực
hiện thông qua AJAX và long polling.
Ở các ứng dụng web truyền thống, khi người dùng cần thay đổi dữ liệu trên trang
Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn gọi
postback), server sẽ xử lý yêu cầu này và gửi trả response chứa các thông tin dưới
dạng HTML và CSS, trang HTML này sẽ thay thế trang cũ. Ví dụ người dùng sau
khi nhấn một nút “Submit” trên trang web phải chờ cho đến khi server xử lý xong
mới có thể tiếp tục công việc. Trong khi đó, AJAX cho phép tạo ra một AJAX
Engine nằm giữa giao tiếp này. Khi đú, cỏc yêu cầu gửi resquest và nhận response
do AJAX Engine thực hiện. Thay vì trả dữ liệu dưới dạng HTML và CSS trực tiếp
cho trình duyệt, web server có thể gửi trả dữ liệu dạng XML và AJAX Engine sẽ
tiếp nhận, phân tách và chuyển hóa thành XHTML + CSS cho trình duyệt hiển thị.
Rõ ràng điểm khác biệt là thay vì phải tải cả trang web thì với AJAX ta chỉ cần tải
về phần của trang Web muốn thay đổi. Điều này giúp cho ứng dụng web của phản
hồi nhanh hơn, thông minh hơn. Ngoài ra, điểm đặc biệt quan trọng trong công nghệ
AJAX nằm ở chỗ Asynchronous - bất đồng bộ - tức là gửi yêu cầu của mình tới
server và tiếp tục thực thi tác vụ hiện tại mà không cần chờ trả lời. Khi nào server
xử lý xong yêu cầu của, nó sẽ báo hiệu và ta có thể đón để thể hiện những thay đổi
cần thiết.
Long polling là một kĩ thuật lập trình cho phép web server gửi dữ liệu đến client
mà không cần client phải gửi request đến nó. Kĩ thuật này tăng tính đáp ứng của
ứng dụng hơn là kĩ thuật AJAX thông thường. Trong kĩ thuật ứng dụng AJAX, trình
duyệt (client) không thể nhận biết được dữ liệu trên server đã bị thay đổi hay chưa.
Do đó người sử dụng phải tạo một request để lấy về dữ liệu mới từ server. Còn kĩ
thuật Long polling thì người sử dụng chỉ request đến server một lần, server sẽ chờ
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.

16
Hệ thống giám sát và điều phối taxi ứng dụng web
cho đến khi có dữ liệu mới được cập nhập thì sẽ đáp ứng trở lại cho client. Client
tiếp nhận đáp ứng và gửi request để chờ lần đáp ứng tiếp theo.
YNYNtt[\oHu+X+%_$%
YNYNMN5Xj(![:
Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như
không bị ảnh hưởng bởi các thay đổi, người ta hay nhúm cỏc thành phần có cùng
chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không
bị chồng chéo và ảnh hưởng lẫn nhau.
Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng
này. Từ đó sẽ có thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một
chức năng nào đó, trong đó mô hình 3 lớp là phổ biến nhất. Ba lớp này là gì? Là
f''!v, ?'.v+, và >!!3++'. Các lớp này sẽ giao tiếp với nhau
thông qua các dịch vụ (services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này
cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch
vụ gì cho mình và sử dụng nó mà thôi.
Hình 6. Mụ hình ba lớp
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
17
Hệ thống giám sát và điều phối taxi ứng dụng web
YNYNMNMNf''!v.!o'f
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển
thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp
này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Lưu ý: lớp này không
nên sử dụng trực tiếp các dịch vụ của lớp Data Access mà nên sử dụng thông qua
các dịch vụ của lớp Business Logic vì khi bạn sử dụng trực tiếp như vậy, bạn có thể
bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có.
Trong lớp này có 2 thành phần chính là User Interface Components và User
Interface Process Components.

- UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thông
tin cho người dùng cuối.
- UI Process Components: là thành phần chịu trách nhiệm quản lý các qui trình
chuyển đổi giữa các UI Components. Ví dụ chịu trách nhiệm quản lý các màn hình
nhập dữ liệu trong một loạt các thao tác định trước như các bước trong một
Wizard…
YNYNMNYN?'.v+.!o'f
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp
Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng
có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện
công việc của mình (ví dụ như sử dụng dịch vụ của các cổng thanh túan trực tuyến
như VeriSign, Paypal ).
Trong lớp này cú cỏc thành phần chính là Business Components, Business
Entities và Service Interface.
- Service Interface là giao diện lập trình mà lớp này cung cấp cho lớp
Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diện
này mà không cần phải quan tâm đến bên trong lớp này được hiện thực như thế nào.
- Business Entities là những thực thể mô tả những đối tượng thông tin mà hệ
thống xử lý. Trong ứng dụng chúng ta các đối tượng này là cỏc chuyờn
mục(Category) và bản tin (News). Các business entities này cũng được dùng để trao
đổi thông tin giữa lớp Presentation và lớp Data Access.
- Business Components là những thành phần chính thực hiện các dịch vụ mà
Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic
(constraints), các qui tắc nghiệp vụ (business rules), sử dụng các dịch vụ bên ngoài
khác để thực hiện các yêu cầu của ứng dụng.
YNYNMNbN>!!3++'.!o'f
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
18
Hệ thống giám sát và điều phối taxi ứng dụng web
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của

ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu
như SQL Server, Oracle, để thực hiện nhiệm vụ của mình. Trong lớp này cú cỏc
thành phần chính là Data Access Logic, Data Sources, Servive Agents).
- Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm
lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu - Data Sources như RDMBS,
XML, File systems
- Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bờn
ngũai một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại.
YNYNYNw'('
YNYNYNMN5.
HTML là viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu văn
bản). HTML được sử dụng để xây dựng nờn cỏc thành phần cơ bản của một trang
web. Các thành phần của HTML có cấu trúc bao gồm các thẻ tag, được đánh dấu
bằng mũi tên như <html> nằm bên trong phần nội dung của trang web. Các thẻ
HTML thường đi thành cặp như <h1> và </h1>. Thẻ đầu tiên của một cặp được gọi
là thẻ bắt đầu, thẻ thứ hai gọi là thẻ kết thúc (thường cũng có thể gọi là thẻ mở và
thẻ đóng). Bên trong các thẻ này có thể là chữ, bảng, ảnh,
Mục đích của trình duyệt web là đọc nội dung các văn bản viết bằng HTML sau
đó kết hợp chúng lại thành các trang liên kết, thể hiện đến cho người sử dụng.
Những trình duyệt này không hiển thị các thẻ HTML, nhưng sử dụng chúng để dịch
ra nội dung của trang.
HTML cho phép nhúng hình ảnh và đối tượng do đó có thể được sử dụng để tạo
nên các thành phần tương tác phức tạp. Nó cung cấp các thẻ cho phép xây dựng cấu
trúc của một trang web như các đề mục, đoạn văn, danh sách, liên kết, lời trích dẫn
và nhiều đối tượng khỏc. Nó có thể chèn thêm vào các script như JavaScript làm
tăng tính tương tác của các trang HTML.
Để hiển thị cách trình bày của trang web, các trình duyệt đọc các file CSS
(Cascading Style Sheets). Các file này định nghĩa cách hiển thị, bố trí của văn bản
và các thành phần khác nhau. W3C, tổ chức quy định chuẩn của HTML và CSS
khuyến khích sử dụng CSS thay cho cách trình bày HTML thông thường.

YNYNYNYN
CSS là ngôn ngữ định dạng kiểu được sử dụng để miêu tả các thành phần của
trang web. Nó thường được sử dụng để định nghĩa cách hiển thị của các trang web
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
19
Hệ thống giám sát và điều phối taxi ứng dụng web
viết bằng HTML và XHTML. Tuy vậy ngôn ngữ này có thể được ứng dụng cho
XML, SVG và XUL.
Mục đích ban đầu của CSS là để phân tách nội dung của văn bản (viết bằng
HTML hoặc ngôn ngữ đánh dấu văn bản nào đó) và cách trình bày của văn bản. Nó
bao gồm layout, màu sắc, kiểu chữ. Cách phân tách này làm tăng khả năng tiếp cận
nội dung, tăng tính mềm dẻo và tiện lợi trong việc quản lý, thay đổi cách thể hiện
của các thành phần, giúp cho các trang web có thể chia sẻ định dạng lẫn nhau và
giảm bớt độ phức tạp cũng như tính lặp lại trong cấu trúc.
Có ba cách để sử dụng CSS trong trang web:
- Inline CSS: Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính
style.
- Internal CSS: Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho toàn bộ trang
ấy, khi đó chỉ cần đặt đoạn CSS vào trong cặp thẻ <style> rồi đặt vào trong phần
header của Web (giữa <head> và </head>).
- External CSS: Đặt các thuộc tính CSS vào một tệp tin riêng biệt (*.css), khi đó
có thể tham chiếu đến từ nhiều trang Web khác nhau.
YNYNYNbNx!!-+f x,'fo
!Nx!!-+f 
JavaScript, theo phiên bản hiện hành, 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. Ngôn ngữ này đượ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. Nó vốn được phát triển bởi
Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó
đổi tên thành LiveScript, và cuối cùng thành JavaScript. JavaScript có cú pháp

tương tự C, nhưng vì mang tính đối tượng nờn nó gần với Java hơn. Các tệp tin có
đuôi .js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript.
Các ứng dụng của JavaScript gồm:
- JavaScript cung cấp cho người thiết kế trang web một công cụ lập trình: những
người viết HTML có thể không phải lập trình viên tuy nhiên JavaScript là ngôn ngữ
khá đơn giản! Có thể dễ dàng đặt những đoạn code của nó vào bên trong trang
HTML.
- JavaScript có thể chèn nội dung vào trang HTML: câu lệnh của JavaScript
document.write(("<h1>" + name + "</h1>") có thể chèn nội dung vào trang HTML.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
20
Hệ thống giám sát và điều phối taxi ứng dụng web
- JavaScript có thể bắt các sự kiện: một đoạn mã JavaScript được gọi khi có sự
kiện xảy ra, ví dụ như khi trang web đã load xong dữ liệu hoặc khi người sử dụng
click chuột vào một thành phần HTML.
- JavaScript có thể đọc và viết các thành phần HTML: JavaScript có thể đọc và
thay đổi nội dung của một thành phần HTML.
- JavaScript có thể được sử dụng để kiểm tra dữ liệu: JavaScript có thể được sử
dụng để kiểm tra dữ liệu trong biểu nhập trước khi được gửi lên server. Nó sẽ giúp
cho server bớt đi việc phải xử lý những dữ liệu sai.
- JavaScript có thể được sử dụng để điều hướng: JavaScript có thể được sử dụng
để phát hiện việc truy cập của người sử dụng và có thể load sang trang khác tùy
theo mục đích.
- JavaScript có thể được sử dụng để tạo cookie: JavaScript có thể được sử dụng
để lưu trữ và lấy thông tin của người sử dụng trên máy tính.
(Ny,'fo
jQuery là một thư viện của ngôn ngữ JavaScript được thiết kế nhằm làm đơn giản
hóa JavaScript. Nó được cho ra đời lần đầu tiên vào tháng 1, năm 2006 tại BarCamp
NYC bởi John Resig. Hiện nay jQuery đã được sử dụng trên 43% trong 10000
website phổ biến nhất và nó cũng trở thành thư viện JavaScript phổ biến nhất được

sử dụng.
jQuery là ngôn ngữ mã nguồn mở theo sự cho phép của MIT Licence và GNU
General Public Licence, Phiên bản 2. Các ứng dụng của jQuery bao gồm:
- Truy cập đến các thành phần DOM sử dụng công cụ mã nguồn mở Sizzle.
- Duyệt các thành phần DOM và sửa đổi
- Xử lý các sự kiện
- Thay đổi CSS
- Hiệu ứng và hoạt họa
- Ứng dụng AJAX
- Mở rộng các tính năng thông qua các plug-in.
- Cung cấp các công cụ tiện ích.
- Hỗ trợ đa trình duyệt.
YNYNYNqN3x3i
AJAX (Asynchronous JavaScript and XML) là một kĩ thuật để tạo ra các trang
web với nội dung động. AJAX cho phép các trang web cập nhập không đồng bộ
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
21
Hệ thống giám sát và điều phối taxi ứng dụng web
bằng cách thay đổi những lượng nhỏ dữ liệu với server. Điều này giúp cho trang
web có thể cập nhập từng phần mà không phải load lại toàn bộ trang.
Đối với những trang web cũ không sử dụng AJAX cần phải load lại toàn bộ trang
web nếu như nội dung của nó cần được thay đổi. Một số ví dụ về các trang sử dụng
AJAX là: Google Maps, Gmail, Youtube, và Facebook.
Hình 7. Quá trình hoạt động của AJAX
YNYNbN
PHP là ngôn ngữ script với mục đích ban đầu để tạo ra các trang web động. Với
mục đích này, mã PHP được nhúng vào bên trong văn bản HTML và được biên
dịch bởi web server với bộ xử lý PHP, sau đó nó sẽ trả về nội dung của trang web.
PHP có thể được triển khai trên hầu hết các web server, hầu hết các hệ điều hành và
các nền tảng miễn phí khác. PHP đã được cài đặt trên hơn 20 triệu website và 1

triệu web server.
PHP được tạo ra đầu tiên bởi Rasmus Lerdorf vào năm 1995, các phiên bản hiện
tại của PHP được cung cấp bởi PHP Group. PHP là ngôn ngữ miễn phí dưới sự cho
phép của PHP Licence.
Hình 8. Client gửi yêu cầu thực hiện PHP
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
22
Hệ thống giám sát và điều phối taxi ứng dụng web
YNYNqN-,.
SQL (Structured Query Language) là ngôn ngữ tương tác với cơ sở dữ liệu được
thiết kế nhằm quản lý dữ liệu trên hệ quản trị cơ sở dữ liệu tương ứng (RDBMS)
dựa trên cỏc phộp đại số quan hệ và tính toán. Cỏc cõu lệnh của nó gồm chèn dữ
liệu, truy vấn, cập nhập, xóa, tạo bảng, sửa đổi, SQL được đưa ra lần đầu bởi
Edgar F. Codd trong một bài viết vào năm 1970 và ngày nay nó đó trở thành ngôn
ngữ cơ sở dữ liệu phổ biến nhất.
Hình 9. Ví dụ về MySQL
YNYNzNvv['5! 
Google Maps là một dịch vụ ứng dụng bản đồ được xây dựng bởi Google. Là
một dịch vụ miễn phí cho người sử dụng, nó cung cấp rất nhiều ứng dụng về bản đồ
như trang web Google Maps, Google Ride Finder, Google Transit. Ngoài ra các
trang web khác có thể nhúng Google Maps thông qua Google Maps API. Nó trả về
bản đồ đường phố, định hướng tìm đường theo xe cộ, khoảng cách của rất nhiều
quốc gia trên thế giới. Đối với bản đồ vệ tinh, Google Maps cung cấp hình ảnh từ
vài tháng hoặc thậm chí là vài năm trước đây.
Goole cho ra đời Google Maps API vào tháng 6/2005 cho phép các nhà phát triển
có thể tích hợp Google Maps vào trang web của mình. Đây là một dịch vụ miễn phí
và không bao kèm theo quảng cáo. Google Maps API ban đầu được phát triển trên
JavaScript, tuy nhiên sau đó nó đó được mở rộng ra API dành cho các ứng dụng
Adobe Flash, dịch vụ cho phép lấy ảnh bản đồ tĩnh, dịch vụ xác định tọa độ, dịch vụ
chỉ đường, Có đến hơn 350000 website sử dụng Google Maps API và trở thành

một trong những API được sử dụng nhiều nhất trong việc phát triển website. Song
song với Google Maps API miễn phí cho người sử dụng với số lượng truy vấn hạn
chế, Google còn đưa ra Google Maps API Premier dành cho người dùng nâng cao
hơn với nhiều tính năng được mở rộng.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
23
Hệ thống giám sát và điều phối taxi ứng dụng web
Hình 10. Hình ảnh về Google Maps.
YNYN{N++X+%_$%
- Ngôn ngữ đánh dấu văn bản: HTML, CSS
- Ngôn ngữ lập trình: JavaScript, jQuery 1.5.1, PHP
- Hệ điều hành: Windows XP
- Cơ sở dữ liệu: MySQL
- Công cụ lập trình: Adobe Dreamweaver CS5
- Công cụ thiết kế đồ họa: Adobe Photoshop CS5
- Công cụ thiết kế UML: Microsoft Office Visio Professional 2007
- Dịch vụ: Google Maps v3
- Plug-in cho jQuery:
 Input Autocomplete: />autocomplete/
 Geo Autocomplete: /> Tooltip: /> jQuery UI: />Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
24
Hệ thống giám sát và điều phối taxi ứng dụng web
LYN8|1,2ER}
TUNs~+
Hệ thống được chia ra thành cỏc nhúm chức năng chính sau:
MNMN•s/V
Mô tả: đây là nhóm người làm nhiệm vụ trực tổng đài, họ có 4 nhóm chức năng
chính bao gồm: giám sát, liên lạc, báo cáo và quản lý khách hàng.
Hình 11. Biểu đồ chức năng của nhân viên tổng đài
MNMNMN•+#+k

Mô tả: nhân viên trực tổng đài sẽ là người theo dõi hoạt động của nhân viên lái xe,
thông tin về xe và các thao tác trực tiếp trên bản đồ liên quan đến hoạt động.
!Ni'Xf/(K€
+ Xem trạng thái xe: nhân viên tổng đài sẽ chọn xem toàn bộ hoặc xem từng xe
một. Xe sẽ được thể hiện bằng một icon kèm theo trạng thái của xe (free – lái xe
đang đậu xe tại một chỗ và ngồi trên xe, busy – lái xe đang chở khách, move – lái
xe đang đi đún khỏch, idle – lái xe đã rời khỏi xe vỡ lớ do nào đó, offline – thiết bị
chưa login vào hệ thống). Các thông số về xe sẽ được hiển thị ở bảng bên cạnh.
Sinh viên thực hiện: Vũ Đức Quang. SHSV - 20062512. Lớp - Công nghệ phần mềm K51.
25

×