Tải bản đầy đủ (.pdf) (106 trang)

Xây dựng phân hệ dịch vụ gọi xe và điều xe taxi tự động có hỗ trợ bản đồ số trên smartphone

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.61 MB, 106 trang )

Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 1
Nguyn Duy Phng 0951012102

TRNG I HC M THÀNH PH H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN






KHÓA LUN TT NGHIP


XÂY DNG PHÂN H DCH V GI XE VÀ
IU XE TAXI T NG CÓ H TR BN 
S TRÊN SMARTPHONE



GVHD: SVTH:
TS. Lê Xuân Trng Chung Vnh Khang 0951010054
Nguyn Duy Phng 0951012102




Tháng 06 nm 2013
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng



SVTH: Chung Vnh Khang 0951010054 Trang 2
Nguyn Duy Phng 0951012102

LI CÁM N


Khóa lun này là kt qu ca mt quá trình tìm hiu, thit k và phát trin phân h
dch v gi và điu xe t đng có h tr bn đ s trên Smartphone. Khóa lun này s
không th hoàn thành nu không có s giúp đ ca các thy cô. Do đó, chúng em xin
dành trn trang đu tiên ca báo cáo kính gi nhng li cm n sâu sc.
Chúng em xin chân thành cám n toàn th Ban giám hiu trng i hc M
TP.HCM, cám n các thy cô khoa Công ngh thông tin, nhng ngi đã dn dt chúng
em trong sut bn nm hc ti trng. c bit chúng em xin gi li cám n đn thy Lê
Xuân Trng đã hng dn, giúp đ chúng em tn tâm đ hoàn thành khóa lun tt
nghip này.


Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 3
Nguyn Duy Phng 0951012102

NHN XÉT CA GIÁO VIÊN HNG DN


















Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 4
Nguyn Duy Phng 0951012102

MC LC


Chng 1. TNG QUAN 10
1.1. Hin trng 10
1.2.Mc tiêu đ tài 13
1.3.Phng pháp nghiên cu 13
1.4.B cc ca báo cáo 16
Chng 2. C S LÝ THUYT 17
2.1.Phân tích thit k hng đi tng bng UML 17
2.1.1.Gii thiu ngôn ng mô hình hóa thng nht (UML) 17
2.1.2.Phân tích thit k hng đi tng 18
2.1.3.Kin trúc Model View ViewModel (MVVM) 18
2.1.4.Kin trúc Model-View-Controller (MVC) 19

2.2.Gii thiu dch v Google Maps 25
2.3.Tng quan công ngh Windows Communication Foudation 20
2.3.1.Gii thiu công ngh Windows Communication Foudation 20
2.3.2.Kin trúc ca WCF 21
2.4.Tng quan công ngh ASP.NET MVC 22
2.4.1.Gii thiu công ngh ASP.NET MVC 22
2.4.2.Gii thiu th vin SignalR 23
2.5.Tng quan công ngh LightSwitch 23
2.5.1.Gii thiu công ngh LightSwitch 23
2.5.2.Kin trúc ca LightSwitch 23
2.6.Tng quan v Windows Phone 24
2.6.1.Gii thiu nn tng Windows Phone 24
2.6.2.u đim ca Windows Phone. 24
2.6.3.Kin trúc nn tng Windows Phone 24
2.7.Gii thiu công ngh Global Positioning System (GPS) 25
Chng 3. XÂY DNG H THNG PHN MM 26
3.1.S lc h thng Error! Bookmark not defined.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 5
Nguyn Duy Phng 0951012102

3.2.Phân tích và thit k h thng 26
3.2.1.S đ tính hung s dng 26
3.2.2.Biu đ tun t 35
3.2.3.Thit k kin trúc phn mm Error! Bookmark not defined.
3.2.4.Phân tích c s d liu Error! Bookmark not defined.
3.2.5.Thit k c s d liu 46
3.3.Lp trình theo các thành phn 53
3.3.1.Thc th nghip v (Business Entity) 54

3.3.2.X lý nghip v (Business Logic) 55
3.3.3.Dch v bn đ (Map Service) 58
3.3.4.Dch v điu phi (Distribute Service) 69
3.3.5.Dch v bo mt(Security Service) 77
3.3.6.Dch v nghip v (Business Service) 78
3.3.7.ng dng dành cho khách hàng 78
3.3.8.ng dng dành cho tài x 83
3.3.9.ng dng dành cho qun lý 84
3.4.Website dành cho ngi qun lý 85
3.5.ng dng di đng dành cho khách hàng và tài x 88
3.5.1.Dành cho khách hàng 88
3.5.2.Dành cho tài x 93
3.6.Hin thc quy trình gi và điu phi xe taxi 96
Chng 4. KT LUN 103
4.1.Kt qu đt đc ca đ tài 103
4.2.Hng đi tip theo ca đ tài 104
TÀI LIU THAM KHO 106
sss
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 6
Nguyn Duy Phng 0951012102

DANH MC HÌNH NH


Hình 2.1. Kin trúc mô hình MVVM 19
Hình 2.2. Mô t mô hình MVC 20
Hình 2.3. Kin trúc ca WCF 22
Hình 3.1. Mô hình hot đng chung ca h thng 31

Hình 3.2. S đ trng hp s dng ca h thng 32
Hình 3.3. Biu đ tun t ca chc nng đng nhp 39
Hình 3.4. Biu đ tun t ca chc nng xem bn đ và xác đnh ta đ 40
Hình 3.6. Biu đ tun t ca chc nng tìm
đng đi 41
Hình 3.7. Biu đ tun t ca chc nng tham kho cc và gi xe 42
Hình 3.8. Biu đ tun t ca chc nng điu xe gn nht 43
Hình 3.9. Biu đ tun t ca chc nng ch xe 44
Hình 3.10. Kin trúc thit k phn mm 46
Hình 3.11. S đ quan h 47
Hình 3.11. File Entity Data Model 54
Hình 3.12. Diagram Entity Data Model 55
Hình 2.2.6: Cu trúc Repository 56
Hình 2.2.7: Lu đ bài toán tính giá cc 57
Hình 3.12: nh bn đ
ly đc t Google Maps API 59
Hình 3.13: nh bn đ ly đc t Google Maps API 60
Hình 3.14: Lu đ mã hóa Encoded Polyline Algorithm Format cho 1 s nguyên 66
Hình 3.15: Lu đ gii mã Encoded Polyline Algorithm Format cho 1 chui kí t 67
Hình 3.16. S đ dch v điu phi xe 71
Hình 3.17. Lu đ quy trình điu phi 73
Hình 3.18. Vn đ nhiu yêu cu cp nht ta đ xy ra 73
Hình 3.19. Cách gi quyt vn đ nhiu ta đ x
y ra 74
Hình 3.20. Vn đ s lng ln tài x xy ra 75
Hình 3.21. Cách gii quyt vn đ vi s lng ln tài x 76
Hình 3.22. Cu trúc h thng bo mt 78
Hình 3.33. Xây dng Model cho ng dng ca Khách hàng 79
Hình 3.34. Xây dng ViewModel cho ng dng Khách hàng 80
Hình 3.35. Xây dng Converters cho ng dng khách hàng 81

Hình 3.36. Xây dng Helpers cho ng dng Khách hàng 81
Hình 3.37. Xây dng lp View cho ng dng Hành khách 82
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 7
Nguyn Duy Phng 0951012102

Hình 3.38. S đ truy xut Google Map trên Bing Map Control 83
Hinh 3.39. Giao din trang qun lý và cu hình xe. 85
Hình 3.40. Giao din trang cu hình loi xe 86
Hình 3.41. Giao din trang cu hình giá tin xe 86
Hình 3.42. Giao din trang ghi li log ca h thng 87
Hình 3.43. Trang đng nhp h thng ca Hành Khách 89
Hình 3.44. Trang chn l trình ca hành khách 90
Hình 3.2.3: Nhp đa đim tuyn đng mun đi 90
Hình 3.45. Trang thê hin thông tin l trình 91
Hình 3.46. Trang chn xe theo ý mun ca khách hàng 92
Hình 3.47. Trang yêu cu đt xe ti h thng 92
Hình 3.48. Màn hình đng nh
p ca ng dng tài x 94
Hình 3.49. Trang qun lý các chc nng ca tài x 94
Hình 3.50. Trang danh mc các yêu cu ca tài x 95
Hình 3.51. Thông tin chi tit yêu cu 96
Hình 3.53. Demo quy trình điu phi xe đn gin 97
Hình 3.54. Khách hàng chn tuyn đng, chn xe và gi yêu cu 98
Hình 3.55. Server nhn đc yêu cu và x lý 98
Hình 3.56. Thông báo có yêu cu mi và x lý 99
Hình 3.57. Thông báo yêu cu đã đc nhn ti khách hàng 100
Hình 3.3.6: Báo li cho khách hàng đã ti ni 101
Hình 3.58. Thông báo đã ti ni c

a tài x 101
Hình 3.59. Hành trình chuyn đi 102


Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 8
Nguyn Duy Phng 0951012102

DANH MC BNG BIU


Bng 2.1: Bng mô t s đ tình hung s dng 35

Bng 2.2: Giá dich v taxi Mai Linh 28
Bng 2.3: Mô t c s d liu ca h thng Error! Bookmark not defined.
Bng 2.4: Mô t cu trúc JSON đng đi tr v t Google Map 65


Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 9
Nguyn Duy Phng 0951012102

DANH MC NHNG T VIT TT


CRUD Create, Read, Update, Delete
GPS Global Positioning System
HH H điu hành

JSON JavaScript Object Notation
MVC Model – View – Controller
MVVM Model – View – ViewModel
SOAP Simple Object Access Protocol
SQL Structured Query Language
UML Unified Modeling Language
URL Uniform Resource Locator
WCF Windows Communication Foundation
WPF Windows Presentation Foundation


Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 10
Nguyn Duy Phng 0951012102

Chng 1. TNG QUAN
Hin nay, dch v Taxi đã rt ph bin  Vit Nam và nc ngoài. Sau mt thi gian
dài, bên cnh s phát trin ca dch v Taxi, nhng tiêu cc xã hi, lãng phí tài nguyên
cng bt đu phát sinh và ngày càng nghiêm trng. Nguyên nhân khách quan phn ln là
do quy trình s dng và điu phi ca dch v Taxi truyn thng còn nhiu hn ch và
cha gii quyt kp thi. Vi nn khoa hc k thut đang trên đà phát trin, công ngh
thông tin đã và đang thay đi đi sng con ngi thông qua kh nng tin hc hóa, t đng
hóa. ng dng h thng thông tin vào ci thin quy trình s dng và điu phi ca dch
v Taxi là gii pháp nhanh chóng và hp lý.
1.1. Hin trng nghiên cu
Hin nay, dch v Taxi đã rt ph bin  Vit Nam và nc ngoài. Tuy nhiên, quy
trình s dng và điu phi ca dch v Taxi truyn thng đang dn lc hu.
Quy trình đc tóm tt nh sau : Khi có cuc gi t khách hàng, b phn trc đin
thoi nghe ghi li thông tin đim hn, loi xe Taxi yêu cu, yêu cu thêm (nu có). Thông

tin này đc chuyn cho b phn tng đài. B phn tng đài s thông báo cho toàn b các
tài x trong khu vc ca mình bit thông tin đó thông qua b đàm. Các tài x s đn đón
khách ti đim hn. Ai đn trc s đón đc khách. Sau khi đón khách, tài x s dùng b
đàm báo v tng đài xác nhn đã đón thành công. Khách hàng cung cp ni đn cho tài
x. Cui cùng, sau khi đa khách đn ni, khách hàng s tr tin cc đc tính t đng
h cc.
Trong công tác tng đài, mt s hãng Taxi s dng phng pháp th công bng ghi
giy, ghi phiu,… Phng pháp này tn nhiu thi gian và công sc trong vic chuyn
các yêu cu, dn đn làm chm c quy trình.
Khi công ngh thông tin phát trin, quy trình ca mt s hãng đc tin hc hóa bng
cách trin khai h thng thông tin đ qun lý nghip v. Trong đó bao gm chuyn yêu
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 11
Nguyn Duy Phng 0951012102

cu t b phn trc đin thoi cho tng đài. Bin pháp này đã giúp ích cho công tác qun
lý rt nhiu, song vn cha khai thác nhiu v mt cung cp dch v nh:
- Thông tin v yêu cu s dng dch v ca khách hàng còn s sài, thiu đ chính
xác.
- Khách hàng không bit đc khi nào và xe nào xe s đn ch hn. Dn đn lãng
phí thi gian ch ca khách hàng hoc tài x Taxi.
- Khách hàng không th c lng đc giá tin cho chuyn đi nu cha có kinh
nghim.
- Vn đ khong cách ngôn ng gia khách hàng và tài x.
- Vn đ nhiu xe Taxi cùng đn đón mt khách hàng làm lãng phí thi gian. ôi
khi gây tranh chp gia các tài x. Vì tng đài thông báo đn toàn b Taxi trong
vùng ph sóng.
Nhng sn phm h thng qun lý và điu phi Taxi này đã sm đc nhiu công ty
phn mm đa ra th trng. Trong đó  Vit Nam, đin hình là h thng

“TaxiOperationGps” ca Công ty đin t Bình Anh đã trin khai thành công trên nhiu
hãng Taxi: Taxi Mai Linh, Taxi Trung Thành, Taxi Ni Bài,…
Nhng nm gn đây, công ngh thông tin đc đa lên mt tm cao mi vi s
bùng n ca th trng smartphone. Dch v Taxi cng đã đc phát trin thông qua vic
ra đi nhng h thng thông tin khai thác nhng đim mnh t smartphone. Nhng quc
gia tiên phong trong công cuc chuyn dch h thng thông tin trên máy tính sang h
thng thông tin di đng phi k đn là Thy in, Hàn Quc, c, …  Vit Nam, dch
v điu hành Taxi có áp dng h thng thông tin di đng trên h điu hành Android, mang
tên “Cabstar Taxi Online - Taxi Trc tuyn 24/7” đc xây dng bi Công ty c phn
Thng mi và u t Cát Tng - Hà Ni cng đã đc ra mt vào cui nm 2011. Các
h thng này đa ra mt s dch v h tr khách hàng, tài x trên smartphone có nhng
tính nng vt tri sau:
- Khách hàng có th truy cp ng dng gi Taxi t trên smartphone.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 12
Nguyn Duy Phng 0951012102

- Khách hàng có th s dng bn đ s trc quan đ chn đa đim, l tuyn.
- H thng t đng nhn yêu cu khách hàng và điu phi đúng xe Taxi cn thit.
- Tng đài qun lý đc ta đ các Taxi thông qua GPS.
- Tài x đc h thng gi thông tin yêu cu ca khách hàng và s đin thoi ca
khách hàng, giúp cho vic tìm khách hàng d dàng hn khi đn đim hn.
Tuy nhiên, nhng h thng này vn cha khai thác nhiu nhng tin ích cho khách
hàng. Các đim hn ch còn sót li là:
- Khách hàng vn cha có th xem giá tin tham kho trc khi quyt đnh gi xe.
- Khách hàng không nm đc tình hình Taxi nào s đn đón và có th s mt thi
gian ch Taxi vì không bit khi nào Taxi đn.
- Quy trình cha t đng trit đ : khi đn ni đón khách, tài x Taxi phi ch đng
gi đin thoi cho khách. Bin pháp này cha phi ti u vì kh nng giao tip và

đc bit là rào cn ngôn ng đi vi du khách nc ngoài.
Xét v mt xã hi, mâu thun tranh giành khách gia các các tài x Taxi, mâu thun
v giá cc Taxi gia tài x và khách hàng vn còn rt ph bin và cha đc quan tâm.
Hu qu là xã hi mt lòng tin vào loi hình dch v Taxi. Hn na, quy tc « ngi đn
trc s đón đc khách » còn kéo theo hu qu lãng phí thi gian, xng du ca nhng
tài x đn không kp. T đó, mi xut hin thêm nhng ca tai nn giao thông do tài x
phóng nhanh vt u khi mun tranh khách.
Thi gian qua, các phng tin truyn thông đu phn ánh và phê bình rt nhiu v
tính trung thc ca tài x Taxi đi vi khách du lch, đc bit là du khách nc ngoài. Va
qua, chng trình thc t "Camera giu kín" do Truyn hình An Viên thc hin đã đa ra
tình trng đáng bun v mt b phn tài x c tình ch khách du lch nc ngoài đi đng
vòng đ ly giá gp 8 ln thc t. Chính nhng tiêu cc trong ngành Taxi đã và đang trc
tip gây nh hng xu đn hình nh Vit Nam.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 13
Nguyn Duy Phng 0951012102

Trên tinh thn bt kp vi xu th công ngh thông tin th gii và giúp gii quyt tiêu
cc xã hi đ cp phía trên, vic tìm hiu và xây dng h thng phn mm t đng hóa
dch v gi xe và điu xe Taxi t đng có h tr bn đ s là điu cp thit.
1.2. Mc tiêu đ tài
Nghiên cu và phát trin h thng phn mm Client – Server cung cp dch v gi
xe Taxi s dng bn đ s trên thit b Smartphone và quy trình điu phi xe Taxi t
đng.
1.3. Phng pháp nghiên cu
Áp dng phng pháp phân tích và thit k hng đi tng bng UML:
- Tìm hiu hin trng tình hình nghip v và h thng thông tin trong dch v Taxi
bng các cách:
 Trc tip đi mt s chuyn Taxi đ nhn xét và đánh giá hin trng.

 Phng vn các đi tng có liên quan đn dch v Taxi: tài x, ngi hay s
dng dch v.
 Thu thp và tng hp thông tin trên các trang web ca hãng Taxi, các công
ty phn mm cung cp gii pháp điu hành cho hãng Taxi, các trang tin
tc,…
- Phân tích yêu cu, làm k hoch chung.
- V các biu đ UML thích hp
Tìm hiu kin trúc Client-Server ca h thng phn mm.
Nghiên cu và áp dng các Design Pattern: Model View Controller (MVC), Model
View ViewModel (MVVM), … đ tng tính lng lo.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 14
Nguyn Duy Phng 0951012102

Tìm hiu và áp dng nguyên lý thit k phng « Modern UI » đ thit k giao din
ngi dùng trc quan, đn gin nhng d hiu.
Tìm hiu k thut lp trình trên công ngh Windows Communication Foundation đ
xây dng Web Service.
Tìm hiu k thut xây dng ng dng và dch v Real-time Web bng th vin
SignalR.
Tìm hiu phng pháp ti u hóa thi gian thc thi ca quy trình điu phi xe: áp
dng gii thut Heuristic và cu trúc d liu hàng đi.
Tìm hiu nguyên lý và k thut lp trình trên nn tng phát trin ng dng Windows
Phone bng ngôn ng lp trình C#.
Tìm hiu v kh nng cung cp dch v bn đ s và tìm đng đi ca Google Maps
API.
Tìm hiu k thut lp trình tùy bin hóa Bing Maps Control đ cho phép s dng
Google Maps thay th Bing Maps mc đnh ca nn tng phát trin ng dng Windows
Phone.

Tìm hiu công c xây dng ng dng qun lý nghip v bng Visual Studio
LightSwitch.
Tìm hiu s dng dch v đin toán đám mây Windows Azure đ trin khai h thng
th nghim, s dng h qun tr c s d liu SQL Azure đ lu tr d liu.
1.4. Nhng đóng góp ca đ tài
V mt k thut, đ tài xây dng h thng phn mm Client- Server cung cp dch v
gi xe và điu xe t đng cho các hãng Taxi.
Quy trình điu xe t đng da trên c s t đng hóa tác v tng đài. Áp dng gii
thut Heuristic, cu trúc hàng đi đ ti u hóa tc đ thc thi ca quy trình.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 15
Nguyn Duy Phng 0951012102

V thành phn, Server gm:
- C s d liu SQL Azure dng quan h lu tr toàn b d liu ca h thng.
- ng dng WCF cung cp các thao tác truy xut d liu trong c s d liu cho
ng dng phía client.
- ng dng ASP.NET MVC có s dng th vin SignalR cung cp dch v gi
nhn thi gian thc nhm điu khin quy trình t lúc khách hàng yêu cu s dng
dch v Taxi đn lúc điu phi tài x lái xe đn ch khách hàng đn đa đim cn
đn.
Client gm:
- ng dng trên thit b di đng phát trin trên nn tng Windows Phone dành cho
khách hàng có chc nng xem và tìm đng trên Google Maps, xem giá cc
tham kho đi vi loi xe yêu cu, và gi yêu cu gi xe thông qua ng dng.
- ng dng trên thit b di đng phát trin trên nn tng Windows Phone dành cho
tài x có chc nng xem và tìm đng trên Google Maps, nhn đ ngh đón khách
t tng đài.
- ng dng web đ qun lý thông tin dành cho ngi qun lý. Ngi qun lý còn

có th theo dõi tình trng, hot đng ca quy trình trên Real-time web.
V mt xã hi, đ tài giúp khách hàng s dng dch v Taxi d dàng, tin li hn,
không ph thuc vào ging nói hay ngôn ng na vì mi thông tin v l tuyn đã đc
khách hàng cung cp trc khi xe đn bng ta đ, thông tin đa đim.
 tài còn tit kim thi gian cho khách hàng, tài x bng cách hn ch thi gian
ch vì khi tài x đn mi báo cho khách hàng ra xe.
Mâu thun gia khách hàng và tài x trong vn đ giá c cng đã đc gii quyt
bng chc nng xem giá tin tham kho ca khách hàng.
H thng đm bo vi mt yêu cu gi xe t khách hàng, ti mt thi đim ch có
mt tài x đang rnh đc đ ngh đn đón. Do đó, mâu thun tranh giành khách hàng
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 16
Nguyn Duy Phng 0951012102

gia các tài x đc gii quyt. iu đó phn nào cng đã giúp cng c li tinh thn đoàn
kt ni b trong xã hi, gia tài x vi khách hàng, tài x vi tài x, tài x vi hãng, lòng
tin ca khách hàng vào dch v hãng nói riêng và ngành dch v trong nc nói chung.
Tt c đã góp phn làm lành mnh hóa xã hi.
i vi du lch, dch v giao thông vn ti là mt ngành ngh ch cht. To dng
đc lòng tin vi du khách nc ngoài cng là mt cách làm đp hình nh Vit Nam.
V mt kinh t, khi mi vn đ mâu thun dn đc hn ch, dch v Taxi s có
nhiu thun li nht đnh. Nn kinh t dch v s cnh tranh và phát trin hn.
1.5. B cc ca báo cáo
Chng 1: Tng quan v khóa lun, nêu lên hin trng, mc tiêu, phng pháp và
kt qu thc hin.
Chng 2: Trình bày các phng pháp, k thut thc hin khóa lun.
Chng 3: Xây dng h thng phn mm. Mô t li các hot đng t thu thp thông
tin nghip v thc t, tin hành phân tích và thit k h thng theo mô hình UML. Sau đó,
kin trúc h thng, chia h thng thành các tng thành phn. Mi thành phn đm nhim

mt vai trò khác nhau và đi vào xây dng theo trình t t tng d liu đn tng giao din.
 mi thành phn, ngoài k thut lp trình thông thng, h thng còn có áp dng mt s
gii thut đ ti u hóa. Tt c s đc c th hóa trong chng này.
Chng 4: Kt qu thc hin. Tp trung mô t các chc nng mà h thng cung cp
sau khi xây dng thành công. Cng  chng này, quy trình t đng điu phi xe s đc
hin thc toàn trình đy đ.
Chng 5: Kt lun và hng phát trin ca h thng.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 17
Nguyn Duy Phng 0951012102

Chng 2. C S LÝ THUYT
Phân tích thit k hng đi tng bng UML đa ra các s đ mô t thích hp vi
vic xây dng h thng thông tin có quy trình. c bit khi phát trin h thng phn mm
trên nn tng .NET, môi trng phát trin tích hp Visual Studio phiên bn Ultimate cho
phép thit k viên b công c xây dng mô hình UML mnh m và có th tng tác vi
code. Ngoài ra, Microsoft còn cung cp mt h sinh thái phát trin phn mm rng ln, đa
tng thông qua nhng công ngh nn tng : WCF, ASP .NET, Windows Phone,… Khi
phát trin trên mi công ngh nn tng, k thut lp trình thng đi lin vi nhng mu
thit k quen thuc : MVC, MVVM,… Mt khác, trong vn đ khai thác d liu bn đ
s, Google Maps API ca Google có nhiu h tr phong phú và d dàng s dng.
2.1. Phân tích thit k hng đi tng bng UML
2.1.1. Gii thiu ngôn ng
mô hình hóa thng nht (UML)
Ngôn ng mô hình hóa thng nht (ting Anh: Unified Modeling Language, vit tt
là UML) là ngôn ng chun đ vit k hoch chi tit phn mm, thích hp đ mô hình hóa
các h thng nh h thng thông tin doanh nghip, các ng dng phân tán trên Web, h
thng nhúng thi gian thc…
Cách xây dng các mô hình trong UML phù hp mô t các h thng thông tin c v

cu trúc cng nh hot đng. Cách tip cn theo mô hình ca UML giúp ích rt nhiu cho
nhng ngi thit k và thc hin h thng thông tin cng nh nhng ngi s dng nó;
to nên mt cái nhìn bao quát và đy đ v h thng thông tin d đnh xây dng. Cách
nhìn bao quát này giúp nm bt trn vn các yêu cu ca ngi dùng; phc v t giai
đon phân tích đn vic thit k, thm đnh và kim tra sn phm ng dng công ngh
thông tin. Các mô hình hng đi tng đc lp cng là c s cho vic ng dng các
chng trình t đng sinh mã trong các ngôn ng lp trình hng đi tng, chng hn
nh ngôn ng C++, Java, Phng pháp mô hình này rt hu dng trong lp trình hng
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 18
Nguyn Duy Phng 0951012102

đi tng. Các mô hình đc s dng bao gm Mô hình đi tng (mô hình tnh) và Mô
hình đng.
UML có ký pháp và tp các lut s dng, th hin bi các s đ UML ch yu sau:
- S đ lp (Class Diagram)
- S đ đi tng (Object Diagram)
- S đ tình hung s dng (Use Case Diagram)
- S đ trình t (Sequence Diagram)
- S đ cng tác (Collaboration Diagram)
- S đ trng thái (State Machine Diagram)
- S đ thành phn (Component Diagram)
- S đ hot đng (Activity Diagram)
- S đ trin khai (Deployment Diagram)
- S đ gói (Package Diagram)
- S đ liên lc (Communication Diagram)
2.1.2. Phân tích thit k hng đi tng
Phân tích thit k bao gm mô hình hóa vn đ và gii pháp t các góc nhìn khác
nhau. Trong pha phân tích, có ba loi mô hình thng đc quan tâm, đó là mô hình

trng hp s dng, mô hình lnh vc và mô hình giao din ng
i s dng.
- Mô hình trng hp s dng mô t h thng s đc s dng nh th nào.
- Mô hình lnh vc s m rng mô hình trng hp s dng bng cách đt h thng
vào ng cnh.
- Mô hình giao din ngi s dng mô t ngi s dng tng tác vi h thng th
nào. Chng này mô t ngi s dng tng tác vi h thng th nào.
2.2. Kin trúc Model View ViewModel (MVVM)
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 19
Nguyn Duy Phng 0951012102

Model View ViewModel là mô hình kin trúc đc s dng trong công ngh phn
mm, có ngun gc t Microsoft. MVVM hng đn nn tng lp trình giao din ngi
dùng, có h tr lp trình hng s kin, nh: WPF, Silverlight, HTML5…
MVVM to tách bit gia vic thit k giao din và lp trình x lý. Có 3 thành phn
cu thành kin trúc MVVM:

Hình 2.1. Kin trúc mô hình MVVM
- View: Tng t nh trong mô hình MVC, View là phn giao din ca ng dng
đ hin th d liu và nhn tng tác ca ngi dùng. Mt đim khác bit so vi
các ng dng truyn thng là View trong mô hình này tích cc hn. Nó có kh
nng thc hin các hành vi và phn hi li ngi dùng thông qua tính nng
binding, command
- Model: Cng tng t nh trong mô hình MVC. Model là các đi tng giúp truy
xut và thao tác trên d liu thc s.
- ViewModel: Lp trung gian gia View và Model. ViewModel có th đc xem
là thành phn thay th cho Controller trong mô hình MVC. Nó cha các mã lnh
cn thit đ thc hin data binding, command.

2.3. Kin trúc Model-View-Controller (MVC)
MVC đa ra phng pháp chia nh mt ng dng thành ba thành phn đ cài đt,
mi thành phn đóng mt vai trò khác nhau và nh hng ln nhau, đó là models, views,
và controllers. MVC có th đc mô t nh hình sau:
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 20
Nguyn Duy Phng 0951012102


Hình 2.2. Mô t mô hình MVC
Models trong các ng dng da trên MVC là nhng thành phn có nhim v lu tr
thông tin, trng thái ca các đi tng, thông thng nó là mt lp đc ánh x t mt
bng trong CSDL.
Trong khi đó, Views chu trách nhim hin th các thông tin lên cho ngi dùng
thông qua giao din. Thông thng, các thông tin cn hin th đc ly t thành phn
Models.
Cui cùng, Controllers trong các ng dng kiu MVC chu trách nhim x lý các tác
đng v mt giao din, các thao tác đi vi models, và cui cùng là chn mt view thích
hp đ hin th ra màn hình. Trong kin trúc MVC, view ch có tác dng hin th giao
din mà thôi, còn điu kin dòng nhp xut ca ngi dùng vn do Controllers đm trách.
2.4. Tng quan công ngh Windows Communication Foudation
2.4.1. Gii thiu công ngh Windows Communication Foudation
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 21
Nguyn Duy Phng 0951012102

Windows Communication Foudation (WCF) là mô hình lp trình thng nht ca
Microsoft cho vic xây dng các ng dng theo hng dch v. WCF cung cp các nhà

phát trin có mt gii pháp xây dng vic truyn thông an toàn. WCF đc xây dng trên
Microsoft NET Framework. Nó hp nht mt lot các h thng phân phi trong mt kin
trúc composable m rng, h tr vn chuyn nhiu, tin nhn hình, mã hóa, topo mng, và
các mô hình lu tr. Nó là phiên bn k tip ca mt s sn phm hin có: ASP.NET 's
WebMethod (ASMX), WebService(WSE), .NET Remoting, …
2.4.2. Kin trúc ca WCF
WCF có 4 thành phn chính sau:
- Tng Contract: Các contract trong WCF cng cha các thông tin tng ging nh
các hp đng/hip đnh mà bn ký trong đi sng tht. Contract đnh ngha các
đc t trong h thng bn tin.
- Runtime service: cha các hành x s xy ra trong quá trình thc hin ca dch
v, ngha là các hành x thc thi ca dch v.
- Message: tp h
p các kênh. Mi kênh là mt thành phn x lý bn tin theo mt
cách nào đó. Mt tp các kênh thng đc gi là ngn xp kênh. Các kênh làm
vic trên bn tin và trên đu đ ca bn tin. Lp này khác vi lp thc thi dch v
ch yu bi s khác nhau trong vic x lý ni dung bn tin.
- Host and activation: nhìn mt cách tng th thì mt dch v thc cht là mt
chng trình. Cng ging nh các chng trình khác, mt dch v cn phi chy
trong mt tp thc thi. Dch v này thng đc gi là dch v t cha. Các dch
v còn có th đc cha, hoc chy trong mt tp thc thi đc qun lý bi mt
agent bên ngoài nh IIS hay Windows Activation Services (WAS).
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 22
Nguyn Duy Phng 0951012102


Hình 2.3. Kin trúc ca WCF
2.5. Tng quan công ngh ASP.NET MVC

2.5.1. Gii thiu công ngh ASP.NET MVC
ASP.NET MVC là framework phát trin ng dng web ca Microsoft, kt hp gia
tính hiu qu và nh gn ca mô hình model-view-controller (MVC), nhng ý tng và
công ngh hin đi. Phiên bn mi nht, ASP.NET MVC 4 h tr Bundling and
minification giúp tng hiu nng cho CSS/JS. Mt đim ni bt ca ASP.NET MVC 4 là
h tr Entity Framework 5, có tính nng h tr nâng cp cu trúc CSDL (database
migration).
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 23
Nguyn Duy Phng 0951012102

2.5.2. Gii thiu th vin SignalR
SignalR là th vin h tr lp trình viên ASP.NET có th d dàng to ra ng dng có
kh nng gi nhn d liu thi gian thc. SignalR có th cung cp kh nng gi nhn
bng WebSocket. Tuy nhiên, nu WebSocket trong ng cnh đó không h tr đc,
SignalR t đng s dng nhng công ngh và k thut khác cho phép to hiu ng tng
đng. SignalR đa ra hai mô hình lp trình là hubs và persistent connections. SignalR s
dng khái nim transport. Mi transport quyt đnh d liu đc gi nhn th nào và làm
th nào đ kt ni, bao gm các loi kt ni sau:
 WebSockets
 Server Sent Events
 Forever Frame
 Long polling
SignalR s t đng chn loi kt ni tt nht h tr đng thi server và client nu
không đc ch đnh c th.
2.6. Tng quan công ngh LightSwitch
2.6.1. Gii thiu công ngh LightSwitch
LightSwitch là mt công c cho phép xây dng ng dng bng cách lp ghép các
thành phn, d liu và lp trình. LightSwitch đc thit k vi mc đích giúp cho ngi

lp trình to ra nhng ng dng cho doanh nghip mt cách nhanh chóng và tin li cho
c lp trình viên ln doanh nghip. Hin nay phn ln các ng dng doanh nghip thng
là dng forms-over-data. Vi các ng dng nh vy, tu chung ch có vài chc nng c
bn nht nh xem, chnh sa, thêm xoá … d liu. LightSwitch ra đi chính là đ gii
quyt vn đ đó. Ngoài ra LightSwitch còn h tr sn các kim tra hp l, h tr phân
quyn, có đnh ngha các kiu d liu mnh m nh đa ch email, hình nh
2.6.2. Kin trúc ca LightSwitch
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 24
Nguyn Duy Phng 0951012102

ng dng LightSwitch đc xây dng trên mt kin trúc 3 tng c đin. Mi tng
hot đng đc lp và thc hin mt vai trò c th:
 Tng presentation: gi vai trò tng tác vi ngi dùng, hin thc hóa d liu.
 Tng logic: gi vai trò truy vn, cp nht, kim tra hp l d liu. Ngoài ra có
th thc hin mt s x lý tùy bin khác.
 Tng data storage: gi vai trò lu tr d liu: SQL Sever, Azure, SharePoint,
OData Service,…
2.7. Tng quan v Windows Phone
2.7.1. Gii thiu nn tng Windows Phone
Windows Phone là h điu hành đc dùng riêng cho dòng đin thoi thông minh
th h mi smartphone. Windows phone còn có tên gi khác là Windows Phone 7 Series,
tp trung vào s phát trin ca Marketplace - ni các nhà phát trin có th cung cp sn
phm (min phí hoc có phí) ti ngi dùng.
2.7.2. u đim ca Windows Phone.
Windows Phone mang đn cho ngi dùng nhng tri nghim hoàn toàn mi. Theo
các cuc kho sát nhu cu, nghiên cu v phía ngi dùng, Microsoft đã xây dng
Windows Phone đáp ng đc hoàn toàn nhng nh cu cn thit nht đi vi
Smartphone: truy cp internet, duyt email, x lý vn bn, kim tra bng tính, nghe nhc,

chi game Windows phone h tr Wifi, 3G, GPS vi giao din trc quan, cm ng đa
chm, thâm thin vi ngi dùng.
2.7.3. Kin trúc n
n tng Windows Phone
Nn tng Windows Phone cung cp cho lp trình viên tng Windows Phone
Framework h tr các API thao tác vi các cm bin, mt s control. Tùy vào cách tip
cn khác nhau, s dng tng Silverlight dành cho mc đích lp trình ng dng đn gin,
truy cp d liu cc b. Còn nu nh đ lp trình games chuyên nghip thì s s dng
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng

SVTH: Chung Vnh Khang 0951010054 Trang 25
Nguyn Duy Phng 0951012102

tng XNA. Bên di là tng Application Object và Common Base Class Library tng t
nh mi công ngh phát trin ng dng .NET khác.
2.8. Gii thiu công ngh Global Positioning System (GPS)
H thng nh v Toàn cu (GPS) là h thng xác đnh v trí da trên v trí ca các
v tinh nhân to. Trong cùng mt thi đim, ta đ ca mt đim trên mt đt s đc xác
đnh nu xác đnh đc khong cách t đim đó đn ít nht ba v tinh.
Các thc hot đng: Các v tinh GPS bay vòng quanh Trái t hai ln trong mt
ngày theo mt qu đo rt chính xác và phát tín hiu có thông tin xung Trái t. Các
máy thu GPS nhn thông tin này và bng phép tính lng giác tính đc chính xác v trí
ca ngi dùng. V bn cht máy thu GPS so sánh thi gian tín hiu đc phát đi t v
tinh vi thi gian nhn đc chúng. Sai lch v thi gian cho bit máy thu GPS  cách v
tinh bao xa. Ri vi nhiu quãng cách đo đc ti nhiu v tinh máy thu có th tính đc
v trí ca ngi dùng và hin th lên bn đ đin t ca máy.
2.9. Gii thiu dch v Google Maps
Là mt dch v ng dng và công ngh bn đ trc tuyn trên web min phí đc
cung cp bi Google và h tr nhiu dch v, có th dùng đ nhúng vào các trang web ca
bên th ba thông qua Google Maps API. Nó cho phép thy bn đ đng đi, và nhng đa

đim kinh doanh trong khu vc cng nh khp ni trên th gii.

×