1. Trang chủ
  2. » Luận Văn - Báo Cáo

hệ thống thông tin hỗ trợ du lịch

70 163 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 4,14 MB

Nội dung

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG BỘ MÔN TIN HỌC ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC HỆ THỐNG THÔNG TIN HỖ TRỢ DU LỊCH SINH VIÊN THỰC HIỆN CÁN BỘ HƯỚNG DẪN NGUYỄN TRUNG TÍN KS PHẠM TRƯƠNG HỒNG NGÂN MSSV: 1117887 Cần Thơ, 2015 TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG BỘ MÔN TIN HỌC ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC HỆ THỐNG THÔNG TIN HỖ TRỢ DU LỊCH SINH VIÊN THỰC HIỆN CÁN BỘ HƯỚNG DẪN NGUYỄN TRUNG TÍN KS PHẠM TRƯƠNG HỒNG NGÂN MSSV: 1117887 Cán phản biện Chủ tịch hội đồng: ThS VŨ DUY LINH Ủy viên: ThS HỒ VĂN TÚ Luận văn bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng, Khoa Công nghệ Thông tin & Truyền thông, Trường Đại học Cần Thơ vào ngày 25 tháng 06 năm 2015 Mã số đề tài: Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu, Trường Đại học Cần Thơ - Website: http://www.lrc.ctu.edu.vn/ Cần Thơ, 2015 LỜI CẢM ƠN Với lòng kính trọng biết ơn sâu sắc, xin chân thành bày tỏ lời cảm ơn đến Ban Giám Hiệu Trường Đại học Cần Thơ, quý Thầy (Cô) Khoa Công nghệ Thông tin & Truyền thông đã tạo điều kiện thuận lợi, giúp đỡ quá trình học tập, nghiên cứu, sinh hoạt Đoàn các hoạt động khác trường Gởi lời cảm ơn chân thành lòng biết ơn tới toàn thể giáo viên Bộ môn Tin Học Ứng Dụng (Khoa Khoa học Tự Nhiên) - trực thuộc Khoa Công nghệ Thông tin & Truyền thông - Trường Đại học Cần Thơ đã giảng dạy kiến thức quý báo để hoàn thành đề tài Kiến thức của các thầy, cô giáo giảng dạy vô quý báu hành trang cần thiết cho nói riêng tất sinh viên nói chung sau trường Cảm ơn Thầy Phạm Trương Hồng Ngân, người đã hướng dẫn, giải đáp tận tình câu hỏi khích lệ quá trình nghiên cứu hoàn thành luận văn tốt nghiệp Cảm ơn Cô Lê Minh Lý quan tâm, giúp đỡ động viên suốt quá trình học tập trường Xin chân thành cảm ơn quý Thầy (Cô) hội đồng chấm luận văn đã cho đóng góp quý báu để hoàn chỉnh luận văn Xin chân thành cảm ơn Mẹ, Cha anh hai đã ở bên cạnh, động viên khích lệ quá trình học tập Xin gửi lời cảm ơn chân thành đến các bạn lớp Tin Học Ứng Dụng K37, Trường Đại học Cần Thơ đã đồng hành giúp đỡ suốt năm học trường Tôi xin chân thành cảm ơn! Cần Thơ, ngày 25 tháng 06 năm 2015 Sinh viên thực NGUYỄN TRUNG TÍN NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN MỤC LỤC MỤC LỤC i DANH MỤC HÌNH iii DANH MỤC BẢNG v DANH MỤC KÝ HIỆU VÀ VIẾT TẮT vi TÓM TẮT vii ABSTRACT viii CHƯƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.1.1 Bối cảnh 1.1.2 Mục tiêu 1.2 LỊCH SỬ VÀ GIẢI QUYẾT VẤN ĐỀ 1.3 PHẠM VI NGHIÊN CỨU 1.3.1 Về sở lý thuyết 1.3.2 Về chức 1.3.3 Về kỹ thuật 1.4 HƯỚNG GIẢI QUYẾT CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 KHÁI NIỆM CÁC MÔ HÌNH TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 2.1.1 Mô hình phân rã chức 2.1.2 Mô hình Use Case 2.1.3 Mô hình luồng liệu 2.1.4 Mô hình liệu quan niệm 2.1.5 Mô hình liệu mức logic 2.2 CÁC KHÁI NIỆM TRONG CƠ SỞ DỮ LIỆU ĐỒ THỊ 2.2.1 Giới thiệu về sở liệu đồ thị 2.2.2 So sánh về khả lưu trữ các liệu liên kết 2.2.3 Mô hình hóa bằng CSDL đồ thị 12 2.2.4 Xây dựng một ứng dụng sử dụng CSDL đồ thị 13 2.3 NGÔN NGỮ PHÍA CLIENT 14 2.3.1 Javascript 14 2.3.2 HTML 14 2.3.3 XML 15 i 2.3.4 CSS 15 2.4 NGÔN NGỮ PHÍA SERVER 16 2.5 KHÁI QUÁT VỀ NEO4J, ZEND FRAMEWORK, JQUERY MOBILE FRAMEWORK VÀ GOOGLE MAPS JAVASCRIPT API 16 2.5.1 Neo4j 16 2.5.2 Zend Framework 20 2.5.3 jQuery Mobile Framework 25 2.5.4 Google Maps Javascript API 26 CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 27 3.1 ĐẶC TẢ ỨNG DỤNG 27 3.1.1 Giới thiệu 27 3.1.2 Mô tả toán 28 3.2 PHÂN TÍCH - THIẾT KẾ HỆ THỐNG 28 3.2.1 Mô hình phân rã chức BFD 28 3.2.2 Mô hình Use Case 28 3.2.3 Mô hình luồng liệu DFD 30 3.2.4 Lưu trữ sở liệu quan hệ MySQL 31 3.2.5 Lưu trữ sở liệu đồ thị Neo4j 31 3.3 KẾT QUẢ NGHIÊN CỨU 33 3.3.1 Trang chính của hệ thống 33 3.3.2 Trang tra cứu thông tin địa điểm dịch vụ hỗ trợ 34 3.3.3 Trang tìm kiếm đường 35 3.3.4 Trang tạo lịch trình 37 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44 PHỤ LỤC 45 TÀI LIỆU THAM KHẢO 57 ii DANH MỤC HÌNH Hình 1.1 Hình ảnh 15 thành phố Bài toán người bán hàng Hình 1.2 Hệ quản trị CSDL sử dụng ứng dụng Hình 1.3 Các nền tảng sử dụng ứng dụng Hình 1.4 Các ngôn ngữ sử dụng ứng dụng Hình 2.1 Một đồ thị nhỏ mô tả mạng xã hội Twitter Hình 2.2 Mô hình hóa các mối quan hệ bạn bè CSDL quan hệ Hình 2.3 Các mối quan hệ cụ thể việc lưu trữ một tập hợp NOSQL Hình 2.3 Mô hình đơn giản về mối quan hệ bạn bè một người với người khác CSDL đồ thị 10 Hình 2.4 Một mẫu đồ thị đơn giản CSDL đồ thị 12 Hình 2.5 Mô hình liệu về sở thích đọc sách của một người 13 Hình 2.6 Cửa sổ khởi động server Neo4j 17 Hình 2.7 Giao diện browser của Neo4j 17 Hình 2.8 Giao diện admin của Neo4j 18 Hình 2.9 Ví dụ tìm đường ngắn hai nút 19 Hình 2.10 Tạo project Zend Framework Zend Studio 12 21 Hình 2.10 Cấu trúc thư mục tập tin Zend Framework 22 Hình 3.1 Ứng dụng Google Maps điện thoại thông minh 27 Hình 3.2 Sơ đồ phân rã chức BFD 28 Hình 3.3 Mô hình Use Case 28 Hình 3.4 Mô hình luồng liệu mức 30 Hình 3.5 Mô hình luồng liệu mức 30 Hình 3.6 Lưu trữ sở liệu MySQL 31 Hình 3.7 Lưu trữ sở liệu Neo4j 31 Hình 3.8 Thuộc tính của các nút CSDL Neo4j 32 Hình 3.9 Thuộc tính của các quan hệ CSDL Neo4j 32 Hình 3.10 Giao diện chính của ứng dụng 33 Hình 3.11 Tra cứu thông tin địa điểm dịch vụ hỗ trợ 34 Hình 3.12 Trang tìm kiếm đường 35 Hình 3.13 Trang tìm kiếm đường (hiển thị kết quả) 36 Hình 3.14 Trang tạo lịch trình (thêm địa điểm) 37 Hình 3.15 Trang tạo lịch trình (hiển thị danh sách các địa điểm đã chọn) 38 iii Hình 3.16 Trang tạo lịch trình (chỉnh sửa các địa điểm đã chọn) 39 Hình 3.17 Trang tạo lịch trình (chọn phương tiện thời gian đi) 40 Hình 3.18 Trang tạo lịch trình (xác nhận lịch trình đã gợi ý) 41 Hình 3.19 Trang tạo lịch trình (xem lịch trình đồ lịch trình chi tiết) 42 Hình 3.20 Trang tạo lịch trình (hiển thị các thông báo lỗi) 43 iv DANH MỤC BẢNG Bảng 2.1 Thời gian thực truy vấn tìm "bạn của bạn" một hệ quản trị CSDL quan hệ (RDBMS) một hệ quản trị CSDL đồ thị (Neo4j) 11 Bảng 2.2 Thành phần thư mục tập tin Zend Framework 23 Bảng 3.1 Mô tả Use Case chi tiết 29 Bảng 3.2 Bảng mô tả các thuộc tính của các nút 32 Bảng 3.3 Bảng mô tả các thuộc tính của các mối quan hệ 32 v Hệ thống hiển thị các thông báo khác nếu có lỗi xảy ra: Hình 3.20 Trang tạo lịch trình (hiển thị các thông báo lỗi) Hệ thống hiển thị các thông báo lỗi các trường hợp sau đây:  Người dùng chưa chọn phương tiện thời gian  Thời gian cho chuyến không đủ so với thời gian đã chọn, người dùng tăng thêm số ngày xóa bớt địa điểm Trang 43 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT LUẬN Đề tài đã đáp ứng nhu cầu thực tế của người dùng, người hoàn toàn tự tạo một lịch trình cho chuyến của Ứng dụng có giao diện thân thiện, tính tương tác với người dùng cao tận dụng tốt chức mà Google Maps API mang lại Cơ sở liệu đồ thị Neo4j mang lại một “cảm giác mới” cho ứng dụng so với chỉ dùng CSDL quan hệ, sức mạnh của Neo4j qua các truy vấn, khả biểu diễn lưu trữ liệu thật tuyệt vời Trong tương lai, Neo4j trở nên phổ biến chắc chắn người đón nhận Các chức chính đã thể ứng dụng:      Tìm kiếm địa điểm Google Maps Tìm đường hai địa điểm Google Maps Tra cứu thông tin các địa điểm dịch vụ hỗ trợ Tạo sắp xếp lịch trình tối ưu theo chi phí thời gian Xem lịch trình chi tiết thể lộ trình đồ Tuy ứng dụng đã đáp ứng nhu cầu thực tế của người dùng chưa vận hành thực tế nên tránh khỏi thiếu sót HƯỚNG PHÁT TRIỂN Phát triển thành một mạng du lịch: bổ sung các chức bình luận đăng ảnh Phân quyền cho hệ thống: người dùng người quản trị đăng nhập theo tài khoản Hệ thống chỉ giới hạn chức cho người sử dụng, hướng phát triển của đề tài mở rộng dành cho người quản trị: thêm mới một địa điểm, cập nhật thông tin cho địa điểm (thêm hình ảnh về địa điểm đó) xóa địa điểm Bên cạnh cải thiện giao diện tạo sắp xếp lịch trình, cho phép người dùng vừa xem thông tin về một địa điểm, vừa thêm địa điểm vào lịch trình Tạo lịch sử các lịch trình mà người dùng đã đi, gợi ý các lịch trình cho các người sử dụng khác Trang 44 PHỤ LỤC PHỤ LỤC 1: NHẬP DỮ LIỆU TỪ EXCEL VÀO NEO4J Để tiết kiệm thời gian dễ dàng kiểm soát code, chúng ta nhập liệu từ file *.csv từ Excel vào Neo4j bằng cách sau:  Cột A, B, C, D, E chứa liệu các nút của đồ thị, ví dụ lấy “id”, “name”, “minTime”, “maxTime” “type” làm các thuộc tính A B id name Bến Ninh Kiều Chùa Phật học Trung tâm thương mại Cái Khế Thiền Viện Trúc Lâm Phương Nam Chợ nổi Cái Răng Nhà cổ Bình Thủy C D E minTime maxTime type 50 20 30 40 30 20 150 30 120 110 60 120 place place place place place place Ở cột F, chúng ta đặt công thức để kết một câu truy vấn Cypher: ="merge(_"&A2&":marker{id:'"&A2&"',name:'"&B2&"',minTime:'"&C2&"', maxTime:'"&D2&"',type:'"&E2&"'})" F cypher merge(_1:marker{id: '1 ',name: 'Thiền Viện Trúc Lâm Phương Nam',minTime: '40 ', maxTime: '110',type: 'place'})  Ở cột J, K, L, M, N, O, P dùng để chứa giá trị các thuộc tính của các mối quan hệ các nút, ví dụ lấy GO_TO làm mối quan hệ có các thuộc tính “dist”, “time_taxi”, “cost_bike” G H I J from type to dist GO_TO GO_TO GO_TO GO_TO GO_TO GO_TO 1.6 0.29 5.5 1.8 0.5 5.5 “time_bike”, “time_bicycle”, “cost_taxi”, K L M N O P time_ taxi 17 2 2 time_ bike 17 17 time_ bicycle 12 41 14 41 time_ walk 19 65 21 65 cost_ taxi 48000 12000 60000 72000 84000 36000 cost_ bike 1600 400 2000 2400 2800 1200 Tương tự, ở cột S chúng ta đặt công thức: ="WITH as dummy MATCH (m1:marker{id:'"&G2&"'}),(m2:marker{id:'"&I2&"'}) MERGE(m1)-[:"&H2&"{distance:"&J2&",time_taxi:"&K2&",cost_taxi:"&O2&", time_bike:"&L2&",cost_bike:"&P2&",time_bicycle:"&M2&",time_walk:"&N2&"}] ->(m2)" Trang 45 S relationship WITH as dummy MATCH (m1:marker{id:'1'}),(m2:marker{id: '4'}) MERGE (m1)-[:GO_TO {distance:1.6,time_taxi:17,cost_taxi:48000,time_bike:1.5,cost_bike:48000,time_bicycle:12, cost_bicycle:0,time_walk:19,cost_walk:0}]->(m2)  Sau đó, chỉ cần chép các câu cypher chạy Neo4j:  Và kết cuối một đồ thị gồm 25 nút 54 mối quan hệ: Trang 46 PHỤ LỤC 2: TẠO FILE XML LƯU THÔNG TIN CÁC ĐỊA ĐIỂM //Tạo file XML fetch_object()) { $node = $dom->createElement("marker"); $newnode = $parnode->appendChild($node); $newnode->setAttribute("name",$obj->name); $newnode->setAttribute("address",$obj->address); $newnode->setAttribute("phone", $obj->phone); $newnode->setAttribute("lat", $obj->lat); $newnode->setAttribute("lng", $obj->lng); $newnode->setAttribute("type", $obj->type); $newnode->setAttribute("des", $obj->des); } //Lưu file XML echo $dom->saveXML(); ?> //Hàm load file XML vừa tạo function xmlParse(str) { if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadXML(str); return doc; } if (typeof DOMParser != 'undefined') { return (new DOMParser()).parseFromString(str, 'text/xml'); } return createElement('div', null); } function downloadUrl(url,callback) { var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function() { if (request.readyState == 4) { request.onreadystatechange = doNothing; callback(request, request.status); } }; request.open('GET', url, true); request.send(null); } Trang 47 PHỤ LỤC 3: LẤY VỊ TRÍ HIỆN TẠI TRÊN GOOGLE MAPS, AUTOCOMPLETE VÀ TÌM ĐƯỜNG //Hàm hiển thị và tùy chỉnh style cho Google Maps function drawMap(latlng) { var map; var MY_MAPTYPE_ID = 'map_style'; var featureOpts = [{ stylers: [{hue: '#cdad17'}, {visibility:'simplified'}, {gamma:0.5},{weight:0.5}]}, {featureType: "poi", elementType: "labels",stylers: [{visibility:'off'}]}, {featureType: "road.local", elementType: "labels",stylers: [{visibility:'off'}]}, {featureType: "administrative", elementType: "labels",stylers: [{ visibility: "off"}]}, {featureType:'water',stylers:[{color:'#17b1cd'}]}]; var mapOptions = { zoom: 17, center: latlng, disableDefaultUI: true, mapTypeControlOptions: { mapTypeIds: [google.maps.MapTypeId.ROADMAP, MY_MAPTYPE_ID]}, mapTypeId: MY_MAPTYPE_ID }; map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); var styledMapOptions = {name: 'Map Style'}; var customMapType = new google.maps.StyledMapType(featureOpts,styledMapOptions); map.mapTypes.set(MY_MAPTYPE_ID, customMapType); } //Lấy vị trí tại và hiển thị lên đồ var defaultLatLng = new google.maps.LatLng(10.032066, 105.770887); if (navigator.geolocation) { function success(pos) { drawMap(defaultLatLng); } function fail(error) { drawMap(defaultLatLng); } navigator.geolocation.getCurrentPosition(success, fail, {maximumAge: 300000, enableHighAccuracy:true, timeout: 3000}); } else { drawMap(defaultLatLng); } Trang 48 //Hàm tìm kiếm đường function calcRoute() { var start = document.getElementById('start-point').value; var end = document.getElementById('end-point').value; var request = { origin:start,destination:end,travelMode:google.maps.TravelMode.DRIVING }; directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(response); } }); } //Bắt kiện người dùng tìm kiếm đường google.maps.event.addListener(start_autocomplete, 'place_changed', function () { calcRoute(); }); google.maps.event.addListener(end_autocomplete, 'place_changed', function () { calcRoute(); }); google.maps.event.addListener(autocomplete, 'place_changed', function() { infowindow.close(); marker_auto.setVisible(false); var place = autocomplete.getPlace(); if (!place.geometry) { window.alert("Autocomplete's returned place contains no geometry"); return; } } // Hiển thị kết địa điểm tìm thấy lên đồ if (place.geometry.viewport) { map.fitBounds(place.geometry.viewport); } else { map.setCenter(place.geometry.location); map.setZoom(15); } marker_auto.setPosition(place.geometry.location); marker_auto.setVisible(true); var address = ''; if (place.address_components) { address = [ (place.address_components[0] && place.address_components[0].short_name || ''), (place.address_components[1] && place.address_components[1].short_name || ''), (place.address_components[2] && place.address_components[2].short_name || '') ].join(' '); } Trang 49 PHỤ LỤC 4: LOAD ĐỊA ĐIỂM TỪ CSDL MYSQL LÊN BẢN ĐỒ //Hàm load các địa điểm lên đồ function createMarker() { //Lấy dữ liệu từ file XML đã tạo trang load_marker.php downloadUrl("/load_marker.php", function(data) { var xml = data.responseXML; var markers = xml.documentElement.getElementsByTagName("marker"); var infowindow = new google.maps.InfoWindow(); //Load các địa điểm theo từng nhóm for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var phone = markers[i].getAttribute("phone"); var type = markers[i].getAttribute("type"); var des = markers[i].getAttribute("des"); var point = new google.maps.LatLng( parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var icon = customIcons[type] || {}; var marker = new Marker({ title:name, map:map, position: point, icon: icon.icon, type: type }); if (!markerGroups[type]) markerGroups[type] = []; //Hiển thị từng nhóm các địa điểm lên đồ markerGroups[type].push(marker); google.maps.event.addListener(marker, 'click', (function(marker) { var html = "; return function() { infowindow.setContent(html); infowindow.open(map, marker); google.maps.event.addListener(map, "click", function(event) { infowindow.close(); }); document.getElementById('mi-trip').onclick = function(){ infowindow.close(); var place = document.createElement('div'); place.innerHTML = marker.title; document.getElementById('trip').appendChild(place); } } })(marker)); } }); } Trang 50 PHỤ LỤC 5: KẾT NỐI CSDL NEO4J VỚI PHP VÀ XỬ LÝ TẠO LỊCH TRÌNH //Kết nối CSDL Neo4j sử dụng gói neo4jphp.phar //Sử dụng ajax để gửi nội dung đến trang xử lý execute.php var place_count=$('.name-tag-ok').length; //Đếm số lượng địa điểm var list=$('#trip-place-ok').text().split("\n").join(","); list=list.substring(0, list.length - 1); $.ajax({ type: "POST", url: '/execute.php', data: {place_count:place_count,list_place:list}, beforeSend: function(){ }, success: function(res){ } //Xử lý chuỗi tạo câu truy vấn sau đó gửi đến Neo4j để xử lý [...]... văn hóa, du lịch thế giới Du lịch Việt Nam đã và đang có những đột phá thú vị thông qua sự đa dạng của các loại hình du lịch khác nhau Các loại hình du lịch Việt Nam trong những năm gần đây có những bước khởi sắc phát triển cùng với sự phát triển như vũ bão của công nghệ thông tin trên một phương diện rộng thúc đẩy các tổ chức và cá nhân làm việc trong lĩnh vực du lịch... thử hệ thống, đảm bảo hệ thống thỏa mãn đúng những yêu cầu do người dùng đưa ra  Đơn giản hóa việc thay đổi và mở rộng hệ thống qua việc thay đổi và mở rộng mô hình Use Case 2.1.3 Mô hình luồng dữ liệu Mô hình luồng dữ liệu (Data Flow Diagram - DFD) mô tả sự trao đổi, luân chuyển thông tin, dữ liệu giữa các đối tượng Trang 4 Mô hình này cung cấp cái nhìn tổng thể về mối quan hệ giữa...  Cấu trúc thư mục và tập tin trong Zend Framework 2 như sau: Hình 2.10 Cấu trúc thư mục và tập tin trong Zend Framework 2 Trang 22 Bảng 2.2 Thành phần thư mục và tập tin trong Zend Framework 2 Tên thư mục / tập tin Chức năng Thư mục chứa các thành phần của mô hình MVC Thư mục chứa các tập tin cấu hình của hệ thống: *.ini, *.xml Tập tin cấu hình các module sử dụng trong ứng dụng... minh) có kết nối internet thật sự hữu ích 1.1.2 Mục tiêu Xây dựng hệ thống website hỗ trợ du lịch cá nhân dành cho tất cả mọi đối tượng trên điện thoại thông minh với các chức năng:  Tìm kiếm, xem thông tin và chỉ đường đi đến các địa điểm tham quan  Gợi ý các địa điểm ăn uống, khách sạn, trụ ATM, dịch vụ hỗ trợ chuyến đi  Gợi ý lịch trình với danh sách các địa điểm muốn... index.phtml /login login.phtml register.phtml autoload_classmap.php Module.php /public /css /img /js htaccess index.php /vendor init_autoloader.php Thư mục chứa các tập tin hiển thị và thông báo khi có lỗi phát sinh Tập tin thông báo lỗi Tập tin hiển thị lỗi Thư mục chứa các bố cục giao diện ứng dụng Tập tin hiển thị phần giao diện Module tự tạo Thư mục chứa các controller và user Thư mục chứa... đang xét  Sử dụng các mối quan hệ để cùng thể hiện sự kết nối giữa các thực thể và thiết lập bối cảnh ngữ nghĩa cho mỗi thực thể  Sử dụng mối quan hệ trực tiếp để làm rõ hơn mối quan hệ về ngữ nghĩa Rất nhiều mối quan hệ là một chiều, đó là lý do vì sao các mối quan hệ trong đồ thị đều có thuộc tính là các quan hệ có hướng Đối với những quan hệ hai chiều, khi thực hiện truy... quá trình khảo sát hệ thống phản ánh quá trình làm việc của người phát triển với người sử dụng Mô hình này mô tả sự tương tác đặc trưng giữa người dùng bên ngoài (actor) và hệ thống Từ quan điểm người dùng phát hiện ra các tình huống sử dụng (use case) khác nhau, tập hợp use case và tác nhân cùng với quan hệ giữa chúng tạo ra mô hình Use Case mô tả yêu cầu của hệ thống Mục đích của... gói du lịch mới theo nhiều tên gọi khác nhau Tuy vậy, nhưng số lượng khách tham gia vẫn chỉ rất giới hạn như: du lịch theo mùa; du lịch quá cảnh; du lịch trăng mật với những cặp vợ chồng mới cưới; du lịch công vụ (có khả năng chi trả cao nhưng thiếu thời gian nghỉ ngơi hoàn toàn) Một bộ phận du khách trẻ ưa trải nghiệm và thích tự mình khám phá lại chọn “phượt” - loại hình du. .. quan về thông tin giữa các chức năng Mục đích của mô hình phân rã chức năng:  Xác định phạm vi của hệ thống cần phân tích  Cho phép mô tả khái quát dần các chức năng của tổ chức một cách trực tiếp, khách quan, phát hiện được chức năng thiếu hoặc trùng lặp  Tạo điều kiện thuận lợi khi hợp tác giữa nhà thiết kế và người sử dụng trong qua trình phát triển hệ thống 2.1.2... Access Protocol) thì phụ thuộc máy chủ trong việc duy trì thông tin trạng thái Với cả hai loại, dịch vụ web đều được gọi qua API [11]  REST định nghĩa các quy tắc kiến trúc để bạn thiết kế Web services chú trọng vào tài nguyên hệ thống, bao gồm các trạng thái tài nguyên được định dạng như thế nào và được chuyển tải qua HTTP thông qua số lượng lớn người dùng và được viết bởi ... liệu quan hệ chỉ dùng để lưu trữ thông tin các địa điểm hỗ trợ cho sở liệu đồ thị nên các bảng mô hình khá đơn giản 3.2.1 Mô hình phân rã chức BFD Hệ thống thông tin hỗ trợ du lịch... ích 1.1.2 Mục tiêu Xây dựng hệ thống website hỗ trợ du lịch cá nhân dành cho tất đối tượng điện thoại thông minh với các chức năng:  Tìm kiếm, xem thông tin chỉ đường đến các địa... các tập tin cấu hình của hệ thống: *.ini, *.xml Tập tin cấu hình các module sử dụng ứng dụng Thư mục chứa các mã ứng dụng Module mặc định /kaze /configs Application.config.php /module /Application

Ngày đăng: 22/12/2015, 13:10

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w