Tải bản đầy đủ (.docx) (69 trang)

KHÓA LUẬN tốt NGHIỆP xây DỰNG hệ THỐNG THƯƠNG mại điện tử hỗ TRỢ KINH DOANH các PHỤ KIỆN, THIẾT bị điện THOẠI 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 (532.33 KB, 69 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN VIẾT HƯNG
LÊ VIỆT HỒNG

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ
KINH DOANH CÁC PHỤ KIỆN, THIẾT BỊ ĐIỆN THOẠI DI
ĐỘNG
KỸ SƯ CƠNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN VIẾT HƯNG - 16521572
LÊ VIỆT HỒNG - 16520434

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ HỖ
TRỢ KINH DOANH CÁC PHỤ KIỆN, THIẾT BỊ ĐIỆN
THOẠI DI ĐỘNG


Building an e-commerce system to support sales of mobile phone
accessories and equipment
KỸ SƯ CÔNG NGHỆ PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN

TS. NGUYỄN HÀ GIANG
ThS. NGUYỄN THỊ THANH TRÚC
TP. HỒ CHÍ MINH, 2021


1

THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. .............................................................. - Chủ tịch.
2. .............................................................. - Thư ký.
3................................................................- Ủy viên.
4................................................................- Ủy viên.
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
Độc Lập - Tự Do - Hạnh Phúc
TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TP. HCM, ngày…..tháng…..năm……..

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ HƯỚNG DẪN/PHẢN BIỆN)

Tên khóa luận:
XÂY DỰNG HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ KINH DOANH
CÁC PHỤ KIỆN, THIẾT BỊ ĐIỆN THOẠI
Nhóm SV thực hiện: Cán bộ hướng dẫn: Nguyễn Viết Hưng – 16521572 Ths. Nguyễn
Thị Thanh Trúc Lê Việt Hồng - 16520434
Đánh giá Khóa luận
2.1. Về cuốn báo cáo:
Số trang _______ Số chương _______ Số bảng số liệu _______ Số
hình vẽ _______
Số tài liệu tham khảo _______ Sản phẩm _______
Một số nhận xét về hình thức cuốn báo cáo:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
2.2. Về nội dung nghiên cứu:
………………………………………………………………………………………………


………………………………………………………………………………………………
………………………………………………………………………………………………
2.3. Về chương trình ứng dụng:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
2.4. Về thái độ làm việc của sinh viên:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/ cử
nhân, xếp loại Giỏi/ Khá/ Trung bình

Điểm từng sinh viên:
Nguyễn Viết Hưng:………../10
Lê Việt Hoàng:………../10
Người nhận xét (Ký tên và ghi rõ họ tên)
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

Độc Lập - Tự Do - Hạnh Phúc

TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TP. HCM, ngày…..tháng…..năm……..


NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ HƯỚNG DẪN/PHẢN BIỆN)
Tên khóa luận:
XÂY DỰNG HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ KINH DOANH
CÁC PHỤ KIỆN, THIẾT BỊ ĐIỆN THOẠI DI ĐỘNG
Nhóm SV thực hiện: Cán bộ phản biện: Nguyễn Viết Hưng - 16521572
Lê Việt Hồng - 16520434
Đánh giá Khóa luận
2.5. Về cuốn báo cáo:
Số trang _______ Số chương _______ Số bảng số liệu _______ Số
hình vẽ _______
Số tài liệu tham khảo _______ Sản phẩm _______
Một số nhận xét về hình thức cuốn báo cáo:
………………………………………………………………………………………………

………………………………………………………………………………………………
………………………………………………………………………………………………
2.6. Về nội dung nghiên cứu:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
2.7. Về chương trình ứng dụng:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
2.8. Về thái độ làm việc của sinh viên:
………………………………………………………………………………………………
………………………………………………………………………………………………


………………………………………………………………………………………………
Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/ cử
nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Nguyễn Viết Hưng:………../10
Lê Việt Hồng:………../10
Người nhận xét (Ký tên và ghi rõ họ tên)
ĐỀ CƯƠNG CHI TIẾT


TÊN ĐỀ TÀI: XÂY DỰNG HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ HỖ TRỢ
KINH DOANH CÁC PHỤ KIỆN, THIẾT BỊ ĐIỆN THOẠI DI ĐỘNG
TÊN ĐỀ TÀI (tiếng Anh): BUILDING AN E-COMMERCE SYSTEM TO
SUPPORT SALES OF MOBILE PHONE ACCESSORIES AND EQUIPMENT
Cán bộ hướng dẫn: TS. Nguyễn Hà Giang, ThS. Nguyễn Thị Thanh Trúc

Thời gian thực hiện: Từ ngày 1/3/2020 đến ngày 30/06/2021
Sinh viên thực hiện:
Nguyễn Viết Hưng - 16521572
Lê Việt Hoàng - 16520434
Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,
kết quả mong đợi của đề tài)
● Mục tiêu: Xây dựng một hệ thống website có giao diện và chức năng được thiết kế
dành riêng cho việc kinh doanh các các mặt hàng liên quan đến phụ kiện, thiết bị
điện thoại di động. Hệ thống có 3 thành phần (module) chính:
⮚ Chức năng đầy đủ của một trang web thương mại điện tử dành cho khách
hàng. ⮚ Chức năng quản lý việc kinh doanh, lập báo cáo theo thời gian, theo
dõi hoạt động của nhân viên dành cho các chủ cửa hàng.
⮚ Chức năng phân quyền, quản lý hệ thống dành cho admin.
Các chức năng phải được thực hiện đầy đủ nhằm phục vụ nhu cầu mua sắm online
các mặt hàng liên quan đến các phụ kiện, linh kiện điện thoại di động mà người
dùng yêu thích. Đồng thời, hệ thống gợi ý và bộ lọc tìm kiếm sản phẩm được thiết
kế chi tiết, rõ ràng, giúp người dùng dễ dàng tìm thấy sản phẩm dựa theo loại thiết
bị, hãng sản xuất.
● Phạm vi:


⮚ Phạm vi sản phẩm:Kinh doanh các sản phẩm liên quan đến điện thoại di
động, ví dụ như tai nghe, ốp lưng, sạc, cáp sạc.
⮚ Phạm vi hệ thống: hệ thống được xây dựng và vận hành trên nền tảng
website, chạy ở hệ điều hành Windows.
● Đối tượng: người dùng thích mua sắm online các phụ kiện điện thoại di động, đặc
biệt là lứa tuổi từ 20t-35t, và các cửa hàng bán lẻ, hộ kinh doanh nhỏ lẻ muốn kinh
doanh các mặt hàng như trên.
● Phương pháp thực hiện: làm việc với nhóm 02 thành viên, quản lý code trên
Github và theo dõi tiến độ công việc ở Trello, phân chia công việc phù hợp với

năng lực và kinh nghiệm của từng người, thực hiện khóa luận theo lượng cơng
việc và thời gian đã được lập kế hoạch chi tiết. Các vấn đề liên quan đến khóa
luận đều được trao đổi trực tiếp giữa các thành viên.
● Các công nghệ được sử dụng:
Front-end: HTML, CSS, Bootstrap
Back-end: .NET Framework
Hệ quản trị cơ sở dữ liệu: MSSQL
● Kết quả mong đợi:Hoàn thiện một website hoạt động tốt như một nền tảng thương
mại điện tử, kinh doanh các mặt hàng phụ kiện, linh kiện điện thoại di động, với
các chức năng chính đã được mô tả ở phần mục tiêu. Các chức năng được lập trình
hồn thiện, giao diện thân thiện, tinh gọn mang lại trải nghiệm tốt nhất cho người
dùng.
● Điểm mới so với các hệ thống hỗ trợ mua bán điện tử tương tự:
⮚ Sản phẩm: mới lạ, chuyên dụng bán các sản phẩm dành liên quan đến các
phụ kiện, linh kiện điện thoại di động, đáp ứng được nhu cầu và sở thích
của khách hàng thích trang trí và chăm sóc điện thoại.
⮚ Hệ thống vận hành: được xây dựng theo kiến trúc Microservices, tăng tính
hoạt động độc lập của từng chức năng, tránh việc sập máy chủ trong
trường hợp một trong các tính năng bị hỏng.
⮚ Hệ thống lập báo cáo chi tiết: Các nhà bán được hỗ trợ lập báo cáo doanh
thu chi tiết theo dõi doanh thu theo từng khung giờ trong ngày, từng ngày
trong tuần, theo tháng, năm. Dựa vào báo cáo, người bán có thể nắm bắt
được thời điểm và vị trí mà lượng mua sắm của khách hàng đạt đỉnh điểm,
từ đó đưa ra chiến lược kinh doanh phù hợp.
Quản lý phân quyền: các chủ cửa hàng có thể phân quyền rõ ràng cho mỗi nhân viên (ví
dụ như: nhân viên bán hàng được phép xem sản phẩm nhưng không được cập nhật số
lượng),


mỗi hành động, thao tác của mỗi nhân viên được ghi lại đầy đủ để người bán có thể theo

dõi và kịp thời ngăn chặn những hành động ảnh hưởng không tốt đến việc kinh doanh cửa
hàng.

Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân chia công việc các thành viên
tham gia)
Với thời gian thực hiện từ 01/03/2021 đến 26/06/2021, nhóm chia thành 6 sprint với 2 giai
đoạn cụ thể:
- Giai đoạn 1: Khảo sát hiện trạng, tìm hiểu các ứng dụng có trên thị trường, tìm hiểu
cơng nghệ sử dụng, phân tích thiết kế hệ thống:
+ Sprint 1: Chọn đề tài, khảo sát các ứng dụng hiện có.
+ Sprint 2: Tìm hiểu nghiệp vụ và thiết kế giao diện ứng dụng.
+ Sprint 3: Xác định và đặc tả tính năng.
+ Sprint 4: Tìm hiểu cơng nghệ được xác định trong đề tài.

Sprint Thời gian Công việc
1 01/03/2021 - 07/03/2021 Lên ý tưởng đề tài.
Khảo sát hiện trạng.
Lựa chọn cơng nghệ sử dụng.
2 08/03/2021 - 14/03/2021 Tìm hiểu quy trình nghiệp vụ của ứng dung.
Thiết kế wireframes.
3 15/03/2021 - 22/03/2021 Đặc tả chức năng.
Xây dựng cơ sở dữ liệu.
Vẽ Use Case
4 23/03/2021 - 07/04/2021 Tìm hiểu .Net Framework.
Tìm hiểu Repository Partten

- Giai đoạn 2: Hồn thành ứng dụng và kiểm thử. Viết báo cáo đề tài. + Sprint 5:
Xây dựng hệ thống e-commerce, xây dựng hệ thống khuyến nghị. + Sprint
6: Hoàn thành sản phẩm.



Sprint
5

6

Thời gian

Công việc

08/04/2021 13/06/2021

Xây dựng hệ thống e-commerce
(các services, giao diện phía
client).

14/06/2021 - 26/06/2021

Hồn thành báo cáo.
Deploy ứng dụng.

Xác nhận của CBHD

TP. HCM, ngày..... tháng…..năm 2021

(Ký tên và ghi rõ họ tên)

Sinh viên 1
(Ký tên và ghi rõ họ tên)


Nguyễn Viết Hưng
Sinh viên 2
(Ký tên và ghi rõ họ tên)

Lê Việt Hoàng

LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn ban giám hiệu nhà trường, các thầy cô của
Trường Đại học Cơng Nghệ Thơng Tin nói chung và các thầy cơ trực thuộc khoa Cơng Nghệ
Phần Mềm nói riêng, những người ln tận tình dạy hỗ, truyền đạt cho em nhiều kiến thức
mới mẻ và bổ ích trong suốt thời gian mà em theo học tại trường.
Đặc biệt, em xin gửi đến cô Nguyễn Thị Thanh Trúc và cô Nguyễn Hà Giang lời cảm
ơn chân thành và sâu sắc nhất. Cảm ơn thầy cơ vì đã tận tình chỉ bảo, hướng dẫn và chia sẻ
nhiều kinh nghiệm quý báu trong suốt những ngày em làm luận văn. Nếu khơng được thầy cơ
quan tâm, khơng có những lời góp ý dẫn của thầy cơ thì nhóm em đã khơng thể hồn thành
khố luận tốt nghiệp một cách trọn vẹn được.
Đồng thời, chúng em cũng muốn được thể hiện lòng biết ơn của mình đến các bạn


cùng lớp làm khoá luận, các anh chị đồng nghiệp đã luôn động viên, giúp đỡ và đưa ra những
ý kiến đóng góp vơ cùng bổ ích. Nhờ có những góp ý từ mọi người mà em có thể nhận ra
những mặt hạn chế còn tồn tại trong bài luận của mình để từ đó cố gắng hồn thiện nó một
cách tốt nhất có thể.
Trong suốt q trình làm khố luận em luôn cố gắng làm mọi thứ thật tốt. Tuy nhiên
có thể vẫn sẽ khơng tránh khỏi những sai sót. Vì vậy em rất mong nhận được thật nhiều
những lời góp ý q giá từ phía thầy cơ, bạn bè và tất cả mọi người quan tâm đến bài luận
của em.
Sau cùng, em xin kính chúc tồn thể q thầy cô thật nhiều sức khoẻ, nhiệt huyết và
luôn thành cơng trong sự nghiệp giảng dạy của mình.
TP. Hồ Chí Minh, tháng 06 năm 2021

Sinh viên thực hiện
Nguyễn Viết Hưng
Lê Việt Hoàng

11
MỤC LỤC
CHƯƠNG 1.TỔNG QUAN ĐỀ TÀI 1
1.1. Giới thiệu đề tài.................................................................................................... 1 1.2.
Lý do chọn đề tài .................................................................................................. 1 1.3.
Mục tiêu ................................................................................................................ 1 1.4.
Phương pháp thực hiện ....................................................................................... 2 1.5. Ý
nghĩa thực tiễn.................................................................................................. 2 1.6. Kết
quả dự kiến.................................................................................................... 2
CHƯƠNG 2.TÌM HIỂU CÁC CƠNG NGHỆ ỨNG DỤNG TRONG ĐỀ TÀI 4
2.1. Tìm hiểu ASP.NET MVC.................................................................................... 4
2.1.1. Giới thiệu ASP.NET...................................................................................... 4
2.1.2. ASP.NET MVC.............................................................................................. 5
2.1.3. Lịch sử phát triển ASP.NET MVC.............................................................. 7
2.1.4. Ưu nhược điểm của ASP.NET ..................................................................... 9
2.2. Microsoft SQL Server........................................................................................ 10
2.2.1. Giới thiệu...................................................................................................... 10
2.2.2. Ứng dụng vào đề tài .................................................................................... 13


2.3. Repository Pattern ............................................................................................. 13
2.3.1. Giới thiệu...................................................................................................... 13
2.3.2. Ứng dụng vào đề tài .................................................................................... 14
2.4. jQuery ................................................................................................................. 14
2.4.1. Giới thiệu...................................................................................................... 14
2.4.2. Ứng dụng vào đề tài .................................................................................... 16

2.5. Ajax ..................................................................................................................... 16
2.5.1. Giới thiệu...................................................................................................... 16
2.5.2. Ứng dụng vào đề tài .................................................................................... 17
2.6. Crystal Reports .................................................................................................. 17
2.6.1. Giới thiệu...................................................................................................... 17
2.6.2. Đặc điểm của Crystal Reports .................................................................. 18
2.6.3. Ứng dụng vào đề tài .................................................................................... 18
CHƯƠNG 3.YÊU CẦU ỨNG DỤNG 19
3.1. Nghiệp vụ Quản lý ............................................................................................. 19
3.1.1. Sơ đồ tổ chức................................................................................................ 19
3.1.3. Danh sách các yêu cầu ................................................................................ 22
3.1.4. Danh sách các biểu mẫu ............................................................................. 22
3.1.5. Sơ đồ Usecase Admin .................................................................................. 29
3.2. Nghiệp vụ Khách hàng ...................................................................................... 29
3.2.1. Sơ đồ Usecase Khách hàng ......................................................................... 29
3.2.2. Chức năng Khách hàng .............................................................................. 30
CHƯƠNG 4.XÂY DỰNG ỨNG DỤNG 31
4.1. Thiết kế dữ liệu................................................................................................... 31
4.1.1. Sơ đồ logic .................................................................................................... 31
4.1.2. Mô tả chi tiết các bảng ................................................................................ 31
4.2. Thiết kế kiến trúc ............................................................................................... 40
4.2.1.

Framework...................................................................................................

40

4.2.2. Mơ hình kiến trúc hệ thống ........................................................................ 40
4.2.3. Mô tả chi tiết thành phần trong hệ thống ................................................. 41
4.3. Thiết kế giao diện............................................................................................... 43

4.3.1. Danh sách các giao diện.............................................................................. 43
4.3.2. Chi tiết các màn hình .................................................................................. 45
CHƯƠNG 5.TỔNG KẾT 88
5.1. Kết quả đạt được................................................................................................ 88 5.2.
Thuận lợi và khó khăn....................................................................................... 88


5.2.1. Thuận lợi ...................................................................................................... 88 5.2.2.
Khó khăn...................................................................................................... 88 5.3. Hướng
phát triển................................................................................................ 88
TÓM TẮT KHÓA LUẬN
– Tổng quan đề tài: đặt vấn đề, lý do chọn đề tài và mục tiêu dự kiến.
– Nghiên cứu về các công nghệ sẽ sử dụng để thực hiện đề tài: Repository Pattern, .Net
Framework, mô hình MVC, …
– Tìm hiểu về nhu cầu của người dùng.
– Nghiên cứu các ứng dụng của các cửa hàng bán điện thoại trên thị trường. –
Đưa ra các giải pháp để giải quyết những khó khăn đó.
– Xây dựng ứng dụng đặt hàng, phân tích các use case, tính năng cần có cho ứng dụng. –
Thiết kế kiến trúc hệ thống, thiết kế cơ sở dữ liệu và giao diện cho ứng dụng di động –
Triển khai ứng dụng lên server.
– Tổng hợp kết quả đã đạt được, phân tích thuận lời và khó khăn cũng như đề ra hướng phát
triển trong tương lai cho ứng dụng.
CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI
1.1. Giới thiệu đề tài
Ngày nay smartphone rất phổ biến nên có rất nhiều của hàng điện thoại di động mọc
lên với nhiều quy mô khác nhau. Trong mỗi cửa hàng đều có một cách kinh doanh
riêng tuy nhiên về các nghiệp vụ tương đối giống nhau (nhập kho, xuất kho, quản lý
sản phẩm, báo cáo,...). Các thao tác đề làm trên giấy nên việc sai sót, mất mát dữ liệu
và khơng mang tính tập trung là điều hiểu nhiên. Với quy mô nhỏ như vậy, các cửa
hàng thường chỉ đầu tư về cửa hàng, mặt bằng nên khách hàng thường phải đến tận

cửa hàng để xem sản phẩm, mua bán theo hình thức truyền thống.
1.2.Lý do chọn đề tài
Nắm bắt yêu cầu này nhóm đã lên kế hoạch xây dựng một ứng dụng quản lý cửa
hàng và ứng dụng bán điện thoại di động, trưng bày sản phẩm nhằm đáp ứng những
nghiệp vụ cơ bản của các cửa hàng, đáp ứng nhu cầu tiện lợi cho khách hàng, khách
hàng có thể xem các mặt hàng trước trên website, tiến hành đặt hàng.
Nếu dự án hoàn thành, sản phẩm sẽ được quản lý dễ dàng và chặc chẽ hơn, các cơng
việc sẽ hồn thanh nhanh chóng hơn. Nâng cao hiệu suất cho người quản lý, tăng tính
trải nghiệm cho người mua hàng.
Đây là lý do nhóm chọn đề tài khóa luận tốt nghiệp là “Xây dựng hệ thống thương


mại điện tử hỗ trợ kinh doanh các phụ kiện, thiết bị điện thoại di động”. 1.3. Mục tiêu
Đây là một dự án không quá nhỏ nên việc xác định tính khả thi của nó rất cần thiết: Tốc độ phổ biến của smartphone nhanh đến chóng mặt nên rất nhiều người đặt
chân vào kinh doanh thị trường này.
- Nếu trước kia các cửa hàng tốn nhiều thời gian cho các cơng đoạn thanh tốn,
quản lý sản phẩm,... thì nay đã có phần mềm hỗ trợ.
- Theo quy mơ cũ, khách hàng phải đến tận cửa hàng mới thấy được thiết bị, xem
đánh giá, cấu hình, ... thì nay đã có website, khách hàng có thể cân nhắc,

1
lựa chọn các sản phẩm ưng ý trước, giúp trải nghiệm mua sắm tốt hơn và
nhanh hơn đáng kể.
1.4. Phương pháp thực hiện
Thực hiện đề tài theo các bước:
- Phân tích đề tài.
- Tham khảo các ứng dụng tương tự hiện có trên thị trường.
- Nghiên cứu các công nghệ để áp dụng.
- Phát triển ứng dụng.
- Đưa cho một số người dùng sử dụng thử để lấy ý kiến phản hồi. Kiểm thử và hồn thiện ứng dụng.

Những cơng nghệ được sử dụng:
o Front-end:
• HTML, CSS
• Razor
• Bootstrap
o Back-end:
• .Net Framework
• Repository Pattern
• MSSQL
• ASP.MVC
1.5. Ý nghĩa thực tiễn
Tạo ra một ứng dụng lớn dành cho các chuỗi cửa hàng dịch vụ bán lẻ phụ kiện, điện


thoại di động, người dùng có thể đặt hàng online thông qua ứng dụng. 1.6. Kết quả dự
kiến
o Nắm được các kiến thức .Net Framework, MVC
o Hiểu rõ về các khái niệm, cách thức hoạt động của Repository Pattern o Áp
dụng tất cả kiến thức tìm hiểu được xây dựng ứng dụng thương mại điện tử với
các tính năng chính:
• Xem các sản phẩm, chi tiết sản phẩm •
Thêm sản phẩm vào giỏ hàng • Đặt hàng
• Quản lý cửa hàng
• Báo cáo thống kê
CHƯƠNG 2. TÌM HIỂU CÁC CƠNG NGHỆ ỨNG DỤNG TRONG ĐỀ TÀI 2.1.Tìm
hiểu ASP.NET MVC
2.1.1. Giới thiệu ASP.NET

Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với
tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, khơng

những khơng cần địi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó cịn
hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển
ứng dụng Web.
ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server
side) dựa trên nền tảng của Microsoft .Net Framework.
Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ
thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style
Sheets). Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật
client-side), Web server tìm trang web mà Client u cầu, sau đó gởi về cho


Client. Client nhận kết quả trả về từ Server và hiển thị lên màn hình.
ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hồn tồn khác, mã lệnh ở
phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại
Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động
được chuyển sang HTML/JavaScript/CSS và trả về cho Client. Tất cả các xử
lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình
ở phía server.
2.1.2. ASP.NET MVC

M
ơ hình MVC (viết tắt chữ cái đầu của 3 từ Model - View - Controller) là một kiến
trúc phần mềm hay mơ hình thiết kế được sử dụng trong kỹ thuật phần mềm (đặc
biệt đối với phát triển ứng dụng web). Nó giúp cho tổ chức ứng dụng (phân bố
source code ứng dụng) thành 3 phần khác nhau Model, View và Controller. Mỗi
thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.
Model: là các thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý,
truy xuất CSDL, đối tượng mô tả dữ liệu như các Class, hàm xử lý... Model được
giao nhiệm vụ cung cấp dữ liệu cho CSDL và lưu dữ liệu vào các kho chứa dữ
liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào từ

người dùng sẽ thông qua View để kiểm tra ở Model trước khi lưu vào cơ sở dữ
liệu. Việc truy xuất, xác nhận và lưu dữ liệu là một phần của Model.
View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao
nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gởi đi các yêu cầu người
dùng đến bộ điều khiển (Controller), sau đó là nhận lại các phản hồi từ bộ điều
khiển và hiển thị kết quả cho người dùng. Các trang HTML, JSP, các thư viện
thể và các file nguồn là một phần của View.
Controller: Controller là tầng trung gian giữa Model và View. Controller được
giao nhiệm vụ nhận các yêu cầu từ người dùng (phía máy khách). Một yêu cầu


được nhận từ máy khách được thực hiện bởi một chức năng logic thích hợp từ
thành phần Model và sau đó sinh ra các kết quả cho người dùng và được thành
phần View hiển thị. ActionServlet, Action, ActionForm, struts-config.xml là các
thành phần của Controller.
Một ứng dụng web được phát triển theo mơ hình MVC, có ngun lý hoạt động
xử lý yêu cầu của người dùng như sau:
- Khi có yêu cầu phát sinh từ người dùng (phía Client), yêu cầu này sẽ
được gởi đến phía Server, tại đây Contronler sẽ tiếp nhận yêu cầu để xử

- Bên trong Controller chứa nhiều phương thức (action), mỗi action tương
ứng với 1 yêu cầu cụ thể từ người dùng. Controller sẽ lựa chọn action
phù hợp với yêu cầu để xử lý. trong quá trình xử lý, Controller tương
tác với Model để có được dữ liệu mà người dùng mong muốn.
Sau khi Controller làm việc với model để có được dữ liệu theo yêu cầu, Controller
sẽ gởi về cho View thành phần Data Model, và nhiệm vụ của View sẽ chuyển Data
Model nhận được thành dữ liệu ứng dụng và gởi trả về phía Client để hiển thị kết
quả yêu cầu.
Các thành phần này giao tiếp với nhau nhằm xử lý yêu cầu cảu ứng dụng
ASP.NET MVC. Quá trình xử lý yêu cầu thường liên quan tới một chuỗi các xử lý,

mỗi xử lý sẽ được một component trong ASP.NET đảm nhiệm.

(1) Trình duyệt gửi yêu cầu của ứng dụng ASP.NET MVC
(2) MVC Engine chuyển yêu cầu tới cho Routing engine
(3) Routing engine kiểm tra cấu hình điều hướng (route configuration) của ứng
dụng nhằm chuyển đến các Controller phù hợp với yêu cầu
(4) Khi Controller được tìm thấy, control này sẽ được thực thi
(5) Nếu Controller khơng được tìm thấy, bộ điều hướng sẽ chỉ ra rằng Controller
khơng được tìm thấy và MVC Engine sẽ thơng báo lỗi cho trình duyệt


(6) Controller giao tiếp với Model, tầng Model đại diện cho các Entity bên trong
hệ thống, Controller làm việc với tầng Model để lấy thông tin cần cho người dùng
(7) Controller yêu cầu View engine hiển thị thông tin dựa trên dữ liệu của tầng
Model
(8) View Engine trả kết quả cho Controller
(9) Controller gửi kết quả cho trinh duyệt thông qua giao thức Http
2.1.3. Lịch sử phát triển ASP.NET MVC
2.1.3.1. ASP.NET 1.0
Phiên bản đầu tiên được phát hành vào tháng 3 năm 2009 trên nền tảng
bộ .Net Framework 3.5 bộ Visual Studio 2008.
2.1.3.2. ASP.NET 2.0
Phiên bản này được phát hành vào tháng 3 năm 2010 trên bộ .Net
Framework 3.5 và .Net Framework 4.0 bộ Visual Studio 2010. 2.1.3.3. ASP.NET
MVC 3

Phiên bản này được phát hành vào tháng 1 năm 2011 trên nền tảng bộ .Net
Framework 4.0, các đặc điểm chính của phiên bản này là:
- Hỗ trợ thêm HTML5 và CSS3
- Cải thiện về Model validation

- Hỗ trợ 2 View Engine: Razor, aspx
- Controller cải tiến thêm như ViewBag, ActionResult
- Cải thiện Dependency Injection
2.1.3.4. ASP.NET 4.0

Phiên bản này được phát hành vào tháng 8 năm 2012 trên nền tảng bộ .Net


Framework 4.0 và .Net Framework 4.5 trên phiên bản Visual Studio 2010
SP1 và Visual Studio 2012. Phiên bản này có những đặc điểm như sau:
- ASP.NET Web API ra đời, đơn giản hóa việc lập trình với HTML, cải tiến
mới thay thế cho WCF Web API
- Cải thiện về bố trí
- Kiểm sốt Bundling và Minification thơng qua Web.config
- Hỗ trợ việc đăng nhập Oauth vào OpenID
- Hỗ trợ Asynchrnous Controller
2.1.3.5. ASP.NET MVC 5

Phiên bản này được phát hành vào tháng 10 năm 2013 trên nền tảng
bộ .Net Framework 4.5 và .Net Framework 4.5.1 trên phiên bản Visual
Studio 2013.
ASP.NET MVC5 giúp cho chúng ta có thể tạo được các ứng dụng web áp
dụng mơ hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm.
Nền tảng ASP.NET MVC có đặc điểm nổi bật là nhẹ (lightweight), dễ kiểm
thử phần giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có
sẵn của ASP.NET. Nền tảng ASP.NET MVC được định nghĩa

trong

namespace System.Web.MVC và là một phần của name space System.Web.

MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã
quen thuộc
2.1.4. Ưu nhược điểm của ASP.NET
2.1.4.1. So sánh với Java
Java luông được biết đến là ngơn ngữ lập trình có độ bảo mật cao, tuy nhiên
Java lại có chi phí cao hơn khá nhiều so với ASP.NET nên không được sử
dụng phổ biến bằng.
Với ASP.NET, ưu điểm khi so sánh với Java là chi phí thấp hơn. Ngồi ra,
với thời điểm ra đời muộn hơn nên ASP.NET đã kế thừa và khắc phụ những
nhược điểm của Java để trở nên hoàn thiện hơn, tối ưu hơn.
2.1.4.2. So sánh với PHP
PHP sở hữu nhiều ưu điểm nên cũng có cộng đồng người dùng khá đơng


đảo, miễn phí chính là ưu điểm lớn nhất của ngơn ngữ lập trình này.
Khi so sánh với ASP.NET, PHP khơng được đánh giá cao vì do được cung
cấp miễn phí nên PHP khơng được đầu tư phát triển tốt hơn. Ngoài ra, với
bản chất là một loại mã nguồn mở cho nên độ bảo mật của PHP cũng không
được đảm bảo.
2.1.4.3. Ưu điểm của ASP.NET
ASP.NET có bộ thư viện đa dạng, được cung cấp bởi .NET Framework nên
có nhiều ưu điểm nổi bật.
Các website được lập trình với ASP.NET thường hoạt động ổn định, có tốc
độ tải trang tốt.
Khả năng tùy biến cao, website có thể dễ dàng tương thích với các kích
thước màn hình, thiết bị truy cập khác nhau.
Do được kế thừa từ Java nên độ bảo mật của ASP.NET được các chuyên gia
trong ngành đánh giá cao.
2.1.4.4. Nhược điểm của ASP.NET
Khơng được cung cấp miễn phí. Nếu khơng có Visual Studio thì rất khó để

nhà phát triển có thể tiếp cận.
Khơng có hỗ trợ cho các thiết bị sử dụng hệ điều hành Linux
2.2. Microsoft SQL Server
2.2.1. Giới thiệu


Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS – Relational
Database Managerment System), được phát triển và tiếp thị bởi Microsoft. SQL
Tương tự các phần mềm RDBMS khác, SQL Server được xây dựng trên SQL là
ngơn ngữ truy vấn dữ liệu, có thể tương tác với các cơ sở dữ liệu quan hệ. SQL
Server được liên kết với Transact-SQL hoặc T-SQL, Microsoft đã bổ
sung một bộ cấu trúc lập trình độc quyền khi triển khai SQL SQL Server chỉ hoạt
động trên môi trường Windowns trong hơn 20 năm. Năm 2016, Microsoft đã
cung cấp nó trên Linux. SQL Server 2017 được phát hành vào tháng 10 năm
2016, chạy được trên cả Windows và Linux.


SQL Server bao gồm hai thành phần chính:
- Database Engine: Là phần cốt lõi của SQL Server. Công cụ cơ sở dữ liệu
bao gồm một Công cụ quan hệ (Relational Engine) để xử lý các truy
vấn và Công cụ lưu trữ (Strorage Engine) để quản lý các file cơ s ở dữ
liệu. Các đối tượng Stored procedure, View, Trigger cũng được tạo bởi
Cơng cụ cơ sở dữ liệu.
• Cơng cụ quan hệ (Relational Engine) chứa các thành phần xác
định cách tốt nhất để thực hiện truy vấn. Công cụ quan hệ còn
được gọi là bộ xử lý truy vấn (query processor)
• Cơng cụ lưu trữ (Storage Engine) chịu trách nhiệm lưu trữ và truy
xuất dữ liệu các hệ thống lưu trữ như ổ đĩa và SAN
- SQLOS: Hệ điều hành SQL Server, cung cấp nhiều dịch vụ như bộ nhớ
và quản lí I/O, xử lý ngoại lệ và đồng bộ hóa.

Microsoft cung cấp cả cơng cụ quản lý dữ liệu, công cụ nghiệp vụ thông minh
(BI – Business Intelligence) và các dịch vụ khác cùng với SQL Server.
Để quản lý dữ liệu, SQL Server bao gồm SQL Server Integration Services
(SSIS), SQL Server Data Quality Services và SQL Server Master Data
Services.
Để phát triển, SQL Server cung cấp các công cụ dữ liệu SQL Server Data
tools.
Để quản lý, triển khai và giám sát CSDL SQL Server có SQL Server
Management Studio (SSMS)
Để phần tích dữ liệu, SQL Server cũng cấp dịch vụ phân tích SQL Server
Analysis Services (SSAS)
2.2.2. Ứng dụng vào đề tài
Sử dụng MySQL làm hệ quản trị CSDL cho các services lữu trữ thơng tin.
2.3. Repository Pattern
2.3.1. Giới thiệu
Thơng thường thì các phần truy xuất, giao tiếp với database năm rải rác ở trong
code, khi bạn muốn thực hiện một thao tác lên database thì phải tìm trong code
cũng như tìm các thuộc tính trong bảng để xử lý. Điều này gây lãng phí thời gian
và cơng sức rất nhiều.
Với Repository design pattern, thì việc thay đổi ở code sẽ khơng ảnh hưởng quá


nhiều cơng sức chúng ra chỉnh sửa.
Một vài lí do ta nên sử dụng Repository Pattern:
- Một duy nhất để thay đổi quyền truy cập dữ liệu cũng như xử lý dữ liệu.
- Một người duy nhất chịu trách nhiệm cho việc ánh xạ các bảng thành đối
tượng.
- Tăng tính bảo mật và rõ ràng ràng buộc cho code.
- Rất dễ dàng để thay thế một Repository với một implementation giả cho
việc testing, vì vậy bạn khơng cần chuẩn bị một cơ sở dữ liệu có

sẵn.

2.3.2. Ứng dụng vào đề tài
Repository Pattern là lớp trung gian giữa tầng Business Logic và Data Access,
giúp cho việc truy cập dữ liệu chặt chẽ hơn và bảo mật hơn.
Repository đóng vai trong là một lớp kết nối giữa tầng Business và Model của
ứng dụng.
2.4.jQuery
2.4.1. Giới thiệu

Là thư


viện mã nguồn mở viết bằng ngôn ngữ javascript, giúp đơn giản cách viết
javascript và tăng tốc độ xử lý các xự kiện trên trang web. Phát hành vào tháng 1
năm 2006 tại BarCamp NYC bởi John Resig. Được sử dụng bởi hơn 52% trong
10.000 truy cập nhiều nhất các trang web. Jquery khơng những có thể thay đổi
giao diện(CSS) mà cịn có thể thay đổi nội dung trang bên trong trang web.
Ưu điểm của jQuery:
- Dễ sử dụng: Dễ dàng sử dụng so với nhiều thư viện javascript khác bởi cú
pháp đơn giản.
- Là thư viện lớn của javascript: Thực thi được nhiều chức năng hơn so với
các thư viện javascirpt khác.
- Cộng đồng mã nguồn mở mạnh mẽ: jQuery có sẵn hàng trăm plugin được
viết sẵn để tài về ngay lập tức, đẩy nhanh quá trình viết code của các
bạn.
- Có nhiều tài liệu hướng dẫn và chi tiết
- Hỗ trợ ajax
Nhược điểm của jQuery:
- Làm client trở nên chậm chạp: client phải xử lý thêm nhiều chức năng

được tạo thành từ Jquery, làm cho client trở nên chậm chạp.
- Chức năng có thể khơng có: Jquery có rất nhiều tính năng tùy thuộc vào
yêu cầu, nhưng nhiều chức năng vẫn chưa được phát triển, do đó phải tự
sử dụng javascript để xây dựng chức năng mong muốn.
2.4.2. Ứng dụng vào đề tài
Sử dụng jQuery để tạo gọi Ajax và một vài chức năng cần thiết trong đề tài.
2.5. Ajax
2.5.1. Giới thiệu


AJAX - "Asynchronous JavaScript and XML" - là một bộ công cụ cho phép load
dữ liệu từ server mà không yêu cầu tải lại trang. Nó sử dụng chức năng sẵn có
XMLHttpRequest(XHR) của trình duyệt để thực hiện một u cầu đến server và
xử lý dữ liệu server trả về.
jQuery cung cấp method $.ajax và một số methods tiện lợi giúp bạn làm việc với
XHRs thơng qua trình duyệt một cách dễ dàng hơn.
Một số phương thức cơ bản:
- Phương thức jQuery load(): Lấy dữ liệu từ server và trả dữ liệu cho phần
tử được chọn.
o Cú pháp: $(selector).load(URL,data,callback);
o URL: mà bạn muốn lấy dữ liệu
o Data: cặp key:value gửi đi cùng với yêu cầu
o Callback: tên của hàm sẽ được thực thi sau khi phương thức load
hoàn thành.
- Phương thức Post trong jQuery Ajax: Lấy dữ liệu từ server bằng phương
thức HTTP POST REQUEST
o Cú pháp: $
(selector).post(URL,data,function(data,status,xhr),dataType)
o URL: required, đường dẫn đến file cần lấy thông tin
o Data: không bắt buộc, là một đối tượng object gồm các key:value

gửi lên server
o Function(data, status, xhr): là function sẽ xử lý khi thực hiện thành
công với các parameters
- Phương thức Get trong jQuery Ajax: Lấy dữ liệu từ server bằng phương
thức HTTP GET
o Cú pháp: $.get(URL,data,function(data,status,xhr),dataType)
o Tham số đầu tiên của $.get() là URL file nhận request.
o Tham số thứ hai là một function call back, tham số callback đầu tiên
data lưu nội dung của các trang yêu cầu, tham số thứ hai status giữ
trạng thái của yêu cầu. Sau khi request được trả v ề status là


×