án t t nghi p
GVHD: Nguy n Th y oan Trang
cl c
Ch
ng 1.....................................................................................................................2
S
LÝ THUY T.................................................................................................2
1.1.
Gi i thi u
tài.............................................................................................2
1.2.
Gi i thi u các công c xây d ng ng d ng ....................................................2
1.2.1.Gi i thi u s l
c v .NET Framework ..................................................... 3
1.2.2.Biên d ch và MSIL .................................................................................... 6
1.2.3.Gi i thi u v qu n tr d li u .NET............................................................ 7
1.2.4.Xây d ng ng d ng theo mô hình a l p (Multi-tier)................................. 8
Ch
ng 2...................................................................................................................10
PHÂN TÍCH VÀ THI T K ..................................................................................10
2.1.
Phân tích hi n tr ng.....................................................................................10
2.2.
Thi t k .......................................................................................................11
2.2.1.Thi t k d li u........................................................................................ 11
2.2.1.1.Mô hình quan ni m d li u .......................................................... 11
2.2.1.2.Mô hình t ch c d li u ............................................................... 12
2.2.1.3.Mô hình v t lý d li u.................................................................. 13
2.2.2.Các modul ch c n ng c a trang web ........................................................ 18
2.2.3.Thi t k giao di n .................................................................................... 21
Ch
ng 3...................................................................................................................23
XÂY D NG CH
3.1.
NG TRÌNH .............................................................................23
M t s hàm và th t c trong ch
ng trình ...................................................23
3.1.1.T ng c s d li u ................................................................................... 23
3.1.2.L p th c hi n k t n i v i c s d li u.................................................... 24
3.2.
Ch
M t s hình nh v giao di n c a ch
ng trình............................................28
ng 4...................................................................................................................33
K T LU N ..............................................................................................................33
1.
2.
K t qu
t
c.............................................................................................33
ng phát tri n .............................................................................................33
SVTH: Nguy n V n Hào
1
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
Ch
S
1.1. Gi i thi u
ng 1
LÝ THUY T
tài
S phát tri n m nh m c a Internet ã t o ra nhi u thay i trong m i m t i
s ng xã h i, giúp cho con ng i d dàng trao i thông tin c ng nh tìm ki m thông
tin m t cách nhanh chóng. c bi t v i s phát tri n c a Internet ã t o ra nhi u c h i
m i trong các l nh v c nh : Qu n lý, gi i thi u và tr ng bày s n ph m, mua bán trên
internet,…Nh m áp ng
c yêu c u c a xã h i,
tài c a em là bán s n ph m
Biti's qua m ng. Ng i qu n lý c ng nh khách hàng có th truy c p vào trang Web
b t c lúc nào, b t c âu th c hi n nh ng nhu c u c a mình m t cách thu n ti n và
nhanh chóng nh khi th c hi n trong m t c a hàng. ây là l i th l n c a Internet
em l i cho các doanh nghi p, nhà s n xu t, ng i tiêu dùng,…
V công c phát tri n ng d ng, công ngh Active Server Pages c a Microsoft
v n còn là cách t ng i m i xây d ng các trang Web ng và các ng d ng phân
ph i Web. Phiên b n m i ASP.NET 2005 là m t b c t phá l n cho các nhà phát
tri n, cung c p nhi u công n ng và tính linh ho t h n bao gi h t, ng th i giúp
chúng ta vi t ít mã h n. ASP.NET không ch
n thu n là b c nâng c p quan tr ng,
mà là m t b c ti n nh y v t trong toàn b khái ni m v các ng d ng ng.
V i lý do ó, em ã tìm hi u v công c Internet và xây d ng ng d ng “Trang
web bán hàng s n ph m Biti's qua m ng c a trung tâm Biti's Tây Nguyên chi nhánh
Nha Trang”, v i công ngh m i c a Microsoft là ASP.NET 2005.
Trong cu n báo cáo
tài th c t p này em xin trình bày các v n
chính sau:
• Tìm hi u v công c Web ASP.NET
• Tìm hi u v h qu n tr c s d li u SQL Server
• Phân tích và thi t k c s d li u xây d ng ng d ng trang Web cho s n
ph m Biti's v i mô hình a l p (Multi-tier).
1.2. Gi i thi u các công c xây d ng ng d ng
SQL Server là h qu n tr c s d li u quan h qu n lý d li u phân tán r t
thông d ng và hi u qu c a Microsoft, nó giúp ta d dàng ki m soát
c các giao
d ch trên m ng, m b o
c s nh t quán và toàn v n d li u c ng nh gi i quy t
các t ng tranh.
.NET là công ngh m i c a Microsoft g m 2 ph n chính: Framework và Integrated
Development Environment (IDE). Framework cung c p nh ng gì c n thi t và c n b n,
ch Framework có ngh a là khung hay khung c nh trong ó ta dùng nh ng h t ng c
s theo m t qui c nh t nh
công vi c
c trôi ch y. IDE thì cung c p m t môi
tr ng giúp chúng ta tri n khai d dàng, và nhanh chóng các ng d ng d a trên n n
t ng .NET. N u không có IDE chúng ta c ng có th dùng m t trình so n th o nh
Notepad hay b t c trình so n th o v n b n nào và s d ng command line biên d ch
và th c thi, tuy nhiên vi c này m t nhi u th i gian. T t nh t là chúng ta dùng IDE phát
tri n các ng d ng, và c ng là cách d s d ng nh t.
SVTH: Nguy n V n Hào
2
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
Thành ph n Framework là quan tr ng nh t c a công ngh .NET là c t lõi và tinh hoa
c a môi tr ng, còn IDE ch là công c
phát tri n d a trên n n t ng ó. Trong .NET
toàn b các ngôn ng C#, Visual C++ hay Visual Basic.NET u dùng cùng m t IDE.
Tóm l i Microsoft .NET là n n t ng cho vi c xây d ng và th c thi các ng d ng
phân tán th h k ti p. Bao g m các ng d ng t client n server và các d ch v
khác. Microsoft .NET cho phép nh ng nhà phát tri n th c hi n các tính n ng sau:
Ø M t mô hình l p trình cho phép nhà phát tri n xây d ng các ng d ng d ch v
web và ng d ng client v i Extensible Markup Language (XML).
Ø T p h p d ch v XML Web, nh Microsoft .NET My Services cho phép
nhà phát tri n n gi n và tích h p ng i dùng kinh nghi m.
Ø Cung c p các server ph c v bao g m: Windows 2000, SQL Server, và
BizTalk Server, t t c
u tích h p, ho t ng, và qu n lý các d ch v XML
Web và các ng d ng.
Ø Các ph n m m client nh Windows XP và Windows CE giúp ng i phát tri n phân
ph i sâu và thuy t ph c ng i dùng kinh nghi m thông qua các dòng thi t b .
Ø Nhi u công c h tr nh Visual Studio .NET,
phát tri n các d ch v Web
XML, ng d ng trên n n Windows hay n n web m t cách d dàng và hi u qu .
1.2.1. Gi i thi u s l
c v .NET Framework
.NET Framework là m t platform m i làm n gi n vi c phát tri n ng d ng trong
môi tr ng phân tán c a Internet. .NET Framework
c thi t k
y
áp ng
theo quan i m sau:
o Cung c p m t môi t ng l p trình h ng
i t ng v ng ch c, trong ó
mã ngu n i t ng
c l u tr và th c thi m t cách c c b . Th c thi c c b
nh ng
c phân tán trên Internet, ho c th c thi t xa.
o Cung c p m t môi tr ng th c thi mã ngu n mà t i thi u
m m và s tranh ch p v phiên b n.
c vi c óng gói ph n
o Cung c p m t môi tr ng th c thi mã ngu n mà m b o vi c th c thi an toàn mã
ngu n, bao g m c vi c mã ngu n
c t o b i hãng th ba hay b t c hãng nào
mà tuân th theo ki n trúc .NET.
o Cung c p m t môi tr ng th c thi mã ngu n mà lo i b
các script hay môi tr ng thông d ch.
c nh ng l i th c hi n
o Làm cho nh ng ng i phát tri n có kinh nghi m v ng ch c có th n m v ng nhi u
ki u ng d ng khác nhau.T nh ng ng d ng trên n n Windows n nh ng ng
d ng d a trên web.
.NET Framework có hai thành ph n chính: Common Language Runtime (CLR) và
th vi n l p .NET Framework. CLR là n n t ng c a .NET Framework. Chúng
ta có th hi u runtime nh là m t agent qu n lý mã ngu n khi nó
c th c thi, cung
c p các d ch v c t lõi nh : qu n lý b nh , qu n lý ti u trình, và qu n lý t xa. Ngoài
ra nó còn thúc y vi c s d ng ki u an toàn và các hình th c khác c a vi c chính xác
mã ngu n, m b o cho vi c th c hi n
c b o m t và m nh m . Th t v y, khái ni m
qu n lý mã ngu n là nguyên lý n n t ng c a runtime. Mã ngu n mà ích t i
SVTH: Nguy n V n Hào
3
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
runtime thì
c bi t nh là mã ngu n
c qu n lý (managed code). Trong khi
ó mã ngu n mà không có ích t i runtime thì
c bi t nh mã ngu n không
c
qu n lý (unmanaged code).
Th vi n l p, m t thành ph n chính khác c a .NET Framework là m t t p h p
ng i t ng c a các ki u d li u
c dùng l i, nó cho phép chúng ta có th phát
tri n nh ng ng d ng t nh ng ng d ng truy n th ng command-line hay nh ng ng
d ng có giao di n
h a (GUI) n nh ng ng d ng m i nh t
c cung c p b i
ASP.NET, nh là Web Form và d ch v XML Web.
Hình 1.1: Mô t các thành ph n trong .NET Framework.
SVTH: Nguy n V n Hào
4
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
Common Language Runtime (CLR)
CLR thúc y vi c mã ngu n th c hi n vi c truy c p
c b o m t. Ví d , ng i
s d ng gi i h n r ng vi c th c thi chúng vào trong m t trang web có th ch y
c
ho t hình trên màn hình hay hát m t b n nh c, nh ng không th truy c p
c d li u
riêng t , t p tin h th ng, hay truy c p m ng. Do ó, c tính b o m t c a CLR cho
phép nh ng ph n m m óng gói trên Inernet có nhi u c tính mà không nh h ng
n vi c b o m t h th ng.
CLR còn thúc y cho mã ngu n
c th c thi m nh m h n b ng vi c th c thi mã
ngu n chính xác và s xác nh n mã ngu n. N n t ng c a vi c th c hi n này
là Common Type System (CTS). CTS
m b o r ng nh ng mã ngu n
c qu n
lý thì
c t mô t (self- describing). S khác nhau gi a Microsoft và các trình biên
d ch ngôn ng c a hãng th ba là vi c t o ra các mã ngu n
c qu n lý có th thích
h p v i CTS. i u này thì mã ngu n
c qu n lý có th s d ng nh ng ki u
c
qu n lý khác và nh ng th hi n, trong khi thúc y nghiêm ng t vi c s d ng ki u d
li u chính xác và an toàn.
Th vi n l p .NET Framework
Th vi n l p .NET Framework là m t t p h p nh ng ki u d li u
c dùng l i và
c k t h p ch t ch v i Common Language Runtime. Th vi n l p là h ng i
ng cung c p nh ng ki u d li u mà mã ngu n
c qu n lý c a chúng ta có th d n
xu t.
u này không ch làm cho nh ng ki u d li u c a .NET Framework d s d ng
mà còn làm gi m th i gian liên quan n vi c h c c tính m i c a .NET Framework.
Thêm vào ó, các thành ph n c a các hãng th ba có th tích h p v i nh ng l p trong
.NET Framework.
C ng nh mong i c a ng i phát tri n v i th vi n l p
ng i t ng, ki u d
li u . NET Framework cho phép ng i phát tri n thi t l p nhi u m c
thông d ng c a
vi c l p trình, bao g m các nhi m v nh : qu n lý chu i, thu th p hay ch n l c d li u,
k t n i v i c s d li u, và truy c p t p tin. Ngoài nh ng nhi m v thông d ng trên.
Th vi n l p còn a vào nh ng ki u d li u
h tr cho nh ng k ch b n phát tri n
chuyên bi t khác. Ví d ng i phát tri n có th s d ng .NET Framework phát tri n
nh ng ki u ng d ng và d ch v nh sau:
ü
ng d ng Console (giao ti p ng
ü
ng d ng giao di n GUI trên Windows (Windows Forms)
i-máy)
ng d ng ASP.NET
ü D ch v XML Web
ü D ch v Windows
Trong ó nh ng l p Windows Forms cung c p m t t p h p l n các ki u d li u
nh m làm n gi n vi c phát tri n các ng d ng GUI ch y trên Windows. Còn n u
nh vi t các ng d ng ASP.NET thì có th s d ng các l p Web Forms trong th vi n
.NET Framework.
Phát tri n ng d ng Client
Nh ng ng d ng client c ng g n v i nh ng ng d ng ki u truy n th ng
cl p
trình d a trên Windows. ây là nh ng ki u ng d ng hi n th nh ng c a s hay nh ng
SVTH: Nguy n V n Hào
5
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
form trên desktop cho phép ng i dùng th c hi n m t thao tác hay nhi m v nào ó.
Nh ng ng d ng client bao g m nh ng ng d ng nh x lý v n b n, x lý b ng tính,
nh ng ng d ng trong l nh v c th ng m i nh công c nh p li u, công c t o báo
cáo...Nh ng ng d ng client này th ng s d ng nh ng c a s , menu, toolbar, button
hay các thành ph n GUI khác, và chúng th ng truy c p các tài nguyên c c b nh là
các t p tin h th ng, các thi t b ngo i vi nh máy in.
M t lo i ng d ng client khác v i ng d ng truy n th ng nh trên là ActiveX
control (hi n nay nó
c thay th b i các Windows Form control)
c nhúng vào
các trang web trên Internet. Các ng d ng này c ng gi ng nh nh ng ng d ng client
khác là có th truy c p tài nguyên c c b .
Trong quá kh , nh ng nhà phát tri n có th t o các ng d ng s d ng C/C++ thông
qua k t n i v i MFC ho c s d ng môi tr ng phát tri n ng d ng nhanh
(RAD: Rapid Application Development). .NET Framework tích h p di n m o c a
nh ng s n ph m thành m t. Môi tr ng phát tri n c
nh làm n gi n m nh m s
phát tri n c a ng d ng client.
Nh ng l p .NET Framework ch a trong .NET Framework
c thi t k cho vi c s
d ng phát tri n các GUI.
u này cho phép ng i phát tri n nhanh chóng và d dàng
t o các c a s , button, menu, toolbar, và các thành ph n khác trong các ng d ng
c
vi t ph c v cho l nh v c th ng m i. Ví d nh , .NET cung c p nh ng thu c tính n
gi n
hi u ch nh các hi u ng visual liên quan n form. Trong vài tr ng h p h
i u hành không h tr vi c thay i nh ng thu c tính này m t cách tr c ti p, và trong
tr ng h p này .NET t
ng t o l i form. ây là m t trong nhi u cách mà .NET tích
h p vi c phát tri n giao di n làm cho mã ngu n n gi n và m nh m h n.
Không gi ng nh ActiveX control, Windows Form control có s truy c p gi i h n
n máy c a ng i s d ng.
u này có ngh a r ng mà ngu n th c thi nh phân có th
truy c p m t vài tài nguyên trong máy c a ng i s d ng (nh các thành ph n
h a
hay m t s t p tin
c gi i h n) mà không th truy c p n nh ng tài nguyên khác.
Nguyên nhân là s b o m t truy c p c a mã ngu n. Lúc này các ng d ng
c cài t
trên máy ng i dùng có th an toàn
a lên Internet.
1.2.2. Biên d ch và MSIL
Trong .NET Framework, ch ng trình không
c biên d ch vào các t p tin th c
thi mà thay vào ó chúng
c biên d ch vào nh ng t p tin trung gian g i là Microsoft
Intermediate Language (MSIL). Nh ng t p tin MSIL
c t o ra t C# c ng t ng t
nh các t p tin MSIL
c t o ra t nh ng ngôn ng khác c a .NET, platform
ây
không c n bi t ngôn ng c a mã ngu n.
u quan tr ng chính y u c a CLR là chung
(common), cùng m t runtime h tr phát tri n trong C# c ng nh trong VB.NET.
Mã ngu n C#
c biên d ch vào MSIL khi chúng ta build project. Mã MSIL này
c u vào trong m t t p tin trên a. Khi chúng ta ch y ch ng trình, thì MSIL
c biên d ch m t l n n a, s d ng trình biên d ch Just-In-Time (JIT). K t qu là mã
máy
c th c thi b i b x lý c a máy.
Trình biên d ch JIT tiêu chu n thì th c hi n theo yêu c u. Khi m t ph ng th c
c g i, trình biên d ch JIT phân tích MSIL và t o ra s n ph m mã máy có hi u qu
cao, mã này có th ch y r t nhanh. Trình biên d ch JIT
thông minh
nh n ra khi
SVTH: Nguy n V n Hào
6
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
m t mã ã
c biên d ch, do v y khi ng d ng ch y thì vi c biên d ch ch x y ra khi
c n thi t, t c là ch biên d ch mã MSIL ch a biên d ch ra mã máy. Khi ó m t ng
d ng .NET th c hi n, chúng có xu h ng là ch y nhanh và nhanh h n n a, c ng nh
là nh ng mã ngu n
c biên d ch r i thì
c dùng l i.
Do t t c các ngôn ng .NET Framework cùng t o ra s n ph m MSIL gi ng nhau,
nên k t qu là m t i t ng
c t o ra t ngôn ng này có th
c truy c p hay
c d n xu t t m t i t ng c a ngôn ng khác trong .NET. Ví d , ng i phát
tri n có th t o m t l p c s trong VB.NET và sau ó d n xu t nó trong C# m t
cách d dàng.
1.2.3. Gi i thi u v qu n tr d li u .NET
a) D li u tách r i (disconnect fashion)
i u này có ngh a là ta c n các công ngh truy c p d li u
ó h khách có th
truy c p, t i xu ng và l p cache d li u ã yêu c u, sau ó ng t k t n i v i h ph c v
s d li u ho c kho l u tr d li u. M t khi s n sang, chúng c n có kh n ng n i l i
và c p nh t kho l u tr d li u ban u b ng các chi ti t thay i.
Làm vi c v i d li u tách r i, ta có m t khía c nh khác n y sinh khi d i t m t mô
hình khách/ph c v vào th gi i c a ng d ng n-t ng. M t môi tr ng phân ph i ng
ý h khách và h ph c v tách bi t,
c n i b i m t m ng.
b) Ti n hoá c a ADO
Các công ngh truy c p d li u ti n ADO, ch ng h n nh DAO (Data Access
Objects) và RDO (Remote Data Objects) ã
c thi t k
cung c p các ph ng
pháp truy c p d li u m cho th gi i khách/ph c v -và r t thành công trong môi
tr ng ó. Ví d , n u ta xây d ng các ng d ng Visual Basic
truy c p SQL trên
m ng c c b , chúng làm vi c suôn s .
c) Mã qu n lý (managed code)
.NET Framework không ph i là m t h
u hành m i. Nó là m t lo t các l p và
môi tr ng th i gian ch y có qu n lý trong ó mã c a ta có th
c thi hành.
d) Mô hình l p trình m i
Ta vi t b ng các ngôn ng “ úng n”, ch không ph i là các t p l nh (script). Ta
có th dùng C# ho c b t k m t trong s ngôn ng khác s n có ho c ang phát
tri n trong n n t ng .NET.
e) Các namespace tên h th ng cho qu n tr d li u
Các l p qu n tr d li u quan h m i n m trong m t lo t các không gian tên d a
vào System.Data bên trong th vi n l p.
C ng có m t lo t namespace tên tách bi t ch a các l p mà ta dùng
làm vi c v i
XML thay vì v i d li u quan h . Các không gian tên này d a vào System.xml.
f) Các
it
ng ADO.NET c n b n
Truy c p d li u truy n th ng v i ADO xoay quanh i t ng kho l u tr d li u
c n b n-Recordset. K thu t
c dùng
ay là t o m t tuy n n i v i m t kho l u tr
SVTH: Nguy n V n Hào
7
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
d li u dung m t trình cung c p, sau ó thi hành các l nh trên nó tr v m t
Recordset ch a d li u thích h p.
it
ng
g) So sánh các k thu t trong ADO và ADO.NET
Và ây là nh ng i m khác bi t:
Ø Không có d ng t ng
vào công vi c mu n t
ng tr c ti p c a i t ng Recordset. Tu thu c
c, ta dùng m t DataReader ho c m t Dataset.
Ø Các con tr [cursors] phía khách và phía h ph c v (c s d li u) không
c dùng trong ADO.NET. Mô hình tách r i có ngh a là chúng không áp
d ng
c.
Ø Ch c n ng khoá (locking) c s d li u không
c h tr ho c
c u. M t l n n a, v i mô hình tách r i, chúng không áp d ng
c.
c yêu
Ø T t c d li u
c d ch sang d ng XML. Không có các ph n bi u th nh
phân ho c mã hoá MIME cho các t p hang ho c các c u trúc d li u khác.
1.2.4. Xây d ng ng d ng theo mô hình a t ng (Multi-tier)
User Services
Business Services
Các
it
Data Services
ng
qu n.lý logic nghi p
ASP.NET Pages
SQL Server
v : Thông tin v S n
ph m, v khách
hàng,...
SVTH: Nguy n V n Hào
8
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
ng d ng
c xây d ng theo mô hình a t ng (multi-tier), mô hình thi t k ng
d ng r t ph bi n hi n nay. V i mô hình này, ng d ng phân rã ch c n ng c a t ng
n th
m c t i a, các nghi p v x lý logic c a ng d ng
c cài t thành
nh ng i t ng riêng bi t.
C th , ng d ng
c xây d ng phân rã thành 3 t ng: T ng d ch v ng i dùng
(User Service) ch a các trang ASP.NET nh d ng giao di n và tri u g i i t ng
t ng x lý nghi p v (Business Logic Service). Các i t ng t ng Business Service
th c hi n ch c n ng chính c a ch ng trình bao g m mã l nh tách r i ph n nh d ng
HTML. Vi c k t n i và truy xu t d li u
c th c hi n t ng th 3 ó là t ng d ch
v h tr c s d li u (Database Service).
Nh v y, n u mu n chuy n ng d ng sang môi tr ng khác, chúng ta v n có th
dùng nh ng i t ng này mà không c n ph i thay i gì thêm. ây chính là tính m m
d o và d dàng nâng c p (Scalable) c a mô hình ng d ng a t ng.
SVTH: Nguy n V n Hào
9
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
Ch
ng 2
PHÂN TÍCH VÀ THI T K
2.1. Phân tích hi n tr ng
Công ty s n xu t hàng tiêu dùng Bình Tiên chi nhánh Biti’s Nha Trang, chuyên
cung c p các m t hàng v giày dép Biti's cho các i lý.
v Qu n lý s n ph m Biti's:
Công ty s n xu t hàng tiêu dùng Bình Tiên (Trung tâm Biti’s Tây Nguyên) khi
qu n lý trên web c n có nh ng thông tin sau: Tên s n ph m, giá bán, màu s c (ch
qu n lý nh ng s n ph m có màu xác nh), kích c (size), s n ph m ó thu c lo i nào,
và dành cho i t ng ng i tiêu dùng nào, hình nh v s n ph m ó.
v Qu n lý khách hàng:
M i khách hàng c a trung tâm u
c qu n lý nh ng thông tin chính sau: H ,
tên, a ch , s
n tho i, s fax, a ch email (dùng
ng nh p web), password,
tên c a hàng kinh doanh c a khách hàng.
v Qu n lý nhân viên:
M t nhân viên c a trung tâm Bitis ch c n qu n lý trên nh ng thông tin: H , tên
nhân viên, s
n tho i, a ch c a nhân viên, và ch c v .
v Quy trình qu n lý bán s n ph m Biti's:
Khi khách hàng th c thi n giao d ch, l p n t hàng trên web thì c n có thông
tin: T t c các thông tin v khách hàng, thông tin v lo i s n ph m mà khách hàng
ch n mua, s l ng, thông tin ngày t hàng và ngày giao hàng h n chót. V i các i
lý t hàng s n ph m m i c a công ty s
c chi t kh u giá tr c a t ng lo i s n
ph m, và thu giá tr gia t ng c a s n ph m ã
c công ty tr .
Khi khách hàng ã có n t hàng, trung tâm c nhân viên mang hàng xu ng t n
a ch c a khách hàng tr c ho c ngay trong ngày giao hàng trong n t hàng, v i
các i lý s
c chuy n hàng t i mà không m t phí v n chuy n. V i khách hàng
vãng lai, mua v i s l ng ít, tùy vào t ng u ki n khách hàng có th t i i lý g n
nh t c a trung tâm Biti’s l y hàng.
Sau khi ã giao hàng, khách hàng nh n hóa n t hàng và thanh toán b ng ti n
m t. N u là khách hàng quen có th ch a thanh toán ho c thanh toán m t ph n.
SVTH: Nguy n V n Hào
10
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
2.2. Thi t k
2.2.1. Thi t k d li u
2.2.1.1. Mô hình quan ni m d li u
LOAISP
MALOAI
I
<M>
TENLOAI
VMBT30
TIENCK
F2
TINHTRANGDDH
MATINHTRANG I
<M>
TENT INHT RANG
VMBT 30
Identifier_1
Identifier_1
DOITUONGSD
<M>
MAMAU I
TENSP
VMBT30
<M>
MADT I
TENDT
VMBT30
Identifier_1
Identi fier_1
1,n
1,n
1,n
1,n
MAUSP
1,n
SP_DT
SP_MAU
CHITIET DL
HD_T T
SP_LOAI
SOLUONG N4
KHACHHANG
I
MAKH
HOKH
VMBT30
TENKH
VMBT30
EMAIL
A50
PASS
A20
DIACHI
VMBT100
SODT
A11
SOFAX
A15
TENCUAHANG
VMBT50
1,1
<M>
1,n
1,1
<M>
<M>
<M>
1,1
SANPHAM
MADONDH I
<M>
NGAYDH
DT
NGAYGH
DT
Identi fier_1
1,n
1,n
1,n
1,n
CHITIETDDH
GIAOHANG
Identifier_1
SOLUONG N4
1,1
1,n
MASP
I
<M>
TENSP
VMBT30
DIENGIAI
VMBT1000
SIZE
I
TINHTRANG
BL
HINHANH
A30
Identifier_1
1,n
1,1
1,n
1,n
HOADON
KH_HD
KH_TINH
1,1
1,1
DONDH
KH_DDH
1,1
I
<M>
MAHD
NGAYGH
DT
CHIT IETHD
1,n
SOLUONG N4
Identifier_1
1,n
1,1
1,n
1,n
HD_NO
TINH
MATINH I
<M>
T ENTINH
VMBT 30
LANTHU N2
NV_HD
1,n
Identifier_1
HD_TRA
1,n
SP_GIA
DONGIA MN4
Identifier_1
PT _NO
NV_T INH
1,n
LANT HU N2
1,1
1,1
CONGNO
MANO I
<M>
SOTIEN
MN8
PHIEUTRA
1,n
NHANVIEN
MANV I
<M>
HONV
VMBT30
TENNV
VMBT30
SODT
A11
DIACHI
VMBT100
1,1
1,n
NV_PT
SP_T RA
1,n
SOLUONG N4
1,n
<M>
MAPHIEU I
NGAYTRA
DT
Identifier_1
1,n
BANGGIA
1,1
Identifier_1
NV_CV
CHUCVU
1,n MACV I
<M>
T ENCV
VMBT30
<M>
MANGAY I
NGAY
DT
Identifier_1
Identifier_1
SVTH: Nguy n V n Hào
11
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
2.2.1.2. Mô hình t ch c d li u
SANPHAM(MASP, TESP, DIENGIAI, SIZE, TINH TRANG, HINHANH, MADT,
MAMAU, MALOAI)
KHACHHANG(MAKH, TENKH, HOKH, EMAIL, PASS, DIACHI, SODT,
SOFAX, TENCUAHANG, MATINH)
NHANVIEN(MANV, TENNV, HONV, SODT, DIACHI, MATINH, MACV)
DOITUONGSD(MADT, TENDT)
MAUSP(MAUSP, TENSP)
LOAISP(MALOAI, TENLOAI, TIENCK)
TINHTRANGDDH(MATINHTRANG, TENTINHTRANG)
DONDH(MADONDH, NGAYDH, NGAYGH, MATINHTRANG, MAKH)
HOADON(MAHD, NGAYGH, MAKH, MADONDH, MANV)
CONGNO(MANO, SOTIEN)
PHIEUTRA(MAPHIEU, NGAYTRA, MANV, MAHD)
TINH(MATINH, TENTINH)
CHUCVU(MACV, TENCV)
BANGGIA(MANGAY, NGAY)
SP_GIA(MASP, MANGAY, DONGIA)
SP_TRA(MAPHIEU, MASP, SOLUONG)
PT_NO(MAPHIEU, MANO, LANTHU)
HD_NO(MAHD, MANO, LANTHU)
CHITIETHD(MAHD, MASP, SOLUONG)
CHITIETDDH(MADONDH, MASP, SOLUONG)
CHITIETDL(MADONDH, MALOAI, SOLUONG)
SVTH: Nguy n V n Hào
12
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
2.2.1.3. Mô hình v t lý d li u
SANPHAM(MASP, TESP, DIENGIAI, SIZE, TINHTRANG, HINHANH, MADT,
MAMAU, MALOAI)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MASP (K)
int
4
Len() = 4
TENSP
nvarchar
30
DIENGIAI
nvarchar
1000
SIZE
int
4
TINHTRANG
bit
1
HINHANH
char
30
MAMAU
int
4
Lookup(MAMAU)
MADT
int
4
Lookup(MADT)
MALOAI
int
4
Lookup(MALOAI)
KHACHHANG(MAKH, TENKH, HOKH, EMAIL, PASS, DIACHI, SODT,
SOFAX, TENCUAHANG, MATINH)
Tên thu c tính
Ki u d li u
Kích th
MASP(K)
int
4
TENKH
nvarchar
30
HOKH
nvarchar
30
TENCUAHANG
nvarchar
50
EMAIL
char
50
PASS
char
20
DIACHI
nvarchar
100
SODT
char
11
MATINH
int
4
SVTH: Nguy n V n Hào
13
c
Ràng bu c toàn v n
Len()=4
Lookup(MATINH)
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
NHANVIEN(MANV, TENNV, HONV, SODT, DIACHI, MATINH, MACV)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MANV (K)
int
4
Len() = 4
TENNV
nvarchar
30
HONV
nvarchar
30
SODT
char
11
DIACHI
nvarchar
100
MATINH
int
4
Lookup(MAMAU)
MACV
int
4
Lookup(MACV)
DOITUONGSD(MADT, TENDT)
Tên thu c tính
Ki u d li u
Kích th
MADT (K)
int
4
TENDT
nvarchar
30
c
Ràng bu c toàn v n
Len() = 4
MAUSP(MAUSP, TENSP)
Tên thu c tính
Ki u d li u
Kích th
MAMAU (K)
int
4
TENMAU
nvarchar
30
c
Ràng bu c toàn v n
Len() = 4
LOAISP(MALOAI, TENLOAI, TIENCK)
Tên thu c tính
Ki u d li u
Kích th
MALOAI (K)
int
4
TENLOAI
nvarchar
30
TIENCK
float
2
SVTH: Nguy n V n Hào
14
c
Ràng bu c toàn v n
Len() = 4
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
TINHTRANGDDH(MATINHTRANG, TENTINHTRANG)
Tên thu c tính
Ki u d li u
Kích th
MATINHTRANG (K)
int
4
TENTINHTRANG
nvarchar
30
c
Ràng bu c toàn v n
Len() = 4
DONDH(MADONDH, NGAYDH, NGAYGH, MATINHTRANG, MAKH)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MADONDH (K)
int
4
Len() = 4
NGAYDH
datetime
8
= Date()
NGAYGH
datetime
8
>= Date()
MAKH
int
4
Lookup(MAKH)
MATINHTRANG
int
4
Lookup (MATINHTRANG )
HOADON(MAHD, NGAYGH, MAKH, MADONDH, MANV)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MAHD(K)
int
4
Len() = 4
NGAYGH
datetime
8
<=Date()
MAKH
int
4
Lookup(MAKH)
MADONDH
int
4
Lookup(MADONDH)
MANV
int
4
Lookup(MANV)
CONGNO(MANO, SOTIEN)
Tên thu c tính
Ki u d li u
Kích th
MANO (K)
int
4
SOTIEN
money
8
SVTH: Nguy n V n Hào
15
c
Ràng bu c toàn v n
Len() = 4
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
PHIEUTRA(MAPHIEU, NGAYTRA, MANV, MAHD)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MAPHIEU (K)
int
4
Len() = 4
NGAYTRA
datetime
8
= Date()
MAHD
int
4
Lookup (MAHD)
MANV
int
4
Lookup(MANV)
TINH(MATINH, TENTINH)
Tên thu c tính
Ki u d li u
Kích th
MATINH (K)
int
4
TENTINH
nvarchar
30
Ki u d li u
Kích th
c
Ràng bu c toàn v n
Len() = 4
CHUCVU(MACV, TENCV)
Tên thu c tính
MACV (K)
int
4
TENCV
nvarchar
30
c
Ràng bu c toàn v n
Len() = 4
BANGGIA(MANGAY, NGAY)
Tên thu c tính
Ki u d li u
Kích th
MANGAY (K)
int
4
NGAY
datetime
8
c
Ràng bu c toàn v n
Len() = 4
SP_GIA(MASP, MANGAY, DONGIA)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MANGAY (K)
int
4
Len() = 4
MANSP(K)
int
4
Len()=4
DONGIA
money
8
SVTH: Nguy n V n Hào
16
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
SP_TRA(MAPHIEU, MASP, SOLUONG)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MAPHIEU (K)
int
4
Len() = 4
MASP(K)
int
4
Len()=4
SOLUONG
numeric
4
PT_NO(MAPHIEU, MANO, LANTHU)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MAPHIEU (K)
int
4
Len() = 4
MANO(K)
int
4
Len()=4
LANTHU
numeric
4
HD_NO(MAHD, MANO, LANTHU)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MAHD (K)
int
4
Len() = 4
MANO(K)
int
4
Len()=4
LANTHU
numeric
4
CHITIETHD(MAHD, MASP, SOLUONG)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MAHD (K)
int
4
Len() = 4
MASP(K)
int
4
Len()=4
SOLUONG
numeric
4
CHITIETDDH(MADONDH, MASP, SOLUONG)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MADONDH (K)
int
4
Len() = 4
MASP(K)
int
4
Len()=4
SOLUONG
numeric
4
SVTH: Nguy n V n Hào
17
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
CHITIETDL(MADONDH, MALOAI, SOLUONG)
Tên thu c tính
Ki u d li u
Kích th
c
Ràng bu c toàn v n
MADONDH (K)
int
4
Len() = 4
MALOAI(K)
int
4
Len()=4
SOLUONG
numeric
4
2.2.2. Các modul ch c n ng c a trang web
v C p nh t s n ph m Biti’s
INPUT: Thông tin m i c a S n ph m.
OUTPUT: Có thông tin c a S n ph m, tr l i
BEGIN
Nh n “thông tin S n ph m m i”
FIND Tên S n ph m trong b ng S n ph m
trong “Thông tin S n ph m m i”?
xem Tên S n ph m có n m
IF FOUND
Output Tr l i= “ ã có S n ph m trong b ng S n ph m”
ELSE
Write Thông tin m i vào trong b ng S n ph m
END IF
END.
v C p nh t lo i S n ph m
INPUT: Thông tin m i c a Lo i S n ph m.
OUTPUT: Có thông tin c a Lo i S n ph m, tr l i
BEGIN
Nh n “thông tin Lo i S n ph m m i”
FIND Tên Lo i S n ph m trong b ng Lo i S n ph m
ph m có n m trong “Thông tin Lo i S n ph m m i”?
xem Tên Lo i S n
IF FOUND
Output Tr l i= “ ã có Lo i S n ph m trong b ng Lo i S n ph m”
ELSE
Write Thông tin m i vào trong b ng Lo i S n ph m
END IF
END.
SVTH: Nguy n V n Hào
18
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
v C p nh t màu S n ph m
INPUT: Thông tin m i c a Màu S n ph m.
OUTPUT: Có thông tin c a Màu S n ph m, tr l i
BEGIN
Nh n “thông tin Màu S n ph m m i”
FIND Tên Màu S n ph m trong b ng Màu S n ph m
ph m có n m trong “Thông tin Màu S n ph m m i”?
xem Tên Màu S n
IF FOUND
Output Tr l i= “ ã có Màu S n ph m trong b ng Màu S n ph m”
ELSE
Write Thông tin m i vào trong b ng Màu S n ph m
END IF
END.
v C p nh t nhân viên
INPUT: Thông tin m i c a Nhân Viên.
OUTPUT: Có thông tin c a Nhân Viên, tr l i
BEGIN
Nh n “thông tin Nhân Viên m i”
FIND Tên Nhân Viên trong b ng Nhân Viên
trong “Thông tin Nhân Viên m i”?
xem Tên Nhân Viên có n m
IF FOUND
Output Tr l i= “ ã có Nhân Viên trong b ng Nhân Viên”
ELSE
Write Thông tin m i vào trong b ng Nhân Viên
END IF
END.
v Khách hàng
ng ký
INPUT: Thông tin m i c a Khách Hàng.
OUTPUT: Có thông tin c a Khách Hàng, tr l i
BEGIN
Nh n “thông tin Khách Hàng m i”
FIND Tên ng nh p c a Khách Hàng trong b ng Khách Hàng xem Tên
ng nh p c a Khách Hàng có n m trong “Thông tin Khách Hàng m i”?
SVTH: Nguy n V n Hào
19
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
IF FOUND
Output Tr l i= “ ã có tên
ng nh p trong b ng Khách Hàng”
ELSE
Write Thông tin m i vào trong b ng Khách Hàng
END IF
END.
v Khách hàng
ng nh p
INPUT: Thông tin c a Khách Hàng.
OUTPUT: Có thông tin c a Khách Hàng, tr l i
BEGIN
Nh n “thông tin Khách Hàng”
FIND Tên ng nh p và pass c a Khách Hàng trong b ng Khách Hàng
xem Tên ng nh p và pass c a Khách Hàng có n m trong “Thông tin
Khách Hàng”?
IF FOUND
Output Tr l i= “
ng nh p thành công.”
ELSE
Write “Ki m tra l i tên
ng nh p và pass”
END IF
END.
v Khách hàng tìm thông tin v s n ph m
INPUT: Thông tin v s n ph m.
OUTPUT: Có thông tin c a s n ph m, tr l i
BEGIN
Nh n “thông tin s n ph m”
FIND Tên S n ph m trong b ng S n ph m
xem Tên S n ph m có n m
trong “Thông tin S n ph m c a khách hàng c n tìm”?
IF FOUND
Output Tr l i= “Hi n ra các S n ph m có chung thông tin mà khách hàng
c n tìm.”
ELSE
Write “Không có S n ph m nào có thông tin nh c a khách hàng.”
END IF
END.
SVTH: Nguy n V n Hào
20
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
v Khách hàng l p hóa
n
INPUT: Thông tin v s n ph m.
OUTPUT: Có thông tin c a s n ph m trong gi hàng, tr l i
BEGIN
Nh n “thông tin s n ph m”
FIND Tên S n ph m trong gi hàng
hàng hay ch a.?
xem Tên S n ph m có n m trong gi
IF FOUND
Output Tr l i= “S l
ng c a s n ph m ó t ng thêm 1.”
ELSE
Write “
a thông tin v s n ph m ó vào gi hàng.”
END IF
END.
2.2.3. Thi t k giao di n
Ti n hành tham chi u (References)
các hàm c n dùng.
nl pv at o
t ng 2 và khai báo k t n i, g i
Ví d :
ddlLoaisp.DataSource = LOAISPDB.GetAll();
ddlLoaissp.DataTextField = "TENSP";
Hi n th lo i SP vào dropdownlist
ddlLoaisp.DataValueField = "MASP";
ddlLoaisp.DataBind();
SVTH: Nguy n V n Hào
21
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
ch c n ng trang web
Bán Biti's qua m ng
p nh t
Th ng kê
n ph m
Khách hàng
Lo i sp
n
t hàng
Màu sp
Hóa
n
i t ng
d ng
Thanh toán
Hóa
n
Hàng tr l i
Gi hàng
i lý
Bán l
Gi i thi u
công ty
s n ph m
Công n
SVTH: Nguy n V n Hào
22
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
Ch
ng 3
XÂY D NG CH
NG TRÌNH
Khác v i các trang ASP, các trang ASP.NET sau khi
c yêu c u t h ph c
v m t h khách yêu c u m t URL có uôi .aspx hay truy n tham s t i trang có
uôi .ascx .Khi ó các thành ph n c a trang web ó s
c biên d ch, bao g m các
thành ph n:
ü T p tin .aspx ho c .ascx ang
c yêu c u.
ü T p tin l p .NET ch a mã c a trang ó.
ü M i
u khi n ng
i dùng (User Control) mà trang s d ng.
Vì trang ASP.NET
c thi t k nh là m t l p, nó cung c p cho ta m t t p h p
các s ki n và ta có th
t mã
u khi n bên trong nh ng s ki n này thay vì tr n
l n v i th
nh d ng HTML. Chính vì v y, các trang .aspx và .ascx r t d dàng thi t
k v i các ng d ng web do nó
c xây d ng theo h ng i t ng, tách r i mã v i
các th nh ràng HTML.
S ki n Page_Load luôn phát sinh u tiên m i khi trang .aspx hay .ascx
c tri u
g i t trình khách. Ti p n là các s ki n khác c a nh ng thành ph n
u khi n bên
trong trang. Sau cùng, khi b di n d ch ã th c hi n xong các yêu c u c a trang, trang
s
c gi i phóng. Lúc này s ki n Page_Unload s
c tri u g i.
3.1. M t s hàm và th t c trong ch
ng trình
3.1.1. T ng c s d li u
Thi t k b ng và th t c l u tr :
-
Thi t k b ng và mô hình quan ni m b ng Power design.
-
Th t c l u tr có c u trúc nh sau:
CREATE PROCEDURE [<Tên th t c l u tr >]
(
Khai báo bi n là tham s
u vào hay ra c a th t c.
)
AS
Các câu l nh SQL
GO
Ví d :
CREATE PROCEDURE TINH_Insert
(
@TENTINH nvarchar (30)
)
AS
SVTH: Nguy n V n Hào
23
Xây d ng Website Biti’s
án t t nghi p
GVHD: Nguy n Th y oan Trang
INSERT INTO TINH
(
TENTINH
)
VALUES
(
@TENTINH
)
RETURN @@IDENTITY
GO
3.1.2. L p th c hi n k t n i v i c s d li u
M i b ng hay các Views em thi t k 2 l p
k t n i v i c s d li u g m: Data
và DataAccess. Trong l p DataAccess, m i th t c Stored Procedures s t ng ng
v i 1 th t c
c t o ra trong l p này.
-
i l p Data:
using System;
namespace Bitiss.TINH.Data
{
public class TINHInfo
{
private int _mATINH;
public int MATINH
{
get { return _mATINH; }
set { _mATINH = value; }
}
private string _tENTINH;
public string TENTINH
{
get { return _tENTINH; }
set { _tENTINH = value; }
}
}
}
SVTH: Nguy n V n Hào
24
Xây d ng Website Biti’s
án t t nghi p
-
GVHD: Nguy n Th y oan Trang
V i l p DataAccess
using System;
using System.Data;
using System.Data.SqlClient;
using Bitiss.Lib;
using Bitiss.TINH.Data;
namespace Bitiss.TINH.DataAccess
{
public class TINHDB
{
public static DataTable GetAll()
{
DataTable retVal = null;
SqlConnection dbConn = new SqlConnection(AppEnv.ConnectionString);
SqlCommand dbCmd = new SqlCommand("TINH_GetAll", dbConn);
dbCmd.CommandType = CommandType.StoredProcedure;
try
{
retVal = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(dbCmd);
da.Fill(retVal);
}
finally
{
dbConn.Close();
}
return retVal;
}
public static void Delete(int _mATINH)
{
SqlConnection dbConn = new SqlConnection(AppEnv.ConnectionString);
SqlCommand dbCmd = new SqlCommand("TINH_Delete", dbConn);
dbCmd.CommandType = CommandType.StoredProcedure;
SVTH: Nguy n V n Hào
25
Xây d ng Website Biti’s