Nghiên cứu mô hình MVC và ứng dụng xây dựng website bán hàng cho công ty cổ phần HTL - Pdf 39

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ

tế
H

uế



cK

in

h

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

CỔ KIM NGUYÊN PHƯƠNG

Tr

ườ

ng

Đ
ại

họ

cK

NGHIÊN CỨU MÔ HÌNH MVC VÀ ỨNG
DỤNG XÂY DỰNG WEBSITE BÁN
HÀNG CHO CÔNG TY CỔ PHẦN HTL

Sinh viên thực hiện:

Giáo viên hướng dẫn:

Cổ Kim Nguyên Phương

Th.S Trần Thái Hòa

ng

Lớp: K43 - Tin Học Kinh Tế

Tr

ườ

Niên khóa: 2009 - 2013

Huế, 05/2013


Khóa Luận Tốt Nghiệp

GVHD: Th.S Trần Thái Hòa


họ

trình thực tập cũng như trong công việc sau này.

Tuy nhiên, do kiến thức chuyên môn còn hạn chế cũng như việc thiếu

Đ
ại

kinh nghiệm thực tiễn nên nội dung đề tài không tránh khỏi những thiếu sót. Vì
vậy, em kính mong nhận được sự góp ý, chỉ của quý thầy cô trong Khoa cùng
giáo viên hướng dẫn là Thạc sĩ Trần Thái Hòa để đề tài được hoàn thiện hơn.

ng

Cuối cùng em xin cảm ơn đến tất cả các thầy cô giáo trong Khoa Hệ
Thống Thông Tin Kinh tế, đến gia đình người thân và tất cả bạn bè đã đóng góp

ườ

ý kiến và giúp đỡ cho đề tài của em được hoàn thành.

Tr

Em xin chân thành cảm ơn !

Huế, tháng 05 năm 2013
Sinh viên thực hiện


in

4. Phương pháp nghiên cứu ...........................................................................................11

cK

5. Kết cấu của đề tài.......................................................................................................11
PHẦN B – NỘI DUNG................................................................................................12

họ

CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH MVC ......................................................12
1.1. Xuất xứ của mô hình MVC ....................................................................................12

Đ
ại

1.2. Khái niệm mô hình MVC .......................................................................................12
1.3. Kiến trúc của mô hình MVC ..................................................................................13
1.4. Đặc điểm của mô hình MVC..................................................................................15

ng

1.5. Mô hình MVC trong ASP.NET..............................................................................15

ườ

1.5.1. Lịch sử phát triển của ASP.NET .........................................................................16
1.5.2. Nhược điểm của ASP.NET .................................................................................18



h

2.3. Mô tả chương trình ứng dụng.................................................................................28

in

2.3.1. Khảo sát hiện trạng ..............................................................................................28

cK

2.3.2. Xác lập dự án .......................................................................................................29
2.3.3. Quy trình hoạt động của Website ........................................................................29

họ

2.3.4. Quy trình nghiệp vụ.............................................................................................29
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG .....................................30

Đ
ại

3.1. Cài đặt mô hình MVC ............................................................................................30
3.1.1. Cài đặt chương trình ............................................................................................30
3.1.2. Tạo một Project với ASP.NET MVC..................................................................31

ng

3.1.3. Tạo mới cơ sở dữ liệu..........................................................................................35


tế
H

3.2.3. Xây dựng Controllers ..........................................................................................46
3.2.4. Xây dựng Models ................................................................................................52

h

3.2.5. Xây dựng Views ..................................................................................................54

in

3.3. Tìm hiểu định tuyến URL.......................................................................................58

cK

3.3.1. Đường đi mặc định của ASP.NET MVC URL ...................................................58
3.3.2. Hệ thống định tuyến trong ASP.NET MVC........................................................60

họ

3.3.3. Các quy tắc định tuyến ........................................................................................60
3.4. Truy cập dữ liệu với LINQ.....................................................................................67

Đ
ại

3.5. Bảo mật với ASP.NET MVC APPLICATION ......................................................68
3.6. Hình ảnh chức năng chính của Website .................................................................72
PHẦN C – KẾT LUẬN ...............................................................................................78

Framework: Nền tảng.

tế
H

Request: Yêu cầu.
Server: Máy chủ.

in

Control: Đối tượng điều khiển.

h

Client: Máy trạm.

cK

Test Driven Development (TDD): Phát triển điều hướng.
Unit Test: Kiểm thử đơn vị.

Test: Kiểm thử.

họ

Postback: Phản hồi.

Đ
ại


DANH MỤC CÁC BẢNG
Tên bảng

Trang

Quá trình phát triển của ASP.NET

17

1.2

So sánh giữa ASP.NET Webform và ASP.NET MVC

3.1

Các loại Action Result

3.2

Action Method theo URL

23
50
63

h

tế
H



18

1.5

Nền tảng ASP.NET MVC Framwork

20

2.1

Logo Công ty cổ phần HTL

24

2.2

Cơ cấu tổ chức công ty

27

2.3

Quy trình nghiệp vụ

29

3.1

Cài đặt ASP.NET MVC 3

Trang 6


GVHD: Th.S Trần Thái Hòa

32

3.4

Giao diện Solution của MVC

32

3.5

Giao diện mẫu mô hình MVC

33

3.6

Tạo mới cơ sở dữ liệu

3.7

Biểu đồ phân rã chức năng

3.8

Mức ngữ cảnh


40

3.15

Mối quan hệ giữa các thực thể

43

3.16

Sơ đồ thực thể mối quan hệ

44

3.17

Mô hình cơ sở dữ liệu

45

3.18

Liên kết cơ sở dữ liệu

51

3.19

Mô hình hoạt động của MVC

ại

họ

cK

in

h

tế
H

34

SVTH: Cổ Kim Nguyên Phương – K43THKT

36
36
37
38

Trang 7


GVHD: Th.S Trần Thái Hòa

3.22

Giao diện trang Layoutadmin.Master


3.28

Trang tin tức

3.29

Trang hướng dẫn

3.30

Trang giỏ hàng

3.31

Trang đăng ký

3.32

Trang đăng nhập

74

3.33

Trang quản lý

75

3.34

71
72
72
73
73
74

Tr

ườ

71

SVTH: Cổ Kim Nguyên Phương – K43THKT

Trang 8


Khóa Luận Tốt Nghiệp

GVHD: Th.S Trần Thái Hòa

PHẦN A – MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, việc giới thiệu sản phẩm ngày càng giữ một vai trò quan trọng trong

uế

hoạt động kinh doanh của Công ty, đặc biệt là các Công ty vừa và nhỏ. Và khi công
nghệ thông tin ra đời, thì hoạt động giới thiệu nói chung và quản lý sản phẩm nói riêng

Đ
ại

Tuy nhiên ưu điểm của ASP.NET WebForm đôi khi lại chính là nhược điểm
của nó, chính là không có sự phân chia rõ ràng giữa giao diện và Code xử lý, nên ngay
trong giao diện lại có câu lệnh truy vấn SQL. Đến khi chúng ta cần thay thế hoặc nâng

ng

cấp một chức năng nào đó thì rất rắc rối. Để khắc phục những nhược điểm của
ASP.NET Webform, năm 2007 Microsoft đã cho ra đời nền tảng ASP.NET MVC.

ườ

ASP.NET MVC là một lựa chọn thay thế cho ASP.NET Webform, được xây

dựng với 3 lớp chính: lớp dữ liệu (Models), lớp giao diện (Views) và lớp điều khiển

Tr

(Controllers). Việc chia một trang Web thành nhiều lớp như thế này giúp cho những
lập trình viên có kinh nghiệm có thể xây dựng một Website với cấu trúc chặt chẽ, rõ
ràng. Với cấu trúc 3 lớp như thế này, việc nâng cấp hoặc thay thế một chức năng nào
đó trở nên hết sức dễ dàng, đồng thời việc kiểm thử cũng trở nên đơn giản hơn.

SVTH: Cổ Kim Nguyên Phương – K43THKT

Trang 9




h

cho Công ty cổ phần HTL dựa trên ngôn ngữ ASP.NET MVC:

+ Thực trạng bán hàng của Công ty cổ phần HTL.

họ

+ Xây dựng Website bán hàng cho Công ty cổ phần HTL.
3. Đối tượng và phạm vi nghiên cứu

Đ
ại

Đối tượng nghiên cứu

+ Nghiên cứu ASP.NET MVC 3.

ng

+ Các ngôn ngữ lập trình Web như: ASP, HTML,CSS...
+ Kiến thức về mô hình MVC.

ườ

+ Ứng dụng của mô hình MVC.

Tr



cK

Kiến trúc của mô hình MVC

in

Khái niệm mô hình MVC

h

Xuất sứ của mô hình MVC

Đặc điểm của mô hình MVC

họ

Mô hình MVC trong ASP.NET

Chương 2: Phân tích tình hình công ty

Đ
ại

Tổng quan về tình hình công ty cổ phần HTL
Cơ cấu tổ chức công ty cổ phần HTL

ng

Mô tả chương trình ứng dụng

tế
H

Parc ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập
trình hướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm
việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và

phương thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox Parc

h

còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Models – Views –

in

Controllers).

cK

MVC được phát minh tại Xerox Parc vào những năm 70, bởi Trygve
Reenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Sau đó trong
một thời gian dài hầu như không có thông tin nào về MVC, ngay cả trong tài liệu 80

họ

Smalltalk. Các giấy tờ quan trọng đầu tiên được công bố trên MVC là “A Cookbook
for Using the Models -Views - Controllers User Interface Paradigm in Smalltalk-80”,

Đ
ại

Khóa Luận Tốt Nghiệp

GVHD: Th.S Trần Thái Hòa

dùng. Các trang HTML, JSP, các thư viện và các file nguồn là một phần của thành
phần Views.
Controllers: Controllers là tầng trung gian giữa Models và Views. Controllers
được giao nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ

uế

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 Models

tế
H

và sau đó sinh ra các kết quả cho người dùng và được thành phần Views hiển thị.
1.3. Kiến trúc của mô hình MVC

Trong kiến trúc MVC, một đối tượng đồ họa người dùng (GUI Component) bao
gồm 3 thành phần cơ bản: Models, Views, và Controllers. Model có trách nhiệm đối

h

với toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. Views chính là thể hiện

in

trực quan của Models, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và


GVHD: Th.S Trần Thái Hòa

Controllers biết. Nhận được thông điệp từ Models, Views sẽ cập nhật lại thể hiện của
mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Models. Còn
Controllers, khi nhận được thông điệp từ Models, sẽ có những tương tác cần thiết phản

Đ
ại

họ

cK

in

h

tế
H

uế

hồi lại người sử dụng hoặc các đối tượng khác.

Hình 1.2: Mô hình tuần tự của MVC

Lấy ví dụ một GUI Component (thành phần đồ họa người dùng) đơn giản là

ng



uế

trì, Module hóa các chức năng, và được xây dựng nhanh chóng. MVC tách các tác vụ

tế
H

của ứng dụng thành các phần riêng lẽ Models, Views, Controllers giúp cho việc xây
dựng ứng dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới, và các tính năng cũ
có thể dễ dàng thay đổi. MVC cho phép các nhà phát triển và các nhà thiết kế có thể

mà không ảnh hưởng đến các phần khác.

h

làm việc đồng thời với nhau. MVC cho phép thay đổi trong một phần của ứng dụng

in

Sở dĩ như vậy vì kiến trúc MVC đã tách biệt (Decoupling) sự phụ thuộc giữa

cK

các thành phần trong một đối tượng đồ họa, làm tăng tính linh động (Flexibility) và
tính tái sử dụng (Reusebility) của đối tượng đồ họa đó. Một đối tượng đồ họa bấy giờ
có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần Views của nó trong

họ


Trang 15


Khóa Luận Tốt Nghiệp

GVHD: Th.S Trần Thái Hòa

ASP.NET MVC là một nền tảng (Framework) phát triển ứng dụng Web mới
của Microsoft, nó kết hợp giữa tính hiệu quả và nhỏ gọn của mô hình Models – Views
- Controllers (MVC), những ý tưởng và công nghệ hiện đại nhất, cùng với những
thành phần tốt nhất của nền tảng ASP.NET hiện thời. Là một lựa chọn khác bên cạnh

uế

nền tảng Webform khi phát triển 1 ứng dụng Web sử dụng ASP .NET.
Trong phần này em sẽ trình bày lý do tại sao ASP.NET MVC được tạo ra, nó có

tế
H

gì khác so với ASP.NET Webform, và cuối cùng là những cái mới trong ASP.NET

ườ

ng

Đ
ại

họ

mạnh sự đơn giản.
Bảng 1.1: Quá trình phát triển của ASP.NET
Công nghệ

Sức mạnh

Điểm yếu

Thời kỳ đầu Common Gateway Đơn giản, linh hoạt.

Chạy ngoài Web
server, nên cần

tế
H

Interface (CGI). Lựa chọn duy nhất vào
thời điểm này.

uế

Thời kì

nhiều tài nguyên

(Cần các tiến trình

riêng lẻ trên hệ điều

in


Tr

2004

SQL và Template
cho các kết quả có
định dạng.

Mục đích chung.

Pages

2002/03

những câu truy vấn

Thông dịch thời gian
thực hiện.

Đã được biên dịch.

Nặng nề trên băng

Giao diện có trạng thái.

thông HTML khó
nhìn.

ASP.NET 2.0.

nghệ ASP.NET Webform trong lần đầu xuất hiện năm 2002 .

Hình 1.4: Mô hình ASP.NET Webform

cK

Microsoft đã cố gắng che dấu HTTP (không trạng thái) và HTML ( vào thời
điểm đó không thân thiện với nhiều người lập trình) bằng cách dùng mô hình giao diện

họ

như một đối tượng điều khiển (Control) có cấu trúc hoạt động phía Server.
Mỗi đối tượng điều khiển (Control) lưu giữ trạng thái qua các yêu cầu

Đ
ại

(Request) (sử dụng tính năng ViewState), tự động tạo ra mã HTML khi cần thiết, và tự
động kết nối với các sự kiện phía Client (ví dụ như Click) với mã hồi đáp phía Server.
Kết quả Webform là một lớp trừu tượng lớn nhằm chuyển giao diện có xử lý sự kiện

ng

thông qua Web.

1.5.2. Nhược điểm của ASP.NET

ườ

ASP.NET truyền thống đã từng là một ý tưởng hay, nhưng thực tế lại trở nên


tế
H

ViewState hoặc hiểu được rằng một số trình xử lý sự kiện không được kích họat một
cách bí hiểm.

- Limited Control Over HTML (giới hạn kiểm soát HTML): Server Control tự

h

tạo ra nó như là mã HTML, nhưng không phải là mã HTML mà bạn muốn. Ngoài việc

in

mã HTML của chúng thường không tuân theo tiêu chuẩn Web hoặc không sử dụng tốt

cK

Css mà hệ thống các Server Control còn tạo ra các giá trị ID phức tạp.
- Untestable (kiểm chứng): Khi những người thiết kế của ASP.NET lần đầu tiên
giới thiệu nền tảng này, họ có thể đã không lường trước được là việc kiểm thử (Test)

họ

tự động sẽ trở thành một công đoạn chính của việc phát triển phần mềm ngày nay.
Không quá ngạc nhiên, cấu trúc mà họ đã thiết kế hoàn toàn không thích hợp với việc

Đ
ại


GVHD: Th.S Trần Thái Hòa

vào các lời chỉ trích trước đây.
ASP.NET MVC cung cấp sự tách biệt rõ ràng giữa các thành phần bất chấp
việc sử dụng lại mô hình MVC mặc dù nó không có gì mới – MVC lần đầu được công

như là một kiến trúc cho các ứng dụng Web bởi vì các lý do sau:

uế

bố vào năm 1978 trong dự án Smalltalk của Xerox Parc. Nhưng ngày nay nó phổ biến

tế
H

- Người dùng tương tác với ứng dụng MVC tự nhiên sẽ theo một chu trình :

người dùng thực hiện một hành động, và để hồi đáp lại , ứng dụng thay đổi mô hình dữ
liệu của nó và chuyển một trang đã được cập nhật cho người dùng, và sau đó vòng
xoay lập lại. Điều này là thích hợp cho một ứng dụng Web phải luân chuyển hàng loạt

h

các lời yêu cầu cũng như hồi đáp.

in

- Những ứng dụng Web luôn cần phải kết hợp một số công nghệ (về cơ sở dữ


Tách rõ ràng các mối liên quan, mở khả năng Test-TDD (Test Driven
Developer). Có thể Test Unit trong ứng dụng mà không cần phải chạy Controllers
cùng với tiến trình của ASP.NET và có thể dùng bất kỳ một Unit Testing Framework
nào như NUnit, MBUnit, MSTest, v.v…

uế

Có khả năng mở rộng mọi thứ trong MVC được thiết kế cho phép dễ dàng thay
thế/tùy biến. Bao gồm một ánh xạ URL mạnh mẽ cho phép xây dựng ứng dụng với

tế
H

những URL sạch, các URL không cần CS phần mở.

ASP.NET MVC Framework cũng hỗ trợ những file ASP.NET như: .ASPX
.ASCX và .Master, đánh dấu các tập tin này như một “View Template” (có thể dễ dàng

h

dùng các tính năng của ASP.NET như lồng các trang Master, <%= %> Snippets, mô tả

in

Server Controls, Template, Data-Binding, Localization, v.v… ). Tuy nhiên sẽ không

cK

còn Postback và Interactive Back Server và thay vào đó là Interactive End User tới
một Controller Class (không còn Viewstate, Page Life Cycle).

SVTH: Cổ Kim Nguyên Phương – K43THKT

Trang 21


Khóa Luận Tốt Nghiệp

GVHD: Th.S Trần Thái Hòa

1.5.6. So sánh ASP.NET MVC với ASP.NET
Bạn đã được nghe qua về điểm yếu và giới hạn của ASP.NET Webform truyền
thống, và làm thế nào mà ASP.NET MVC vượt qua những vấn đề này. Điều đó không
có nghĩa là ASP.NET Webform đã chết mà chỉ là Microsoft muốn mọi người hiểu

uế

rằng có hai nền tảng song song nhau, hỗ trợ cho nhau, và cả hai đều là đối tượng cho
việc phát triển hiện tại. Nói chung, việc bạn chọn lựa giữa hai mô hình còn tùy vào

tế
H

hoàn cảnh.

ASP.NET WebForm mang tới một trang Web mà giao diện có thể lưu giữ trạng
thái , và cuối cùng thêm vào một lớp trừu tượng tinh vi nằm trên HTTP và HTML, sử

h

dụng ViewState và Postback để tạo ra hiệu ứng của việc có trạng thái. Điều này thích

ườ

Có những tình huống mà ASP.NET Webform khá tốt thậm chí còn tốt hơn

ASP.NET MVC. Ví dụ như các ứng dụng nhỏ, nội bộ mà trực tiếp kết nối thẳng vào

Tr

các bảng cơ sở dữ liệu hoặc dẫn người sử dụng thông qua các trình hướng dẫn tự động
(Wizard). Vì thế sẽ không cần phải lo lắng về băng thông do ViewState, không dính
dáng tới vấn đề tối ưu hóa hệ thống tìm kiếm, và không bị làm phiền về việc kiểm thử
(Test) và bảo trì lâu dài.

SVTH: Cổ Kim Nguyên Phương – K43THKT

Trang 22


Khóa Luận Tốt Nghiệp

GVHD: Th.S Trần Thái Hòa

Nhưng mặt khác, nếu bạn viết một ứng dụng trên Internet, hoặc các ứng dụng
nội bộ lớn hơn, bạn sẽ hướng tới tốc độ Download nhanh và tương thích trình duyệt
chéo, được xây dựng với chất lượng cao hơn, mã kiến trúc tốt thích hợp cho việc Test

tế
H

uế


cK

chương trình Webform>Business-> Database

chương trình các sự kiện và Control do Server bởi Controllers, các Control

Đ
ại

quản lý

Truy cập dữ

Tr

ườ

Debug

Phần lớn dùng LINQ to SQL

truy cập dữ liệu trong ứng dụng Class để tạo mô hình truy cập

ng

liệu

Sử dụng hầu hết các công nghệ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status