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

HỆ THỐNG QUẢN lý, PHÂN TÍCH và BIỂU DIỄN TRỰC QUAN hóa THÔNG TIN, ý KIẾN PHẢN hồi từ cựu SINH VIÊN

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 (2.94 MB, 78 trang )

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

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

TRẦN QUANG TÍN
ĐỒN VIỆT HÙNG

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

HỆ THỐNG QUẢN LÝ, PHÂN TÍCH VÀ BIỂU DIỄN
TRỰC QUAN HĨA THƠNG TIN, Ý KIẾN PHẢN HỒI
TỪ CỰU SINH VIÊN
ALUMMI’S INFORMATION MANAGEMENT SYSTEM
INTEGRATED THE FEEDBACK ANALYSIS AND
VISUALIZATION TOOLS
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH 2021


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

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

TRẦN QUANG TÍN – 14520959
ĐỒN VIỆT HÙNG – 14521129

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


HỆ THỐNG QUẢN LÝ, PHÂN TÍCH VÀ BIỂU DIỄN
TRỰC QUAN HĨA THƠNG TIN, Ý KIẾN PHẢN HỒI
TỪ CỰU SINH VIÊN
ALUMMI’S INFORMATION MANAGEMENT SYSTEM
INTEGRATED THE FEEDBACK ANALYSIS AND
VISUALIZATION TOOLS
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
PGS.TS VŨ ĐỨC LUNG


TP. HỒ CHÍ MINH 2021

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHĨA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số............................
ngày.....................................của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1... ........................................................– Chủ tịch.
2... ........................................................– Thư ký.
3... ........................................................– Ủy viên.
4... ........................................................– Ủy viên.


LỜI CẢM ƠN
Sau 5 năm học tập và rèn luyện tại Trường Đại Học Công Nghệ Thông Tin,
được sự chỉ bảo và giảng dạy nhiệt tình của q thầy cơ, đặc biệt quý thầy cô trong
khoa Công Nghệ Phần Mềm, chúng em đã nhận được nhiều kiến thức bổ ích về lý
thuyết và thực hành trong thời gian qua. Trong khoảng thời gian thực hiện luận văn
tốt nghiệp, chúng em càng học hỏi thêm được nhiều kiến thức, kinh nghiệm để áp
dụng và đã hoàn thành được luận văn tốt nghiệp của chúng em.

Xin chân thành cảm ơn quý thầy cô Khoa Công Nghệ Phần mềm, đặc biệt là
thầy VŨ ĐỨC LUNG đã tận tình hướng dẫn chúng em hồn thành luận văn tốt
nghiệp này.
Bên cạnh đó, một lần nữa xin cảm ơn nhóm các bạn cùng lớp làm khóa luận
đã động viên, thảo luận và góp ý cho nhóm đồng thời đã khơi thêm nguồn động lực
cho nhóm để tiếp thêm động lực cho nhóm trong giai đoạn đầy khó khăn.
Ngồi ra, chúng em cũng cảm ơn các anh, chị, bạn bè và gia đình đã giúp đỡ
và tạo điều kiện cho chúng em hoàn tất luận văn này.
Mặc dù đã rất cố gắng, tuy nhiên vì khả năng giới hạn nên vẫn khơng tránh
khỏi những sai sót, chúng em rất mong nhận được sự thơng cảm và góp ý chân tình
từ q thầy cơ và các bạn. Một lần nữa xin được chân thành cảm ơn mọi người.
Thành phố Hồ Chí Minh, ngày 15 tháng 01 năm 2021

TRẦN QUANG TÍN

ĐỒN VIỆT HÙNG


MỤC LỤC
LỜI MỞ ĐẦU.....................................................................................................9
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI..............................................................10
1.1.

Đặt vấn đề:........................................................................................ 10

1.2.

Mô tả đề tài:...................................................................................... 12

1.3.


Mục tiêu:........................................................................................... 14

1.4.

Phạm vi:............................................................................................ 14

1.5.

Kết quả dự kiến:................................................................................14

CHƯƠNG 2: CÁC CÔNG NGHỆ SỬ DỤNG................................................15
2.1.

.Net Framework................................................................................ 15

2.1.1.

Định nghĩa:................................................................................. 15

2.1.2.

ASP.NET Web API....................................................................16

2.1.3.

ADO.NET...................................................................................19

2.2.


Azure Database.................................................................................23

2.3.

Azure WebApp Service....................................................................24

2.4.

Bootstrap...........................................................................................26

2.5.

Laravel.............................................................................................. 27

2.5.1.

Tổng quan...................................................................................27

2.5.2.

Laravel - Excel........................................................................... 28

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...............................30
3.1.

Phân tích yêu cầu:.............................................................................30

3.1.1.

Sơ đồ Use case:.......................................................................... 30


3.1.2.

Danh sách các actor:...................................................................30

3.1.3.

Danh sách các Use case:............................................................ 31

3.1.4.

Đặc tả các Use case:................................................................... 32

3.2.

Sơ đồ tuần tự:....................................................................................46

3.2.1.

Chức năng “đăng nhập”:............................................................ 46

3.2.2.

Chức năng “Quản lý thông tin người dùng”:.............................47


3.2.3.

Chức năng “Tìm kiếm”:............................................................. 48


3.2.4.

Chức năng “Hiển thị sự kiện”:...................................................48

3.2.5.

Chức năng “Hiển thị việc làm”:.................................................50

3.2.6.

Chức năng “Góp ý”:...................................................................50

3.2.7.

Chức năng “Thống kê”:............................................................. 51

3.2.8.

Chức năng “Thêm cựu sinh viên”:.............................................52

3.2.9.

Chức năng “Gửi khảo sát”:........................................................ 53

3.3.

Thiết kế cơ sở dữ liệu:...................................................................... 54

3.3.1.


Quản lý người dùng....................................................................54

3.3.2.

Khảo sát...................................................................................... 55

3.3.3.

Quản lý bài đăng........................................................................ 56

3.4.

Thiết kế kiến trúc hệ thống:..............................................................57

3.5.

Thiết kế giao diện............................................................................. 59

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................ 76
TẢI LIỆU THAM KHẢO................................................................................77


DANH MỤC HÌNH


DANH MỤC BẢNG


LỜI MỞ ĐẦU
Cựu sinh viên là một nguồn tài nguyên quan trọng đối với công tác giảng dạy,

xây dựng và phát triển ở cấp bậc giáo dục đại học. Tại sao lại nói như vậy? Một góc
nhìn khác cựu sinh viên chính là sản phẩm được tạo ra từ việc giảng dạy ở trường
đại học của họ, được các công ty, tổ chức sử dụng, đánh giá. Mặt bằng chất lượng
chung của các cựu sinh viên tốt nghiệp từ một trường đại học sẽ cho thấy được bộ
mặt, chất lượng giảng dạy của trường đại học đó. Đó là một trong các cơ sở để các
công ty, tổ chức so sánh, đánh giá chất lượng giữa các trường đại học với nhau. Vì
thế nếu trường đại học có thể có được các thông tin trải nghiệm của cựu sinh viên
khi tham gia vào các công ty, tổ chức như thiếu sót về nghiệp vụ, kỹ năng, xu
hướng, của các cơng ty, tổ chức cần, sau đó có các tổng hợp, đánh giá thì có thể làm
cơ sở nâng cao chất lượng của trường đại học, bắt kịp xu hướng mà các công ty, tổ
chức hướng tới. Nâng cao được chất lượng của trường đại học trong mắt các công
ty, tổ chức. Giúp trường dễ dàng thu hút vốn đầu tư cũng như tăng cao tỷ lệ có việc
làm cho các sinh viên tốt nghiệp. Nhưng hiện nay ở Việt Nam, các trường đại học
vẫn chưa có nhiều biện pháp để tận dụng tốt nguồn tài nguyên cựu sinh viên này.
Khóa luận này có nội dung là xây dựng một trang web hỗ trợ thu thập thông
tin từ cựu sinh viên, sau đó có các thống kê cần thiết giúp hỗ trợ nhà trường đưa ra
các quyết định trong công tác nâng cao chất lượng giảng dạy.
Ngồi ra trang web cịn giúp tăng sự tương tác giữa nhà trường và cựu sinh
viên. Nhà trường có thể cung cấp thơng tin giúp đỡ cựu viên dễ dàng kiếm việc làm.
Tăng thiện cảm của cựu sinh viên, giúp trường dễ dàng thu thập thông tin từ cựu
sinh viên hơn.


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1.

Đặt vấn đề:
Trong nước: Thông qua tìm kiếm trên Google thì hiện nay ở Việt Nam,

nhóm thực hiện chưa tìm thấy các hệ thống quản lý cựu sinh viên ở các trường đại

học được công bố. Từ khóa “Hệ thống quản lý cựu sinh viên” trên google cũng
khơng cho ra một kết quả tìm kiếm chính xác nào. Đa phần các trường đại học sẽ sử
dụng hệ thống quản lý cựu sinh viên đơn giản theo cách xuất danh sách sinh viên đã
tốt nghiệp. Quy trình làm việc bao gồm dựa theo danh sách sinh viên đã tốt nghiệp
được xuất từ hệ thống, sau đó liên lạc (qua điện thoại, hội sinh viên, gửi email hay
tạo group trên các mạng xã hội) và lấy thông tin, nhập dữ liệu vào hệ thống một
cách thủ công. Một số trường thì tạo các phiếu khảo sát online nhưng nội dung khá
đơn giản và không thu thập được nhiều thông tin từ cựu sinh viên. [1]
Hiện nay, theo tìm hiểu của nhóm thì trường (UIT) đang thực hiện việc quản
lý cựu sinh viên thông qua lấy phiếu khảo sát cựu sinh viên hằng năm và có một
Group Facebook “Ban liên lạc cựu sinh viên” do thầy Nguyễn Văn Toàn quản lý [2].
Ngoài nước: Trên thế giới, vấn đề quản lý cựu sinh viên cũng đang rất được
các trường đại học quan tâm. Tại “7th International Conference on Education,
Management, Information and Mechanical Engineering (EMIM 2017)” - Hội nghị
quốc tế lần thứ 7 về Giáo dục, Quản lý, Thông tin và Kỹ thuật Cơ khí, chỉ ra rằng
cựu sinh viên là một nguồn tài nguyên quan trọng trong việc quản lý và nâng cao
chất lượng giáo dục của trường đại học. Nhưng việc thực hiện quản lý cựu sinh
không dễ dàng và nhiều khó khăn. Thách thức ở đây là việc thu thập thông tin của
cựu sinh viên một các kịp thời, không bị chậm trễ với nhu cầu của nhà trường và xã
hội. Ngồi ra việc thu thập thơng tin từ cựu sinh viên từ các nguồn khác nhau dẫn
đến thông tin không đầy đủ và bị nhiễu loạn khơng thống nhất. Dẫn đến khó khăn
trong q trình tổng hợp, xử lý các thông tin nhận được từ cựu sinh viên. [3]


Hội nghị này trình bày mơ hình ra quyết định và khai thác dữ liệu để hỗ trợ
lãnh đạo nhà trường thực hiện một số quyết định quản lý đa chiều, đa cấp bằng cách
khai thác mức độ liên quan và định hướng trong thông tin cựu sinh viên.
Ở cấp độ chức năng, mơ hình thu thập và lưu trữ thông tin cựu sinh viên một
cách thông minh, bao gồm thông tin cơ bản, thông tin liên hệ, kinh nghiệm giáo dục,
kinh nghiệm làm việc, mạng xã hội và cấu trúc kiến thức. Ngồi ra, nó sử dụng

cơng nghệ khai thác dữ liệu để trích xuất thơng tin sẵn có của cựu sinh viên, được
áp dụng cho việc làm, giảng dạy, nghiên cứu, quản lý và dịch vụ:
 Việc làm: Nền tảng khai thác đầy đủ nền tảng giáo dục và kinh
nghiệm làm việc của các cựu sinh viên để mô phỏng thông minh việc
lập kế hoạch nghề nghiệp của sinh viên tốt nghiệp, đồng thời cải thiện
tỷ lệ việc làm của sinh viên tốt nghiệp và tỷ lệ nhập học của trường.
 Giảng dạy: Nền tảng khai thác thông tin có giá trị từ các cựu sinh viên
bao gồm xu hướng phát triển mới nhất của ngành và các yêu cầu cơ
bản của doanh nghiệp đối với sinh viên tốt nghiệp. Thơng tin cũng có
thể hữu ích cho cải cách giảng dạy.
 Nghiên cứu: Là nguồn nhân lực chất lượng cao được đào tạo tại các
trường cao đẳng và đại học, cựu sinh viên hỗ trợ kinh phí nghiên cứu,
đáp ứng nhu cầu công nghệ và thông tin mới nhất của ngành, thúc đẩy
ứng dụng thành tựu nghiên cứu khoa học vào thực tiễn sản xuất.
 Quản lý: Công nghệ khai thác dữ liệu làm cho công việc quản lý cựu
sinh viên trở nên tự động, thông minh và hiệu quả. Những công việc
này bao gồm cập nhật và theo dõi thông tin cựu sinh viên, dự báo và
thống kê.
 Dịch vụ: Nền tảng có thể hỗ trợ lãnh đạo trường thực hiện nhiều quyết
định hiệu quả, hợp lý và chính xác, đồng thời cung cấp các báo cáo
phân tích đa chiều bao gồm phân tích xu hướng việc làm của cựu sinh


viên, dự báo phân bổ ngành của cựu sinh viên và đánh giá mức độ hài
lịng trong cơng việc của cựu sinh viên.
Tại Hội nghị này nêu ra được các giải pháp cũng như mơ hình cho hệ thống
quản lý cưu sinh viên thông minh. Nhấn mạnh trong 03 yếu tố: mạng lưới cựu sinh
viên, thu thập và tối ưu hóa dữ liệu nhận được, Phân tích khai thác dữ liệu.
Hiện nay trên thế giới cũng có các trang web cho phép quản lý cựu sinh viên
được sử dụng như: Almabase, Disciple, Graduway,.. và điều phải trả phí khi sử

dụng. [11]
1.2.

Mơ tả đề tài:
Dựa theo mơ hình quản lý cựu sinh viên thông minh được nêu ra trong hội

nghị và tình hình các trường đại học trong nước. KLTN hướng tới việc thực hiện hệ
thống quản lý, phân tích thơng tin cựu sinh viên nhằm giúp đỡ các trường Đại học
trong quá trình quản lý cựu sinh viên. [2]
Bằng việc tận dụng mảng xã hội [4] có sẵn FaceBook [1] và Gmail để gửi tới
các cựu sinh viên các phiếu khảo sát để thu thập thông tin. Các form này sẽ lấy
thông tin feedback của cựu sinh viên [7] về các thông tin như: thời gian kiếm được
việc làm sau tốt nghiệp, cơng ty, vị trí, mức độ phù hợp của công việc đối với
chuyên ngành và nội dung giảng dạy của Nhà trường, mức lương,… Các thông tin
này sẽ được lưu trữ bảo mật trong hệ thống không được thể hiện ra mà chỉ được
dùng trong các công việc thống kê số liệu.
Hệ thống sẽ thực hiện nhập thông minh các dữ liệu được lấy từ form (excel)
vào hệ thống và xử lý lọc dữ liệu chuẩn bị cho bước thống kê.
Dựa theo các thu tin lưu trữ được từ cựu sinh viên Hệ thống sẽ đưa ra các
thống kê cho Nhà trường thấy được [6]: tỷ lệ kiếm được việc làm sau khi tốt nghiệp
theo từng khoa, khu vực làm việc, thành phần kinh tế, mức thu nhập bình qn
hàng tháng, xu hướng nghề nghiệp,…
Ngồi ra Nhà trường cịn có thể điều tra lý do sinh viên tốt nghiệp chậm hoặc
khơng tìm được việc làm; thu thập thơng tin phản hồi của sinh viên tốt nghiệp về


những kiến thức, kỹ năng mà sinh viên còn yếu, cịn thiếu so với u cầu của cơng
việc; [5]
Hệ thống cịn cho phép cựu sinh viên tìm kiếm các trợ giúp từ nhà trường,
cho phép tìm kiếm tạo các kết nối giữa các cựu sinh viên có cùng điểm tương đồng

(cơng ty, khoa, lớp, vị trí khu vực…). [3].
Tổng qt tính năng của hệ thống thu thập, phân tích thơng tin cựu sinh viên:
 Thu nhận thông tin sinh viên tốt nghiệp từ nhà trường.
 Tự động gửi form khảo sát đến các cựu sinh viên khi đạt các mốc thời
gian ( 01 lần mỗi năm).
 Xử lý thu nhận dữ liệu từ form khảo sát vào hệ thống.
 Phân loại và lọc các thông tin nhận được từ cựu sinh viên.
 Cung cấp các thông tin, thống kê về khả năng tham gia thị trường lao
động của sinh viên tốt nghiệp.
 Đánh giá mức độ phù hợp giữa chương trình đào tạo, các kiện thức,
kỹ năng cũng như các tiêu chuẩn về hành vi, thái độ, các phẩm chất
khác được trang bị cho sinh viên với yêu cầu sử dụng của người lao
động.
 Cung cấp các thông tin, thống kê để nhà trường điều chỉnh phương
thức, kế hoạch, chương trình đào tạo: Hồn thiện nội dung, chương
trình đào tạo đầu ra; hoàn thiện tài liệu, phương tiện giảng dạy; cung
cấp thông tin phục vụ công tác tuyển sinh, hướng nghiệp và giới thiệu
việc làm cho sinh viên; thực hiện các chương trình hợp tác giữa nhà
trường với các doanh nghiệp, nhà tuyển dụng…
 Phục vụ cho các hoạt động đánh giá chất lượng đào tạo của Nhà
trường và các hoạt động liên quan khác.
 Cung cấp các thông tin hữu ít hỗ trợ cho các sinh viên tốt nghiệp tìm
kiếm việc làm, xác định định hướng cơng việc, hồn thiện bản thân
trong quá trình làm việc, tạo các mối liên hệ hỗ trợ giúp đỡ lẫn nhau


giữa các sinh viên tốt nghiệp có các điểm tương đồng (cùng cơng ty/vị
trí cơng việc/khoa/lớp).
Dựa trên thơng tin cựu sinh viên thu thập được, khai phá dữ liệu để hỗ trợ và
quyết định.

1.3.

Mục tiêu:
Xây dựng một hệ thống nhằm quản lý các thông tin cựu sinh viên, thu thập

các ý kiến phản hồi, phân tích và biểu diễn trực quan các ý kiến này giúp hỗ trợ các
nhà quản lý giáo dục liên tục nâng cao chất lượng đào tạo.
1.4.

Phạm vi:
 Được sử dụng bởi Trường đại học và các cựu sinh viên tốt nghiệp từ trường.
 Nguồn dữ liệu: Từ nhà trường và các cựu sinh viên.
 Công nghệ: .Net web API
 Cơ sử dữ liệu: Azure DataBase hoặc MySQL hoặc SQL Server,..
 Ngôn ngữ back-end: C#
 Ngôn ngữ front-end: HTML5, CSS3, JS,..
 Công cụ hỗ trợ: Bootstrap, Laravel, Laravel- Excel, Redis

1.5.

Kết quả dự kiến:

 Một hệ thống/phần mềm có các chức năng:
 Tự động lấy dữ liệu chính xác đầu vào (thơng tin sinh viên từ trường, thông
tin từ mẫu feedback của cựu sinh viên).
 Các thống kê hỗ trợ nhà trường trong việc cải thiện dạy học cũng như các
hỗ trợ việc làm cho sinh viên.
 Các hỗ trợ từ hệ thống cho sinh viên/cựu sinh viên trong quá trình học tập,
làm việc.
Website hoạt động tốt, giao diện trực quan và thân thiện với người dùng.



CHƯƠNG 2: CÁC CÔNG NGHỆ SỬ DỤNG
2.1. .Net Framework
2.1.1. Định nghĩa:
.NET Framework là một môi trường thực thi được quản lý cho Windows
cung cấp một loạt các dịch vụ cho các ứng dụng đang chạy của nó. Nó bao gồm hai
thành phần chính: The Common Language Runtime (CLR), là cơng cụ thực thi xử
lý các ứng dụng đang chạy và thư viện .NET Framework Class, cung cấp một thư
viện mã được thử nghiệm, có thể tái sử dụng mà các nhà phát triển có thể gọi từ các
ứng dụng của riêng họ. Các dịch vụ .NET Framework cung cấp cho các ứng dụng
đang chạy bao gồm:


Quản lý bộ nhớ. Trong nhiều ngơn ngữ lập trình, lập trình viên chịu

trách nhiệm phân bổ và phát hành bộ nhớ và xử lý tuổi thọ đối tượng.
Trong các ứng dụng .NET Framework, CLR cung cấp các dịch vụ này thay
mặt cho ứng dụng.


Một hệ thống loại phổ biến. Trong các ngôn ngữ lập trình truyền

thống, các loại cơ bản được xác định bởi trình biên dịch, làm phức tạp khả
năng tương tác giữa các ngôn ngữ. Trong .NET Framework, các loại cơ
bản được xác định bởi hệ thống loại .NET Framework và phổ biến cho tất
cả các ngôn ngữ nhắm đến .NET Framework.


Một thư viện lớp rộng lớn. Thay vì phải viết một lượng lớn mã để xử


lý các hoạt động lập trình cấp thấp phổ biến, lập trình viên sử dụng một thư
viện dễ dàng truy cập các loại và các thành phần của nó từ thư viện
lớp .NET Framework.


Khn khổ phát triển và công nghệ. .NET Framework bao gồm các

thư viện cho các lĩnh vực phát triển ứng dụng cụ thể, chẳng hạn như
ASP.NET cho ứng dụng web, ADO.NET để truy cập dữ liệu, Windows
Communication Foundation cho các ứng dụng định hướng dịch vụ và
Windows Presentation Foundation cho ứng dụng máy tính để bàn Windows.




Khả năng tương tác ngơn ngữ. Trình biên dịch ngơn ngữ nhắm mục

tiêu .NET Framework phát ra một mã trung gian có tên Common
Intermediate Language (CIL), do đó, được biên dịch tại thời gian chạy theo
thời gian chạy ngôn ngữ chung. Với tính năng này, các thói quen được viết
bằng một ngơn ngữ có thể truy cập được sang các ngơn ngữ khác và các lập
trình viên tập trung vào việc tạo ứng dụng bằng ngơn ngữ ưa thích của họ.


Khả năng tương thích phiên bản. Với ngoại lệ hiếm hoi, ứng dụng

được phát triển bằng cách sử dụng một phiên bản cụ thể của .NET
Framework chạy mà không sửa đổi trên một phiên bản mới hơn.



Thực thi song song. .NET Framework giúp giải quyết xung đột phiên

bản bằng cách cho phép nhiều phiên bản của thời gian chạy ngôn ngữ
chung tồn tại trên cùng một máy tính. Điều này có nghĩa là nhiều phiên bản
ứng dụng có thể cùng tồn tại và một ứng dụng có thể chạy trên phiên
bản .NET Framework mà nó được xây dựng. Thực thi song song áp dụng
cho các nhóm phiên bản .NET Framework 1.0/1.1, 2.0/3.0/3.5 và
4/4.5.x/4.6.x/4.7.x/4.8.


Đa mục tiêu. Bằng cách nhắm mục tiêu .NET Standard, các nhà phát

triển tạo các thư viện lớp hoạt động trên nhiều nền tảng .NET Framework
được hỗ trợ bởi phiên bản tiêu chuẩn đó. Ví dụ: các thư viện nhắm mục
tiêu .NET Standard 2.0 có thể được sử dụng bởi các ứng dụng nhắm mục
tiêu .NET Framework 4.6.1, .NET Core 2.0 và UWP 10.0.16299.
2.1.2. ASP.NET Web API
Cùng với việc giới thiệu các công nghệ dịch vụ (service) trong thập niên gần
đây, Microsoft đã tạo nên một chuỗi các công nghệ cho phép dễ dàng xây dựng và
hỗ trợ các dịch vụ web trên nền tảng .NET:
Bắt đầu với XML Web Service, rồi sau đó được mở rộng thơng qua
Windows Communication Foundation vài năm sau đó, Microsoft đã cho phép các
nhà phát triển .NET có nhiều lựa chọn để xây dựng các dịch vụ trên cơ sở SOAP.
Chỉ với một số thay đổi nhỏ trong cấu hình, sẽ cho phép bạn hỗ trợ rất nhiều thiết bị


đa dạng về giao thức kết nối, cơ chế xác thực, định dạng thông báo cùng các chuẩn
hỗ trợ bảo mật WS-* với WCF.
Nhưng khi thế giới các thiết bị kết nối phát triển, kéo theo nhu cầu về các

giao tiếp đơn giản HTTP – chỉ sử dụng nền tảng dịch vụ - bỏ qua các yếu tố phức
tạp như xác thực liên đồn (federated authentication) hay mã hóa thơng báo, cũng
như không cần phải tạo phiên giao dịch (transaction), khám phá dịch vụ trên cơ sở
Ngôn ngữ mô tả dịch vụ (Web Services Description Language – WSDL), …
Theo một cách đơn giản, đó là các giao tiếp dịch vụ di động (mobile-toservice) và trên cơ sở trình duyệt, các ứng dụng trang đơn lẻ (Single-Page
Application – SPA). Khi đó các nhà phát triển có thể tạo các ứng dụng trên nền
JavaScript, các ứng dụng mobile giá rất rẻ (nhỏ hơn 1 USD) – và các ứng dụng đó
chỉ cần giao thức HTTP đơn giản, giao tiếp dữ liệu backend tương thích JSON.
Đáp lại đó, Microsoft đã tạo ra ASP.NET Web API, một nền tảng đầy hiệu
quả mà rất đơn giản với giao thức HTTP và dịch vụ web theo mặc định sử dụng
JSON. Các model làm việc để xử lý và trả về được đóng gói qua các đối tượng đơn
giản (Plain Old CLR Objects)
Các ưu điểm của ASP.NET Web API:


Cấu hình: Khi xây dựng một website, khơng cần bất kỳ cấu hình gì chúng
ta đã có thể cài đặt và sử dụng dịch vụ trên nền ASP.NET Web API. Khái
niệm điểm đầu cuối (xuất hiện trong WCF) không cịn, và cũng khơng
cần contract. Khi một dịch vụ trên nền ASP.NET Web API được thiết lập
lỏng lẻo nếu so sánh với dịch vụ WCF. Theo đó chỉ cần sử dụng REST
(Representational State Transfer) URL, cùng các tham số đầu vào, và kết
quả trả về là các bản tin JSON hay XML.



Mặc định sử dụng REST: Việc xây dựng các dịch vụ với ASP.NET Web
API cung cấp cho chúng ta hầu hết những thành phần thiết yếu để xây
dựng kiến trúc REST. Đó là bởi vì tính năng điều hướng (Route) URL
tích hợp ngay trong nền tảng, các địa chỉ dịch vụ với ASP.NET Web API
là các điều hướng RESTful ánh xạ với các phương thức của controller. Vì



thế cho phép sử dụng các đường dẫn theo phong cách REST rất thân
thiện.


Route: Tương tự như các giao diện dịch vụ và sự thực thi chúng trên
WCF, các route cho phép nhà phát triển ASP.NET Web API tạo ra lớp
trìu tương giữa bên yêu cầu nhìn thấy và sự thực thi ở lớp dưới. Nói theo
cách khác thì chúng ta có thể gắn kết bất cứ URL nào với bất cứ phương
thức nào của các controller. Với sự thay đổi về phiên bản dịch vụ, chỉ đơn
giản bằng cách thêm một route mới vào trong URL cho phép ta duy trì
song song nhiều phiên bản dịch vụ trên hệ thống mà khơng ảnh hưởng
đến các dị vụ đang có.



Chức năng xử lý dạng ống: ASP.NET Web API cung cấp khả năng mở
rộng dạng đường ống thông qua các bộ lọc (filter) cho phép xử lý trước
và sau khi thực thi các action của controller. Bằng việc gắn các bộ lọc
cho phép ta thực hiện lọc các action (theo tham số request), lọc vai trò
(authorization) và lọc ngoại lệ. Để dùng có thể đơn giản bằng cách khai
báo attribute, hay cấu hình tồn cục áp dụng cho tất cả các phương thức.



Thuận tiện cho Action: Các action HTTP (như GET, POST) tự động gắn
kết vào các phương thức của controller (chính là các controller action)
thơng qua tên của chúng.




Thỏa thuận nội dung được tích hợp sẵn: Với MVC, để cho phép các
phương thức controller trả về dữ liệu JSON hay XML thì phải tùy biến
kết quả trả về ở dạng nguyên gốc (raw). Nhưng với ASP.NET Web API,
các phương thức controller chỉ cần trả về dữ liệu gốc, toàn bộ phần còn
lại sẽ tự động được chuyển đổi sang JSON hay XML tùy theo yêu cầu từ
gọi tới. Trong đó, yêu cầu từ bên gọi tới cũng chỉ cần sử dụng tiêu đề
(header) Accept hay Content-Type.



Hỗ trợ CORS (Cross-Origin Resource Sharing): Trong ASP.NET Web
API ta có thể kích hoạt chức năng này bằng việc đặt một attribute


EnableCorsAttribute để cho phép các yêu cầu bằng JavaScript từ các
domain khác có thể truy cập domain dịch vụ của nhà phát triển.


Quản lý lỗi toàn cục: Đây là một cải thiện rất lớn từ phiên bản ASP.NET
Web API 2.1. Theo đó, tất cả các exception khơng được bắt giờ có thể
được ném ra và bắt thơng qua một cơ chế tập trung. Việc hỗ trợ nhiều các
ghi log ngoại lệ được thực hiện trong chính nền tảng (framework), tại đó
cho phép chúng ta truy xuất đến chính ngoại lệ bị ném ra cùng ngữ cảnh
của nó.

Giao diện IHttpActionResult: Việc thực thi giao diện này sẽ định nghĩa một
HttpResponseMessage factory có thể tái sử dụng và thuận tiện khi xây dựng unittest.
2.1.3. ADO.NET

.NET Framework cung cấp một tập các đối tượng cho phép truy cập vào cơ
sở dữ liệu, tập các đối tượng này được gọi chung là ADO.NET.
ADO.NET tương tự với ADO, điểm khác biệt chính ở chỗ ADO.NET là một
kiến trúc dữ liệu rời rạc, không kết nối (Disconnected Data Architecture). Với kiến
trúc này, dữ liệu được nhận về từ cơ sở dữ liệu và được lưu trên vùng nhớ cache của
máy người dùng. Người dùng có thể thao tác trên dữ liệu họ nhận về và chỉ kết nối
đến cơ sở dữ liệu khi họ cần thay đổi các dòng dữ liệu hay yêu cầu dữ liệu mới.
Việc kết nối không liên tục đến cơ sở dữ liệu đã đem lại nhiều thuận lợi,
trong đó điểm lợi nhất là việc giảm đi một lưu lượng lớn truy cập vào cơ sở dữ liệu
cùng một lúc, tiết kiệm đáng kể tài nguyên bộ nhớ. Giảm thiểu đáng kể vấn đề hàng
trăm ngàn kết nối cùng truy cập vào cơ sở dữ liệu cùng một lúc.
ADO.NET kết nối vào cơ sở dữ liệu để lấy dữ liệu và kết nối trở lại để cập
nhật dữ liệu khi người dùng thay đổi chúng. Hầu hết mọi ứng dụng đều sử dụng
nhiều thời gian cho việc đọc và hiển thị dữ liệu, vì thế ADO.NET đã cung cấp một
tập hợp con các đối tượng dữ liệu không kết nối cho các ứng dụng để người dùng có
thể đọc và hiển thị chúng mà không cần kết nối vào cơ sở dữ liệu.
Các đối tượng ngắt kết nối này làm việc tương tự đối với các ứng dụng Web.


Năm 1982 ra đời ODBC driver (Open Database Connectivity) của Microsoft.
Chỉ truy xuất được thông tin quan hệ, không truy xuất được dữ liệu không quan hệ
như : tập tin văn bản, email …Ta phải truy cập ODBC thông qua DSN.
Để truy cập được tất cả Datastore, dùng OLEDB provider thông qua ODBC.
Là vỏ bọc của ODBC hoặc không. OLEDB dễ sử dụng hơn ODBC, nhưng chỉ có 1
số ít ngơn ngữ có thể hiểu được (C++), vì thế ra đời ADO. OLEDB là giao diện ở
mức lập trình hệ thống để quản lý dữ liệu. OLEDB đơn giản chỉ là một tập các giao
diện COM đóng gói thành các system service để quản trị các CSDL khác nhau.
Gồm 4 đối tượng chính : Datasource, Session, Command, Rowset.
ADO là một COM, do đó được dùng với bất kỳ ngơn ngữ nào tương thích
với COM. ADO khơng độc lập OS, nhưng độc lập ngôn ngữ: C++,VB, JavaScript,

VBScript …Là vỏ bọc của OLEDB và ADO gồm 3 đối tượng chính : Connection,
Command, Recordset.
Remote Data Services ( RDS ) của Microsoft cho phép dùng ADO thông qua
các giao thức HTTP, HTTPS và DCOM để truy cập dữ liệu qua Web.
Microsoft Data Access Components (MDAC) là tổ hợp của ODBC, OLEDB,
ADO và cả RDS.
Chúng ta có thể kết nối dữ liệu bằng một trong các cách: dùng ODBC driver
(DSN), dùng OLEDB thông qua ODBC hoặc OLEDB không thông qua ODBC.
Kiến trúc ADO.NET
ADO.NET được chia ra làm hai phần chính rõ rệt:


Hình 2.1. Các thành phẩn của ADO.NET
DataSet là thành phần chính cho đặc trưng kết nối khơng liên tục của kiến
trúc ADO.NET. DataSet được thiết kế để có thể thích ứng với bất kỳ nguồn dữ liệu
nào. DataSet chứa một hay nhiều đối tượng DataTable mà nó được tạo từ tập các
dịng và cột dữ liệu, cùng với khố chính, khóa ngoại, ràng buộc và các thơng tin
liên quan đến đối tượng DataTable này. Bản thân DataSet được dạng như một tập
tin XML.
Thành phần chính thứ hai của ADO.NET chính là NET Provider Data, nó
chứa các đối tượng phục vụ cho việc thao tác trên cơ sở dữ liệu được hiệu quả và
nhanh chóng, nó bao gồm một tập các đối tượng Connection, Command,
DataReader và DataAdapter. Đối tượng Connection cung cấp một kết nối đến cơ sở
dữ liệu, Command cung cấp một thao tác đến cơ sở dữ liệu, DataReader cho phép
chỉ đọc dữ liệu và DataAdapter là cấu nối trung gian giữa DataSet và nguồn dữ liệu.
Mơ hình đối tượng ADO.NET
Có thể nói mơ hình đối tượng của ADO.NET khá uyển chuyển, các đối
tượng của nó được tạo ra dựa trên quan điểm đơn giản và dễ dùng. Đối tượng quan
trọng nhất trong mơ hình ADO.NET chính là Dataset. Dataset có thể được xem như



là thể hiện của cả một cơ sở dữ liệu con, lưu trữ trên vùng nhớ cache của máy người
dùng mà khơng kết nối đến cơ sở dữ liệu.
Mơ hình đối tượng của Dataset:

Hình 2.2. Mơ hình đối tượng của Dataset
DataSet bao gồm một tập các đối tượng DataRelation cũng như tập các đối
tượng DataTable. Các đối tượng này đóng vai trị như các thuộc tính của DataSet.
Trình cung cấp dữ liệu (.NET Data Providers).
.NET Framework hỗ trợ hai trình cung cấp dữ liệu là SQL Server .NET Data
Provider và OLE DB .NET Data Provider để truy cập vào cơ sở dữ liệu.

Hình 2.3. Trình cung cấp dữ liệu của .Net Framework
SQL Server .NET Data Provider có các đặc điểm :


Dùng nghi thức riêng để truy cập cơ sở dữ liệu.




Truy xuất dữ liệu sẽ nhanh hơn và hiệu quả hơn do không phải thông
qua lớp OLE DB Provider hay ODBC.



Chỉ được dùng với hệ quản trị cơ sở dữ liệu SQL Server 7.0 trở lên.




Được Mircrosoft hỗ trợ khá hồn chỉnh.

OLE DB .NET Data Provider có các đặc điểm :


Phải thơng qua 2 lớp vì thế sẽ chậm hơn.



Thực hiện được các dịch vụ “Connection Pool”.



Có thể truy cập vào mọi Datasource có hỗ trợ OLE DB Provider thích
hợp.

2.2. Azure Database
Azure SQL Database cung cấp dịch vụ quản trị dữ liệu có quan hệ (RDS)
phục vụ xử lý các giao dịch trực tuyến OLTP. Dịch vụ này được phân loại vào dịch
vụ PaaS. SQL DB cung cấp những tính năng rất hấp dẫn như elastic scale (mở rộng
linh hoạt), hiệu năng dự đoán (predictable performance), kinh doanh liên tục
(business continuity), gần như khơng cần bảo trì và sử dụng các ngôn ngữ phát triển
thông dụng.
Azure SQL Database là dịch vụ cơ sở dữ liệu thơng minh, có thể mở rộng
trên cloud. Cung cấp SQL Server engine có tính tương thích rộng nhất và đem lại
212% ROI. Di chuyển các ứng dụng hiện tại và các ứng dụng mới xây dựng lên
Azure cho các workloads SQL Server quan trọng.
Azure SQL Database hiện đang kích hoạt được Azure Arc. Chúng ta có thể
chạy Azure SQL Database trên hạ tầng tại chỗ hoặc trên bất kỳ dịch vụ đám mây
nào. Bạn vẫn có thể nhận được các lợi ích của Azure như tự động hóa, hỗ trợ khơng

giới hạn, quản trị hợp nhất và tiết kiệm chi phí.
Các tính năng của Azure SQL Database:


Chuyển đổi dễ dàng: Tăng tốc quá trình di chuyển SQL Server trên onpremise mà không cần thay đổi mã với Managed Instance. Ln sử dụng
các tính năng mới nhất của SQL Server trên cloud mà không cần vá lỗi
hay nâng cấp. Sử dụng chính sách Azure Hybrid Benifit để giảm chi phí.


Tận hưởng khả năng triển khai bổ sung linh hoạt với Single Database
cho các ứng dụng SQL được tạo trên cloud hoặc Eslatic Pool cho các
ứng dụng nhiều tenant.


Tích hợp Machine learning: Mang lại hiệu suất và độ ổn định cao nhất
với cơng nghệ AI an tồn , đáng tin cậy và đã được kiểm chứng. Tối đa
hóa hiệu suất ứng dụng của bạn với các đề xuất tự động điều chỉnh tùy
chỉnh. Sử dụng Intelligent Insights để giám sát và phát hiện các sự cố
làm giảm hiệu suất.



Quy mô lớn, tính khả dụng cao: Cân chỉnh ứng dụng của bạn theo nhu
cầu với tính khả dụng lên tới 99.95%. Tận dụng Hyperscale với hỗ trợ
lên tới 100TB và khôi phục nhiều cơ sở dữ liệu lớn trong vài phút. Cân
chỉnh tính tốn và lưu trữ tài ngun độc lập mang tới tính linh hoạt cao
và giảm thiểu chi phí. Tích hợp độ khả dụng cao trong Azure SQL
Database đảm bảo rằng cơ sở dữ liệu sẽ không bao giờ bị lỗi trong kiến
trúc phần mềm của bạn. Tối ưu hóa chi phí cho database với mơ hình sử
dụng gián đoạn, khơng tính trước với tầng tính tốn khơng cần máy chủ.


Bảo mật dữ liệu nâng cao:


Bảo vệ database của bạn khỏi các mối nguy hại bằng kiểm soát truy cập
chi tiết, công nghệ Always Encryted và khả năng chống các mối đe dọa
cao cấp.Phát hiện, theo dõi và khắc phục các lỗ hổng tiềm ẩn với một
bảng điều khiển duy nhất.



Azure SQL Database đáp ứng các tiêu chuẩn tuân thủ nghiêm ngặt với
công nghệ kiểm tra quản lý và bảo vệ thơng tin tích hợp sẵn. Mang lại
bảo vệ liên tục với các thông tin chuyên sâu từ Azure Security Center.
Bảo mật nhiều lớp được cung cấp bởi Microsoft cho các Datacenter, hạ
tầng và hệ thống.

2.3. Azure WebApp Service
Azure App Service là một dịch vụ dựa trên HTTP để lưu trữ các ứng dụng
web, API REST và mobile backends. Chúng ta có thể phát triển các ứng dụng bằng


ngơn ngữ lập trình u thích của mình, chẳng hạn như .NET, .NET Core, Java,
Ruby, Node.js, PHP hoặc Python. Các ứng dụng có thể chạy và mở rộng một cách
dễ dàng trên cả 2 môi trường là Windows và Linux.
App Service không chỉ bổ sung sức mạnh của Microsoft Azure cho ứng dụng,
chẳng hạn như bảo mật, cân bằng tải, tự động cân bằng và quản lý tự động, mà cịn
có thể tận dụng các khả năng DevOps của nó chẳng hạn như triển khai liên tục từ
Azure DevOps, GitHub, Docker Hub và các nguồn khác, hệ thống quản lý gói, mơi
trường dàn dựng, tên miền tùy chỉnh và chứng chỉ SSL.

Tính năng của Azure WebApp Service:


Đa dạng về ngơn ngữ và khung phần mềm: App Service sở hữu dịch vụ
hỗ trợ hạng nhất cho những ngôn ngữ như ASP.NET, ASP.NET Core,
Java, Ruby, Node.js, PHP và cả Python.



Tối ưu hóa DevOps: Thiết lập Tích hợp và triển khai liên tục với Azure
DevOps, GitHub, BitBucket, Docker Hub hay Azure Container Registry.
Đẩy mạnh q trình cập nhật thơng qua mơi trường thử nghiệm và dàn
dựng. Quản lý ứng dụng trong Azure App Service bằng cách sử dụng
Azure PowerShell hoặc giao diện dòng lệnh đa nền tảng (CLI).



Khả năng mở rộng quy mô trên phạm vi tồn cầu với tính khả dụng cao:
có thể nâng cấp hệ thống và mở rộng quy mô thủ công hoặc tự động.
Lưu trữ ứng dụng ở bất cứ đâu trong cơ sở hạ tầng trung tâm dữ liệu
tồn cầu của Microsoft, đồng thời App Service SLA ln hứa hẹn sẽ
đem lại tính sẵn sàng cao.



Kết nối với nền tảng SaaS và dữ liệu on-premise: Lựa chọn từ hơn 50
connectors cho các hệ thống doanh nghiệp (như SAP), dịch vụ SaaS
(như Salesforce) và dịch vụ internet (như Facebook). Truy cập dũ liệu
on-premise bằng cách sử dụng Hybrid Connection và Azure Virtual
Networks.




Bảo mật và tuân thủ: App Service tuân thủ theo ISO, SOC và PCI. Xác
thực người dùng bằng Azure Active Directory hoặc bằng cách đăng


×