Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 1
Nguyn Duy Phng 0951012102
TRNG I HC M THÀNH PH H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN
KHÓA LUN TT NGHIP
XÂY DNG PHÂN H DCH V GI XE VÀ
IU XE TAXI T NG CÓ H TR BN
S TRÊN SMARTPHONE
GVHD: SVTH:
TS. Lê Xuân Trng Chung Vnh Khang 0951010054
Nguyn Duy Phng 0951012102
Tháng 06 nm 2013
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 2
Nguyn Duy Phng 0951012102
LI CÁM N
Khóa lun này là kt qu ca mt quá trình tìm hiu, thit k và phát trin phân h
dch v gi và điu xe t đng có h tr bn đ s trên Smartphone. Khóa lun này s
không th hoàn thành nu không có s giúp đ ca các thy cô. Do đó, chúng em xin
dành trn trang đu tiên ca báo cáo kính gi nhng li cm n sâu sc.
Chúng em xin chân thành cám n toàn th Ban giám hiu trng i hc M
TP.HCM, cám n các thy cô khoa Công ngh thông tin, nhng ngi đã dn dt chúng
em trong sut bn nm hc ti trng. c bit chúng em xin gi li cám n đn thy Lê
Xuân Trng đã hng dn, giúp đ chúng em tn tâm đ hoàn thành khóa lun tt
nghip này.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 3
Nguyn Duy Phng 0951012102
NHN XÉT CA GIÁO VIÊN HNG DN
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 4
Nguyn Duy Phng 0951012102
MC LC
Chng 1. TNG QUAN 10
1.1. Hin trng 10
1.2.Mc tiêu đ tài 13
1.3.Phng pháp nghiên cu 13
1.4.B cc ca báo cáo 16
Chng 2. C S LÝ THUYT 17
2.1.Phân tích thit k hng đi tng bng UML 17
2.1.1.Gii thiu ngôn ng mô hình hóa thng nht (UML) 17
2.1.2.Phân tích thit k hng đi tng 18
2.1.3.Kin trúc Model View ViewModel (MVVM) 18
2.1.4.Kin trúc Model-View-Controller (MVC) 19
2.2.Gii thiu dch v Google Maps 25
2.3.Tng quan công ngh Windows Communication Foudation 20
2.3.1.Gii thiu công ngh Windows Communication Foudation 20
2.3.2.Kin trúc ca WCF 21
2.4.Tng quan công ngh ASP.NET MVC 22
2.4.1.Gii thiu công ngh ASP.NET MVC 22
2.4.2.Gii thiu th vin SignalR 23
2.5.Tng quan công ngh LightSwitch 23
2.5.1.Gii thiu công ngh LightSwitch 23
2.5.2.Kin trúc ca LightSwitch 23
2.6.Tng quan v Windows Phone 24
2.6.1.Gii thiu nn tng Windows Phone 24
2.6.2.u đim ca Windows Phone. 24
2.6.3.Kin trúc nn tng Windows Phone 24
2.7.Gii thiu công ngh Global Positioning System (GPS) 25
Chng 3. XÂY DNG H THNG PHN MM 26
3.1.S lc h thng Error! Bookmark not defined.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 5
Nguyn Duy Phng 0951012102
3.2.Phân tích và thit k h thng 26
3.2.1.S đ tính hung s dng 26
3.2.2.Biu đ tun t 35
3.2.3.Thit k kin trúc phn mm Error! Bookmark not defined.
3.2.4.Phân tích c s d liu Error! Bookmark not defined.
3.2.5.Thit k c s d liu 46
3.3.Lp trình theo các thành phn 53
3.3.1.Thc th nghip v (Business Entity) 54
3.3.2.X lý nghip v (Business Logic) 55
3.3.3.Dch v bn đ (Map Service) 58
3.3.4.Dch v điu phi (Distribute Service) 69
3.3.5.Dch v bo mt(Security Service) 77
3.3.6.Dch v nghip v (Business Service) 78
3.3.7.ng dng dành cho khách hàng 78
3.3.8.ng dng dành cho tài x 83
3.3.9.ng dng dành cho qun lý 84
3.4.Website dành cho ngi qun lý 85
3.5.ng dng 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.Hin thc quy trình gi và điu phi xe taxi 96
Chng 4. KT LUN 103
4.1.Kt qu đt đc ca đ tài 103
4.2.Hng đi tip theo ca đ tài 104
TÀI LIU THAM KHO 106
sss
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 6
Nguyn Duy Phng 0951012102
DANH MC HÌNH NH
Hình 2.1. Kin trúc mô hình MVVM 19
Hình 2.2. Mô t mô hình MVC 20
Hình 2.3. Kin trúc ca WCF 22
Hình 3.1. Mô hình hot đng chung ca h thng 31
Hình 3.2. S đ trng hp s dng ca h thng 32
Hình 3.3. Biu đ tun t ca chc nng đng nhp 39
Hình 3.4. Biu đ tun t ca chc nng xem bn đ và xác đnh ta đ 40
Hình 3.6. Biu đ tun t ca chc nng tìm
đng đi 41
Hình 3.7. Biu đ tun t ca chc nng tham kho cc và gi xe 42
Hình 3.8. Biu đ tun t ca chc nng điu xe gn nht 43
Hình 3.9. Biu đ tun t ca chc nng ch xe 44
Hình 3.10. Kin trúc thit k phn mm 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: Cu trúc Repository 56
Hình 2.2.7: Lu đ bài toán tính giá cc 57
Hình 3.12: nh bn đ
ly đc t Google Maps API 59
Hình 3.13: nh bn đ ly đc t Google Maps API 60
Hình 3.14: Lu đ mã hóa Encoded Polyline Algorithm Format cho 1 s nguyên 66
Hình 3.15: Lu đ gii mã Encoded Polyline Algorithm Format cho 1 chui kí t 67
Hình 3.16. S đ dch v điu phi xe 71
Hình 3.17. Lu đ quy trình điu phi 73
Hình 3.18. Vn đ nhiu yêu cu cp nht ta đ xy ra 73
Hình 3.19. Cách gi quyt vn đ nhiu ta đ x
y ra 74
Hình 3.20. Vn đ s lng ln tài x xy ra 75
Hình 3.21. Cách gii quyt vn đ vi s lng ln tài x 76
Hình 3.22. Cu trúc h thng bo mt 78
Hình 3.33. Xây dng Model cho ng dng ca Khách hàng 79
Hình 3.34. Xây dng ViewModel cho ng dng Khách hàng 80
Hình 3.35. Xây dng Converters cho ng dng khách hàng 81
Hình 3.36. Xây dng Helpers cho ng dng Khách hàng 81
Hình 3.37. Xây dng lp View cho ng dng Hành khách 82
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 7
Nguyn Duy Phng 0951012102
Hình 3.38. S đ truy xut Google Map trên Bing Map Control 83
Hinh 3.39. Giao din trang qun lý và cu hình xe. 85
Hình 3.40. Giao din trang cu hình loi xe 86
Hình 3.41. Giao din trang cu hình giá tin xe 86
Hình 3.42. Giao din trang ghi li log ca h thng 87
Hình 3.43. Trang đng nhp h thng ca Hành Khách 89
Hình 3.44. Trang chn l trình ca hành khách 90
Hình 3.2.3: Nhp đa đim tuyn đng mun đi 90
Hình 3.45. Trang thê hin thông tin l trình 91
Hình 3.46. Trang chn xe theo ý mun ca khách hàng 92
Hình 3.47. Trang yêu cu đt xe ti h thng 92
Hình 3.48. Màn hình đng nh
p ca ng dng tài x 94
Hình 3.49. Trang qun lý các chc nng ca tài x 94
Hình 3.50. Trang danh mc các yêu cu ca tài x 95
Hình 3.51. Thông tin chi tit yêu cu 96
Hình 3.53. Demo quy trình điu phi xe đn gin 97
Hình 3.54. Khách hàng chn tuyn đng, chn xe và gi yêu cu 98
Hình 3.55. Server nhn đc yêu cu và x lý 98
Hình 3.56. Thông báo có yêu cu mi và x lý 99
Hình 3.57. Thông báo yêu cu đã đc nhn ti khách hàng 100
Hình 3.3.6: Báo li cho khách hàng đã ti ni 101
Hình 3.58. Thông báo đã ti ni c
a tài x 101
Hình 3.59. Hành trình chuyn đi 102
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 8
Nguyn Duy Phng 0951012102
DANH MC BNG BIU
Bng 2.1: Bng mô t s đ tình hung s dng 35
Bng 2.2: Giá dich v taxi Mai Linh 28
Bng 2.3: Mô t c s d liu ca h thng Error! Bookmark not defined.
Bng 2.4: Mô t cu trúc JSON đng đi tr v t Google Map 65
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 9
Nguyn Duy Phng 0951012102
DANH MC NHNG T VIT TT
CRUD Create, Read, Update, Delete
GPS Global Positioning System
HH H điu 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 lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 10
Nguyn Duy Phng 0951012102
Chng 1. TNG QUAN
Hin nay, dch v Taxi đã rt ph bin Vit Nam và nc ngoài. Sau mt thi gian
dài, bên cnh s phát trin ca dch v Taxi, nhng tiêu cc xã hi, lãng phí tài nguyên
cng bt đu phát sinh và ngày càng nghiêm trng. Nguyên nhân khách quan phn ln là
do quy trình s dng và điu phi ca dch v Taxi truyn thng còn nhiu hn ch và
cha gii quyt kp thi. Vi nn khoa hc k thut đang trên đà phát trin, công ngh
thông tin đã và đang thay đi đi sng con ngi thông qua kh nng tin hc hóa, t đng
hóa. ng dng h thng thông tin vào ci thin quy trình s dng và điu phi ca dch
v Taxi là gii pháp nhanh chóng và hp lý.
1.1. Hin trng nghiên cu
Hin nay, dch v Taxi đã rt ph bin Vit Nam và nc ngoài. Tuy nhiên, quy
trình s dng và điu phi ca dch v Taxi truyn thng đang dn lc hu.
Quy trình đc tóm tt nh sau : Khi có cuc gi t khách hàng, b phn trc đin
thoi nghe ghi li thông tin đim hn, loi xe Taxi yêu cu, yêu cu thêm (nu có). Thông
tin này đc chuyn cho b phn tng đài. B phn tng đài s thông báo cho toàn b các
tài x trong khu vc ca mình bit thông tin đó thông qua b đàm. Các tài x s đn đón
khách ti đim hn. Ai đn trc s đón đc khách. Sau khi đón khách, tài x s dùng b
đàm báo v tng đài xác nhn đã đón thành công. Khách hàng cung cp ni đn cho tài
x. Cui cùng, sau khi đa khách đn ni, khách hàng s tr tin cc đc tính t đng
h cc.
Trong công tác tng đài, mt s hãng Taxi s dng phng pháp th công bng ghi
giy, ghi phiu,… Phng pháp này tn nhiu thi gian và công sc trong vic chuyn
các yêu cu, dn đn làm chm c quy trình.
Khi công ngh thông tin phát trin, quy trình ca mt s hãng đc tin hc hóa bng
cách trin khai h thng thông tin đ qun lý nghip v. Trong đó bao gm chuyn yêu
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 11
Nguyn Duy Phng 0951012102
cu t b phn trc đin thoi cho tng đài. Bin pháp này đã giúp ích cho công tác qun
lý rt nhiu, song vn cha khai thác nhiu v mt cung cp dch v nh:
- Thông tin v yêu cu s dng dch v ca khách hàng còn s sài, thiu đ chính
xác.
- Khách hàng không bit đc khi nào và xe nào xe s đn ch hn. Dn đn lãng
phí thi gian ch ca khách hàng hoc tài x Taxi.
- Khách hàng không th c lng đc giá tin cho chuyn đi nu cha có kinh
nghim.
- Vn đ khong cách ngôn ng gia khách hàng và tài x.
- Vn đ nhiu xe Taxi cùng đn đón mt khách hàng làm lãng phí thi gian. ôi
khi gây tranh chp gia các tài x. Vì tng đài thông báo đn toàn b Taxi trong
vùng ph sóng.
Nhng sn phm h thng qun lý và điu phi Taxi này đã sm đc nhiu công ty
phn mm đa ra th trng. Trong đó Vit Nam, đin hình là h thng
“TaxiOperationGps” ca Công ty đin t Bình Anh đã trin khai thành công trên nhiu
hãng Taxi: Taxi Mai Linh, Taxi Trung Thành, Taxi Ni Bài,…
Nhng nm gn đây, công ngh thông tin đc đa lên mt tm cao mi vi s
bùng n ca th trng smartphone. Dch v Taxi cng đã đc phát trin thông qua vic
ra đi nhng h thng thông tin khai thác nhng đim mnh t smartphone. Nhng quc
gia tiên phong trong công cuc chuyn dch h thng thông tin trên máy tính sang h
thng thông tin di đng phi k đn là Thy in, Hàn Quc, c, … Vit Nam, dch
v điu hành Taxi có áp dng h thng thông tin di đng trên h điu hành Android, mang
tên “Cabstar Taxi Online - Taxi Trc tuyn 24/7” đc xây dng bi Công ty c phn
Thng mi và u t Cát Tng - Hà Ni cng đã đc ra mt vào cui nm 2011. Các
h thng này đa ra mt s dch v h tr khách hàng, tài x trên smartphone có nhng
tính nng vt tri sau:
- Khách hàng có th truy cp ng dng gi Taxi t trên smartphone.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 12
Nguyn Duy Phng 0951012102
- Khách hàng có th s dng bn đ s trc quan đ chn đa đim, l tuyn.
- H thng t đng nhn yêu cu khách hàng và điu phi đúng xe Taxi cn thit.
- Tng đài qun lý đc ta đ các Taxi thông qua GPS.
- Tài x đc h thng gi thông tin yêu cu ca khách hàng và s đin thoi ca
khách hàng, giúp cho vic tìm khách hàng d dàng hn khi đn đim hn.
Tuy nhiên, nhng h thng này vn cha khai thác nhiu nhng tin ích cho khách
hàng. Các đim hn ch còn sót li là:
- Khách hàng vn cha có th xem giá tin tham kho trc khi quyt đnh gi xe.
- Khách hàng không nm đc tình hình Taxi nào s đn đón và có th s mt thi
gian ch Taxi vì không bit khi nào Taxi đn.
- Quy trình cha t đng trit đ : khi đn ni đón khách, tài x Taxi phi ch đng
gi đin thoi cho khách. Bin pháp này cha phi ti u vì kh nng giao tip và
đc bit là rào cn ngôn ng đi vi du khách nc ngoài.
Xét v mt xã hi, mâu thun tranh giành khách gia các các tài x Taxi, mâu thun
v giá cc Taxi gia tài x và khách hàng vn còn rt ph bin và cha đc quan tâm.
Hu qu là xã hi mt lòng tin vào loi hình dch v Taxi. Hn na, quy tc « ngi đn
trc s đón đc khách » còn kéo theo hu qu lãng phí thi gian, xng du ca nhng
tài x đn không kp. T đó, mi xut hin thêm nhng ca tai nn giao thông do tài x
phóng nhanh vt u khi mun tranh khách.
Thi gian qua, các phng tin truyn thông đu phn ánh và phê bình rt nhiu v
tính trung thc ca tài x Taxi đi vi khách du lch, đc bit là du khách nc ngoài. Va
qua, chng trình thc t "Camera giu kín" do Truyn hình An Viên thc hin đã đa ra
tình trng đáng bun v mt b phn tài x c tình ch khách du lch nc ngoài đi đng
vòng đ ly giá gp 8 ln thc t. Chính nhng tiêu cc trong ngành Taxi đã và đang trc
tip gây nh hng xu đn hình nh Vit Nam.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 13
Nguyn Duy Phng 0951012102
Trên tinh thn bt kp vi xu th công ngh thông tin th gii và giúp gii quyt tiêu
cc xã hi đ cp phía trên, vic tìm hiu và xây dng h thng phn mm t đng hóa
dch v gi xe và điu xe Taxi t đng có h tr bn đ s là điu cp thit.
1.2. Mc tiêu đ tài
Nghiên cu và phát trin h thng phn mm Client – Server cung cp dch v gi
xe Taxi s dng bn đ s trên thit b Smartphone và quy trình điu phi xe Taxi t
đng.
1.3. Phng pháp nghiên cu
Áp dng phng pháp phân tích và thit k hng đi tng bng UML:
- Tìm hiu hin trng tình hình nghip v và h thng thông tin trong dch v Taxi
bng các cách:
Trc tip đi mt s chuyn Taxi đ nhn xét và đánh giá hin trng.
Phng vn các đi tng có liên quan đn dch v Taxi: tài x, ngi hay s
dng dch v.
Thu thp và tng hp thông tin trên các trang web ca hãng Taxi, các công
ty phn mm cung cp gii pháp điu hành cho hãng Taxi, các trang tin
tc,…
- Phân tích yêu cu, làm k hoch chung.
- V các biu đ UML thích hp
Tìm hiu kin trúc Client-Server ca h thng phn mm.
Nghiên cu và áp dng các Design Pattern: Model View Controller (MVC), Model
View ViewModel (MVVM), … đ tng tính lng lo.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 14
Nguyn Duy Phng 0951012102
Tìm hiu và áp dng nguyên lý thit k phng « Modern UI » đ thit k giao din
ngi dùng trc quan, đn gin nhng d hiu.
Tìm hiu k thut lp trình trên công ngh Windows Communication Foundation đ
xây dng Web Service.
Tìm hiu k thut xây dng ng dng và dch v Real-time Web bng th vin
SignalR.
Tìm hiu phng pháp ti u hóa thi gian thc thi ca quy trình điu phi xe: áp
dng gii thut Heuristic và cu trúc d liu hàng đi.
Tìm hiu nguyên lý và k thut lp trình trên nn tng phát trin ng dng Windows
Phone bng ngôn ng lp trình C#.
Tìm hiu v kh nng cung cp dch v bn đ s và tìm đng đi ca Google Maps
API.
Tìm hiu k thut lp trình tùy bin hóa Bing Maps Control đ cho phép s dng
Google Maps thay th Bing Maps mc đnh ca nn tng phát trin ng dng Windows
Phone.
Tìm hiu công c xây dng ng dng qun lý nghip v bng Visual Studio
LightSwitch.
Tìm hiu s dng dch v đin toán đám mây Windows Azure đ trin khai h thng
th nghim, s dng h qun tr c s d liu SQL Azure đ lu tr d liu.
1.4. Nhng đóng góp ca đ tài
V mt k thut, đ tài xây dng h thng phn mm Client- Server cung cp dch v
gi xe và điu xe t đng cho các hãng Taxi.
Quy trình điu xe t đng da trên c s t đng hóa tác v tng đài. Áp dng gii
thut Heuristic, cu trúc hàng đi đ ti u hóa tc đ thc thi ca quy trình.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 15
Nguyn Duy Phng 0951012102
V thành phn, Server gm:
- C s d liu SQL Azure dng quan h lu tr toàn b d liu ca h thng.
- ng dng WCF cung cp các thao tác truy xut d liu trong c s d liu cho
ng dng phía client.
- ng dng ASP.NET MVC có s dng th vin SignalR cung cp dch v gi
nhn thi gian thc nhm điu khin quy trình t lúc khách hàng yêu cu s dng
dch v Taxi đn lúc điu phi tài x lái xe đn ch khách hàng đn đa đim cn
đn.
Client gm:
- ng dng trên thit b di đng phát trin trên nn tng Windows Phone dành cho
khách hàng có chc nng xem và tìm đng trên Google Maps, xem giá cc
tham kho đi vi loi xe yêu cu, và gi yêu cu gi xe thông qua ng dng.
- ng dng trên thit b di đng phát trin trên nn tng Windows Phone dành cho
tài x có chc nng xem và tìm đng trên Google Maps, nhn đ ngh đón khách
t tng đài.
- ng dng web đ qun lý thông tin dành cho ngi qun lý. Ngi qun lý còn
có th theo dõi tình trng, hot đng ca quy trình trên Real-time web.
V mt xã hi, đ tài giúp khách hàng s dng dch v Taxi d dàng, tin li hn,
không ph thuc vào ging nói hay ngôn ng na vì mi thông tin v l tuyn đã đc
khách hàng cung cp trc khi xe đn bng ta đ, thông tin đa đim.
tài còn tit kim thi gian cho khách hàng, tài x bng cách hn ch thi gian
ch vì khi tài x đn mi báo cho khách hàng ra xe.
Mâu thun gia khách hàng và tài x trong vn đ giá c cng đã đc gii quyt
bng chc nng xem giá tin tham kho ca khách hàng.
H thng đm bo vi mt yêu cu gi xe t khách hàng, ti mt thi đim ch có
mt tài x đang rnh đc đ ngh đn đón. Do đó, mâu thun tranh giành khách hàng
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 16
Nguyn Duy Phng 0951012102
gia các tài x đc gii quyt. iu đó phn nào cng đã giúp cng c li tinh thn đoàn
kt ni b trong xã hi, gia tài x vi khách hàng, tài x vi tài x, tài x vi hãng, lòng
tin ca khách hàng vào dch v hãng nói riêng và ngành dch v trong nc nói chung.
Tt c đã góp phn làm lành mnh hóa xã hi.
i vi du lch, dch v giao thông vn ti là mt ngành ngh ch cht. To dng
đc lòng tin vi du khách nc ngoài cng là mt cách làm đp hình nh Vit Nam.
V mt kinh t, khi mi vn đ mâu thun dn đc hn ch, dch v Taxi s có
nhiu thun li nht đnh. Nn kinh t dch v s cnh tranh và phát trin hn.
1.5. B cc ca báo cáo
Chng 1: Tng quan v khóa lun, nêu lên hin trng, mc tiêu, phng pháp và
kt qu thc hin.
Chng 2: Trình bày các phng pháp, k thut thc hin khóa lun.
Chng 3: Xây dng h thng phn mm. Mô t li các hot đng t thu thp thông
tin nghip v thc t, tin hành phân tích và thit k h thng theo mô hình UML. Sau đó,
kin trúc h thng, chia h thng thành các tng thành phn. Mi thành phn đm nhim
mt vai trò khác nhau và đi vào xây dng theo trình t t tng d liu đn tng giao din.
mi thành phn, ngoài k thut lp trình thông thng, h thng còn có áp dng mt s
gii thut đ ti u hóa. Tt c s đc c th hóa trong chng này.
Chng 4: Kt qu thc hin. Tp trung mô t các chc nng mà h thng cung cp
sau khi xây dng thành công. Cng chng này, quy trình t đng điu phi xe s đc
hin thc toàn trình đy đ.
Chng 5: Kt lun và hng phát trin ca h thng.
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 17
Nguyn Duy Phng 0951012102
Chng 2. C S LÝ THUYT
Phân tích thit k hng đi tng bng UML đa ra các s đ mô t thích hp vi
vic xây dng h thng thông tin có quy trình. c bit khi phát trin h thng phn mm
trên nn tng .NET, môi trng phát trin tích hp Visual Studio phiên bn Ultimate cho
phép thit k viên b công c xây dng mô hình UML mnh m và có th tng tác vi
code. Ngoài ra, Microsoft còn cung cp mt h sinh thái phát trin phn mm rng ln, đa
tng thông qua nhng công ngh nn tng : WCF, ASP .NET, Windows Phone,… Khi
phát trin trên mi công ngh nn tng, k thut lp trình thng đi lin vi nhng mu
thit k quen thuc : MVC, MVVM,… Mt khác, trong vn đ khai thác d liu bn đ
s, Google Maps API ca Google có nhiu h tr phong phú và d dàng s dng.
2.1. Phân tích thit k hng đi tng bng UML
2.1.1. Gii thiu ngôn ng
mô hình hóa thng nht (UML)
Ngôn ng mô hình hóa thng nht (ting Anh: Unified Modeling Language, vit tt
là UML) là ngôn ng chun đ vit k hoch chi tit phn mm, thích hp đ mô hình hóa
các h thng nh h thng thông tin doanh nghip, các ng dng phân tán trên Web, h
thng nhúng thi gian thc…
Cách xây dng các mô hình trong UML phù hp mô t các h thng thông tin c v
cu trúc cng nh hot đng. Cách tip cn theo mô hình ca UML giúp ích rt nhiu cho
nhng ngi thit k và thc hin h thng thông tin cng nh nhng ngi s dng nó;
to nên mt cái nhìn bao quát và đy đ v h thng thông tin d đnh xây dng. Cách
nhìn bao quát này giúp nm bt trn vn các yêu cu ca ngi dùng; phc v t giai
đon phân tích đn vic thit k, thm đnh và kim tra sn phm ng dng công ngh
thông tin. Các mô hình hng đi tng đc lp cng là c s cho vic ng dng các
chng trình t đng sinh mã trong các ngôn ng lp trình hng đi tng, chng hn
nh ngôn ng C++, Java, Phng pháp mô hình này rt hu dng trong lp trình hng
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 18
Nguyn Duy Phng 0951012102
đi tng. Các mô hình đc s dng bao gm Mô hình đi tng (mô hình tnh) và Mô
hình đng.
UML có ký pháp và tp các lut s dng, th hin bi các s đ UML ch yu sau:
- S đ lp (Class Diagram)
- S đ đi tng (Object Diagram)
- S đ tình hung s dng (Use Case Diagram)
- S đ trình t (Sequence Diagram)
- S đ cng tác (Collaboration Diagram)
- S đ trng thái (State Machine Diagram)
- S đ thành phn (Component Diagram)
- S đ hot đng (Activity Diagram)
- S đ trin khai (Deployment Diagram)
- S đ gói (Package Diagram)
- S đ liên lc (Communication Diagram)
2.1.2. Phân tích thit k hng đi tng
Phân tích thit k bao gm mô hình hóa vn đ và gii pháp t các góc nhìn khác
nhau. Trong pha phân tích, có ba loi mô hình thng đc quan tâm, đó là mô hình
trng hp s dng, mô hình lnh vc và mô hình giao din ng
i s dng.
- Mô hình trng hp s dng mô t h thng s đc s dng nh th nào.
- Mô hình lnh vc s m rng mô hình trng hp s dng bng cách đt h thng
vào ng cnh.
- Mô hình giao din ngi s dng mô t ngi s dng tng tác vi h thng th
nào. Chng này mô t ngi s dng tng tác vi h thng th nào.
2.2. Kin trúc Model View ViewModel (MVVM)
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 19
Nguyn Duy Phng 0951012102
Model View ViewModel là mô hình kin trúc đc s dng trong công ngh phn
mm, có ngun gc t Microsoft. MVVM hng đn nn tng lp trình giao din ngi
dùng, có h tr lp trình hng s kin, nh: WPF, Silverlight, HTML5…
MVVM to tách bit gia vic thit k giao din và lp trình x lý. Có 3 thành phn
cu thành kin trúc MVVM:
Hình 2.1. Kin trúc mô hình MVVM
- View: Tng t nh trong mô hình MVC, View là phn giao din ca ng dng
đ hin th d liu và nhn tng tác ca ngi dùng. Mt đim khác bit so vi
các ng dng truyn thng là View trong mô hình này tích cc hn. Nó có kh
nng thc hin các hành vi và phn hi li ngi dùng thông qua tính nng
binding, command
- Model: Cng tng t nh trong mô hình MVC. Model là các đi tng giúp truy
xut và thao tác trên d liu thc s.
- ViewModel: Lp trung gian gia View và Model. ViewModel có th đc xem
là thành phn thay th cho Controller trong mô hình MVC. Nó cha các mã lnh
cn thit đ thc hin data binding, command.
2.3. Kin trúc Model-View-Controller (MVC)
MVC đa ra phng pháp chia nh mt ng dng thành ba thành phn đ cài đt,
mi thành phn đóng mt vai trò khác nhau và nh hng ln nhau, đó là models, views,
và controllers. MVC có th đc mô t nh hình sau:
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 20
Nguyn Duy Phng 0951012102
Hình 2.2. Mô t mô hình MVC
Models trong các ng dng da trên MVC là nhng thành phn có nhim v lu tr
thông tin, trng thái ca các đi tng, thông thng nó là mt lp đc ánh x t mt
bng trong CSDL.
Trong khi đó, Views chu trách nhim hin th các thông tin lên cho ngi dùng
thông qua giao din. Thông thng, các thông tin cn hin th đc ly t thành phn
Models.
Cui cùng, Controllers trong các ng dng kiu MVC chu trách nhim x lý các tác
đng v mt giao din, các thao tác đi vi models, và cui cùng là chn mt view thích
hp đ hin th ra màn hình. Trong kin trúc MVC, view ch có tác dng hin th giao
din mà thôi, còn điu kin dòng nhp xut ca ngi dùng vn do Controllers đm trách.
2.4. Tng quan công ngh Windows Communication Foudation
2.4.1. Gii thiu công ngh Windows Communication Foudation
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 21
Nguyn Duy Phng 0951012102
Windows Communication Foudation (WCF) là mô hình lp trình thng nht ca
Microsoft cho vic xây dng các ng dng theo hng dch v. WCF cung cp các nhà
phát trin có mt gii pháp xây dng vic truyn thông an toàn. WCF đc xây dng trên
Microsoft NET Framework. Nó hp nht mt lot các h thng phân phi trong mt kin
trúc composable m rng, h tr vn chuyn nhiu, tin nhn hình, mã hóa, topo mng, và
các mô hình lu tr. Nó là phiên bn k tip ca mt s sn phm hin có: ASP.NET 's
WebMethod (ASMX), WebService(WSE), .NET Remoting, …
2.4.2. Kin trúc ca WCF
WCF có 4 thành phn chính sau:
- Tng Contract: Các contract trong WCF cng cha các thông tin tng ging nh
các hp đng/hip đnh mà bn ký trong đi sng tht. Contract đnh ngha các
đc t trong h thng bn tin.
- Runtime service: cha các hành x s xy ra trong quá trình thc hin ca dch
v, ngha là các hành x thc thi ca dch v.
- Message: tp h
p các kênh. Mi kênh là mt thành phn x lý bn tin theo mt
cách nào đó. Mt tp các kênh thng đc gi là ngn xp kênh. Các kênh làm
vic trên bn tin và trên đu đ ca bn tin. Lp này khác vi lp thc thi dch v
ch yu bi s khác nhau trong vic x lý ni dung bn tin.
- Host and activation: nhìn mt cách tng th thì mt dch v thc cht là mt
chng trình. Cng ging nh các chng trình khác, mt dch v cn phi chy
trong mt tp thc thi. Dch v này thng đc gi là dch v t cha. Các dch
v còn có th đc cha, hoc chy trong mt tp thc thi đc qun lý bi mt
agent bên ngoài nh IIS hay Windows Activation Services (WAS).
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 22
Nguyn Duy Phng 0951012102
Hình 2.3. Kin trúc ca WCF
2.5. Tng quan công ngh ASP.NET MVC
2.5.1. Gii thiu công ngh ASP.NET MVC
ASP.NET MVC là framework phát trin ng dng web ca Microsoft, kt hp gia
tính hiu qu và nh gn ca mô hình model-view-controller (MVC), nhng ý tng và
công ngh hin đi. Phiên bn mi nht, ASP.NET MVC 4 h tr Bundling and
minification giúp tng hiu nng cho CSS/JS. Mt đim ni bt ca ASP.NET MVC 4 là
h tr Entity Framework 5, có tính nng h tr nâng cp cu trúc CSDL (database
migration).
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 23
Nguyn Duy Phng 0951012102
2.5.2. Gii thiu th vin SignalR
SignalR là th vin h tr lp trình viên ASP.NET có th d dàng to ra ng dng có
kh nng gi nhn d liu thi gian thc. SignalR có th cung cp kh nng gi nhn
bng WebSocket. Tuy nhiên, nu WebSocket trong ng cnh đó không h tr đc,
SignalR t đng s dng nhng công ngh và k thut khác cho phép to hiu ng tng
đng. SignalR đa ra hai mô hình lp trình là hubs và persistent connections. SignalR s
dng khái nim transport. Mi transport quyt đnh d liu đc gi nhn th nào và làm
th nào đ kt ni, bao gm các loi kt ni sau:
WebSockets
Server Sent Events
Forever Frame
Long polling
SignalR s t đng chn loi kt ni tt nht h tr đng thi server và client nu
không đc ch đnh c th.
2.6. Tng quan công ngh LightSwitch
2.6.1. Gii thiu công ngh LightSwitch
LightSwitch là mt công c cho phép xây dng ng dng bng cách lp ghép các
thành phn, d liu và lp trình. LightSwitch đc thit k vi mc đích giúp cho ngi
lp trình to ra nhng ng dng cho doanh nghip mt cách nhanh chóng và tin li cho
c lp trình viên ln doanh nghip. Hin nay phn ln các ng dng doanh nghip thng
là dng forms-over-data. Vi các ng dng nh vy, tu chung ch có vài chc nng c
bn nht nh xem, chnh sa, thêm xoá … d liu. LightSwitch ra đi chính là đ gii
quyt vn đ đó. Ngoài ra LightSwitch còn h tr sn các kim tra hp l, h tr phân
quyn, có đnh ngha các kiu d liu mnh m nh đa ch email, hình nh
2.6.2. Kin trúc ca LightSwitch
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 24
Nguyn Duy Phng 0951012102
ng dng LightSwitch đc xây dng trên mt kin trúc 3 tng c đin. Mi tng
hot đng đc lp và thc hin mt vai trò c th:
Tng presentation: gi vai trò tng tác vi ngi dùng, hin thc hóa d liu.
Tng logic: gi vai trò truy vn, cp nht, kim tra hp l d liu. Ngoài ra có
th thc hin mt s x lý tùy bin khác.
Tng data storage: gi vai trò lu tr d liu: SQL Sever, Azure, SharePoint,
OData Service,…
2.7. Tng quan v Windows Phone
2.7.1. Gii thiu nn tng Windows Phone
Windows Phone là h điu hành đc dùng riêng cho dòng đin thoi thông minh
th h mi smartphone. Windows phone còn có tên gi khác là Windows Phone 7 Series,
tp trung vào s phát trin ca Marketplace - ni các nhà phát trin có th cung cp sn
phm (min phí hoc có phí) ti ngi dùng.
2.7.2. u đim ca Windows Phone.
Windows Phone mang đn cho ngi dùng nhng tri nghim hoàn toàn mi. Theo
các cuc kho sát nhu cu, nghiên cu v phía ngi dùng, Microsoft đã xây dng
Windows Phone đáp ng đc hoàn toàn nhng nh cu cn thit nht đi vi
Smartphone: truy cp internet, duyt email, x lý vn bn, kim tra bng tính, nghe nhc,
chi game Windows phone h tr Wifi, 3G, GPS vi giao din trc quan, cm ng đa
chm, thâm thin vi ngi dùng.
2.7.3. Kin trúc n
n tng Windows Phone
Nn tng Windows Phone cung cp cho lp trình viên tng Windows Phone
Framework h tr các API thao tác vi các cm bin, mt s control. Tùy vào cách tip
cn khác nhau, s dng tng Silverlight dành cho mc đích lp trình ng dng đn gin,
truy cp d liu cc b. Còn nu nh đ lp trình games chuyên nghip thì s s dng
Khóa lun tt nghip GVHD: TS. Lê Xuân Trng
SVTH: Chung Vnh Khang 0951010054 Trang 25
Nguyn Duy Phng 0951012102
tng XNA. Bên di là tng Application Object và Common Base Class Library tng t
nh mi công ngh phát trin ng dng .NET khác.
2.8. Gii thiu công ngh Global Positioning System (GPS)
H thng nh v Toàn cu (GPS) là h thng xác đnh v trí da trên v trí ca các
v tinh nhân to. Trong cùng mt thi đim, ta đ ca mt đim trên mt đt s đc xác
đnh nu xác đnh đc khong cách t đim đó đn ít nht ba v tinh.
Các thc hot đng: Các v tinh GPS bay vòng quanh Trái t hai ln trong mt
ngày theo mt qu đo rt chính xác và phát tín hiu có thông tin xung Trái t. Các
máy thu GPS nhn thông tin này và bng phép tính lng giác tính đc chính xác v trí
ca ngi dùng. V bn cht máy thu GPS so sánh thi gian tín hiu đc phát đi t v
tinh vi thi gian nhn đc chúng. Sai lch v thi gian cho bit máy thu GPS cách v
tinh bao xa. Ri vi nhiu quãng cách đo đc ti nhiu v tinh máy thu có th tính đc
v trí ca ngi dùng và hin th lên bn đ đin t ca máy.
2.9. Gii thiu dch v Google Maps
Là mt dch v ng dng và công ngh bn đ trc tuyn trên web min phí đc
cung cp bi Google và h tr nhiu dch v, có th dùng đ nhúng vào các trang web ca
bên th ba thông qua Google Maps API. Nó cho phép thy bn đ đng đi, và nhng đa
đim kinh doanh trong khu vc cng nh khp ni trên th gii.