DANH MỤC CÁC TỪ VIẾT TẮTTừ viết tắt Chú giải 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 ServiceSMS Dịch vụ thông
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2HÀ NỘI 17-5-2011
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
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: vuquang29@gmail.comLớ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ưngThờ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ốngquả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ảovệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
Trang 3Lê Tấn Hùng
Trang 4Lờ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ènluyệ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àigiả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ốnkiế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ứccho 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ửilờ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 gianhọ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, đặcbiệ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ánhkhỏ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ấtnhiều để hoàn thành đề tài này
Hà Nội, ngày 17 tháng 5 năm 2011
Sinh viên: Vũ Đức Quang
Lớp: Công nghệ phần mềm K51 Viện: Công nghệ thông tin và truyền thông
Trang 5TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đồ á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ở
Trang 7MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
LỜI NÓI ĐẦU 3 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4
ABSTRACT OF THESIS 5 DANH MỤC CÁC HÌNH VẼ 10 DANH MỤC CÁC BẢNG 11 PHẦN 1 ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 13
Chương I Tổng quan đề tài 13
1.1 Mô tả đề tài 13
1.2 Đặt vấn đề 13
1.2.1 Các giải pháp quản lý taxi thông dụng (hệ thống cũ) 13
1.2.2 Giải pháp quản lý taxi sử dụng hệ thống định vị tũan cầu (hệ thống mới) 13
1.2.3 Hệ thống thực tế đã được triển khai 15
1.2.3.1 Hệ thống GiamSatXe 15
a Giới thiệu 15
b Mô hình hệ thống 15
c Chức năng 15
d Một số hình ảnh 16
1.2.3.2 Hệ thống BA-FMS 17
a Giới thiệu 17
b Mô hình hệ thống 17
Chương II Phương pháp tiếp cận và hướng giải quyết vấn đề 19
2.1 Hướng giải quyết các vấn đề đặt ra 19
2.1.1 Hướng giải quyết về mặt nội dung 19
2.1.2 Chọn lựa mô hình thiết kế 19
2.1.3 Chọn lựa công cụ phát triển 19
2.1.4 Chọn lựa kĩ thuật xây dựng website 20
2.2 Cở sở lý thuyết, công cụ sử dụng 21
2.2.1 Mô hình ba lớp 21
2.2.1.1 Presentation Layer 22
2.2.1.2 Business Logic Layer 22
Trang 82.2.2.1 HTML 23
2.2.2.2 CSS 23
2.2.2.3 JavaScript và JQuery 24
a JavaScript 24
b jQuery 25
2.2.2.4 AJAX 25
2.2.3 PHP 26
2.2.4 SQL 27
2.2.5 Google Maps 27
2.2.6 Các công cụ sử dụng 28
PHẦN 2 CÁC KẾT QUẢ ĐẠT ĐƯỢC 29 Chương I Phân tích hệ thống 29
1.1 Nhóm nhân viên tổng đài 29
1.1.1 Nhóm chức năng giám sát 29
a Xem thông tin trên bản đồ 29
b Thao tác trên bản đồ 30
1.1.2 Nhóm chức năng liên lạc 30
a Điều động xe 30
b Cảnh báo 31
1.1.3 Nhóm chức năng báo cáo 31
a Báo cáo lái xe 31
b Báo cáo xe taxi 31
c Báo cáo vùng tiềm năng 32
d Báo cáo khách hàng 32
1.1.4 Nhóm chức năng quản lý khách hàng 32
a Đặt xe 32
b Tìm kiếm khách hàng 32
1.2 Nhóm người lái xe 32
a Bắt đầu và kết thúc làm việc 33
b Thay đổi trạng thái của xe 33
c Chức năng liên lạc 34
d Theo dõi bản đồ 34
e Xem thông tin làm việc 35
Trang 91.3 Nhóm khách hàng 35
1.4 Nhóm người điều hành 35
1.5 Nhóm người quản lý xe 36
Chương II Thiết kế hệ thống 38
2.1 Usecase Diagram 38
2.1.1 Usecase nhân viên tổng đài 38
2.1.2 Use Case lái xe 40
2.1.3 Use Case khách hàng 41
2.1.4 Use Case người điều hành 42
2.1.5 Use Case người quản lý xe 42
2.2 Sequence Diagram 43
2.2.1 Sequence báo cáo 43
2.2.2 Sequence quản trị 44
2.2.3 Sequence đặt xe 45
2.2.4 Sequence thông điệp 46
2.2.5 Sequence tìm kiếm khách hàng 47
2.3 Thiết kế cơ sở dữ liệu 47
2.3.1 Các bảng người dùng hệ thống 48
2.3.1.1 Bảng người điều hành (NguoiDieuHanh) 48
2.3.1.2 Bảng nhân viên tổng đài (NhanVienTongDai) 49
2.3.1.3 Bảng người quản lý xe (NguoiQuanLyXe) 49
2.3.1.4 Bảng đăng nhập (Login) 50
2.3.2 Các bảng về xe 50
2.3.2.1 Bảng xe taxi (Xe) 50
2.3.2.2 Bảng trạng thái xe (TrangThaiXe) 51
2.3.2.3 Bảng Loại xe (LoaiXe) 51
2.3.2.4 Bảng thông điệp xe (ThongDiepXe) 51
2.3.3 Các bảng người lái xe 51
2.3.3.1 Bảng người lái xe (NguoiLaiXe) 51
2.3.3.2 Bảng thông tin làm việc (ThongTinLamViec) 52
2.3.4 Các bảng về khách hàng 52
2.3.4.1 Bảng khách hàng tạm thời (KhachHangTamThoi) 52
Trang 102.3.4.3 Bảng ngôn ngữ (NgonNgu) 54
2.3.5 Các bảng phụ 54
2.3.5.1 Bảng thông điệp (ThongDiep) 54
2.3.5.2 Bảng kiểu thông điệp (KieuThongDiep) 55
2.3.5.3 Bảng tắc đường (TacDuong) 55
2.3.5.3 Bảng tin tức (TinTuc) 55
Chương III Cài đặt hệ thống và kết quả thu được 56
3.1 Cài đặt chương trình 56
3.1.1 Cài đặt trên localhost 56
3.1.2 Cài đặt trên remote server 60
3.2 Hình ảnh thu được 65
Chương IV Đánh giá ưu, nhược điểm hệ thống 71
4.1 Đánh giá ưu điểm 71
4.2 Đánh giá nhược điểm 71
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 73
TÀI LIỆU THAM KHẢO 74
PHỤ LỤC 76
Trang 11DANH MỤC CÁC HÌNH VẼ
Hình 1 Mô hình quản lý phương tiện giao thông bằng GPS 14
Hình 2 Mô hình hệ thống GiamSatXe 15Hình 3 Website quản lý GiamXetXe 16Hình 4 Mô hình hệ thống BA-FMS 17Hình 5 Mô hình thiết kế 3 lớp 19Hình 6 Mô hình ba lớp 21Hình 7 Quá trình hoạt động của AJAX 26Hình 8 Client gửi yêu cầu thực hiện PHP 26
Hình 9 Ví dụ về MySQL 27Hình 10 Hình ảnh về Google Maps 28Hình 11 Biểu đồ chức năng của nhân viên tổng đài 29
Hình 12 Biểu đồ chức năng của lái xe 33Hình 13 Biểu đồ chức năng của khách hàng 35Hình 14 Biểu đồ chức năng của người điều hành 36
Hình 15 Biểu đồ chức năng của người quản lý xe 36
Hình 16 Use Case nhân viên tổng đài 38Hình 17 Use Case nhân viên tổng đài – Giám sát 39
Hình 18 Use Case nhân viên tổng đài – Liên lạc 39
Hình 19 Use case nhân viên tổng đài – Báo cáo 40
Hình 20 Use Case lái xe 40Hình 21 Use Case lái xe – Giám sát 41Hình 22 Use Case lái xe – Liên lạc 41Hình 23 Use Case khách hàng 42Hình 24 Use Case người điều hành 42Hình 25 Use Case người quản lý xe 42Hình 26 Biểu đồ Sequence báo cáo 43Hình 27 Biểu đồ Sequence quản trị 44Hình 28 Biểu đồ Sequence đặt xe 45Hình 29 Biểu đồ Sequence thông điệp 46Hình 30 Biểu đồ Sequence tìm kiếm khách hàng 47
Hình 31 Các bảng và quan hệ 48Hình 32 Tải XAMPP 1.7.356Hình 33 Cài đặt XAMPP 57
Hình 35 Root folder đặt tại C:\xampp\htdocs 58Hình 36 Tạo CSDL trong phpMyAdmin 58Hình 37 Import CSDL đó cú 59Hình 38 Truy lục file taximanagementsystem.sql 59
Hình 39 CSDL sau khi import thành công 60Hình 40 Control Panel của byethost.com60Hình 41 Thư mục root/htdocs 61Hình 42 Upload file Taxman.zip vào root/htdocs 61
Trang 12Hình 45 Tạo mới CSDL 63Hình 46 Tạo thành công CSDL 63Hình 47 Import taximanagementsystem.sql vào CSDL vừa tạo 64
Hình 48 Sửa lại db_config.php 64Hình 49 Màn hình khởi động 65Hình 50 Màn hình đăng nhập 65Hình 51 Màn hình giám sát 66Hình 52 Màn hình chức năng đặt xe 66Hình 53 Màn hình chức năng thông điệp 67Hình 54 Màn hình chức năng tìm kiếm khách hàng 67
Hình 55 Màn hình chức năng báo cáo 68Hình 56 Màn hình chức năng quản trị 68Hình 57 Màn hình giới thiệu 69Hình 58 Màn hình liên hệ 69Hình 59 Màn hình trợ giúp70
DANH MỤC CÁC BẢNG
Bảng 1 CSDL người điều hành 49Bảng 2 CSDL nhân viên tổng đài 49Bảng 3 CSDL người quản lý xe 49Bảng 4 CSDL đăng nhập 50Bảng 5 CSDL xe taxi 50Bảng 6 CSDL trạng thái xe 51Bảng 7 CSDL loại xe 51Bảng 8 CSDL thông điệp xe 51Bảng 9 CSDL người lái xe 52Bảng 10 CSDL thông tin làm việc 52Bảng 11 CSDL khách hàng tạm thời 53
Bảng 13 CSDL ngôn ngữ 54Bảng 14 CSDL thông điệp 55Bảng 15 CSDL kiểu thông điệp 55Bảng 16 CSDL tắc đường 55Bảng 17 CSDL tin tức 55
Trang 13DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Chú giải
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)
UI Giao diện người dùng (User Interface)
API Giao diện trình ứng dụng (Application Programming Interface)
Trang 14PHẦN 1 ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP Chương I Tổng quan đề tài
- Tên đề tài: hệ thống giám sát và điều phối taxi ứng dụng web
1.1 Mô tả đề tài
- Mục tiêu đề tài: hệ thống quản lý taxi được thiết kế để chạy trên web browsercung 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ácthao 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ênthiế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ậpnhậ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
1.2 Đặt vấn đề
1.2.1 Các giải pháp quản lý taxi thông dụng (hệ thống cũ)
Có không ớt cỏc phương pháp quản lý xe taxi và đội xe đã được áp dụng trongthự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ốngcá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ácdụng, giúp quá trình quản lý cho các doanh nghiệp có quy mô lớn đạt hiệu quả caohơ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ùngthiế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ànhkhó xác minh được độ tin cậy của thông tin, cũng như khó bao quát được mật độ xetrong 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ưởngkhô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ànhthì 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
1.2.2 Giải pháp quản lý taxi sử dụng hệ thống định vị tũan cầu (hệ thống mới)
Giải pháp quản lý sử dụng hệ thống định vị toàn cầu (GPS) để quản lý phươngtiện giao thông đang được coi là hiệu quả và đa dụng nhất hiện nay, cũng là phươngpháp quản lý được áp dụng rộng rãi nhất trên thế giới
Trang 15Mô 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ôngtin 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 duychuyể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ặcintranet để 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
Trang 16Như 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.
1.2.3 Hệ thống thực tế đã được triển khai
1.2.3.1 Hệ thống GiamSatXe
a Giới thiệu
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ợpvớ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 chiphí 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
Hình 2 Mô hình hệ thống GiamSatXe
c Chức năng
Trang 17 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ỉnhthà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ùytheo 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ợptình hình
Thao tác xử lý đơn giản, nhanh chóng, tiện dụng cho người không chuyênmáy tính
Cho phép tạo và quản lý riờng cỏc điểm trên bản đồ số
d Một số hình ảnh
Trang 18 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ềmbả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ínhnăng của hộp đen là:
Trang 19 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 kinhdoanh và hệ thống bảng biểu báo cáo
Trang 20Chương II Phương pháp tiếp cận và hướng giải quyết vấn đề
2.1 Hướng giải quyết các vấn đề đặt ra
2.1.1 Hướng giải quyết về mặt nội dung
Để 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 đốivớ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ớiwebsite, 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ủanhâ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 trongviệ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
2.1.2 Chọn lựa mô hình thiết kế
Hệ thống được thiết kế theo mô hình 3 lớp Lớp Presentation chứa các thànhphầ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 fileinterface_provider.php và check_news.php, trong đó interface_provider.php là nơitiếp nhận các request gửi lên từ phía client và trả về đáp ứng, check_news.php cũnglàm nhiệm vụ tương tự tuy nhiên nó xử lý đáp ứng theo kĩ thuật long polling Thànhphầ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ứacá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
2.1.3 Chọn lựa công cụ phát triển
Trang 21Vớ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ữngngô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úpcho việc xây dựng JavaScript thuận tiện và đơn giản hơn jQuery còn cung cấp cácplugin tiện ích gồm cả UI giúp xây dựng website động một cách linh hoạt hơn PHPcũ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ầnthiết
2.1.4 Chọn lựa kĩ thuật xây dựng website
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ựchiệ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 trangWeb, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn gọipostback), server sẽ xử lý yêu cầu này và gửi trả response chứa các thông tin dướidạng HTML và CSS, trang HTML này sẽ thay thế trang cũ Ví dụ người dùng saukhi nhấn một nút “Submit” trên trang web phải chờ cho đến khi server xử lý xongmới có thể tiếp tục công việc Trong khi đó, AJAX cho phép tạo ra một AJAXEngine 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ếpcho 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ảnhồ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ớiserver 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 đổicầ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ìnhduyệ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ờ
Trang 22cho đến khi có dữ liệu mới được cập nhập thì sẽ đáp ứng trở lại cho client Clienttiếp nhận đáp ứng và gửi request để chờ lần đáp ứng tiếp theo.
2.2 Cở sở lý thuyết, công cụ sử dụng
2.2.1 Mô hình ba lớp
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ùngchứ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ăngnà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ộtchứ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à
Presentation, Business Logic, và Data Access 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àycũ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
2.2.1.1 Presentation Layer
Trang 23Lớ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ểnthị 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ớpnà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ôngnê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 quacá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à UserInterface Process Components
- UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thôngtin 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ìnhchuyển đổi giữa các UI Components Ví dụ chịu trách nhiệm quản lý các màn hìnhnhập dữ liệu trong một loạt các thao tác định trước như các bước trong mộtWizard…
2.2.1.2 Business Logic Layer
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ớpData 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ệncô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ếnnhư VeriSign, Paypal )
Trong lớp này cú cỏc thành phần chính là Business Components, BusinessEntities và Service Interface
- Service Interface là giao diện lập trình mà lớp này cung cấp cho lớpPresentation sử dụng Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diệnnà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ờnmụ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àikhác để thực hiện các yêu cầu của ứng dụng
2.2.1.3 Data Access Layer
Trang 24Lớ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ệunhư SQL Server, Oracle, để thực hiện nhiệm vụ của mình Trong lớp này cú cỏcthà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ệmlư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ờnngũ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
2.2.2 Website
2.2.2.1 HTML
HTML là viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu vănbả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 trangweb Các thành phần của HTML có cấu trúc bao gồm các thẻ tag, được đánh dấubằ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ạonê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ấutrú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àmtă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à CSSkhuyến khích sử dụng CSS thay cho cách trình bày HTML thông thường
2.2.2.2 CSS
CSS là ngôn ngữ định dạng kiểu được sử dụng để miêu tả các thành phần củatrang web Nó thường được sử dụng để định nghĩa cách hiển thị của các trang web
Trang 25viết bằng HTML và XHTML Tuy vậy ngôn ngữ này có thể được ứng dụng choXML, 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ằngHTML 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ậnnộ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ệncủ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ínhstyle
- 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ầnheader 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
2.2.2.3 JavaScript và JQuery
a JavaScript
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ùngrộ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ởiBrendan 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áptươ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ữngngườ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 trangHTML
- JavaScript có thể chèn nội dung vào trang HTML: câu lệnh của JavaScriptdocument.write(("<h1>" + name + "</h1>") có thể chèn nội dung vào trang HTML
Trang 26- 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ụngclick 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úpcho 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ùytheo 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
b jQuery
jQuery là một thư viện của ngôn ngữ JavaScript được thiết kế nhằm làm đơn giảnhóa JavaScript Nó được cho ra đời lần đầu tiên vào tháng 1, năm 2006 tại BarCampNYC bởi John Resig Hiện nay jQuery đã được sử dụng trên 43% trong 10000website 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à GNUGeneral 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
2.2.2.4 AJAX
AJAX (Asynchronous JavaScript and XML) là một kĩ thuật để tạo ra các trangweb với nội dung động AJAX cho phép các trang web cập nhập không đồng bộ
Trang 27bằng cách thay đổi những lượng nhỏ dữ liệu với server Điều này giúp cho trangweb 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ộ trangweb 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ụngAJAX là: Google Maps, Gmail, Youtube, và Facebook
Hình 7 Quá trình hoạt động của AJAX
2.2.3 PHP
PHP là ngôn ngữ script với mục đích ban đầu để tạo ra các trang web động Vớimục đích này, mã PHP được nhúng vào bên trong văn bản HTML và được biêndị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à 1triệ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ệntại của PHP được cung cấp bởi PHP Group PHP là ngôn ngữ miễn phí dưới sự chophép của PHP Licence
Trang 282.2.4 SQL
SQL (Structured Query Language) là ngôn ngữ tương tác với cơ sở dữ liệu đượcthiế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ởiEdgar F Codd trong một bài viết vào năm 1970 và ngày nay nó đó trở thành ngônngữ cơ sở dữ liệu phổ biến nhất
Hình 9 Ví dụ về MySQL
2.2.5 Google Maps
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áctrang 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ềuquố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ênJavaScript, tuy nhiên sau đó nó đó được mở rộng ra API dành cho các ứng dụngAdobe 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ànhmột trong những API được sử dụng nhiều nhất trong việc phát triển website Songsong với Google Maps API miễn phí cho người sử dụng với số lượng truy vấn hạnchế, Google còn đưa ra Google Maps API Premier dành cho người dùng nâng caohơn với nhiều tính năng được mở rộng
Trang 29Hình 10 Hình ảnh về Google Maps.
2.2.6 Các công cụ sử dụng
- 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/
http://bassistance.de/jquery-plugins/jquery-plugin- Geo Autocomplete: http://code.google.com/p/geo-autocomplete/
Tooltip:http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
jQuery UI: http://jqueryui.com/
Trang 30PHẦN 2 CÁC KẾT QUẢ ĐẠT ĐƯỢC Chương I Phân tích hệ thống
Hệ thống được chia ra thành cỏc nhúm chức năng chính sau:
1.1 Nhóm nhân viên tổng đài
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ăngchí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
1.1.1 Nhóm chức năng giám sát
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
a Xem thông tin trên bản đồ
+ 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 xemộ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
Trang 31+ Xem khách đang chờ xe: tất cả khách hàng chờ xe taxi sẽ được hiển thị trên bảnđồ.
+ Xem điểm tắc đường: tất cả các điểm tắc đường sẽ được hiển thị lên bản đồ
b Thao tác trên bản đồ
- Tìm kiếm địa điểm: tìm kiếm vị trí và hiển thị vị trí trên bản đồ
- Đánh dấu tắc đường: trường hợp nhân viên tổng đài nắm được thông tin các tuyếnđường bị tắc (nghe VOV giao thông), nhân viên này có thể chỉ ra trên bản đồ cáctuyết đường bị tắc bằng cách kích chuột lên điểm ùn tắc Điểm ùn tắc này sẽ hiểnthị lên biểu tượng trên tất cả các thiết bị của các xe taxi Xóa đánh dấu đường tắc:trường hợp nhân viên tổng đài nắm được thông tin các tuyến đường tắc trước đó đãhoạt động trở lại bình thường thì nhân viên này có thể kích chuột vào biểu tượngđường tắc và gỡ bỏ chúng
- Gửi tin nhắn nhanh: kích vào biểu tượng taxi hiện trên bản đồ và chọn chức năngcần thiết
1.1.2 Nhóm chức năng liên lạc
Mô tả: nhóm chức năng này bao gồm các chức năng cho phép người quản lý có thểnắm bắt tình hình các xe taxi của hãng một cách linh hoạt và tự động Cách thứcliên lạc: với các liên lạc khẩn cấp như lái xe vượt quá tốc độ hoặc vi phạm sẽ sửdụng liên lạc qua bộ đàm Còn lại sử dụng hệ thống tin nhắn và hiệu lệnh trong hệthống Các trường hợp đặc biệt khi lái xe đang di chuyển thỡ trỏnh tối đa việc gửicác thông điệp làm ảnh hướng đến khả năng tập trung của lái xe
Liên lạc với xe taxi: chức năng này là chức năng hỗ trợ cho bộ đàm, thay vì ngườitrực bộ đàm hiện tại phải liên tục thực hiện các cuộc gọi liên lạc với các xe taxi thìgiờ họ chỉ cần sử dụng các lệnh điều khiển hoặc message thông báo trên màn hìnhthiết bị của xe taxi
a Điều động xe
Sau khi tìm được danh sách các xe phù hợp (chức năng tìm xe ở cùng nhóm chứcnăng quản lý khách hàng) Các thông tin về khách hàng được gửi đến cho các lái xe.Các lái xe có quyền chọn quyết định đi bắt khách hay không Khi đú, cú cỏc trườnghợp xảy ra như sau:
- Có xe đồng ý đi bắt khách: xe đó đi bắt khách Thông báo đã bắt được khách: khi
có 1 xe bắt được khách hoặc khỏch hoón khụng bắt xe nữa, nó sẽ thông báo chophía tổng đài biết Tổng đài căn cứ vào danh sách các xe đang đi bắt khách vừa nãy,thông báo cho họ biết để họ dừng không đi bắt khách nữa Danh sách khách hàng
Trang 32khách nào để đi đón nữa thì lập tức xe phải trở lại trạng thái chờ khách (chờ điềuđộng).
- Không có xe nào phản hồi là đi bắt được khách, hoặc không có xe nào đang ở gầnkhu vực cú khỏch, trong khoảng thời gian nhất định: phải thông báo không xe chokhách hàng Cách thức liên lạc: dùng hệ thống tin nhắn và đồng bộ trạng thái xe
b Cảnh báo
Màn hình hiển thị của người giám sát xe cho phép ta nhìn toàn bộ các xe thuộcquyền quản lý của người đó Mỗi sự kiện nào xảy ra đồi với hệ thống sẽ được thôngbáo cho các xe hoặc từng xe riêng biệt biết Các thông tin đó gồm có:
- Các địa điểm bị tắc đường (hệ thống sẽ tự đồng bộ trên bản đồ)
- Xe chạy liên tục mà không ở trong trạng thái đang bắt khách, tức là đang đi làmviệc riêng Cách thức liên lạc: dùng hệ thống bộ đàm và tin nhắn
- Lái xe hành xử không đúng với khách hàng Cách thức liên lạc: dùng hệ thống bộđàm và tin nhắn
- Các cảnh báo khác
1.1.3 Nhóm chức năng báo cáo
a Báo cáo lái xe
- Số ngày làm việc: lái xe tại mỗi ngày làm việc phải tích vào giao diện trên di động
về thông tin ngày làm của mình (buổi sáng, buổi chiều, cả ngày) Dựa vào thông tin
đó, người điều hành có thể lấy được báo cáo về thông tin làm việc của từng lái xe để
có thể tính lương, thưởng, phạt
- Số lượng khách phục vụ: khi bắt được khách (bất kể được điều hoặc bắt dọcđường) phải tích vào thông tin số khỏch trờn giao diện di động Dựa vào thông tin
đó, nhân viên tổng đài và người điều hành có thể đưa ra quyết định điều phối xe hợp
lý (lái xe nào được ớt khỏch thỡ ưu tiên điều phối) hoặc thưởng cho lái xe
- Số lần cảnh báo: những vi phạm của lái xe (vượt tốc độ, vượt phạm vi cho phép)được ghi nhận lại và thống kê
b Báo cáo xe taxi
- Thời gian hoạt động: là khoảng thời gian thiết bị được login vào và logout ra trongngày sẽ được thống kê và tổng hợp lại
- Tần suất sử dụng xe: lái xe tại mỗi ngày làm đều được nhận một xe và khai báo xecủa mình Cuối tháng sẽ thống kê lại số lần sử dụng của mỗi xe để người điều hành
ra quyết định bảo trì xe vào cuối tháng
Trang 33c Báo cáo vùng tiềm năng
Thông tin vị trí của khách hàng (tên khu vực) sẽ được lưu lại Đến cuối tháng sẽtổng hợp lại những khu vực, đường nào hay cú khỏch Hiển thị kết quả: Số lượngkhách / Tờn khu vực
1.1.4 Nhóm chức năng quản lý khách hàng
Mô tả: nhóm chức năng quản lý danh sách và các chức năng liên quan đến mụcdanh sách các khách hàng tạm thời đang chờ xe và khách hàng đã đi taxi Bao gồm:
a Đặt xe
- Hiển thị danh sách khách đang chờ xe
- Thêm khách chờ (nhập bằng form), xem, sửa thông tin khách cho phù hợp với việctìm kiếm
- Tìm kiếm xe phù hợp với yêu cầu của khỏch: tỡm xe ưu tiên gần nhất với khách,
xe rảnh rỗi,
b Tìm kiếm khách hàng
Thông tin của khách hàng có thể tìm lại dựa theo tên hoặc số điện thoại của kháchhàng Chức năng tìm kiếm này được sử dụng khi muốn tìm lại thông tin của kháchhàng đã phục vụ
1.2 Nhóm người lái xe
Mô tả: đây là nhóm người lái xe taxi, họ có nhiệm vụ nghe lệnh điều động từ phíatổng đài và đi đón khách, sau khi đón được khách thì chở đến nơi họ muốn, sau đóthu tiền theo đồng hồ Đồng thời họ phải thường xuyên báo cáo tình hình với phíatổng đài
Trang 34Hình 12 Biểu đồ chức năng của lái xe
a Bắt đầu và kết thúc làm việc
- Nhận xe: xác nhận thông tin trong màn hình với người quản lý xe
- Trả xe: người lái xe trả xe và xác nhận thông tin khi logout với người quản lý xe
b Thay đổi trạng thái của xe
Mô tả: mỗi xe taxi khi làm việc trong thực tế thì đều phải tuân thủ các quy định củacông ty, các hoạt động của họ gồm có nghỉ tại chỗ, di chuyển, bắt khách và chởkhách Do đó để thuận tiện cho việc quản lý của phía bên công ty, thì các xe trên hệthống đều phải có các biểu diễn trạng thái nhất định, khiến cho việc quan sát dễdàng hơn
- Trạng thái 1 (Free): xe nghỉ tại chỗ chờ khách - rảnh rỗi
- Trạng thái 2 (Move): xe đang đi bắt khách
- Trạng thái 3 (Busy): xe đang chở khách
- Trạng thái 4 (Idle): không có lái xe
- Trạng thái 5 (Offline): thiết bị chưa đăng nhập
Dựa vào các trạng thái trên, taxi trên bản đồ sẽ được đặc trưng bởi các màu sắc nhấtđịnh Đồng thời trên thiết bị hiển thị của xe cũng cần có một ụ biểu thị màu trạngthái của xe Khi điều động xe: người điều phối chỉ chọn các xe đang rảnh rỗi hoặcđang đi bắt khách Họ sẽ gửi tin đến phía lái xe, bờn phớa lái xe sẽ cập nhật thông
Trang 35tin khách hàng vào bảng khách hàng Lái xe sẽ tự chọn xem có đi bắt khỏch đúkhụng Khi chọn đi bắt khách nào thỡ ụ trạng thái xe cũng thay đổi, thông tin kháchhàng cũng thay đổi.
c Chức năng liên lạc
Mô tả: đây là một tập các chức năng hỗ trợ cho người lái xe khi liên lạc với tổngđài
- Thông báo trạng thái xe: lái xe có nhiệm vụ thông báo cho phía tổng đài được biếttrạng thái của mình bằng cách nhấn các nút trên hệ thống Có 4 nút cơ bản ứng với
4 trạng thái Mỗi khi xe thay đổi trạng thái phải báo cho tổng đài biết Thông tin sẽđược tự động gửi lên phía server để xử lý
- Cảnh báo:
+ Cảnh báo tắc đường, lái xe phát hiện đường tắc liền lập tức nhấn nút thông báođường tắc và thông tin liền được chuyển về phía tổng đài để đồng bộ
+ Cảnh báo khác: các vấn đề như hết xăng, tai nạn, xung đột với khách hàng,
- Báo bắt khách vẫy: có 1 nút bấm bắt khách vẫy, khi đó lái xe sẽ lập tức chuyểnthông tin khách hàng cho hệ thống quản lý để lưu lại
- Báo khách đi mất: khi lái xe đến nơi khách đã đi mất
- Gửi message khác cho tổng đài
d Theo dõi bản đồ
Mô tả: đây là hệ thống các chức năng mở rộng của lái xe, đối với các hệ thống bìnhthường và muốn giảm chi phí thì không cần trang bị màn hình Do đó chức năngnày dành cho các hệ thống chi phí cao, tuy nhiên hiệu quả rất lớn
- Theo dõi vị trí xe: thông tin về xe được cập nhật liên tục trên bản đồ hiển thị trênmàn hình thiết bị, bao gồm các thông tin:
+ Vị trí xe
+ Trạng thái xe
- Theo dõi vị trí khách hàng: danh sách khách hàng sẽ được đặt cạnh bản đồ Mỗikhi đón được 1 người khách thì nhấn nút để xóa đi và thông báo cho tổng đài là đãbắt được khách Hoặc khi khách hàng đã đi mất thì cũng thông báo cho tổng đàibiết
Vị trí khách hàng được đưa trên bản đồ gồm:
+ Tên khách hàng
Trang 36- Theo dõi điểm tắc đường: các điểm tắc đường sẽ được nhân viên tổng đài đánhdấu và được chuyển đến thiết bị trên tất cả các xe taxi.
e Xem thông tin làm việc
Mô tả: hiển thị thông tin về xe cho lái xe biết
- Xem thông tin xe:
+ Thông tin lái xe
+ Thông tin xe: đi được bao nhiêu km, bao nhiêu tiền, bao nhiêu cuốc khách,
- Xem thông tin khách hàng: lái xe sẽ được quyền xem 1 danh sách các khách hàng
mà phía tổng đài gửi cho họ Khi click vào 1 khách, họ được quyền chọn có đi đúnkhỏch này hay không
1.3 Nhóm khách hàng
Mô tả: đây là nhóm khách hàng Khách hàng là người đặt xe thông qua giao diệntrên điện thoại hoặc đặt xe gián tiếp bằng cách cách gọi điện đến tổng đài
Hình 13 Biểu đồ chức năng của khách hàng
+ Đặt xe trên web: khách hàng có thể gọi điện thoại trực tiếp đến tổng đài để đặt xe.Nhân viên tổng đài sẽ điờn cỏc thông tin về tên và địa chỉ (số nhà, đường) Sau khiđiều xong thông tin và gửi đi, hệ thống có thể tự tính toán ra số phút chờ xe củakhách
+ Đặt xe trên thiết bị Android: tự động xác định vị trí qua GPS hoặc do người dùngnhập vào, gọi điện đặt xe hoặc bấm nút tự đặt xe
1.4 Nhóm người điều hành
Mô tả: đây là những người quản lý toàn bộ hệ thống, có thể đóng vai trò là ngườiquản trị hệ thống hoặc giám đốc
Trang 37Hình 14 Biểu đồ chức năng của người điều hành
+ Quản lý nhân viên tổng đài: theo dõi thông tin đăng nhập và thao tác trên bản đồcủa nhân viên tổng đài để nắm được ngày làm việc của nhân viên
+ Quản lý lái xe: xem báo cáo ngày làm việc, số khách phục vụ, cảnh báo, thời gianhoạt động của xe để ra quyết định thưởng phạt
+ Quản lý xe: xem báo cáo về thời gian hoạt động và tần suất sử dụng để ra quyếtđịnh bảo trì xe
1.5 Nhóm người quản lý xe
Mô tả: người quản lý xe có trách nhiệm quản lý các xe trong công ty Bắt đầu ngàylàm việc, người quản lý xe sẽ kiểm tra xe bao gồm các thông tin về đồng hồ xe (đã
về 0 chưa), tình trạng xăng đầy đủ không, và giao xe cho lái xe Khi đó lái xe xácnhận các thông tin về xe và thực hiện lái đi Cuối ngày, lái xe trả xe thì người quản
lý xe sẽ kiểm tra lại tình trạng xe và lái xe xác nhận
Hình 15 Biểu đồ chức năng của người quản lý xe
- Login vào hệ thống: khi đú, trờn màn hình thông tin của thiết bị, lái xe có thể nhìnthấy các thông tin sau:
+ Thông tin người lái: ID, tên, bằng
+ Thông tin xe: ID xe, biển số, tên xe
+ Giờ bắt đầu, giờ kết thúc dự kiến
+ Các thông tin về cuốc khách, số tiền
Lái xe lúc đó được xác nhận hoặc khiếu nại với người quản lý nếu thông tin khôngđúng
Trang 38Lái xe trả xe cho người quản lý, người quản lý xe kiểm tra tình trạng xe và logoutthiết bị Các thông tin về ngày làm việc của xe được reset lại từ đầu, các thông tin
cũ thì lưu vào hệ thống máy chủ, để dành cho ngày làm việc sau
Trang 39Chương II Thiết kế hệ thống