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

Nghiên cứu xây dựng ứng dụng quản lý bán hàng tích hợp môđun đặt hàng trên thiết bị di động

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 (2.93 MB, 66 trang )

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


KHOÁ LUN TT NGHIP





NGHIÊN CU XÂY DNG NG DNG
QUN LÝ BÁN HÀNG TÍCH HP
MÔUN T HÀNG TRÊN THIT B DI NG


















Tháng 8, Nm 2012
GVHD:
TS. Lê Xuân Trng
SVTH:
Hunh Huy Cng – 0851010025
Võ Công Khanh – 0851010124
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh
LI CÁM N



Kin thc là mt kho tàng vô giá, là mt hành trang vng chc nht đ vào đi, do đó
ngi truyn đt kin thc là nhng ngi rt đáng đc tôn vinh. Chính vì vy chúng em
xin giành trn trang đu tiên ca bài báo cáo thc tp tt nghip này kính xin gi đn các
quý thy cô trng i hc M TP.HCM lòng bit n chân thành và 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 sut bn nm hc ti trng. c bit là li cám n chân thành đn thy TS. Lê Xuân
Trng đã tn tâm hng dn, giúp đ chúng em hoàn thành khóa lun tt nghip này.
Di s ch bo tn tâm ca quý thy cô đã truyn đt cho em nhng kin thc tht

vng vàng đ hòa nhp cùng vi công vic, cuc s
ng. ó là nhng k vt vô giá đi vi
chúng em.
Tuy nhiên, do vn kin thc có hn nên không tránh đc nhng sai sót, vì vy chúng
em rt mong nhn đc s ch bo và góp ý ca quý thy cô.
Mt ln na, chúng em xin gi đn quý thy cô li cm n chân thành nht và kính
chúc quý thy cô di dào sc khe và thành công trong công vic.

GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh
NHN XÉT CA GIÁO VIÊN HNG DN























GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh
MC LC


CHNG 1: TNG QUAN 1
1.1 Gii thiu: 1
1.2 Mc đích làm đ tài: 1
1.3 Phng pháp nghiên cu: 1
1.4 Phm vi đ tài: 2
1.5 Nhng đóng góp ca đ tài: 2
1.6 B cc ca báo cáo: 2
CHNG 2: LP TRÌNH MNG TRÊN NN TNG DI NG WINDOWS PHONE 3
2.1 Nn tng di đng Windows Phone: 3
2.1.1 Tng quan: 3
2.1.2 Chi tit h điu hành Windows Phone 7: 3
2.2 Xây dng ng dng trong môi trng Windows Phone 7: 5

2.3 Mô hình lp trình mng trên nn tng di đng Windows Phone: 6
2.3.1 Mô hình lp trình mng: 6
2.3.2 Windows Communication Foundation: 7
CHNG 3: C S D LIU 14
3.1 T chc c s d liu phía máy ch: 14
3.1.1 Mô hình thc th kt hp: 14
3.1.2 Miêu t khái quát: 14
3.1.3 Mô hình quan h: 15
3.1.4 Bng d liu: 16
I. S dng “LINQ to Entities” trong truy xut c s d liu: 25
3.1.5 Khái nim: 25
3.1.6 Áp dng LINQ to Entities vào dch v WCF: 25

CHNG 4: HIN THC CHNG TRÌNH 29
4.1 Mô hình ng dng: 29
4.1.1 S đ hot đng: 29
4.2 Các chc nng trong ng dng bán hàng: 30
4.2.1 Chc nng đng nhp: 30
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh
4.2.2 Chc nng ly d liu t phía dch v và hin th trên ng dng Client: 31
4.2.3 Chc nng đt hàng: 32
4.2.4 Chc nng nhp kho: 34
4.2.5 Chc nng cp nht thông tin nhân viên: 36
4.2.6 Chc nng thay đi mt khu nhân viên: 37

4.2.7 Chc nng ly thông tin gi hàng đã to: 38
4.3 Các chc nng trong ng dng thu ngân: 39
4.3.1 Chc nng in hoá đn: 39
4.3.2 Chc nng thanh toán: 40
4.4 Các chc nng trong ng dng kho: 42
4.4.1 Chc nng xác nhn giao hàng: 42
CHNG 5: KT QU HIN THC 44
5.1 Giao din chng trình: 44
5.2 Kt lun: 60
5.2.1 u đim: 60
5.2.2 Hn ch: 60
5.2.3 Hng phát trin: 60

CHNG 6: Tham kho: 61
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 1
CHNG 1: TNG QUAN
1.1 Gii thiu:
Ngày nay, nghành dch v bán l ti nc ta đang phát trin mnh, các trung tâm
bán l xut hin  khp mi ni và cnh tranh gay gc.  mt trung tâm bán l tt ngoài
vic làm th nào đ có giá bán hp lý, hu mãi tt thì quy trình thanh toán sn phm phi
nhanh gn, tác phong làm vic ca nhân viên phi chuyên nghip. Hu nh hin nay các
trung tâm bán l vn còn hot đng th công, quy trình thanh toán còn ph thu
c nhiu
vào đi ng nhân viên. Vì vy, vic xây dng chng trình h tr bán hàng da trên nn

tng đi đng s làm quy trình bán hàng đn gin, chuyên nghip, ít sai sót hn
Vic áp dng công ngh thông tin vào các trung tâm bán l đã đc áp dng  nhiu
quc gia phát trin. Quá trình thanh toán, x lý đn hàng đc h tr bi ng dng trên
máy tính giúp tránh đc các sai sót ca nhân viên, đng thi gim ti đc công vic
cho nhân viên bán hàng.
Trong gi
i hn ca đ tài này, ta s xây dng mt h thng qun lý trung tâm đin
máy tích hp môđun đt hàng trên thit b di đng vi các chc nng đ x lý mt đn đt
hàng, thêm, xóa, chnh sa d liu.
1.2 Mc đích làm đ tài:
Xây dng h thng qun lý bán hàng tích hp môđun bán hàng trên thit b di đng
vi mc đích gii quyt các khuy

t đim nêu ra  phn 1.1. Trong ng dng này, quá
trình x lý mt đn hàng đc chia nh ra thành các khâu riêng bit nh đt hàng, thanh
toán, giao hàng to thành mt chu trình x lý khép kín và sau khi đn hàng qua mt bc
x lý trng thái ca nó s thay đi đ qun lý d dàng.
Mi bc trong vic bán hàng s đc hin thc thành các chc nng riêng bit, tn
dng ti đa kh nng x lý ca máy tính đ gi
m bt công vic cho nhân viên, rút ngn
thi gian giao dch, tn dng các k thut kim chng d liu đ gim ti đa các sai sót.
1.3 Phng pháp nghiên cu:
Nghiên cu WCF (Windows Communication Foundation) đ xây dng ng dng
qun lý theo mô hình dch v mng, tng tác vi c s d liu và cung cp các chc
nng ca ng dng. Ta s nghiên cu cách hot đng, cách truyn t

i d liu, các phng
pháp bo mt đ có th xây dng dch v bng WCF.
Nghiên cu các h qun tr c s d liu quan h đ trin khai h thng c s d
liu ca ng dng. Ta cn phân tích quy mô ca ng dng đ chn h c s d liu phù
hp.
Nghiên cu các h thng bán hàng thc t đ xây dng mô hình d liu, thit lp các
mi quan h.
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 2
Nghiên cu lp trình trên thit b di đng Windows Phone 7 đ xây dng môđun bán
hàng trên thit b di. Cn nghiên cu các thành phn ca Windows Phone 7, nghiên cu
các các phn mn đ phát trin ng dng cho h điu hành này. Nghiên cu cách s dng

các điu khin trong h điu hành này.
1.4 Phm vi đ tài:
ng dng qun lý bán hàng trên thit b di đng đc xây dng đ áp dng vào các
trung tâm mua sm l
n có nhiu tng, nhiu khu vc, vi nhiu mt hàng và nghành hàng
khác nhau. Cho phép khách hàng đt hàng  nhiu tng, khu vc do các nhân viên khác
nhau qun lý nhng ch cn thanh toán mt ln  quy giao dch.
1.5 Nhng đóng góp ca đ tài:
 tài này đã áp dng k thut lp trình mng và lp trình trên thit b di đng đ
khai thác s phát trin ca h thng mng và các u đim ca thi
t b di đng, giúp các
trung tâm bán hàng gii quyt các vn đ v nhân lc, cung cp cho khách hàng mt môi

trng mua sm hin đi, an toàn, ng dng s gim ti đa s li phát sinh trong lúc làm
vic. Vi nhng li th v công ngh hin ti thì kh nng áp dng đ tài trong thc t là
rt cao.
Ngoài ra, ng dng h tr bán hàng trên các thit b di đng còn đc xây dng theo
các chc nng riêng bit, d dàng tu chnh li đ đ phù hp vi tng mô hình bán hàng
trong thc t.
1.6 B cc ca báo cáo:
Chng 1: Gii thiu v đ tài, tình trng ng dng hin nay, mc đích xây dng,
đóng góp ca đ tài.
Chng 2: Tng quan v h điu hành trên thit b di đng, gii thiu h điu hành
di đ
ng Windows Phone 7.

Chng 3: Gii thiu mô hình lp trình mng, gii thiu công ngh Windows
Communication Foundation (WCF) đ xây dng mô hình hng dch v.
Chng 4: Trình bày h c s d liu, mô hình d liu, k thut kt ni.
Chng 5: Trình bày các gii thích.
Chng 6: Trình bày s đ hot đng và giao din ca chng trình.
Chng 7: Kt lun và hng phát trin ca ng dng.
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 3
CHNG 2: LP TRÌNH MNG TRÊN NN TNG DI NG
WINDOWS PHONE
2.1 Nn tng di đng Windows Phone:
2.1.1 Tng quan:

Ngày nay mng li thông tin ph sóng toàn cu, các hãng vin thông cung cp các
dch v cho phép ngi s dng truy cp Internet ti bt c mi ni. ây là yu t m ra
k nguyên ca các thit b di đng, nh máy tính bng, smartphone… Có 3 điu đ đánh
giá s thành công ca mt thit b di đng đó là cu hình phn cng, nn tng h điu
hành, và các ng dng h tr cho h điu hành đó. Mt thit b di đng cn có cu hình
phù hp đ đáp ng các yêu cu ca h điu hành và ng dng, nu cu hình không đ s
làm gim tri nghim mà h điu hành và ng dng mang li cho ngi s dng. Tuy vy,
cu hình c
a các thit b ch đóng mt vai trò tng đi trong s thành công ca thit b,
h điu hành và h thng ng dng cho thit b mi đóng vai trò thc s quan trng.
Mt đ điu hành tt phi mang li nhng tri nghim mi m, thu hút ngi s
dng, đng thi phi cung cp cho nhà phát trin ng dng môi trng phát trin vi các

công c và công ngh hin đi đ xây dng các ng dng đáp ng nhng mong đi ca
ngi s dng. Mt s h điu hành cho các thit b di đng đang phát trin hin nay nh
IOS ca Apple, Andriod ca Google và Windows Phone 7 ca Microsoft.
ng dng bán hàng trên thit b di đng ca h h thng tr bán hàng này s s
dng nn tng Windows Phone 7 vì nó s
làm vic tt vi dch v WCF.
2.1.2 Chi tit h điu hành Windows Phone 7:
2.1.2.1 Kin trúc ca h điu hành Windows Phone 7:
Windows Phone 7 đc thit k da trên tiêu chí giúp lp trình viên d dàng to
nên các ng dng mng vi công ngh nn tng da trên .Net, Silverlight và XNA Frame
Work, vi nhng lp trình viên đã tng làm qua Silverlight thì vic chuyn sang Windows
Phone 7 là mt vic d dàng, không ch có th Microsoft còn u ái cho các nhà phát trin

vi vi
c to nên mt môi trng phát trin và thit k đn gin và có th chy đc trên
phn cng ca nhiu hãng khác nhau. Kin trúc ca Windows Phone 7 đc chia thành 4
thành phn chính:
2.1.2.1.1 Thành phn thc thi:
 có mt cái nhìn toàn din v nn tng Windows Phone 7 ta cn tìm hiu v các
thành phn thc thi khác nhau ca nó.
Hai con đng phát trin chính ca Windows Phone 7 là các ng dng s dng công
ngh Silverlight và các trò chi đi đng đc t
o bng XNA Framework.
Silverlight là công ngh mi h tr vic phát trin các ng dng mng (Rich Internet
Application - RIA), Silverlight xut phát t WPF (Window Presentation Foundation),

GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 4
dùng ngôn ng XAML (Extensible Application Markup Language) đ làm nn tng thit
k giao din ngi dùng và s dng .Net đ phát trin mã ngun, tuy vy SilverLight vn
yêu cu ngi s dng đu cui phi cài mt ng dng SilverLight nhúng (SilverLight
plug-in ).
Còn XNA Framework là mt nn tng mnh m bao gm hàm API mnh m phc
v cho đ ha, đng thi cng bao cha các phn mn phát trin, dch v, tài nguyên,
giao ti
p dùng d phát trin các trò chi có cht lng.

Hình 2-1: Các thành phn thc thi chính ca Windows Phone 7 (ngun th vin MSND –

Microsoft).
2.1.2.1.2 Dch v đám mây:
Cùng vi s ra đi ca Windows Phone 7, Microsoft đã cung cp cho nhà phát trin
mt máy ch da trên dch v đám mây, nhà phát trin có th khai thác máy ch này
trong các ng dng ca mình.
Có nhiu dch v mây mà nhà phát trin có th s dng, nh dch v thông báo, dch
v
này cung cp cách thc đ ta đy d liu và các tin nhn v thit b Windows Phone 7,
ta có th khai thác dch v này đ tao ra các dch v nh thông báo t s trn đu, cnh
báo thi tit…
Mt dch v có ý ngha thc tin cao đó là dch v đnh v v trí, nó cho phép ta truy
cp v trì đa lý hin thi ca ngi s dng, ta có th s dng d

ch v này đ to ra nhiu
ng dng có liên quan đn v trí đa lý nh ng dng theo dõi, ng dng tìm kim theo v
trí… dch v v trí này có u đim là không nhng xác đnh v trí da vào phn cng GPS
mà còn da vào các trm phát sóng, wifi đ tng đ chính xác.
2.1.2.1.3 Cng dch v:
Ngoài các dch v đám mây k trên, Mircosoft còn cung cp các cng dch v cho
phép nhà phát trin qun lý
ng dng.
Trong Windows Phone 7 vic h tr nhà phát trin trin khai và phân phi ng dng
đn ngi s dng đc chú trng rt nhiu. Windows Phone 7 cp mt kho ng dng
trc tuyn (Marketplace) giúp ngi s dng tìm kim và cài đt các ng dng, còn phía
nhà phát trin, h phi đng kí đ có th phân phi ng dng trên kho ng dng này. Tt

Silverlight XNA
Sensors Phone Media Data
.NET managed code
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 5
c ng dng đc ti lên kho ng dng s đc qun lý và kim tra nhm đm bo an
toàn cho ngi s dng.
Mt cng dch v tin li cho nhà phát trin đó là dch v thanh toán. Dch v này
cung cp các hàm API nó to ra ch đ thanh toán nh min phí, tr tin Bây gi nhà
lp trình đã có gii pháp d dàng đ đnh hng ng dng theo dng ph
n mn min phí,
ng dng có phí, ng dng tính phí hàng tháng và nhiu la chn khác.

2.1.2.1.1 Các công c:
Thành phn cui cùng trong nn tng Windows Phone 7 là các công c phát trin.
Nó s dng Visual Studio là công c phát trin ch lc, hu nh mi kh nng ca
Windows Phone 7 đu đc khai thác và th hin thông qua Visual Studio. Bên cnh còn
có công c Expression Blend, theo cách c, các nhà thit k phi to giao din ngi dùng
trong mt công c thit k riêng, đ
iu này làm cho nhà phát trin khó có th tng dng
hoàn toàn u đim ca giao din đc to ra. Vi Expression Blend, nó cho phép các nhà
thit k giao din làm các tp tin ca d án nh các nhà phát trin, đng thi h có th
truy cp các tp tin này bng các công c thit k không tn ti trên Visual Studio thng
ch tn ti trên các phn mn thit k đc bit đ to nên giao din ngi dùng.


2.2
Xây dng ng dng trong môi trng Windows Phone 7:
Nhà phát hành cung cp mt môi trng phát trin min phí là Visual Studio
Express và gói cài đc phát trin Windows Phone 7. Khi bt đu chng trình Visual
Studio, bn s thy màn hình khi đng, t trang này bn có th to mi mt ng dng
Windows Phone 7 hoc truy xut nhanh ng dng mà bn đã làm vic gn đây.
Visual Studio cung cp nhiu tính nng thng đc thy trong các môi trng phát
trin ng dng. Thông qua c
a s Solution Explorer bn có th thy đc các tp tin và
th mc ca đ án di dng cây th mc, bn có th di chuyn các ca s trong Visual
Studio và sp xp chúng theo ý mun ca bn. Ngoài ra, bn cng có th truy xut mt
vài thanh công c có ích trong vic phát trin đ án.

Các bc to mt ng dng Windows Phone 7:
Bc 1: M chng trình Visual Studio 2010 Express Edition và chn File  New
Project.
Bc 2:  trên cùng ca c
a s New Project la chn mu đ án Windows Phone
Application và đt tên là HelloWindowsPhone7. hiu k hn v ng dng Windows
Phone ta s tìm hiu các tp tin có trong ng dng va to ra.
Sau khi to xong, bn s đc thy giao din vi màn hình phân chia nh hình bên
di. Mt phn ca màn hình cho thy giao din chng trình gi lp Windows Phone 7,
phn còn li cho thy mã ngun XAML tng ng vi giao din.
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 6



Nhìn vào ca s Solution Explorer, ta ng dng Windows Phone 7 cha mt tp tin
App.xaml, tp tin đi din cho toàn b ng dng. Tp tin App.xaml nm gi bt k tài
nguyên toàn cc trong ng dng. Mt ng dng Windows Phone 7 có tt c 4 s kin
chính là s kin khi đng, hot đng, vô hiu hóa, đóng ng dng. Các mã ngun đ x
các s kin đc này đt trong tp tin App.xaml.cs. V c
 bn ta có mt thành phn .xaml
nm gi tt c s khai báo mã XAML đ to nn giao din ng dng, khai báo các hàm,
các tài nguyên, và tng ng s có tp tin code-behind .xaml.cs đ hin thc mã ngun
liên quan đn trang .xaml.
 chy chng trình này trong chng trình gi lp Windows Phone bng cách

nhp vào biu tng “Play” trên thanh công c, đây là cách nhanh nht đ chy mt đ án
Windows Phone. Nu không có li trong quá trình biên dch thì Visual Studio bt đu
chng trình gi
lp và chy ng dng mi ca bn trong mt thit b Windows Phone 7
o.

2.3 Mô hình lp trình mng trên nn tng di đng Windows Phone:
2.3.1 Mô hình lp trình mng:
2.3.1.1 Khái nim:
Ngày nay, h thng mng phát trin nhanh, nhu cu v các ng dng phân tán, s
dng các công ngh mng đ thc hin các tác v là xu hng phát trin ca phn mn.
Mt mô hình ph bin đ hin thc các ng dng nh th là mô hình lp trình Client-

Server hay còn gi là kin trúc hng dch v (Server-Oriented Architectures - SOA),
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 7
chng trình server cung cp các tác v đ thc hin các công vic nht đnh, chng
trình client s thông qua các giao thc mng đ s dng các thao tác mà dch v cung cp.
Mô hình này hoàn toàn phù hp vi h thng qun lý bán trên thit b di đng trong
đ tài này, các ng dng bán hàng trên các thit b di đng đc xem nh các client và
máy ch chy dch v s cung cp các hàm chc nng x lý công vic theo yêu cu và
qun lý c s
 d liu ca toàn h thng.
2.3.1.2 Gii pháp:
Có nhiu công ngh đ xây dng các dch v WEB nh: HTTP, Java, Java Web

Services Developers Pack và Windows Communication Foundation. Trong đó WCF
(Windows Communication Foundation) là công mnh, h tr đy đ chc nng đ xây
dng mt dch v Web, nó còn cho phép các nn tng khác nhau giao tip vi nhau.
2.3.2 Windows Communication Foundation:
2.3.2.1 Gii thiu:
Windows Communication Foundation (WCF) là mt h thng các đi tng đc
cài đt trong .NET Framework đc dùng đ xây d
ng ng dng hng dch v. Khi s
dng WCF, ta có th gi d liu nh mt thông đip không đng b t dch v đu cui
đn các đim cui. Mt dch v đu cui có th là mt phn ca toàn b dch v đc cài
đc trên IIS, hoc đó là mt dch v cài đt trong mt
ng dng. Mt đim cui có th là

chng trình máy khách có kh nng gi yêu cu d diu đn các máy ch đu cui.
Thông đip có th đn gin nh mt kí t, mt t đc gi nh XML hoc phc tp nh
chui d liu nh phân. Sau đây là mt vài ví d v các trng hp ta có th dùng WCF:
- Các d
ch v x lý các giao dch kinh doanh đòi hi tính an toàn và bo mt.
- Các dch v cung cp d liu theo thi gian thc, nh dch v qun lí giao
thông và các dch v theo dõi khác.
- Các dch v hi thoi trc tuyn cho phép hai ngi giao tip hoc trao đi d
liu.
- Các ng dng thm dò hoc các dch v lu tr d liu trc tuyn.
- Các dch v đóng vai trò nh các ngun cung cp d liu thi gian thc.
Windows Communication Foundation (WCF) đc thit k đ giúp ngi s dng

tip cn vic xây dng và qun lý dch v Web và khách hàng dch v Web.
2.3.2.2 Các tính nng ca Windows Communication Foundation (WCF):
2.3.2.2.1 Hng dch v (Service Oriented):
Mt kt qu ca vic s dng các tiêu chun WS (Web Server) trong WCF là cho
phép ta xây dng các ng dng theo hng dch v. Kin trúc hng dch v (Service
Oriented Architecture - SOA) da vào dch v Web đ gi và nhn d liu.
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 8

Hình 3-1: Mô hình hot đng ca dch v Web. (ngun th vin MSND – Microsoft)
Ngoài ra, các dch v xây đng trên WCF có li th là mn do thay v cng nhc,
mn do  đây có ngha là chng trình khách hàng đc to trên các nn tng khác nhau

đu có th kt ni đn các dch v đc vit trên WCF min là đm bo các yêu cu thit
yu đc đáp ng, nói cách khác WCF cho phép các nn tng khác nhau giao ti
p vi
nhau.
2.3.2.2.2 Kh nng cng tác (Interoperabitily):
WCF đc b sung nhiu tiêu chun hin đi cho đ to ra kh nng tng tác ca
dch v Web. WCF cung cp mt s giao thc giao thc dch v web, nhiu giao thc
trong s đó có các tùy chn và phn m rng cho phép ngi s dng cài đt theo mc
đích riêng.
2.3.2.2.3 Nhiu mô hình tin nhn (Multiple Message Patterns):
Tin nhn đc trao đi d
a trên mt trong s các mô hình sau:

- Mô hình yêu cu - tr li: mt thit b đu cui gi yêu cu d liu đn thit b
đu cui th hai, thit b đu cui th hai tr li yêu cu va nhn, đây là mô
hình đc s dng thng xuyên nht.
- Mô hình mt hng: mt thit b đu cui s gi mt tin nh
n mà không mong
đi s tr li t đích đn.
- Mô hình có kt ni: đây là mô hình phc tp hn so vi nhng mô hình  trên,
mô hình cho phép hai thit b đu cui thit lp kt ni và trao đi d liu qua
li, tng t mt chng trình trao đi nht thi.
Ngoài các m hình trên ta còn có th to ra mô hình tin nhn riêng da vào các hp
đng trong WCF.
Host

Service
M
ethod
M
ethod
M
ethod
Client
proxy
Client
Code


GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 9
2.3.2.2.4 Siêu d liu (Service Metadata):
Siêu d liu (Metadata) là mt tp hp d liu ch ra các mô t v dch v, các thao
tác khác nhau mà dch v cung cp, các bin d liu mà các thao tác yêu cu và các kiu
d liu mà các thao tác này tr v cho khách hàng. Nói cách khác, siêu d liu ch ra các
hp đng. Vi các thông tin này khách hàng có th giao tip vi dch vu.
Siêu d liu có
th đc công b trên HTTP và HTTPS hoc s dng Web Service Metadata Exchange
tiêu chun (WS-Metadata Exchange). WCF h tr siêu d liu và áp dng các tiêu chun
nghành công nghip nh WSDL, XML Schema và WS-Policy.


Hình 3-2: Mô t quá trình trao đi siêu d liu gia Client-Server. (ngun th vin
MSND – Microsoft)
Trong quá trình xây dng, chng trình phía khách gi thông đip yêu cu đc
đnh ngha theo tiêu chun WS – Metadata Exchange và gói tin WSDL đc dch v gi
li phía khách hàng. Chng trình phía khách hàng s s dng gói tin WSDL đ t
o ra lp
trung gian (proxy class) và tp tin cu hình, hai th này s đc s dng trong quá trình
thc thi ca chng trình khách đ giao tip vi máy ch.
2.3.2.2.5 Hp đng d liu (Data Contract):
Windows Communication Foundation (WCF) s dng mt thành phn gi là Data
Contract Serializer đ bin đi d liu thành chui và ngc li (bin d liu thành XML
và ngc li). i vi các kiu d liu c bn nh s

nguyên và chui, cng nh các kiu
d liu đc s dng nh kiu c bn nh Datetime, XmlElement có th đc bin đi
mà không cn các s chun b nào khác và xem nh đã có các hp đng d liu mc đnh.
Các loi d liu mi phc tp hn ta cn phi đnh ngha các hp đng d liu (Data
Contract) đ có th chui hoá
đc. Theo mc đnh s da vào hp đng d liu và chui
hoá tt c kiu d liu công khai có th thy đc. Tt c các tính cht đc/ghi và các ct
ca kiu d liu s đc chui hoá, ta có th la chn các thành phn nào đc chui hoá
bng cách s dng lp IgnoreDataMemberAttribute. Ngoài ra, ta có th to ra các hp
đng d liu mt cách rõ ràng bng các s d
ng lp DataContractAttribute và
WCF Client

Endpoint
Proxy Class
(C# or VB)
App.config
C B A
WCF Service
MEX Endpoint
C B A
Endpoint
C B A
Endpoint
C B A

GetMetaData
WSDL
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 10
DataMemberAttribute. DataContractAttribute đ ch ra mt hp đng kiu d liu, thuc
tính này có th dùng cho các lp, các cu trúc, các bn lit kê (classes, structures,
enumerations). Thuc tình DataMemberAttribute sau đó phi đc dùng cho cho mi
thành viên trong kiu d liu đ ch ra cách thành phn này là mt thành phn d liu và
nó s đc chui hoá. Di đây là mô hình th hin vic phía dch v và phía khách s
dng chung các hp đng d liu đ ánh x d
liu.


Hình 3-3: Mô hình th hin vai trò ca các hp đng d liu. (ngun th vin MSND –
Microsoft)
2.3.2.2.6 Bo mt:
Windows Communication Foundation (WCF) là nên tng lp trình mng da trên
các thông đip SOAP và vic bo đm an toàn cho các thông đip SOAP gia máy ch và
máy khách là yêu cu cn thit. WCF cung cp mt nn tng linh hot và kh nng tng
tác đ trao đi d liu an toàn da trên c c s h
 tng bo mt hin ti và các tiêu chun
an ninh đc công nhn cho SOAP. Trong các ng dng phân tán, các thông đip có th
chuyn t nút này đn nút khác, thông qua firewall, lên trên internet, thông qua nhiu
trung gian SOAP, và đây chính là mi nguyên him các ngi s dng xu có th li
dng tính cht này đ tn công dch v theo các cách nh:

- Theo dõi các thông đip trên mng đ ly thông tin. Ví d, trong mt giao dch
chuyn tin trc tuyn t
 mt tài khon này mt tài khon, k tng công có th
chn các thông đip và thu thp các thông tin bên trong đ ly s tài khon, mt
khu sau đó thc hin chuyn tin t tài khon b tng công.
- Thc th la đo hot đng nh mt dch v mà khách hàng không nhn thy.
Ví d, k la đo hot đng nh mt d
ch v trc tuyn, ngn chn các thông
đip t khách hàng đ có đc các thông tin nhy cm. Sau đó k la đo s
dng tài khon b đánh cp đ thc hin hành vi nguy him.
Client applicaton
Proxy A

Proxy A
Service applicaton
Service A
Service A
DataContracts.
invoke
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 11
- Thay đi ni dung thông đip đ đt đc mc đích khác so vi ý đnh ca
khách hàng. Ví d, k la đo thay đi s tài khon mà tin đc gi đn trong
thông đip bng mt tài khon gi mo.
- Lp thông đip. Ví d, Mt ca hàng sách trc tuyn nhn đc hàng trm đn

đt hàng và gi sách đn khách hàng dù h không th
c hin yêu cu.
- Tng công làm dch có kh nng ca mt dch v đ xác thc khách hàng.
Trong trng hp này, dch v không th bo đm khách hàng đc quyn thc
hin mt giao dich nào đó.
 tránh các mi nguy him trên. Các c ch bo mt ca WCF cung cp các đm bo
sau:
- Xác thc dch v đu cui.
- Xác thc khách hàng.
- Toàn v
n thông đip.
- Thông đip bí mt.

- Phát hin lp thông đip.
2.3.2.2.7 Cung cp nhiu phng thc truyn ti và mã hoá:
Thông đip có th đc gi thông qua bt kì giao thc truyn ti và mã hoá xây
dng sn. Giao thc truyn ti và mã hoá ph bin nht là gi các thông đip SOAP đc
mã hoá bng giao thc Hyper Text Tranfer Protocol (HTTP) đ s dng trên World Wide
Web. Ngoài ra WCF còn cho phép gi tin nhn qua TCP, c
ch đng ng hoc
MSMQ. Các thông đip này có th đc mã hoá di dng vn bn hoc s dng mt
đnh dng nh phân ti u. D liu nh phân có th đc gi mt cách hiu qu bng cách
s dng tiêu chun MTOM. Nu không có giao thc truyn ti và mã hoá phù hp vi
nhu cu s dng ta hoàn toàn có th to ra giao thc truyn ti và mã hoá tu
chính .

2.3.2.2.8 Hàng đi và phiên làm vic đáng tin cy (Queues and Reliable
Session ):
Hàng đi và phiên làm vic đáng tin cy là các chc nng ca Windows
Communication Foundation (WCF) cho phép trao đi các thông đip đáng tin cy. Trao
đi các thông đip đáng tin cy tc là đm bo thông đip t ngun s đn đc đích, nu
có sy ra các s c trong quá trình truyn ti nó s khôi phc và truyn ti li, đm bo
quá trình truy
n ti thông đip đc thành công dù chng trình phía ngun hoc phía
đích không đng thi hot đng. Mt đc đim ca vic gi các thông đip đáng tin cy là
đ tr cao, đ tr tc là khon thi gian đ thông đip đi t ngun đn đích. Do đó, đ
thc hin đc vic này thì WCF cung cp các gii pháp sau:
Phng pháp th nht là phiên làm vi

c đáng tin cy, phng pháp này cho phép
gi các thông đip đáng tin cy vi đ tr thp, ngun và đích phi đng thi chy cùng
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 12
lúc . Phiên làm vic đáng tin cy s dung giao thc WS-ReliableMessaging đ truyn ti
các thông dip SOAP.

Hình 3-4: mô t quá trình truyn ti dùng giao thc WS-ReliableMessaging. (ngun th
vin MSND – Microsoft)

Phng pháp th hai là s dng hàng đi (Queues) trong Windows Communication
Foundation (WCF), cách này cho phép gi các thông đip đáng tin cy dù ngun và đích

không hot đng đng thi. Tuy vy đây là phng pháp đòi hi chi phí v đ tr cao.
Hàng đi trong WCF đc xây dng da trên MSMQ (còn gi là Message Queuing).
MSMQ là mt tu chn ca Windows, nó đc xem nh là mt dch v NT. MSMQ chu
trách nhim bt các thông đip cn gi trong hàng đi truyn ti di danh ngha là ngun
và chuyn đn các hàng đi đích. Hàng đi đích s nhn thông đip di danh ngha phía
đích và sau đó s gi thông đip bt c lúc nào có yêu cu t đích đn.

Hình 3-5: mô t cách hot
đng ca hàng đi trong WCF. (ngun th vin MSND –
Microsoft)
2.3.2.2.9 H tr giao dch (Transactions):
Giao dch (Transactions) cho phép ta nhóm mt loi các công vic hoc thao tác

thành mt nhóm, mà nhóm này là đn v nh nht không th chia nh ra đc na. Mt
giao dch là mt tp hp các thao tác có các tính cht sau:
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 13
- Tính nguyên t (Atomicity): Khi thc hin các thao tác trong mt giao dch thì
toàn b các thao tác phi thành công, nu có mt li nào xy ra trong quá trình
thc hin giao dch thì toàn b giao dch b hy b và khôi phc toàn b trng
thài nh trc khi giao dch đc gi.
- Tính nht quán (Consistency): S thc hin ca mt giao dch là cô lp (Không
có giao dch khác thc hin đng thi) đ bo tn tính nht quán ca CSDL.
-
Tính cô lp (Isolation). Cho dù nhiu giao dch có th thc hin đng thi, h

thng phi đm bo rng đi vi mi cp giao dch Ti, Tj , thì hoc Tj kt thúc
thc hin trc khi Ti khi đng hoc Tj bt đu s thc hin sau khi Ti kt
thúc. Nh vy mi giao dch không cn bit đn các giao dch khác đang thc
hin đng thi trong h th
ng.
- Tính bn vng (Durability). Sau mt giao dch hoàn thành thành công, các thay
đi đã đc to ra đi vi CSDL vn còn hiu lc ngay c khi xy ra s c h
thng.
Windows Communication Foundation (WCF) cung cp mt tp hp phong phú các
tính nng cho phép to ra các giao dch phân phi trong các ng dng Web. Giao dch
trong WCF h tr giao thc WS-AtomicTransaction (WS-AT) cho phép to các lung
giao dch đn các ng dng tng thích,chng hn nh các dch v Web tng thích s

dng công ngh ca hãng th 3. WCF cng h tr giao thc giao dch OLE.
Ta có s dng mt tp tin cu hình sau đó thit lp các ràng buc đ cho phép hoc
vô hiu hoá các lung giao dch. Cng nh thi
t lp mt giao thc giao dch mong mun
trên mt ràng buc. Ngoài ra còn thit lp thi gian ht hn (time-out) ca mt giao dch
 cp đ dch v bng tp tin cu hình.
Các giao dch cha trong không gian tên System.ServiceModel cho phép thc hin
các thao tác sau:
Thit lp thi gian ht hn ca giao dch và to các b lc bng cách s dng thuc
tính ServiceBehaviorAttribute.
Kích hot chc nng giao dch và thit l
p các thao tác sau khi hoàng thành mt giao

dch bng thuc tính OperationBehaviorAttribute.
S dng các thuc tính ServiceContractAttribute và OperationContractAttribute trên
mt phng thc hp đng đ yêu cu, cho phép hoc t chi mt giao dch.


GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 14
CHNG 3: C S D LIU
3.1 T chc c s d liu phía máy ch:
3.1.1 Mô hình thc th kt hp:



Hình 4-1: mô hình thc th kt hp ca CSDL bán hàng.
3.1.2 Miêu t khái quát:
H thng sn phm trong trong trung tâm mua sm đc chi thành các nghành hàng,
trong mi nghành hàng li đc chia làm các loi hàng nh hn. Ví d: đin gia dng là
mt nghành hàng, trong đin gia dng có ba loi hàng là tivi, t lnh, đu đa. Mi lo
i
hàng li có các sn phm trong đó, tu vào loi sn phm s có đn v tính khác nhau.
Mi sn phm cha thêm thông tin nhà cung cp đ d dàng tìm kim và qun lý.
Nhân viên đc t chc theo tng b phn, thông tin quyn hn ca nhân viên giúp
nhn bit đc công vic ca nhân viên đó trong h thng bán hàng. Ví d: qun tr, bán
hàng, kho,…Da vào quyn hn ca nhân viên mà h thng cho phép nhân viên đc
hoc không đc phép thc hin mt tác v c th.

B Phn
Chi Tit


tHàng
Chi Tit
Nhp Kho
t Hàng
n
V Tính
Hoá n
Khách Hàng

Khuyn
Mãi
Loi Hàng
Loi
Thanh Toán
Ngành
Hàn
g

Nhà Cung
C


p
Nhân Viên
Nhp Kho
Quyn Hn
Trng
Thái
Sn Phm
T
T
T
T
T

T
T
T
T
T
TT
T
T
T
T
T
T

T
1
N

N
1
N
1
N
N

1

N

1
1
N
1
1
N
N
N
1
1

1
1
1
N
N
N
N
1
1
1
N


N
1
N

1
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 15
Nhân viên bán hàng có th thc hin mt trong các tác v to, cp nht, xoá phiu
đt hàng cho khách hàng có yêu cu, mi thông tin khách hàng s đc lu vào mt bng,
các thông tin đó s cn s dng li trong quá trình in hoá đn. Phiu đt hàng s mang
nhng trng thái khác nhau, ví d: Ch thanh toán, ã thanh toán, ã giao hàng,…Da
vào thông tin trng thái ca phiu đt hàng mà nhân viên s có nhng tác v phù hp đi

vi nhng phiu đt hàng đ
ó.
Sau khi khách hàng đã thanh toán thì phiu đt hàng đó s cp nht trng thái mi và
đng thi s ly ra các thông tin cho quá trình in hoá đn, các thông tin này s đc lu
tr trong mt bng riêng, ví d: nhân viên nhn tin, khách hàng, loi thanh toán,…
3.1.3 Mô hình quan h:

Hình 4-1: mô hình quan h ca CSDL bán hàng
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 16
3.1.4 Bng d liu:
Các bn đc s dng dng trong c s d liu:

Bng nghành hàng:
Tên field Kiu d liu Chiu dài Din gii
Ma Int Mã nghành hàng
Ten Nvarchar 250 Tên nghành hàng
Mieuta Nvarchar MAX Miêu t nghành hàng
Conquanly Bool Bin qun lý
Ý ngha các trng:
Ma: là khoá chính, ch ra mã nghành hàng do trung tâm mua sm quy đnh.
Ten: tên ca nghành hàng.
Mieuta: miêu t ca mi nghành hàng.
Conquanly: cho bit nghành hàng còn qun lý hay không.
Bng loi hàng:

Tên field Kiu d liu Chiu dài Din gii
Ma Int Mã loi hàng
Ten Nvarchar 250 Tên loi hàng
Manh Int Mã nghành hàng
Mieuta Nvarchar MAX Miêu t loi hàng
Hinhanh Image Chui byte hình nh
Conquanly Bool Bin qun lý
Ý ngha các trng:
Ma: là khoá chính, ch ra mã ca loi hàng do trung tâm mua sm quy đnh.
Ten: tên ca loi hàng.
Manh: là khoá ngoi, mã nghành hàng tham chiu đn bng nghành hàng. Ch ra
loi hàng này thuc nghành hàng nào.

Mieuta: Miêu t mi loi hàng
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 17
Hinhanh: hình nh logo ca nghành hàng.
Conquanly: cho bit loi hàng còn qun lý hay không.
Bng sn phm:
Tên field Kiu d liu Chiu dài Din gii
Ma Int Mã sn phm
Ten Nvarchar 250 Tên sn phm
Madvt Int Mã đn v tính
Malh Int Mã loi hàng
Manhcc Int Mã nhà cung cp

Dongia Money Giá sn phm
Hinhanh Image Chui byte hình nh
Baohanh Int S tháng bo hành
Thue Float 0->1 T l thu sut
Mieuta Nvarchar MAX Miêu t sn phm
Tinhnang Text Tính nng sn phm
Tonkhotoithieu Int Tn kho ti thiu
Tonkhohientai Int Tn kho hin ti
Conquanly Bool Bin qun lý
Makm Int Mã khuyn mãi
Ý ngha các trng:
Ma: là khoá chính, ch ra mã ca sn phm do trung tâm mua sm quy đnh.

Ten: tên ca mi sn phm.
Madvt: là khóa ngoi, tham chiu đn bng đn v tính, ch ra đn v tính ca sn
phm là gì. Vd: Cái, Thùng, Kg…
Malh: là khóa ngoi, tham chiu đn bng loi hàng, ch ra sn phm thuc loi hàng
nào.
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 18
Manhacc: là khóa ngoi, tham chiu đn bng nhà cung cp, ch ra sn phm này là
ca nhà cung cp nào.
Dongia: n gi ca sn phm, khi tính tin đn giá s đc nhân vi thu sut và
khuyn mãi (nu có) đ cho ra giá bán.
Hinhanh: hình nh ca sn phm.

Baohanh: s tháng bo hành ca sn phm.
Thue: thu sut mà mi sn phm phi chu, đc lu di dng s thc. Ví d:
10% đc lu là 0.1
Mieuta: Miêu t ca sn phm.
Tinhnang: Các tính nng k thut ca sn phm.
Tonkhotoithieu: s lng tn kho ti thiu ca sn phm.
Tonkhohientai: s lng tn kho hin ti
Conquanly: cho bit sn phm còn đc qun lý hay không.
Makm: là khóa ngoi, tham chiu đn bn khuyn mãi. Ch ra sn phm này có đang
đc hng chng trình khuyn mãi nào không.
Bng đn v tính:
Tên field Kiu d liu Chiu dài Din gii

Ma Int Mã đn v tính
Ten Nvarchar 250 Tên đn v tính
Mieuta Nvarchar MAX Miêu t
Conquanly Bool Bin qun lý
Ý ngha các trng:
Ma: là khóa chính, ch ra mã ca mi loi đn v tính, là s nguyên.
Ten: tên mi loi đn v tính.
Miêu t: Miêu t, din gii ca mi loi đn v tính.
Conquanly: cho bit đn v tính này còn qun lý hay không.

GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 19

Bng khuyn mãi:
Tên field Kiu d liu Chiu dài Din gii
Ma Int Mã đn v tính
Ten Nvarchar 250 Tên đn v tính
Giamgia Float T l gim giá
Ngaybatdau Datetime Ngy bt đu
Ngayketthuc Datetime Ngày kt thúc
Conquanly Bool Bin qun lý
Ý ngha các trng:
Ma: là khóa chính, ch ra mã ca chng trính khuyn mãi, là s nguyên.
Ten: tên ca chng trình khuyn mãi.
Giamgia: t l gim giá ca khuyn mãi, đc lu di dng s thc. Ví d: khuyn

mãi 10% đc lu là 0.1
Ngaybatdau: ngày bt đu ca khuyn mãi.
Ngayketthuc: ngày kt thúc khuyên mãi. Sau ngày này chng trình không còn hiu
lc
Conquanly: ch ra chng trình khuyn mãi còn đc qun lý hay không.

Bng nhân viên:
Tên field Kiu d liu Chiu dài Din gii
Ma Int Mã nhân viên
Ho Nvarchar 250 H
Ten NvarChar 250 Tên
Ngaysinh Datetime Ngày sinh

Gioitinh Boll Gii tính
Cmnd Int Chng minh dân dân
GVHD: TS. Lê Xuân Trng Khoá Lun Tt Nghip
SVTH: Hunh Huy Cng – Võ Công Khanh Trang 20
Diachi Nvarchar Max a ch
Dienthoai Int in thoi
Email Nvarchar 250 a ch email
Chucvu Nvarchar 250 Chc v
Mabp Int Mã b phn
Maql Int Mã qun lý
Maqh Int Mã quyn hn
Matkhau Varchar 250 Mt khu

Conquanly Bool Bin qun lý
Ý ngha các trng:
Ma: là khoá chính, ch ra mã ca tng nhân viên.
H: h ca nhân viên.
Ten: tên ca nhân viên.
NgaySinh: ngày sinh ca nhân viên.
Gioitinh: gii tính ca nhân viên, quy c true là nam, false là n.
Cmnd: s chng minh nhân dân.
Diachi: đa ch liên lc ca nhân viên.
DienThoai: đin thoi liên lc.
Email: đa ch email liên lc ca mi nhân viên.
Chc v: Miêu t chc v hin ti ca nhân viên.

Mabp: là khóa ngoi, tham kho đn bng b phn. ch ra nhân viên thuc b phn
nào.
Maql: là khóa ngoi, tham kho đn chính bn nhân viên, ch ra nhân viên thuc
quyn qun lý ca ai.
Maqh: là khóa ngoi, tham kho đn bn quyn hn. Sau khi đng nhp vào h
thng t bin quyn hn này mà ta quy đnh thao tác mà nhân viên đc thc hin.
MatKhau: mât khu ca mi nhân viên đ đng nhp vào h thng.
Conquanly: cho bit nhân viên còn đc công ty qun lý hay không.

×