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

(Full code)XÂY DỰNG WEBSITE CHIA SẺ TÀI LIỆU HỌC TẬP CHO SINH VIÊN NGÀNH CNTT, TRƯỜNG ĐẠI HỌC ĐỒNG THÁP

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.72 MB, 74 trang )

TRƯỜNG ĐẠI HỌC ĐỒNG THÁP
KHOA SƯ PHẠM TOÁN - TIN

0018413051 - DƯƠNG TẤN THÀNH

ĐỒ ÁN MÔN HỌC 2

XÂY DỰNG WEBSITE
CHIA SẺ TÀI LIỆU HỌC TẬP CHO SINH VIÊN
NGÀNH CNTT, TRƯỜNG ĐẠI HỌC ĐỒNG THÁP

NGÀNH: KHOA HỌC MÁY TÍNH

LỚP: ĐHCNTT18

Đồng Tháp, 19 tháng 11 năm 2021


TRƯỜNG ĐẠI HỌC ĐỒNG THÁP
KHOA SƯ PHẠM TOÁN - TIN

0018413051 - DƯƠNG TẤN THÀNH

ĐỒ ÁN MÔN HỌC 2

XÂY DỰNG WEBSITE
CHIA SẺ TÀI LIỆU HỌC TẬP CHO SINH VIÊN
NGÀNH CNTT, TRƯỜNG ĐẠI HỌC ĐỒNG THÁP

NGÀNH: KHOA HỌC MÁY TÍNH


LỚP: ĐHCNTT18

Giảng viên hướng dẫn: Thạc sĩ Huỳnh Lê Uyên Minh

Đồng Tháp, 19 tháng 11 năm 2021


LỜI CẢM ƠN
Là một sinh viên Khoa Sư phạm Toán – Tin. Em ln xác định rõ vị trí, vai trị, trách
nhiệm của một người sinh viên là ln cố gắng học hỏi, nghiên cứu những kiến thức, công
nghệ mới. Do đó, trong q trình học tập, em đã lĩnh hội được một số kiến thức, kỹ năng
để phát triển một Website để hỗ trợ công việc học tập của mọi người được thuận tiện hơn.
Nhưng trên hết, trong suốt quá trình tìm hiểu, nghiên cứu đề tài là sự trợ giúp, chỉ bảo tận
tình cơ Huỳnh Lê Un Minh. Và để có được kết quả này, em xin bày tỏa sự biết ơn đặc
biệt đến cơ vì đã hướng dẫn em trong suốt quá trình thực hiện đề tài này.
Mặc dù đã có nhiều cố gắng, song do kiến thức có hạn, đồ án 2 của em khơng thể tránh
khỏi thiếu sót. Em kính mong nhận được những ý kiến đóng góp của q thầy cơ để đề tài
của em sẽ được hoàn thiện hơn.
Em xin chân thành cảm ơn.


DANH MỤC HÌNH ẢNH
Hình 1 Mơ hình MVC

10

Hình 2 Kiến trúc của ASP.NET MVC

12


Hình 3 Quy trình xử lý yêu cầu ASP.NET MVC

13

Hình 4 Sơ đồ Use Case tổng quát

20

Hình 5 Use Case Quản lý kiểm duyệt tài liệu

21

Hình 6 Use case mơ tả tác nhân Administrator

22

Hình 7 Mơ hình thực thể liên kết ERD

27

Hình 8 Activity Diagram hoạt động đăng nhập

35

Hình 9 Activity đóng góp tài liệu

37

Hình 10 Activity Kiểm duyệt tài liệu


39

Hình 11 Sơ đồ tuần tự hoạt động đăng nhập

40

Hình 12 Sơ đồ tuần tự hoạt động đóng góp tài liệu

41

Hình 13 Sơ đồ hoạt động kiểm duyệt tài liệu

42

Hình 14 Giao diện đăng nhập

43

Hình 15 Trang chủ

44

Hình 16 Tra cứu tài liệu

45


Hình 17 Xem tài liệu theo danh mục

46


Hình 18 Giao diện xem tài liệu

47

Hình 19 Xem tin tức

48

Hình 20 Chức năng đóng góp tài liệu

49

Hình 21 Màn hình trả về sau khi người dùng đăng tải tài liệu lên

50

Hình 22 Danh sách tài liệu cần duyệt

51

Hình 23 Xem và kiểm duyệt tài liệu

52

Hình 24 Thơng báo kiểm duyệt tài liệu

53

Hình 25 Quản lý tin tức


54

Hình 26 Chức năng thêm tin tức

55

Hình 27 Cài đặt file .sql

1

Hình 28 Nhấn chọn tạo mới Database

2

Hình 29 Đặt tên Database

3

Hình 30 Khởi tạo Database

4

Hình 31 Chạy file .sln

4

Hình 32 Kết nối Add Connection

5


Hình 33 Lưu thông số kết nối Database

6


Hình 34 Chạy Website trên máy chủ IIS

7


MỤC LỤC
PHẦN MỞ ĐẦU .................................................................................................................. 1
I Giới thiệu.................................................................................................................... 1
II Mục tiêu .................................................................................................................... 1
III Phạm vi nghiên cứu ................................................................................................. 2
IV Phương pháp nghiên cứu ......................................................................................... 2
PHẦN NỘI DUNG............................................................................................................... 4
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ ...................................................... 4
1 Giới thiệu hệ quản trị cơ sở dữ liệu SQL Server ....................................................... 4
1.1.1Khái niệm ............................................................................................................. 4
1.1.2 Lịch sử ra đời ....................................................................................................... 4
1.1.3 Một vài ấn bản của SQL Server .......................................................................... 4
1.2 Giới thiệu về ngơn ngữ lập trình C# và .NET Framework ..................................... 5
1.2.1 Giới thiệu C# ....................................................................................................... 5
1.2.2 Nền tảng .NET ..................................................................................................... 6
1.3 Giới thiệu về Visual Studio 2019 ........................................................................... 6
1.3.1 Giới thiệu ............................................................................................................. 6



1.3.2 Các tính năng của Visual Studio ......................................................................... 7
1.4 Giới thiệu mơ hình MVC........................................................................................ 9
1.5 Giới thiệu về ASP.NET MVC .............................................................................. 11
1.6 Giới thiệu về HTML, CSS, JavaScript ................................................................. 13
1.6.1 Giới thiệu về HTML .......................................................................................... 13
1.6.2 Giới thiệu về CSS .............................................................................................. 14
1.6.3 Giới thiệu về JavaScript .................................................................................... 16
CHƯƠNG 2. XÂY DỰNG WEBSITE MƠ HÌNH ASP.NET MVC 5 ............................. 17
2.1 Mơ tả bài toán ....................................................................................................... 17
2.2 Đặt tả hệ thống...................................................................................................... 18
2.2.1 Các quy trình nghiệp vụ .................................................................................... 18
2.2.2 Sơ đồ thành phần ............................................................................................... 21
2.2.3 Phát hiện thực thể .............................................................................................. 25
2.2.4 Mô hình thực thể liên kết (ERD) ....................................................................... 27
2.2.5 Mơ tả chi tiết thực thể ........................................................................................ 27
2.2.6 Mơ hình Class Diagram ..................................................................................... 31
2.2.7 Sơ đồ hoạt động Activity Diagram .................................................................... 33


2.2.8 Sơ đồ tuần tự Sequence Diagram ...................................................................... 40
Chương 3: Giao diện và chức năng Website ...................................................................... 43
3.1 Giao diện và chức năng trang chủ ........................................................................ 43
3.1.1Giao diện đăng nhập ........................................................................................... 43
3.1.2 Giao diện trang chủ ........................................................................................... 43
3.1.3 Chức năng tìm kiếm tài liệu .............................................................................. 44
3.1.4 Chức năng xem và tải về tài liệu ....................................................................... 46
3.1.5 Xem tin tức ........................................................................................................ 48
3.1.6 Chức năng đóng góp tài liệu .............................................................................. 49
3.2 Giao diện chức năng quản lý ................................................................................ 50
3.2.1 Chức năng kiểm duyệt tài liệu ........................................................................... 50

3.2.2 Chức năng quản lý và xem tin tức ..................................................................... 54
PHẦN KẾT LUẬN ............................................................................................................ 56
I Kết quả đạt được ...................................................................................................... 56
II Hạn chế ................................................................................................................... 56
III Hướng phát triển .................................................................................................... 56


PHẦN MỞ ĐẦU
---oOo---

I Giới thiệu
Ngày nay, hầu hết các ngành, lĩnh vực đều ứng dụng phần mềm quản lý vào trong hệ
thống của mình. Do đó, ngành CNTT đã đang và ngày càng phát triển. Nắm được xu thế
đó, em nhận thấy các sinh viên ngành công nghệ thông tin đang học tại trường có nhu cầu
lớn về việc tra cứu tài liệu, đọc các tài liệu về chuyên ngành của mình, nhất là từ các anh
chị khóa trên để lại. Ngồi ra với những tài liệu khơng u cầu bảng quyền hoặc được sự
cho phép của tác giả, các bạn sinh viên mong muốn được tải về để in ra làm tài liệu hỗ trợ
việc học tập, nghiên cứu. Vậy nên, cần có một Website để tra cứu tài liệu, có cả chức năng
đóng góp, kiểm duyệt tài liệu. Nắm được nhu cầu đó, em quyết định chọn đề tài cho đồ án
2 của mình là Xây dựng Website chia sẽ tài liệu cho trường Đại học Đồng Tháp.

II Mục tiêu
Từ những vấn đề đặt ra nên em xác định cho mục đích của đề tài là xây dựng một
Website lưu trữ, chia sẻ tài liệu cho khoa sư phạm tốn - tin. Mà ở đó các sinh viên có thể
dễ dàng trao đổi tài liệu với nhau một cách thuận tiện. Mặc khác, với mong muốn lang tỏa
sự chia sẻ, giúp đỡ nhau trong học tập nên em sẽ xây dựng cơng cụ đóng góp tài liệu, để
cho tất cả mọi người đều có thể chia sẻ tài liệu của mình lên Website. Điều này làm thúc
đẩy sự phong phú cho kho tài liệu hơn. Nhưng để đảm bảo tiêu chí quan trọng đầu tiên là
tơn trọng quyền tác giả, quyền sở hữu trí tuệ. Website sẽ có chức năng kiểm duyệt, chỉ
những tài liệu được sự cho phép của tác giả, chứng minh nguồn góc rõ ràng và đảm bảo

phù hợp pháp luật, có giá trị tri thức thì mới được duyệt lên Website.

1


III Phạm vi nghiên cứu
Đối tượng của đề tài hướng đến là tất cả các bạn sinh viên khoa sư phạm toán tin tại
trường Đại học Đồng Tháp, kể cả những bạn u thích lập trình, có nhu cầu tra cứu tài liệu
liên quan đến lập trình.

IV Phương pháp nghiên cứu
+ Để thực hiện đề tài, em đã sử dụng phương pháp nghiên cứu lý thuyết và phương
pháp thực hành.
Cụ thể như sau:
- Phương pháp nghiên cứu lý thuyết:
+ Nghiên cứu về hệ quản trị cơ sở dữ liệu SQL Server 2016
+ Nghiên cứu về ngơn ngữ lập trình C#, JavaScript, ngôn ngữ định dạng siêu văn
bản HTML5, CSS3, mô hình ASP.NET MVC 5 và một số cơng nghệ như Ajax, Jquery.
+ Sử dụng dịch vụ cung cấp Icon trực tuyến trên nhằm
tăng tốc độ load trang
+ Nghiên cứu tìm hiểu về các tài liệu chun ngành CNTT, tốn học thường được
chia sẻ trong một số trường Cao đẳng, Đại học trong nước.
+ Phân tích và thiết kế hệ thống hướng đối tượng
- Phương pháp thực nghiệm: kết hợp với nghiên cứu lý thuyết và thực nghiệm
+ Viết chương trình bằng ASP.NET MCV 5 trên IDE Visual Studio 2019,
+ Sử dụng LinQ to SQL nhằm đơn giản hóa truy vấn dữ liệu.
+ Chạy thử nghiệm trên máy chủ cá nhân LocalHost và cuối cùng là đánh giá kết
quả đạt được.

2



Kế hoạch thực hiện đề tài:
Bảng 1. Kế hoạch thực hiện đề tài
Thời gian

Nội dung thực hiện

10/9/2021

Nhận đề tài, liên hệ giảng viên hướng dẫn đề tài

23/9/2021

Tham khảo tài liệu liên quan đề tài, phác thảo cơ sở dữ liệu

7/10/2021

Vẽ các sơ đồ hệ thống bằng UML, thiết kế cơ sở dữ liệu
trên SQL và lập trình hệ thống bằng Visual Studio

1/11/2021

Hoàn thiện Demo, sửa những lỗi phát sinh và hoàn thiện
báo cáo

19/11/2021

Nộp bài


3


PHẦN NỘI DUNG
---oOo--CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

1 Giới thiệu hệ quản trị cơ sở dữ liệu SQL Server
1.1.1Khái niệm
SQL Server chính là một hệ quản trị dữ liệu quan hệ sử dụng câu lệnh SQL để trao đổi
dữ liệu giữa máy cài SQL Server và máy Client. Một Relational Database Management
System – RDBMS gồm có: databases, datase engine và các chương trình ứng dụng dùng
để quản lý các bộ phận trong RDBMS và những dữ liệu khác.

1.1.2 Lịch sử ra đời
Năm 1989, phiên bản đầu tiên của SQL Server 1.0 ra đời được dùng cho các hệ điều
hành 16 bit và được phát triển cho tới ngày nay. Cho tới khi SQL Server ra phiên bản 6.5
thì được thị trường chấp nhận rộng rãi. Một đột phá cải tiến cho SQL Server 7.0 khi được
Microsoft viết lại một engine hoàn toàn mới. Đến khi SQL Server từ phiên bản 7.0 cải tiến
lên 8.0 chủ yếu phát triển về tính năng thiết kế web. Cho đến ngày nay thì phiên bản mới
nhất đó là SQL Server 2019 hỗ trợ bộ vi xử lý 64 bit ra đời vào ngày 4 tháng 11 năm 2019.

1.1.3 Một vài ấn bản của SQL Server
Enterprise: là một ấn bản chứa tất cả các đặc điểm nổi bật của SQL Server như: các
công cụ cho tạo và quản lý phân cụm SQL Server, nhân bộ máy cơ sở dữ liệu và một số
dịch vụ đi kèm. Nó có thể đánh địa chỉ 12 terabytes và quản lý cơ sở dữ liệu lên tới 524
petabytes.

4



Standard: Ấn bản này có thể chạy tốt trên hệ thống lên tới 4 CPU và 2 GB RAM rất
thích hợp cho các dịch vụ thiết kế web vừa và nhỏ.
Developer: Ấn bản này giới hạn số lượng người kết nối với server nhưng có đầy đủ các
tính năng của Enterprise Edition.
Workgroup: ấn bản SQL Server này có các chức năng lõi cơ sở dữ liệu nhưng không đi
kèm các dịch vụ. Ở phiên bản 2012 khơng có ấn bản này.
Express: Ấn bản này dễ dàng sử dụng và quản trị cơ sở dữ liệu đơn giản.

1.2 Giới thiệu về ngơn ngữ lập trình C# và .NET Framework
1.2.1 Giới thiệu C#
C# (hay C sharp) là một ngơn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư
của Microsoft vào năm 2000. C# là ngơn ngữ lập trình hiện đại, hướng đối tượng và được
xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
C# là ngôn ngữ đơn giản: C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn
ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và
lớp cơ sở ảo (virtual base class). Ngơn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++.
Nếu chúng ta thân thiện với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống
về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ
ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngơn ngữ đơn giản hơn.
Là một ngơn ngữ hiện đại: Điều gì làm cho một ngơn ngữ hiện đại? Những đặc tính
như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã
nguồn là những đặc tính được mong đợi trong một ngơn ngữ hiện đại. C# chứa tất cả những
đặc tính trên.

5


Ngơn ngữ lập trình thuần hướng đối tượng: Lập trình hướng đối tượng (OOP: Objectoriented programming) là một phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng
(abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa
(inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên.

Một ngơn ngữ có ít từ khóa: C# là ngơn ngữ sử dụng giới hạn những từ khóa. Phần
lớn các từ khóa được sử dụng để mơ tả thơng tin. Chúng ta có thể nghĩ rằng một ngơn ngữ
có nhiều từ khóa thì sẽ mạnh hơn. Điều này khơng phải sự thật, ít nhất là trong trường hợp
ngơn ngữ C#, chúng ta có thể tìm thấy rằng ngơn ngữ này có thể được sử dụng để làm bất
cứ nhiệm vụ nào.

1.2.2 Nền tảng .NET
.NET Framework được Microsoft đưa ra chính thức từ năm 2002. .NET Framework
chỉ hoạt động trên Windows. Những nền tảng ứng dụng như WPF, Winforms, ASP.NET
hoạt động dựa trên .NET Framework.
Cho đến năm 2013, Microsoft định hướng đi đa nền tảng và phát triển .NET core.
.NET core hiện được sử dụng trong các ứng dụng Universal Windows platform và
ASP.NET Core. Từ đây, C# có thể được sử dụng để phát triển các loại ứng dụng đa nền
tảng trên các hệ điều hành khác nhau (Windows, Linux, MacOS, …)

1.3 Giới thiệu về Visual Studio 2019
1.3.1 Giới thiệu
Visual Studio là một phần mềm hỗ trợ đắc lực cơng việc lập trình Website. Cơng cụ này
được tạo lên và thuộc quyền sở hữu của ông lớn cơng nghệ Microsoft. Năm 1997, phần
mềm lập trình nay có tên mã Project Boston. Nhưng sau đó, Microsoft đã kết hợp các cơng
cụ phát triển, đóng gói thành sản phẩm duy nhất.

6


Visual Studio là hệ thống tập hợp tất cả những gì liên quan tới phát triển ứng dụng, bao
gồm trình chỉnh sửa mã, trình thiết kế, gỡ lỗi. Tức là, bạn có thể viết code, sửa lỗi, chỉnh
sửa thiết kế ứng dụng dễ dàng chỉ với 1 phần mềm Visual Studio mà thơi. Khơng dừng lại
ở đó, người dùng cịn có thể thiết kế giao diện, trải nghiệm trong Visual Studio như khi
phát triển ứng dụng Xamarin, UWP bằng XAML hay Blend vậy.

Phần mềm Visual studio được chia thành 2 phiên bản Visual Studio Enterprise và Visual
Studio Professional, các phiên bản cao cấp có tính phí này được sử dụng nhiều bởi các cơng
ty chun về lập trình. Bên cạnh đó, Microsoft cũng cho ra mắt phiên bản Community
(phiên bản miễn phí) của gói phần mềm, cung cấp cho người dùng những tính năng cơ bản
nhất, phù hợp với các đối tượng lập trình khơng chun, mới tiếp cận tìm hiểu về công nghệ
(đối tượng nghiên cứu, nhà phát triển cá nhân, hỗ trợ dự án mở, các tổ chức phi doanh
nghiệp dưới 5 người dùng).

1.3.2 Các tính năng của Visual Studio
+ Đa nền tảng: Phần mềm lập trình Visual Studio của Microsoft hỗ trợ sử dụng trên nhiều
nền tảng khác nhau. Khơng giống như các trình viết code khác, Visual Studio sử dụng được
trên cả Windows, Linux và Mac Systems. Điều này cực kỳ tiện lợi cho lập trình viên trong
q trình ứng dụng.
+ Đa ngơn ngữ lập trình: Không chỉ hỗ trợ đa nền tảng, Visual Studio cũng cho phép sử
dụng nhiều ngơn ngữ lập trình khác nhau từ C#, F#, C/C++, HTML, CSS, Visual Basic,
JavaScript, …Bởi vậy, Visual Studio có thể dễ dàng phát hiện và thơng báo cho bạn khi các
chương trình có lỗi.
+Hỗ trợ Website: Visual Studio code cũng hỗ trợ Website, đặc biệt trong công việc soạn
thảo và thiết kế Web.

7


+ Kho tiện ích mở rộng phong phú: Mặc dù Visual Studio có hệ thống các ngơn ngữ hỗ trợ
lập trình khá đa dạng. Nhưng nếu lập trình viên muốn sử dụng một ngơn ngữ khác, bạn có
thể dễ dàng tải xuống các tiện ích mở rộng. Tính năng hấp dẫn này được hoạt động như
một phần chương trình độc lập nên không lo làm giảm hiệu năng của phần mềm.
+ Lưu trữ phân cấp: Phần lớn các tệp dữ liệu đoạn mã của Visual Studio đều được đặt trong
các thư mục tương tự nhau. Đồng thời, Visual Studio cũng cung cấp một số thư mục cho
các tệp đặc biệt để bạn lưu trữ an tồn, dễ tìm, dễ sử dụng hơn.

+ Kho lưu trữ an toàn: Với Visual Studio, bạn có thể hồn tồn n tâm về tính lưu trữ, bởi
phần mềm đã được kết nối GIT và một số kho lưu trữ an toàn được sử dụng phổ biến hiện
nay.
+ Màn hình đa nhiệm: Visual Studio sở hữu tính năng màn hình đa nhiệm, cho phép người
dùng mở cùng lúc nhiều tập tin, thư mục dù chúng có thể không liên quan tới nhau.
+ Hỗ trợ viết code: Khi sử dụng code vào trong lập trình, với Visual Studio, cơng cụ này
có thể đề xuất tới các lập trình viên một số tùy chọn thay thế nhằm điều chỉnh đôi chút để
đoạn code áp dụng thuận tiện hơn cho người dùng.
+ Hỗ trợ thiết bị đầu cuối: Phần mềm Visual Studio cũng tích hợp các loại thiết bị đầu cuối,
giúp người dùng không cần chuyển đổi giữa hai màn hình hay trở về thư mục gốc khi thực
hiện một thao tác cần thiết nào đó.
+ Hỗ trợ Git: Do kết nối với GitHub nên Visual Studio cho phép hỗ trợ sao chép, kéo thả
trực tiếp. Các mã code này sau đó cũng có thể thay đổi và lưu lại trên phần mềm.
+ Intellisense: Tính năng nhắc Intellisense được sử dụng hầu hết trong các phần mềm lập
trình, bao gồm cả Visual Studio. Tuy nhiên, so với các trình viết mã, Visual Studio vẫn
được đánh giá cao về tính chun nghiệp. Đặc biệt, tính năng này cịn có thể phát hiện tất

8


cả các đoạn mã khơng đầy đủ, nhắc lập trình viên, gợi ý sửa đổi, khai báo biến tự động
trong trường hợp lập trình viên quên, giúp bổ sung cú pháp cịn thiếu,…
+ Tính năng comment: Tính năng này cho phép lập trình viên để lại nhận xét, giúp dễ dàng
ghi nhớ cơng việc cần hồn thành, khơng bỏ sót cơng đoạn nào. Thì hầu như các ngơn ngữ
lập trình hiện nay điều hỗ trợ tính năng này.

1.4 Giới thiệu mơ hình MVC
Thuật ngữ MVC hay Model – View – Controller đã được sử dụng từ cuối những năm
1970. Được dựa trên ngơn ngữ lập trình Smallalk, lập trình theo hướng đối tượng và sử
dụng giao diện đồ họa (GUI).

Kiến trúc này ngày càng được hoàn thiện và phát triển nhằm giải quyết các vấn đề phát
sinh cũng như các giải pháp cho quá trình phát triển phần mềm. Một mơ hình MVC sẽ tách
ứng dụng hoặc Website thành 3 thành phần chính gồm:
+ Model: là thành phần đại diện cho dữ liệu của ứng dụng, bao gồm cả chức năng kiểm
tra tính hợp lệ của dữ liệu.
+ View: là thành phần đảm trách việc hiển thị dữ liệu và giao diện người dùng (UI)
+ Controller: là các thành phần có trách nhiệm tiếp nhận và xử lý các request gửi đến
cho ứng dụng, làm nhiệm vụ điều phối công việc giữa các View và Model.

9


Cấu trúc MVC gồm 3 thành phần tách biệt như sau:

Hình 1 Mơ hình MVC

Mơ hình MVC có một số ưu điểm như sau:
- Phát triển phần mềm: trở nên chun nghiệp hơn, có thể chia cơng việc cho nhiều
nhóm chun mơn khác nhau như nhóm thiết kế, nhóm lập trình, nhóm tổ chức CSDL, …
Mà khơng bị ảnh hưởng đến nhau. Điều này giúp phát triển ứng dụng nhanh, đơn giản và
dễ nâng cấp về sau.
- Bảo trì: với các lớp được phân chia, các thành phần của một hệ thống dễ được thay
đổi, hạn chế việc thay đổi nhỏ làm ảnh hưởng đến cả chương trình.
- Mở rộng ứng dụng: thao tác thêm chức năng mới vào cho các lớp sẽ dễ dàng hơn là
phân chia theo cách khác.
- Mơ hình MVC có một vài hạn chế nhỏ như: Hao tốn thời gian trung chuyển dữ liệu
giữa các lớp, mất nhiều chi phí để phát triển do sử dụng mã nguồn đóng. Song, so với những
lợi ích mà mơ hình MVC đem lại thì một vài hạn chế trên ta có thể chấp nhận được để cho
ra một chương trình hay Website có sự đầu tư chỉnh chu, bài bản hơn.


10


1.5 Giới thiệu về ASP.NET MVC
ASP.NET MVC là một khung làm việc hỗ trợ đầy đủ cho việc xây dựng ứng dụng
Website theo mơ hình MVC, tương tự như ASP.NET Web Form, nó được xây dựng dựa
trên ASP.NET khung làm việc. Điều này có nghĩa là có thể sử dụng các API (Application
Programming Interface) trong ứng dụng ASP.NET Web From truyền thống vào trong ứng
dụng ASP.NET MVC.
Ngày nay, ASP.NET MVC đã có nhiều cải tiến như cải tiến Testing tốt hơn và làm cho
một cấu trúc Website gọn hơn. MVC khung làm việc được định nghĩa trong namespace
System.Web.MVC
Kiến trúc: chúng ta thấy kiến trúc ASP.NET MVC gồm 3 thành phần chính:
Models: là các thành phần có nhiệm vụ truy xuất dữ liệu từ database và cung cấp dữ
liệu cho database; lưu trữ thông tin, trạng thái của các đối tượng; tất cả các nghiệp vụ logic
đều đượ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 database, việc truy xuất và xác nhận lưu dữ liệu là phần việc của
Model.
View: là các thành phần chịu trách nhiệm hiển thị thông tin người dùng thông qua giao
diện (UI). Thông thường, các thông tin cần hiển thị trên View được tạo ra từ các thành phần
Models trong mơ hình dữ liệu (model data).
Controllers: là các thành phần xử lý tương tác với người dùng, làm việc với model, chọn
một View thích hợp để hiển thị lên giao diện người dùng. Trong một ứng dụng MVC, View
chỉ hiển thị thông tin, còn điều khiển dòng nhập xuất của người dùng vẫn do Controller
đảm trách.

11


Hình 2 Kiến trúc của ASP.NET MVC


Qua quá trình xử lý u cầu trong mơ hình ASP.NET MVC như hình 2. Một trong
những khái niệm quan trọng nhất để hiểu về ứng dụng MVC là khơng có mối quan hệ tồn
tại giữa một request và một tập tin vật lý bên trong web server. Trong một Web From truyền
thống, mỗi request được dịch thành một lời gọi đến một tập tin vật lý trong Web Server.
Web Server sẽ thông dịch yêu cầu này bằng cách tìm kiếm trong thư mục gốc của Website
một tập tin tương ứng. Sau đó, xử lý tập tin này và trả về kết quả dạng HTML.
Đối với MVC, khi thực hiện một yêu cầu, tức như đường dẫn:
VD: một thành phần được gọi
là “Routing engine” sẽ so sánh yêu cầu với route cụ thể

12


Hình 3 Quy trình xử lý yêu cầu ASP.NET MVC

Router sẽ xác định các yêu cầu bằng cách sử dụng một chuỗi nền, thiết lập Controller
và phương thức trong Controller Class cần xử lý yêu cầu. Khi route được nhận diện, công
cụ định tuyến tạo ra bộ giám sát yêu cầu, bộ này lần lượt sẽ tạo ra các đối tượng Controller
để xử lý yêu cầu.

1.6 Giới thiệu về HTML, CSS, JavaScript
1.6.1 Giới thiệu về HTML
HTML là viết tắt của Hyper Text Markup Language (ngôn ngữ đánh dấu siêu văn bản).
HTML cho phép người dùng tạo và cấu trúc hóa các thành phần trên một trang web như
đoạn văn, tiêu đề, liên kết, trích dẫn, bảng biểu...Các phần tử trong HTML là các khối của
trang web HTML, được đại diện bằng những thẻ đánh dấu (tag). Thẻ đánh dấu HTML chứa
các nội dung như ‘paragraph’, ‘heading’, ‘table’... Trình duyệt khơng hiển thị thẻ HTML
nhưng dùng chúng để hiển thị nội dung của trang. HTML không phải là ngôn ngữ lập trình,
mà chỉ là ngơn ngữ đánh dấu, nó đơn giản và dễ học ngay cả với những người mới học làm

web.

13


Lịch sử ra đời của HTML
HTML được tạo ra bởi Tim Berners-Lee, một nhà vật lý tại viện nghiên cứu CERN của
Thụy Sĩ. Ông đã đưa ra ý tưởng về hệ thống siêu văn bản trên Internet. Siêu văn bản nghĩa
là văn bản có thể chứa liên kết đến văn bản khác mà người dùng có thể truy cập ngay lập
tức.
Ông đã xuất bản phiên bản HTML đầu tiên vào năm 1991, bao gồm 18 thẻ HTML. Sau
đó, ngơn ngữ HTML có thêm nhiều thẻ và thuộc tính mới để đánh dấu văn bản. Theo tài
liệu tham khảo HTML Element Reference của Mozilla Developer Network, hiện có khoảng
140 thẻ HTML, bao gồm cả một số thẻ đã lỗi thời, không cịn được các trình duyệt hiện đại
hỗ trợ nữa. Các thơng số HTML hiện được duy trì và phát triển bởi W3C (World Wide Web
Consortium).
Từ những ngày đầu của web đã có rất nhiều phiên bản HTML: HTML (1991), HTML
2.0 (1995), HTML 3.2 (1997), HTML 4.01 (1999), XHTML (2000), HTML 5 (2014).
HTML5 cũng là bản nâng cấp lớn nhất của ngôn ngữ này, bổ sung thêm một số thẻ mới
như <article>, <header> và <footer>.

1.6.2 Giới thiệu về CSS
CSS là viết tắt của Cascading Style Sheets, một ngôn ngữ thiết kế đơn giản, xử lý một
phần giao diện của trang web. CSS mô tả cách các phần tử HTML hiển thị trên màn hình
và các phương tiện khác. Sử dụng CSS, bạn có thể kiểm sốt màu chữ, cỡ chữ, kiểu chữ,
khoảng cách giữa các đoạn văn bản, kích thước của các thành phần trên trang web, màu
nền, thiết kế bố cục và cách trang web hiển thị trên những màn hình có kích thước khác
nhau cũng như hàng loạt hiệu ứng khác. CSS rất hữu ích và tiện lợi. Nó có thể kiểm sốt
tất cả các trang trên một website. Các stylesheet ngoài được lưu trữ dưới dạng các tập tin
.CSS được kết hợp với ngôn ngữ đánh dấu HTML hoặc XHTML. Về bản chất, CSS giúp


14


ta có thể dễ dàng nâng cấp, sửa đổi Website về mặt giao diện một cách dễ dàng và nhanh
chống nhất.
Một số ưu điểm của CSS:
- Tiết kiệm thời gian: Bạn có thể viết CSS một lần và sử dụng lại chúng trên nhiều trang
HTML. Có thể định kiểu cho từng phần tử HTMLM và áp dụng kiểu đó cho bao nhiêu
trang web tùy ý.
- Tải trang nhanh hơn: Với CSS, bạn khơng cần khai báo thuộc tính cho từng tag HTML
mỗi lần dùng tag đó. Chỉ cần viết thuộc tính của tag trong CSS và nó sẽ được áp dụng mỗi
khi tag xuất hiện trên trang web. Nhờ đó, số lượng code cần viết sẽ ít đi, thời gian load
trang sẽ nhanh hơn.
- Bảo trì dễ dàng: Để thực hiện thay đổi trên toàn bộ trang, chỉ cần đổi kiểu trong file
CSS và tất cả các thành phần trên trang web sẽ được cập nhật tự động.
- Có nhiều kiểu hơn HTML: CSS có một loạt thuộc tính, nhiều hơn so với HTML khá
nhiều. Nhờ đó bạn có thể làm cho trang web hiển thị tốt hơn so với chỉ dùng HTML.
- Khả năng tương thích với nhiều thiết bị: CSS cho phép nội dung được tối ưu hóa trên
nhiều loại thiết bị. Bằng cách sử dụng cùng một tài liệu HTML, nhưng nó có thể hiển thị
tốt trên PC, điện thoại, các thiết bị cầm tay hay khi in.
- Tiêu chuẩn Web tồn cầu: Các thuộc tính HTML hiện khơng cịn được sử dụng nữa,
bạn được khun nên sử dụng CSS để có thể tạo ra những trang web tương thích với mọi
trình duyệt trong tương lai.

15


1.6.3 Giới thiệu về JavaScript
JavaScript được tạo trong mười ngày bởi Brandan Eich, một nhân viên của Netscape,

vào tháng 9 năm 1995. Được đặt tên đầu tiên là Mocha, tên của nó được đổi thành Mona
rồi LiveScript trước khi thật sự trở thành JavaScript nổi tiếng như bây giờ. Phiên bản đầu
tiên của ngôn ngữ này bị giới hạn độc quyền bởi Netscape và chỉ có các tính năng hạn chế,
nhưng nó tiếp tục phát triển theo thời gian, nhờ một phần vào cộng đồng các lập trình viên
đã liên tục làm việc với nó.
Trong năm 1996, JavaScript được chính thức đặt tên là ECMAScript. ECMAScript 2
phát hành năm 1998 và ECMAScript 3 tiếp tục ra mắt vào năm 1999. Nó liên tục phát triển
thành JavaScript ngày nay, giờ đã hoạt động trên khắp mọi trình duyệt và trên khắp các
thiết bị từ di động đến máy tính bàn.
JavaScript liên tục phát triển kể từ đó, có lục đạt đến 92% website đang sử dụng
JavaScript vào năm 2016. Chỉ trong 20 năm, nó từ một ngơn ngữ lập trình riêng trở thành
công cụ quan trọng nhất trên bộ công cụ của các chun viên lập trình web.
JavaScript có rất nhiều ưu điểm khiến nó vượt trội hơn so với các đối thủ, đặc biệt trong
các trường hợp thực tế. Sau đây chỉ là một số lợi ích của JavaScript:
-

Khơng cần một compiler vì web browser có thể biên dịch nó bằng HTML.

-

Nó dễ học hơn các ngơn ngữ lập trình khác.

-

Lỗi dễ phát hiện hơn và vì vậy dễ sửa hơn.

-

Nó có thể được gắn trên một số element của trang web hoặc event của trang web như
là thông qua click chuột hoặc di chuột tới.


-

JavaScript hoạt động trên nhiều trình duyệt, nền tảng, vâng vâng.

-

Có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủ cơng khi
truy xuất qua database.

-

Nó nhanh hơn và nhẹ hơn các ngơn ngữ lập trình khác.

16


×