Đề tài luận văn lập trình ứng dụng tra cứu xe buýt trên thiết bị android, có sử dụng giải thuật sắp xếp, dijkstra. mọi người có gì thắc mắc có thể liên hệ với mình qua https:www.facebook.comngo.even, nếu có gì sai xót mong mọi người bỏ qua :)
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH KỸ THUẬT PHẦN MỀM Đề tài THIẾT KẾ ỨNG DỤNG CHỈ ĐƯỜNG VÀ TÌM XE BUÝT TRÊN THIẾT BỊ DI ĐỘNG ANDROID Sinh viên: Ngô Hải Vân MSSV: 1111366 Khóa 37 Cần Thơ, 11/2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG BỘ MÔN CÔNG NGHỆ PHẦN MỀM LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH KỸ THUẬT PHẦN MỀM Đề tài THIẾT KẾ ỨNG DỤNG CHỈ ĐƯỜNG VÀ TÌM XE BUÝT TRÊN THIẾT BỊ DI ĐỘNG ANDROID Người hướng dẫn Sinh viên thực Ths Đoàn Hòa Minh Ngô Hải Vân Mã số: 1111366 Khóa: 37 Cần Thơ, 11/2015 MỤC LỤC LỜI CẢM ƠN TÓM TẮT ABSTRACT GIỚI THIỆU ĐỀ TÀI Chương 1: MÔ TẢ BÀI TOÁN 11 1.1 Mô tả tổng quan 11 1.2 Các yêu cầu giao tiếp bên ngoài: 12 1.3 Thiết kế chức hệ thống 16 1.4 Các Yêu Cầu Phi Chức Năng 19 1.5 Các yêu cầu khác 20 CHƯƠNG 2: THIẾT KẾ VÀ CÀI ĐẶT 23 2.1 Kiến trúc hệ thống 23 2.2 Thiết kế liệu 25 2.3 Mô tả đối tượng giải thuật 29 2.4 Thiết kế giải thuật tìm xe buýt đường 41 2.5 Cài đặt API 47 CHƯƠNG 3: KIỂM THỬ VÀ ĐÁNH GIÁ 49 3.1 Mục tiêu 49 3.2 Phạm Vi 49 3.3 Chi tiết kế hoạch kiểm thử 49 3.4 Quản lý kiểm thử 50 3.5 Các trường hợp kiểm thử 52 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android LỜI CẢM ƠN Sau khoảng bốn tháng thực luận văn, đề tài “Thiết kế ứng dụng đường tìm xe buýt thiết bị di động Android” hoàn thành Ngoài cố gắng thân, em nhận giúp đỡ tận tình Thầy Cô bạn bè Em xin chân thành cảm ơn Thầy Cô, bạn bè tất người tạo thuận lợi để em có đủ điều kiện kiến thức để hoàn thành đề tài luận văn Đầu tiên, em xin cảm ơn Khoa Công nghệ thông tin truyền thông Đại học Cần Thơ đồng ý tạo điều kiện cho em thực luận văn Và quan trọng theo dõi đồng hành giúp đỡ suốt trình thực đề tài luận văn Thầy Đoàn Hòa Minh Em xin cảm ơn Thầy định hướng, chia sẻ kinh nghiệm điều chỉnh giai đoạn thực đề tài Em xin chân thành cảm ơn thầy cô Khoa Công nghệ thông tin truyền thông, Đại học Cần Thơ tận tình truyền đạt kiến thức, chia sẻ kinh nghiệm, hỗ trợ tài liệu Đó điều tuyệt vời từ thầy cô giúp em có đủ tảng, trang bị tự tin để thực đề tài Cuối cảm ơn bạn bè anh chị khóa trước đồng hành, sát cánh giúp đỡ, chia sẻ kinh nghiệm, kĩ tài liệu để em vững tinh thần bình tĩnh thực tiến độ suốt trình làm luận văn hay hết suốt trình học tập mái nhà chung Đại học Cần Thơ Tuy vậy, luận văn gặp nhiều thiếu sót hạn chế em mong muốn nhận thông cảm đóng góp ý kiến tất quý thầy cô để luận văn em hoàn chỉnh thực tốt mục tiêu mà đề tài đề Một lần chân thành cám ơn tất người điều tốt đẹp mà em nhận được! Sinh viên thực Ngô Hải Vân GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android TÓM TẮT Hiện nay, TP Cần Thơ dịch vụ du lịch ngày phát triển lượng khách du lịch đến Cần Thơ ngày tăng Bên cạnh đó, lượng sinh viên từ khắp tỉnh mà chủ yếu ĐBSCL đổ ngày đông Tuy nhiên việc lại phương tiện cá nhân thường xuyên gây ùn tắt giao thông, làm thời gian ô nhiễm môi trường Vì thế, nhu cầu di chuyển phương tiện công cộng người dân ngày nhiều, mà phương tiện công cộng phổ biến "Xe Buýt" tiện dụng giá thành hợp lý Tuy nhiên hệ thống xe buýt mơ hồ với nhiều người, mà mơ hồ họ cần tìm hiểu, cần tra cứu Thế tra cứu để thao tác đơn giản nhất, nhanh chóng nhất, rõ ràng để thể có đáp án hài lòng nhất? Họ cần ứng dụng Từ nhu cầu mà chọn đề tài “Thiết kế ứng dụng tra cứu xe buýt địa bàng TP.Cần Thơ” Song song với vấn đề trên, năm gần khoa học công nghệ giới có phát triển vượt bậc Đặc biệt phát triển hệ điều hành dành cho dòng smartphone Nhắc đến vấn đề mộtcái tên định bỏ qua hệ điều hành Android – hệ điềuhành phổ biến (chiếm đến 87.1% toàn cầu, tính tới 11/2015) Chính chọn Android làm tảng để phát triển ứng dụng Đề tài sử dụng công cụ lập trình Android Studio Google cung cấp miễn phí dành riêng cho việc phát triển ứng dụng Android Ứng dụng bao gồm chức là: tìm xe buýt, hướng dẫn cách giúp người dùng tìm tuyến xe buýt phù hợp với lộ trình mình, tra cứu xe khách liên tỉnh giúp người dùng tham khảo hãng xe, từ chọn hãng xe phù hợp với nhu cầu mình, tra cứu Taxi giúp người dùng dễ dàng việc so sánh giá thành hãng xe hay liên hệ trực tiếp với tổng đài hãng Và kèm theo có mộtchức phụ giữ chức tuyệt vời đăng tin quảng cáo dành cho người dùng có nhu cầu đăng tin quảng cáo mua, bán cho thuê phương tiện lại Do bị hạn chế thời gian chi phí việc khảo sát thực tế số liệu nên ứng dụng chưa hoàn thiện mặt liệu nhiên đề tài xây dựng tương đối hoàn chỉnh chức ứng dụng đề ban đầu Ứng dụng hoạt động tốt thiết bị có cấu hình trung bình chạy hệ điều hành Android phiên 4.2 cao GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android ABSTRACT Today, in Can Tho City, the tourism is growing very strongly as more and more tourists invade this area Moreover there is an invasion of university students in this area dueto the vocational training centers in Can Tho, as these universitiesneed more students so it is usually frequent traffic jams Because of that, the demand of the people is using public traffic for move to limit traffic jams From this huge demand, I am choosing the topic "Thiết kế ứng dụng tra cứu xe buýt địa bàng TP.Cần Thơ” Morever, in recent years, science and technology around the world has been developing strongly Together with this advancement, smart mobile devices and the OS of mobile devices are also developing very quickly One of the OS which cannot be ignored is the "Android OS" – one of the most popular OS (accounting 87.1% wordwide count to 11/2015) with a lot of giant developers, so i chose Android OS for develop my topic This project was programmed with Android Studio (Google provide free for Android Developer) The application has many main function, such as “find the busline”, instruction how to go help the users find a busline for their route, “look up intercity bus” help the users compare many car carriers together and choose a good car carrier for them, “lookup taxi” help the users compare the cost of many taxi companies together and contact to taxi companies easier, and an accessory function is “enviroment your deal” users can post their enviroment if they need to buy,sell,rent or need rent the vehicles Because of the time and expense is limited so i have a difficult when i go to survey for collect data, so this software isn’t completed database But This project was constructed with full complete functions to act like a complete plan This application works easily with Android devices version 4.2 or higher GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android GIỚI THIỆU ĐỀ TÀI I Đặt vấn đề Hệ thống giao thông thành phố Cần Thơ năm gần gặp nhiều khó khăn tình trạng ùn tắc giao thông thường xuyên xảy ra, vào cao điểm Một tình trạng chung cho trung tâm thành phố phát triển Tuy nhiên, ta dễ dàng thấy nguyên nhân dẫn đến ùn tắc giao thông số lượng người sử dụng phương tiện di chuyển cá nhân nhiều Do Nhà nước tiến hành nhiều biện pháp hạn chế số lượng phương tiện đó, đồng thời đầu tư phát triển hệ thống giao thông công cộng, xe buýt phương tiện mở để người dân quen dần với hệ thống giao thông công cộng Xe buýt loại xe khách có tuyến đường, trạm dừng cố định bố trí khoảng cách không xa nhau, lịch trình ấn định từ trước Xe khách liên tỉnh trường hợp đặt biệt xe buýt xe khách có số lượng trạm dừng rât bố trí xa không gần xe buýt, điều lộ trình xe khách lớn xe buýt nhiều Taxi phương tiện công cộng khác với xe buýt xe khách Taxi lộ tuyến đường, trạm lịch trình thay vào Taxi có ưu chạy theo yêu cầu thời gian lộ trình hành khách nhiên giá thành Taxi lại cao hai loại xe Tuy xe buýt phương tiện công cộng nước ta trước xe buýt hoạt động riêng lẻ, không theo quy trình, lộ trình chung cả, người dân quen với việc sử dụng phương tiện cá nhân, cộng với việc xe buýt không tuyên truyền rộng rãi nên rât nhiều người mơ hồ hệ thống xe buýt Vì người dân gặp khó khăn việc tìm tuyến xe phù hợp với lộ trình họ Hơn Cần Thơ thành phố phát triển kinh tế, dịch vụ du lịch lượng du khách ghé thăm cần thơ năm với lực lượng sinh viên tạm trú Cần Thơ lớn nên nhu cầu sử dụng dịch vụ xe khách liên tỉnh không nhỏ mà hãng xe khách nhiều không thống khởi hành giá dịch vụ khiến họ gặp nhiều khó khăn việc đặt vé xe Từ lí mà ứng dụng “By What?” đời, giúp đỡ người việc tìm kiếm phương tiện lại phù hợp với nhu cầu Tôi chọn tên ứng dụng “By What?” theo nghĩa tiếng Việt “By What?” có nghĩa “Bằng gì?” Đó câu hỏi người muốn , để trả câu hỏi trước tiên ứng dụng trả lời cho bạn câu hỏi “đi nào?” từ người dùng tự trả lời cho câu hỏi “đi gì?” GVHD: GVC Đoàn Hòa Minh SVTH: Ngô Hải Vân - 1111366 LVTN: Thiết kế ứng dụng đường tìm xe buýt thiết bị Android 2.4.3 Giải thuật Dijkstra tìm đường di ngắn Giải thuật giúp cho tìm tuyến xe lộ trình phù hợp từ tuyến xe buýt lọc lại giải thuật 2.5.2 Ta lại dùng giải thuật Dijkstra để tìm đường ngắn để lọc lại danh sách LINES(danh sách LINES lúc khử bỏ tuyến xe trái tuyến) tạo danh sách goPath để lưu lộ trình khác với giải thuật 2.5.2 giải thuật ta xem tuyến xe danh sách LINES đỉnh đồ thị Ví dụ: danh sách LINES sau khử bỏ tuyến xe trái tuyến ta tuyến xe( theo thứ tự T1, T2, T3, T4) có hướng từ A (FROM) tới B (TO) , ta lập mà trận vuông MxM với M = số tuyến xe + điểm FROM TO, trường hợp M = + = Ta sử dụng hàm hàm sau để tính toán: - Hàm distanceFuntion(A, B) để tính khoảng cách từ điểm A tới B Hàm distanceLatBus(T1, A) để tính khoảng cách ngắn từ A tới T1 Hàm distanceTowBus(T1, T2) để tính khoảng cách ngắn tuyến xe Chi tiết ma trận sau Với ô thứ i, j ta có: - i=j ta gán giá trị i=0 j=M-1: ta gán giá trị distanceFuntion (A, B) j=0 i=M-1: ta gán giá trị distanceFuntion (A, B) i=0 j0: ta gán giá trị distanceLatBus (B, tuyến xe thứ j-1 LINES) j=0 i0: ta gán giá trị distanceLatBus (B, tuyến xe thứ i-1 LINES) i>0 j>0 i dist[i] checked[i] = false sang bước 10 ngược lại sang bước 11 Bước 10: gán = dist[i], XP =i Bước 11: i