18T1021354 KLTN

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 67

ĐẠI HỌC HUẾ

TRƯỜNG ĐẠI HỌC KHOA HỌC


KHOA CÔNG NGHỆ THÔNG TIN
----------

KHOÁ LUẬN
TỐT NGHIỆP ĐẠI HỌC

Đề tài:
XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG
ANH ONLINE BẰNG ASP .NET CORE MVC

Sinh viên thực hiện : HOÀNG XUÂN QUỐC VIỆT


Khóa : K42A – Hệ chính quy

Huế, 05 – 2022
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
KHOA CÔNG NGHỆ THÔNG TIN
----------

KHOÁ LUẬN
TỐT NGHIỆP ĐẠI HỌC

Đề tài:
XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG
ANH ONLINE BẰNG ASP .NET CORE MVC

Sinh viên thực hiện : HOÀNG XUÂN QUỐC VIỆT


Khóa : K42A – Hệ chính quy
Giáo viên hướng dẫn : TRẦN CÔNG MẪN

Huế, 05 – 2022
XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

LỜI CẢM ƠN

Đầu tiên, em xin được gửi lời cảm ơn đến thầy Trần Công Mẫn trong thời
gian qua đã giúp em hoàn thành bài khoá luận này, cũng như chỉ bảo và giúp đỡ
em rất nhiều về học tập và cuộc sống.
Và ngoài ra, em cũng rất biết ơn đến các giảng viên của Trường Đại học
Khoa Học nói chung và các giảng viên trong suốt thời gian 4 năm học đại học
của em nói riêng. Cảm ơn quý thầy cô đã tạo điều kiện, tiền đề cơ sở cho con
đường học tập cũng như công việc sau này của em được tốt đẹp. Với những kiến
thức, phương pháp học tập và kỹ năng sống được thầy cô truyền dạy đã giúp em
phát triển. Một lần nữa, em xin chân thành cảm ơn các thầy cô – những người
cha/người mẹ trên giảng đường học tập của chúng em.
Em cũng xin được cảm ơn bạn bè, đã luôn tạo điều kiện, quan tâm, giúp
đỡ, động viên em trong suốt quá trình học tập và hoàn thành khoá luận tốt
nghiệp.
Với vốn kiến thức và kỹ năng của em, cùng với khoảng thời gian được cho
phép, em đã cố gắng hoàn thành bài khóa luận đúng tiến độ. Với những thứ em
đang sở hữu kiến thức hay kỹ năng đều vẫn còn hạn hẹp và chưa được mài dũa
nhiều, thiếu sót là không thể tránh khỏi, cũng như mắc những sai sót trong bài
báo cáo. Sự đóng góp, ý kiến của thầy cô là lời chỉ bảo quý giá mà em rất mong
muốn được nhận để hoàn thiện bài báo cáo này tốt hơn.
Em xin chân thành cảm ơn!

Huế, tháng 5 năm 2022


Sinh viên thực hiện

Hoàng Xuân Quốc Việt

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt i


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

MỤC LỤC
MỤC LỤC.................................................................................................................ii
DANH MỤC HÌNH ẢNH.......................................................................................iii
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI.................................................................1
1. Thực trạng và bài toán đề ra:.........................................................................1
2. Giới thiệu về các công nghệ của bài toán:.....................................................2
2.1. Giới thiệu về C#:.................................................................................2
2.2. Giới thiệu về .NET Framework:.........................................................4
2.3. Giới thiệu về .NET Core:....................................................................6
2.4. Giới thiệu về ASP .NET Core:............................................................8
2.5. Giới thiệu về mô hình MVC.............................................................12
2.6. Giới thiệu về ASP.NET Core MVC..................................................17
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG......................................22
1. Mô tả bài toán:.............................................................................................22
2. Phân tích thiết kệ hệ thống:..........................................................................23
2.1. Biểu đồ Usecase:...............................................................................23
2.2. Thiết kế cơ sở dữ liệu........................................................................40
2.3. Sơ đồ hoạt động (Activity Diagram).................................................41
2.4. Sơ đồ tuần tự (Sequence Diagram)...................................................45
2.5. Thiết kế giao diện hệ thống...............................................................50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TƯƠNG LAI........................................55
1.1 Kết luận......................................................................................................55
1.2 Hướng phát triển tương lai.........................................................................55
TÀI LIỆU THAM KHẢO.......................................................................................57
DANH MỤC HÌNH ẢNH

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 1.1 Sơ đồ hoạt động của C#..............................................................................3


Hình 1.2 Lịch sử phát triển của .NET Framework.....................................................5
Hình 1.3 Cấu trúc .NET Core.....................................................................................8
Hình 1.4 Thành phần của ASP .NET Core..............................................................11
Hình 1.5 MVC là gì?................................................................................................13
Hình 1.6 Những thành phần của mô hình MVC......................................................14
Hình 1.7 Luồng xử lý trong mô hình MVC.............................................................15
Hình 1.8 Sơ đồ hoạt động ứng dụng kiến trúc MVC trong ASP.NET Core............17
Hình 1.9 Route trong ASP .NET Core MVC...........................................................18
Hình 1.10 Cấu trúc một dự án ASP.NET Core MVC..............................................20
Hình 2.1 Sơ đồ Usecase tổng quát...........................................................................24
Hình 2.2 Use case quản lý thông tin tài khoản.........................................................24
Hình 2.3 Usecase quản lý danh sách từ vựng..........................................................26
Hình 2.4 Use case quản lý từ vựng..........................................................................29
Hình 2.5 Use case sử dụng Quiz-game....................................................................30
Hình 2.6 Use case đăng ký tài khoản.......................................................................31
Hình 2.7 Use case quản lý thông tin khách hàng.....................................................31
Hình 2.8 Use case quản lý từ vựng..........................................................................34
Hình 2.9 Use case quản lý tài khoản truy cập..........................................................37
Hình 2.10 Use case quản lý quyền truy cập.............................................................38
Hình 2.11 Cơ sở dữ liệu hệ thống............................................................................39
Hình 2.12 Sơ đồ hoạt động đăng nhập và đăng ký..................................................40
Hình 2.13 Sơ đồ hoạt động quản lý thêm từ vựng vào danh sách...........................41
Hình 2.13 Sơ đồ hoạt động quản lý danh sách từ vựng...........................................42
Hình 2.15 Sơ đồ hoạt động quản lý tài khoản..........................................................43
Hình 2.16 Sơ đồ hoạt động Chơi Quiz-game...........................................................44
Hình 2.17 Sơ đồ hoạt động quản lý tài khoản..........................................................45
Hình 2.18 Sơ đồ hoạt động quản lý từ.....................................................................46

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt iii
XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 2.19 Sơ đồ hoạt động quản lý tài khoản truy cập............................................47


Hình 2.20 Sơ đồ hoạt động quản lý quyền truy cập.................................................48
Hình 2.21 Sơ đồ tuần tự đăng nhập và đăng ký......................................................48
Hình 2.22 Sơ đồ tuần tự quản lý thêm từ vựng vào danh sách................................49
Hình 2.23 Sơ đồ tuần tự quản lý danh sách từ vựng của tôi....................................50
Hình 2.24 Sơ đồ tuần tự quản lý tài khoản...............................................................51
Hình 2.25 Sơ đồ tuần tự Quiz-game........................................................................52
Hình 2.26 Sơ đồ tuần tự quản lý hệ thống...............................................................53
Hình 2.27 Giao diện chính.......................................................................................54
Hình 2.28 Giao diện đăng nhập của khách hàng......................................................54
Hình 2.29 Giao diện đăng ký khách hàng................................................................55
Hình 2.30 Giao diện thông tin chi tiết từ vựng........................................................55
Hình 2.31 Giao diện quản lý danh sách từ vựng......................................................55
Hình 2.32 Giao diện Quiz-game.............................................................................56
Hình 2.33 Giao diện đăng nhập admin ....................................................................56
Hình 2.34 Sơ đồ tuần tự quản lý mua hàng..............................................................57
Hình 2.35 Giao diện quản lý thống kê.....................................................................57
Hình 2.36 Giao diện quản lý tài khoản....................................................................58
Hình 2.37 Giao diện quản lý từ vựng.......................................................................58
Hình 2.38 Giao diện Restful Api.............................................................................58

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI

1. Thực trạng và bài toán đề ra:


Với thực trạng hiện nay, mọi người có từng đặt ra câu hỏi:
Liệu có phải học tiếng Anh online hiệu quả hơn phương pháp giáo dục
trực tiếp truyền thống?
Đa số các học viên thường nghĩ rằng, muốn học tốt tiếng Anh thì nên tìm
tới các trung tâm, nơi tổ chức các khóa học trực tiếp (face-to-face), để luôn có
thầy cô hướng dẫn trực tiếp và được trải qua các kỳ thi sát hạch nhằm nhận được
sự đánh giá chính xác về kỹ năng sử dụng ngoại ngữ. Nhưng sự thật thì không
chỉ có vậy.
Cùng với sự xuất hiện của “Dịch Covid-19” thì việc mọi người ngồi nhà
và sử dụng Internet ngày càng nhiều, hầu như mỗi nhà đều có Internet.
Tính đến tháng 1/2021, dân số Việt Nam đạt mốc 97.8 triệu dân, với tỷ lệ
dân thành thị là 37.7%. Trong đó, có khoảng 68.17 triệu người đang sử dụng
Internet (chiếm 70.3% dân số) thông qua các nền tảng, ứng dụng khác nhau, với
thời lượng trung bình là 6 giờ 47 phút. Đây được xem là khoảng thời gian tương
đối lớn được sử dụng trong 1 ngày.
Theo các số liệu thống kê từ các trung tâm dạy tiếng Anh online cho thấy,
có khoảng 40% các học sinh tham gia các khóa học tiếng Anh online có độ tuổi
từ 18-24, khoảng 35% tiếp theo là những học viên lớn tuổi đã đi làm và phần
còn lại là những người không có điều kiện đi học tại các trung tâm. Những bạn
trong đội tuổi sinh viên thì học tiếng Anh để đào luyện thêm kỹ năng ngoại ngữ
nhằm thuận lợi cho quá trình xin việc sau này. Còn những vị lớn tuổi thì quay lại
học tiếng Anh để hoàn thành giấc mơ ngoại ngữ dang dỡ của mình từ thời còn
đại học.
Với bất kỳ nguyên do nào thì việc chọn học tiếng Anh online sẽ giúp học
viên tiết kiệm thời gian, điều tiết lịch học vào mọi khoản thời gian rảnh rỗi.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 1


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Từ thực trạng này, một web-app học tiếng Anh online sẽ đáp nhu cầu của
mọi người. Đây là nơi mọi người có thể dễ dàng học tập và phát triển kỹ năng
tiếng anh.
Bài toán được thiết kế trên các công cụ, công nghệ, ngôn ngữ lập trình
như sau:
i) Ngôn ngữ lập trình: C#, Javascript, CSS, HTML.
ii) Công nghệ được ứng dụng: ASP .NET CORE MVC, Entity Framework,
Linq.
iii) Công vụ lập trình: Visual Studio 2022 Preview.
iv) Hệ quản trị cơ sở dữ liệu: SQL Server.
2. Giới thiệu về các công nghệ của bài toán:
2.1. Giới thiệu về 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.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được
biên dịch trực tiếp thành mã thực thi của hệ điều hành.
Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình (C#,
VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft
intermediate language).
Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để
trở thành mã thực thi của hệ điều hành. Hình bên dưới thể hiện quá trình chuyển
đổi MSIL code thành native code.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 2


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 1.1 Sơ đồ hoạt động của C#


C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một
ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), phát
triển game, ứng dụng Web, ứng dụng Mobile trở nên rất dễ dàng.
Những đặc trưng cơ bản của C#:
 Đơn giản: Đặc trưng đầu tiên của C# là loại bỏ những vấn đề phức tạo đã
có trong Java và C++ như macro, template, tính đa kế thừa, lớp cơ sở ảo
(hay còn gọi virtual base class). Các cú pháp, toán tử, biểu thức và cả tính
năng của C# khá tương đương Java và C++ song đã qua cải tiến nên đơn
giản hơn nhiều.
 Hiện đại: C# sở hữu nhiều khả năng như xử lý ngoại lệ, tự động trong thu
gom bộ nhớ, bảo mật mã nguồn, dữ liệu mở rộng,... Đây là tất cả những
đặc điểm được mong chờ ở một ngôn ngữ lập trình hiện đại. 
 Hướng đối tượng: C# là một trong những ngôn ngữ được đánh giá là
thuần hướng đối tượng. Nó sở hữu cả 4 tính chất quan trọng, đặc trưng là
tính kế thừa, tính đóng gói, tính trừu tượng và tính đa hình.
 Ít từ khóa: Một trong những đặc trưng cơ bản của C# là ít từ khóa. Từ
khóa được dùng trong ngôn ngữ này chỉ nhằm mục đích mô tả thông tin.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 3


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Tuy ít từ khóa song C# vẫn rất mạnh mẽ. Lập trình viên có thể sử dụng nó
để thực hiện mọi nhiệm vụ. 
 Mã nguồn mở: C# là một trong những ngôn ngữ lập trình mã nguồn mở,
được phát triển, điều hành một cách độc lập với Microsoft. Đây là một
trong những nét độc đáo khiến ngôn ngữ này được biết đến và ưa chuộng
rộng rãi.
 Đa nền tảng: C# là ngôn ngữ được sử dụng trong lập trình trên nhiều nền
tảng. Các ứng dụng hoặc website được xây dựng bằng ngôn ngữ này có
thể hoạt động tốt trên nhiều nền tảng như Windows, Linux và Mac.
 Tiến hóa: C# vẫn đang được nâng cấp và cho ra mắt các phiên bản mới
với nhiều tính năng vượt trội và khả năng làm việc mạnh mẽ hơn. Hiện
C# có thể làm việc với console, điện toán đám mây, phần mềm học
máy,...
2.2. Giới thiệu về .NET Framework:
.NET Framework là một trong những nền tảng hỗ trợ lập trình do Microsoft
phát triển và được chạy trên chủ yếu trên hệ điều hành Window. .NET
Framework được tạo ra từ Framework Class Library (FCL) - một thư viện ngôn
ngữ lập trình và Common Language Runtime (CLR) – bộ thực thi ngôn ngữ
chung.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 4


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

;ư\

Hình 1.2 Lịch sử phát triển của .NET Framework


Những đặc điểm của .NET:
 Thư viện lập trình lớn: .NET sở hữu những thư viện lập trình rất lớn, có
khả năng hỗ trợ tối đa cho việc tạo lập, xây dựng các ứng dụng web; Truy

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 5


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

cập, kết nối các CSDL, cấu trúc dữ liệu; Lập trình giao diện,… Những đặc
trưng này khiến nó trở thành nền tảng chính được rất nhiều lập trình viên
lựa chọn.
 Nǎng suất làm việc cao: Lập trình, thiết kế ứng dụng với .NET tiết kiệm
r ất nhiều thời gian bởi nó cung cấp sẵn khá nhiều thành phần dùng trong
thiết kế. Chỉ cần bạn biết cách sử dụng cũng như tùy biến những đoạn
code có sẵn này cho phù hợp với dự án của mình, việc lập trình sẽ trở nên
đơn giản hơn bao giờ hết. 
 Biến đổi linh hoạt nhờ kiến trúc “ghép nối lỏng”: .NET được thiết kế,
xây dựng với khả năng biến đổi linh hoạt nhờ cấu trúc ‘ghép nối lỏng’.
Điều này mang lại nhiều lợi thế về năng suất. 
 Đa ngôn ngữ: .NET là nền tảng hỗ trợ cho đa ngôn ngữ. Lập trình viên có
thể sử dụng nền tảng này để tạo lập các ứng dụng web bằng nhiều ngôn
ngữ lập trình khác nhau mà vẫn đảm bảo khả năng tích hợp của nó.
 Bảo mật cao: .NET có phần kiến trúc bảo mật được thiết kế theo dạng từ
dưới lên. Điều này giúp bảo vệ dữ liệu cũng như các ứng dụng khỏi sự đe
dọa của hacker thông qua mô hình bảo mật tinh vi là evidence-based.
 Tận dụng các dịch vụ sẵn có trong hệ điều hành: Windows sở hữu rất
nhiều dịch vụ có khả năng hoạt động trên mọi nền tảng như truy cập dữ
liệu, mô hình dạng đối tượng thành phần, giao diện người dùng tương tác,
bảo mật tích hợp và cả giám sát giao dịch. .NET tận dụng những dịch vụ
này để đơn giản hóa cách sử dụng, giúp lập trình trên nền tảng này trở nên
dễ dàng hơn. 
2.3. Giới thiệu về .NET Core:
.NET Core là một nền tảng phát triển đa mục đích, mã nguồn mở được
duy trì bởi Microsoft và cộng đồng .NET trên GitHub. Đó là nền tảng chéo (hỗ
trợ Windows, macOS và Linux) và có thể được sử dụng để xây dựng các ứng
dụng thiết bị, đám mây và IoT.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 6


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Đặc điểm của .NET Core


 Đa nền tảng: Chạy trên các hệ điều hành Windows, macOS và Linux.
 Nhất quán trên các kiến trúc: có thể chạy mã nguồn của bạn với cùng một
hành vi trên nhiều kiến trúc hệ thống, bao gồm x64, x86 và ARM.
 Các công cụ dòng lệnh: Bao gồm các công cụ dòng lệnh dễ sử dụng, có
thể được sử dụng để phát triển cục bộ và trong các tình huống tích hợp
liên tục.
 Triển khai linh hoạt: có thể cài đặt song song (cài đặt toàn người dùng
hoặc toàn hệ thống). Có thể được sử dụng với các container Docker
 Tương thích: .NET Core tương thích với .NET Framework, Xamarin và
Mono, thông qua .NET Standard.
 Nguồn mở: Nền tảng .NET Core là nguồn mở, sử dụng giấy phép MIT và
Apache 2. .NET Core là một dự án .NET Foundation.
 Được hỗ trợ bởi Microsoft: .NET Core được Microsoft hỗ trợ, theo Hỗ trợ
.NET Core.
Thành phần của .NET Core
.NET Core bao gồm các phần sau:
 .NET Core runtime: cung cấp một hệ thống kiểu, tải lắp ráp, trình thu gom
rác, interop gốc và các dịch vụ cơ bản khác. Các thư viện khung .NET
Core cung cấp các kiểu dữ liệu nguyên thủy, các kiểu thành phần ứng
dụng và các tiện ích cơ bản.
 ASP.NET Core runtime: cung cấp khung để xây dựng các ứng dụng kết
nối internet , điện toán đám mây hiện đại, chẳng hạn như ứng dụng web,
ứng dụng IoT và phụ trợ di động.
 .NET Core SDK và trình biên dịch ngôn ngữ (Roslyn và F #) cho phép
trải nghiệm nhà phát triển .NET Core.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 7


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Dotnet command, được sử dụng để khởi chạy các ứng dụng .NET Core và
các lệnh CLI. Nó chọn thời gian chạy và lưu trữ thời gian chạy, cung cấp
chính sách tải lắp ráp và khởi chạy các ứng dụng và công cụ.

Hình 1.3 Cấu trúc .NET Core


2.4. Giới thiệu về ASP .NET Core:
ASP.NET Core là một web framework mã nguồn và được tối ưu hóa cho
cloud để phát triển các ứng dụng web chạy trên nhiều nền tảng như Windows,
Linux và Mac. Hiện tại, nó bao gồm MVC framework được kết hợp các tính
năng của MVC và Web API thành một web framework duy nhất.

 Các ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên .NET
Framework hoàn chỉnh.

 Nó đã được thiết kế để cung cấp một framework tối ưu cho các ứng dụng
để triển khai tới cloud hoặc chạy on-premises.

 Nó bao gồm những modular với các thành phần tối thiểu, do đó bạn giữ


được tính linh hoạt trong quá trình xây dựng các giải pháp của mình.

 Bạn có thể phát triển và chạy các ứng dụng đa nền tảng từ ASP.NET
Core trên Windows, Mac và Linux.

Những đặc điểm của ASP .NET Core:

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 8


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Hiệu suất nâng cao: Công ty phát triển ASP.NET coi ứng dụng hoạt
động tốt như thế nào là yếu tố chính trong khi lựa chọn khung để phát
triển ứng dụng. Và trong trường hợp này, ASP.NET Core nhanh hơn
nhiều so với ASP.NET MVC và đã cho thấy kết quả tuyệt vời so với các
khung công tác khác. Một lý do cho hiệu suất nhanh chóng của khuôn khổ
là thực tế là hệ thống tự động tối ưu hóa các mã của nó để cải thiện hiệu
suất.
 Hỗ trợ đa nền tảng: Cần đảm bảo rằng ứng dụng sẽ hoạt động tốt trên
mọi nền tảng khi tiến hành phát triển ứng dụng. ASP.NET Core là đa nền
tảng và chạy trên Windows, Linux, Mac và tất cả các thiết bị khác. Do đó,
hệ thống cho phép các nhà phát triển chọn bất kỳ hệ điều hành nào để
thuận tiện cho họ vì nó cực kỳ linh hoạt.
 Ít mã hơn: Chất lượng của mã xác định chất lượng của một ứng
dụng. ASP.NET Core cho phép các nhà phát triển viết ít câu lệnh hơn. Do
đó, cấu trúc mã trở nên dễ dàng hơn và ít phải viết mã hơn. Điều này làm
cho việc phát triển ứng dụng dành cho thiết bị di động trở nên hiệu quả về
mặt chi phí đối với các tổ chức. Ngoài ra, nó cũng cung cấp nhiều quyền
kiểm soát hơn cho các nhà phát triển khi quy trình có liên quan và đơn
giản hóa việc gỡ lỗi.
 Bảo trì dễ dàng: ASP.NET yêu cầu ít mã hơn và ít mã hơn sẽ dễ bảo trì
hơn. Các nhà phát triển có thể dễ dàng tối ưu hóa mã trong ASP.NET
Core và tiết kiệm thời gian bảo trì ứng dụng.
 Hỗ trợ phát triển ứng dụng web dựa trên đám mây: Một lợi ích khác
của ASP.NET Core là nó cung cấp các kiểu phát triển ứng dụng khác
nhau và ứng dụng web dựa trên đám mây. Vì vậy, cách tiếp cận này là
phù hợp nhất cho các doanh nghiệp và doanh nghiệp đã sẵn sàng để mở
rộng. Phát triển dựa trên đám mây cung cấp cho các ứng dụng web tính
linh hoạt, khả năng truy cập, tích hợp dễ dàng hơn, bảo vệ dữ liệu và hơn
thế nữa.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 9


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Mã nguồn mở: ASP.NET Core là mã nguồn mở, có nghĩa là bất kỳ


chuyên gia ASP.NET Core nào cũng có quyền truy cập vào mã
khung. Tất cả các nhà phát triển .NET Core đều có thể cải tiến công nghệ
và sửa đổi nó theo nhu cầu phát triển ứng dụng của họ. Điều này giúp các
nhà phát triển tạo ra các giải pháp web tốt nhất với ASP.NET Core.
 Lưu trữ: .NET Core cung cấp một máy chủ nội bộ cho mọi ứng dụng
web ASP.NET Core theo mặc định. Nó cho phép chạy các ứng dụng
ASP.NET Core trên Windows, Mac hoặc Linux. Hơn nữa, nó nhẹ và hỗ
trợ lớp cổng bảo mật (SSL).
 An ninh: ASP.NET Core có một số tính năng tích hợp cho phép các nhà
phát triển tạo các ứng dụng web an toàn hơn. Công nghệ này giúp duy trì
việc thực thi, xác thực, ủy quyền và bảo vệ dữ liệu HTTPS dễ dàng hơn.
 Phát triển nhanh chóng: Phát triển nhanh có thể chứng minh là rất có lợi
cho các dự án cần được quay vòng trong một thời gian ngắn, chẳng hạn
như trong vòng hai đến ba tháng. Trong mô hình phát triển này, tập trung
nhiều hơn vào các nhiệm vụ phát triển và tạo mẫu thay vì lập kế
hoạch.ASP.NET Core linh hoạt và thích ứng với các thay đổi đồng thời
giảm rủi ro tổng thể của dự án, mã hóa thủ công và lỗi đồng thời.
 Khả năng di động: ASP.NET Core có tính di động cao và tính di động
có thể làm giảm đáng kể chi phí phát triển web. Khung cho phép di
chuyển ứng dụng dễ dàng giữa các máy chủ. Ngoài ra, nhiều nhà phát
triển có thể làm việc trên ứng dụng cùng một lúc.

Thành phần của ASP .NET Core:

 Application Frameworks: Chứa những cái tên có lẽ tương đối quen


thuộc như MVC Framework, Razor Pages hay Blazor. Đây là những
framework giúp xây dựng các dạng khác nhau của ứng dụng web.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 10


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Utility Frameworks: Chứa những thứ cảm tưởng như không liên quan
đến Asp.net Core: Identity và Entity Framework. Khối này chứa những
framework hỗ trợ cho ứng dụng, bao gồm bảo mật và cơ sở dữ liệu.
 Platform: Là những gì tạo nên nền tảng chung nhất mà mọi loại ứng
dụng Asp.net Core đều cần sử dụng đến.
Hình 1.4 Thành phần của ASP .NET Core

Sự khác nhau giữa ASP.NET và ASP.NET Core

ASP.NET và ASP.NET Core là 2 frameword hỗ trợ các nhà phát triển


các ứng dụng web dựa trên nền tảng. Net Framework khác nhau.

ASP.NET ASP.NET Core

Được xây dựng chỉ để dành cho Được xây dựng dành cho cả Windows,
Windows. Mac và Linux.

Có hiệu suất tốt Có hiệu suất cao hơn cả ASP.NET 4x.

Có thể chạy được trên .Net Framework Có thể chạy trên .Net Core và Full .Net
hay được gọi là Full .Net Framework. Framework.

Asp.Net hỗ trợ Web Forms, Asp.Net Asp.Net Core hỗ trợ cho các trang Web
MVC và ASP.NET web Pages. MVC, Web API và Asp.Net được thêm
vào ban đầu trong .Net Core 2.0, không

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 11


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

hỗ trợ cho Web Forms.

Chỉ sử dụng IIS phụ thuộc vào Asp.Net Core không phụ thuộc vào IIS và
System.web.dll. System.web.dll.

Sử dụng ngôn ngữ C#, VB, WCF, WPF Chỉ hỗ trợ ngôn ngữ C#, F# và VB trong
và WF. thời gian ngắn, không hỗ trợ WCF, WPF
và WF. Tuy nhiên, Asp.Net Core lại có
thể hỗ trợ cho các thư viện WCP có sẵn.

Asp.Net MVC có thêm các ứng dụng như Asp.Net Core đang hỗ trợ
Web.config, Global.asax, Application Appsettings.json, không hỗ trợ tệp
Start. Web.config và Global.asax.

Hỗ trợ vùng chứa không được đánh giá Hỗ trợ vùng chứa phù hợp cho các triển
quá cao. khai như Docker.

Tất cả các phiên bản chính thức đều được Hỗ trợ Core từ Visual Studio 2015 cập
hỗ trợ. nhật lần thứ 3

Người dùng cần biên dịch lại sau khi thay Khi làm mới Core Browser sẽ tự động
đổi mã. biên dịch và thực thi mã mà không cần
phải dịch lại.

2.5. Giới thiệu về mô hình MVC

MVC là viết tắt của cụm từ “Model-View-Controller“. Đây là mô hình


thiết kế sử dụng trong kỹ thuật phần mềm. MVC là một mẫu kiến trúc phần
mềm để tạo lập giao diện người dùng trên máy tính. MVC chia thành ba phần
được kết nối với nhau như tên gọi: Model (dữ liệu), View (giao diện) và
Controller (bộ điều khiển).

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 12


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 1.5 MVC là gì?

Những thành phần của mô hình MVC:

 Model: Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng và
là cầu nối giữa 2 thành phần bên dưới là View và Controller. Một model
là dữ liệu được sử dụng bởi chương trình. Đây có thể là cơ sở dữ liệu,
hoặc file XML bình thường hay một đối tượng đơn giản. Chẳng hạn như
biểu tượng hay là một nhân vật trong game.
 View: Đây là phần giao diện (theme) dành cho người sử dụng. View là
phương tiện hiển thị các đối tượng trong một ứng dụng. Chẳng hạn như
hiển thị một cửa sổ, nút hay văn bản trong một cửa sổ khác. Nó bao gồm
bất cứ thứ gì mà người dùng có thể nhìn thấy được.
 Controller: Là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa
đến thông qua View. Một controller bao gồm cả Model lẫn View. Nó
nhận input và thực hiện các update tương ứng.1.3.3 Luồng xử lý trong mô
hình MVC

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 13


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 1.6 Những thành phần của mô hình MVC

Luồng xử lý trong MVC:

 Khi một yêu cầu của từ máy khách (Client) gửi đến Server. Thì bị
Controller trong MVC chặn lại để xem đó là URL request hay sự kiện.
 Sau đó, Controller xử lý input của user rồi giao tiếp với Model trong
MVC. Model chuẩn bị data và gửi lại cho Controller.
 Cuối cùng, khi xử lý xong yêu cầu thì Controller gửi dữ liệu trở lại View
và hiển thị cho người dùng trên trình duyệt.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 14


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 1.7 Luồng xử lý trong mô hình MVC

Ưu và nhước điểm của MVC:

Ưu điểm

 Tạo mô hình chuẩn cho từng dự án, từ đó tiếp cận với ứng dụng dễ dàng
hơn ngay cả với những người không có chuyên môn.
 Hỗ trợ quá trình phát triển nhanh chóng nhờ các bộ phận hoạt động độc
lập với nhau. Từ đó các lập trình viên dễ dàng hát triển, quản lý, vận
hành, bảo trì trên từng bộ phận mà không làm ảnh hưởng đến toàn hệ
thống, đồng thời dễ dàng kiểm soát được luồng xử lý của ứng dụng.
 Trình tự xử lý rõ ràng, dễ dàng kiểm tra, rà soát lỗi phần mềm trước khi
thông tin trích xuất sau cùng hiển thị trước người dùng, từ đó đảm bảo
chất lượng và độ uy tín của thông tin cao hơn.
 Sở hữu bộ control ưu việt trên nền tảng các ngôn ngữ lập trình hiện đại
như CSS, HTML, Javascript với nhiều hình thức khác nhau.
 Có khả năng cung cấp đồng thời nhiều khung View lưu trữ dữ liệu. Nhờ
đó tiết kiệm được diện tích băng thông một cách tối ưu, đặc biệt trong
trường hợp có nhiều yêu cầu được thực hiện thì kích thước càng tệp càng
lớn.
 Mô hình MVC truyền tải dữ liệu nhưng không định dạng lại dữ liệu, từ đó
trạng thái dữ liệu được bảo tồn và sử dụng cho những lần sau này.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 15


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Mô hình có kết cấu tương đối đơn giản, dễ hiểu, xử lý những nghiệp vụ
đơn giản.

Nhược điểm

 Chỉ phù hợp với những dự án lớn, không thích hợp việc phát triển các ứng
dụng nhỏ vì mô hình này yêu cầu người dùng phải lưu trữ một số lượng
lớn các file dữ liệu khác nhau. Điều đó tạo nên sự cồng kềnh và phức tạp
trong quá trình phát triển cũng như thời gian trung chuyển dữ liệu.
 Phân chia công việc và tác vụ không đồng đều giữa các layer, vì phần
Model phải đảm nhiệm hầu hết các tác vụ quan trọng.
 Việc hiển thị của layer View phải phụ thuộc vào cả Controller và Model
nên sự hỗ trợ cho quá trình kiểm thử không quá tốt bởi dù trên lý thuyết
chúng độc lập với nhau. Nếu không thể nhận yêu cầu và cũng không có
dữ liệu được xử lý để hiển thị thì View cũng không hiển thị được gì. Để
tiến hành kiểm thử trên View, chúng ta cần giả lập cả Controller và
Model.
 Đối với các ứng dụng phức tạp, đòi hỏi quy trình xử lý nghiệp vụ thì
MVC cũng không phải là lựa chọn tối ưu.

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


 MVC được ứng dụng phổ biến trong nhiều ngôn ngữ lập trình khác nhau,
mà tiêu biểu có thể kể đến như ứng dụng ASP.NET MVC hay PHP MVC.
Ngày nay có rất nhiều Framework, Source Code của mã nguồn mở của
các website sử dụng kiến trúc lập trình MVC cho các ứng dụng của họ.
 Hệ thống model view controller sẽ cho phép phát triển toàn diện hệ thống
front-end lẫn back-end mà không cần có sự can thiệp, chia sẻ, chỉnh sửa
các tập tin trong khi một hoặc hai bên vẫn đang trong thao tác làm việc.
Bên cạnh đó, việc vận hành quy trình MVC đơn giản cũng là yếu tố để
khiến cấu trúc MVC được triển khai rộng rãi như hiện nay.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 16


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Hiện nay mô hình MVC được áp dụng nhiều và phổ biến trên toàn Thế
Giới, hầu như tất cả các công ty viết phần mềm, lập trình web app hiện
nay đều phải ít nhất 1 lần ứng dụng mô hình MVC. Để việc triển khai dự
án cho đội nhóm diễn ra nhanh chóng và chuyên nghiệp hơn thì nên áp
dụng mô hình MVC rất tốt.
2.6. Giới thiệu về ASP.NET Core MVC
ASP.NET Core MVC là tên gọi của framework trong ASP.NET Core
thực thi mô hình kiến trúc MVC. Framework này giúp phát triển nhiều loại ứng
dụng khác nhau, từ ứng dụng web truyền thống đến ứng dụng đơn trang hoặc
Web API.
Hình 1.8 S

ơ đồ hoạt động ứng dụng kiến trúc MVC trong ASP.NET Core

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 17


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Tính năng của ASP.NET Core MVC bao gồm:

 Routing: sẽ xác định URL và điều khiển thông tin tương ứng với URL
mà người dùng web nhập vào. Tất cả các cấu hình Routing của một
ứng dụng ASP.NET MVC được lưu trữ trong RouteTable, nó đóng vai
trò định tuyến các URL để xác định các lớp xử lý tương ứng khi có
request được gửi đến từ người dùng web.

Hình 1.9 Route trong ASP .NET Core MVC

 Model binding: Trong ASP.NET Core MVC Model binding chuyển


đổi dữ liệu yêu cầu từ phía client (form values, route data, query string
parameters, HTTP headers) vào bên trong đối tượng để controller có
thể xử lí. Kết quả là Controller của bạn không phải thực hiện công việc
tìm ra dữ liệu từ đâu đến. Nó chỉ đơn giản là kiểm tra dữ liệu và tham
số từ phương thức action.

 Model validation: ASP.NET Core MVC  hỗ trợ ràng buộc dữ liệu cho
các thuộc tính trong model của bạn, các thuộc tính sẽ được kiểm tra ở
client xem có hợp lệ không trước khi giá trị của thuộc tính đó được gửi
về server. Cũng như trên server trước khi action của controller gọi.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 18


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Dependency injection: Trong ASP.NET Core MVC controller có thể


gửi yêu cầu cần thiết đến các service thông cấu trúc xây dựng của
chúng.

 Filters: Filters giúp các lập trình viên đóng gói “cross-cutting
concerns”. giống như là xử lý ngoại lệ và phân quyền. Filter được kích
hoạt để chạy trước và sau các action của controller. Ví dụ về phân
quyền [Authorize] được đặt trước action.

 Areas: Khi một website ASP.NET MVC trở nên quá lớn quá và phức
tạp,số Controller chắc chắn sẽ tăng lên, với nhiều controller như vậy
bạn sẽ thấy chúng có thể thuộc về một nhóm như phần Administrator,
phần sản phẩm, phần nhóm sản phẩm… Areas cho phép bạn chia các
Controllers,models và views tới các vị trí khác nhau trong solution với
cùng một thư mục độc lập.

 Web APIs: Ngoài việc là một nền tảng tuyệt vời để xây dựng các trang
web. ASP.NET Core MVC hỗ trợ rất nhiều cho việc xây dựng API
Web. Bạn có thể xây dựng các dịch vụ tiếp cận nhiều khách hàng bao
gồm trình duyệt web và thiết bị di động.

 Testability: Việc xây dựng các framework’s sử dụng các interface và


DI làm cho việc kiểm tra ứng dụng trở nên dễ dàng hơn
và framework’s  bao gồm các tính năng (like a TestHost and
InMemory provider for Entity Framework) chúng giúp ích cho lập
trình viên rất nhiều.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 19


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Razor view engine: ASP.NET Core MVC views sử dụng Razor view


engine để render các code html đến view.Razor được sử dụng để tự
động tạo nội dung web trên máy chủ.

 Strongly typed views

 Tag Helpers: Tag Helpers cho phép mã phía máy chủ tham gia vào việc
tạo và hiển thị các phần tử HTML trong các tệp razor. Đây là một số
khái niệm cơ bản trong ASP.NET Core MVC cho người mới học cần
nắm rõ để có thể hiểu hết bản chất khi xây dựng ứng dụng.

 View Components

Cấu trúc một dự án ASP.NET Core MVC


Hình 1.10
Cấu

trúc một dự án ASP.NET Core MVC


Từ cửa sổ Solution Explorer, Có thể lướt qua cấu trúc tổng thể của một dự
án ASP.NET Core MVC với một số thành phần sau:

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 20


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Vị trí cao nhất trong cửa sổ Solution Explorer là thư mục gốc của dự án
được lồng trong một thư mục solution. Visual Studio dùng khái niệm
solution để làm việc với nhiều dự án, trong trường hợp này chỉ có một dự
án. Tại thư mục này chúng ta sẽ tìm thấy một tập tin solution (có phần mở
rộng .sln).
 Kế tiếp thư mục gốc dự án là tập tin quan trọng nhất của dự án, tập
tin HelloASPDonetCoreMVC.csproj.
 Vì dự án ta đang dùng mô hình MVC nên các thư mục quan trọng tiếp
theo của chúng ta sẽ là các thư mục Controllers, Models và Views chứa
các tập tin dùng để xây dựng dự án.
 Thư mục Properties chứa tập tin launchSettings.json kiểm soát cách
Visual Studio sẽ chạy và debug ứng dụng.
 Thư mục wwwroot là thư mục đặc biệt cho phép các trình duyệt web có
thể truy cập trực tiếp đến nội dung bên trong nó như các tập tin CSS, JS,
hình ảnh hay các tập tin HTML. Các trình duyệt sẽ không thể truy cập
được các tập tin này nếu chúng ở bên thư mục wwwroot.
 Properties và wwwroot được xem như là hai thư mục đặc biệt, được đặt
phía trên cửa sổ Solution Explorer, gần mục dự án và không tuân theo thứ
tự các chữ cái. Phía trên hai thư mục này có hai mục đặc biệt hơn gọi
là Dependencies và Connected Servives chứa các thành phần phụ thuộc
đến dự án như các gói NuGet, các dịch vụ từ xa, các thành phần hướng
client.
 Tập tin appsettings.json cung cấp thông tin cấu hình ứng dụng tại thời
điểm thực thi hay thời điểm biên dịch.
 Cuối cùng là tập tin Program.cs kiểm soát cấu hình và quá trình khởi
động của ứng dụng tại thời điểm thực thi.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 21


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG


1. Mô tả bài toán:
Đây là website giúp người dùng có thể dễ dàng lưu trữ những từ vựng
tiếng anh muốn học, tra các tự vựng tiếng anh và đặc biệt ngoài ra còn có thể
chơi những Quiz game giúp việc ghi nhớ từ vựng tiếng anh hiệu quả.
Người dùng phải đăng ký tài khoản để có thể sử dụng các chức năng như
lưu trữ và chơi Quiz game. Sau khi đăng ký tài khoản thành công, người dùng
có thể đăng nhập vào website bằng tài khoản đã tạo.
 Người dùng vào hệ thống không cần đăng nhập có thể thực hiện các chức
năng:
 Người dùng có thể xem, tìm kiếm từ vựng: Hiển thị danh sách các từ
vựng có trong hệ thống, người dùng có thể tìm kiếm tự vựng theo tiếng
Anh và có thể xem chi tiết tự vựng (hiển thị ví dụ của từ vựng đó).
 Người dùng đăng nhập vào hệ thống có thể thực hiện các chức năng:
 Người dùng có thể xem, cập nhật thông tin cá nhân của mình: Người
dùng có thể xem thông tin và thay đổi thông tin của mình.
 Người dùng có thể đổi mật khẩu, hoặc lấy lại mật khẩu khi quên mật khẩu.
 Người dùng quản lý danh sách từ vựng của mình: Hiển thị danh sách
những từ vựng đã lưu trong danh sách từ vựng của tôi (LIST)
 Người dùng có thể tìm kiếm từ vựng: Hiển thị từ vựng được tìm kiếm
theo từ tiếng Anh.
 Người dùng có thể xem tin thông tin chi tiết từ vựng: Người dùng kích
vào từ vựng đó để xem thông tin chi tiết của từ vựng.
 Người dùng có thể thêm từ vựng vào danh sách từ vựng của mình:
Người dùng click vào từ vựng đó, rồi nhấn nút “Add to” để thêm từ
vựng đó vào danh sách từ vựng của tôi (LIST) nếu chưa có.
 Người dùng có thể sử dụng Quiz-game: Người dùng có thể sử dụng
“Game”. Giao diện sẽ hiển thị ra từ tiếng Anh có trong danh sách từ

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 22


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

vựng của tôi và người dùng chọn đáp án đúng. Nếu đúng Score tăng
lên 1, nếu sai Score về 0.
 Quản trị hệ thống của website khi đăng nhặp vào hệ thống:
 Quản trị viên có thể quản lý thông tin của từ vựng: Hiển thị giao diện
danh sách từ vựng, quản trị viên có thể sửa từ vựng, tìm kiếm và xóa
từ vựng.
 Quản trị viên có thể quản lý thông tin của khách hàng (user): Hiển thị
giao diện danh sách khách hàng (user), quản trị viên có thể sửa từ
vựng, tìm kiếm và xóa từ vựng.
 Quản trị viên có thể quản lý tài khoản truy cập sử dụng hệ thống: Hiển
thị giao diện, quản trị viên có thể quản lý quyền truy cập và tài khoản
được truy cập.
2. Phân tích thiết kệ hệ thống:
Xác định Actor
 User (người sử dụng hệ thống).
 Admin (người quản trị hệ thống).
2.1. Biểu đồ Usecase:
- Usecase cho khách hàng:
 Quản lý thông tin tài khoản: Cập nhật thông tin cá nhân, thay đổi mật
khẩu.
 Quản lý danh sách từ vựng của mình: Thêm từ vựng, xóa từ vựng.
 Quản lý từ vựng: Tìm kiếm và xem thông tin chi tiết từ vựng.
 Sử dụng Quiz-game: Chơi Quiz-game.
- Usecase cho Admin:
 Quản lý từ vựng: Thêm, sửa, xóa, xem thông tin, tìm kiếm.
 Quản lý thông tin khách hàng: Thêm, xóa, xem thông tin, tìm kiếm
khách hàng.
 Quản lý tài khoản truy cập hệ thống: Thêm, sửa, xóa thông tin tài khoản
truy cập hệ thống.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 23


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Quản lý quyền truy cập: Thêm, xóa quyền truy cập.


2.1.1. Usecase tổng quát

Hình 2.1 Sơ đồ Usecase tổng quát


2.1.2. Use case khách hàng (USER)
 Quản lý thông tin tài khoản

Hình 2.2 Usecase quản lý thông tin tài khoản


Đặc tả Usecase cập nhật thông tin tài khoản
Tóm tắt: Usecase này cho phép người dùng chỉnh sửa thông tin tài khoản
của mình.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 24


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Dòng sự kiện: Usecase bắt đầu khi người dùng chọn chức năng “Cập nhật
thông tin tài khoản” ở giao diện tài khoản.
Dòng sự kiện chính:
Bước 1: Người dùng chọn chức năng “Cập nhật thông tin tài khoản”.
Bước 2: Hiển thị giao diện cập nhật thông tin tài khoản.
Bước 3: Người dùng nhập thông tin tài khoản.
Bước 4: Người dùng nhấn “Lưu”
Bước 5: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người dùng thoát trang cập nhật thông tin tài khoản.
Usecase dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản.
Điều kiện hoàn tất: Chuyển về giao diện trang chủ. Thông báo thành công.
Đặc tả Usecase đổi mật khẩu tài khoản
Tóm tắt: Usecase này cho phép người dùng đổi mật khẩu tài khoản của
mình.
Dòng sự kiện: Usecase bắt đầu khi người dùng chọn chức năng đổi mật
khẩu bằng cách nhấn nút đổi mật khẩu ở giao diện tài khoản.
Dòng sự kiện chính:
Bước 1: Người dùng chọn chức năng “Đổi mật khẩu”.
Bước 2: Hiển thị giao diện đổi mật khẩu tài khoản.
Bước 3: Người dùng nhập mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu.
Bước 4: Người dùng nhấn “Lưu”

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 25


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 5: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người dùng thoát trang đổi mật khẩu tài khoản. Usecase
dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản.
Điều kiện hoàn tất: Chuyển về giao diện trang chủ. Thông báo thành công.
 Quản lý danh sách từ vựng

Hình 2.3 Usecase quản lý danh sách từ vựng


Đặc tả Usecase thêm từ vựng vào danh sách
Tóm tắt: Usecase này cho phép người dùng thêm từ vựng vào danh sách từ
vựng của mình.
Dòng sự kiện: Usecase bắt đầu khi người dùng nhấn nút “Add to” ở mục chi
tiết từ vựng.
Dòng sự kiện chính:

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 26


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 1: Người dùng chọn từ vựng.


Bước 2: Người dùng ấn nút “Add to”.
Bước 3: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người dùng thoát trang đổi mật khẩu tài khoản. Usecase
dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 1.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản.
Điều kiện hoàn tất: Chuyển về giao diện danh sách từ vựng của tôi. Thông
báo thành công.
Đặc tả Usecase xem danh sách từ vựng
Tóm tắt: Usecase này cho phép người dùng xem danh sách từ vựng của
mình.
Dòng sự kiện: Usecase bắt đầu khi người dùng nhấn nút “List” ở giao diện
trang chủ.
Dòng sự kiện chính:
Bước 1: Người dùng nhấn nút “List”
Bước 2: Hệ thống hiển thị danh sách từ vựng của tôi.
Các dòng sự kiện khác: Không có.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản.
Điều kiện hoàn tất: Chuyển đến giao diện danh sách từ vựng của tôi.
Đặc tả Usecase tìm kiếm từ vựng trong danh sách
Tóm tắt: Usecase này cho phép người dùng tìm kiếm từ vựng trong danh
sách từ vựng của tôi.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 27


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Dòng sự kiện: Usecase bắt đầu khi người dùng nhập vào thanh tìm kiếm và
nhấn nút “Search” trong giao diện “List”
Dòng sự kiện chính:
Bước 1: Người dùng nhấn vào nút “List”.
Bước 2: Người dùng nhập vào thanh tìm kiếm.
Bước 3. Nhấn nút “Search”.
Bước 4: Hệ thống hiển thị danh sách từ vựng của tôi.
Các dòng sự kiện khác: Không có.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản.
Điều kiện hoàn tất: Hiện thị danh sách từ vựng. Nếu trống là không tìm
thấy.
Đặc tả Usecase xóa từ vựng trong danh sách
Tóm tắt: Usecase này cho phép người dùng xóa từ vựng trong danh sách từ
vựng của tôi.
Dòng sự kiện: Usecase bắt đầu khi người dùng nhập vào thanh tìm kiếm và
nhấn nút “Delete” của từ vựng tương ứng trong giao diện “List”
Dòng sự kiện chính:
Bước 1: Người dùng nhấn vào nút “Delete” ứng với từ vựng muốn xóa.
Bước 2: Hiển thị thông báo xác nhận.
Bước 3: Nhấn xác nhận đẻ xóa, hủy để hủy bỏ thao tác.
Các dòng sự kiện khác: Không có.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản.
Điều kiện hoàn tất: Hiện thị danh sách từ vựng. Nếu trống là không tìm
thấy.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 28


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Quản lý từ vựng

Hình 2.4 Usecase quản lý từ vựng


Đặc tả Usecase xem từ vựng
Tóm tắt: Usecase này cho phép người dùng xem chi tiết từ vựng.
Dòng sự kiện: Usecase bắt đầu khi người dùng nhấn vào một từ vựng trong
trang chủ.
Dòng sự kiện chính:
Bước 1: Người dùng nhấn vào một từ vựng
Bước 2: Hệ thống hiển thị nội dung chi tiết từ vựng.
Các dòng sự kiện khác: Không có.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Không có.
Điều kiện hoàn tất: Hiện thị thông tin chi tiết từ vựng.
Đặc tả Usecase tìm kiếm từ vựng
Tóm tắt: Usecase này cho phép người dùng tìm kiếm từ vựng
Dòng sự kiện: Usecase bắt đầu khi người dùng nhập vào thanh tìm kiếm và
nhấn nút “Search”
Dòng sự kiện chính:
Bước 1: Người dùng nhập vào thanh tìm kiếm.
Bước 2. Nhấn nút “Search”.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 29


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 3: Hệ thống hiển thị danh sách từ vựng ứng với keyword tìm kiếm.
Các dòng sự kiện khác: Không có.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Không có.
Điều kiện hoàn tất: Hiện thị danh sách từ vựng. Nếu trống là không tìm
thấy
 Sử dụng Quiz-game

Hình 2.5 Use case sử dụng Quiz-game


Đặc tả Usecase tìm kiếm từ vựng trong danh sách
Tóm tắt: Usecase này cho phép người dùng sử dụng chức năng Quiz-game.
Dòng sự kiện: Usecase bắt đầu khi người dùng nhấn vào nút “Game” ở
trang chủ.
Dòng sự kiện chính:
Bước 1: Người dùng nhấn vào nút “Game”.
Bước 2: Hiển thị giao diện “Game”.
Bước 3. Nhấn chọn đáp án.
Các dòng sự kiện khác: Không có.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Người dùng phải đăng nhập tài khoản. Danh sách từ
vựng không được trống.
Điều kiện hoàn tất: Hiện thị giao diện Game.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 30


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Đăng ký tài khoản

Hình 2.6 Usecase đăng ký tài khoản


2.1.3. Usecase của quản trị viên (ADMIN)
 Quản lý thông tin khách hàng

Hình 2.7 Usecase quản lý thông tin khách hàng


Đặc tả Usecase thêm tài khoản người dùng
Tóm tắt: Usecase này cho phép người quản trị thêm mới một tài khoản
người dùng.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn chức năng thêm tài
khoản người dùng bằng cách nhấn nút thêm ở trang quản lý tài khoản người
dùng.
Dòng sự kiện chính:

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 31


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 1: Người quản trị chọn chức năng thêm tài khoản người dùng bằng
cách bấm nút thêm ở trang quản lý tài khoàn người dùng.
Bước 2: Hệ thống hiển thì form thêm tài khoản người dùng.
Bước 3: Người quản trị nhập thông tin tài khoản.
Bước 4: Người quản trị nhấn thêm
Bước 5: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị thoát trang thêm tài khoản người dùng.
Usecase dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Không có
Điều kiện hoàn tất: Chuyển về trang quản lý tài khoản người dùng. Thông
báo thêm thành công.
Đặc tả Usecase sửa tài khoản người dùng
Tóm tắt: Usecase này cho phép người quản trị chỉnh sửa thông tin tài khoản
người dùng.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn sửa tài khoản người
dùng bằng cách bấm nút sửa tương ứng với tài khoản người dùng cần chỉnh
sửa.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn sửa tài khoản người dùng bằng cách bấm nút
sửa tương ứng với tài khoản người dùng cần chỉnh sửa.
Bước 2: Hệ thống hiển thị form chỉnh sửa thông tin tài khoản người dùng.
Bước 3: Người quản trị chỉnh sửa thông tin.
Bước 4: Người quản trị nhấn cập nhật.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 32


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 5: Hệ thống kiểm tra dữ liệu hợp lệ hay chưa sau đó lưu dữ liệu và
thông báo cập nhật thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị thoát trang chỉnh sửa tài khoản người dùng.
Usecase dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ, thông báo không hợp lệ và quay lại
bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Phải có ít nhất một tài khoản người dùng.
Điều kiện hoàn tất: Chuyển về trang quản lý tài khoản người dùng. Thông
báo cập nhật thành công.
Đặc tả Usecase xóa tài khoản người dùng:
Tóm tắt: Usecase này cho phép người quản trị xóa tài khoản người dùng.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn xóa tài khoản người
dùng bằng cách nhấn nút xóa tương ứng với tài khoản người dùng.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn xóa tài khoản người dùng bằng cách nhấn nút
xóa tương ứng với tài khoản người dùng.
Bước 2: Hệ thống hiển thị form xóa tài khoản.
Bước 3: Người quản trị nhấn nút xóa tài khoản.
Bước 4: Hệ thống cập nhật dữ liệu và thông báo xóa thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị chọn hủy xóa tài khoản. Usecase kết thúc.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Phải có ít nhất một tài khoản người dùng.
Điều kiện hoàn tất: Thông báo xóa tài khoản thành công.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 33


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Đặc tả Usecase tìm kiếm tài khoản người dùng:


Tóm tắt: Usecase cho phép người quản trị tìm kiếm tài khoản người dùng
bằng cách nhập từ khóa.
Dòng sự kiện: Usecase bắt đầu khi người quản trị nhập từ khóa trong ô tìm
kiếm.
Dòng sự kiện chính:
Bước 1: Người quản trị nhập từ khóa trong ô tìm kiếm.
Bước 2: Hệ thống truy vấn dữ liệu tương ứng.
Bước 3: Hệ thống hiển thị danh sách tài khoản người dùng theo từ khóa đã
nhập.
Các dòng sự kiện khác:
Dòng sự kiện 1: Danh sách tài khoản người dùng theo từ khóa trống. Hiển
thị “Không tìm thầy kết quả”.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Không có
Điều kiện hoàn tất: Hiển thị danh sách tài khoản người dùng.
 Quản lý từ vựng

Hình 2.8 Usecase quản lý từ vựng

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 34


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Đặc tả Usecase thêm từ vựng


Tóm tắt: Usecase này cho phép người quản trị thêm mới một từ vựng.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn chức năng thêm từ
vựng bằng cách nhấn nút thêm ở trang quản lý từ vựng.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn chức năng thêm từ vựng bằng cách bấm nút
thêm ở trang quản lý tài khoàn người dùng.
Bước 2: Hệ thống hiển thì form thêm từ vựng.
Bước 3: Người quản trị nhập thông tin từ vựng.
Bước 4: Người quản trị nhấn thêm
Bước 5: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị thoát trang thêm từ vựng người dùng.
Usecase dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Không có
Điều kiện hoàn tất: Chuyển về trang quản lý từ vựng. Thông báo thêm
thành công.
Đặc tả Usecase sửa từ vựng
Tóm tắt: Usecase này cho phép người quản trị chỉnh sửa thông tin từ vựng.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn sửa từ vựng bằng
cách bấm nút sửa tương ứng với từ vựng cần chỉnh sửa.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn sửa từ vựng bằng cách bấm nút sửa tương ứng
với từ vựng cần chỉnh sửa.
Bước 2: Hệ thống hiển thị form chỉnh sửa thông tin từ vựng.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 35


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 3: Người quản trị chỉnh sửa thông tin.


Bước 4: Người quản trị nhấn cập nhật.
Bước 5: Hệ thống kiểm tra dữ liệu hợp lệ hay chưa sau đó lưu dữ liệu và
thông báo cập nhật thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị thoát trang chỉnh sửa từ vựng. Usecase dừng
lại.
Dòng sự kiện 2: Thông tin không hợp lệ, thông báo và quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Phải có ít nhất một từ vựng.
Điều kiện hoàn tất: Chuyển về trang quản lý từ vựng. Thông báo cập nhật
thành công.
Đặc tả Usecase xóa từ vựng:
Tóm tắt: Usecase này cho phép người quản trị xóa từ vựng.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn xóa từ vựng bằng
cách nhấn nút xóa tương ứng với từ vựng.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn xóa từ vựng bằng cách nhấn nút xóa tương ứng
với từ vựng.
Bước 2: Hệ thống hiển thị form xóa tài khoản.
Bước 3: Người quản trị nhấn nút xóa tài khoản.
Bước 4: Hệ thống cập nhật dữ liệu và thông báo xóa thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị chọn hủy xóa tài khoản. Usecase kết thúc.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Phải có ít nhất một từ vựng.
Điều kiện hoàn tất: Thông báo xóa từ vựng thành công.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 36


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Đặc tả Usecase tìm kiếm từ vựng:


Tóm tắt: Usecase cho phép người quản trị tìm kiếm từ vựng bằng cách nhập
từ khóa.
Dòng sự kiện: Usecase bắt đầu khi người quản trị nhập từ khóa trong ô tìm
kiếm.
Dòng sự kiện chính:
Bước 1: Người quản trị nhập từ khóa trong ô tìm kiếm.
Bước 2: Hệ thống truy vấn dữ liệu tương ứng.
Bước 3: Hệ thống hiển thị danh sách từ vựng theo từ khóa đã nhập.
Các dòng sự kiện khác:
Dòng sự kiện 1: Danh sách từ vựng theo từ khóa trống. Hiển thị “Không tìm
thầy kết quả”.
Các yêu cầu đặc biệt: Không có.
Điều kiện tiên quyết: Không có
Điều kiện hoàn tất: Hiển thị danh sách từ vựng.
 Quản lý tài khoản truy cập

Hình 2.9 Usecase quản lý tài khoản truy cập


Đặc tả Usecase quản lý tài khoản truy cập
Tóm tắt: Usecase này cho phép người quản trị quản lý tài khoản truy cập.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 37


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn chức năng quản lý
danh sách người dùng.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn chức năng quản lý danh sách người dùng.
Bước 2: Nhấn nút “Gán quyền”.
Bước 3: Chọn hoặc bỏ chọn quyền.
Bước 4: Nhấn lưu.
Bước 5: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị thoát trang thêm từ vựng người dùng.
Usecase dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Phải có ít nhất 1 tài khoản người dùng.
Điều kiện hoàn tất: Chuyển về trang quản lí tài khoản người dùng.
 Quản lý quyền truy cập

Hình 2.10 Usecase quản lý quyền truy cập


Đặc tả Usecase thêm quyền truy cập
Tóm tắt: Usecase này cho phép người quản trị thêm mới một quyền truy
cập.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 38


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn chức năng thêm
quyền truy cập bằng cách nhấn nút thêm ở trang quản lý quyền truy cập.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn chức năng thêm quyền truy cập bằng cách bấm
nút thêm ở trang quản lý tài khoàn người dùng.
Bước 2: Hệ thống hiển thì form thêm quyền truy cập.
Bước 3: Người quản trị nhập thông tin quyền truy cập.
Bước 4: Người quản trị nhấn thêm
Bước 5: Hệ thống kiểm tra thông tin hợp lệ hay chưa, sau đó lưu dữ liệu và
thông báo lưu thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị thoát trang thêm quyền truy cập người dùng.
Usecase dừng lại.
Dòng sự kiện 2: Thông tin không hợp lệ. Hệ thống báo lỗi. Quay lại bước 3.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Không có
Điều kiện hoàn tất: Chuyển về trang quản lý quyền truy cập. Thông báo
thêm thành công.
Đặc tả Usecase xóa quyền truy cập:
Tóm tắt: Usecase này cho phép người quản trị xóa quyền truy cập.
Dòng sự kiện: Usecase bắt đầu khi người quản trị chọn xóa quyền truy cập
bằng cách nhấn nút xóa tương ứng với quyền truy cập.
Dòng sự kiện chính:
Bước 1: Người quản trị chọn xóa quyền truy cập bằng cách nhấn nút xóa
tương ứng với quyền truy cập.
Bước 2: Hệ thống hiển thị form xóa tài khoản.
Bước 3: Người quản trị nhấn nút xóa tài khoản.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 39


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Bước 4: Hệ thống cập nhật dữ liệu và thông báo xóa thành công.
Các dòng sự kiện khác:
Dòng sự kiện 1: Người quản trị chọn hủy xóa tài khoản. Usecase kết thúc.
Các yêu cầu đặc biệt: Không có
Điều kiện tiên quyết: Phải có ít nhất một quyền truy cập.
Điều kiện hoàn tất: Thông báo xóa quyền truy cập thành công.
2.2. Thiết kế cơ sở dữ liệu

Hình 2.11 Cơ sở dữ liệu hệ thống

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 40


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3. Sơ đồ hoạt động (Activity Diagram)


2.3.1 Đăng nhập và đăng ký

Hình 2.12 Sơ đồ hoạt động đăng nhập và đăng ký

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 41


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.2. Quản lý thêm từ vựng vào danh sách

Hình 2.13 Sơ đồ hoạt động quản lý thêm từ vựng vào danh sách

2.3.4 Quản lý danh sách từ vựng của tôi

Hình 2.14 Sơ đồ hoạt động quản lý danh sách từ vựng của tôi

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 42


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.5. Quản lý tài khoản

Hình 2.15 Sơ đồ hoạt động quản lý tài khoản

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 43


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.6. Sử dụng Quiz-game

Hình 2.16 Sơ đồ hoạt động Chơi Quiz-game

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 44


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.7. Quản lý tài khoản

Hình 2.17 Sơ đồ hoạt động quản lý tài khoản

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 45


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.7. Quản lý từ vựng

Hình 2.18 Sơ đồ hoạt động quản lý từ vựng

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 46


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.7. Quản lý tài khoản truy cập

Hình 2.19 Sơ đồ hoạt động quản lý tài khoản truy cập

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 47


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.3.7. Quản lý quyền truy cập

Hình 2.20 Sơ đồ hoạt động quản lý quyền truy cập


2.4. Sơ đồ tuần tự (Sequence Diagram)
2.4.1. Đăng nhập và đăng ký tài khoản

Hình 2.21 Sơ đồ tuần tự đăng nhập và đăng ký

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 48


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.4.2. Quản lý thêm từ vựng vào danh sách

Hình 2.22 Sơ đồ tuần tự quản lý thêm từ vựng vào danh sách

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 49


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.4.3 Quản lý danh sách từ vựng của tôi

Hình 2.23 Sơ đồ tuần tự quản lý danh sách từ vựng của tôi

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 50


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.4.4. Quản lý tài khoản

Hình 2.24 Sơ đồ tuần tự quản lý tài khoản

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 51


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.4.5. Sử dụng Quiz-game

Hình 2.25 Sơ đồ tuần tự Quiz-game

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 52


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.4.6. Quản lý hệ thống

Hình 2.26 Sơ đồ tuần tự quản lý hệ thống

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 53


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.5. Thiết kế giao diện hệ thống


2.5.1. Giao diện dành cho khách hàng (WebApp/User)

Hình 2.27 Giao diện chính

Hình 2.28 Giao diện chính

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 54


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 2.29 Giao diện đăng nhập của khách hàng

Hình 2.30 Giao diện đăng ký khách hàng

Hình 2.31 Giao diện thông tin chi tiết từ vựng

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 55


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 2.32 Giao diện quản lý danh sách từ vựng

Hình 2.33 Giao diện Quiz-game

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 56


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

2.5.2. Giao diện dành cho admin

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

Hình 2.35 Giao diện quản lý thống kê

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 57


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

Hình 2.36 Giao diện quản lý tài khoản

Hình 2.37 Giao diện quản lý từ vựng

Hình 2.38 Giao diện Restful Api

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 58


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TƯƠNG LAI

1.1 Kết luận


Với nhu cầu toàn cầu hóa, hiện đại hóa hiện nay thì việc áp dụng tin học
vào các lĩnh vực đời sống là vô cùng cần thiết và với nguồn tài nguyên hiện nay
thì việc áp dụng vào đa dạng lĩnh vực một cách có tổ chức. Và cùng với đó là
nền hội nhập, cũng như các thứ tiếng ngoại quốc được mọi người sử dụng rộng
rãi như: tiếng Anh, tiếng Trung, tiếng Nhật... Đặc biệt là tiếng Anh, gắn bó với
con người Việt Nam lâu và phổ biến nhất trên thế giới. Do đó việc mà tin học có
thể làm là giúp mọi người có thể học tiếng Anh mọi lúc, mọi nơi. Với đó em
muốn xây dụng một WebApp học tiếng anh một cách đơn giản.
Kết quả đã đạt được:
 Nắm được khái quát về MVC, các lợi ích của ASP.NET Core MVC
mang lại
 Nắm được các bước cơ bản để tạo một website bằng ASP.NET
Core MVC.
 Hiểu rõ cách thức hoạt động của một dự án làm bằng Framework
MVC cũng như nắm được mô hình của nó.
 Xây dựng thành công một webapp thương mại điện tử được viết trên
nền tảng ASP.NET Core MVC.
 Hiểu rõ cách hoạt động của một trang web Api.
 Thu hoạch được những phương pháp học, tư duy mới.
1.2 Hướng phát triển tương lai

Tuy hệ thống đã được hoàn thành nhưng chỉ với một khoản thời gian ngắn
thực hiện dự án thì không thể nói là nó đã hoàn thiện. Dự án xây dựng trang
website đi chợ online còn những thiếu xót, sự cố tồn tại đồng thời cũng là những
tiềm năng để phát triển và hoàn thiện.

 Hướng phát triển một số chức năng của hệ thống đó là :


 Xây dựng và mở rộng dữ liệu Backend-Api hơn.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 59


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

 Xây dựng các Quiz-game đơn giản giúp khách hàng dễ dàng học
tiếng Anh mà không bị chán.
 Tạo các trang Blog về phương pháp học tiếng Anh...
 Và còn nhiều chức năng khác...

Những ý kiến nêu trên là những hướng phát triển dự án này trong thời gian
tới và em rất mong những được những nhận xét và góp ý của các thầy, cô giáo
về những ý kiến trên để có thể có được những nhìn nhận, kinh nghiệm về việc
phát triển các dự án sau này.

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 60


XÂY DỰNG WEBAPP HỖ TRỢ HỌC TIẾNG ANH ONLINE BẰNG ASP .NET CORE

TÀI LIỆU THAM KHẢO

 [1] https://docs.microsoft.com/vi-vn/aspnet/core/tutorials/first-mvc-app/
start-mvc?view=aspnetcore-6.0&tabs=visual-studio

 [2] https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-
components?view=aspnetcore-6.0

 [3]
https://docs.microsoft.com/en-us/dotnet/api/system.security.claims.claims
identity?view=net-6.0

 [4] https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas?
view=aspnetcore-6.0

 [5]
https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcor
e.dbcontext?view=efcore-6.0

 [6] https://docs.microsoft.com/en-us/aspnet/core/security/authentication/
identity?view=aspnetcore-6.0&tabs=visual-studio

 [7] https://docs.microsoft.com/en-us/aspnet/core/security/authorization/
claims?view=aspnetcore-6.0

 [8] https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state?
view=aspnetcore-6.0

 [9] https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-
versions/mvc-music-store/mvc-music-store-part-3

 [10] https://github.com/teduinternational/eShopSolution

Khoá luận tốt nghiệp – SVTH: Hoàng Xuân Quốc Việt 61

You might also like