Phương pháp luận và nghiên cứu khoa học_Xây dựng phần mềm hỗ trợ phát hiện và thông báo tắc nghẽn giao thông trên lịch trình đi của người dùng dùng cho smartphone

13 715 3
Phương pháp luận và nghiên cứu khoa học_Xây dựng phần mềm hỗ trợ phát hiện và thông báo tắc nghẽn giao thông trên lịch trình đi của người dùng dùng cho smartphone

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phương pháp luận và nghiên cứu khoa học_Xây dựng phần mềm hỗ trợ phát hiện và thông báo tắc nghẽn giao thông trên lịch trình đi của người dùng dùng cho smartphone

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐỀ TÀI:XÂY DỰNG PHẦN MỀM HỖ TRỢ PHÁT HIỆN THÔNG BÁO TẮC NGHẼN GIAO THÔNG TRÊN LỊCH TRÌNH ĐI CỦA NGƯỜI DÙNG DÙNG CHO SMARTPHONE GIẢNG VIÊN: ĐẶNG HOÀI BẮC CHƯƠNG I. TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1. Khái quát thực trạng tắc nghẽn giao thông hiện nay Từ khi nền kinh tế Việt Nam chuyển từ nền kinh tế kế hoạch tập trung sang nền kinh tế thị trường thì bức tranh kinh kinh tế Việt Nam có nhiều điểm sáng,mức sống của người dân được cải thiện từng bước, được bạn bè các nước trong khu vực quốc tế hết lòng ca ngợi về những thành tựu đổi mới trong quá trình xây dựng đất nước. Tuy mức tăng trưởng của Việt Nam khá cao nhưng đi liền với nó là vấn đề tai nạn giao thông, tắc nghẽn giao thông, nhất là giao thông đường bộ. Với các thành phố lớn thì chủ đề giao thông ngay càng thu hút sự quan tâm đông đảo dư luận, chưa bao giờ giảm nhiệt rất khó kiểm soát, đặc biết là vấn đề tắc nghẽn giao thông đã đang xảy ra hằng ngày, hàng giờ luôn là bài toán khó, một vấn đề nóng bỏng, nan giải đối với các nhà chức trách hiện nay. Tắc nghẽn giao thông đang là nỗi bức xúc của người dân thành phố, với mỗi người dân thì bất cứ ai cũng đã từng là nạn nhân của tình trạng tắc đường, nhất là giờ cao điểm hay những ngày mưu báo ngập úng. Đặc biệt trong những năm gần đây, khi mật độ cung đường thời gian ách tắc ngày càng tăng lên đang là vấn đề xã hội bức xúc, nó gây ra những thiệt hại không nhỏ về kinh tế ảnh hưởng xấu đến xức khỏe, đời sống sinh hoạt của mọi tầng lớp nhân dân ở thành phố. 2. Lý do chọn đề tài Từ tình hình tắc nghẽn giao thông đó, các cơ quan chức năng đã có nhiều cố gắng đề ra các giải pháp chống tắc nghẽn giao thông. Từ các giải pháp kỹ thuật phân làn đường, bịt các ngã tư, tăng cường người chỉ huy ở các nút giao thông hay bị tắc nghẽn đến giải pháp tận dụng sức mạnh cộng đồng như thực hiện chương trình VOV giao thông, tăng cường giáo dục, tuyên truyền, kêu gọi ý thức của mọi người tham gia giao thông. Tuy nhiên, do mật độ giao thông quá lớn, cơ sở hạ tầng không đáp ứng được, một phần ý thức người tham gia giao thông chưa cao, nên các biện pháp đề ra hiệu quả chưa mang lại hiểu quả như mong muốn. Thực tế, hiện tượng tắc nghẽn giao thông chỉ thường xuyên xảy ra ở một số điểm cố định vào các giờ cao điểm. Nếu chúng ta có cách thông báo cho mọi người tham gia giao thông biết được đoạn đường nào đi đang bị ùn tắc thì có thể giảm được một số điểm ùn tắc. Trong thời gian qua, chương trình VOV giao thông của đài tiếng nói Việt Nam đã ra đời nhận được sử hưởng ứng tích cực của mọi người. Cách làm của chương trình VOV giao thông đó là cùng người tham gia giao thông các cộng tác viên tại các điểm hay xảy ra ùn tắc phát hiện thông báo tình trạng giao thông thông qua sóng radio. Tuy nhiên, nhược điểm của VOV giao thông là vì sử dụng chương trình phát thanh nên thông tin chỉ đến được một số ít người tham gia giao thông, thông tin được truyền tải dưới dạng âm thanh nên giảm bớt tính hiệu quả của thông tin. Hướng đến một cách tiếp cận khác đó là thông qua Internet các thiết bị di động, em đã chọn đề tài “ Xây dựng phần mềm hỗ trợ phát hiện thông báo các điểm tắc nghẽn giao thông trên lịch trình đi của người dùng thông qua smartphone ”. Bài toán giải quyết vấn đề chủ yếu dựa trện bản đồ của dịch vụ Google Map các điện thoại smartphone. Nó sẽ giúp chúng ta có thể biết được các điểm đang tắc nghẽn giao thông trên lịch trình đi của mình. Qua đó, sẽ giảm bớt tình trạng tắc nghẽn giao thông. CHƯƠNG II. MỤC ĐÍCH, MỤC TIÊU 1. Mục đích Với ý tưởng phần mềm này, giúp cho người dùng có thể phát hiện tình trạng điểm nút giao thông trên lịch trình mình định đi. Qua đó, giảm được việc ùn tắc giao thông. 2. Mục tiêu  Tìm hiểu tổng quan về smartphone hệ điều hành Android.  Tìm hiểu dịch vụ Google Map.  Tìm hiểu tạo lập môi trường trên tính năng Web ASP.NET MVC.  Xây dựng phần mềm như một giải pháp bổ sung, khả thi cùng với các phương tiện khác như VOV giao thông. CHƯƠNG III. TÌM HIỂU CÁC CÔNG NGHÊ ĐƯỢC SỬ DỤNG 1. Tổng quan về hệ điều hành Android 1.1 Giới thiệu về Android Android là một hệ điều hành được phát triển bởi tập đoàn Google. Được xây dựng trên một nền tảng mở, một bộ thư viện đa năng, mạnh mẽ với nguyên lý mở. Nền tảng Android tích hợp nhiều tính năng nổi bật:  Android là một hệ điều hành nhân Linux, đảm bảo xự tương tác với các phần cứng, quản lý bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động.  Bộ ứng dụng khung cho phép sử dụng lại thay thế các thành phần riêng lẻ.  Máy ảo Dalvik được tối ưu cho các thiết bị di động, chạy các ứng dụng trên ngôn ngữ lập trình Java.  Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite, Webkit, OpenGL trình quản lí đa phườn tiện.  Hỗ trợ các chẩn đa phương tiện phổ biến trên nền GSM, Bluetooth, EDGE, 3G Wifi.  Hỗ trợ Camera, GPS, la bàn…  Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích hợp với Eclipse SDk. 1.2 Cấu trúc hệ điều hành  Application: Android được phát hành cùng với một bộ các ứng dụng gốc bao gồm: email, trình tin nhắn SMS, lịch bản đồ, trình duyệt web, danh bạ một số ứng dụng khác. Tất cả các ứng dụng trên được viết bằng ngôn ngữ lập trình Java.  Application Framework: Bằng cách phát triển một nền tảng nhớ, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng vô cùng phong phú. Bên cạnh đó, họ có thể tự do tận dụng ưu điểm của các thiết bị phần cứng, thông tin địa điểm truy cập hay các dịch vụ chạy nền để thiết lập hệ thống báo động thông báo trên thanh trạn thái rất nhiều dịch vụ khác nữa. Ngoài ra, các nhà phát triển có toàn quyền truy cập vào nền tảng API ( Application Programming Interface – giao diện lập trình ứng dụng) mà các ứng dụng gốc sử dụng. Cấu trúc của các ứng dụng được đơn giản thiết kế giúp cho việc tái sử dụng, thay thế các thành phần của bất kỳ ứng dụng nào đó một cách dễ dàng(nhưng phải tùy thuộc vào cơ chế bảo mật riêng của từng ứng dụng).  View System được dùng để xây dựng một ứng dụng bao gồm các văn bản, nút bấm cả những trình duyệt web nhúng.  Content Provider cho phép truy cập dữ liệu các ứng dụng khác(như Contacts…) hoặc chia sẻ dữ liệu của riên mình.  Resource Manager cho phép tất cả các ứng dụng hiển thị thông báo tùy chỉnh trong thanh trạng thái.  Activity Manager quản lý thời gian hoạt động của các ứng dụng. 1.3 Các thư viện Android được tích hợp một thư viện ngôn ngữ C/C++ được sử dụng bởi nhiều thành phần khác nhau của hệ thống. Thư viện ngôn ngữ này sẽ tiếp xúc với các nhà phát triển ứng dụng thông qua nền tảng hệ điều hành Android. Một số thư viện như:  System C library: co gốc từ hệ thống thư viện chuẩn C (LIBC) giúp điều chỉnh nhúng cho các thiết bị sử dụng nền tảng Linux.  Media Libraries: dựa trên OpenCore của PacketVideo, hỗ trợ ghi phát lại âm thanh, hình ảnh, video dưới dạng nhiều định dạng phổ biến như MPEG4, H.264, MP3, AAC, AMR, JPG PNG.  Surface Manager: quản lý truy cập vào các hệ thống hiển thị tổng hợp đồ họa 2D 3D các lớp từ nhiều ứng dụng trên thiết bị.  LibWebCore: trình duyệt web hiện đại hỗ trợ cả trình duyệt web của Android các trình duyệt web nhúng khác.  SGL: công cụ đồ họa 2D cơ bản.  3D libraries: dựa trên OpenGL ES 1.0 API, dùng để tăng tốc phần cứng 3D(nếu có) hoặc để tối ưu hóa các thành phần 3D.  SQlite: cơ sở dữ liệu dùng cho tất cả các ứng dụng. 2.Tìm hiểu về dịch vụ Google Map Hiện tại, có nhiều nhà cung cấp dịch vụ bản đồ trực tuyến miễn phí như là Google, Yahoo, Microsoft…Google là hãng cung cấp dịch vụ tốt nhât với sản phầm Google Map với nhiều chức năng bản đồ cũng như cung cấp APIs mở. Nhiều hạn chế trong các sản phẩm của bản đồ Web- based đã được Google Map khắc phục. Để hiểu cách nào mà công nghệ này có khả năng thay đổi cách thức tạo bản đồ số chúng ta tìm hiểu qua cách tiếp cận cổ điển trong xuất bản bản đồ môi trường Web. Bản đồ web cổ điển dựa vào cơ sở hạ tầng phức tạp cảu dữ liệu phần cứng, phần mềm nguồn lực con người. Dữ liệu trong bản đồ Web cổ điển có thể chia làm 2 danh mục riêng biệt: dữ liệu cơ sở dữ liệu của ứng dụng. Dữ liệu cơ sở, hay dữ liệu nền thường bao gồm dữ liệu địa lý thường có nhiều lớp như là lớp khí quyển, ảnh, đường các đường biên lãnh thổ. Dữ liệu cụ thể của ứng dụng bao gồm các tầng dữ liệu cụ thể cho ứng dụng được phát triển. Ví dụ một ứng dụng bản đồ web cho một thành phố thì sẽ có các lớp như vùng trực thuộc, vị trí các trường học, các công trình công cộng nhiều lớp khác. Mỗi lớp dữ liệu này phải được định vị được lưu trữ trên máy chủ của tổ chức đó được cập nhật định kỳ. Với Google Map sẽ không còn phải quản lý định vị cơ sở dữ liệu nữa. Dữ liệu vùng, đường đã được đi kèm trong Google Maps. Tuy nhiên người sử dụng cần phải quản lý ứng dụng của mình bằng dữ liệu XML. Hoặc định dạng khác. Không chỉ có các yêu cầu dữ liệu phức tạp, các ứng dụng bản đồ cổ điển còn có các vấn đề với phần cứng phần mềm sức lực con người. Phải mua thêm phần cứng phần mềm, cũng như cần có sự quản lý của con người để bảo trì, quản lý phần mềm, lập trình tạo ứng dụng. Tuy không hoàn toàn loại bỏ các phần cứng phần mềm, nhưng chúng đã giảm thiểu đáng kể với Google Map. Vẫn cần phần cứng để khai triển ứng dụng nhưng yêu cầu phần mềm thì đã được hạn chế tối đa. Google Map là sản phầm miễn phí, không cần cài đặt, hay quản lí. Sản phầm hỗ trợ các APIs để tạo ra các chức năng tùy biến của ứng dụng. Google Map hỗ trợ các dịch vụ như định vị, tìm đường, thêm dữ liệu cá nhân, các điều khiển làm cho việc ứng dụng bản đồ trong ứng dụng Web trở nên dễ dàng thuận tiện. 3. Tìm hiểu về ASP.NET MVC Mẫu kiến trúc Model - View – Controller được sử dụng nhằm chỉ ứng dụng ba thành phần chính: model, view controller. Nền tảng ASP.NET MVC giúp cho chúng ta có thể tạo ra được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forms. Nền tảng ASP.NET MVC có đặc điểm nổi bật là nhẹ, dễ kiểm tra thử phần giao diện tích hợp các tính năng có sẵn của ASP.NET. Nền tảng ASP.NET MVC được định nghĩa trong namespace System.Web.Mvc là một phần của namespace System.Web. MVC là một mẫu thiết kế chuẩn mà nhiều lập trình viên đã quen thuộc. Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC. Một số khác vẫn thích hợp với ASP.NET WEB Forms cơ chế postbcaks. Đôi khi có những ứng dụng kết hợp cả hai kiến trúc trên. Nền tảng MVC bao gồm các thành phần dưới đây: Model: Các đối tượng Models là một phần cảu ứng dụng, các đối tượng này thiết lập logic cảu phần dữ liệu của ứng dụng. Thông thường, các đối tượng model lấy lưu trạng thái cảu model trong CSDL. Ví dụ như một đối tượng Product sẽ lấy dữ liệu từ CSDL thao tác trên dữ liệu sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server. Trong các ứng dụng nhỏ, model thường là chỉ một khái niệm nhằm nhằm phân biệt hơn là cài đặt thực thụ, ví dụ nếu ứng dụng chỉ đọc dữ liệu từ CSDL gởi chúng đến view, ứng dụng không cần phải có tầng model các lớp lien quan. Trong trường hợp này, dữ liệu được lấy như là một đối tượng model(hơn là một tầng model). Views: Views là các thành phần dùng để hiển thị giao diện người dùng. Thông thường, view được tạo dựa vào thông tin dữ liệu mode, Ví dụ như, view dùng để cập nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list các check box dựa trên trạng thái hiện tại cảu một đối tượng Product. Controller: Controller là các thành phâng dùng để quản lý tương tác ngườ dùng, làm việc với model chọn view để hiện thỉ giap diện người dùng. Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý đáp trả nôi dung người dùng nhập tương tác với người dùng. Ví dụ, controller sẽ quản lý các dữ liệu người dùng gửi lên gửi các giá trị đó đến model, model sẽ lấy giá trị từ CSDL nhờ vào các giá trị này. Mẫu MVC giúp bạn tạo được các ứng dụng mà chúng nhận phân tách rạch ròi các khía cạnh của ứng dụng. Mẫu MVC chỉ ra mỗi loại logic kể trên nên được thiết lập ở đâu trên ứng dụng. Logic giao diện thuộc về views. Logic nhập liệu thuộc về controller logic tác vụ thuộc về model. Sự phân chia này giúp bạn giảm bớt sự phức tạp của ứng dụng chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm. Ví dụ như bạn chỉ tập trung vào giao diện view mà không cần quan tâm đến logic xử lý thông tin của ứng dụng. Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho chúng ta có thể kiểm thử ứng dụng dễ dàng hơn hẳn so với khi áp dụng mẫu Web Forms. Ví dụ, trong một ứng dụng ASP.NET Web Forms, một lớp thường được sử dụng để hiển thị thông tin xuất ra cho người dùng đồng thời xử lý thông tin người dùng nhập. Việc xây dựng các bộ test tự động cho ứng dụng Web Forms là rất phức tạp, bởi để kiểm thử mỗi trang web, bạn phải khởi tạo đối tượng trang, khởi tạo tất cả các control được sử dụng trong trang các lớp phụ thuộc trong ứng dụng. bởi vì có quá nhiều lớp cần được khởi tạo để chạy được trang, thật khó để có thể viết các test chỉ tập trung vào một khía cạnh nào đó của ứng dụng. vì thế, kiểm thử đối với các ứng dụng dứa trên nền tảng Web Forms sẽ khó khăn hơn nhiều so với khi áp dụng trên ứng dụng MVC. Hơn thế nữa, việc kiểm thử trên nền tảng Web Forms yêu cầu phải sử dụng đến web server. Nền tảng MVC phân tách các thành phần sử dụng các interface (khái niệm giao diện trong lập trình hướng đối tượng), nhờ đó có thể kiểm thử các thành phần riêng biệt trong tình trạng phân lập với các yếu tố còn lại của ứng dụng. Sự phân tách rạch ròi ba thành phần của ứng dụng MVC còn giúp cho việc lập trình diễn ra song song. Ví dụ như một lập trình viên làm việc với view, lập trình viên thứ hai lo cài đặt logic của controller lập trình viên thứ ba có thể tập trung vào logic tác vụ của model tại cùng một thời điểm. CHƯƠNG IV. PHÂN TÍCH THIẾT KẾ 1 Phân tích 1.1 Phân tích dịch vụ Google Maps Dịch vụ bản đồ số Google Maps có hỗ trợ một số chức năng như: tìm đường đi giữa 2 điểm, ước lượng khoảng cách, xác định tọa độ của một điểm theo tên nhập vào, hoặc lấy tọa độ từ một điểm trên bản đồ. Tuy nhiên Google Maps lại không hỗ trợ xác định điểm đầu điểm cuối con đường theo tên, phố. Ngược lại, việc quản lý giao thông lại căn cứ vào tên đường phố. Vì thế cần có cơ sở dữ liệu để quản lý tên đường phố là bắt buộc với đề tài này. 1.2 Phân tích yêu cầu 1.2.a Yêu cầu người dùng Xây dựng phần mềm phải thực hiện được chức năng:  Chức năng biên tập, dành cho người biên tập có thể đặt trạng thái bằng cách thao tác trực tiếp trên bản đồ.  Chức năng xem thông tin dành cho người dùng dịch vụ có thể biết trạng thái điểm giao thông mà mình cần biết. 1.2.b Yêu cầu hệ thống - Một nút giao thông có thể có nhiều trạng thái như tắc đường, cấm đường, công trình đang thi công, hoặc tai nạn giao thông. Những trạng thái có thể thêm vào hoặc sửa đổi cho phù hợp. - Dữ liệu đường phố, vùng địa lý thực tế có thể bị thay đổi, vì thế người biên tập cần cập nhật được cơ sở dữ liệu đường phố, quân huyện khi cần thiết để đảm bảo tính chính xác. - Chức năng báo tắc đường phải được chỉnh tọa độ, tên đường, trạng thái điểm giao thông trên bản đồ. - Người dùng thiết bị smartphone nền Android có thể xem các trạng thái đó trên smartphone ở chế độ bản đồ hoặc theo danh sách. - Người dùng có thể thông báo một con đường đang bị tắc với mô tả gửi lên Sever. - Người dùng có thể tự động cập nhật các trạng thái sau một thời gian nào đó. Người dùng có thể cập nhật bằng tay để có những thông tin cập nhật mới nhất. - Phần Sever được lập trình trên nền Web phải hỗ trợ các thao tác như bấm chuột phải để đặt trạng thái. Người biên tập thao tác trên bản đồ vì thế yêu cầu đặt trạng thái phải đúng với một con đường nào đó trên bản đồ. 2. Xây dựng các trạng thái trong phần mềm 2.1 Các trạng thái - Xem bản đồ: Người dùng thực hiện xem các thông tin giao thông trên bản đồ. - Xem theo điểm nút: Người dùng có thể xem tình trạng giao thông tại các điểm mà mình định đi qua. - Gửi thông báo: Người dùng gửi thông báo các trạng thái giao thông cho hệ thống. - Tạo trạng thái: Người biên tập thông báo một trạng thái mới qua một điểm trên bản đồ. - Cập nhật trạng thái: Người biên tập thực hiện cập nhật trạng thái tại một điểm. Mục đích cập nhật là thay đổi mô tả, hoặc thời gian dự kiến kết thúc. - Kết thúc trạng thái: Người biên tập sẽ kết thúc một trạng thái sớm hơn thời gian dự kiến, thông tin về trạng thái sẽ không được gửi về người dùng nữa. 2.2 Chi tiết các trạng thái sử dụng 2.2.a Xem theo bản đồ Đối tượng Người dùng Kích hoạt Người dùng chọn nút xem theo bản đồ trong phần Client Các sự kiện chính diễn ra:  Khởi tạo Map Activiy, chuyển đến vị trí người dùng.  Tạo luồng truy vấn dữ liệu từ hệ thống chờ dữ liệu trả về.  Hiển thị lên bản đồ Sự kiện phụ diễn ra: Không liên lạc được với hệ thống. Kết thúc luồng truy vấn chớ thời gian cập nhật lại. 1.Chọn chức năng xem biểu đồ 2.Load dữ liệu map 3.Dữ liệu bản đồ 4.Request Data 5.Dữ liệu trạng thái 2.2.b Xem theo điểm nút Đối tượng Người dùng Kích hoạt Người dùng chọn vị trí trên bản đồ trong phần Client Google Map Server ServerNgười dùng Màn hình điều khiển . BƯU CHÍNH VIỄN THÔNG ĐỀ TÀI:XÂY DỰNG PHẦN MỀM HỖ TRỢ PHÁT HIỆN VÀ THÔNG BÁO TẮC NGHẼN GIAO THÔNG TRÊN LỊCH TRÌNH ĐI CỦA NGƯỜI DÙNG DÙNG CHO SMARTPHONE GIẢNG. là thông qua Internet và các thiết bị di động, em đã chọn đề tài “ Xây dựng phần mềm hỗ trợ phát hiện và thông báo các đi m tắc nghẽn giao thông trên lịch

Ngày đăng: 10/11/2013, 13:49

Hình ảnh liên quan

Màn hình điều khiển - Phương pháp luận và nghiên cứu khoa học_Xây dựng phần mềm hỗ trợ phát hiện và thông báo tắc nghẽn giao thông trên lịch trình đi của người dùng dùng cho smartphone

n.

hình điều khiển Xem tại trang 10 của tài liệu.
 Khởi tạo màn hình gửi thông báo. - Phương pháp luận và nghiên cứu khoa học_Xây dựng phần mềm hỗ trợ phát hiện và thông báo tắc nghẽn giao thông trên lịch trình đi của người dùng dùng cho smartphone

h.

ởi tạo màn hình gửi thông báo Xem tại trang 11 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan