Tải bản đầy đủ (.doc) (59 trang)

Báo cáo lập trình web ASP NET

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 (4.36 MB, 59 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

ĐỒ ÁN MÔN HỌC
LẬP TRÌNH WEBSITE

ỨNG DỤNG CÔNG NGHỆ PHÁT TRIỂN WEB
ASP.NET MVC5, XÂY DỰNG WEBSITE
KINH DOANH BALO NHẬP KHẨU
OVAN

Ngành:

CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn : DƯƠNG THÀNH PHẾT
Sinh viên thực hiện

: ĐỖ NGỌC SƠN

MSSV: 1411060260

Lớp: 14DTH01

TP. Hồ Chí Minh, 2016


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

ĐỒ ÁN MÔN HỌC


LẬP TRÌNH WEBSITE

ỨNG DỤNG CÔNG NGHỆ PHÁT TRIỂN WEB
ASP.NET MVC5, XÂY DỰNG WEBSITE
KINH DOANH BALO NHẬP KHẨU
OVAN

Ngành:

CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn : DƯƠNG THÀNH PHẾT
Sinh viên thực hiện

: ĐỖ NGỌC SƠN

MSSV: 1411060260

Lớp: 14DTH01

TP. Hồ Chí Minh, 2016


TRƯỜNG ĐH CÔNG NGHỆ TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
Độc lập – Tự do – Hạnh phúc

ĐĂNG KÝ ĐỀ CƯƠNG ĐỒ ÁN MÔN HỌC
Môn học: LẬP TRÌNH WEBSITE
CHÚ Ý: Sinh viên phải đóng tờ này vào trang thứ nhất của báo cáo


I. THÔNG TIN CHUNG
Tên Đề tài: Ứng dụng công nghệ phát triển web ASP.Net MVC5, Xây dựng
website Kinh doanh Balo nhập khẩu OVAN.
Tác giả/ Nhóm tác giả:
TT

HỌ VÀ TÊN SV

MSSV

Ngày sinh

1

Đỗ Ngọc Sơn (NT)

1411060260

28/01/1992

Ký tên

Giáo viên hướng dẫn: Dương Thành Phết.
II. THÔNG TIN VỀ ĐỀ TÀI
1. Lý do thực hiện đề tài
- Một là hiện nay, đất nước ngày càng phát triển, hội nhập quốc tế, đời sống
người dân được cải thiện và thu nhập bình quân nâng lên đáng kể, con người
càng hướng đến việc làm đẹp, giải trí, du lịch… Việc di chuyển và mang
theo bên mình những công cụ phục vụ công việc, học tập và đồ dùng cá

nhân thì nhu cầu về cặp, balo, túi xách ngày càng cao, đặc biệt là balo du
lịch nhập khẩu phục vụ trên những chặng đường xa.
- Hai là qua môn học của bộ môn cũng như dưới sự hướng dẫn của giáo viên
hướng dẫn Dương Thành Phết thưc hiện ý tưởng, “Ứng dụng công nghệ
phát triển web ASP.NET MVC5, Xây dụng website Kinh doanh Balo nhập
khẩu”, một mặt giúp tôi nâng cao kỹ năng làm việc, trao dồi kỹ năng viết
web và ứng dụng những công nghệ mới. Mặt khác giúp tôi có thêm kinh
nghiệm kinh doanh thực tế sau này.
2. Mục tiêu đề tài:
_ Website là cách tối ưu nhất để shop tiếp cận đến người dùng và những ai
ưa thích Balo nhập khẩu.


_ Website là phương tiện tốt nhất để shop quảng bá rộng rải sản phẩm của
mình.
_ Website giúp người dùng tiếp cập nhật nhanh nhất các sản phẩm Balo, Túi
xách của các hãng sản xuất một cách nhanh nhất.
_ Website cũng là phương tiện tốt nhất để người tiếp cận nhanh đến sản
phẩm mình thích, thuận tiện và an toàn trong các giao dịch.
3. Nội dung thực hiện: Gồm 5 phần: Phân tích yêu cầu, thiết kế CSDL , thiết
kế giao diện, kiểm thử, vận hành và sử dụng.
4. Phương pháp thực hiện:
• Phần 1: Phân tích từng yêu cầu 1 cách chi tiết, tham khảo các Website có
liên quan. Lập các biểu mẫu cụ thể cho từng công việc của chương trình.
• Phần 2: Thiết kê mô hình CSDL một cách chi tiết. Tham khảo thêm phân
tích hệ thống thông tin có liên quan đến việc đăng kí các khóa học trên
các trang mạng để hoàn thiện tốt hơn CSDL. Hoàn thành bản vẽ CSDL.
• Phần 3: Dùng phần mềm SQL để tạo CSDL và sử dụng công nghệ
ASP.Net MVC5 để lập trình Website theo các mục tiêu và yêu cầu đã đề
ra. Thiết kế giao diện một cách ưu việt nhất có thể để cho người sử dụng

có thể dễ dàng giao tiếp với ứng dụng.
• Phần 4: Mời một vài người trải nghiệm sử dụng để tìm ra các lỗi hay các
vấn đề khó khăn trong việc sử dụng. Đồng thời sửa các lỗi phát sinh để
hoàn thiện Website.
• Phần 5: Kiểm tra tổng quát Website lần cuối sau đó đưa cho người sử
dụng.
5. Dự kiến kết quả đạt được: Hoàn thành Website đáp ứng được các mục tiêu
đã đặt ra, có thể phát triển và cải tiến sau này.
6. Thời gian thực hiện: Từ: ……………………….. đến: …………………………..

Tp.HCM, ngày . . . . tháng . . . năm 2016
GIÁO VIÊN HƯỚNG DẪN
HIỆN

NHÓM SV THỰC


Khoa: …………………………

BẢN NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
ĐỒ ÁN/ KHÓA LUẬN TỐT NGHIỆP
(GVHD nộp Bản nhận xét này về Văn phòng Khoa)

1. Họ và tên sinh viên/ nhóm sinh viên được giao đề tài (sĩ số trong nhóm……):
(1).................................................................. MSSV: ………………… Lớp: .......
(2).................................................................. MSSV: ………………… Lớp: .......
(3).................................................................. MSSV: ………………… Lớp: .......

2.
3.


4.

5.

Ngành
: ......................................................................................................
Chuyên ngành : ......................................................................................................
Tên đề tài: ...............................................................................................................
..................................................................................................................................
Tổng quát về ĐA/KLTN:
Số trang:
........................ Số chương:
...............................
Số bảng số liệu:
........................ Số hình vẽ:
...............................
Số tài liệu tham khảo: ........................ Phần mềm tính toán: ...............................
Số bản vẽ kèm theo: ........................ Hình thức bản vẽ:
...............................
Hiện vật (sản phẩm) kèm theo: ...............................................................................
.............................................................................................
Nhận xét:
a) Về tinh thần, thái độ làm việc của sinh viên:
..................................................................................................................................
..................................................................................................................................
b) Những kết quả đạt được của ĐA/KLTN:
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................

..................................................................................................................................
c) Những hạn chế của ĐA/KLTN:
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Đề nghị:
Được bảo vệ (hoặc nộp ĐA/KLTN để chấm) 
Không được bảo
vệ 
TP. HCM, ngày … tháng … năm ……….


Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)


i

LỜI CẢM ƠN
Sau hơn một tháng học tập và nghiên cứu đề tài môn học, em đã được mở mang
kiến thức và được hiểu biết nhiều hơn về lịch vực công nghệ thông tin qua sự quan
tâm, hướng dẫn tận tình của Thầy.
Với tấm lòng cảm ơn sâu sắc, em xin gửi tới Quý Thầy/Cô trường Đại Học
Công Nghệ Thành Phố Hồ Chí Minh nói chung và khoa Công Nghệ Thông Tin nói
riêng, những Người đã trang bị hành trang kiến thức nền tảng cho đề tài này. Đặc biệt
là Thầy Dương Thành Phết người đã tận tình hướng dẫn, đóng góp những ý kiến quý
báu cho việc hoàn thành đề tài này. Xin Thầy nhận nơi em lời cảm ơn chân thành nhất.
Em xin gửi tới Quý Thầy/Cô trường Đại Học Công Nghệ Thành Phố Hồ Chí
Minh lời chúc sức khỏe và lời cảm ơn chân thành nhất.
Em xin chân thành cảm ơn!



ii

MỤC LỤC
Đề mục

Trang

Trang bìa
Phiếu đăng ký đề tài
Bản nhận xét của giáo viên hướng dẫn
Lời cảm ơn.......................................................................................................i
Mục lục...........................................................................................................ii
CHƯƠNG 1: TỔNG QUAN
1.1

1

Tổng quan về vấn đề được nghiên cứu.................................................1
1.1.1 Tổng quan về ứng dụng web.......................................................1
1.1.1.1 Tổng quan........................................................................1
1.1.1.2 Phân tầng trong ứng dụng web........................................1
1.1.1.3 Kiến trúc trong ứng dụng web.........................................2
1.1.2 Tổng quan về Asp.Net MVC.......................................................3
1.1.2.1 Lịch sử phát triển Asp.Net MVC....................................3
1.1.2.2 Tổng quát về Asp.Net MVC............................................4
1.1.2.3 Lợi ích của Asp.Net MVC...............................................6
1.1.2.4 Tính năng của Asp.Net MVC..........................................6
1.1.2.5 Giao tiếp trong kiến trúc Asp.Net MVC.........................7


1.2

Nhiệm vụ đồ án.....................................................................................9
1.2.1 Tính cấp thiết hiện nay................................................................9
1.2.2 Lý do hình thành đề tài..............................................................10
1.2.3 Ý nghĩa khoa học và thực tiễn...................................................10
1.2.4 Mục tiêu nghiên cứu đối tượng.................................................11
1.2.5 Phạm vi giới hạn........................................................................11

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1

11

Các khái niệm và cơ chế hoạt động....................................................11
2.1.1 Khái niệm thương mại điện tử...................................................11
2.1.2 Lợi ích của thương mại điện tử.................................................12
2.1.3 Các loại hình thương mại điện tử..............................................13

2.2

Các công nghệ sử dụng.......................................................................17
2.2.1 HTML5......................................................................................17


iii

2.2.2 CSS 3.........................................................................................19
2.2.3 Jquery........................................................................................20

2.2.4 Ajax ..........................................................................................21
2.2.5 LinQ ..........................................................................................22
2.2.6 Asp.Net MVC5..........................................................................24
CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM

25

3.1

Mô hình E-R.......................................................................................25

3.2

Mô hình vật lý.....................................................................................26

3.3

Mô tả cơ sở dữ liệu.............................................................................27

3.4

Giao diện.............................................................................................29
3.4.1 Giao diện index..........................................................................29
3.4.2 Giao diện trang Admin..............................................................40

CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ

47

4.1 Kết quả thực hiện....................................................................................47

4.2 Đánh giá..................................................................................................47
4.2.1 Ưu điểm.....................................................................................47
4.2.2 Khuyết điểm..............................................................................48
4.3

Hướng phát triển.................................................................................48

TÀI LIỆU THAM KHẢO............................................................................50


1

CHƯƠNG I: TỔNG QUAN
1.1Tổng quan về vấn đề được nghiên cứu:
1.1.1 Tổng quan về ứng dụng web:
1.1.1.1 Tổng quan:
Các ứng dụng web là các chương trình thực thi trên máy chủ web (Web server)
và truy cập và tương tác với người sử dụng thông qua trình duyệt web. Khái niệm này
được người sử dụng thừa nhận rộng rãi, tuy nhiên ngày nay CNTT phát triển mạnh
mẽ, một loạt các nền tảng công nghệ ra đời, ứng dụng web hoàn toàn có thể không cần
phải tương tác hoặc thực thi trên máy chủ web, có nghĩa là ứng dụng web này chạy
thuần túy trên trình duyệt duyệt web. Điều đó có nghĩa ứng dụng web không cần kết
nối internet vẫn có thể chạy được.
Ứng dụng web cho phép người sử dụng có thể chia sẻ và truy cập thông tin
thông qua Internet. Lập trình viên có thể tạo các ứng dụng web để phục vụ mục tiêu
thương mại ví dụ như các website bán hàng trực tuyến …
Ứng dụng web có thể được nhìn theo nhiều hướng khác nhau: Hướng nhìn của
các nhà phát triển ứng dụng, thường chia ứng dụng web thành nhiều các phân tầng
khác nhau, mỗi phân tầng đảm nhiệm một số các nhiệm vụ mang tính logic của ứng
dụng. Hướng nhìn triển khai ứng dụng, thường phân chia ứng dụng thành các thành

phần vật lý khác nhau, các thành phần vật lý này được cài đặt tại các máy tính (các nút
mạng) khác nhau trong hệ thống.
1.1.1.2 Phân tầng trong ứng dụng web:

Hướng tiếp cận này phân tách ứng dụng thành các thành phần mang tính logic.
Đây là hướng nhìn của các nhà phát triển ứng dụng, thông thường ứng dụng web được
phân chia thành các phân tầng sau :

Hình 1.1: Phân tầng trong ứng dụng web


2

Tầng trình diễn (Presentation Layer): Thành phần giao diện, là các form của

o

chương trình tương tác với người sử dụng.
Tầng xử lý nghiệp vụ (Business Logic Layer): Xử lý các nghiệp vụ của chương

o

trình như tính toán, xử lý hợp lệ và toàn vẹn về mặt dữ liệu.
Tầng dữ liệu (Data Layer): Lưu trữ, xử lý thông tin liên quan tới dữ liệu của

o

chương trình. Thông thường tầng này bao gồm tầng giao tiếp với các hệ Quản trị
CSDL và hệ Quản trị CSDL.


1.1.1.3 Kiến trúc trong ứng dụng web:
Theo hướng tiếp cận này, phân chia ứng dụng thành các thành phần vật lý. Đây
là hướng nhìn triển khai ứng dụng, ứng dụng web thường được phân chia như sau :


Single-Tier : Tất cả các phân tầng (layer) của ứng dụng đều được tích hợp và
cài đặt trên 1 máy tính.



Two-Tier : Theo kiến trúc này cả 3 tầng (layer) được phần bố cài đặt trên 2 tier
đó là client và server, tầng trình diễn cài đặt trên client, 2 tầng (Tầng nghiệp vụ
và tầng dữ liệu) cài đặt trên server.



Three-Tier : Theo kiến trúc này 3 tầng (layer) sẽ được cài đặt tại các máy tính
khác nhau, mỗi layer sẽ giao tiếp với các layer khác nhằm đáp ứng các yêu cầu
trao đổi thông tin giữa chúng thông qua cơ chế (Request/Response).



N-Tier : Đây là kiến trúc mở rộng của kiến trúc Tree-Tier, thay vì phân chia
thành 3-tier thì chúng ta chia thành N-Tier; Tuy nhiên thông thường với các kiến
trúc phức tại chỉ dừng lại ở mức độ 5-tier.

Hình 1.2: Ví dụ về mô hình 3-tier


3


Chú ý : Layer khác hoàn toàn với Tier. Mọi người thường hay nhầm lẫn giữa
chúng. Tier thường gắn liền với phần cứng (phân chia ứng dụng thành các thành phần
vật lý khác nhau, khái niệm này gắn liền với mô hình Client/Server). Còn layer là các
lớp cấu tạo nên một ứng dụng (Phân chia ứng dụng thành các thành phần Logic khác
nhau). Layer gắn với mô hình phát triển còn Tier gắn với mô hình triển khai.

1.1.2 Tổng quan về Asp.Net MVC
1.1.2.1 Lịch sử phát triển của Asp.Net MVC:
 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.
 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.
 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 :


So với phiên bản ASP.NET MVC2 thì tính năng mới được hỗ trợ thêm HTML5
và CSS3; tính năng này chỉ hỗ trợ cho những trình duyệt mới;



Cải thiện về Model validation;



Hỗ trợ 2 View Engine: RAZOR, ASPX, kể cả Open source trong khi ASP.NET

MVC2 chỉ có ASPX;



Controller được cải tiến hơn như thuộc tính ViewBag và kiểu ActionResult;



Cải thiện Dependency Injection với IDpendencyResolver (có 2 phần:
DependencyResolver và interface IDpendencyResolver)trong ASP.NET MVC3;
đây là lớp thực thi mô hình Service Locator, cho phép framework gọi
DIContainer khi cần làm việc với 1 lớp thực thi từ 1 kiểu cụ thể



Cách tiếp cận với JavaScript được hạn chế;



Hỗ trợ caching trong Partial page;

 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 and Visual Studio 2012. Phiên bản này có các đặc điểm chính như sau :


4




ASP.NET Web API ra đời, nhằm đơn giản hoá việc lập trình với HTML hiện
đại và đây là một cải tiến mới thay cho WCF Web API;



Mặc định của dự án được cải thiện hơn về hình thức bố trí, giúp dễ nhìn hơn;



Mẫu Empty Project là project trống, phù hợp cho những tín đồ developer muốn
nâng cao khả năng lập trình với ASP.NET MVC4;



Giới thiệu jQuery Mobile, và mẫu Mobile Project cho dự án;



Hỗ trợ Asynchrnous Controller;



Kiểm soát Bundling và Minification thông qua web.config



Hỗ trợ cho việc đăng nhập OAuth và OpenID bằng cách sử dụng thư viện
DotNetOpenAuth;




Phiên bản mới Windows Azure SDK 1.6 được phát hành;
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. Các đặc điểm chính của phiên bản này như sau :


Với MVC5 thì cải tiến hơn so với ASP.NET MVC4, Bootstrap được thay thế
mẫu MVC mặc định;



Chứng thực người dùng Authentication Filter được tuỳ chỉnh hoặc chứng thực
từ hãng thứ 3 cung cấp;



Với Filter overrides, chúng ta có thể Filter override trên Method hoặc
Controller;



Thuộc tính Routing được tích hợp vào MVC5;
1.1.2.2 Tổng quát Asp.Net MVC:

Asp.Net MVC là một Framework sử dụng .Net Framework cho việc phát triển

ứng dụng web động, trước khi Asp.Net MVC ra đời, lập trình viên sử dụng công nghệ
Asp.Net Web Form trên nền tảng .Net Framework để phát triển ứng dụng Web động.
Asp.Net MVC phát triển trên mẫu thiết kế chuẩn MVC, cho phép người sử dụng
phát triển các ứng dụng phần mềm. MVC là tên một mẫu phát triển ứng dụng, phương
pháp này chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng
một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là models, views, và controllers.


5

Hình 1.3: Mẫu thiết kế MVC
o Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng này

thiết lập logic của phần dữ liệu của ứng dụng. Thông thường, các đối tượng model
lấy và lưu trạng thái của model trong CSDL. Ví dụ như, một đối tượng Employee
(nhân viên) sẽ lấy dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở
lại vào bảng Eployees ở SQL Server. Trong các ứng dụng nhỏ, model thường là chỉ
là một khái niệm nhằm phân biệt hơn là được cài đặt thực thụ, ví dụ, nếu ứng dụng
chỉ đọc dữ liệu từ CSDL và gởi chúng đến view, ứng dụng khong cần phải có tầng
model và các lớp lien quan. Trong trường hợp này, dữ liệu được lấy như là một đối
tượng Model (hơn là tầng model).
o Views: Views là các thành phần dùng để hiển thị giao diện người dùng (UI).

Thông thường, view được tạo dựa vào thông tin dữ liệu model. Ví dụ như, view
dùng để cập nhật bảng Employees sẽ hiển thị các hộp văn bản, drop-down list, và
các check box dựa trên trạng thái hiện tại của một đối tượng Employee.


6


o Controllers: Controller là các thành phần dùng để quản lý tương tác người

dùng, làm việc với model và chọn view để hiển thị giao diện người dùng. Trong
một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách
nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng.
Ví dụ, controller sẽ quản lý các dữ liệu người dùng gởi lên (query-string values) và
gởi các giá trị đó đến model, model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này.

Hình 1.4: Biểu đồ tuần tự mô tả mô hình MVC
1.1.2.3 Lợi ích của Asp.Net MVC:



Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba
thành phần model, view, controller



Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)



Hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình
viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng
1.1.2.4 Tính năng của ASP.Net MVC:

o Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic

giao diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD. Tất cả
các tính năng chính của mô hình MVC được cài đặt dựa trên interface và được



7

kiểm thử bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng
mô phỏng các tính năng của những đối tượng thực sự trong ứng dụng. Bạn có thể
kiểm thử unit-test cho ứng dụng mà không cần chạy controller trong tiến trình
ASP.NET, và điều đó giúp unit test được áp dụng nhanh chóng và tiện dụng. Bạn
có thể sử dụng bất kỳ nền tảng unit-testing nào tương thích với nền tảng .NET.
o MVC là một nền tảng khả mở rộng (extensible) & khả nhúng (pluggable). Các

thành phần của ASP.NET MVC được thiết kể để chúng có thể được thay thế một
cách dễ dàng hoặc dễ dàng tùy chỉnh. Bạn có thể nhúng thêm view engine, cơ chế
định tuyến cho URL, cách kết xuất tham số của action-method và các thành phần
khác. ASP.NET MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và
Inversion of Control (IoC). DI cho phép bạn gắn các đối tượng vào một lớp cho
lớp đó sử dụng thay vì buộc lớp đó phải tự mình khởi tạo các đối tượng. IoC quy
định rằng, nếu một đối tượng yêu cầu một đối tượng khác, đối tượng đầu sẽ lấy đối
tượng thứ hai từ một nguồn bên ngoài, ví dụ như từ tập tin cấu hình. Và nhờ vậy,
việc sử dụng DI và IoC sẽ giúp kiểm thử dễ dàng hơn.
o ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng

những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm. Các địa chỉ URL
không cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu
định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa
chỉ theo kiểu REST..
o Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng,

quản lý thành viên, quyền, output caching và data caching, seession và profile,
quản lý tình trạng ứng dụng, hệ thống cấu hình…

o ASP.NET MVC sử dụng view engine Razor View Engine cho phép thiết lập

các view nhanh chóng, dễ dàng và tốn ít công sức hơn so với việc sử dụng Web
Forms view engine.
1.1.2.5 Giao tiếp trong kiến trúc Asp.Net MVC:

Các thành phần cơ bản của ứng dụng Asp.Net MVC bao gồm :


MVC Framework


8



Route engine



Route configuration



Control



Model




View engine



View
Các thành phần này giao tiếp với nhau nhằm xử lý các yêu cầu của ứ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 (Bộ điều hướng);
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 trình duyệt thông qua giao thức Http.


9

Hình 1.5: Giao tiếp trong kiến trúc Asp.Net MVC


1.2Nhiệm vụ đồ án:
1.2.1 Tính cấp thiết hiện nay:
o

Hiện nay, đất nước ngày càng phát triển, hội nhập quốc tế, yêu cầu về

việc cho ra những sẩn phẩm web có chất lượng cao một cách nhanh chóng
nhưng cũng không kém phần ổn định và bảo mật, đòi hỏi lập trình viên luôn
phải tiếp cận với công nghệ mới. ASP.NET MVC5 là một công nghệ mới.
Được nhiều người sử dụng, những người có kinh nghiệm với ASP.NET Web
form vẫn phải học ASP.NET MVC để có thể làm việc, tiếp cận với công
nghệ mới, thu thập them kinh nghiệm và cách thức làm việc mới.
o

Asp.Net MVC5 là một Open Source. Điều này giúp ASP.NET MVC rất

nhiều thuận lợi trong thời gian đầu phát triển.
o

Dễ làm quen vì mô hinh Framework MVC quá quen thuộc với các

developer.
o

Trở thành 1 trào lưu. Việc các công ty sử dụng các công nghệ mới để lôi

kéo khách hàng của mình càng làm các developer sử dụng nó nhiều hơn nữa.
Chính nhiều người sử dụng càng làm cho nó càng được chú ý. Nó như 1
vòng xoáy giúp ASP.NET MVC trở nên được ưa chuộng nhiều trong thời
gian gần đây.

o

ASP.NET MVC lại có nhiều cải tiến nổi bật trong suốt các giai đoạn

phát triển của mình. Trong tương lai, sự ra đời của MVC6 cũng là một thành
quả nổi bật khác, giúp cải thiện tốc độ và loại bỏ dần đi những thành phần
không cần thiết.
o

Việc quản lý code và UI khá rõ ràng và đơn giản.

o

Dễ dàng trong việc thực hiện test tự đông (bao gồm cả Unit Test).

o

Dễ học và sử dụng. Điều này giúp những người mới vào nghề hay người

chuyển từ công nghệ khác sang ASP.NET MVC khá dễ dàng. Nó cũng khiến
cho ASP.NET MVC là nền tảng được ưa chuộng nhất hiện nay.


10

o

Model – View – Controller giúp cho code và giao diện khá độc lập và rõ

ràng. Điều này giúp cho việc làm chung nhóm , hoặc các nhóm làm việc với

nhau dễ dàng hơn. Đặt biệt là với 2 nhóm dev và design (graphic).
Việc ứng dụng những đăc tính tối ưu của Asp.Net MVC5 trên đây để nhanh
chóng tạo cho mình một trang web( bán hàng, blog, diễn đàn…), mà trong đó có tất cả
các yếu tố: nhanh chóng, tiện lợi, dễ sử dụng, ổn định, và có thể cải tiến sau này… là
rất quan trọng đối với lập trình viên nói chung và mọi người thích viết web trong sự
phát triển chóng mặt về công nghệ hiện nay.

1.2.2 Lý do hình thành đề tài:
Thứ nhất, hiện nay đất nước ngày càng phát triển, hội nhập quốc tế, đời sống
người dân được cải thiện và thu nhập bình quân nâng lên đáng kể, con người càng
hướng đến việc làm đẹp, giải trí, du lịch… Việc di chuyển và mang theo bên mình
những công cụ phục vụ công việc, học tập và đồ dùng cá nhân thì nhu cầu về cặp,
balo, túi xách ngày càng cao, đặc biệt là balo du lịch nhập khẩu phục vụ trên những
chặng đường xa.
Thứ hai, qua môn học của bộ môn cũng như dưới sự hướng dẫn của giáo viên
hướng dẫn Dương Thành Phết thưc hiện ý tưởng, “Ứng dụng công nghệ phát triển web
ASP.NET MVC5, Xây dụng website Kinh doanh Balo nhập khẩu”, một mặt giúp tôi
nâng cao kỹ năng làm việc, trao dồi kỹ năng viết web và ứng dụng những công nghệ
mới. Mặt khác giúp tôi có thêm kinh nghiệm kinh doanh thực tế sau này.
Thứ ba, là cơ hội để thử thách bản thân, ứng dụng một công nghệ mới mang tính
thực tiễn cao vào lập trình web, giúp tiết kiệm thời gian và công sức cho lập trình viên
lẫn người muốn kinh doanh bằng các hình thức qua Internet.

1.2.3 Ý nghĩa khoa học và thực tiễn
Hiện tại ASP.NET MVC là một công nghệ còn mới tại Việt Nam, có rất nhiều
bạn sinh viên chưa được biết đến công nghệ này, đặc biệt là các bạn sinh viên tại
trường Việt Hàn. Chính vì thế việc hoàn thành bản báo cáo và chương trình ứng dụng
sẽ giúp ích rất nhiều cho các bạn sinh viên muốn tiếp cận công nghệ mới một cách
nhanh nhất, tại vì hiện tại tài liệu tiếng việt cho ASP.NET MVC là rất hiếm, đồng thời
có sẵn một ứng dụng demo sẽ giúp các bạn dễ hiểu và áp dụng hơn.



11

ASP.NET MVC có rất nhiều ƣa điểm vượt trội, em nghĩ tương lai ASP.NET
MVC sẽ dần thay thế ASP.NET Webform trong việc xây dựng website. Cho nên việc
tìm hiểu công nghệ này sẽ có tính thực tiễn rất cao, có thể áp dụng ngay bây giờ hoặc
trong tƣơng lai.

1.2.4 Mục tiêu nghiên cứu đối tượng
-

Nghiên cứu ASP.NET MVC 5, nghiên cứu các kiến thức liên quan.

1.2.5 Phạm vi giới hạn
-

Nghiên cứu ASP.NET MVC 5.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Các khái niệm và cơ chế hoạt động:
2.2.1 Khái niệm thương mại điện tử:
Khi nói về khái niệm thương mại điện tử (E-Commerce), nhiều người nhầm lẫn
với khái niệm của Kinh doanh điện tử (E-Business). Tuy nhiên, thương mại điện tử đôi
khi được xem là tập con của kinh doanh điện tử. Thương mại điện tử chú trọng đến
việc mua bán trực tuyến (tập trung bên ngoài), trong khi đó kinh doanh điện tử là việc
sử dụng Internet và các công nghệ trực tuyến tạo ra quá trình hoạt động kinh doanh
hiệu quả dù có hay không có lợi nhuận, vì vậy tăng lợi ích với khách hàng (tập trung
bên trong).
Khái niệm thương mại điện tử vẫn còn là vấn đề tranh luận của nhiều tổ chức

tham gia hoạt động về “thương mại điện tử”. Tuy rằng đã có các điều luật về Thương
mại điện tử, trong đó quy định rõ về trách nhiệm, công việc, quyền hạn, các phương
thức trao đổi, buôn bán, sử dụng thương mại điện tử nhưng việc đưa ra một khái niệm
chính xác và bao quát nhất về Thương mại điện tử thì vẫn chưa có. Một số khái niệm
thương mại điện tử được định nghĩa bởi các tổ chức uy tín thế giới như sau:
Theo Tổ chức Thương mại thế giới (WTO), "Thương mại điện tử bao gồm việc
sản xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán và thanh toán
trên mạng Internet, nhưng được giao nhận một cách hữu hình, cả các sản phẩm giao
nhận cũng như những thông tin số hoá thông qua mạng Internet".
Theo Ủy ban Thương mại điện tử của Tổ chức Hợp tác kinh tế châu Á - Thái
Bình Dương (APEC) định nghĩa: "Thương mại điện tử liên quan đến các giao dịch
thương mại trao đổi hàng hóa và dịch vụ giữa các nhóm (cá nhân) mang tính điện tử


12

chủ yếu thông qua các hệ thống có nền tảng dựa trên Internet." Các kỹ thuật thông tin
liên lạc có thể là email, EDI, Internet và Extranet có thể được dùng để hỗ trợ thương
mại điện tử.
Theo Ủy ban châu Âu: "Thương mại điện tử có thể định nghĩa chung là sự mua
bán, trao đổi hàng hóa hay dịch vụ giữa các doanh nghiệp, gia đình, cá nhân, tổ chức
tư nhân bằng các giao dịch điện tử thông qua mạng Internet hay các mạng máy tính
trung gian (thông tin liên lạc trực tuyến). Thật ngữ bao gồm việc đặt hàng và dịch
thông qua mạng máy tính, nhưng thanh toán và quá trình vận chuyển hàng hay dịch
vụ cuối cùng có thể thực hiện trực tuyến hoặc bằng phương pháp thủ công.”
Tóm lại, thương mại điện tử chỉ xảy ra trong môi trường kinh doanh mạng
Internet và các phương tiện điện tử giữa các nhóm (cá nhân) với nhau thông qua các
công cụ, kỹ thuật và công nghệ điện tử. Ngoài ra, theo nghiên cứu tại đại học Texas,
các học giả cho rằng thương mại điện tử và kinh doanh điện tử đều bị bao hàm bởi
Nền kinh tế Internet.


2.2.2 Lợi ích của thương mại điện tử:
- Quảng bá thông tin và tiếp thị cho thị trường toàn cầu với chi phí cực thấp:
Chỉ với từ vài chục đến vài trăm nghìn đồng mỗi tháng, doanh nghiệp có thể đưa
thông tin quảng bá đến với người xem trên khắp thế giới. Đây là điều mà chỉ có
thương mại điện tử làm được cho doanh nghiệp.
Chi phí cho website của doanh nghiệp mỗi tháng ước tính (kinh tế nhất) là:
50.000 đồng chi phí lưu trữ website (hosting), vài trăm nghìn đồng cho chi phí quảng
cáo trên mạng (đây chỉ là chi phí tối thiểu cho website của doanh nghiệp). Doanh
nghiệp sẽ thu được hiệu quả quảng bá cao hơn nếu đầu tư chi phí, thời gian, nhân lực
nhiều hơn cho việc marketing qua mạng.
- Dịch vụ tốt hơn cho khách hàng:
Với thương mại điện tử, doanh nghiệp có thể cung cấp catalogue, brochure,
thông tin, bảng báo giá cho đối tượng khách hàng một cách cực kỳ nhanh chóng,
doanh nghiệp có thể tạo điều kiện cho khách hàng chọn mua hàng trực tiếp từ trên
mạng v.v… Thương mại điện tử mang lại cho doanh nghiệp các công cụ để làm hài
lòng khách hàng, bởi trong thời đại ngày nay, chất lượng dịch vụ, thái độ và tốc độ
phục vụ là những yếu tố rất quan trọng trong việc tìm và giữ khách hàng.
- Tăng doanh thu:


13

Với thương mại điện tử, đối tượng khách hàng của doanh nghiệp giờ đây không
còn bị giới hạn về mặt địa lý. Doanh nghiệp không chỉ có thể bán hàng cho cư dân
trong địa phương, mà còn có thể bán hàng trong toàn bộ Việt Nam hoặc bán ra toàn
cầu. Doanh nghiệp không ngồi chờ khách hàng tự tìm đến mà tích cực và chủ động đi
tìm khách hàng cho mình. Vì thế, số lượng khách hàng của doanh nghiệp sẽ tăng lên
đáng kể dẫn đến tăng doanh thu. Tuy nhiên, lưu ý rằng chất lượng và giá cả sản phẩm
hay dịch vụ của doanh nghiệp phải tốt, cạnh tranh, nếu không, thương mại điện tử

không giúp được cho doanh nghiệp.
- Giảm chi phí hoạt động:
Với Thương mại điện tử, DN không phải chi nhiều cho việc thuê mặt bằng, đông
đảo nhân viên phục vụ, kho chứa... Chỉ cần khoảng 10 triệu đồng xây dựng một
website bán hàng qua mạng, sau đó chi phí vận hành và marketing website mỗi tháng
không quá một triệu đồng, DN đã có thể bán hàng qua mạng. Nếu website của doanh
nghiệp chỉ trưng bày thông tin, hình ảnh sản phẩm, DN tiết kiệm được chi phí in ấn
brochure, catalogue và cả chi phí gửi bưu điện những ấn phẩm này. Nếu DN sản xuất
hàng xuất khẩu, doanh nhân có thể ngồi nhà tìm kiếm khách hàng quốc tế qua mạng.
Doanh nghiệp còn tiết kiệm được chi phí trong việc quản lý dữ liệu, quản lý mối quan
hệ khách hàng (CRM - Customer Relationship Management).
- Lợi thế cạnh tranh:
Kinh doanh trên mạng là “sân chơi” cho sự sáng tạo, nơi đây, doanh nhân tha hồ
áp dụng những ý tưởng hay nhất, mới nhất về dịch vụ hỗ trợ, chiến lược tiếp thị v.v…
Khi các đối thủ cạnh tranh của doanh nghiệp đều áp dụng Thương mại điện tử, thì
phần thắng sẽ thuộc về ai sáng tạo hay nhất để tạo ra nét đặc trưng riêng
(differentiation) cho doanh nghiệp, sản phẩm, dịch vụ của mình để có thể thu hút và
giữ được khách hàng.

2.2.3 Các loại hình thương mại điện tử:
-

Dựa vào chủ thể của thương mại điện tử, có thể phân chia thương mại điện tử ra

-

các loại hình phổ biến như sau:
Giao dịch giữa doanh nghiệp với doanh nghiệp - B2B (business to business).
Giao dịch giữa doanh nghiệp với khách hàng - B2C (business to consumer).
Giao dịch giữa doanh nghiệp với cơ quan nhà nước - B2G (business to

government).


14

-

Giao dịch trực tiếp giữa các cá nhân với nhau - C2C (consumer to consumer).
Giao dịch giữa cơ quan nhà nước với cá nhân - G2C (government to consumer).
Loại hình thương mại điện tử B2B (Business To Business):
Loại hình thương mại điện tử B2B được định nghĩa đơn giản là thương mại
điện tử giữa các công ty. Đây là loại hình thương mại điện tử gắn với mối quan
hệ giữa các công ty với nhau. Khoảng 80% thương mại điện tử theo loại hình
này và phần lớn các chuyên gia dự đoán rằngloại hình thương mại điện tử B2B

-

sẽ tiếp tục phát triển nhanh hơn B2C.
Thị trường B2B có hai thành phần chủ yếu: hạ tầng ảo và thị trường ảo.
Hạ tầng ảo là cấu trúc của B2B chủ yếu bao gồm những vấn đề sau:
• Hậu cần - Vận tải, nhà kho và phân phối.
• Cung cấp các dịch vụ ứng dụng - tiến hành, máy chủ và quản lý phần mềm
trọn gói từ một trung tâm hỗ trợ (ví dụ Oracle và Linkshare).
• Các nguồn chức năng từ bên ngoài trong chu trình thương mại điện tử như
máy chủ trang web, bảo mật và giải pháp chăm sóc khách hàng.
• Các phần mềm giải pháp đấu giá cho việc điều hành và duy trì các hình thức
đấu giá trên Internet.
• Phần mềm quản lý nội dung cho việc hỗ trợ quản lý và đưa ra nội dung

-


trang Web cho phép thương mại dựa trên Web.
Phần lớn các ứng dụng B2B là trong lĩnh vực quản lý cung ứng (Đặc biệt chu
trình đặt hàng mua hàng), quản lý kho hàng (Chu trình quản lý đặt hàng gửi
hàng-vận đơn), quản lý phân phối (đặc biệt trong việc chuyển gia các chứng từ

-

gửi hàng) và quản lý thanh toán (ví dụ hệ thống thanh toán điện tử hay EPS).
Tại Việt Nam có một số nhà cung cấp B2B trong lĩnh vực IT "khá nổi tiếng" là
FPT , CMC, Tinh Vân với hàng loạt các dự án cung cấp phần mềm , các trang
web giá thành cao và chất lượng kém ngoài ra các đại gia này còn là nơi phân

-

phối các phần mềm nhập ngoại mỗi lần nhìn thấy, dùng thử mà chỉ buồn.
Thị trường mạng được định nghĩa đơn giản là những trang web nơi mà người

-

mua người bán trao đổi qua lại với nhau và thực hiện giao dịch.
Qua hai nội dung trên chúng ta có thể đưa ra vài nét tổng quan về các doanh
nghiệp B2B:
• Là những nhà cung cấp hạ tầng trên mạng internet cho các doanh nghiệp
khác như máy chủ, hệ điều hành, phần mềm ứng dụng;


15

• Là các doanh nghiệp chuyên cung cấp các giải pháp trên mạng internet như

cung cấp máy chủ, hosting (Dữ liệu trên mạng), tên miền, các dịch vụ thiết
kế, bảo trì, website;
• Là các doanh nghiệp cung cấp các phần mềm quản lý doanh nghiệp, kế toán
doanh nghiệp, các phần mềm quản trị, các phần mềm ứng dụng khác cho
-

doanh nghiệp;
Các doanh nghiệp là trung gian thương mại điện tử trên mạng internet.
Tại Việt Nam các trang web về B2B rất ít xuất hiện hoặc nó bị gán nhầm cho cái
tên B2B thậm chí nhiều người không hiểu B2B là gì, cứ thấy có doanh nghiệp với
doanh nghiệp là gán cho chữ B2B. Chúng ta có thể ghé thăm các website được xếp
hạng bên trong trang web của Bộ Thương mại Việt Nam để cùng suy nghĩ. Loại

-

hình thương mại điện tử B2C (Business to Customers):
Loại hình thương mại điện tử B2C hay là thương mại giữa các công ty và người
tiêu dùng, liên quan đến việc khách hàng thu thập thông tin, mua các hàng hoá thực
(hữu hình như là sách hoặc sản phẩm tiêu dùng) hoặc sản phẩm thông tin (hoặc
hàng hoá về nguyên liệu điện tử hoặc nội dung số hoá, như phần mềm, sách điện

-

tử) và các hàng hoá thông tin, nhận sản phẩm qua mạng điện tử.
Đơn giản hơn chúng ta có thể hiểu: Loại hình thương mại điện tử B2C là việc một
doanh nghiệp dựa trên mạng internet để trao đổi các hang hóa dịch vụ do mình tạo

-

ra hoặc do mình phân phối.

Các trang web khá thành công với hình thức này trên thế giới phải kể đến

-

Amazon.com, Drugstore.com, Beyond.com.
Tại Việt Nam hình thức buôn bán này đang rất "ảm đạm" vì nhiều lý do nhưng lý
do chủ quan nhất là ý thức của các doanh nghiệp, họ không quan tâm, không để ý
và tệ nhất là không chăm sóc nổi website cho chính doanh nghiệp mình. Tôi đã có
lần trình bày ở bài viết về khởi nghiệp bằng thương mại điện tử của giới trẻ Chi phí
để lập và duy trì một website là rất ít và không tốn kém với một cá nhân chứ chưa
kể đến một doanh nghiệp, doanh nghiệp Việt Nam nếu vẫn trì trệ trong việc cập
nhật công nghệ thì sẽ sớm bị các doanh nghiệp trẻ, doanh nghiệp nước ngoài chiếm

-

mất thị trường béo bở 80 triệu dân với 40% là giới trẻ.
Danh sách các website theo loại hình thương mại điện tửB2C được đánh giá cao

-

trong bảng xếp hạng của Bộ Thương mại Việt Nam.
Loại hình thương mại điện tử C2C (Customer to Customer):


16

-

Loại hình thương mại điện tử khách hàng tới khách hàng C2C đơn giản là thương


-

mại giữa các cá nhân và người tiêu dùng.
Loại hình thương mại điện tử này được phân loại bởi sự tăng trưởng của thị trường
điện tử và đấu giá trên mạng, đặc biệt với các ngành theo trục dọc nơi các công ty /
doanh nghiệp có thể đấu thầu cho những cái họ muốn từ các nhà cung cấp khác

-

nhau. Có lẽ đây là tiềm năng lớn nhất cho việc phát triển các thị trường mới.
Loại hình thương mại điện tử này tới theo ba dạng:
• Đấu giá trên một trang web xác định
• Hệ thống hai đầu P2P, Forum, IRC, các phần mềm nói chuyện qua mạng

-

như Yahoo, Skype, Window Messenger, AOL ...
• Quảng cáo phân loại tại một cổng (rao vặt).
Giao dịch khách hàng tới doanh nghiệp C2B bao gồm đấu giá ngược, trong đó

-

khách hàng là người điều khiển giao dịch.
Tại các trang web của nước ngoài chúng ta có thể nhận ra ngay Ebay là website
đứng đầu danh sách các website theo loại hình thương mại điện tử C2C trên thế
giới đây la một tượng đài về kinh doanh theo hình thức đấu giá mà các doanh

-

nghiệp Việt Nam nào cũng muốn "trở thành".

Tại Việt Nam thì chưa tất các các hinh thức này ở mọi loại dạng, đi đến đâu cũng
thấy quảng cáo rao vặt, rao bán, rao mua, trao đổi.... Tôi có thể đưa ra các website

-

do Bộ Thương mại xếp hạng để các bạn có cơ hội thăm quan.
Ngoài các trang web trên phải kể đến thị trường trên mạng Trái Tim Việt Nam.
Nếu coi Ebay là tượng đài của C2C thế giới thì TTVN đáng coi là tượng đài C2C ở

-

Việt Nam.
Loại hình thương mại điện tử B2G:
Loại hình thương mại điện tử giữa doanh nghiệp với chính phủ (B2G) được định
nghĩa chung là thương mại giữa công ty và khối hành chính công. Nó bao hàm việc
sử dụng Internet cho mua bán công, thủ tục cấp phép và các hoạt động khác liên
quan tới chính phủ. Hình thái này của thương mại điện tử có hai đặc tính: thứ nhất,

-

khu vực hành chính công có vai trò dẫn đầu trong việc.
Thiết lập thương mại điện tử, thứ hai, người ta cho rằng khu vực này có nhu cầu

-

lớn nhất trong việc biến các hệ thống mua bán trở nên hiệu quả hơn.
Các chính sách mua bán trên web tăng cường tính minh bạch của quá trình mua
hàng (và giảm rủi ro của việc không đúng quy cách). Tuy nhiên, tới nay, kích cỡ
của thị trường thương mại điện tử B2G như là một thành tố của của tổng thương



×