!"
#$%&'(()*"+,
+#-*".
*(#*/(*"0
!"#$
%#&!"'
12342
!"
#$%&'(()*"+,
+#-*".
*(#*/(*"0
!"#$
%#&!"'
12342
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
565
!?@
!.;<'=,+>1,!)91,/!>'
LMNL
4/ O=@ABC8
u 9MNHOHCOPEQ6R! +PSTC!$
c+HS1
2/ 6PQ9>R=@ABC8
2/4/ *A;SBTPTEU=
u (HOHI?vYCA[RG]PO`PCPEQ
AIa[C?CC
u !?\GRYRIh"?l]?d"m_
TjRCgESGEPj[CwEmm
\YE?FIWjR
u b_R?[RwCS?6RY
CxCE_YIJIVCSM_NHOH6Rs
AEVIJygz?_R{CEVvYc
I`C
2/2/ *A;SBB>V9B8G=
u 1KElRVA_REmmVjR
+ PO`PGPEQG"mG\YjR
+ 6TE["GY[CCI_
+ 6TE"m|[C?_A_T
u b_IKC
+ 6j_K[\DGE$EESMDmIJYYnA
+ 3Em[\DIdCAR?B
+ 6$AgE_?[_E
+ 9M_HVjI$"IhC
W/ X9B8OE=D>8O=9YE
u 6j_C`F[\DKPKREVK
u 3EmE$EEEE?FEVKCDmmF
u 9MCYE?FEVKHE$EEI_
!?„
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
LMc%
>J<=D4Mde*!*-!f
4/4/ /(
>+#)!YCAKPDmNHOy(HO>EEY…?HN?[{I
E?FCTEOx'?†GEoEZBYgE?`c?Z
?NHOIAGDmNHOC"mNHO
VIVII?"?BC%|%‡‡%&EOP‡
j)!…?HN?[GYCR_\Ej'?†ˆ>H+H?H?#H
y>+#{>+#)!IO"c6H‚Hy6‚{G
EoEZBYgE?`\J>+#)!OT[‰RZCIz?
Ox)!…?HN?[
*cIYCALEUYgE?`C'?†IhA
d?T[HuOHHbMYCCYgE?`SMDm
(NOHBXm~CJY?
+STj>+#)!YCMSDZ]?`SMDm?
(NC(HOrEoEWFADm?IM\
iIFc?(NCADm(HO[ C1lmYE
?CYC(HO6?YG.!'6?YGŠ
4/2/<ghQiT8[E
‹ZY
+ ‹ZYYC[ŒRFYcIC^n
+ ‹ZYBI•DCY?ZR_TI"
6$xZYYCgEEZYY]GR`I_
jAEV\
.]P?"$xZY
+ CgE$?`WEBXmGcGOP?`C[6+‹
+ 'A_]P?"6+‹…YHG‚H?G>HG++H?H?G•?YHG‹*%G
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
Hình 1.1: Sơ đồ tổng quan hình thức thanh toán NgânLượng.vn
1lIXC•cIAALMCIXU?,H?H
"IKijLgMCC•DlmUIF|•
EIA_OTEEER]ZKZ
BCBO?aT[P|[PMcSJA
!?“
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
>J<=D2M$s*"ttu
>o=Bv9>FOE9wE>[B>x=D
u 8VD|
+ 6D|B&
b|[^C
b|gE_
9HRPEQ
bhCC?\
!`[\PEQ
+ 6D|]P?"
P?"Y]I\PEQOa$PEQGYcP
EQGPEQGEPaPEQC•[`[\
PY^[COa[C?\G[C††YHG
CEME_GCTECI_
PY^I$OaI$OCI$gE
PY^COa]PY^MGMz??\G
EM]KCI|gE_
PY^`[\Oa]PY^•[`[\CEoE
`[\?_
uX^[\EPaKPEQGI|[^gR
uPY^RC[P
!?
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
2/2/2/8|E@}g~9Ig~
*FIa0HHD•]
Hình 2.1: Biểu đồ usecase mức tổng quát
Mô tả Usecase tổng quátD•
]G_%?YC
C[CD|
[
u >XmD|I|gEG]PY^PEQGmP
EQGI$G[CGCTEGMGEM]KG_[G
`[\
u eCXmD|I|[^CGI|gEGSH
RGIhCC`[\
b. #M?JOFIaHH]PY^PEQ
!?%
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
Hình 2.2: Biểu đồ usecase mức tổng quát
Mô tảB]P?"XmD
|]PY^PEQ?
EPI|gEG[I|gE
CRB]P?"IX
mD|]PY^PEQ
OaD|G
XGSPEQbF
D|XCSPEQG
!RsCIYYcC
$xZY+I_c
I$C??BE
[\EmIhC
!?}
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
2/2/W/8|E@}BEw=BV
*FIaVD|Lb|gEU
Hình 2.4: Biểu đồ tuần tự cho chức năng “Đăng nhập”
O*FIaVD|L!PEQU
Hình 2.5: Biểu đồ tuần tự cho chức năng “Thêm sản phẩm”
!?„
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
*FIaVD|L+XPEQU
Hình 2.6: Biểu đồ tuần tự cho chức năng “Sửa sản phẩm”
*FIaVD|L9PEQU
Hình 2.7 : Biểu đồ tuần tự cho chức năng “Xóa sản phẩm”
!?p
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
H*FIaVD|L!`[\PEQU
Hình 2.8 : Biểu đồ tuần tự cho chức năng “Tìm kiếm sản phẩm”
†*FIaVD|L!sCU
Hình 2.9 : Biểu đồ tuần tự cho chức năng “Thêm giỏ hàng”
!?’
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
*FIaVD|LXI$CU
’ #?H ?Zi
“ >–…
?ZD|]P?"_
%‡ >–‚YH ?Z]KI|gE_
!?%‡
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
@% y>k=>
Hình 2.12 : Mô hình R
!?%
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
>J<=DWMtt.ƒ
@ S9B:;„Bgx@8AE€>8|=@Jp9g…QX=D
@% >8mB€mD8IQ8[=
?jF"
Hình 3.1 : Giao diện trang chủ hiển thị
!?%%
()*+,!),-,!.,/012*3+4#.5'67!8! +490:!12
!.;<'=,+>1,!)91,/!>'
O ?\PEQ
Hình 3.2 : Giao diện trang chi tiết sản phẩm
@@ C8@SB†~‡g8B~
u'jCT`
+ 6#0#H,,,
+ ‚>'}%'
+ .‹‹’‡
u 8VEVK
+ .IKC(N9#
!.;<'=,+>1,!)91,/!>'
2/ EŠ=>Jp9@8|;
;IF
+ CvGMG Xm
+ !`[\ZYlSCYc
+ !I$PG
+ ._]P?" XmGYcC`[\lS
IF
+ eP|OPgvc\
+ !_IASXY^ZY_
W/ J•=D]>^BBl8|=
6TEA_`D?\Gz?[C_$
MTE_]P?"GYc?SXY^ZY
MTE_Y?ZZYE$GEmmZYY
MTE[P|T`IA
!?F[K[CVXmNHOHIFCO
PEQ
!?%}