XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH
I. Cài đặt
I.1. Môi trƣờng lập trình
- Hệ điều hành Mac OS.
- Công cụ lập trình Xcode 5.0.2
I.2. Môi trường cài đặt
- Hệ điều hành iOS 6.0 trở lên.
- Thiết bị sử dụng iPhone.
II. Xây dựng và triễn chương trình
II.1. Xây dựng các chức năng chính chương trình
10 trang |
Chia sẻ: lecuong1825 | Lượt xem: 2484 | Lượt tải: 3
Bạn đang xem nội dung tài liệu Đề tài Xây dựng hệ thống điều phối taxi trên iOS, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
i
MỤC LỤC
CƠ SỞ LÝ THUYẾT ..................... ERROR! BOOKMARK NOT DEFINED.
I. Đặt vấn đề ....................................................... Error! Bookmark not defined.
II. Mục tiêu, nhiệm vụ của đề tài .................... Error! Bookmark not defined.
II.1. Mục tiêu .............................................. Error! Bookmark not defined.
II.2. Nhiệm vụ ............................................. Error! Bookmark not defined.
III. Phương pháp triễn khai:.............................. Error! Bookmark not defined.
IV. Giao thức XMPP ........................................ Error! Bookmark not defined.
IV.1. Các khái niệm trong XMPP: ........... Error! Bookmark not defined.
IV.2. Cài đặt .............................................. Error! Bookmark not defined.
IV.3. Triển khai ......................................... Error! Bookmark not defined.
V. Objective-C và iOS ..................................... Error! Bookmark not defined.
V.1. Các đối tượng UI trong iOS ................ Error! Bookmark not defined.
V.2. Vòng đời của UIViewController ......... Error! Bookmark not defined.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .... ERROR! BOOKMARK NOT
DEFINED.
I. Đặc tả chức năng: ........................................... Error! Bookmark not defined.
I.1. Chức năng đăng nhập .......................... Error! Bookmark not defined.
I.2. Chức năng xác nhận driver-key .......... Error! Bookmark not defined.
I.3. Chức năng thay đổi trạng thái công việcError! Bookmark not defined.
I.4. Chức năng thay đổi thông tin cá nhân . Error! Bookmark not defined.
I.5. Chức năng thay đổi mật khẩu.............. Error! Bookmark not defined.
I.6. Chức năng xem thông tin công việc .... Error! Bookmark not defined.
I.7. Chức năng báo cáo doanh thu ............. Error! Bookmark not defined.
I.8. Chức năng xem thông tin hóa đơn ...... Error! Bookmark not defined.
I.9. Chức năng thực hiện cuốc xe .............. Error! Bookmark not defined.
I.10. Chức năng liên lạc khách hàng ........... Error! Bookmark not defined.
I.11. Chức năng thanh toán cước xe ............ Error! Bookmark not defined.
II. Sơ đồ hoạt động .......................................... Error! Bookmark not defined.
II.1. Hoạt động đăng nhập: ......................... Error! Bookmark not defined.
II.2. Hoạt động xác nhận driver-key: .......... Error! Bookmark not defined.
II.3. Hoạt động chuyển trạng thái hoạt động:Error! Bookmark not defined.
II.4. Hoạt động thay đổi mật khẩu: ............. Error! Bookmark not defined.
II.5. Hoạt động xem thông tin công việc: ... Error! Bookmark not defined.
II.6. Hoạt động xem báo cáo doanh thu: ..... Error! Bookmark not defined.
II.7. Hoạt động thực hiện cuốc xe: .............. Error! Bookmark not defined.
II.8. Hoạt động liên lạc khách hàng: ........... Error! Bookmark not defined.
II.9. Hoạt động xem thông tin hóa đơn: ...... Error! Bookmark not defined.
II.10. Hoạt động thanh toán cước xe: ........ Error! Bookmark not defined.
III. Biểu đồ tuần tự ........................................... Error! Bookmark not defined.
Mục lục ii
III.1. Biểu đồ tuần tự đăng nhập ............... Error! Bookmark not defined.
III.2. Sơ đồ tuần tự xác nhận driver-key .. Error! Bookmark not defined.
III.3. Sơ đồ tuần tự thay đổi trạng thái công việc ... Error! Bookmark not
defined.
III.4. Biểu đồ tuần tự thay đổi mật khẩu .. Error! Bookmark not defined.
III.5. Biểu đồ tuần tự xem thông tin công việc ....... Error! Bookmark not
defined.
III.6. Biểu đồ tuần tự báo cáo doanh thu .. Error! Bookmark not defined.
III.7. Biểu đồ tuần tự xem thông tin hóa đơn ......... Error! Bookmark not
defined.
III.8. Biểu đồ tuần tự thực hiện cuốc xe ... Error! Bookmark not defined.
III.9. Biểu đồ tuần tự liên lạc khách hàng Error! Bookmark not defined.
III.10. Biểu đồ tuần tự thanh toán cước xe . Error! Bookmark not defined.
IV. Sơ đồ Class ................................................. Error! Bookmark not defined.
XÂY DỰNG VÀ CÀI ĐẶT CHƢƠNG TRÌNH ............................................ 1
I. Cài đặt ............................................................................................................... 1
I.1. Môi trường lập trình .............................................................................. 1
I.2. Môi trường cài đặt ................................................................................. 1
II. Xây dựng và triễn chương trình .................................................................... 1
II.1. Xây dựng các chức năng chính chương trình ....................................... 1
II.2. Triễn khai chương trình ......................................................................... 3
KẾT LUẬN ....................................................................................................... 6
I. Những kết quả đã đạt được ............................................................................... 6
II. Tính khả thi và ưu điểm của chương trình ................................................... 6
III. Những hạn chế của đề tài ............................................................................. 6
IV. Hướng phát triễn đề tài ................................................................................. 6
DANH MỤC VÍ DỤ
Ví dụ 1: Jid của Facebook ............................................ Error! Bookmark not defined.
Ví dụ 2: Jid của ứng dụng ............................................ Error! Bookmark not defined.
Ví dụ 3: Cấu trúc một message trong XMPP ............... Error! Bookmark not defined.
Ví dụ 4: Cấu trúc IQ trong XMPP ................................ Error! Bookmark not defined.
Ví dụ 5: Presence XMPP của chương trình ................. Error! Bookmark not defined.
Ví dụ 6: IQ nhận thông tin đặt xe ................................. Error! Bookmark not defined.
Ví dụ 7: IQ gởi đồng ý nhận cuốc xe ........................... Error! Bookmark not defined.
Ví dụ 8: IQ gởi thông báo đã bắt khách ....................... Error! Bookmark not defined.
Mục lục iii
DANH MỤC HÌNH ẢNH
Hình 1: Các đối tượng UI trong iOS ............................ Error! Bookmark not defined.
Hình 9: Vòng đời của UIViewController ..................... Error! Bookmark not defined.
Hình 10: Sơ đồ use case tổng thể ................................. Error! Bookmark not defined.
Hình 11: Sơ đồ use case đăng nhập .............................. Error! Bookmark not defined.
Hình 12: Sơ đồ use case xác nhận driver-key .............. Error! Bookmark not defined.
Hình 13: Sơ đồ use case thay đổi trạng thái công việc Error! Bookmark not defined.
Hình 14: Sơ đồ use case thay đổi thông tin cá nhân .... Error! Bookmark not defined.
Hình 15: Sơ đồ use case đổi mật khẩu ......................... Error! Bookmark not defined.
Hình 16: Sơ đồ use case xem thông tin công việc........ Error! Bookmark not defined.
Hình 17: Sơ đồ use case báo cáo doanh thu ................. Error! Bookmark not defined.
Hình 18: Sơ đồ use case xem thông tin hóa đơn .......... Error! Bookmark not defined.
Hình 19: Sơ đồ use case thực hiện cuốc xe .................. Error! Bookmark not defined.
Hình 20: Sơ đồ use case liên lạc khách hàng. .............. Error! Bookmark not defined.
Hình 21: Sơ đồ use case thanh toán cuốc xe ................ Error! Bookmark not defined.
Hình 22: Sơ đồ hoạt động đăng nhập ........................... Error! Bookmark not defined.
Hình 23: Sơ đồ hoạt động xác nhận driver-key............ Error! Bookmark not defined.
Hình 24: Sơ đồ hoạt động chuyển trạng thái hoạt động. ............. Error! Bookmark not
defined.
Hình 25: Sơ đồ hoạt động thay đổi mật khẩu ............... Error! Bookmark not defined.
Hình 26: Sơ đồ hoạt động xem thông tin công việc ..... Error! Bookmark not defined.
Hình 27: Sơ đồ hoạt động báo cáo doanh thu .............. Error! Bookmark not defined.
Hình 29: Sơ đồ hoạt động thực hiện cuốc xe ............... Error! Bookmark not defined.
Hình 30: Sơ đồ hoạt động liên lạc khách hàng............. Error! Bookmark not defined.
Hình 28: Sơ đồ hoạt động xem thông tin hóa đơn ....... Error! Bookmark not defined.
Hình 31: Sơ đồ hoạt động thanh toán cước xe ............. Error! Bookmark not defined.
Hình 32: Biểu đồ tuần tự đăng nhập............................. Error! Bookmark not defined.
Hình 33: Biểu đồ tuần tự xác nhận driver-key ............. Error! Bookmark not defined.
Hình 34: Biểu đồ tuần tự thay đổi trạng thái công việc Error! Bookmark not defined.
Hình 35: Biểu đồ tuần tự thay đổi mật khẩu ................ Error! Bookmark not defined.
Hình 36: Biểu đồ tuần tự xem thông tin công việc ...... Error! Bookmark not defined.
Hình 37: Biểu đồ tuần tự báo cáo doanh thu ................ Error! Bookmark not defined.
Hình 38: Biểu đồ tuần tự xem thông tin hóa đơn ......... Error! Bookmark not defined.
Hình 39: Biểu đồ tuần tự thực hiện cuốc xe ................. Error! Bookmark not defined.
Hình 40: Biểu đồ tuần tự liên lạc khách hàng .............. Error! Bookmark not defined.
Hình 41: Biểu đồ tuần tự thanh toán cước xe ............... Error! Bookmark not defined.
Hình 42: Sơ đồ class ..................................................... Error! Bookmark not defined.
Hình 47: Giao diện xem thông tin cá nhân..................................................................... 3
Hình 48: Giao diện thực hiện cuốc xe ............................................................................ 4
Hình 49: Giao diện thanh toán ....................................................................................... 5
Xây dựng hệ thống điều phối taxi trên iOS
XÂY DỰNG VÀ CÀI ĐẶT CHƢƠNG TRÌNH
I. Cài đặt
I.1. Môi trƣờng lập trình
- Hệ điều hành Mac OS.
- Công cụ lập trình Xcode 5.0.2
I.2. Môi trƣờng cài đặt
- Hệ điều hành iOS 6.0 trở lên.
- Thiết bị sử dụng iPhone.
II. Xây dựng và triễn chƣơng trình
II.1. Xây dựng các chức năng chính chƣơng trình
II.1.1. Chức năng tìm kiếm địa chỉ
Sử dụng web service Google lấy danh sách địa chỉ
NSString *requestStr = [NSString stringWithFormat:
@"https://maps.googleapis.com/maps/api/place/autocomplete/json?input=%@&locat
ion=%@&radius=10000&sensor=true&key=%@&components=country:%@",_strS
earch,[NSString stringWithFormat:@"%@,%@",lat,lng],GOOGLE_KEY,@"VN"];
Tại đây:
- GOOGLE_KEY là key của google. Key được sử dụng trong chương trình:
o AIzaSyAOIFxGFNdwojtIkDBDEK9ubnYqzCohMIg
o AIzaSyBl0On1OdrG1aiB2xkit9Z5cWNq6ELDKvE
- VN : URL truyền vào sẽ có dạng: “&components=country:VN” để tìm kiếm
các địa điểm tại Việt Nam.
Kết quả trả về là kiểu Json với các thành phần:
- Địa chỉ
- Reference
-
Sau đó ta sẽ gọi google web service một lần nữa để lấy tọa độ với tham số
truyền vào là reference:
Xây dựng hệ thống điều phối taxi trên iOS
NSString *requestStr = [NSString
stringWithFormat:@"https://maps.googleapis.com/maps/api/place/details/json?referen
ce=%@&sensor=false&key=%@",reference,GOOGLE_KEY];
II.1.2. Chức năng hiển thị đường đi trên map cùng hướng dẫn chi tiết
Sử dụng google web service:
NSString *requestStr = [NSString
stringWithFormat:@"
%f&destination=%f,%f&sensor=false",from.latitude,from.longitude,to.latitude,to.long
itude];
Với tham số truyền vào là tọa độ điểm đầu và cuối.
II.1.3. Chức năng vẽ đường trên Mapkit
Việc vẽ được thực hiện từ các tọa độ truyền vào.
II.1.4. Chức năng thanh toán
Sự dụng server web service viết bằng Java ( Liferay)
Với taxilocal2.qgs.vn là tên server.
II.1.5. Chức năng tính cước
Việc tính cước được tính dựa theo khoảng cách dịch chuyển trên map.
distanceValue += [driver.myLocation
distanceFromLocation:oldLocation]*0.000621371192;
oldLocation = driver.myLocation;
Với:
- driver.myLocation là tọa độ hiện tại.
- oldLocation: là tọa độ điểm trước đó.
- Đổi từ met sang dặm: 1 meter = 0.000621371192 miles
II.1.6. Các chức năng giao tiếp với server XMPP và với ứng dụng khách hàng gọi
taxi
Sử dụng thông qua các delegate của XMPPStream để gởi nhận tín hiệu.
Xây dựng hệ thống điều phối taxi trên iOS
II.2. Triễn khai chƣơng trình
II.2.1. Chức năng xem thông tin cá nhân
Hình 1: Giao diện xem thông tin cá nhân
Xây dựng hệ thống điều phối taxi trên iOS
II.2.2. Chức năng thực hiện cuốc xe
Hình 2: Giao diện thực hiện cuốc xe
Xây dựng hệ thống điều phối taxi trên iOS
II.2.3. Chức năng thanh toán
Hình 3: Giao diện thanh toán
Xây dựng hệ thống điều phối taxi trên iOS
KẾT LUẬN
I. Những kết quả đã đạt đƣợc
Xây dựng được ứng dụng Taxi trên iOS với các chức năng:
- Quản lý thông tin người dùng.
- Thực hiện cuốc xe.
- Quản lý công việc.
- Quản lý hóa đơn cuốc xe.
- Xem được lộ trình.
- Giao tiếp với khách hàng.
- Hỗ trợ thanh toán.
II. Tính khả thi và ƣu điểm của chƣơng trình
Chương trình gọn nhẹ và chạy được trên hầu hết thiết bị iOS.
Tính khả dụng cao vì việc gọi và thực hiện cuốc xe là nhu cầu phổ biến ở nhiều
quốc gia và thiết bị smart phone đang được nhiều người sử dụng.
III. Những hạn chế của đề tài
Khả năng bảo mật chưa cao.
Một số chức năng chưa phát triễn được theo yêu cầu ban đầu.
Chức năng thanh toán còn nhiều sơ sài, chưa hỗ trợ được nhiều kiểu thanh toán
khác nhau.
IV. Hƣớng phát triễn đề tài
Hoàn thiện các chức năng đã đề cập trong phần hạn chế ở trên.
2
TÓM TẮT LUẬN VĂN TỐT NGHIỆP
Đề tài được đặt ra phục vụ nhu cầu ứng dụng CNTT vào công việc điều phối
taxi. Mục đích cụ thể là xây dựng một hệ thống điều phối giúp cho việc quản lý được
nhanh chóng, ổn định và ứng dụng trên smart phone về phía người dùng và nhân viên
taxi giúp cho việc thực hiện cuốc xe và đặt xe được nhanh chóng thuận tiện.
Về mặt nghiên cứu công nghệ, chúng em đã tìm hiểu được nguyên lý hoạt động
của các công nghệ mới, cũng như là cách thức áp dụng vào chương trình.
Về mặt chương trình, đề tài đã giải quyết được một số vấn đề sau:
Cho phép việc đặt xe trực tuyến.
Quá trình đón và nhận được thực hiện tự động thông qua hệ thống.
Cung cấp chức năng quản lý công việc, hóa đơn.
Giao tiếp giữa nhân viên taxi và khách hàng thông qua chat trực tuyến.
Bên cạnh những tính năng trên, chương trình vẫn còn một số điểm chưa được
giải quyết được, cụ thể là:
Bảo mật là vấn đề lớn.
Chưa có các chức năng điện đàm trực tiếp, đánh giá chất lượng phục vụ.