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

Website quản lý cửa hàng thức ăn nhanh (đồ án SE121 l21 PMCL)

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 (10.79 MB, 101 trang )

Trang 1


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
......................., ngày ............. tháng ………. năm 2021
Người nhận xét
(Ký tên và ghi rõ họ tên)

Trang 2


LỜI CẢM ƠN
Trong quá trình làm bài báo cáo, em đã nhận được sự giúp đỡ,
đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cơ, gia đình và bạn bè.
Em xin gửi lời cảm ơn chân thành đến cô Thái Thụy Hàn Uyển giảng viên khoa Công nghệ phần mềm - Trường ĐH CNTT- ĐHQG Tp
HCM người đã tận tình hướng dẫn, góp ý và chỉ bảo em trong suốt q
trình làm báo cáo.


Ngồi ra, em cũng xin gửi lời cảm ơn đến những thầy cô giáo
trong trường ĐH CNTT- ĐHQG Tp HCM nói chung, các thầy cơ trong
Khoa Cơng nghệ phần mềm nói riêng đã dạy dỗ cho em kiến thức về lập
trình, qua đó em có được cơ sở lý thuyết vững vàng và từ đó hoàn thành
tốt đồ án.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã ln tạo
điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình hồn
thành đồ án.

Thành phố Hồ Chí Minh, ngày 11 tháng 6 năm 2021

Trang 3


MỤC LỤC

I. MỞ ĐẦU
1. Lí do chọn đề tài:
2. Đặt vấn đề:
3. Mục đích của website
3.1. Đối tượng của website
3.2. Đặc điểm:
4. Đối tượng nghiên cứu
5. Phạm vi nghiên cứu
6. Phương phát nghiên cứu:
II. TỔNG QUAN
1. Phân tích đánh giá hướng nghiên cứu của các tác giả khác (Now,
GrabFood, Baemin, Go-Food)
1.1 Những hướng nghiên cứu chính về vấn đề của đề tài
1.2 Những phương pháp nghiên cứu đã được sử dụng

1.3 Kết quả đạt được:
2. Hạn chế của các nghiên cứu trước
2.1 Now:
2.2 GrabFood:
2.3 Go-Food
2.4 Baemin
3. Tóm tắt so sánh về kết quả và hạn chế của các nghiên cứu trước
4. Các vấn đề cần tập trung nghiên cứu và giải quyết của đề tài
III. CÔNG NGHỆ
1. ASP .NET
1.1 Khái niệm

8
8
9
9
9
10
12
12
12
13
13
13
14
14
17
17
17
18

18
19
19
20
20
21

Trang 4


1.2 Cấu trúc của .NET framework
21
1.3 Một số đặc điểm của ASP .NET framework:
22
2. Công nghệ ASP .NET Webforms
23
2.1. Thuật ngữ:
23
2.2. Sự khác nhau giữa ASP .NET Webforms và ASP .NET MVC
24
2.3. Thuật tốn sử dụng:
26
2.4. Lý do:
36
3. Cơng cụ thiết kế giao diện (Bootstrap)
36
3.1 Giới thiệu
36
3.2 Lịch sử phát triển của Bootstrap
37

3.3 Lý do sử dụng Bootstrap
37
3.4 Cấu trúc và tính năng của Bootstrap
38
3.5 Bootstrap 4 Grid System
39
3.5 Cài đặt Bootstrap và áp dụng
40
4. Công cụ phát triển (Visual Studio)
44
4.1 Giới thiệu:
44
4.2 Một số tính năng:
44
4.3 Lý do chọn Viusal Studio
46
5. Công cụ thiết kệ cơ sở dữ liệu (SQL Server)
46
5.1 Giới thiệu:
46
5.2 Lịch sử phát triển:
46
5.3 Các ấn bảng của SQL Server:
47
5.4 Đặc điểm của SQL Server:
48
5.5 Thành phần cơ bản của SQL Server
48
5.6 Lý do sử dụng SQL server trong thiết kế Web
49

IV. PHÂN TÍCH
51
1.Class Diagram:
51
Trang 5


1.1 Sơ đồ lớp:
1.2 Danh sách các lớp đối tượng và quan hệ
1.3 Mô tả chi tiết lớp đối tượng
2. UseCase Diagram
2.1 Các tác nhân của hệ thống
2.2 Các chức năng của hệ thống
2.3 Sơ đồ UseCase Customer
2.4 Sơ đồ UseCase Admin
2.5 Đặc tả UseCase:
3. State Diagram
4. Biểu đồ hoạt động (activity diagram)
4.1 Đăng ký:
4.2 Đăng nhập:
4.3 Sửa thông tin
4.4 Quản lý thành viên
4.5 Quản lý sản phẩm
4.6 Quản lý đặt hàng
5. Biểu đồ tuần tự (sequence diagram)
5.1 Đăng ký:
5.2 Đăng nhập:
5.3 Sửa thông tin
5.4 Quản lý thành viên
5.5 Quản lý sản phẩm

5.6 Quản lý đặt hàng
6. Biểu đồ giao tiếp (communication diagram)
6.1 Đăng ký:
6.2 Đăng nhập:

51
52
53
54
55
55
57
58
59
72
73
74
74
74
75
75
76
77
77
77
78
78
79
79
80

80
80
Trang 6


6.3 Sửa thông tin
6.4 Quản lý thành viên
6.5 Quản lý sản phẩm
6.6 Quản lý đặt hàng
V. THIẾT KẾ
1. Thiết kế giao diện.
1.1. Giao diện Home:
1.2. Login:
1.3. Đăng ký (Register)
1.4. Giao diện người dùng (User):
1.5. Giao diện người quản lí (Admin):
2.Thiết kế dữ liệu
2.1 Sơ đồ logic:
2.2 Mô tả chi tiết các kiểu dữ liệu trong sơ đồ logic
VI. KẾT LUẬN
7.1 Môi trường phát triển:
7.2 Kết quả đạt được:
7.3 Hướng phát triển:
7.4 Tài liệu tham khảo:

80
80
81
81
81

81
82
83
84
85
91
93
94
94
96
96
96
97
97

Trang 7


I. MỞ ĐẦU
1. Lí do chọn đề tài:
Ngày nay với sự trợ giúp của các trang web thương mại điện tử, các
cơng ty có cơ hội lớn để trình bày và cung cấp sản phẩm và dịch vụ của
họ cho khách hàng và làm cho nó có sẵn trong 24 giờ. Bằng cách đó, các
cơng ty sẽ có thể tiếp cận với khách hàng tiềm năng của mình vì hầu hết
mọi người bắt đầu thích mua sắm trực tuyến do một số lợi ích như đơn
giản và tiết kiệm thời gian. Họ có thể chọn và mua bất kỳ sản phẩm
mong muốn tại bất kỳ thời điểm nào bạn muốn và thanh toán bằng nhiều
tùy chọn khác nhau như thẻ tín dụng hoặc tiền mặt. Vì những lợi ích này,
hầu hết các cơng ty có xu hướng có các trang web thương mại điện tử
nơi khách hàng chỉ cần truy cập trang web, xem sản phẩm, thêm nó vào

giỏ hàng và trả tiền. Sau đó, các đơn đặt hàng đã mua sẽ được chuyển
đến đích được đề cập đúng hạn.
Ngồi ra, ứng dụng web thương mại điện tử cho phép khách hàng đăng
và gửi phản hồi của họ về một số yếu tố như về sản phẩm, dịch vụ giao
hàng và dịch vụ thương mại điện tử. Bằng cách cung cấp loại phản hồi
này, cơng ty sẽ có thể cải thiện dịch vụ của họ và cải thiện họ tốt hơn, vì
việc giữ liên lạc với khách hàng là rất cần thiết để biết thời gian ý kiến
​của khách hàng.

Trang 8


2. Đặt vấn đề:
Cửa hàng thức ăn nhanh Bakery là một cửa hàng chuyên phục vụ các
loại thức ăn nhanh cho người bận rộn như Pizza, Hamburger, Chicken
Fried, … với những nguyên liệu chất lượng và vệ sinh. Cơ cấu cơng ty
gồm: Ban quản lí, Bộ phận kế tốn, bộ phận bán hàng, bộ phận sản xuất,
bộ phận kho và chuyển hàng.
Khách hàng của cửa hàng gồm hai loại chính: khách hàng thành viên
(khách hàng đã làm thẻ thành viên của cửa hàng) và khách hàng vãng
lai. Đối với khách hàng thành viên sẽ có những ưu đãi riêng.
Với nhu cầu mở rộng thị trường đặc biệt là với mảng kinh doanh online
cũng như quảng bá sản phẩm và nâng cao chất lượng, tăng doanh thu là
vấn đề đáng quan tâm của cửa hàng. Vì vậy ban quản lý cửa hàng mong
muốn một website giới thiệu sản phẩm và bán bánh trực tuyến, cũng như
hỗ trợ khách hàng các thông tin cần thiết.
3. Mục đích của website
3.1. Đối tượng của website
Website được xây dựng phục vụ hai đối tượng chính là Admin (nhà quản
trị) và Khách hàng với các chức năng sau:



Admin
o

Đăng nhập Website

o

Xem, cập nhật, xố thơng tin sản phẩm.

o

Quản lí đơn đặt hàng

o

o

Xem, trả lời ý kiến, góp ý và phản hồi của khách hàng
hoặc xố các thơng tin đó từ khách hàng.
Xem, xố các thơng tin của khách hàng nhưng khơng
được quyền thay đổi thơng tin đó.

Cập nhật tin tức
Khách hàng:
o




⮚ Guest: Khách vãng lai
Trang 9


o

Xem thông tin sản phẩm cũng như các tin tức khác

o

Đăng kí thành viên

⮚ User:
o

Đã có tài khoản

o

Có quyền đăng nhập, đăng xuất, đổi mật khẩu

o

Đặt mua sản phẩm

o

Được hưởng các quyền ưu tiên như thông báo sản phẩm
mới nhất, download file…


3.2. Đặc điểm:
Xây dựng một hệ thống bán thức ăn nhanh trực tuyến đơn giản, thân
thiện, dễ sử dụng, cho phép khác hàng xem thông tin và đặt hàng qua
mạng, người quản trị quản lý các thông tin về sản phẩm cũng như người
dùng.
Website được thiết kế với







Giao diện hài hoà, thân thiện, giúp người dùng dễ dàng sử dụng.
Trang chủ sẽ hiển thị danh sách các sản phẩm mới nhất và bán
chạy nhất giúp cho người dùng có thể dễ dàng hơn trong việc
tìm kiếm.
Khách hàng có thể dễ dàng tìm thấy thơng tin chi tiết các loại
bánh mà họ quan tâm.
Khách hàng có thể chọn mua các loại bánh mà họ cần dựa trên
khả năng tài chính và chức năng cần thiết bằng cách thêm vào
giỏ hàng

Có chức năng đăng ký, đăng nhập.
Khách hàng có thể gửi ý kiến phản hồi, góp ý đến Website để góp phần
làm Website thêm phong phú và phát triển.


Trang 10



Xây dựng một hệ thống bán bánh trực tuyến đơn giản, thân thiện, dễ sử
dụng, cho phép khác hàng xem thông tin và đặt hàng qua mạng, người
quản trị quản lý các thông tin về sản phẩm cũng như người dùng.
Các module:
Module sản phẩm
Hiển thị thông tin và phân loại sản phẩm trong gian hàng ảo. Sản phẩm
hiển thị lên website sẽ được hiển thị đầy đủ thông tin về sản phẩm đó
như: hình ảnh, tên sản phẩm, đặc điểm nổi bật của sản phẩm,  giá,..


Module giỏ hàng
Khi tham khảo đầy đủ thơng tin về sản phẩm khách hàng có thể đặt mua
sản phẩm ngay tại Website thông qua chức năng giỏ hàng mà không cần
phải đến địa điểm giao dịch, giỏ hàng được làm mô phỏng như giỏ hàng
trong thực tế có thể thêm, bớt, thanh tốn tiền các sản phẩm đã mua. Khi
chọn thanh toán giỏ hàng khách hàng phải ghi đầy đủ các thông tin cá
nhân, thông tin này được hệ thống lưu trữ và xử lý.


Module đăng ký thành viên và đăng nhập hệ thống
Mỗi khách hàng giao dịch tại Website sẽ được quyền đăng ký môt tài
khoản riêng. Tài khoản này sẽ được sử dụng khi hệ thống yêu cầu. Một
tài khoản do khách hàng đăng ký sẽ lưu trữ các thông tin cá nhân của
khách hàng.


Module tìm kiếm sản phẩm, tin tức, tư vấn
Khách hàng sẽ được cung cấp chức năng tìm kiếm trên Website.



Trang tin tức:
Tư vấn cho khách hàng muốn tìm hiểu về công thức và cách thức làm
bánh…


Trang giới thiệu:
Giới thiệu các thông tin về về cửa hàng, phương châm bán hàng…


Trang 11


Trang liên hệ:
Khách hàng có thể liên hệ với nhân viên bán hàng về các thắc mắc, ý
kiến của mình.


Module quản lý sản phẩm, đơn hàng
Người quản trị có thể cập nhật thông tin các mặt hàng, loại hàng, quản lý
thông tin đơn hàng.


Module khác
4. Đối tượng nghiên cứu
- Đối tượng nghiên cứu: các chức năng cần có của một website đặt món
- Khách thể nghiên cứu: Các ứng dụng và đặt món như Now, GrabFood,
Baemin, Go-Food.
5. Phạm vi nghiên cứu
- Khu vực: TP.HCM

- Thời gian: 1/3/2021 – 20/6/2021
- Lĩnh vực nghiên cứu: Các loại ứng dụng đặt món và wedsite quản lý
đặt món
6. Phương phát nghiên cứu:
Sử dụng phương phát nghiên cứu thu thập thông tin:
⮚ Đọc tài liệu về các vấn đề và cách giải quyết cùng đề tài nghiên
cứu của các tác giả khác
⮚ Đọc về công nghệ được áp dụng để giải quyết các vấn đề


⮚ Khảo sát người dân xung quanh về các vấn đề của nghiên cứu

Trang 12


II. TỔNG QUAN
1. Phân tích đánh giá hướng nghiên cứu của các tác giả khác (Now,
GrabFood, Baemin, Go-Food)
1.1 Những hướng nghiên cứu chính về vấn đề của đề tài
1.1.1 Đặt món
Ứng dụng sẽ liên kết với các quán án, nhà hàng từ đó để người bán đăng
tải các sản phẩm của mình lên ứng dụng, đồng thời ứng dụng sẽ hiển thị
danh sách các món ăn và cửa hàng lên. Khách hàng sẽ tiến hành đặt món
trong danh sách.
1.1.2 Thanh tốn
Ứng dụng sẽ liên kết với các loại ví điện tử như momo, airpay, ... hoặc
liên kết tài khoản ngân hàng để thanh tốn trực tuyến. Tích hợp thêm
hình thích Cash on delivery (COD) để tạo sự đa dạng. Nếu có thể tạo
thêm một ví điện tử riêng cho ứng dụng như ví Moca của Grab.
1.1.3 Quản lí các loại dữ liệu của người sử dụng

Ứng dụng sẽ yêu cầu người dùng tiến hành đăng ký tài khoản để tạo cơ
sở dữ liệu để lưu trư các thông tin như thơng tin cá nhân, thơng tin thanh
tốn, thơng tin hóa đơn và các phản hồi của người dùng. Đối với người
dùng là khách vãng lai có thể sử dụng bộ nhớ đệm (cache) để tiến hành
lưu thơng tin đặt món.
1.1.4 Gửi phản hồi
Người dùng có thể phản hồi định danh hoặc nặc danh (nếu muốn) về các
vấn đề như chất lượng sản phẩm, thái độ nhân viên, ý kiến đóng góp, …
1.1.5 Xử lí hóa đơn
Ứng dụng sẽ gửi thơng tin hóa đơn cho bộ phận xử lí thơng tin để tiến
hành kiểm tra và liên lạc đến các quán ăn, cửa hàng để lên món đồng
thời liên lạc đến bộ phần vận chuyển.

Trang 13


1.1.6 Vận chuyển
Bộ phận vận chuyển sẽ gửi thông tin hóa đơn cho nhân viên để nhân
viên tiến hành tiếp nhận món và di chuyển đến chỗ khách hàng.
1.2 Những phương pháp nghiên cứu đã được sử dụng
1.2.1 Phương pháp thu thập thông tin:
⮚ Tiến hành khảo sát về sự thay đổi về hành vi tiêu dùng của khách
hàng.
⮚ Đọc tài liệu về sự phát triển công nghệ, về sự tăng trưởng kinh tế
trong lĩnh vực đặt hàng online.
⮚ Nắm bắt xu hướng của xã hội.
1.2.2 Phương pháp xử lý thơng tin:
⮚ Phân tích các dữ liệu về người tiêu dùng như thu nhập bình quân,
nhu cầu sinh hoạt, ăn uống, … để đưa ra mức giá dịch vụ hợp lí.
⮚ Phân tích các dữ liệu về sự tăng trưởng kinh tế của lĩnh vực nhằm

đưa ra quy mô triển khai, kinh phí quảng cáo, các loại ưu đãi đưa
ra nhằm thu hút khách hàng, tiềm năng phát triển của ứng dụng, …
1.3 Kết quả đạt được:
- Kết quả đạt được của các ứng dụng khá tương đồng nên báo cáo chỉ
nêu ra những điểm nổi bật của các ứng dụng.

Trang 14


1.3.1 Now

⮚ Khách hàng có thể tham khảo bình luận, review, hình ảnh trước khi
đặt món.
⮚ Dữ liệu qn dồi dào, phải nói là hầu như là đầy đủ quán nhất
trong tất cả app (gần 37.000 quán ở thành phố Hồ Chí Minh), và có
mặt 15 tỉnh thành khác.

Trang 15


⮚ Giao diện app trực quan, người dùng có thể ghi chú, hoặc thêm
topping theo từng món.
⮚ Có nhiều phương thức thanh tốn như ví điện tử AirPay, thanh tốn
thẻ.
⮚ Thường xuyên có nhiều ưu đãi riêng cho từng quán
⮚ Hỗ trợ đặt nhóm
⮚ Khung giờ hoạt động 24/7
⮚ Xây dựng đội ngũ shipper chuyên nghiệp (thùng giữ nhiệt, đồng
phục, ...)
1.3.2 GrabFood:

⮚ Phát triển từ nền tảng gọi xe trực tuyến, Grab đã có được thơng tin
người dùng dồi dào sau 5 năm hoạt động
⮚ Giao diện app trực quan, dễ dùng, không cần tải thêm nhiều app
khác hỗ trợ.
⮚ Có thể sử dụng ở nhiều quốc gia trong khu vực Đơng Nam Á
⮚ Có tích hợp liên kết ví điện tử Moca ngay trong app
⮚ Có nhiều chương trình khuyến mãi dành cho từng thành viên, cấp
độ khác nhau.
⮚ Xử lí và giải quyết, chăm sóc khách hàng tốt khi gặp vấn đề.
⮚ Nhằm thu hút được nhiều người dùng, mức phí giao hàng của Grab
khá rẻ so với thị trường.
⮚ Shipper có trách nhiệm với đơn, ở Grab là đa phần tài xế là người
lớn tuổi, đối xử với khách hàng tốt, khi giao có trách nhiệm với
đơn, chất lượng món ăn khi giao đến cũng được đảm bảo hơn.
Trang 16


⮚ Bạn có tích điểm sau mỗi lần sử dụng dịch vụ và dùng điểm để đổi
quà hay voucher.
⮚ Khung giờ hoạt động 24/7

1.3.3 Go-Food
⮚ Số lượng quán ăn nhiều, dễ lựa chọn.
⮚ Cơng cụ tìm kiếm của app rất linh hoạt, bạn thèm món gì, nhập tên
món đó, app sẽ tìm ra những qn bán đúng món bạn cần tìm.
Thích hợp với những người lớn tuổi.

1.3.4 Baemin
⮚ Giao diện dễ dùng, biểu tượng mình hoạ đẹp
⮚ Nhiều ưu đãi lớn chất lượng, giảm 50-60%, giảm tối đa 50.000 80.000.

⮚ Thơng báo cập nhật đơn hàng đẹp
⮚ Có thể ghi chú cho từng món
2. Hạn chế của các nghiên cứu trước
2.1 Now:
⮚ Cịn tính phí phụ thu với những qn nằm trong trung tâm thương
mại, những quán không ký hợp đồng. Mức phí này thường dao
động từ 3.000-6.000đ.
Trang 17


⮚ Thời gian xác nhận đơn còn chậm, shipper vẫn cịn tình trạng lựa
đơn. Để mình nói rõ hơn về việc lựa đơn, vì giá ship cho từ 1-5km
là 15.000đ, dù nhận đơn 1km hay 3km thì giá vẫn như nhau, nên
rất nhiều shipper lựa đơn gần.
⮚ Ví AirPay theo mình thì quá nhiều bước và rườm rà, bạn cần phải
cài đặt app thanh toán của Now và liên kết thẻ. Điều mình khơng
thích là khi đặt đơn ứng dụng sẽ trừ tiền ngay, nên lúc quán hết
món hay phát sinh thêm phí thì khơng thể chỉnh sửa lại giá, và phải
đợi một khoảng thời gian để được hoàn tiền vào thẻ. Về điều này
thì Grab làm tốt hơn, trừ tiền sau khi đã hoàn thành đơn.
2.2 GrabFood:
⮚ Ưu đãi không đồng đều giữa các thiết bị, người dùng. Bạn không
thể chia sẻ cũng như lấy code của người khác. Tuỳ vào phân khúc
khách hàng, Grab sẽ có những chương trình khuyến mãi dành
riêng.
⮚ Dữ liệu qn khơng nhiều, đa số quán có trên ứng dụng là các quán
ký hợp đồng chiết khấu. Và mình thì khó có thể tìm được qn
mình thích trên ứng dụng.
⮚ Do shipper linh hoạt lựa chọn đơn Food hoặc Bike nên đa phần tài
xế khơng được trang bị thùng giữ nhiệt.

2.3 Go-Food
⮚ Hình ảnh món ăn khơng thực tế.
⮚ Khơng hỗ trợ thanh tốn thẻ, ví điện tử.
⮚ Thường xuyên bị huỷ đơn
⮚ Chương trình khuyến mãi khơng đa dạng
⮚ Khơng đặt được nhiều đơn cùng lúc
⮚ Shipper không được trang bị thùng giữ nhiệt
Trang 18


2.4 Baemin
⮚ Chưa có nhiều dữ liệu qn
⮚ Khơng có hình ảnh minh hoạ
⮚ Độ phủ sóng chưa tốt, chỉ tập trung ở các khu vực trung tâm
⮚ Khơng có phần chatbox để liên lạc khi có nhu cầu chỉnh sửa đơn
hàng với shipper

3. Tóm tắt so sánh về kết quả và hạn chế của các nghiên cứu trước

Trang 19


4. Các vấn đề cần tập trung nghiên cứu và giải quyết của đề tài
- Đặt món: hợp tác với các ứng dụng đặt món khác đồng bộ cơ sợ dữ
liệu nhằm tăng số lượng món ăn, nếu được nên tạo ra một hệ thống gợi ý
khách hàng sẽ nhập các thơng tin như loại hình thức ăn (mì, cơm, ăn vặt,
...), hình thức chế biến (chiên, xào, hấp, …), mức giá, …
- Vận chuyển: liên kết với cái ứng dụng đặt xe trực tuyến để tìm ra tài xế
tiềm năng về thời gian vận chuyển, quãng đường vận chuyển nhằm giảm
chi phí phát sinh cho cả khách hàng và người bán.

- Phản hồi: khách hàng có thể gửi phản hồi hoặc ý kiến đóng góp định
danh hoặc nặc danh về người quản lý để tiến hành khắc phục.
- Giao diện: giao diện và các biểu tượng nên sinh động, đẹp tuy nhiên
vẫn phải đảm bảo tính trực quan để người dùng dễ sử dụng.
- Hình thức thanh tốn: nên có nhiều hình thức thanh tốn như qua các
ví điện tử (momo, airpay, viettelpay, zalopay, …), qua liên kết ngân
hàng, nếu có thể thì phát triển một ví điện tử riêng cho ứng dụng.
- Phần danh sách món: nên có phần nhận xét của khách hàng để có
người dùng có cái nhìn tổng quản nhất về món ăn và nhà hàng.
- Hệ thống tri ân khách hàng: tích điểm đổi quà, đổi mã giảm giá, …
Trang 20


Trang 21


III. CÔNG NGHỆ
1. ASP .NET
1.1 Khái niệm
ASP.Net là một nền tảng dành cho phát triển web, được Microsoft phát
hành và cung cấp lần đầu tiên vào năm 2002. Nền tảng được sử dụng để
tạo ra các ứng dụng web-based.  
Phiên bản ASP.Net đầu tiên được triển khai là 1.0 và phiên bản ASP.Net
mới nhất là phiên bản 4.6. ASP.Net được thiết kế để tương thích với giao
thức HTTP. HTTP là giao thức chuẩn được sử dụng trên tất cả các ứng
dụng web.
Các ứng dụng ASP.Net có thể được viết bằng nhiều ngơn ngữ .Net khác
nhau. Trong đó có các kiểu ngơn ngữ như C #, VB.Net và J #. Một số
nền tảng cơ bản của ASP.NET sẽ được trình bày trong mục dưới đây.
ASP viết đầy đủ là Active Server Pages, và .NET là viết tắt của Network

Enabled Technologies.
1.2 Cấu trúc của .NET framework
⮚ Language/Ngơn ngữ: Có rất nhiều ngơn ngữ lập trình khác nhau tồn
tại trong .net framework. Các ngôn ngữ này là VB.net và C #, có thể
được sử dụng để phát triển các ứng dụng web.
⮚ Library/Thư viện: .NET Framework gồm có một bộ các lớp library
chuẩn. Library phổ biến nhất được sử dụng cho các ứng dụng web
trong .net là Web library. Web library bao gồm tất cả các thành phần
cần thiết sử dụng trong phát triển các ứng dụng web-based.
⮚ Common Language Runtime/Thời gian chạy ngơn ngữ lập trình
thơng thường hay CLR: Common Language Infrastructure - Cơ sở
hạ tầng ngôn ngữ lập trình phổ thơng hay CLI là một nền tảng dùng
Trang 22


để chạy các chương trình .Net. Trong đó, CLR sẽ thực hiện các tác
vụ chính bao gồm xử lý các trường hợp cá biệt và thu gom rác.

1.3 Một số đặc điểm của ASP .NET framework:
⮚ Code Behind Mode/ Trạng thái code rời
Đây là khái niệm về tách rời thiết kế và mã code. Bằng cách tách rời như
vậy, việc duy trì ứng dụng ASP.Net trở nên dễ dàng hơn. Loại file thông
dụng của ASP.Net là aspx. Giả sử chúng ta có một trang web có tên là
MyPage.aspx, sẽ có một tệp khác có tên là MyPage.aspx.cs biểu thị cho
phần mã code của trang. Bởi vậy, Visual Studio mới tạo ra các tập tin
riêng biệt cho mỗi trang web, một cho phần thiết kế và một dành cho mã
code.
⮚ State Management/Quản lý trạng thái
ASP.Net có các phương tiện để kiểm soát quản lý trạng thái, trong khi
HTTP được biết đến là một giao thức "khơng trạng thái". Lấy một ví dụ

về ứng dụng giỏ hàng: khi một user đã chọn lựa xong những gì mình
Trang 23


muốn mua và đưa ra đưa ra quyết định mua hàng trên trang web, người
đó sẽ nhấn nút gửi.
Ứng dụng cần ghi nhớ các mục mà người dùng đã chọn mua. Đây là
hành động ghi nhớ trạng thái của một ứng dụng tại một thời điểm trong
hiện tại. Vì HTTP là giao thức không trạng thái nên khi user truy cập các
web bán hàng, HTTP sẽ không lưu trữ thông tin trên các giỏ hàng.
Do đó, sẽ cần thêm một số thao tác coding bổ sung để đảm bảo các giỏ
hàng sẽ được chuyển đến trang bán hàng. Việc triển khai như vậy có thể
trở nên phức tạp tại một vài thời điểm. Nhưng ASP.Net có thể quản lý
trạng thái thay cho bạn nhờ tính năng ghi nhớ giỏ hàng và chuyển các
mục đã được chọn mua qua trang bán hàng.
⮚ Caching – Bộ nhớ Cache
ASP.Net cũng có thể thực hiện chức năng của Caching, qua đó cải thiện
hiệu suất làm việc cho ứng dụng. Với việc lưu bộ nhớ đệm cache, các
trang thường xuyên được người dùng yêu cầu có thể được lưu trữ ở một
vị trí tạm thời. Các trang này có thể được truy xuất nhanh hơn và người
dùng có thể nhận được các phản hồi tốt hơn. Nhờ vậy, bộ nhớ đệm có
thể giúp cải thiện đáng kể hiệu suất của ứng dụng.
Về mặt tổng quan, ASP.Net là một ngôn ngữ phát triển được sử dụng để
xây dựng các ứng dụng web-based và được cấu trúc để hoạt động tương
thích với giao thức HTTP chuẩn.

2. Cơng nghệ ASP .NET Webforms

Trang 24



2.1. Thuật ngữ:
Trước khi nói về lý do chọn WebForms, chúng ta cần phải biết sự khác
nhau giữa các công nghệ của Microsoft.
⮚ NET Framework - Một công nghệ được giới thiệu vào năm 2002,
bao gồm khả năng tạo ra các file thực thi, các ứng dụng web, và
các service sử dụng C#, Visual Basic, và F#.
⮚ ASP.NET - Một server-side web application framework mã nguồn
mở, là một tập con của .NET Framework tập trung cụ thể vào việc
xây dựng ứng dụng web, các trang web và web services.
⮚ ASP.NET Web Forms - (2002 - đến nay) là một kỹ thuật độc
quyền được phát triển bởi Microsoft để quản lý state và form data
trên nhiều trang. Bản chất của các trang web là stateless nhưng
Microsoft đã chuyển thành các trang stateful bằng cách tạo ra kỹ
thuật Web Forms
⮚ ASP.NET MVC - (2008 - đến nay) là một web application
framework mã nguồn mở tuân theo design pattern
Model-View-Controller.
2.2. Sự khác nhau giữa ASP .NET Webforms và ASP .NET MVC
Mặc dù các cơng nghệ này đã có tuổi đời lớn, nhưng chúng đều có
những điểm thuận lợi và bất lợi của nó. 
⮚ Web Forms có ViewState, MVC thì không
Như đã đề cập ở trên, ViewState là một cơ chế quản lý trạng thái cấp
trang. Nếu bạn có nhiều server-side web control trên một trang,
ViewState của bạn sẽ trở nên cực kỳ lớn. Phần mã HTML trả về cho
client nên nhỏ nhất có thể, bởi vậy khơng nên có kích thước biến
ViewState lớn.

Trang 25



×