204
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN TRẦN VĂN TÀI – 07HC446 NGUYỄN XUÂN TÂN – 07HC451 NGHIÊN CỨU LOCATION SERVICE VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT GIÁO VIÊN HƯỚNG DẪN Th.S NGÔ HUY BIÊN

07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Embed Size (px)

Citation preview

Page 1: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

TRẦN VĂN TÀI – 07HC446

NGUYỄN XUÂN TÂN – 07HC451

NGHIÊN CỨU LOCATION SERVICE VÀ XÂY

DỰNG ỨNG DỤNG MINH HỌA

KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT

GIÁO VIÊN HƯỚNG DẪN

Th.S NGÔ HUY BIÊN

KHÓA 2007 – 2010

Page 2: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

Page 3: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

Page 4: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

Page 5: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

Page 6: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Lời cảm ơn

Chúng em chân thành cám ơn Khoa Công Nghệ Thông Tin, trường Đại Học Khoa

Học Tự Nhiên, Đại học Quốc gia Tp. Hồ Chí Minh đã tạo điều kiện thuận lợi cho

chúng em trong quá trình học tập và thực hiện đề tài tốt nghiệp.

Chúng em xin nói lên lòng biết ơn sâu sắc đối với Th.S Ngô Huy Biên. Chúng em

xin chân thành cám ơn Thầy đã luôn quan tâm, tận tình hướng dẫn chúng em trong quá

trình học tập, nghiên cứu và thực hiện đề tài.

Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa Công Nghệ Thông Tin

đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong suốt quá trình

học tập và thực hiện đề tài. Chúng em cũng xin gửi lòng biết ơn đến thầy cô và bạn bè

trong lớp đã giúp đỡ, động viên tinh thần chúng em rất nhiều trong suốt quá trình thực

hiện luận văn này.

Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng

chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận được sự góp ý và tận

tình chỉ bảo của quý Thầy Cô và các bạn.

Một lần nữa, xin chân thành cám ơn và mong luôn nhận được những tình cảm chân

thành của tất cả mọi người.

Tp. Hồ Chí Minh, tháng 2 năm 2010

Trần Văn Tài - Nguyễn Xuân Tân

Page 7: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Mục lục

Chương 1 GIỚI THIỆU DỊCH VỤ HƯỚNG VỊ TRÍ...................................14

1.1 Giới thiệu về dịch vụ hướng vị trí.................................................................14

1.1.1 Định nghĩa..............................................................................................14

1.1.2 Thành phần cơ bản của LBS...................................................................15

1.1.3 LBS hoạt động như thế nào?..................................................................17

1.1.4 Ứng dụng của dịch vụ hướng vị trí trong các lĩnh vực khác nhau.........18

1.1.5 Ưu điểm và nhược điểm của dịch vụ hướng vị trí..................................21

1.2 Lịch sử của LBS.............................................................................................22

Chương 2 CÁC CÔNG NGHỆ ĐỊNH VỊ...................................................22

2.1 Tìm hiểu các công nghệ định vị hiện có........................................................22

2.1.1 GPS (Global Positioning System)..........................................................22

2.1.2 Hệ thống định vị Galileo........................................................................23

2.1.3 Hệ thống GLONASS..............................................................................24

2.1.4 Hệ thống Compass..................................................................................24

2.1.5 Trạm thu phát sóng: BTS - Base Transceiver Station............................25

2.2 Tìm hiểu các thiết bị hổ trợ người dùng........................................................26

2.2.1 PDA và điện thoại di động.....................................................................26

2.2.2 Dashtop...................................................................................................27

2.2.3 Các thiết bị định vị khác.........................................................................28

2.3 Tìm hiểu các cách thức định vị......................................................................29

2.3.1 Tìm hiểu về Cell ID................................................................................30

Page 8: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

2.3.2 Tìm hiểu về GPS....................................................................................31

2.4 Thuận lợi và khó khăn khi sử dụng công nghệ định vị..................................35

2.4.1 Định vị bằng vệ tinh...............................................................................35

2.4.2 Định vị bằng Cell ID..............................................................................36

Chương 3 CÁC NỀN TẢNG HỖ TRỢ LẬP TRÌNH LBS.......................36

3.1 Google Maps API..........................................................................................36

3.1.1 Giới thiệu về Google Maps API.............................................................36

3.1.2 Ưu điểm và khuyết điểm của Google Maps API....................................38

3.1.3 Giải pháp và ứng dụng của Google Maps API.......................................38

3.1.4 Cách thức sử dụng Google Maps API....................................................39

3.2 Navizon API..................................................................................................41

3.2.1 Giới thiệu về Navizon API.....................................................................41

3.2.2 Ưu điểm và khuyết điểm của Navizon API............................................42

3.2.3 Giải pháp và ứng dụng của Navizon API...............................................43

3.2.4 Cách thức sử dụng Navizon API............................................................45

3.3 Yahoo API.....................................................................................................45

3.3.1 Giới thiệu về Yahoo API........................................................................45

3.3.2 Ưu điểm và khuyết điểm của Yahoo API...............................................53

3.3.3 Cách thức sử dụng Yahoo API...............................................................54

3.4 Bing Maps API..............................................................................................54

3.4.1 Giới thiệu vế Bing Maps API.................................................................54

3.4.2 Ưu điểm và khuyết điểm của Bing Maps API........................................55

3.4.3 Giải Pháp và ứng dụng của Bing Maps API...........................................56

3.4.4 Cách thức sử dụng Bing Maps API........................................................56

3.5 Vietbando API...............................................................................................58

Page 9: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

3.5.1 Giới thiệu về Vietbando API..................................................................58

3.5.2 Ưu điểm và khuyết điểm của Vietbando API.........................................59

3.5.3 Giải Pháp và ứng dụng của Vietbando API............................................60

3.5.4 Cách thức sử dụng Vietbando API.........................................................60

3.6 Các nền tảng khác.........................................................................................61

3.7 So sánh các nền tảng hổ trợ lập trình..........................................................62

Chương 4 XÂY DỰNG HỆ THỐNG DỮ LIỆU CHO LBS......................67

4.1 Tìm hiểu khái niệm và các công nghệ xử lý dữ liệu cho GIS........................67

4.1.1 Khái niệm GIS.......................................................................................67

4.1.2 Các thành phần của GIS.........................................................................68

4.1.3 Dữ liệu của GIS......................................................................................69

4.1.4 Lưu trữ dữ liệu GIS................................................................................74

Chương 5 XÁC ĐỊNH YÊU CẦU...............................................................78

5.1 Đặc tả bài toán..............................................................................................78

5.2 Sơ đồ Use-Case.............................................................................................80

5.2.1 Danh sách Actor.....................................................................................81

5.2.2 Danh sách Use-Case...............................................................................81

5.2.3 Đặt tả Use-Case......................................................................................82

5.2.4 Mô tả dữ liệu cho hệ thống LBS............................................................96

Chương 6 KIẾN TRÚC PHẦN MỀM CHO LBS....................................104

6.1 Kiến trúc hướng dịch vụ (SOA) là gì?.........................................................106

6.1.1 Giới thiệu..............................................................................................107

6.1.2 Áp dụng kiến trúc hướng dịch vụ vào ứng dụng LBS..........................112

6.1.3 Tài liệu tham khảo................................................................................114

Page 10: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

6.2 Tìm hiểu về Webservices.............................................................................114

6.2.1 Định nghĩa Webservices.......................................................................114

6.2.2 Ưu và nhược điểm của Web Services..................................................115

Chương 7 CÔNG NGHỆ XÂY DỰNG HỆ THỐNG LBS......................116

7.1 Tổng quan về .Net Framework....................................................................116

7.1.1 Giới thiệu về .Net Framework..............................................................116

7.1.2 Ngôn ngữ lập trình C#..........................................................................120

7.2 Hệ quản trị cơ sở dữ liệu SQL Server 2005 và ứng dụng LBS...................128

7.2.1 Giới thiệu về SQL Server 2005............................................................128

7.2.2 GIS và SQL Server 2005......................................................................128

Chương 8 PHÂN TÍCH..............................................................................129

Chương 9 THIẾT KẾ.................................................................................129

9.1 Sơ đồ lớp.....................................................................................................129

9.1.1 Sơ đồ lớp phía server............................................................................129

9.1.2 Sơ đồ lớp ở phía client..........................................................................131

9.2 Sơ đồ tuần tự...............................................................................................132

9.2.1 Chức năng lấy hình ảnh bản đồ từ Google Map API...........................132

9.2.2 Chức năng Tìm kiếm địa điểm.............................................................133

9.2.3 Chức tìm kiếm con đường....................................................................135

9.2.4 Chức năng tìm kiếm đường đi ngắn nhất.............................................136

Chương 10 CÀI ĐẶT....................................................................................136

10.1 Cài đặt phần server.....................................................................................136

Chương 11 KIỂM CHỨNG.........................................................................136

Page 11: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

11.1 Kiểm chứng phần server.............................................................................136

1. Test case 1: Kiểm chứng chức năng lấy hình ảnh của bản đồ từ hệ thống

Google Map.......................................................................................................137

2. Test case 2: Kiểm tra tính chịu lỗi của chức năng lấy hình ảnh trong bản

đồ của Google Map...........................................................................................138

3. Test case 3: Kiểm tra chức năng lấy các địa điểm theo tên địa điểm...139

4. Test case 4: Kiểm tra tính chịu lỗi của phương thức tìm kiếm địa điểm

dựa trên tên địa điểm.........................................................................................140

5. Test case 5: Kiểm tra tính năng tìm kiếm theo tên đường....................142

6. Test case 6: Kiểm tra tính chịu lỗi của chức năng tìm kiếm đường.....143

7. Test case 7: Kiểm chứng chức năng tìm đường ngắn nhất...................144

11.2 Kiểm chứng phần Client..............................................................................145

1. Test case 1: Kết nối với webserivce ở tầng server để lấy dữ liệu hình ảnh

và hiển thị hình ảnh bản đồ...............................................................................145

2. Testcase 2: Thực hiện di chuyển bản đồ............................................145

3. Test case 3: Phóng to/ thu nhỏ bản đồ..................................................146

4. Test case 4: Phóng to/ thu nhỏ..............................................................146

5. Test case 5: Kiểm chứng chức năng tìm con đường............................147

6. Test case 6: Kiểm chứng khả năng chịu lỗi của chức năng tìm con

đường 147

7. Test case 7: Kiểm chứng chức năng tìm đường đi ngắn nhất giữa 2 điểm

148

11.3 Báo cáo kết quả kiểm chứng.......................................................................149

1. Phần server :.........................................................................................149

2. Phần client:...........................................................................................149

Chương 12 TRIỂN KHAI............................................................................149

Page 12: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Chương 13 BẢO TRÌ....................................................................................149

Chương 14 HƯỚNG PHÁT TRIỂN..............................................................150

Danh sách hình

Hình 1-1 Ba công nghệ định vị trong LBS.............................................................15

Hình 1-2 Các thành phần của LBS........................................................................16

Hình 1-3 Kiến trúc chung của dịch vụ hướng vị trí...............................................17

Hình 1-4 Real time Traffic.....................................................................................19

Hình 1-5 Hình ảnh minh họa ứng dụng tìm kiếm địa điểm gần nhất trên di động20

Hình 1-6 Hình ảnh minh họa về quảng cáo SMS..................................................21

Hình 2-1 Trạm thu phát.........................................................................................26

Hình 2-2 Nokia N95 và PDA có GPS...................................................................27

Hình 2-3 Xe hơi có thiết bị dashtop.......................................................................28

Hình 2-4 Thiết bị GPS...........................................................................................29

Hình 2-5 Các loại định vị di động.........................................................................30

Hình 2-6 Định vị theo phương pháp Cell identification........................................30

Hình 2-7 Hệ thống vệ tinh GPS.............................................................................33

Hình 2-8 Kiến trúc WAAS......................................................................................34

Hình 2-9 Mô hình A-GPS......................................................................................35

Hình 3-1 Giao diện của google map trên Web......................................................37

Hình 3-2 Các thành phần của Google Maps.........................................................39

Page 13: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-3 Mô hình hoạt động của hệ thống Navizon..............................................41

Hình 3-4 Navizon API trên web.............................................................................43

Hình 3-5 Navizon API trên các thiết bị di động....................................................44

Hình 3-6 Hình ảnh vệ tinh kết hợp hình ảnh vẽ.....................................................46

Hình 3-7 Hình ảnh vẽ............................................................................................46

Hình 3-8 Hỉnh ảnh vệ tinh.....................................................................................46

Hình 3-9 Dịch vụ lưu trữ địa điểm trên Yahoo Map.............................................47

Hình 3-10 Real-time traffic trên Yahoo Map...........................................................48

Hình 3-11 Point Interest Finder..............................................................................49

Hình 3-12 Tìm đường dưới dạng thể hiện hình ảnh................................................50

Hình 3-13 Tìm đường thể hiện dưới dạng text........................................................50

Hình 3-14 Màn hình chính của Bing Map...............................................................55

Hình 3-15 Hệ thống Bing Maps API.......................................................................57

Hình 3-16 Hình ảnh bản đồ trên VietBanDo...........................................................59

Hình 3-17 Hình ảnh hiển thị của Google Map........................................................63

Hình 3-18 Hình ảnh hiển thị của Yahoo Map.........................................................64

Hình 3-19 Hình ảnh hiển thị của VietBanDo..........................................................65

Hình 3-20 Hình ảnh hiễn thị của Bing Map............................................................65

Hình 4-1 Các thành phần của GIS........................................................................68

Hình 4-2 Dữ liệu điểm...........................................................................................70

Hình 4-3 Dữ liệu đường.........................................................................................71

Hình 4-4 Dữ liệu vùng...........................................................................................71

Hình 4-5 Dữ liệu raster.........................................................................................72

Hình 5-1 Mô tả tổng quan luồng dữ liệu của các dịch vụ LBS...........................104

Hình 5-2 Sơ đồ cộng tác trong mô hình SOA......................................................107

Hình 5-3 Mô hình service registry.......................................................................111

Page 14: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 5-4 Mô hình service broker........................................................................111

Hình 5-5 Mô hình service buss............................................................................112

Hình 5-6 Mô hình Web Services..........................................................................115

Danh sách các thuật ngữ và khái niệm

Mở đầu

Page 15: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

PHẦN A - LÝ THUYẾT VỀ LOCATION BASED SERVICE

Page 16: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Chương 1 GIỚI THIỆU DỊCH VỤ HƯỚNG VỊ TRÍ

Nội dung của chương 1 tập trung trình bày về các khái niệm, các thành phần

cần thiết để có hệ thống dịch vụ hướng vị trí, đồng thời phân tích các ưu điểm, nhược

điểm của dịch vụ hướng vị trí. Qua đây chúng ta sẽ có một cái nhìn tổng quan dịch vụ

hướng vị trí là gì? Dịch vụ hướng vị trí hoạt động như thế nào ? Dịch vụ hướng vị trí

có giá trị như thế nào trong cuộc sống?

1.1 Giới thiệu về dịch vụ hướng vị trí

1.1.1 Định nghĩa

Dịch vụ hướng vị trí (Location based Services viết tắt là LBSs) là ứng dụng cung cấp

thông tin có ích liên quan đến vị trí hiện tại của thiết bị di động cho người sử dụng dịch

vụ cần như là “Nhà hàng nào gần nhất? Trạm ATM gần nhất ở đâu? Từ vị trí này đi

đến vị trí khác thì phải đi đường nào ?...” với sự giúp đỡ của các yếu tố cơ bản như là:

thiết bị di động, mạng viễn thông di động, nhà cung cấp dịch vụ (Dịch vụ định vị toàn

cầu GPS, thông tin dữ liệu vị trí)

Lấy một ví dụ cụ thể dễ hình dung như sau: Nếu bạn đang đi trên đường gặp một vụ tai

nạn, cần đưa đến bệnh viện khẩn cấp. Ngay lúc đó bạn sử dụng điện thoại di động của

bạn, nhắn tin tới tổng đài yêu cầu cho biết bệnh viện gần nhất. Trong chốc lát, Tổng

Page 17: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

đài trả lời danh sách các bệnh viện gần vị trí hiện tại của bạn cùng với các chỉ dẫn

như là: hướng dẫn đường đi tới đó, thông tin về bệnh viện đó… Như vậy là bạn đã sử

dụng dịch vụ hướng vị trí.

Yếu tố chính của LBSs là vị trí của người dùng. Internet là yếu tố quan trọng trong

việc liên lạc giữa người sử dụng dịch vụ và nhà cung cấp dịch vụ.

LBS là sự kết hợp bởi ba công nghệ và hai loại thành phần: Thành phần thông tin và

thành phần công nghệ truyền thông.

Hình 1-1 Ba công nghệ định vị trong LBS

Ngày nay LBS được sử dụng cho các lĩnh vực: hướng dẫn đường trên biển, dịch vụ

cấp cứu, chỉ dẫn đường, theo dõi và một số dịch vụ hỗ trợ về thông tin của vị trí.

Cùng với sự phát triển của công nghệ viễn thông, ứng dụng LBS ngày càng phát triển

rộng hơn, ứng dụng lan xa hơn, áp dụng cho nhiều đối tượng hơn. Ứng dụng LBS cung

cấp không chỉ cho cá nhân mà còn cho các doanh nghiệp đặc biệt là các doanh nghiệp

về vận tải trong việc theo dõi và quản lý nhận sự, vật tư…Một số công ty, tổ chức hoạt

động kinh doanh dịch vụ LBS: OnStar, Navigazone…

Page 18: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

1.1.2 Thành phần cơ bản của LBS

Hình 1-2 Các thành phần của LBS

LBS được chia ra gồm 5 thành phần (4+1) là những thành phần cơ bản của LBS.

Hình 1.1-2 thể hiện những thành phần liên quan:

Mobile Devices: Là công cụ của người dùng để truy vấn thông tin cần

thiết từ LBS. Kết quả có thể được trả về thông qua: giọng nói, hình ảnh, văn bản.Có thể

là các thiết bị như PDA, điện thoại di động, máy tính…. Đây là thiết bị thuộc về phía

của người sử dụng (client).

Giao tiếp mạng: Là thành phần thứ hai của hệ thống mạng di động mà

chuyển dữ liệu người dùng và các yêu cầu dịch vụ từ các trạm di động để cung cấp

dịch vụ và sau đó trả các yêu cầu thông tin về cho người dùng.

Thành phần định vị: đối với dịch vụ xác định vị trí người dùng. Các vị

trí người dùng có thể được có thể nhận được bằng cách sử dụng mạng thông tin di

động, hoặc bằng cách dùng hệ thống định vị toàn cầu.Ngoài ra việc xác định vị trí

Page 19: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

người dùng có thể không được xác định một cách tự động mà có thể xác định bằng tay

do người dùng thực hiện.

Nhà cung cấp dịch vụ và ứng dụng: Các nhà cung cấp dịch vụ cung cấp

một số dịch vụ khác nhau để người dùng sử dụng và chịu trách nhiệm sử lý các yêu cầu

của dịch vụ.Các dịch vụ này thường xác định vị trí, tìm ra một con đường,tìm kiếm

một địa điểm hoặc tìm kiếm một đối tượng cụ thể.

Nhà cung cấp dữ liệu và nội dung: dịch vụ này cung cấp các thông tin

theo yêu cầu của người dùng. Vì vậy cơ sở dữ liệu địa lý và dữ liệu của các địa điểm

thường được yêu cầu từ các cơ quan ( Ví dự cơ quan xây dựng bản đồ …) các doanh

nghiệp hoặc các đối tác công nghiệp (Ví dụ các trang vàng …..)

1.1.3 LBS hoạt động như thế nào?

Hình 1-3 Kiến trúc chung của dịch vụ hướng vị trí

Sau khi đã định vị thành công vị trí hiện tại với sự giúp đỡ của các công nghệ định vị,

dựa vào kết quả đó người dùng sẽ đưa ra một số câu truy vấn (Nhà hàng nào gần nhất?

Page 20: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

ATM gần nhất là ở đâu?..) và gửi những truy vấn đó về trung tâm xử lý dịch vụ hướng

vị trí. Tại đây trung tâm xử lý sẽ tiến hành xử lý yêu cầu của người dùng, đồng thời kết

hợp với dữ liệu của nhà cấp để tạo thành một nội dung hoàn chỉnh và gửi thông tin trả

lời về cho người dùng

1.1.4 Ứng dụng của dịch vụ hướng vị trí trong các lĩnh vực khác nhau

Dịch vụ hướng vị đã trở nên phổ biến và là thành phần quan trọng trong hầu hết các

lĩnh vực công nghiệp. Tuy nhiên thị trường của dịch vụ hướng vị trí được chia ra thành

nhiều loại khác nhau bao gồm: định hướng, ứng cứu khẩn cấp, theo dõi, thanh toán,

quản lý, trò chơi và giải trí.

Ứng cứu khẩn cấp: Hãy tưởng tượng bạn đang đi du lịch vào một nơi

hoàn toàn xa lạ, và một tình huống không mong muốn đã xảy ra bạn bị gặp tai nạn. Và

thật tệ hại hơn khi bạn không biết mình đang đâu. Dịch vụ hướng vị trí sẽ giúp bạn giải

quyết vấn đề này. Dịch vụ hướng vị trí đóng vai trò quan trọng của việc tìm kiếm vị trí.

Ứng dụng LBSs sẽ chuyển vị trí hiện tại của bạn đến trung tâm hỗ trợ dịch vụ để kịp

thời ứng cứu. Dịch vụ này cũng có thể áp dụng cho các dịch vụ công cộng: cảnh sát, y

tế

Dịch vụ về giao thông, chỉ dẫn đường đi: Trong nhiều ứng dụng cho

dịch vụ di động dựa vị trí, dịch vụ về traffic là dịch vụ mà có khoản thu lợi nhuận

khổng lồ nhất. Người dùng sẳn sang trả tiền cho dịch vụ này để tiết kiệm thời gian và

thông tin giao thông. Lợi thế của ứng dụng real-time traffic ở chỗ là thông tin về giao

thông trên con đường đi là động, phụ thuộc vào ngữ cảnh tại thời điểm đó. Ứng dụng

này cho phép xác định lưu lượng người đang đi trên con đường đó, để xác định có nên

đi hay không, hoặc tìm một tuyến đường khác nhanh hơn. Thông tin về traffic trên con

đường được xác định qua bộ cảm biến.

Page 21: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 1-4 Real time Traffic

Các dịch vụ hỗ trợ du lịch:Có thể nói trong các loại hình dịch vụ thì

dịch vụ du lịch đã và đang tận dụng công nghệ và dịch vụ dựa vị trí. Chủ yếu là dịch

vụ tìm kiếm địa chỉ, dựa vào địa chỉ người dùng đang đứng, ứng dụng sẽ cho biết

thông tin các địa điểm (point interest) mà người dùng cần quan tâm ví dụ như: cửa

hàng gần nhất, ATM gần nhất, trạm xăng gần nhất… Ngày nay, các dịch vụ này

thường được truy xuất thông qua SMS, WAP, và trong một số trường hợp thì nó được

kết hợp với navigation để hướng dẫn người dùng tìm con đường ngắn nhất.

Page 22: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 1-5 Hình ảnh minh họa ứng dụng tìm kiếm địa điểm gần nhất trên di động

Quảng cáo và Marketing dựa trên vị trí: Sử dụng thông tin về vị trí

vào quảng cáo & marketing sản phẩm đã trở nên thành công lớn trong một số trường

hợp. Ứng dụng này thường tương tác với người dùng thông qua SMS, WAP.. Không

giống như quảng cáo trên tivi, báo chí, quảng cáo trên dựa vào vị trí cho phép chúng ta

chọn được đối tượng để quảng cáo, nhằm tập trung hơn. Kết quả là quảng cáo dựa vào

vị trí cung cấp thông tin cho khách hàng về sản phầm, dịch vụ tương ứng với từng địa

phương. Ví dụ khách hàng có thể nhận được những thông báo về những chương trình

khuyến mãi tại cửa hàng nào đó, bằng cách gửi thông điệp vào thiết bị di động của

người tiêu dùng khi người tiêu dùng đang đi trong vùng gần cửa hàng đang khuyến mãi

Page 23: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

đó. Và quảng cáo theo dạng này chỉ hiệu quả khi người dùng không cảm thấy phiền khi

thông điệp quảng cáo tới.

Hình 1-6 Hình ảnh minh họa về quảng cáo SMS

1.1.5 Ưu điểm và nhược điểm của dịch vụ hướng vị trí

Dịch vụ hướng vị trí là một trong những sáng tạo công nghệ quan trọng trong thế giới

ngày hôm nay, đóng vai trò vào sự phát triển của xã hội. Dịch vụ hướng vị trí giúp

chúng ta trong quá trình quan lý nhóm tốt hơn, nâng cao khả năng an toàn với dịch vụ

trợ giúp cấp cứu khẩn cấp, và tiết kiệm thời gian, tiền bạc với dịch vụ dẫn đường trong

du lịch.

Tuy nhiên dịch vụ hướng vị trí cũng gây ra một số vấn đề liên quan đến tính riêng tư

của người dùng. Ví dụ như ứng dụng theo dõi ở các xí nghiệp về vận tải, chuyện gì xảy

ra nếu ứng dụng này được ứng dụng vào một mục đích khác, theo dõi người nào đó khi

Page 24: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

chưa có sự đồng ý của người đó? Tất cả mọi di chuyển của người đó bị ghi nhận lại,

điều này có thể gây nguy hiểm cho họ. Chuyện gì xảy ra nếu bạn theo dõi tổng thống?

Cũng như bất kì công nghệ nào khác, tồn tại hai mặt ưu và nhược điểm là điều mà

không thể tránh khỏi. Tuy nhiên chúng ta cần phải xét xem, giá trị mà công nghệ đó

mang lại cho xã hội là như thế nào? Phát huy trường hợp sử dụng tốt của ứng dụng,

hạn chế các mặt tồn tại, “lỗ hổng” của ứng dụng

1.2 Lịch sử của LBS

Chương 2 CÁC CÔNG NGHỆ ĐỊNH VỊ

Nội dung của chương 2 trình bày về các công nghệ cũng như là các thiết bị

hỗ trợ cho việc định vị. Chương 2 sẽ truyền đạt cho chúng ta hiểu được “Để định vị

được thì chúng ta phải dùng công nghệ gì?” “Công cụ nào, thiết bị nào hỗ trợ cho việc

định vị?”

2.1 Tìm hiểu các công nghệ định vị hiện có

2.1.1 GPS (Global Positioning System)

GPS là một mạng lưới các vệ tinh liên tục gửi các tín hiệu, qua đó các máy thu GPS có

thể xác định vị trí của mình.

Page 25: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Các vệ tinh nói trên nằm trong quản lý của Bộ Quốc Phòng Mỹ, và có giá hàng tỉ đô la,

chưa kể là chi phí vận hành, được thiết kế ban đầu với mục đích quân sự. Những người

thiết kế ra nó cũng không thể ngờ rằng có một ngày, nó được phổ biến ở mức độ dân

dụng với các máy thu cầm tay nặng chỉ vài trăm gam, không chỉ cho biết vị trí bằng

các toạ độ kinh độ, vĩ độ mà còn có thể có màn hình, hiển thị bản đồ. Từ những ứng

dụng quân sự, năm 1980, chính phủ Mỹ ban hành một nghị định cho phép phổ biến kỹ

thuật này cho ứng dụng dân dụng, và những ứng dụng khổng lồ của nó đã được phát

triển không giới hạn. Nhiều bạn hỏi rằng có phải trả chi phí cho việc sử dụng GPS

không? Câu trả lời là có, nhưng may mắn phí này dân Việt ta không phải trả mà dân

Mỹ đã trả hết qua việc đóng thuế cho chính phủ Mỹ rồi. Như vậy, chi phí sử dụng của

GPS chỉ là mua máy và 2500 đồng cho mỗi vỉ pin con thỏ (cho khoảng 4 – 5 giờ hoạt

động). Hệ thống gồm 24 vệ tinh ( 21 vệ tinh hoạt động và 3 vệ tinh dự phòng). Các vệ

tinh chuyển động trên “quĩ đạo cao” cách mặt đất khoảng 19,300 km.

2.1.2 Hệ thống định vị Galileo

Hệ thống định vị Galileo là một hệ thống vệ tinh định vị toàn cầu (GNSS) được xây

dựng bởi Liên minh châu Âu và cơ quan vũ trụ Châu Âu,là một dự án dùng để thây thế

và bổ xung cho hệ thống GPS của Hoa Kỳ và GLONASS của Liên Bang Nga. Galileo

khác với GPS và GLONASS ở chỗ nó là một hệ thống định vị được điều hành và quản

lý bởi các tổ chức dân dụng, phi quân sự. Galileo theo kế hoạch sẽ chính thức hoạt

động vào năm 2011 – 2012.Mục đích chính của Galileo là cung cấp một hệ thống định

vị độc lập cho các quốc gia Châu Âu.

Sẽ miễn phí cho bất kỳ ai truy cập. Các dịch vụ mở sẽ được phát sóng ở 2 băng tần:

1164 – 1214Mhz và 1536 – 1591Mhz. Mục tiêu hổ trợ cho các hệ thống định vị trên

ôtô.

Page 26: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Các dịch vụ thượng mại: sẽ được thu phí và có độ chính xác cao hơn. Các dịch vụ

thương mại được bổ sung các trạm mặt đất để mang lại độ chính xác <=10m, tín hiệu

sẽ được phát sóng ở 3 băng tần: 2 tín hiệu của dịch vụ mở và 1 tín hiệu 1260-1300Mhz.

Các dịch vụ công cộng và các dịch vụ an toàn cho cuộc sống: phục vụ cho các cơ quan

an ninh và các ứng dụng ai toàn giao thông quan trọng.

2.1.3 Hệ thống GLONASS

Glonass đươc phát triển bởi Liên Xô và bây giờ là lực lượng không quân Nga, Glonass

phục vụ cho chính phủ Nga.

Glonass được xây dựng vào năm 1976,đến năm 1995 hệ thống được hoàn thành, nhưng

sau khi hoàn thành hệ thống nhanh chóng bị hư hỏng do sự xụp đổ của nền kinh tế

Nga. Đến năm 2001, Nga tiến hành khôi phục lại hệ thống.

Hệ thống Glonass hiện nay gồm 20 vệ tinh, trong đó có 19 vệ tinh hoạt động, hệ thống

Glonass hiện nay đã phủ sóng toàn bộ nước Nga.

Ngày 18/05/2007 tổng thống Nga đã ký quyết định chính thức cung cấp dịch vụ mở

cho mục đích dân sự từ hệ thống Glonass

2.1.4 Hệ thống Compass

Compass(còn được gọi là Beidou-2) là môt dự án phát triển hệ thống định vị toàn cầu

của Trung Quốc. Compass xây dựng chủ yếu nhắm mục đích phát triển kinh tế trong

nứơc,cung cấp các dịch vụ định vị vận tải ….Hệ thống sẽ cung cấp các dịch vụ cho

khách hàng trong nước và những quốc gia láng giềng vào năm 2008, trước khi mở ra

mạng lứơi định vị toàn cầu.

Page 27: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Compass gồm ít nhất 35 vệ tinh, 5 vệ tinh địa tĩnh, và 30 vệ tinh quỹ đạo trái đất tầm

trung.

Tần số của Compass được cấp phát trong 4 băng tần:E1,E2,E5B và E6 và chồng lắp

với Galileo.

2.1.5 Trạm thu phát sóng: BTS - Base Transceiver Station 

Các trạm thu phát là nền tảng của truyền thông di động hiện đại, với ưu điểm cung cấp

tín hiệu tốt trong các vùng đô thị, chi phí thấp và dễ lắp đặt hơn so với vệ tinh, ta có thể

thấy các trạm thu phát ở hầu như mọi nơi.

Trạm thu phát là những điểm truyền / nhận sóng vô tuyến tới các thiết bị di động,

thường chỉ hoạt động trong một phạm vi nhất định. Thêm nữa, các dịch vụ di động chỉ

có thể dùng một số tần số đã được cấp phép (số lượng tần số này có hạn). Do đó, để có

thể cung cấp dịch vụ một cách xuyên suốt cho người dùng, các trạm thu phát thường có

vùng phủ sóng chồng lên nhau. Mật độ trạm thu phát cũng tùy vùng mà thay đổi:

Ở các vùng đô thị: Mật độ trạm phải cao vì

Có nhiều kiến trúc kiên cố, sóng vô tuyến không dễ xuyên qua

Lượng người dùng tập trung lớn trong khi số kênh thu phát lại phụ thuộc vào số

tần số được các tổ chức quản lý cho phép dùng nên cũng bị giới hạn, các trạm

buộc phải dùng lại cùng một kênh tại cùng một thời điểm mà không làm ảnh

hưởng lẫn nhau

Ở các vùng nông thôn thì mật độ trạm lại thấp vì lượng người dùng ít, các công trình

xây dựng thường không cao mà tầm phủ sóng của các trạm lại khá rộng.

Page 28: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 2-7 Trạm thu phát

Vì các trạm thu phát là cố định, nên nếu biết được người dùng thiết bị di động đang ở

trạm thu phát nào gần nhất thì có thể suy ra được vị trí tương đối của người dùng. Tuy

nhiên sai số sẽ lớn ở các vùng nông thôn do mật độ trạm thưa và tầm phủ sóng của một

trạm có thể lên đến hàng kilômét.

Điện thoại di động có thể dựa vào mã số trạm, mã mạng và mã nước để truy vấn các cơ

sở dữ liệu vị trí trạm như OpenCellID, từ đó suy ra vị trí của mình

2.2 Tìm hiểu các thiết bị hổ trợ người dùng

2.2.1 PDA và điện thoại di động

Đây là các thiết bị được thiết kế cho người dùng cá nhân và cũng là thiết bị được nhiều

người sủ dụng nhất, khi công nghệ càng phát triển hiện đại thì các thiết bị này càng

Page 29: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

được tích hợp nhiều công nghệ và bổ sung thêm nhiều chức năng giúp ích cho người

dùng. Khi các thiết bị PDA và điện thoại di động được tích hợp công nghệ định vị thì

sẽ giúp phát triển nhiều chức năng tiện ích phục vụ cho người dùng cá nhân như: bản

đồ, xác định vị trí, tìm kiếm địa điểm.

Hình 2-8 Nokia N95 và PDA có GPS

2.2.2 Dashtop

Dashtop la thiết bị ra đời để bổ sung các khiếm khuyết của các thiết bị di động(tiêu thu

điện năng nhiều khi sử dụng định vị liên tục…..). Các thiết bị Dashtop thường được

Page 30: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

gắn vào các loại xe hơi hạng sang, dashtop hoạt động dựa trên nền tảng các công nghệ

không dây.

Dashtop cung cấp cho người dùng nhiều tiện ích khi lái xe: theo dõi lộ trình, xác định

vị trí, các cảnh báo an toàn khi lái xe…..

Hình 2-9 Xe hơi có thiết bị dashtop

2.2.3 Các thiết bị định vị khác

Với nhưng ai có nhu cầu sử dụng các bộ định vị, nhưng không muốn bỏ ra một số tiền

lớn để sắm PDA hoặc điện thoại di động, thì có thể chọn lựa các thiết bị GPS có giá cả

thấp hơn nhiều.

Ngoài ra, công nghệ phát triển ngày càng hiện đại, Ngày càng có nhiều thiết bị được

tích hợp GPS: máy nghe nhạc…..

Page 31: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 2-10 Thiết bị GPS

2.3 Tìm hiểu các cách thức định vị.

Hiện nay có rất nhiều hệ thống phục vụ cho việc định vị, do đó cũng có rất nhiều

phương pháp định vị, Các phương pháp này có thể được chia làm 3 nhóm chính:

Định vị trên hệ thống mạng: Đây là phương pháp theo dõi và xác định vị

trí của người dùng được thực hiện bằng thực hiện bằng cách sử dụng

mạng lưới các trạm cơ sở.

Định vị trên thiết bị di động: Các thiết bị đầu cuối tự đinh vị dựa trên các

hệ thống thống định vị toàn cầu: GPS, Galileo….

Kết hợp định vị trên hệ thống mạng và định vị trên hệ thống di động…

Các nguyên tắc cơ bản để xác định vị trí của người sử dụng:

Các trạm cơ sở nhận biết được vị trí.

Thông tin từ các tín hiệu được chuyển thành khoảng cách.

Cách tính vị trí bằng cách sử dụng khoảng cách đến các trạm cơ sở.

Page 32: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 2-11 Các loại định vị di động

2.3.1 Tìm hiểu về Cell ID

Thường dùng trên điện thoại di động và việc định vị không cần độ chính xác cao.

Phương pháp này chỉ đơn giản tìm trạm phát sóng gần người dùng nhất, từ đó biết

được người dùng đang ở trong tầm phát của trạm đó.

Vì được triển khai cùng với các trạm thu phát sóng nên phương pháp định vị này đang

được sử dụng khá rộng rãi, trong đó có cả việc định vị người gọi các cuộc gọi khẩn cấp

đến dịch vụ 911 ở Mỹ. Phương pháp định vị này được hỗ trợ trên hầu hết thiết bị sản

xuất bởi các công ty lớn như Nokia và Sony Ericsson.

Phương pháp này có ưu điểm là nhanh và khá chính xác ở những vùng đô thị (các trạm

được đặt dày hơn và phục vụ một khu vực nhỏ hơn). Tuy nhiên sai số có thể lên đến

32km ở vùng nông thôn, phụ thuộc vào tầm phủ sóng của trạm thu phát.

Page 33: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Cell 2

Cell 3Người dùng

Hình 2-12 Định vị theo phương pháp Cell identification

Hiện phương pháp này đã được cải tiến bằng cách kết hợp thêm thông tin về các vị trí

trước đó của người dùng, cũng như khoảng cách giữa các lần truyền dữ liệu để tăng độ

chính xác; sai số ở các vùng nông thôn chỉ còn 550m. Vì chỉ sử dụng tín hiệu từ một

trạm nên CellID được xếp vào nhóm định vì từ một phía (unilateration)

2.3.2 Tìm hiểu về GPS

a. Các thành phần của GPS

Hệ thống GPS gồm có 3 thành phần chính: hệ thống không gian, Trạm điều khiển và

người dùng.

Hệ thống không gian: Bao gồm 24 vệ tinh là trái tim của toàn bộ hệ

thống. Các vệ tinh chuyển động trên “quĩ đạo cao” cách mặt đất khoảng 19,300 km.

Với độ cao như vậy, cho phép tín hiệu của mỗi vệ tinh có thể che phủ một vùng rộng

hơn trên trái đất. Các vệ tinh được trên quĩ đạo của chúng bố trí sao cho một máy thu

GPS trên mặt đất có thể “nhìn thấy” tối thiểu 4 vệ tinh vào bất kỳ thời điểm nào. Các

vệ tinh hoàn thành 2 vòng quĩ đạo trong vòng mỗi ngày đêm. Các vệ tinh sử dụng năng

Page 34: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

lượng mặt trời, và được trang bị ắc qui để hoạt động khi bị che khuất hoặc nhật thực

vv… Ngoài ra, còn có các tên lửa đẩy nhỏ để điều chỉnh quĩ đạo khi cần.

Trạm điều khiển: Trạm điều khiển làm cái việc mà nó mang tên. Các

trạm điều khiển này theo dõi và cung cấp cho các vệ tinh thông tin về vị trí và thời gian

với độ chính xác cao. Có 5 trạm được bố trí trên toàn thế giới, 4 cái không tên và một

trạm trung tâm. Các trạm không tên liên tục thu nhận thông tin và truyền về trạm trung

tâm để xử lý và phát lên các vệ tinh các thông tin hiệu chỉnh.

Người dùng: Người dùng sử dụng các thiết bị hổ trợ GPS để xác định vị

trí …, bao gồm thuỷ thủ, phi công, tài xế … bất kỳ ai muốn biết họ đang ở đâu, đã đi

qua những đâu và đang đi tới nơi nào.

b. GPS hoạt động như thế nào ?

Các vệ tinh thực hiện gửi một tín hiệu (có thể gọi là mã số vệ tinh(almanac) ), mã này

sẽ chứa các thông tin về vị trí của vệ tinh trên quỹ đạo và được lưu vào trong các thiết

bị thu tín hiệu GPS. Khi các vệ tinh di chuyển thì các tín hiệu cũng được cập nhật liên

tục vào trong các thiết bị thu.

Vì vệ tinh có thể đi chênh lệch khỏi quỹ đạo một chút ít, nên trạm điều khiển mặt đất

sẽ lưu giữ các thông tin về quỹ đạo, độ cao, vị trí và tốc độ của vệ tinh. Những thông

tin này được chuyển về trung tâm điều khiển, ở đây, nó sẽ được xử lý (thường theo tần

suất 4 – 6 giờ / lần) (đượcgọi là ephemeris) và được gửi theo tín hiệu vệ tinh đến máy

thu.

Máy thu sẽ tổng hợp 2 thông tin almanac và ephemeris để xác định vị trí của vệ tinh.

c. GPS định vị như thế nào?

Page 35: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Để xác định được vị trí thì các thiết bị thu cần phải xác định được ít nhất 4 vệ tinh,

Tính toán khoảng cách các vệ tinh và xác định vị trí.

Thiết bị thu nhận được 2 loại thông tin là almanac và ephemeris,thiết bị thu sẽ dùng 2

thông tin này để xác định vị trí của vệ tinh.

Bên cạnh đó thiết bị thu cần phải biết khoảng cách từ các vệ tinh đến vị trí cần xác định

trên mặt đất thông qua công thức: s = v * t.

Với: s: Khoảng cách.

v: Là vận tốc.

t: Là thời gian.

Trong công thức ta chỉ cần xác định được khoảng cách của máy thu và vệ tinh vì. Vệ

tinh truyền tín hiệu với tốc độ ánh sáng: v = 300000km/s, thời gian được tính từ lúc vệ

tính phát tín hiệu cho đến khi thiết bị thu nhận được tín hiệu.

Page 36: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 2-13Hệ thống vệ tinh GPS

d. Các cải tiến

GPS thông thường có độ sai lệch khoảng vài chục tới vào trăm mét; tuy nhiên một số

ứng dụng có thể đòi hỏi độ chính xác cao hơn thế. Để tăng tính chính xác cho việc định

vị, một số hệ thống hỗ trợ GPS đã được tạo ra, chúng có thể là:

Hệ thống WASS (Wide Area Augmentation System)

WASS là một hệ thống vệ tinh khác của cục hàng không liên bang Hoa

Kỳ. Hệ thống này gồm các trạm thu mặt đất nhận tín hiệu của GPS, tính toán các sai

lệch trong tín hiệu nhận được và truyền lên một hệ thống vệ tinh địa tĩnh từ đó đến với

các thiết bị định vị. Các thiết bị định vị có thể trừ sai lệch từ tín hiệu của GPS với

thông số nhận được từ WAAS để có được vị trí chính xác hơn. WAAS giảm sai số của

GPS từ vài chục mét xuống dưới 10m.

Hình 2-14 Kiến trúc WAAS

Công nghệ A-GPS

Page 37: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Trong nhiều điều kiện thực tế, việc truyền dẫn tín hiệu GPS giữa vệ tinh

và thiết bị nhận trên mặt đất hoạt động rất kém hoặc thậm chí không thể hoạt động,

nhất là trong các thành phố lớn nhiều nhà cao tầng hoặc ở trong không gian kín. A-

GPS chính là giải pháp cho vấn đề này.

Đơn giản, thay cho việc truyền tín hiệu trực tiếp với vệ tinh, A-GPS kết

nối tín hiệu qua một “trạm trung chuyển” là một hệ thống máy chủ hỗ trợ. Hệ thống

trung gian này xác định vị trí của thiết bị so với các trạm thu phát sóng của các mạng

điện thoại trung gian trong khu vực và từ đó tính toán ra vị trí trên hệ thống GPS. Có

thể nói, nếu không có sự hỗ trợ của các trạm trung chuyển qua mạng điện thoại di động

này, thiết bị A-GPS vẫn có thể nhận được tín hiệu từ vệ tinh nhưng không có khả năng

giải mã vị trí.

Hình 2-15 Mô hình A-GPS

2.4 Thuận lợi và khó khăn khi sử dụng công nghệ định vị

Page 38: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

2.4.1 Định vị bằng vệ tinh

a. Thuận lợi

Cho kết quả định vị có tỷ lệ sai số thấp có thể dưới 10m

Có vùng phủ sóng rộng lớn.cả vùng núi hiểm trở, trên biên đông hay

trong các vùng sa mạc vắng bóng người.

b. Khó khăn

Chi phí triển khai hệ thống tốn kém, chỉ có các nước có tiềm lực kinh tế

mạnh mới xây dựng được các hệ thống định vị.

Khi gặp thời tiết không thuận lợi (mưa, bảo …) sẽ ảnh hướng nhiều đến

chất lượng tín hiểu phát ra từ các vệ tinh.

2.4.2 Định vị bằng Cell ID

a. Thuận lợi

Cho kết quả nhanh và tương đối chính xác ở các vùng đô thị, Khi mật độ

các trạm phát sóng nhiều.

Sử dụng hệ thống điện thoại di động sẵn có nên không tốn chi phí cao.

b. Khó khăn

Sai số lớn ở các khu vực nông thôn khi các trạm phát sóng nằm cách xa

nhau, mỗi trạm phủ trên một vùng rộng lớn, khi đó viêc xác định vị trị sẽ có sai số cao

lên tới 32km

Chương 3 CÁC NỀN TẢNG HỖ TRỢ LẬP TRÌNH LBS

Page 39: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Nội dung của chương 3 trình bày về các nền tảng hỗ trợ cho lập trình LBS.

Chương 3 nhấn mạnh vào việc phân tích những điểm ưu và khuyết của từng nền tảng

hỗ trợ cho lập trình LBS, đồng thời có sự sánh giữa các nền tảng nhằm chọn ra nền

tảng thích hợp cho luận văn. Đây được coi là chương quan trọng, nhằm định hướng

cho luận văn chọn và sử dụng nền tảng nào hỗ trợ cho luận văn.

3.1 Google Maps API

3.1.1 Giới thiệu về Google Maps API

GoogleMap là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến được công ty

Google cung cấp. Google map cung cấp một giao diện trực quan cho việc thao tác bản

đồ với các đường đi chi tiết và những dữ liệu hình ảnh được nhúng vào bên trong.

Google map cho phép thấy bản đồ đường xá, đường đi cho xe đạp, đường di cho người

đi bộ, đường đi cho xe hơi…và những địa điểm kinh doanh trong khu vực và trên toàn

thế giới Ngoài ra người dùng có thể sử dụng GoogleMap để nhúng vào các ứng dụng

web của mình thông qua công cụ mở rộng của GoogleMap là GoogleMaps API

Page 40: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-16 Giao diện của google map trên Web

Với Google Maps API nhà phát triển sẽ dễ dàng tích hợp Google Map vào các trang

web của mình với các dữ liệu của riêng họ. Đây là một dịch vụ miễn phí và không có

quảng cáo kèm theo.

Ví dụ: Một cơ quan bất động sản có thể sử dụng một ứng dụng sử dụng Google Maps

API dựa trên web, cho phép người sử dụng có thể tìm kiếm các khu đô thị và kết quả

được hiển thị trực quan trên Google Map.

3.1.2 Ưu điểm và khuyết điểm của Google Maps API

a. Ưu điểm

Google Maps API được cung cấp miễn phí.

Page 41: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hệ thống API đơn giản dể hiểu và có tài liệu hướng dẫn rõ ràng. Có thể

tham khảo hướng dẫn sử dụng Google Maps API tại

http://code.google.com/apis/maps/documentation/index.html

b. Khuyết điểm

Google Map chỉ cung cấp hệ thống đường phố và địa điểm ở một vài

thành phố của một vài quốc gia, ở Việt Nam Google Map chỉ mới cung cấp tên đường

nhưng chưa được chi tiết, do đó các nhà phát triển ứng dụng dựa trên Google Map cần

bổ sung dữ liệu về đường phố và địa điểm để có thể tìm kiếm đường đi hoặc địa điểm.

3.1.3 Giải pháp và ứng dụng của Google Maps API

Xây dựng bản đồ hướng dẫn các nhà hàng,văn phòng,cửa hàng,khách sạn

và danh sách các bất động sản hoàn chỉnh với các hình ảnh và mô tả thích hợp.

Xây dựng bản đồ các tuyến đường xe đạp, đi bộ…

Hiển thị các hình ảnh, video từ Youtube,Picasa, Flickr tại các điểm trên

bản đồ. Ví dụ cho thấy chính xác vị trí trên bản đồ, nơi mà các hình ảnh và video đã

được chụp.

Nhúng Google Map vào các website.

Cho biết được thời tiết, các vùng lũ lụt,hạn hán ….

3.1.4 Cách thức sử dụng Google Maps API

Như chúng ta đã biết để tạo một ứng dụng bảng đồ sử dụng Google Maps API thì thật

là đơn giản. Do đó để hiểu rõ hơn các API của Google Map ta cần tìm hiểu chi tiết về

các API này.

Page 42: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-17 Các thành phần của Google Maps

Trong hình trên, chúng ta đã thấy được một mô tả trực quan về các đối tượng thường

được sử dụng trong google maps API, tất cả các ứng dụng của Google Maps sẽ có một

bản đồ gồm các đối tượng như hình trên. Bản đồ này được đại diên bởi API của đối

tượng GMAP2,ngoài ra chúng ta có thể thêm vào một vài đối tượng khác như:

GlargeMapControl, GsmallMapControl,GmapTyleControl, và một đối tượng vừa mới

được Google bổ sung thêm là GoverviewMapControl. Những đối tượng này cho phép

người dùng phóng to, thu nhỏ, xoay bản đồ, cho … Gmarker cho phép hiển thị các loại

địa điểm với mỗi loại được đại diện bằng một biểu tượng. Người dùng có thể sử dụng

các biểu tượng mặc định của Google Map hoặc thay đổi các biểu tượng theo ý thích

của người dùng..Info Window thường sử dụng để kếp hợp Gmarker để hiển thị thông

tin của các điểm đã được dánh dấu.Ví dụ trong một ứng dụng bất động sản ta có thể

hiển thị chi tiết của một căn nhà, một mãnh đất như là: diện tích, giá bán, địa chỉ….

Sau đây các lớp chính trong Google Maps API:

Page 43: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

- GMap2

- GPoint và GlatLng

- GMarker

- GPolyline

- Gsize

- GLatLngBounds

Để sử dụng được Google Maps API chúng ta cần làm các bước như sau:

Chúng ta vào trang chủ của Google Map API (

http://code.google.com/apis/maps/signup.html ) đăng ký một khóa của Google Maps

API, trước khi đăng ký chúng ta phải đăng nhập bằng tài khoản của Gmail.

Sau đó chúng ta nhận được 1 khóa và những đoạn mã nguồn mẫu do

Google Map cung cấp, người dùng có thể sử dụng các hàm API do Google Map cung

cấp để thây đổi, bổ sung thêm các đường đi, địa điểm … sao cho phù hợp với mục đích

của người sử dụng.

3.2 Navizon API

3.2.1 Giới thiệu về Navizon API

Navizon là một hệ thống định vị được phát triển bới công ty Navizon được thành lập

năm 2005. Navizon là hệ thống định vị kết hợp GPS, Wifi, tín hiệu di

động(triangulation Cellular). Nó tính toán vị trí địa lý của một thiết bị không dây bằng

cách phân tích các tín hiệu thu được từ các wifi và các trạm di động và so sánh với một

cơ sở dữ liệu sẵn có.

Page 44: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-18 Mô hình hoạt động của hệ thống Navizon

Ngoài ra để cung cấp cho các nhà phát triển phần mềm ứng dụng các công nghệ của

Navizon để phát triển các ứng dụng của riêng họ, Navizon đã cho ra đời hệ thống

Navizon API. API Navizon đã cung cấp cho người dùng khả năng tạo ra các giải pháp

và ứng dụng về vị trí cho người dùng, các ứng dụng này có thể đáp ứng cho người

dùng hoặc các doanh nghiệp …

Các API cung cấp cho phép nhà phát triển truy cấp các thông tin vị trí thông qua một

giao diện chuẩn,các API sẽ không bị thây đổi khi người dùng sử dụng các công nghệ

WIFI, GPS, các tháp di động (cell towers), nhưng sự chính xác khi kết quả trả về sẽ

khác nhau tùy theo công nghệ định vị người dùng sử dụng.

Các Navizon API cho phép các ứng dụng bên ngoài yêu cầu và nhận các tọa độ cho

một vị trí bất kỳ của một wifi, một trạm di động,hay một thiết bị GPS được kích hoạt,

Navizon API cung cấp các tọa độ chuẩn của hệ thống World Geodetic System(WGS

84)(1).

Page 45: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Navizon cung cấp 2 phiên bản của Navizon API

Navizon API chỉ dùng cho các thiết bị GPS. Với hệ thống API này

Navizon cung cấp miễn phí cho người sử dụng.

Navizon API cung cấp cho các thiết bị GPS với khả năng cao hơn so với

phiên bản miễn phí, và các API hổ trợ cho wifi và các thiết bị phát sóng di động. Với

các API này các thiết bị hổ trợ hệ điều hành Window Mobile và Symbian có thể sử

dụng GPS để định vị các vị trí có sóng GPS yếu như: trong nhà, trong hẽm núi ….

Ngoài ra nó có thể định vị dựa trên các hệ thống wifi và thiết bị phát sóng di động khi

người dùng không có thiết bị GPS, do đó với hệ thống API này có thể đáp ứng được số

lượng lớn người sử dụng. Đây là hệ thống thương mại được Navizon bán với giá 19,95

USD cho một thiết bị được sử dụng trong 1 năm.

3.2.2 Ưu điểm và khuyết điểm của Navizon API

a. Ưu điểm

Các nhà phát triển có thể phát triển ứng dụng trên web và trên di động

với hệ thống API sẵn có.

Các Navizon API khi sử dụng trên nền web có thể chạy trên nhiều hệ

điều hành khác nhau: Mac OS, Microsoft Window.

Các Navizon API khi sử dụng trên môi trường di động có thể hoạt động

tốt trên nhiều hệ điều hành di động: Window mobile, symbian, Iphone, Blackberry và

một số hệ điều hành hổ trợ J2ME.

b. Khuyết điểm

Page 46: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Các nhà phát triển phải trả phí khi sử dụng các Navizon API hổ trợ công

nghệ wifi, trạm di động.

Hê thống sẽ hoạt động giới hạn khi sử dụng các tín hiệu wifi và các tín

hiệu di động.

3.2.3 Giải pháp và ứng dụng của Navizon API

a. Navizon API trên web.

Hình 3-19 Navizon API trên web

Các Navizon API xây dựng trên nên web được Navizon xây dựng dưới dạng các java

applet để các nhà phát triển có thể nhúng trực tiếp vào trang web. Nó sẽ xác định vị trí

địa lý của người sử dụng thông qua tín hiệu phát sóng của các điểm truy cập wifi xung

quanh người sử dụng.

Do các Navizon API trên web được xây dựng là các Java Applet do để để ứng dụng

chạy được cần phải cài đặt các plugin java.

Navizon API trên web có thể chạy trên môi trường Microsoft Window và Mac OS.

Page 47: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

a. Navizon API trên thiết bị di động

Hình 3-20 Navizon API trên các thiết bị di động

Đối với người dùng thiết bị di động không có GPS, Navizon API sẽ làm việc như một

GPS ảo trên một thiết bị gi động dùng wifi hoặc tín hiệu di động. Khi đó chỉ cần gọi

một hàm API Navizon đơn giản các nhà phát triển ứng dụng có thể thu thập các kinh

độ và vĩ độ của thiết bị di động của người sử dụng.

Đối với người dùng thiết bị di động có GPS, Navizon API có thể cung cấp cho các nhà

phá triển ứng dụng các thông tin định vi khi có tín hiệu GPS,mặt khác với những nơi

không có tín hiệu GPS hoặc tín hiệu GPS yếu thì các Navizon API sẽ sử dụng các tín

hiệu của WIFI hoặc tín hiệu của hệ thống di động để giúp các nhà phát triển ứng dụng

xác định được các thông tin định vị.

3.2.4 Cách thức sử dụng Navizon API

Page 48: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Như chúng ta đã biết thì hệ thống Navizon API là một sản phẩm thương mại và do đó

các nhà phát triển ứng dụng muốn sử dụng Navizon API cần phải trả chi phí theo từng

máy đơn. Ngoài ra Navizon API còn cung cấp một phần miễn phí cho việc phát triển

các ứng dụng trên hệ thống di động có tích hợp thiết bị thu GPS.

Để sử dụng Navizon API được cung cấp miễn phí ta cần làm các bước sau:

Vào trang web cua Navizon: www.navizon.com

Chọn phần download Navizon. Ở đây chúng ta chỉ download phần miễn

phí của navizon. Chọn download Navizon tùy vào môi trường mà người phát triển ứng

dụng mong muốn.Navizon có nhiều phiên bản cho nhiều hệ điều hành khác nhau:

Window Vista,Window XP, Mac OS,Window mobile, Symbian, Blackberry, Iphone,

và một vài dòng mày có Java.

3.3 Yahoo API

3.3.1 Giới thiệu về Yahoo API

Yahoo Map API là thư viện miễn phí được cung cấp bởi Yahoo để hỗ trợ cho lập trình

viên nhúng bản đồ vào ứng dụng website, desktop. Yahoo map được công ty Cartfact

thiết kế và cung cấp dữ liệu. Yahoo map chính thức đi vào hoạt động vào ngày

16/05/2007. Yahoo cung cấp hình ảnh bản đồ dưới 3 dạng: Dạng hình ảnh vẽ, dạng

hình ảnh vệ tinh, dạng hình ảnh kết hợp hình ảnh vẽ và vệ tinh

Hình 3-21 Hình ảnh vệ tinh kết hợp hình ảnh vẽ

Page 49: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-22 Hình ảnh vẽ

Hình 3-23 Hỉnh ảnh vệ tinh

Từ lúc mới ra đời, dịch vụ chính mà API này cung cấp là dịch vụ về bản đồ đường và

hướng dẫn đường đi ở Mỹ và Canada. Ngày nay API đã phát triển thêm một số tính

năng đáng kể khác như:

Address Book: Cho phép người sử dụng có thể lưu một danh sách các

con đường thường dùng để người dùng không cần gõ lại địa chỉ đường, chỉ cần gõ lại

một số kí tự thì sẽ xuất hiện dưới drop down list.

Page 50: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-24 Dịch vụ lưu trữ địa điểm trên Yahoo Map

Live Traffic: Cho phép người dùng xem mật độ giao thông trên con

đường.

Page 51: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-25 Real-time traffic trên Yahoo Map

Point of Interest Finder: Cho phép tìm kiếm các địa chỉ thông dụng gần

vị trí hiện tại (nhà hang ở đâu?, ATM ở đâu? …), cũng như là thể hiện thông tin chi

tiết: số điện thoại, hình ảnh về địa điểm đó.

Page 52: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-26 Point Interest Finder

Driving Directions: Chỉ dẫn cho người đi đường để đi đến đích bằng các

vẽ lên bản đồ hoặc hiển thị dạng text rồi gửi đến điện thoại di động.

Page 53: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-27 Tìm đường dưới dạng thể hiện hình ảnh

Hình 3-28 Tìm đường thể hiện dưới dạng text

Ngoài các dịch vụ đó Yahoo Map còn cung cấp các API thông qua webservice để lập

trình viên có thể sử dụng để triển khai các dịch vụ trên cho ứng dụng của mình. Yahoo

Page 54: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

API cung cấp API dưới dạng các nền tảng ứng dụng Flash, Ajax, Hình ảnh cho bản đồ

(Map Images).

a. AJAX API

Giới thiệu

Yahoo AJAX Maps API cho phép lập trình viên nhúng bản đồ vào website của họ sử

dụng HTML và Javascript. Bản đồ được nhúng và các đoạn mã thực thi đều sử dụng

Javascript. Các ứng dụng bản đồ được xây dựng dựa trên nền Yahoo Map AJAX đã

được kiểm thử và chạy ổn định với các trình duyệt FireFox 2, IE 6 hoặc 7, Opera 9,

Safari 3. Các trình duyệt mới hơn cũng được hỗ trợ.

Mỗi ứng dụng sử dụng Yahoo Map AJAX đều có một ID được đăng kí với Yahoo

Các chức năng được hỗ trợ

Hiển thị Yahoo Map trong ứng dụng web của mình: Mọi lớp API và các

phương thức cần thiết để tương tác với Yahoo Map được tích hợp vào ứng dụng của

bạn khi ứng dụng của bạn “add reference” đến thư viện Yahoo Map AJAX API.

Thêm các điều khiển vào bản đồ: Yahoo Map AJAX hỗ trợ và cung cấp

cho chúng ta thêm các điều khiển vào bản đồ trên ứng dụng của mình. Các điều khiển

phổ biến là: điều khiên PAN (kéo vùng nhìn bản đồ), ZOOM (phóng to thu nhỏ bản

đồ), Map types (Thể hiện 3 dạng bản đồ: Hình ảnh vẽ, vệ tinh, kết hợp)

Sử dụng log: Yahoo Map API còn cung cấp thêm một tiện ích YLog cho

bản đồ. YLog rất hữu ích cho việc bắt lỗi, và xem dữ liệu trong khi ứng dụng đang

chạy

Đánh dấu vị trí: API hỗ trợ cho phép bạn đánh dấu một địa điểm nào đó

trên bản đồ. Việc đánh dấu có thể là thêm hình ảnh, chú thích cho vị trí đó

Page 55: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hiển thị thông tin giao thông trên bản đồ

Tìm kiếm vị trí

b. Flash API

Giới thiệu

Với thư viên hỗ trợ Flash và Flex 3 cho phép bạn nhúng bản đồ vào cả 2 loai ứng

dụng: web và desktop. Việc sử dụng bản đồ dưới dạng Flash trong các dự án Flash,

Flex, Ajax làm tăng khả năng linh hoạt của dự án.

Các chức năng được hỗ trợ

Với Yahoo Flash API cũng hỗ trợ các chức năng về định tuyến, tìm kiếm vị trí và

các API về giao thông như thư viện Yahoo Ajax API.

c. Yahoo! Maps Web Services - Geocoding API

Giới thiệu

Geocoding Web Service cho phép bạn tìm kiếm chuyển đồi từ tọa độ longitude và

latitude sang địa chỉ vật lý. Bạn có thể sử dụng để geocode để kết hợp với geocoding

trong ứng dụng có sử dụng AJAX và Flash API.

Địa chỉ WebService: http://local.yahooapis.com/MapsService/V1/geocode

Tham số truyền vào

Tham

số

Kiểu Mô tả

appid string

(required)

Mã số của ứng dụng

Page 56: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

street string Tên đường

city string Thành phố

state string Bang (Mỹ). Nếu ở nước khác thì trống

zip integer Mã Zipcode của đất nước

locatio

n

Dạng tự do Địa chỉ cần truy vấn. Địa chỉ cần truy vấn được viết

dưới dạng tự do, nhưng phải theo quy luật sau:

Thành phố, bang

Thành phố, bang, zipcode

ZipCode

Đường,Thành phố,Bang

Đường,thành phố,Bang,Zipcode

Đường, Zipcode

output string Xuất kết quả trả về theo dạng XML.

3.3.2 Ưu điểm và khuyết điểm của Yahoo API

a. Ưu điểm

Yahoo Map API cung cấp cho lập trình viên dễ dàng thực hiện nhúng

bản đồ vào ứng dụng của mình.

Hỗ trợ trên 2 nên ứng dụng web và desktop

Hỗ trợ làm việc trên nhiều platform: AJAX, Flash, Flex, Map Image

Tài liệu cùng các ví dụ rõ ràng, hỗ trợ cho lập trình viên dễ dàng trong

việc làm quen với môi trường mới

Page 57: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

b. Khuyết điểm

Dữ liệu bản đồ còn hạn chế. Mới chỉ có của Mỹ và Canada.

Chất lượng hình vẽ không tốt.

3.3.3 Cách thức sử dụng Yahoo API

Để sử dụng được Yahoo Map API, lâp trình viên phải:

Đăng kí mã số cho ứng dụng sử dụng Yahoo Map API. Để đăng kí bạn

truy cập vào site https://developer.apps.yahoo.com/wsregapp/. Tại đây bạn khai báo

ứng dụng, mục đích ứng dụng và tài khoản đăng kí của bạn. Hệ thống Yahoo sẽ cung

cấp cho các bạn một ID của application. Lưu ý bạn chỉ dùng một ID cho một ứng dụng

duy nhất. ID có dạng như sau: YD-eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1H.

Tìm hiểu các API mà Yahoo hỗ trợ cũng như cách sử dụng của nó. Link

tham khảo: http://developer.yahoo.com/maps/ajax/V3.8/reference.html

Các ví dụ minh họa được thể hiện có thể download tại địa chỉ:

http://developer.yahoo.com/maps/ajax/V3.8/yahoo_maps_ajax_api_reference_bundle.z

ip.

3.4 Bing Maps API

3.4.1 Giới thiệu vế Bing Maps API

Bing Map là một nền tản bản đồ được phát triển bởi công ty Microsoft, phiên bản

trước đây của Bing Map là Microsoft Virtual Earth.Bing Map cho phép người dùng

khám phá, tìm kiếm chia sẽ thông tin, địa điểm trên hệ thống bản đồ một cách trực

quan. Bing Map có thể hiển thị bảng đồ ở nhiều dạng khác nhau: 3D, 2D….

Page 58: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-29 Màn hình chính của Bing Map

Ngoài ra để cung cấp cho các nhà phát triển phần mềm có thể sử dụng nền tản của Bing

Map để xây dựng các ứng dụng, Microsoft đã cho ra đời hệ thống Bing Map API gồm

hệ thống các lớp giúp nhà phát triển phần mềm có thể khai thác các tài nguyên của

Bing Map. Bing Map API được cung cấp dưới dạng gói phát triển phần mềm SDK

(software development kit).

3.4.2 Ưu điểm và khuyết điểm của Bing Maps API

a. Ưu điểm

Hệ thống SDK của Bing Map được cung cấp miễn phí người dùng có thể

download tài liệu hướng dẫn tại trang web

(http://www.microsoft.com/downloads/details.aspx?familyid=09905EEA-F8D4-4AF3-

BB35-B479BF342E1E&displaylang=en).

Page 59: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Giống như Google Map API, Bing Maps API cung cấp hệ thống API đơn

giản, dể sử dụng. Người dùng có thể dễ dàng nhúng Bing Maps vào trang web của

mình.

Tài liệu hướng dẫn API đầy đủ, người dùng có thể dowload các tài liệu

hướng dẫn của Bing Maps API đi kèm theo gói phát triển phần mềm (SDK).

Mô hình dữ liệu Web cung cấp cho người dùng khả năng truy cập dữ

liệu bản đồ mà không cần tải về bất cứ một phần mềm nào.

b. Khuyết điểm

Hệ thống bản đồ của Bing Map chỉ cung cấp đầy đủ thông tin và địa

điểm của nước Mỹ và các thành phố lớn trên thế giới. Còn ở những nước khác để hiển

thị thêm thông tin đường đi và địa điểm thì các nhà phát triển phần mềm cần sử dụng

hệ thống Bing Map API để bổ sung vào.

3.4.3 Giải Pháp và ứng dụng của Bing Maps API

Dành cho thiết bị di động: Phát triển các ứng dụng trên các thiết bị di

động với hệ thống hình ảnh phong phú, bao gồm cả Iphone.

Tạo ra hình ảnh 3D cho quan cảnh và các tòa nhà trong các thành phố.

Hướng dẩn cho tài xế và người di bộ có thể tìm được đường đi đến vị trí

mà họ mong muốn.

Cho phép người dùng dánh dấu trực tiếp trên bản đồ những địa điểm mà

người dùng cần ghi chú lại.

3.4.4 Cách thức sử dụng Bing Maps API

Page 60: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-30 Hệ thống Bing Maps API

Để tìm hiểu về các lớp trong hệ thống Bing Map Api người sử dụng có

thể download SDK từ trang web. ( http://www.microsoft.com/downloads/details.aspx?

FamilyID=09905eea-f8d4-4af3-bb35-b479bf342e1e&displaylang=en ). Ở đây chỉ chứa

file một file CHM hướng dẫn người dùng cách sử dụng các lớp trong hệ thống API của

Bing Maps.

Bing Map cung cấp cho người dùng các web services. Để sử dụng Bing

Maps trong các ứng dụng của mình người dùng cần đăng ký các Webservices để sử

dụng các lớp do Bing Map cung cấp.

VEGeocodingService: Cung cấp các lớp xác định tạo độ, đưa vào

một địa chỉ và cho kết quả là một tọa độ tương ứng.

http://staging.dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc?

wsdl

Page 61: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

VESearchService:Webservices này cung cấp các lớp Cho phép

người dùng thực hiện các khả năng tìm kiếm vị trí,địa điểm …

http://staging.dev.virtualearth.net/webservices/v1/searchservice/searchservice.svc?

wsdl.

VEImageryService: Webservices này cung cấp các lớp thực hiện

2 chức năng chính. Chức năng đầu tiên là lấy thông tin từ các siêu dữ liệu bao gồm

ngày tạo và các hạng mục hình ảnh. chức năng thứ hai là để lấy hình ảnh bản đồ.

http://staging.dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc?

wsdl

VERoutingService: Webservices này cung cấp các lớp cho phép

người dùng tính toán lộ trình và tính toán đường đi gần nhất khi đi từ địa điểm này đến

địa điểm khác.

http://staging.dev.virtualearth.net/webservices/v1/routeservice/routeservice.svc?wsdl

3.5 Vietbando API

3.5.1 Giới thiệu về Vietbando API

Vietbando Maps API giúp bạn tích hợp bản đồ của Vietbando vào trang web của bạn.

Tương tự như Yahoo Map API, Vietbando Map API cung cấp thông qua Javascript +

DHTML. Hiện tại Vietbando chỉ hỗ trợ bạn nhúng vào ứng dụng web. Vietbando cung

cấp dữ liệu khá chi tiết cho khu vực ở VietNam. VietBando sẽ là một API tốt để cho

các ứng dụng triển khai tại Viêt Nam.

Vietbando API cung cấp một số lượng khá nhiều phương thức để thao tác trên bản đồ.

Được cung cấp dưới các lớp của Javascript. Bao gồm các lớp:

Page 62: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Các lớp để hiển thị bản đồ

Các lớp để mở rộng chức năng của Vietbando API

Hình 3-31 Hình ảnh bản đồ trên VietBanDo

3.5.2 Ưu điểm và khuyết điểm của Vietbando API

a. Ưu điểm

Là một thư viện miễn phí cho lập trình LBS

Cung cấp API cho các ứng dụng khác thông qua nền Javascipt

Phân lớp và phương thức rõ ràng. Kèm theo là tài liệu, hướng dẫn sử

dụng chi tiết

Dữ liệu có chiều sâu ở Việt Nam. Thích hợp cho các ứng dụng trên lãnh

thổ Việt Nam. Dữ liệu được cập nhật thường xuyên.

Hỗ trợ nhúng vào website một cách dễ dàng

Page 63: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

b. Khuyết điểm

Không có dữ liệu của các nước khác, chỉ thích hợp với ứng dụng có tầm

hoạt động ở Việt Nam.

Việc đăng kí sử dụng Vietbando có phần hơi khó khăn, khi bắt buộc

người ta phải có tên miền mới đăng kí được.

Chưa bản đồ hiển thị dưới dạng vệ tinh,chỉ mới là hình vẽ.

3.5.3 Giải Pháp và ứng dụng của Vietbando API

Hiện nay có các ứng dụng được phát triển trên dựa trên nền tảng Vietbando:

Tìm địa điểm: địa chỉ, giao lộ, địa danh, đường phố...

Hoạch định lộ trình: dựa trên chức năng tìm địa điểm mà Vietbando API

cung cấp. Ứng dụng cho phép cá nhân hay doanh nghiệp vận tải hoạch định ra lộ trình

tối ưu (ngắn nhất và dễ đi nhất.., hạn chế gặp lô cốt)

Quản lý vận tải, tài xế: dựa vào bản đồ mà Vietbando cung cấp cùng với

chức năng suy từ tọa độ chuẩn sang địa chỉ, lập trình viên có thể phát triên thêm chức

năng theo dõi xe vận tải, tài xế thông qua GPS. Từ GPS nhận được tọa độ và kết hợp

với bản đồ để thể hiện vị trí đang xe, tài xế đang ở đâu trên bản đồ. Từ đó xác định

được tài xế có bỏ khách, bỏ trạm, chạy sai tuyến hay không. Ứng dụng này cũng cho

phép tài xế liên lạc với tổng đài để được hỗ trợ.

3.5.4 Cách thức sử dụng Vietbando API

a. Cách đăng kí:

Page 64: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tương tự như Yahoo Map API và Google Map API, để sử dụng được API của

Vietbando ứng dụng của bạn cần phải đăng kí một mã số ứng dụng với nhà cung cấp

Vietbando.

Để đăng kí mã số ứng dụng, người dùng truy cập vào địa chỉ sau:

http://www.vietbando.com/api/APIRegister.aspx và tiến hành đăng kí tài khoản cũng

như là website ứng dụng Vietbando.

3.6 Các nền tảng khác.

Địa điểm API: Địa điểm API(www.diadiem.com) cung cấp một sự kết

hợp độc nhất giữa kỹ thuật linh động và việc phát triển các công cụ, việc mở rộng thêm

dữ liệu bản đồ và sự tinh thông kỹ thuật công nghệ có thể giúp cho các doanh nghiệp

và các nhà phát triển hiểu rõ hơn giá trị từ những giải pháp bản đồ số trực tuyến của họ.

MapQuest API: MapQuest(www.mapquest.com) là một dịch vụ bản đồ

trực tuyến được cung cấp bởi công ty AOL(Amerian Online LLC). Người dùng

MapQuest có thể tìm kiếm địa điểm sân bay, khách sạn, nhà hàng, máy ATM. Ngoài ra

người dùng có thể sử dụng MapQuest trên các thiết bị di động. để sự dụng MapQuest

trên thiết bị di động người dùng cần cài đặt gói phần mềm trên di động. Để cho các nhà

phát triển có thể dùng MapQuest để phát triển ứng dụng của mình, MapQuest đã cung

cấp một hệ thống API với nhiều tài liệu hướng dẫn và các ví dụ minh họa giúp người

dùng dể dàng nhúng MapQuest vào trong hệ thống của mình.

Ngoài ra còn nhiều trang web cung cấp bản đồ và hệ thống API giúp các

nhà phát triển có thể thao tác trên hệ thống dữ liệu của họ như:

www.1650km.com(giống trang đia điểm ), www.ordnancesurvey.co.uk (website bản

đồ nước Anh)….

Page 65: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

3.7 So sánh các nền tảng hổ trợ lập trình.

a. Chức năng

Views Google Navizon Bing Maps Yahoo

Maps

VietBanDo

Map View ● ● ● ● ●

Satellite View ● ● ●

Map + Satellite view ● ● ●

Overview Map Pane ● ● ●

Draggable Map ● ● ● ● ●

Shortcut Keys ● ●

Driving Drections 2 điểm 2 điểm 2 điểm Đa điểm 2 điểm

Reverse Route ● ● ●

Email Map ● ● ● ●

Send toPhone ● ● ●

Live Traffic ●

Printable ● ● ● ●

Add to favorites

b. Chi phí sử dụng:

API Giá thành

Google Miễn Phí

Yahoo Miễn phí

Page 66: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Bing Miễn phí

Vietbando Miễn phí

Navizone Có phí

Do đặc tính của luận văn, nên chúng tôi chỉ dùng các thư viên miễn phí. Navizone API

không phải là thư viện phù hợp với luận văn.

c. Dữ liệu:

Google Map API: Dữ liệu của Google Map đã có đầy đủ trên toàn thế

giới, Ở Việt Nam Google Map hiển thị khá chi tiết tên đường, vùng, miền các địa điểm

của các thành phố lớn.

Hình 3-32 Hình ảnh hiển thị của Google Map

Yahoo Map API: dữ liệu chi tiết đường phố hiện đã có ở Hoa kỳ,

Canada, hầu hết các nước Châu Âu. Đối với các nước còn lại trên thế giới thì có dữ

Page 67: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

liệu về ranh giới, thành phố. Ở Việt Nam dữ liệu Yahoo Map chỉ hiển thị ở mức ranh

giới các đường và các thành phố chính.

Hình 3-33 Hình ảnh hiển thị của Yahoo Map

Vietbando API: Đây là bản đồ của Việt Nam xây dựng và chỉ hiển thị

bản đồ của Việt Nam còn các quốc gia khác chỉ hiển thị được ranh giới và tên nước.Dữ

liệu và hình ảnh của Việt bản đồ khá đẹp và đầy đủ hiển thị chi tiết tên đường, địa

điểm.

Page 68: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 3-34 Hình ảnh hiển thị của VietBanDo

Bing Map API: Dữ liệu của Bing Map chủ yếu ở Hoa Kỳ và một vài

thành phố lớn trên thế giới. Ở Việt Nam Bing Map chỉ hiển thị các tên đường và các

thành phố chính.

Hình 3-35 Hình ảnh hiễn thị của Bing Map

Đến đây chúng ta loại bỏ 2 thư viên: Bing Map, Yahoo Map do dữ liệu ở Việt Nam ít.

Page 69: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

d. Tốc độ & hiệu năng:

Phần này luận văn sẽ so sánh tốc độ và hiệu năng của các Map API trên. Đây cũng là

điều kiện quan trọng để quyết định việc chọn platform hỗ trợ cho luận văn này. Do

phạm vi của luận văn là xây dựng dịch vụ cho khu vực nước Việt Nam nên trong lần so

sánh này tôi chọn Internet tại nhà chúng tôi để làm thử nghiệm, các bản đồ đều cùng

trỏ đến một vị trí, vị trí mà chúng tôi chọn hiển thị lên bản đồ là vùng trung tâm thành

phố Hồ Chí Minh. Chọn kích thước hình ảnh trả về là 400px (lớn hơn màn hình điện

thoại di động hiên nay một chút). Chúng tôi có nhận xét sau khi kiểm thử:

API Thời gian

phản hồi

Kích thước Số lượng

file trả về

Chiếm bộ

nhớ

Google 5-6s 233 27 19,8

Yahoo 8-10s 207 24 13,43

Bing 8-10s 236 20 13,9

Vietbando 1-2s 91 25 13,5

Nguyên nhân Vietbando có thời gian đáp ứng nhanh nhất là do hệ thống API

Vietbando có server đặt trong nước do đó thời gian đáp ứng rất ngắn.

e. Kết luận

Do tính chất của luận văn xây dựng dịch vụ ở trên lãnh thổ Việt Nam do đó yêu cầu về

dữ liệu và tốc độ là yếu tố quyết định để chọn Platform hỗ trợ cho luận văn này. Nhóm

luận văn chúng tôi quyết định chọn hai platform Vietbando và Google API để hỗ trợ.

Page 70: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tài liệu tham khảo:

http://msdn.microsoft.com/en-us/library/cc879136.aspx

Bing Maps Brochure

Navizon wifi gps and cell tower positioning

Google Maps API v2

http://en.wikipedia.org/wiki/Google_Earth

http://developer.yahoo.com/maps/

http://en.wikipedia.org/wiki/Yahoo_map

Chương 4 XÂY DỰNG HỆ THỐNG DỮ LIỆU CHO LBS

Nội dung của chương 4 trình bày về các khái niệm tổng quan về GIS, các

loại dữ liệu cho GIS. Nội dung chương 4 nhấn mạnh phân tích các loại dữ liệu cho

GIS, phần tích các mặt mạnh yếu của dữ liệu GIS. Qua chương 4 chúng ta có thể trả

lời được các câu hỏi “GIS là gì? ”, “Có những loại dữ liệu cho GIS? , “Nên dùng loại

dữ liệu nào cho GIS?”

4.1 Tìm hiểu khái niệm và các công nghệ xử lý dữ liệu cho GIS

4.1.1 Khái niệm GIS

Page 71: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

GIS (Geographic Information System): Hệ thống thông tin địa lý là một công cụ cần

thiết cho đô thị, quy hoạch và quản lý tài nguyên.Khả năng của GIS là lưu trử, lấy lại,

phân tích, mô hình và bản đổ các khu vực rộng lớn với khối lượng dữ liệu không gian

lớn.Và có rất nhiều ứng dụng được xây dựng dựa trên GIS. Hệ thống thông tin địa lý

đang được sử dụng để lập kế hoạch sử dụng đất, quản lý các tiện ích, mô hình hệ sinh

thái, cảnh quan và đánh giá kế hoạch, quy hoạch giao thông vận tải và cơ sở hạ tầng,

phân tích thị trường, phân tích tác động trực quan, quản lý phương tiện, đánh giá

thuế,phân tích bất động sản và nhiều ứng dụng khác.

Tóm lại: Hệ thống thông tin địa lý là tập hợp các dữ liệu không gian và các công cụ cần

thiết để làm việc với các dữ liệu đó.

Hệ thống thông tin địa lý(GIS) đóng vai trò quan trong trong quá trình phát triển và

xây dựng hệ thống LBS. Vì GIS là một phần không thể thiếu để xây dựng hệ thống dữ

liệu cho một ứng dụng LBS.

4.1.2 Các thành phần của GIS

Một hệ thống GIS Có 5 thành phần chính: Phần cứng, phần mềm, dữ liệu, con người,

các phương pháp.

Page 72: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 4-36 Các thành phần của GIS

Phần cứng: là hệ thống máy tính trên đó một hệ thống GIS hoạt động.

Ngày nay, phần mềm GIS có khả năng chạy trên nhiều dạng phần cứng, từ máy chủ,

đến các máy trạm…

Phần mềm GIS cung cấp các chức năng và các công cụ cần thiết để lưu

trữ, phân tích và hiển thị thông tin địa lý. Các thành phần chính trong phần mềm GIS

là:

Công cụ nhập và thao tác trên các thông tin địa lý.

Hệ quản trị cơ sở dữ liệu.

Công cụ hổ trợ hỏi đáp, phân tích và hiển thị địa lý.

Giao diện hiển thị người và máy để truy cập các công cụ dễ dàng.

Dữ liệu: có thể xem đây là thành phần quan trọng nhất trong một hệ

thống GIS. Các dữ liệu địa lý và dữ liệu thuộc tính liên quan có thể được người sử

dụng tự tập hợp hoặc mua từ các nhà cung cấp dữ liệu thương mại. Hệ thống GIS sẽ

kết hợp dữ liệu không gian với các nguồn dữ liệu khác. Thậm chí người dùng có thể sử

dụng các hệ quản trị cơ sở dữ liệu để lưu trử và quản lý dữ liệu.

Con người: Công nghệ GIS sẽ bị hạn chế nếu không có con người tham

gia quản lý hệ thống và phát triển những ứng dụng GIS trong thực tế. Người sử dụng

GIS có thể là các chuyên gia kỷ thuật, người thiết kế và duy trì hệ thống, hoặc những

người dùng GIS để giải quyết các vấn đề trong công việc.

Các phương pháp: Phương pháp tốt sẽ giúp cho hệ thống GIS đạt được

thành công.

4.1.3 Dữ liệu của GIS.

Page 73: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

a. Dữ liệu vector

Dữ liệu Vector sử dụng các đường hay điểm, được xác định bằng các cặp tọa độ (X,Y)

của chúng trên bản đồ. Các đối tượng rời rạc( trong đó có các đối tượng đa giác) được

tạo bởi liên kết giữa các đoạn cung( đường) và các điểm.

Điểm: dùng cho tất cả các đối tượng không gian được biểu diễn

như là một cặp tọa độ (X,Y). Ngoài giá trị tọa độ (X,Y), điểm còn thể hiện kiểu điểm,

màu, hình dạng và dữ liệu thuộc tính đi kèm. Do đó trên bản đồ điểm được biểu diễn ở

dạng ký hiệu hoặc văn bản.

Hình 4-37 Dữ liệu điểm

Cung: dùng để biểu diễn tất cả các thực thể có dạng tuyến được

tạo từ hai hay nhiều cặp tọa độ (X,Y). Ví dụ đường dùng để biểu diễn hệ thống giao

thông, hệ thống ống thoát nước…đọ dài của cung được tính dựa trên các cặp tọa độ

(X,Y).

Page 74: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 4-38 Dữ liệu đường

Vùng: là một đối tượng hình học 2 chiều vùng có thể là một đa

giác hoặc tập hợp nhiều đa giác. Một đa giác được cấu tạo từ các điểm và các cung nối

giữa các điểm đó. Do một vùng được cấu tạo từ các đa giác nên cấu trúc dữ liệu của

các đa giác bao gồm các điểm và cung phải được ghi nhận lại.

Hình 4-39 Dữ liệu vùng

Page 75: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

b. Dữ liệu raster

Dữ liệu raster là một tập hợp ô vuông hoặc tập hợp điểm ảnh(pixel). Cấu trúc đơn giản

nhất gồm mảng các ô của bản đồ. Mỗi ô trên bản đồ biểu diễn bởi một tổ hợp tọa

độ(hàng,cột), và một giá trị biểu diễn kiểu hoặc thuộc tính của ô đó trên các bản đồ.

Trong cấu trúc này mỗi ô tương ứng với một điểm. Khái niệm đường lá một tập hợp

các ô gần nhau. Miền là một nhóm các ô liền nhau. Dạng dữ liệu này dễ lưu trử, thao

tác và thể hiện. Cấu trúc này cũng có nghĩa là những khu vực có kích thước nhỏ hơn 1

điểm cũng không thể thệ hiện được.

Hình 4-40 Dữ liệu raster

Mô hình dữ liệu Raster là mô hình dữ liệu GIS được sử dụng rộng rãi trong các bài

toán về môi trường, quản lý tài nguyên thiên nhiên.

Các nguồn dữ liệu xây dựng nên dữ liệu raster:

Dữ liệu có được từ ảnh quét.

Dữ liệu ảnh máy bay, ảnh viễn thám.

Page 76: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Dữ liệu được chuyển từ dữ liệu vector sang.

Dữ liệu được lưu trử ở dạng raster

Dữ liệu raster thường có kích thước rất lớn nếu không có cách lưu trử thích hợp. Do đó

chúng ta có thể sử dụng các phương pháp nén để giảm kích thước dữ liệu raster trước

khi đem lưu trữ chúng. Thông thường người ta dùng các phương pháp nén TIFF, RLE,

JPEG, GIF…

c. So sánh dữ liệu vector và dữ liệu raster

Dữ liệu vector

Ưu điểm:

Biểu diễn tốt các đối tượng địa lý.

Dữ liệu nhỏ, gọn.

Chính xác về hình học.

Khả năng sửa chữa, bổ sung, thay đổi các dữ liệu hình học cũng

như thuộc tính nhanh, tiện lợi.

Nhược điểm:

Cấu trúc dữ liệu phức tạp.

Chồng xếp bản đồ phức tạp.

Các bài toán mô phỏng thường khó giải vì mổi đơn vị không gian

có cấu trúc khác nhau.

Page 77: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kỷ thuật xử lý phức tạp.

Dữ liệu raster

Ưu điểm

Cấu trúc rất đơn giản.

Dễ dàng sử dụng các phép toán chồng xếp và các phép toán xử lý

ảnh viễn thám.

Dễ dàng thực hiện các phép toán phân tích khác nhau.

Kỷ thuật sử lý đơn giản.

Nhược điểm

Dung lượng dữ liệu lớn.

Độ chính xác có thể giảm nếu sử dụng không hợp lý kích thước

các ô đơn vị.

Bản đồ hiển thị không đẹp.

Khối lượng tính toán để chuyển đổi tọa độ rất lớn.

Nhìn chung dữ liệu vector dùng để mô tả các đối tượng rời rạc,

trong khi mô hình dữ liệu raster được dùng để biểu diễn các đối tượng liên tục. Cả 2

mô hình dữ liệu này đều có những ưu điểm và nhược điểm cần xem xét khi xây dựng

dữ liệu cho hệ thống GIS.

4.1.4 Lưu trữ dữ liệu GIS

Page 78: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Trong ứng dụng dịch vụ hướng vị trí, thành phần dữ liệu là một trong những thành

phần quan trọng hàng đầu. Vì vậy chúng ta cần có một phương pháp lưu trữ hữu hiệu

để đáp ứng tốt cho ứng dụng.

a. Lưu trữ dưới dạng tập tin:

Lưu trữ dưới dạng tập tin chúng ta gặp các vấn đề sau cho ứng dụng LBS:

Có sự liên kết chặt chẽ giữa cấu trúc luận lý và cấu trúc vật lý của các tập

tin và chương trình ứng dụng LBS. Điều nay khiến cho việc phát triển cũng như mở

rộng ứng dụng khó khăn và tốn kém về thời gian & tiền bạc trong quá trình bảo trì

Có sự dư thừa dữ liệu lớn . Điều này tạo ra các vấn đề liên quan như: dữ

liệu thiếu nhất quán, không gian đĩa bị lãng phí.

Người sử dụng có ít khả năng khai thác trực tiếp lên dữ liệu.

Không cho phép truy cập đồng thời lên cùng một tập tin điều này làm

cho hiệu suất của hệ thông không cao.

b. Lưu trữ dùng hệ quản trị CSDL:

Cũng như các ứng dụng sử dụng Hệ quản trị CSDL để lưu trữ dữ liệu cho ứng dụng

của mình. Ứng dụng LBS sử dụng CSDL có một những ưu điểu sau:

Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được

tính nhất quán và toàn vẹn dữ liệu.

Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau: Khi truy

vấn, tìm kiếm địa chỉ, tùy theo mục đích mà người dùng sẽ truy vấn trên những trường

dữ liệu khác nhau. Có người truy xuất dữ liệu qua tọa độ, có người truy xuất qua vị trí

Page 79: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Khả năng chia sẽ cho nhiều người dùng: Cho phép nhiều người dùng

cùng truy xuất vào một thời điểm.

Đảm bảo tính chủ quyền của dữ liệu: Tính chủ quyền của dữ liệu được

thể hiện ở phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa

của dữ liệu và tính chính xác của dữ liệu.

Tránh tranh chấp dữ liệu: Nhiều người được phép truy nhập cùng một lúc

vào tài nguyên dữ liệu của CSDL với những mục đích khác nhau

Đảm bảo an toàn dữ liệu khi gặp sự cố: Việc quản lý dữ liệu tập trung có

thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột

xuất, hay một phần đĩa lưu trữ. Khi gặp sự cố, hệ quản trị có cơ chế để hồi phục,

backup dữ liệu

Hiện nay trên thị trường có nhiều phần mềm hệ quản trị cơ sơ dữ liệu : Oracle, SQL

Server, DB2… Mỗi hệ quản trị có một cách tổ chức quản lý dữ liệu riêng, tuy nhiên tất

cả cùng chung một mục đích là đáp ứng những yêu cầu trên

Page 80: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Ph n B- Xây d ng ng d ngầ ự ứ ụ

MobiLocate

Page 81: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Chương 5 XÁC ĐỊNH YÊU CẦU

Nội dung của chương 5

5.1 Đặc tả bài toán

Được sự phân công của bộ môn Công Nghệ Phần Mềm – Khoa Công nghệ thông tin,

nhóm em thực hiện nghiên cứu và viết ứng dụng về Location based service trên thiết bị

di động sử dụng hệ điều hành Windows Mobile 5+ , với sự hỗ trợ của các Platform

GoogleMap, VietBanDo. Ứng dụng Location based service nhằm hỗ trợ người dùng về

đường đi, địa điểm.

Khi ứng dụng được kích hoạt chạy, ứng dụng thể hiện lên màn hình bản đồ xung quanh

vị trí hiện tại của người dùng. Đồng thời trên bản đồ phải có chú thích được dữ liệu

trên con đường đó như là tên đường, địa điểm, quán ăn, trường học… Khi người dùng

click vào địa điểm nào đó trên bản đồ, ứng dụng sẽ hiển thị ra thông tin chi tiết : hình

ảnh, địa chỉ liên lạc, giới thiệu sơ lược về địa chỉ đó. Khi xem thông tin chi tiết về địa

điểm nào đó, đôi khi người dùng chọn đó là địa điểm yêu thích, hệ thống sẽ lưu lại để

nhanh chóng tìm kiếm lại vị trí này. Người dùng cũng có nhu cầu chỉnh sửa tên địa

điểm yêu thích, hoặc xóa địa điểm yêu thích. Với các nhu cầu xóa, sửa địa điểm yêu

thích người dùng luôn luôn phải đi qua màn hình quản lý các địa điểm yêu thích.

Việc tìm địa điểm một địa điểm là một trong những yêu cầu tối thiểu của ứng dụng.

Khi người dùng đồng ý tìm kiếm, ứng dụng sẽ hiển thị danh sách các kết quả tương

ứng với địa điểm mà người dùng. Trong danh sách đó người dùng sẽ chọn địa điểm mà

cho là đúng nhất, khi người dùng chọn địa điểm đó ứng dụng sẽ hiển thị bản đồ tương

Page 82: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

với điểm đó và các vùng lân cận. Trong khi tìm kiếm người dùng cũng hay dùng các

chức năng tính độ dài đoạn đường từ vị trí hiện tại đến vị trí tìm kiếm, tìm đường đi

ngắn nhất từ vị trí hiện tại, lưu vị trí tìm kiếm vào danh mục yêu thích.

Tính độ dài của đoạn đường: Là chức năng cho phép người dùng xác định độ dài giữa

hai địa điểm mà người dùng đã xác định trước để đo. Hệ thống sẽ trả ra cho người

dùng độ dài giữa hai địa điểm đó.

Tìm con đường ngắn nhất: Chức năng thể hiện sự hướng dẫn của ứng dụng cho người

đi đường, để đi đến đích với con đường ngắn nhất. Ứng dụng sẽ vẽ lên bản đồ các con

đường cần phải đi qua để đi tới đích. Nếu người dùng đi sai đường, ngược đường với

hệ thống chỉ dẫn chương trình sẽ đưa ra cảnh báo lạc đường tới cho người dùng. Trong

quá trình thông báo lạc đường còn người cũng có thể nhấn nút là thông báo về việc đi

chắc chắn của mình để ứng dụng ngừng cảnh báo.

Tìm những địa điểm thuộc một lĩnh vực nào đó trong vùng lân cận: đây là một chức

năng hay của ứng dụng giúp cho người dùng xác định xung quanh mình có những địa

điểm nào mình quan tâm như là: gần đây có nhà hàng nào không? Có địa điểm rút tiền

nào không? Có quán tạp hóa nào không ? Chức năng này hướng đến người dùng du

lịch, những người không biết rõ về vùng họ đang đi tới. Đồng thời, nếu người dùng

chọn chế độ tự cảnh báo thì khi người dùng bước vào một khu vực có độ an toàn khá

thấp thì ứng dụng cảnh báo cho người dùng biết để phòng tránh. Ví dụ khu vực hay

xảy ra cướp giật, móc túi, hay gặp tai nạn…Người dùng có thể thêm địa điểm vừa tìm

kiếm vào vị trị yêu thích.

Để nâng cao tính ổn định của dịch vụ, đề phòng trường hợp Google Map, Vietbando

không thể truy cập, ứng dụng vẫn có khả năng tự đáp ứng dữ liệu trong một khu vực

nhỏ nào đó.

Việc lấy địa điểm hiện tại của người dùng được hỗ trợ qua thiết bị GPS. Trong trường

hợp ứng dụng được cài đặt trên điện thoại không hỗ trợ GPS, hoặc thiệt bị GPS gặp

Page 83: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

vấn đề trong quá trình lấy dữ liệu thì ứng dụng tự động chuyển sang sử dụng công nghệ

CellID để lấy vị trí hiện tại của người dùng, mặc dù CellID không được chính xác.

5.2 Sơ đồ Use-Case.

Cap nhat dia diem yeu thich

Hien thi ket qua dinh vi

Hien thi ban do

He thong cung cap ban do

Hien thi ket qua tim kiem

Nguoi dung

Tim kiem dia diem gan dung

<<include>> Tim kiem theo loai dia diem

<<include>>

Tim kiem

Tim kiem duong di

<<include>>

Di chuyen ban do

Duyet ban do

Phong to - Thu nho ban do

<<include>>

<<include>>

<<include>>

Dinh vi bang GPS

<<include>>

Dinh vi

Dinh vi bang Cell ID

<<include>>

Hình 5-41Sơ đồ Use-Case.

Page 84: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

5.2.1 Danh sách Actor.

STT Tên Actors Ý nghĩa/Ghi chú

1 Người dùng Là người dùng hệ thống. Người dùng sử dụng thiết bị

di động để thao tác trên bản đồ.

2 Hệ thống cung

cấp bản đồ

Cung cấp bản đồ cho hệ thống.

5.2.2 Danh sách Use-Case.

STT Tên Use-Case Ý nghĩa/Ghi chú

1 Duyệt bản đồ Người dùng duyệt kéo thả, phóng to thu nhỏ bản đồ.

2 Phóng to-thu

nhỏ bản đồ

Người dùng phóng to thu nhỏ bản đồ.

3 Di chuyển bản

đồ

Người dùng kéo thả bản đồ.

4 Tìm kiếm Tìm kiếm đường đi và địa địa.

5 Tìm Kiếm

đường di

Tìm kiếm danh sách đường di giữa 2 điểm.

Tìm kiếm đường đi ngắn nhất giữa 2 điểm.

6 Tìm kiếm theo

loại địa điểm

Tìm kiếm địa điểm theo loại địa điểm( ngân hàng,

ATM, bưu điện, chợ, Siêu thị, cây xăng….)

7 Tìm kiếm địa

điểm gần

đúng

Người dùng nhập vào một từ khóa. Hệ thống sẽ tìm

ra danh sách địa điểm gần đúng dựa và tên địa điểm.

8 Hiển thị kết

quả tìm kiếm

Hiển thị kết quả tìm kiếm trên bản đồ. Và di chuyển

bản đồ đến vị trí vừa tìm được.

Nếu là tìm kiếm đường đi, hệ thống sẽ vẽ đường đi

Page 85: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

từ điểm bắt đầu đến điểm kết thúc và hiện danh sách

đường đi cần đi qua.

9 Hiển thị bản

đồ

Hiển thị bản đồ theo yêu cầu của hệ thống.

10 Định vị Xác định vị trí của người dùng thiết bị di động.

11 Định vị bằng

Cell ID

Dùng kỉ thuật định vị Cell ID để xác định vị trí của

người dùng.

12 Định vị bằng

GPS

Dùng kỉ thuật định vị GPS để xác định vị trí của

người dùng.

13 Hiển thị kết

quả định vị

Hiển thị kết quả định vị lên bản đồ. Và di chuyển bản

đồ đến vị trí vừa tìm được.

14 Cập nhật địa

điểm yêu

thích.

Khi người dùng tìm kiếm được các địa điểm yêu

thích, người dùng có thể cập nhật( thêm, xóa ,sửa)

địa điểm vào danh sách địa điểm yêu thích.

5.2.3 Đặt tả Use-Case

Đặt tả Use-Case “duyệt bản đồ”.

a. Tóm tắt.

Use-Case này cho phép người dùng duyệt kéo thả, phóng to và thu nhỏ bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case này bắt đầu khi người dùng mở ứng dụng. Và cho phép người dùng thao tác

lên bản đồ.

Người dùng click chuột lên bản đồ và tiến hành kéo thả để duy chuyển bản đồ.

Người dùng chọn “+” để phóng to bản đồ và “-“ để thu nhỏ bản đồ.

Page 86: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Ứng dụng đã được mở và đang hiển thị ở màn hình chính (Màn hình hiển thị bản đồ).

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công . Hệ thống sẽ hiện thị bản đồ theo ý của người

dùng.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “Phóng to-thu nhỏ bản đồ”.

a. Tóm tắt.

Use-Case này cho phép người dùng phóng to và thu nhỏ bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case này bắt đầu khi người dùng muốn phóng to hoặc thu nhỏ bản đồ hiển thị.

- Người dùng chọn vào “+” để tiến hành phóng to hoặc “-“ để thu nhỏ bản đồ.

- Hệ thống xác định là phóng to hoặc thu nhỏ bản đồ theo ý của người dùng.

Các dòng sự kiện khác.

Không có.

Page 87: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Ứng dụng đang được mở và đang hiển thị màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công thì hệ thống sẽ hiển thị bản đồ ở dạng phóng to

hoặc thu nhỏ. Ngược lại sẽ không thay đổi gì cả.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “di chuyển bản đồ”.

a. Tóm tắt.

Use-Case này cho phép người dùng kéo thả bản đồ để hiển thị các vùng không gian

khác của bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case này bắt đầu khi người dùng muốn kéo thả bản đồ để hiển thị các vùng không

gian khác của bản đồ.

- Người dùng dùng chuột để kéo thả trực tiếp trên bản đồ.

- Hệ thống xác định vị trí click chuột và nhã chuột sau đó sẽ hiển thị bản đồ theo

ý của người dùng.

Các dòng sự kiện khác.

Không có.

Page 88: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Ứng dụng đã được mở và đang hiển thị ở màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công thì sẽ hiện thị bản đồ theo ý của người dùng.

Ngược lại sẽ không thay đổi gì cả.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “tìm kiếm”.

a. Tóm tắt.

Use-Case này cho phép người dùng tìm kiếm địa điểm, đường đi và hiển thị kết quả lên

trên bản đồ bằng biểu tượng địa điểm hoặc đường đi.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi người dùng muốn thực hiện tìm kiếm.

- Người dùng chọn vào menu “Tìm kiếm” trong danh sách menu của ứng

dụng.

- Trong menu “tìm kiếm” chúng ta có thể chọn các menu cho các chức

năng khác nhau:

Tìm kiếm danh sách đường đi.

Tìm kiếm đường di ngắn nhất.

Tìm kiếm theo loại địa điểm.

Page 89: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tìm kiếm theo địa điểm gần đúng.

- Sau khi thực hiện tìm kiếm hệ thống sẽ hiển thị kết quả tìm kiếm lên bản

đồ.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Ứng dụng đã được mở và đang ở màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công. Hệ thống sẽ hiển thị kết quả lên bản đồ của ứng

dụng bằng các biểu tượng nếu là địa điểm, đường đi được tô màu nếu là đường di.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “tìm kiếm đường đi”.

a. Tóm tắt.

Use-Case này cho phép người dùng tìm đường đi ngắn nhất hoặc tìm danh sách đường

đi. Và hiển thị kết quả lên bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi người dùng muốn thực hiện tìm kiếm đường đi.

Page 90: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

- Người dùng chọn menu “Tìm kiếm đường đi” trong danh sách menu của ứng

dụng”

- Trong menu “tìm kiếm đường đi”, người dùng có thể chọn tìm kiếm đường di

ngắn nhất hoặc tìm danh sách đường đi.

- Người dùng dùng chuột để chọn điểm đầu( nằm trên đường đi đầu tiên) và điểm

cuối(nằm trên đường đi kết thúc).

- Hệ thống sẽ xử lý và trả về kết quả cho người dùng là đường đi ngắn nhất hoặc

danh sách đường đi dựa vào điểm đầu và điểm cuối.

- Người dùng chọn một đường đi trong danh sách đường đi(nếu chọn menu “tìm

kiếm danh sách đường đi”.

- Hệ thống sẽ hiện thị kết quả là đường đi( được tô màu khác) từ điểm đầu đến

điểm cuối và danh sách các đường mà nó đi qua.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Ứng dụng đang được mở và đang hiển thị màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công sẽ trả về kết quả cho người sử dụng. Ngược lại hệ

thống sẽ thông báo là “không có đường đi!”.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “tìm kiếm theo loại địa điểm”.

Page 91: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

a. Tóm tắt.

Use-Case này cho phép người dùng tìm kiếm theo loại địa điểm: nhà hàng, ATM,bưu

điện,chợ…. Và hiển thị kết quả tìm kiếm lên trên bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi người đúng muốn thực hiện tìm kiếm theo loại địa điểm.

- Người dùng chọn menu “Tìm kiểm theo loại địa điểm” trong danh sách menu

của ứng dụng.

- Hệ thống sẽ hiện thị danh sách loại địa điểm: nhà hàng, ATM, bưu điện…Người

dùng chọn một loại địa điểm.

- Hệ thống sẽ hiển thị danh sách các địa điểm liên quan đến loại địa điểm

đó….Người dùng sẽ chọn địa điểm mà mình mong muốn.

- Hệ thống sẽ hiển thị kết quả tỉm kiếm lên trên bản đồ bằng một biểu tượng

tương ứng với loại địa điểm.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đã được mở và đang hiển thị màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công hệ thống sẽ hiển thị địa điểm mà người dùng tìm

kiếm và di chuyển bản đồ đến vị trí đó. Ngược lại sẽ không thay đổi gì cả.

Page 92: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “Tìm kiếm địa điểm gần đúng”.

a. Tóm tắt.

Use-Case này cho phép ngươi dùng tìm kiếm một địa điểm theo tên.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi người dùng muốn tìm kiếm một địa điểm.

- Người dùng chọn menu “Tìm kiếm địa điểm gần đúng” trong danh sách menu

của hệ thống.

- Hệ thống sẽ hiện thị một TextBox để người dùng nhập vào tên của địa điểm.

- Hệ thống sẽ tìm ra danh sách các địa điểm gần đúng với tên người dùng nhập

vào.

- Người dùng chọn một địa điểm trong danh sách.

- Hệ thống sẽ hiển thị địa điểm đó lên bản đồ.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đang được mở và ứng dụng đang hiển thị màn hình chính.

Page 93: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thanh công, hệ thống sẽ hiễn thị kết quả lên bản đồ ngược lại

sẽ không thây đổi gì cả.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “Hiển thị kết quả tìm kiếm”.

a. Tóm tắt.

Use-Case này cho phép hiển thị kết quả tìm kiếm lên trên bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi hệ thống muốn hiển thị kết quả tìm kiếm lên trên bản đồ.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đang thực hiện tìm kiếm và trả ra kết quả để hiện thị lên bản đồ.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công, kết quả tìm kiếm sẽ được hiển thị lên bản đồ,

ngược lại không thay đổi gì cả.

f. Điểm mở rộng.

Không có.

Page 94: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Đặt tả Use-Case “Hiển thị bản đồ”.

a. Tóm tắt.

Use-Case này cho phép hệ thống hiển thị bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case này thực hiện khi hệ thống muốn hiển thị bản đồ.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đang được mở hoặc cần hiển thị lại bản đồ.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công hệ thống sẽ hiển thị bản đồ lên cho người dùng,

ngược lại hệ thống sẽ thông báo “Không thể tải bản đồ”.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “Định vị”.

a. Tóm tắt.

Use-Case này cho phép người dùng xác định vị trí của mình trên bản đồ của hệ thống.

Page 95: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case được thực hiện khi người dùng muốn thực hiện định vị để xác định vị trí.

- Người dùng chọn menu “Đinh vị “ trong danh sách menu của hệ thống.

- Hệ thống sẽ tiến hành định vị dựa vào các công nghệ định vị( Cell ID,

GPS).

- Hệ thống hiển thị kết quả định vị lên bản đồ với một biểu tượng tương

ứng và di chuyển bản đồ về vị trí định vị.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đang được mở và đang hiển thị màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công, hệ thống sẽ hiển thị kết quả lên trên bản đồ,

ngược lại sẽ không thay đổi gì cả.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “Định vị bằng Cell ID”.

a. Tóm tắt.

Page 96: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Use-Case này cho phép người dùng sử dụng công nghệ Cell ID để xác định vị trí cùa

mình và hiển thị kết quả lên bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi người dùng muốn định vị bằng công nghệ Cell ID.

- Người dùng chọn menu “Định vị bằng Cell ID” trong danh sách menu

menu của hệ thống.

- Hệ thống sẽ tiến hành định vị dựa vào các trạm sóng phát tín hiệu di

động. Và nhận về các giá trị định vị tương ứng.

- Hệ thống sẽ hiển thị kết quả định vị lên trên bản đồ bằng một biểu tượng

tương ứng. Và di chuyển bản đồ đến vị trí định vị.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đang được mở và đang hiển thị màn hình chính.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công. Hê thống sẽ hiển thị kết quả định vị lên bản đồ.

Ngược lại hệ thống sẽ không thay đổi gì cả.

Điểm mở rộng.

Không có.

Page 97: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Đặt tả Use-Case “Định vị bằng GPS”.

a. Tóm tắt.Use-Case này cho phép người dùng sử dụng công nghệ định vị toàn cầu GPS để xác

định vị trí của mình trên bản đồ của hệ thống.

a. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi người dùng muốn dùng công nghệ định vị GPS để xác định vị trí.

- Người dùng chọn menu “Định vị bẳng GPS” trong danh sách menu của

hệ thống.

- Hệ thống sẽ bật tính năng định vị GPS của thiết bị di động.

- Hệ thống nhân các giá trị trả vế từ GPS.

- Hiển thị kết quả định vị lên trên bản đồ bằng một biểu tượng tương ứng

và di chuyển bản đồ đến vị trí tương ứng.

Các dòng sự kiện khác.

Không có.

b. Các yêu cầu đặc biệt.Không có.

c. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.Hệ thống đang được mở và hiển thị ở màn hình chính.

d. Trạng thái hệ thống sau khi thực hiện Use-Case.Nếu Use-Case thực hiện thành công, hệ thống sẽ hiện thị kết quả định vị lên màn hình

chính. Ngược lại hệ thống sẽ không thay đổi gì cả.

Page 98: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

e. Điểm mở rộng.Không có.

Đặt tả Use-Case “Hiển thị kết quả định vị”.

a. Tóm tắt.

Use-Case này cho phép hệ thống hiển thị kết quả định vị lên trên bản đồ.

b. Dòng sự kiện.

Dòng sự kiện chính.

Use-Case bắt đầu khi hệ thống hiển thị kết quả định vị lên bản đồ.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Use-Case bắt đầu khi hệ thông đã thực hiện định vị (GPS, Cell ID). Và muốn hiển thị

kết quả lên bản đồ.

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-Case thực hiện thành công hệ thống sẽ trả về bản đồ cùng với kết quả định

vị. Ngược lại hệ thống sẽ không thay đổi gì cả.

f. Điểm mở rộng.

Không có.

Đặt tả Use-Case “Cập nhật địa điểm yêu thích”.

Page 99: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

a. Tóm tắt.

Use-Case này cho phép người dùng thêm, xóa các địa điểm yêu thích.

b. Dòng sự kiện.

Dòng sự kiện chính.

Dòng sự kiện thêm: được thực hiện khi người dùng muốn thêm một địa điểm yêu

thích và danh sách địa điểm yêu thích của mình.

- Người dùng chọn địa điểm cần thêm trên màn hình hiển thị.

- Hệ thống tiến hành cập nhật địa điểm đó và danh sách địa điểm yêu thích của

người dùng.

Dòng sự kiện Xóa: Dòng sự kiện này cho phép người dùng xóa địa điểm yêu thích

trong danh sách địa điểm yêu thích của người dùng.

- Người dùng chọn menu “Địa điểm yêu thích” trong danh sách menu của hệ

thống.

- Người dùng chọn một địa điểm và chọn xóa địa điểm.

- Hê thống sẽ tiến hành cập nhật lại danh sách địa điểm yêu thích của người dùng.

Các dòng sự kiện khác.

Không có.

c. Các yêu cầu đặc biệt.

Không có.

d. Trạng thái hệ thống khi bắt đầu thực hiện Use-Case.

Hệ thống đã được mở và đang ở màn hình chính.

Page 100: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

e. Trạng thái hệ thống sau khi thực hiện Use-Case.

Nếu Use-case thực hiện thành công hệ thống sẽ cập nhật danh sách địa điểm yêu thích

của người dùng, ngược lại hệ thống sẽ thông báo lổi “ không cập nhật được địa điểm

yêu thích”.

f. Điểm mở rộng.

Không có.

5.2.4 Mô tả dữ liệu cho hệ thống LBS

a. Lược đồ CSDL

b. Mô tả chi tiết

Bảng dữ liệu Place

Page 101: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Bảng dữ liệu Place nhằm mô tả chi tiết về một địa điểm nào đó. Dựa vào đây ta có thể

xác định được thông tin của một địa điểm trên bản đồ.

STT Thuộc tính Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int Khóa chính Là mã số để phân biệt với

các địa điểm khác

2 Type Int Khóa ngoại Dùng để mô tả loại địa điểm

3 FullName Nvarchar(255) Mô tả chi tiết thông tin về địa

điểm.

4 Address Nvarchar(255) Mô tả địa chỉ của địa điểm

5 Contact Nvarchar(MAX) Thông tin để bổ sung cho địa

điểm. Field này có ý nghĩa về

mặt thông tin, không có ý

nghĩa về mặt tìm kiếm

6 xLocation Float Mô tả vĩ độ của địa điểm.

Field có ý nghĩa về mặt tìm

kiếm, giúp chúng ta xác định

được địa điểm khi biết được

Page 102: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

tọa độ

7 yLocation Float Mô tả tung độ của địa điểm.

Field có ý nghĩa về mặt tìm

kiếm, giúp chúng ta xác định

được địa điểm khi biết được

tọa độ

8 Placeinfo int Thông tin bổ sung thêm cho

địa điểm. Ví dụ: địa chỉ liên

lạc, hình ảnh, giới thiệu…

9 Keyword Nvarchar(255) Field lưu giữ những từ khóa

của địa điểm đó, có ý nghĩa

về mặt tìm kiếm. Dựa vào

keyword này để xác định vị

trí của một địa điểm

Để minh họa rõ ý nghĩa của bảng dữ liệu Place chúng ta xét hai vấn đề như sau:

- Làm thế nào để xác định thông tin của địa điểm có tọa độ (21.01388 105.8133):

Khi biết được tọa độ của vị trí tức là ta có dữ liệu của hai field xLocation, yLocation.

Dựa vào đây ta truy vấn ra các thông tin cần thiết của một địa chỉ.

- Làm thế nào xác định được thông tin của địa điểm khi biết tên địa điểm là ATM:

Khi biết tên địa điêm, ta dựa vào field keyword để thực hiện tìm kiếm. Dựa vào thông

tin vị trí hiện tại của người dùng, kết hợp với dữ liệu từ hai field xLocation, yLocation

từ đó ta truy vấn ra tập tất cả những địa diểm có tên là ATM

Bảng dữ liệu PlaceInfo

Page 103: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Bảng dữ liệu này mô tả thông tin thêm cho một địa điểm nào đó trong bảng dữ liệu

Place. Các dữ liệu bổ sung này có ích đối với người xem bản đồ, cần biết về hình ảnh,

địa chỉ liên lạc.

Bảng dữ liệu PlaceType

Bảng dữ liệu này mô tả các loại địa điểm của một điểm như là: ATM, bưu điện, nhà

hàng. Để dựa vào đây và kết hợp với bảng dữ liệu Place trên ta tìm kiếm các loại địa

điểm xung quanh vị trí đang đứng

STT Thuộc tính Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int Khóa chính Mã số của một loại địa điêm

2 Description Nvarchar(MAX) Mô tả tên loại địa điểm

3 Picture Nvarchar(255) Đường dẫn hình ảnh đại diện

Để minh họa rõ hơn về ý nghĩa của bảng dữ liệu PlaceType và cũng để giải thích tại

sao lại xây dựng bảng dữ liệu này, chúng ta xét ví dụ sau:

Page 104: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tìm kiếm những nhà hàng có xung quanh tôi? : Như vậy chúng ta có thông tin là

loại địa điểm là Nhà Hàng. Dựa vào field Description trên bảng dữ liệu PlaceType

chúng ta suy ra được mã số của loại địa điểm này. Dựa vào mã số của loại địa điểm

cùng kết hợp với field Type trong bảng dữ liệu Place trên, chúng ta lấy ra được những

địa điểm thuộc loại “Nhà Hàng”. Sau đó kết hợp giữa vị trí của người dùng và vị trí

của địa điểm ta suy ra đó có phải là địa điểm xung quanh hay không. Từ đó xuất ra tập

hợp các địa điểm có kiểu là Nhà Hàng xung quanh vị trí người dùng.

Bảng dữ liệu Street

STT Thuộc tính Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int Khóa chính

2 FullName Nvarchar(255) Tên đường

3 Strartnode Int Khóa ngoại Tọa độ điểm bắt đầu con

đường

4 Endnode Int Khóa ngoại Tọa độ cuối con đường

5 Nodecount Int Số lượng các đoạn đường

trong con đường

Page 105: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

6 Tags Nvarchar(255) Thông tin thêm, có ý nhĩa

trong tìm kiếm

7 Twoway Int Để cho biết đây có phải là con

đường hai chiều hay không?

8 Info Nvarchar(255) Thông tin đường

9 State Int Tình trạng đường

10 Keyword Nvarchar(255) Là từ khóa để phục vụ cho tìm

kiếm

Bảng dữ liệu Street cung cấp cho chúng ta dữ liệu các con đường, nhằm phục vụ

cho quá trình tìm kiếm tên đường, địa điểm. Bảng này kết hợp với bảng dữ liệu

NodeInfo sẽ cho chúng ta tọa độ chính xác của con đường.

Ví dụ: để tìm con đường Nguyen Trai, Đơn giản chi là so sánh với field Keyword

nếu keyword có chứa từ Nguyễn Trãi thì lấy thông tin về con đường đó ra.

Bảng dữ liệu NodeInfo

STT Thuộc tính Kiểu dữ liệu Ràng buộc Mô tả

1 Id Int Khóa chính

2 xLocation Float Tọa độ longitude.

3 yLocation Float Tọa độ latitude.

Page 106: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Bảng này mô tả tọa độ của các node trên con đường. Bảng này có ý nghĩa khi cùng

kết hợp với bảng dữ liệu StreetSegment

Bảng dữ liệu StreetSegment

Đây là bảng dữ liệu quan trọng mô tả từng đoạn đường trong con đường, nhằm mục

đích cho tìm kiếm đường đi ngắn nhất giữa hai điểm cho trước.

STT Thuộc tính Kiểu dữ liệu Ràng buộc Mô tả

1 StartPoint Int Khóa ngoại Là điểm bắt đầu của đoạn

đường

2 IDStreet Int Khóa ngoại Con đường mà chứa đoạn

đường này

3 Order Int Số thứ tự của đoạn đường

4 EndPoint Int Điểm kết thúc của đoạn

đường

Bảng dữ liệu sẽ kết hợp với bảng dữ liệu NodeInfo để lấy tọa độ chính xác của

điểm đầu điểm cuối.

Để minh họa ý nghĩ của ba bảng dữ liệu NodeInfo, StreetSegment, Street. Chúng ta

xét một ví dụ tìm đường đi ngắn nhất như sau:

Page 107: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tìm đường ngắn nhất từ một điểm đến một điểm? Khi chúng ta có được tọa độ của

một điểm thì chúng ta dễ dàng suy ra được StartPoint hoặc EndPoint trên đoạn đường

dựa vào sự liên hệ giữa NodeInfo và StreetSegment. Sau khi tìm được StartPoint hoặc

EndPoint chúng ta tìm các StartPoint, EndPoint khác có liên hệ với StartPoint và

EndPoint vừa tìm. Sau đó sử dụng thuật toán để chọn ra Segment cần đi tiếp theo. Sau

đó kết hợp các segment vừa tìm được lại thành đường đi ngắn nhất.

Chương 6 KIẾN TRÚC PHẦN MỀM CHO LBS

Nội dung của chương 6 trình bày về kiến trúc cho hệ thống LBS. Chương này

nêu rõ khái niệm, phân tích các điểm mạnh, yếu của các kiến trúc trước đây. Để từ đó

đề nghị nên một kiến trúc mới thích hợp hơn với hệ thống LBS hiện tại, kiến trúc SOA.

Chương 5 cũng nêu rõ lý do cần thiết của kiến trúc SOA & Webservice vào hệ thống

ứng dụng LBS

Page 108: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 6-42 Mô tả tổng quan luồng dữ liệu của các dịch vụ LBS.

Với các ứng dụng LBS thì thường được chia làm 2 phần:

Client: Là nơi hiển thị thông tin kết quả trả về từ phía server. Nơi đây

không chịu trách nhiệm xử lý. Vì xử lý tại client chậm do cấu hình về phần cứng của

thiết bị di động có phần hạn chế. Phía client thường là các thiết bị di động.

Server: Đây là nơi tập trung xử lý các yêu cầu từ phía thiết bị di động, xử

lý về dữ liệu, tính toán, hình ảnh. Server xử lý cho LBS thường là những máy tính, hệ

thống máy tính.

Vậy vấn đề đặt ra ở đây là tìm kiếm một kiến trúc phần mềm hỗ trợ xử lý phân tán,

không phụ thuộc vào nền tảng, thiết bị ứng dụng. Tiết kiệm tối đa về chi phí và thời

gian. Sử dụng lại được các nền tảng hỗ trợ lập trình như đã nêu ở chương trước. Và

quan trọng nhất là dễ dàng mở rộng dịch vụ cho LBS.

Ba kiến trúc phân tán phổ biến nhất hiện này là CORBA, DCOM và EJB. Các kiến

trúc này là sự mở rộng của các hệ thống hướng đối tượng bằng cách cho phép phân tán

các đối tượng trên mạng. Đối tượng đó có thể có không gian địa chỉ bên ngoài ứng

dụng, hoăc ở một máy khác với máy chứa ứng dụng trong khi vẫn được tham chiếu sử

dụng như một phần của ứng dụng.

CORBA – Common Object Request Broker Architecture: Ưu điểm của

CORBA là các lập trình viên có thể chọn bất kỳ ngôn ngữ, nền tảng phần cứng, giao

thức mạng và công nghệ để phát triển mà vẫn thoả các tính chất của CORBA. Tuy

nhiên CORBA số một nhược điểm là nó là ngôn ngữ lập trình cấp thấp, rất phức tạp,

Page 109: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

khó học và cần một đội ngũ phát triển có kinh nghiệm. Ngoài ra các đối tượng CORBA

cũng khó có thể tái sử dụng. Do đó đây không phải là mô hình thích hợp cho ứng dụng

LBS

EJB - Enterprise Java Bean: EJB là một kiến trúc tốt cho việc tích hợp

các hệ thống vì nó độc lập nền tảng nhưng nó cũng gặp vấn đề là nó không phải là một

chuẩn mở, khả năng giao tiếp với các chuẩn khác vẫn còn hạn chế. Không thích hợp

với các ứng dụng yêu cầu mở rộng thường xuyên, liên lạc giữa các thiết bị khác nhau.

DCOM – Distributed Component Object Model:. DCOM mang đến

nhiều ưu điểm như tính ổn định, không phụ thuộc vị trí địa lý, quản lý kết nối hiệu quả

và dễ dàng mở rộng, là một lựa chọn tốt cho các doanh nghiệp sử dụng công nghệ của

Windows để chạy các ứng dụng có yêucầu cao về sự chính xác và ổn định. Tuy nhiên,

các công nghệ của Microsoft có một nhược điểm lớn là chúng bị giới hạn trên nền tảng

Windows. Không thích hợp với ứng LBS vì phần client là môi trường di động không

tương thích với hệ điều hành máy tính Windows.

Các kiến trúc trên đều hướng đến việc xây dựng một hệ thống “hướng dịch vụ” tuy

nhiên chúng vẫn còn gặp phải một số vấn đề:

Đầu tiên là chúng tighly coupled, nghĩa là kiến trúc triển khai cài

đặt bên phía nhà cung cấp dịch vụ và phía sử dụng dịch vụ phải giống nhau. Điều này

đồng nghĩa với khó khăn mỗi khi có sự thay đổi từ một trong 2 phía bởi vì mỗi thay đổi

cần được đánh giá, lên kế hoạch và sửa chữa ở cả 2 phía.

Tiếp đến những chuẩn trên đa phần là chuẩn đóng, chúng hầu như

không thể kết hợp, hoạt động với chuẩn khác. Ví dụ như bắt đối tượng Java trao đổi dữ

liệu trực tiếp với một đối tượng DCOM là không thể. Cuối cùng các đối tượng của các

mô hình trên là fine grained, nghĩa là lượng thông tin giữa trong mỗi lần thực hiện giao

Page 110: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

dịch là ít, và được thực hiện nhiều lần dẫn đến chiếm dụng băng thông sử dụng và tăng

thời lượng đáp trả dữ liệu.

Chính vì vậy chúng ta cần một cách tiếp cận mới để giải quyết vấn

đề môi trường không đồng nhất và phải đáp ứng nhu cầu thay đổi thường xuyên do sự

tác động của người dùng khi sử dụng dịch vụ LBS. May mắn thay, vẫn có một cách

tiếp cận giải quyết khá toàn diện mọi khó khăn nêu trên và nó đã được triển khai trong

thực tế. Cách tiếp cận đó gọi là “kiến trúc hướng dịch vụ” Service-oriented

Architecture (SOA)

6.1 Kiến trúc hướng dịch vụ (SOA) là gì?

6.1.1 Giới thiệu

1. Định nghĩa

Kiến trúc hướng dịch vụ (Service-oriented architecture) là một hướng tiếp cận với việc

thiết kế và tích hợp các phần mềm, chức năng, hệ thống theo dạng module, trong đó

mỗi module đóng vai trò là một “dịch vụ có tính loose coupling”, và có khả năng truy

cập thông qua môi trường mạng. Hiểu một cách đơn giản thì một hệ thống SOA là một

tập hợp các dịch vụ được chuẩn hoá trên mạng trao đổi với nhau trong ngữ cảnh một

tiến trình nghiệp vụ

Trong SOA có ba đối tượng chính:

Page 111: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 6-43 Sơ đồ cộng tác trong mô hình SOA

Nhà cung cấp dịch vụ (service provider) cần cung cấp thông tin về dịch vụ của mình

cho một dịch vụ lưu trữ thông tin dịch vụ (service registry). Người sử dụng (service

consumer) thông qua service registry để tìm kiếm thông tin mô tả về dịch vụ cần tìm

và sau đó là xây dựng kênh giao tiếp với phía nhà cung cấp.

Thật ra, tư tưởng về một hệ thống SOA không phải là mới. Mô hình Comnon Object

Request Broker Architecture (CORBA) và mô hình Distributed Component Object

Model (DCOM) của Microsoft hay như Enterprise Java Bean (EJB) của Java của đã

cung cấp tính năng này từ lâu. Tuy nhiên những cách tiếp cận hướng dịch vụ này vẫn

còn gặp phải một số vấn đề khó khăn (đã phân tích ở trên). SOA không chỉ là một cải

tiến đáng kể giúp giải quyết những yếu điểm của các công nghệ trước mà còn đem đến

nhiều ưu điểm nổi trội hơn.

2. Các tính chất của một hệ thống SOA

Page 112: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kiến trúc hướng dịch vụ có bốn tính chất quan trọng. Bốn tính chất này được coi là cốt

lõi của kiến trúc hướng dịch vụ.

Tính giảm sự kết dính (loose coupling): Giảm sự kết dính chính là giảm

sự ràng buộc giữa các thành phần trong hệ thống. Mức độ kết dính của hệ thống ảnh

hưởng trực tiếp đến khả năng chỉnh sửa và mở rộng của hệ thống. Kết dính càng chặt

bao nhiêu thì khi có yêu cầu chỉnh sửa càng phải chỉnh sửa nhiều thành phần liên quan.

Tính tái sử dụng: Bởi vì các dịch vụ được cung cấp trên mạng và được

đăng kí ở một nơi nhất định nên chúng ta dễ dàng tìm thấy và tái sử dụng. Việc tái sử

dụng còn giúp chúng ta loại bỏ các thành phần trùng lắp. Việc tái sử dụng lại dịch vụ

nó dễ dàng hơn việc tái sử dụng các component hay các class.

Tính bất đồng bộ: Các yêu cầu về xử lý được đưa vào hàng đợi và được

xử lý với tốc độ tối ưu. Do bên yêu cầu không phải chờ bên xử lý yêu cầu xong nên có

thể tránh được các lỗi về time-out, ảnh hưởng đến hiệu năng của hệ thống. Cùng một

lúc có thể xử lý nhiều công việc.

Tính cộng tác: Kiến trúc SOA nhấn mạnh đến khả năng cộng tác, khả

năng mà hệ thống có thể giao tiếp trên nhiều nền tảng khác nhau, ngôn ngữ lập trình

khác nhau. Mỗi dịch vụ được cung cập một Interface để cho các dịch vụ, các ứng dụng

client triệu gọi thực thi.

3. Lợi ích khi sử dụng SOA

Nói đến SOA là nói đến ‘tiết kiệm’- cả tiết kiệm chi phí lẫn thu được giá trị nhiều hơn

từ các hệ thống có sẵn. Hẳn cũng phải có lý do để hàng trăm tập đoàn đã chú ý đến

SOA như một giải pháp tích hợp nhằm giảm giá thành của một đề án một cách rất ấn

tượng

Page 113: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Sử dụng lại thành phần có sẵn: Một trong những lợi ích rõ ràng nhất của

SOA là nó giúp các công ty thu được giá trị nhiều hơn bằng cách sử dụng lại những tài

nguyên sẵn có; kết quả là giảm chi phí cho phần kiến trúc và tích hợp. Ngoài ra nó còn

giúp giảm chi phí mua phần mềm mới. Thời gian viết chương trình lấy dữ liệu từ máy

chủ trước đây được tính bằng tháng thì bây giờ chỉ còn tính bằng phút ! Lợi ích của

việc sử dụng lại có thể chia làm 2 phần:

Lợi ích từ việc sử dụng lại những thành phần nhằm giảm tính dư

thừa.

Lợi ích từ việc sử dụng lại những thành phần có sẵn khi thiết kế cung

cấp một chức năng mới.

Tăng tính linh hoạt, khả năng triển khai cài đặt: Lợi ích kế tiếp đến từ

tính loose coupling của SOA, trong đó phía triệu gọi dịch vụ không cần quan tâm đến

địa chỉ hoặc công nghệ nền tảng của service. Nó mang đến khả năng linh hoạt cao và

nhiều lợi ích khác.

Hỗ trợ đa thiết bị và đa nền tảng: SOA cung cấp một tầng giao tiếp trừu

tượng từ các nền tảng bên dưới. Điều này cho phép hỗ trợ nhiều loại thiết bị đầu cuối

khác nhau bao gồm cả những trình duyệt và thiết bị di động như webbrower, điện thoại

di động, PDA và các thiết bị chuyên dụng khác sử dụng cùng một chức năng mà vẫn có

thông tin trả về tùy theo dạng thiết bị. Tính độc lập công nghệ này giúp cho các công ty

tiết kiệm chi phí rất nhiều nhất là khi phải xử lý với vô số công nghệ hiện đang được sử

dụng.

Tăng khả năng mở rộng và khả năng sẵn sàng cung cấp: Nhờ tính chất

giảm độ kết dính giữa các thành phần, dịch vụ cho nên khả năng mở rộng, chỉnh sửa,

phát triển hệ thông. Công nghệ cân bằng tải sẽ tự động tìm tuyến đi của để xử lý dữ

liệu do đó làm tăng khả năng sẵn sàng cung cấp.

Page 114: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

4. Các mô hình của kiến trúc hướng dịch vụ

Mô hình cổ điển Mô hình cải tiến

Hình 6-44Mô hình service registry

Page 115: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 6-45Mô hình service broker

Page 116: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình 6-46Mô hình service buss

6.1.2 Áp dụng kiến trúc hướng dịch vụ vào ứng dụng LBS

a. Ưu điểm của việc áp dụng kiến trúc SOA vào LBS:

Tận dụng được các nền tảng đã có sẵn: Hiện nay chúng ta có rất nhiều

dịch vụ, thư viện hỗ trợ về việc lập trình LBS như đã nêu ở chương trước, hỗ trợ từ

việc xây dựng bản đồ cho tới việc định vị trí. Nếu không có kiến trúc hướng dịch vụ,

nếu các thư viện hỗ trợ lập không trở thành dịch vụ thì để xây dựng một ứng dụng LBS

hoàn chỉnh chúng ta phải mất rất nhiều công sức từ việc xây dựng bản đồ, xây dựng cơ

sở dữ liệu, thuật toán, công nghệ truyền tải, công nghệ định vị. Thì giờ đây, với kiến

trúc hướng dịch vụ chúng ta có thể sử dụng lại những thành phần đã được xây dựng từ

các “ông lớn” như Google, Yahoo…Chúng ta có thể sử dụng lại bản đồ Google, dữ

Page 117: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

liệu Yahoo, các xử lý phức tạp từ Microsoft, xử lý đơn giản tại server xử lý LBS của

mình.

Cho phép thiết bị di động và máy tính liên lạc với nhau: Thiết bị di

động và máy tính là hai thiết bị khác nhau về bản chất hoạt động cũng như là hệ điều

hành. Do đó vấn đề đặt ra là làm sao để hai thiết bị khác nhau này có thể truyền thông

tin liên lạc được với nhau. Bản chất của SOA là không phân biệt nền tảng ứng dụng,

thiết bị do việc truyền nhận dữ liệu trong mô hình SOA được thực hiện dưới dạng text

theo một định nghĩa có sẵn.

Cho phép mở rộng chức năng: Ứng dụng LBS là ứng dụng cung cấp

dịch vụ do đó mà nhu cầu mở rộng, phát triển dịch vụ sẽ rất cao. Cho nên việc phát

triển linh hoạt các dịch vụ với chi phí và thời gian tiết kiệm được đặt như là một yêu

cầu hàng đầu. Đây cũng chính là một trong những tính chất của mô hình SOA, do nó

sử dụng lại các dịch vụ được xây dựng, hơn nữa việc thay đổi dịch vụ này và các thành

phần liên quan ảnh hưởng tới nhau ít cho nên thời gian, chi phí để mở rộng được rút

ngắn.

b. Nhược điểm của việc áp dụng kiến trúc hướng dịch vụ vào LBS:

Mặc dù kiến trúc SOA đã giúp cho ứng dụng LBS có được những ưu điểm tối ưu như

trên, tuy nhiên mô hình này vẫn có để lại những hạn chế như sau:

Do việc xử lý trên SOA hoạt động thông qua đường mạng nên tốc độ phụ

thuộc nhiều vào tốc độ của đường truyền. Với đường truyền hiện nay (thông qua

GPRS) thì tốc độ khá chậm.

Trong tình trạng nếu Internet bị đứt kết nối thì ứng dụng LBS không hoạt

động được. Vì toàn bộ xử lý, dữ liệu đều để ở các máy server.

Page 118: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Về chi phí thì chúng ta phải tốn chi phí để trang bị thêm thiết bị: chi phí

về server, đường truyền Internet.

Tuy nhiên những yếu điểm trên chỉ là những yếu tố khách quan, có thể khác phục

được, không thấm vào đâu so với những ưu điểm to lớn mà SOA mang lại cho LBS.

Do đó trong đề tài lần này, nhóm làm đề tài quyết định sử dụng mô hình SOA vào ứng

dụng LBS.

6.1.3 Tài liệu tham khảo

http://en.wikipedia.org/wiki/Service-oriented_architecture

Service Oriented Architecture (SOA) and Specialized Messaging Patterns

Understanding Service-Oriented Architecture – Microsoft Press

Expert Service Oriented Architecture- Jeffrey Hasan

Service Oriented Architecture - Selda Güner

What Is Service Oriented Architecture- XML.Com

6.2 Tìm hiểu về Webservices

6.2.1 Định nghĩa Webservices

Web Services được định nghĩa bởi tổ chức W3C(World Wide Web Consortium), Web

Services là sự kết hợp của một máy tính phân phối với nhiều máy tính khác được giao

tiếp qua mạng tạo thành một hệ thống. Web Services cho phép các nhà phát triển sử

dụng các công cụ khác nhau của các nhà phát triển khác nhau để tạo ra các ứng dụng

Page 119: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

bao gồm nhiều module khác nhau, các module này sẽ được cung cấp cho các phòng

ban và các công ty khác để phát triển các ứng dụng của họ.

Web Services được các nhà phát triển tạo ra để cung cấp các chức năng và đóng gói

các chức năng đó sao cho các ứng dụng khác dể dàng nhìn thấy và truy cập đến những

dịch vụ mà Web Services cung cấp, ngoài ra nó có thể yêu cầu các thông tin từ các

Web Services khác.

Ừng dụng LBS là một ứng dụng Client – Server do đó để truyền nhận dữ liệu ta sử

dụng Web Services. Web Services truyền dữ liệu ở dạng XML và được nhiều ngôn

ngữ lập trình hổ trợ do đó các ứng dụng Client dể dàng nhận và xử lý các dữ liệu XML

này.

Hình 6-47 Mô hình Web Services

6.2.2 Ưu và nhược điểm của Web Services

a. Ưu điểm.

Các Web Services cho phép các ứng dụng khác nhau ( phát triển trên các

ngôn ngữ khác nhau ) và hoạt động trên các hệ điều hành khác nhau có thể liên kết giao

tiếp và chia sẽ dữ liệu cho nhau.

Page 120: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Sử dung ngôn ngữ XML để giao tiếp dữ liệu giúp cho các nhà phát triển

dể nắm bắt hơn.

Giúp cho việc xây dựng ứng dụng phân tán dể dàng hơn.

b. Nhược điểm.

Trong quá trình WebServices hoạt động nếu Server gặp sự cố, thì Client

sẽ không gọi được các WebServices, do đó làm mất dữ liệu.

Có qua nhiều chuẩn giao tiếp dữ liệu cho Web Services.Vấn đề này làm

cho các nhà phát triển khó xác định trong quá trình phát triển.

Các vấn đề về an toàn và bảo mật cho Web Services.Do quá trình truyền

dữ liệu thông qua mạng internet do đó việt an toàn và bảo mật dữ liệu trên đường

truyền rất quan trong.

Chương 7 CÔNG NGHỆ XÂY DỰNG HỆ THỐNG LBS

Nội dung của chương 7 trình bày về tổng quan về công nghệ .NET, công

nghệ được sử dụng để xây dựng nên hệ thống LBS. Đây được coi là chương định

hướng cho phần cài đặt hệ thống LBS. Chương 7 cũng nêu rõ các ưu điểm, khuyết

điểm của công nghệ .NET, ngôn ngữ lập trình C# trong ứng dụng LBS

7.1 Tổng quan về .Net Framework

7.1.1 Giới thiệu về .Net Framework.

a. Giới thiệu

Page 121: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

.Net Framework là một nền tảng lập trình được tích hợp vào hệ điều hành Windows,

dùng để xây dựng nên các ứng dụng của thế hệ mới cho hệ điều hành Windows đồng

thời cũng cung cấp một giao diện lập trình chuẩn để xây dựng các ứng dụng truyền

thông trên mạng Internet nhằm phục vụ cho các ứng dụng không phân biệt nền tảng.

Các ngôn ngữ lập trình sử dụng nền tảng .NET Framework bao gồm C#, J#, Visual

Basic.NET, Visual C++.NET.

Mục tiêu:

Sự ra đời của .Net Framework nhằm vào hai mục đích quan trọng:

Mục tiêu thứ nhất: Loại bỏ các thành phần riêng biệt của ứng dụng cho phép ứng

dụng trao đổi thông tin và xây dựng trên cùng một nền tảng chung hơn.

Mục tiêu thứ thứ hai: Chuẩn hóa truyền thông thương mại điện tử. Điều này có

nghĩa .NET cung cấp một cách cho các ứng dụng khác nhau trong những môi trường

khác nhau có thể trao đổi và sử dụng thông tin. Thành quả này được hoàn tất khi sử

dụng XML. XML đem lại một số lượng lớn những người ủng hộ và có thể được sử

dụng để làm tiêu chuẩn hóa các máy phục vụ truyền thông, nơi những ứng dụng khác

nhau và các dịch vụ chạy trên các ứng dụng này có thể dễ dàng liên lạc với một ứng

dụng khác và trao đổi thông tin một cách tự nhiên.

Kiến trúc cơ bản của .Net Framework

Page 122: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kiến trúc của .Net Framework

.Net Framework có hai thành phần chính: .NET Runtime, các thư viện hỗ trợ lập

trình (.NET Framework Based Classes).

.NET Runtime: còn được gọi là Common Language Runtime (CLR) được coi là nền

tảng của .NET Framework. Chính .NET Runtime là công cụ để chỉ dẫn đường cho

chương trình của bạn thực thi như thế nào. .Net Runtime quản lý mã nguồn tại lúc thực

thi, cung cấp các dịch vụ cốt lỗi như là: quản lý bộ nhớ, quản lý tiến trình. Đồng thời là

nơi đảm bảo tính an toàn cho mã nguồn của chương trình. Để làm được điều này CLR

được thiết kế gồm 2 thành phần :

- Runtime Enviroment: Môi trường thực thi ứng dụng. Trong phần này CLR sẽ

biên dịch ứng dụng từ mã IL sang mã máy. Thực chất .Net không biên dịch ứng

dụng ra mã máy luôn khi biên dịch chương trình, .Net sẽ biên dịch ứng dụng ra

một ngôn ngữ tạm có tên là IL. Thành phần Runtime Enviroment này có trách

nhiệm biên dịch nhanh ngôn ngữ IL ra mã máy trong lúc thực thi ứng dụng.

- Runtime- Service: Là những dịch vụ chịu trách nhiệm về:

o Quản lý bộ nhớ: tự động cấp phát và thu dọn bộ nhớ.

Page 123: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

o Chính sách bảo mật, an toàn của ứng dụng.

o Quản lý lỗi, biệt lệ

o Hỗ trợ mạch trình, debug.

Thư viện hỗ trợ lập trình: là thành phần chính thứ hai của .NET Framwork. Nơi đây

cung cấp một thư viện lập trình đồ sộ chứa những mã nguồn đã được viết sẵn và đóng

gói theo mô hình hướng đối tượng. Dựa trên các lớp thư viện này, bạn thực hiện vô số

thao tác trên ứng dụng từ việc hiển thị cửa sổ, gọi thực thi những dịch vụ cơ bản của hệ

điều hành như là đọc ghi file, truy xuất mạng, truy xuất dữ liệu từ hệ quản trị CSDL.

Thư viện hỗ trợ lập trình trên .NET được xây dựng để phục vụ cho các loại ứng dụng

sau:

- Webservice: các thành phần có thể truy xuất thông qua Internet một cách dễ

dàng.

- WebForm: cung cấp một thư viện hỗ trợ lập trình giao diện tạo ra website.

- WinForm: cung cấp thư viện hỗ trợ lập trình cho ứng dụng trên desktop. Hỗ trợ

từ việc tạo cửa sổ cho ứng dụng đến các thao tác đồ họa.

- Windows Console Application: là dạng ứng dụng với giao diện đơn giản, nhằm

cho các ứng dụng có tính chất nhanh chóng, không đòi hỏi về giao diện.

- Windows Services: Xây dựng ứng dụng dịch vụ dưới dạng Windows Services

- Component Library. Cho phép lập trình viên xây dựng nên các thư viện để có

thể tái sử dụng cho các ứng dụng khác.

a. Ư u điểm

Thống nhất các ngôn ngữ lập trình cùng hoạt động dưới một nền tảng: Sự thống nhất

này có ý nghĩa rất to lớn, cho phép các ngôn ngữ lập trình C#, C++, VB.NET cùng

hoạt động dưới một mái nhà chung, cùng chung công nghệ điều này giúp cho lập trình

Page 124: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

viên không phải mất thời gian với nhiều công nghệ mới. Về phía người sử dụng thì

không phải cài đặt nhiều nền tảng. Đối với nhà phát triển thì không phải mất thời gian,

tiền bạc để phát triển các công nghệ riêng lẽ.

.NET Framework hỗ trợ lập trình cho nhiều dạng ứng dụng trên cùng một ngôn ngữ,

một nền tảng. Xây dựng một bộ thư viện hỗ trợ lập trình khổng lồ, cung cấp cho đủ các

loại ứng dụng : Windows Form, Web Application, Webserivce, Console Application…

Tất cả các loại ứng dụng đó đều có thể được phát triển bằng .Net Framework với các

ngôn ngữ lập trình C#, Vb.NET

.NET Framework hỗ trợ giao tiếp chuẩn giữa các ứng dụng có nền tảng khác nhau,

chạy trên các môi trường hệ điều hành khác nhau, ngôn ngữ lập trình khác nhau. Định

nghĩa cách giao tiếp chuẩn sử dụng Webservice

Tuy vậy .NET Framework tồn tại một nhược điểm là chỉ chạy trên thiết bị của

Microsoft. Không chạy được trên các hệ điều hành khác được.

Đối với ứng dụng LBS, .NET Framework được dùng để viết các chức năng cho tầng

server. Để dễ dàng phân phối dữ liệu, ở tầng server được lập trình theo dạng

webservice. Ở đây luận văn chọn công nghệ .NET 2.0 để xây dựng webservice phục vụ

cho tầng server.

7.1.2 Ngôn ngữ lập trình C#

a. Tổng quan C Sharp

Giới thiệu về C Sharp.

C Sharp( C#) là một ngôn ngữ lập trình mới được xây dựng bởi công ty Microsoft. C

Sharp được thiết kế để dùng cho Microsoft’s .Net Framework(Đây là một nền tảng khá

mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng.). C Sharp là

Page 125: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

ngôn ngữ hoàn toàn hướng đối tượng được phát triển dựa trên các ngôn ngữ C++,

Java…

C Sharp là một ngôn ngữ đơn giản.

C Sharp đã loại bỏ các cấu trúc phức tạp và khó khăn của các ngôn ngữ C++ và Java.

Bao gồm loại bỏ các macro, đa kế thừa và các lớp cơ sở ảo, giúp cho lập trình viên

không bị nhầm lẫn khi sử dụng,.

C Sharp rất đơn giản vì nó được dựa trên C và C++. Nếu bạn đã từng học qua ngôn

ngữ C, C++ chúng ta sẽ thấy được C Sharp rất quen thuộc với chúng ta. Các phát biểu,

biểu thức , toán tử và các chức năng khác được lấy từ ngôn ngữ C và C++, bên cạnh đó

C Sharp cũng loại bỏ những dư thừa, những cải tiến làm ngôn ngữ C sharp trở nên đơn

giản hơn. Ví dụ , trong ngôn ngữ C Sharp chúng ta sẽ không tìm thấy được các ký hiệu

con trỏ (->), hoặc đa kế thừa như trong C, C++.

C Sharp là một ngôn ngữ hiện đại.

Xử lý các trường hợp ngoại lệ giúp qua trình quản lý các lỗi phát sinh không mong

muốn từ hệ thống được dễ dàng hơn.

Tự động dọn dẹp bộ nhớ khi các biến , các đối tượng không còn được sử dụng.

Cho phép người dùng xây dựng các kiểu dữ liệu mở rộng.

Bảo mật mã nguồn của hệ thống giúp tránh sự xâm nhập trái phép vào hệ thống của các

yếu tố bên ngoài.

C Sharp là ngôn ngữ hướng đối tượng.

C Sharp là ngôn ngữ hướng đối tượng. Csharp hổ trợ đóng gói, kế thừa, đa hình.

Nhưng C Sharp không hổ trợ đa kế thừa như trong ngôn ngữ C và C++ vì dễ gay nhầm

lẫn cho người dùng khi sử dụng nó.

C Sharp là ngôn ngữ linh hoạt và mạnh mẽ.

Page 126: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Với C Sharp chúng ta có thể xây dựng được những ứng dụng như trí tượng tượng

chúng ta nghĩ. Chúng ta có thể xây dựng các dự án khác nhau như các ứng dụng văn

phòng(Word, Excel…) đến các ứng dụng dùng trong doanh nghiệp, các trò chơi điện

tử, thậm chí chúng ta có thể sử dụng C Sharp để xây dựng nên các trình biên dịch cho

các ngôn ngữ khác.

C Sharp là ngôn ngữ ít từ khóa.

C Sharp là ngôn ngữ có số lượng từ khóa giới hạn. Tuy là một ngôn ngữ với một số lượng từ khóa giới

hạn nhưng ngôn ngữ C Sharp hoàn toàn có khả năng làm bất cứ ứng dụng.

Abstract As Base Bool Break

Byte Case Catch Char Checked

Class Const Continue Decimal Default

Delegate Do Double Else Enum

Event Explicit Extern False Finally

Fixed Float For Foreach Goto

If Implicit In Int Interface

Interface Internal Is Lock Long

Namespace New Null Object Operator

Out Override Params Private Protected

Public Readonly Ref Return Sbyte

Sealed Short Sizeof Stack Alloc

Static String Struct Switch This

Throw True Try Typeof Uint

Ulong Unchecked Unsafe Ushort Using

Virtual Void While

Page 127: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

C Sharp là ngôn ngữ phổ biến.

C Sharp được Microsoft xây dựng với rất nhiều kỳ vọng đưa nó trở thành một ngôn

ngữ phổ biến. Với nhiều ưu điểm đơn giản, hướng đối tượng….

Lịch sử phát triển C Sharp.

Năm 1970 Dennis Ritchie đã phát minh ra ngon ngữ C.C là ngôn ngữ lập trình cấu

trúc.

Do C là ngôn ngữ lập trình hướng cấu trúc do đó với những chương trình có kích thước

lớn nó sẽ làm khó khăn cho các lập trình viên trong quá trình quản lý mã nguồn và lỗi

phát sinh. Do đó từ năm 1980 ngôn ngữ C++ đã được xây dựng. Đây là một ngôn ngữ

được xây dựng dựa trên ngôn ngữ C. C++ hổ trợ người dùng lập trình theo hướng cấu

trúc như C, ngoài ra C++ còn hổ trợ người dùng lập trình theo hướng đối tượng giúp

cho các lập trình viên dễ dàng hơn trong quá trình quản lý mã nguồn và quản lý lỗi

phát sinh.

Năm 1991 Sun Microsystem cho ra đời ngôn ngữ lập trình Java. Đây là môt ngôn ngữ

lập trình hướng đối tượng và được xây dựng dựa trên ngôn ngữ C++.

Từ tháng 1 năm 2002, công ty Microsoft đã cho ra đời phiên bản đầu tiên của ngôn ngữ

C Sharp là C Sharp 1.0. Đây là ngôn ngữ được Microsoft xây dựng dựa trên nền tản

của C++ và ngôn ngữ Java. Cho đến thời điểm hiện tại Microsoft đã cho ra đời phiên

bản C Sharp 3.0 vào tháng 11 năm 2006

b. Ưu và nhược điểm của C Sharp.

Ưu điểm.

C Sharp vay mượn các khái niệm của C++ và Java, lựa chọn các yếu tố tốt và

loại bỏ các yêu tố dể gây ra lỗi khi xây dựng ứng dụng.

Page 128: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

C Sharp là một ngôn ngữ ngắn gọn.

C Sharp hổ trợ nhà phát triển tái sử dụng lại mã nguồn.

C Sharp là một ngôn ngữ hướng đối tượng. Cho phép các nhà phát triển xây

dựng các ứng dụng trung tâm dữ liệu an toàn.

C Sharp có thể dùng một bộ soạn thảo văn bản đơn giản để

viết(wordpad,notepad…) và biên dịch thông qua command line do bất ký một hệ điều

hành cung cấp và các nhà phát triển đã cài đặt CLR trên đó.Ngoài ra Microsoft cũng

cung cấp cho người dùng một bộ công cụ trực quan giúp các nhà phát triển xây dựng

ứng dụng và triển khai một cách dể dàng hơn đó là bộ công cụ phát triển Microsoft

Visual Studio.

C Sharp cung cấp khả năng mở rộng cho nhà phát triển. Các nhà phát triển có

thể xây dựng thêm các lớp các thư viện từ các thư viện có sẵn theo mong muốn của nhà

phát triển.

Chương trình C Sharp được quản lý mã(Manage code), chúng được mã hóa và

quản lý trong môi trường được kiểm soát. Ngoài ra C Sharp còn loại bỏ một số tính

năng không an toàn trong C++, những lỗi này sẽ giúp cho các kẻ xâm nhập vào các

phần mềm và gây hại chúng.

C Sharp giấu hết các thư viện cấp thấp và cung cấp cho nhà phát triển dùng một

hệ thống thư viên. Từ các thư viện này các nhà ứng dụng có thể xây dựng các ứng

dụng mà không quan tâm đến tính tương thích của nó với hệ thống.

C Sharp được dùng để viết nhiều loại ứng dụng khác nhau. Từ các ứng dụng để

bàn, đến các ứng dụng web, các ứng dụng đòi hỏi sự an toàn cao, và ngay cả viết

chương trình điều khiển robot.

Nhược điểm.

Page 129: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

C Sharp là ngôn ngữ do Microsoft cung cấp, và nó chỉ hoát động trên môi

trường window. Mặc dù trong thời điểm hiện tại Microsoft Window chiếm thị phần lớn

trong số các hệ điều hành. Nhưng với những người sử dụng các hệ điều hành khác như

linux, Mac…thì các nhà phát triển không thể xây dựng các ứng dụng C Sharp trên

nó.đây là một thiếu sót lớn của C Sharp.

Mặc dù C Sharp cần 1 trình soạn thảo để viết và dùng dòng lệnh để biên dịch

nhưng các nhà phát triển cũng cần phải cài đặt môi trường .Net lên hệ thống.

Ứng dụng C Sharp xây dựng Web Services.

WebServices là một công nghệ được rất nhiều ngôn ngữ lập trình hổ trợ và .Net cũng

không phải là một ngoại lệ. Dưới đây là những bước cơ bản để xây dựng một Web

Services trên môi trường .Net với ngôn ngữ C Sharp với môi trường Visual Studio

2005.

Bước 1: Trong Visual Studio ta tạo project Web Services với ngôn ngữ là C Sharp.

File>New WebSite>ASP.Net Web Services, chọn ngôn ngữ xây dựng Web Services là

C Sharp và đường dẫn lưu Web Services( Mặc định Web Services được tạo ra sẽ được

lưu trữ trên localhost).

Page 130: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Bước 2: Kiểm tra dự án mới tạo ra.

Khi project được tạo, tập tin services.cs là tập tin chứa mã nguồn(code-behind), nó

được chưa trong thu mực APP_Code. Đây là tập tin mặc định do project tạo ra.

Page 131: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Bước 3: Điều chỉnh và sửa đổi tên tập tin code-behind.

Chúng ta có thể xóa tập tin services.cs(code-behinh) hoặc sửa tên của tập tin theo ý mà

chúng ta muốn. Nếu xóa tập tin chúng ta cần tạo lại tập tin ta chọn Add>New Item.

Bước 4: Viết các phương thức cho các tập tin Web Services.

using System;

using System.Web;

using System.Collections;

using System.Web.Services;

using System.Web.Services.Protocols;

/// <summary>

/// Cộng 2 số

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

Page 132: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

public class Add : System.Web.Services.WebService {

public Add () {

}

[WebMethod]

public Int32 Add2Number(Int32 a,Int32 b) {

return (a + b);

}

}

Bước 6: Chạy thử Web Services và kiểm tra kết quả.

7.2 Hệ quản trị cơ sở dữ liệu SQL Server 2005 và ứng dụng LBS

7.2.1 Giới thiệu về SQL Server 2005

SQL Server 2005 là một hệ thống quản trị cơ sở dữ liệu sử dụng T-SQL làm ngôn ngữ

truy vấn chính để trao đổi dữ liệu giữa tầng client và tầng dữ liệu. SQL Server 2005

được tối ưu để hoạt động trên môi trường CSDL rất lớn phục vụ cho hàng ngàn người

truy cập. SQL Server 2005 có khả năng tích hợp với các hệ thống khác như IIS, E-

Commercial Server đặc biệt là trên nền tảng .NET. Sự tích hợp mạnh mẽ của SQL

Server 2005 với nền tảng .NET ở chỗ hỗ trợ mạnh mẽ sử dụng ngôn ngữ lập trình

C#,VB.NET để tạo ra các đối tượng CSDL như store procedure, function, trigger…

Page 133: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

7.2.2 GIS và SQL Server 2005

Ưu điểm

Chương 8 PHÂN TÍCH

Chương 9 THIẾT KẾ

9.1 Sơ đồ lớp

9.1.1 Sơ đồ lớp phía server

1. Tầng Bussiness

2. Tầng Data Access Layer

Page 134: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

3. Tầng Data Tranfer Object

Page 135: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

9.1.2 Sơ đồ lớp ở phía client.

1. Tầng Bussiness.

2. Tầng Data Access Layer.

Page 136: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

3. Tầng Data Tranfer Object.

9.2 Sơ đồ tuần tự

9.2.1 Chức năng lấy hình ảnh bản đồ từ Google Map API

Page 137: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

: Client : Client : Webservice LBS : Webservice LBS : MapProviderController : MapProviderController : GoogleMapProvide : GoogleMapProvide : Map : Map : Google API : Google API

1. GetMap()

1.1. GetMap()

1.1.1. GetMap()

1.1.1.1. CheckValidInput( )

1.1.1.1.1. CheckLocation( )

1.1.1.1.2.

[If valid]

1.1.1.2. GetImage()

1.1.1.3. CombineImage()

1.1.1.4. ConvertToByte()

1.1.1.5.

Return byte to client application

1.1.2.

1.2.

9.2.2 Chức năng Tìm kiếm địa điểm

Page 138: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc
Page 139: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

9.2.3 Chức tìm kiếm con đường

: Client : Client : Webservice LBS : Webservice LBS : StreetController : StreetController : Street : Street

[if valid]

[If exist street]return List street

1. FindStreet( )

1.1. FindStreet( )

1.1.1. CheckValid()

1.1.1.1. Check keyword()

1.1.1.2. CheckRadius()

1.1.1.3.

1.1.2. FindStreet()

1.1.2.1. ConnectToDb()

1.1.2.2. ExecuteQuery()

1.1.2.3.

1.1.3.

1.2.

Page 140: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

9.2.4 Chức năng tìm kiếm đường đi ngắn nhất

: Client : Client : Webservice LBS : Webservice LBS : NodeController : NodeController : Node : Node

1. GetShortPath( )

1.1. GetShortNodePath( )

1.1.1. CheckValidInput()

1.1.1.1. CheckNodeValid( )

1.1.1.2.

[If valid]

1.1.2. GetShortPath( )

1.1.2.1. AStar( )

1.1.2.2.

Return list node1.1.3.

1.2.

Chương 10 CÀI ĐẶT

10.1 Cài đặt phần server

Chương 11 KIỂM CHỨNG

11.1 Kiểm chứng phần server

Page 141: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

1. Test case 1: Kiểm chứng chức năng lấy hình ảnh của bản đồ từ hệ

thống Google Map

Tiền điều kiện: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng thái

sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng thực

thi. Chọn phương thức GetMap để sẵn sàng hoạt động

Dữ liệu kiểm chứng:- xPoint =3340032

- yPoint = 1970944

- zoom= 14

- width= 240

- height= 320

- source= Google

Từng bước thực hiện:- Nhập dữ liệu xPoint vào ô nhập liệu xPoint

- Nhập dữ liệu yPoint vào ô nhập liệu yPoint

- Nhập dữ liệu zoom vào ô nhập liệu zoom

- Nhập dữ liệu width vào ô nhập liệu width

- Nhập dữ liệu height vào ô nhập liệu height

- Nhậm dữ liệu source vào ô nhập liệu source

- Nhấn nút Invoke

Hình ảnh minh họa:

Page 142: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kết quả: hình ảnh của bản đồ Google được trả về dưới dạng mã byte 64. Đồng thời

lưu hình ảnh đó vào thư mục cache trên máy chủ

Kết quả mong đợi: hình ảnh của bản đồ Google được trả về dưới dạng mã byte 64.

Đồng thời lưu hình ảnh đó vào thư mục cache trên máy chủ.

Kết luận: Pass

2. Test case 2: Kiểm tra tính chịu lỗi của chức năng lấy hình ảnh trong

bản đồ của Google Map

Tiền điều kiện: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng thái

sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng thực

thi. Chọn phương thức GetMap để sẵn sàng hoạt động

Dữ liệu kiểm chứng:

- xPoint =-1

- yPoint = -1

- zoom= 14

- width= 240

- height= 320

- source= “”

Page 143: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Từng bước thực hiện

- Nhập dữ liệu xPoint vào ô nhập liệu xPoint

- Nhập dữ liệu yPoint vào ô nhập liệu yPoint

- Nhập dữ liệu zoom vào ô nhập liệu zoom

- Nhập dữ liệu width vào ô nhập liệu width

- Nhập dữ liệu height vào ô nhập liệu height

- Bỏ trống ô nhập liệu source

- Nhấn nút Invoke

Hình ảnh minh họa:

Kết quả : ứng dụng báo lỗi, Bắt phải nhập xPoint, yPoint và là một con số nguyên

dương

Kết quả mong muốn : Ứng dụng báo lỗi, bắt phải nhập xPoint, yPoint

Kết luận: Pass

3. Test case 3: Kiểm tra chức năng lấy các địa điểm theo tên địa điểm

Tiền điều kiên: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng thái

sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng thực

thi. Chọn phương thức GetPlaceName để sẵn sàng hoạt động

Dữ liệu kiểm chứng:

Page 144: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

- name= ATM

- xLocation=21.01388

- yLocation=105.8133

- radius=1

Từng bước thực hiện:

- Nhập dữ liệu name và ô nhập liệu name

- Nhập dữ liệu xLocation vào ô nhập liệu xLocation

- Nhập dữ liệu yLocation vào ô nhập liệu yLocation

- Nhập dữ liệu radius vào ô nhập liệu radius

- Nhấn nut Invoke để thực hiện tìm kiếm

Hình ảnh minh họa

Kết quả: Ứng dụng webserice trả về một danh sách bao gồm các địa điểm có chứa từ

ATM trong khoảng 1KM tính từ xLocation, yLocation

Kết quả mong đợi: Ứng dụng webserice trả về một danh sách các địa điểm có chứa từ

ATM trong vòng 1KM tính từ xLocation, yLocation

Kết luận: Pass

4. Test case 4: Kiểm tra tính chịu lỗi của phương thức tìm kiếm địa

điểm dựa trên tên địa điểm

Page 145: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tiền điều kiện: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng thái

sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng thực

thi. Chọn phương thức GetPlaceName để sẵn sàng hoạt động

Dữ liệu kiểm chứng:

- name= <bỏ trống>

- xLocation={<bỏ trống>, số âm}

- yLocation={<bỏ trống>, số âm}

- radius=1

Các bước thực hiện:

- Để trống ô nhập liệu name

- Nhập dữ liệu xLocation vào ô nhập liệu xLocation

- Nhập dữ liệu yLocation vào ô nhập liệu yLocation

- Nhập dữ liệu radius vào ô nhập liệu radius

- Nhấn nut Invoke để thực hiện tìm kiếm

Hình ảnh minh họa:

Kết quả: Ứng dụng webservice báo lỗi , yêu cầu nhập liệu các tham số cho đúng. Ô

nhập liệu name là bắt buộc, xLocation, yLocation bắt buộc không được trống và phải

lớn hơn 0.

Page 146: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kết quả mong đợi: Ứng dụng webservice báo lỗi , yêu cầu nhập liệu các tham số cho

đúng. Ô nhập liệu name là bắt buộc, xLocation, yLocation bắt buộc không được trống

và phải lớn hơn 0.

Kết luận: Pass

5. Test case 5: Kiểm tra tính năng tìm kiếm theo tên đường

Tiền điều kiện: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng thái

sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng thực

thi. Chọn phương thức GetStreetByName để sẵn sàng hoạt động.

Dữ liệu nhập:

- name= Hung vuong

- xLocation= 12.2356438

- yLocation=109.1955795

- radius=1

Các bước thực hiện:

- Nhập dữ liệu name và ô nhập liệu name

- Nhập dữ liệu xLocation vào ô nhập liệu xLocation

- Nhập dữ liệu yLocation vào ô nhập liệu yLocation

- Nhập dữ liệu radius vào ô nhập liệu radius

- Nhấn nut Invoke để thực hiện tìm kiếm

Hình ảnh minh họa:

Page 147: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kết quả: Trả về danh sách thông tin các con đường có tên Hung Vuong

Kết quả mong đợi: Trả về danh sách thông tin các con đường có tên Hung Vuong

Kết luận: Pass

6. Test case 6: Kiểm tra tính chịu lỗi của chức năng tìm kiếm đường

Tiền điều kiện: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng

thái sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng

thực thi. Chọn phương thức GetStreetByName để sẵn sàng hoạt động.

Dữ liệu nhập:

- name= <Bỏ trống>

- xLocation= {<bỏ trống>, số âm}

- yLocation={<bỏ trống>, số âm}

- radius={bỏ trống, số âm}

Các bước thực hiện:

- Bỏ trống ô nhập liệu name

- Nhập liệu xLocation vào cho ô nhập liệu xLocation

- Nhập liệu yLocation vào cho ô nhập liệu yLocation

- Nhập radius vào ô nhập liệu radius

Hình ảnh minh họa:

Page 148: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Kết quả: Báo lỗi, yêu cầu nhập name, nhập giá trị đúng cho xLocation, yLocation,

radius bắt buộc lớn hơn 0

Kết quả mong đợi: Báo lỗi, yêu cầu nhập name, nhập giá trị đúng cho xLocation,

yLocation, radius bắt buộc lớn hơn 0

Kết luận: Pass

7. Test case 7: Kiểm chứng chức năng tìm đường ngắn nhất

Tiền điều kiện: Ứng dụng webservice phục vụ cho hệ thống LBS đã đưa vào trạng thái

sẵn sàng hoạt động. Người kiểm chứng đang mở ứng dụng webserivce sẵn sàng thực

thi. Chọn phương thức GetShortPath để sẵn sàng hoạt động.

Dữ liệu nhập:

- xBegin= 21.0307387

- yBegin=105.853022

- xEnd=21.0307761

- yEnd=105.8526973

Thứ tự thực hiện:

- Nhập liệu xBegin vào ô nhập liệu xBegin

- Nhập liêu yBegin vào ô nhập liệu yBegin

- Nhập liệu xEnd vào ô nhập liệu xEnd

- Nhập liệu yEnd vào ô nhập liệu yEnd

- Nhấn Invoke để thực hiện tìm đường đi ngắn nhất giữa hai điểm

Page 149: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Hình ảnh minh họa:

Kết quả: Chương trình trả về danh sách các điểm cần phải đi qua.

Kết qua mong muốn: Chương trình trả về danh sách các điểm phải đi qua

Kết luận: Pass

11.2 Kiểm chứng phần Client

1. Test case 1: Kết nối với webserivce ở tầng server để lấy dữ liệu hình

ảnh và hiển thị hình ảnh bản đồ

Tiền điều kiện: Ứng dụng đã cài đặt vào thiết bị theo yêu cầu, thiết bị kết nối được vào

Internet

Dữ liệu kiểm chứng:

Không có

Các bước thực hiện:

Khởi chạy ứng dụng, đợi trong giây lát. Ứng dụng sẽ kết nối đến server để lấy dữ liệu

hình ảnh thông qua webservice

Kết quả: Hiển thị hình ảnh của bản đồ được lấy từ server thông qua webserivce

Kết quả mong đợi: Hiển thị hình ảnh của bản đồ lấy được từ server thông qua

webservice.

Kết luận: Pass

Page 150: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

2. Testcase 2: Thực hiện di chuyển bản đồ.

Tiền điều kiện: Phải chạy qua được testcase 1.

Dữ liệu nhập

- Tọa độ mới sau khi di chuyển

Các bước thực hiện:

- Dùng style kéo rê bản đồ

Kết quả: Bản đồ di chuyển theo nét style kéo, đồng thời load lại những phần còn thiếu

của bản đồ đang thiếu

Kết quả mong đợi: Bản đồ di chuyển theo style, load lại hình ảnh của bản đồ đang

thiếu

Kết luận: Pass

3. Test case 3: Phóng to/ thu nhỏ bản đồ

Tiền điều kiện: Thực hiện được testcase 1.

Dữ liệu nhập:

- Độ zoom mới của bản đồ (từ 14- 17)

Các bước thực hiện:

- Đợi load xong bản đồ

- Thực hiện click vào biểu tượng phóng to/ thu nhỏ trên màn hình

Kết quả: Hình ảnh được phóng to/thu nhỏ tương ứng với độ zoom mới của bản đồ

Kết quả mong muốn: Hình ảnh bản đồ phóng to/ thu nhỏ tương ứng với độ zoom của

bản đồ

Kết luận: Pass

4. Test case 4: Phóng to/ thu nhỏ

Page 151: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Tiền điều kiện: Thực hiện qua được testcase 1

Dữ liệu nhập

- Độ zoom mới của bản đồ. Nhập ngoài vùng 14 – 17

Thứ tự thực hiện:

- Nhấn vào nút bấm phóng to/ thu nhỏ cho tới khi vượt ra khỏi biên ngoài độ

zoom 14- 17

Kết quả: Không thực hiện phóng to /thu nhỏ cho độ zoom trên

Kết quả mong đợi: Không thực hiện phóng to/thu nhỏ cho độ zoom trên

Kết luận: Pass

5. Test case 5: Kiểm chứng chức năng tìm con đường

Tiền điều kiện: Thỏa mãn điều kiện qua test case 1

Dữ liệu nhập:

- Name= Hung Vuong

- Radius= 1

Thứ tự thực hiện:

- Sau khi bản đồ đã được nạp thành công, từ menu chính của chương trình chọn

item “Find”

- Chương trình hiển thị hộp thoại tìm kiếm, check vào option tìm đường

- Nhập tên đường vào ô nhập liệu Name

- Chọn vùng bán kính tìm kiếm trong combobox radius

- Nhấn nút “Find” để thực hiện

Kết quả: Danh sách các con đường có chứa từ “Hung Vuong”

Kết quả mong muốn: Dánh sách các con đường có chữ Hung Vuong

Kết luân: Pass

Page 152: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

6. Test case 6: Kiểm chứng khả năng chịu lỗi của chức năng tìm con

đường

Tiền điều kiên: Thực hiện qua được test case 1

Dữ liệu nhập

- Name= <Trống>

- Radius=1

Thứ tự thực hiện:

- Sau khi bản đồ đã được nạp thành công, từ menu chính của chương trình chọn

item Find

- Chương trình hiển thị hộp thoại tìm kiếm, check vào option tìm đường

- Không nhập dữ liệu vào ô nhập liệu Name

- Chọn vùng bán kính tìm kiếm trong combobox radius

- Nhấn nút Find để thực hiện

Kết quả: Chương trình báo lỗi, yêu cầu nhập tên con đường

Kết quả mong muốn: Yêu cầu nhập tên con đường

Kết luận: Pass

7. Test case 7: Kiểm chứng chức năng tìm đường đi ngắn nhất giữa 2

điểm

Tiền điều kiện: Thực hiện qua được test case 1

Dữ liệu nhập:

- xBegin=21.0307387

- yBegin=105.853022

- xEnd=21.0307761

Page 153: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

- yEnd=105.8526973

Thứ tự thực hiện

- Click phải vào màn hình chính của chương trình Mobilocate, chọn item Start

here

- Di chuyển bản đồ đến một nơi nào đó, click phải chọn item End here

Kết quả: Đợi trong giây lát, chương trình sẽ vẽ đường đi giữa 2 điểm được chọn đó.

Nếu có đường đi chương trình sẽ vẽ những đường màu xanh, ngược lại sẽ vẽ một

đường thẳng từ điểm đầu đến điểm cuối màu đỏ

Kết quả mong đợi: Chương trình sẽ vẽ đường đi giữa 2 điểm được chọn đó. Nếu có

đường đi chương trình sẽ vẽ những đường màu xanh, ngược lại sẽ vẽ một đường thẳng

từ điểm đầu đến điểm cuối màu đỏ

Kết luận: Pass

11.3 Báo cáo kết quả kiểm chứng

1. Phần server :

o Có 7 testcase thành công

o Có 0 testcase thất bại

o Tổng cộng có 7 testcase

o Kết luận: 100% thành công

2. Phần client:

o Có 7 testcase thành công

o Có 0 testcase thất bại

o Tổng cộng có 7 testcase

o Kết luận: 100% thành công

Page 154: 07HC446- 07HC451 Nghien cuu Location Service va xay dung ung dung minh hoa.doc

Chương 12 TRIỂN KHAI

Chương 13 BẢO TRÌ

Chương 14 HƯỚNG PHÁT TRIỂN