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

Đồ án cơ sở website học tập điện tử

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 (3.31 MB, 42 trang )

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

ĐỒ ÁN CƠ SỞ

WEBSITE HỌC TẬP ĐIỆN TỬ

Ngành:

CÔNG NGHỆ THÔNG TIN

Chuyên ngành: CÔNG NGHỆ PHẦN MỀM

Giảng viên hướng dẫn : Trịnh Cơng Nhưt

TP. Hồ Chí Minh, 2022


LỜI CAM ĐOAN
Tôi xin cam đoan đồ án cơ sở “Lập trình trang Web học tập điện từ” là cơng trình
nghiên cứu của nhóm chúng tơi. Nhóm chúng tơi đã tự đọc nghiên cứu, tham khảo
những kỹ thuật code từ các video trên Youtube,Stackoverflow,...Những dòng code đều
được thực hiện dưới tay của nhóm chúng tơi. Tất cả những kỹ thuật trong đồ án đảm
bảo trung thực và chưa được công bố ở bất cứ cơng trình nghiên cứu nào khác.

1


2



LỜI CẢM ƠN
Lời đầu tiên chúng em xin chân thành cảm ơn Ban giám hiệu trường Đại Học Công
Nghệ Thành Phố Hồ Chí Minh đã tạo điều kiện để sinh viên chúng em có một mơi
trường học tập thoải mái về cơ sở hạ tầng cũng như cơ sở vật chất.
Tiếp theo xin được cho phép chúng em được bày tỏ lịng biết ơn đến tất cả các thầy cơ
và nhà trường đã hỗ trợ, giúp đỡ chúng em trong suốt quá trình học tập và nghiên cứu
đề tài này. Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, chúng em đã
nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè.
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến quý Thầy Cô ở khoa Công Nghệ
Thông Tin đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học
tập tại trường. Nhờ có những lời hướng dẫn, dạy bảo của các thầy cơ nên đề tài nghiên
cứu của chúng em mới có thể hoàn thành tốt đẹp.
Một lần nữa, chúng em xin chân thành cảm ơn thầy Trịnh Công Nhựt người đã trực
tiếp giúp đỡ, quan tâm, hướng dẫn chúng em hoàn thành tốt bài báo cáo này trong thời
gian qua.
Bài báo cáo thực hiện trong khoảng thời gian không được nhiều bước đầu đi vào thực
tế của chúng em còn hạn chế và cịn nhiều bỡ ngỡ nên khơng tránh khỏi những thiếu
sót. Chúng em rất mong nhận được những ý kiến đóng góp q báu của q Thầy Cơ
để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều
kiện bổ sung, nâng cao kiến thức của mình.
Chúng em rất chân thành cảm ơn và mong được thầy cơ đóng góp ý kiến cho bài đồ án
của chúng em.
Sinh viên thực hiện :

3


MỤC LỤC
LỜI CAM ĐOAN.......................................................................................................................1
LỜI CẢM ƠN.............................................................................................................................2

MỤC LỤC..................................................................................................................................3
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT.................................................................5
DANH MỤC CÁC BẢNG.........................................................................................................6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ.....................................................................................7
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT..........................................................................................8
1.Vài nét sơ lược vè công nghệ ASP.NET MVC5.................................................................8
1.1 Những ưu, nhược điểm của công nghệ ASP.NET MVC5..............................................8
1.2 Lịch sử ra đời của MVC................................................................................................9
1.3 Sự khác nhau giữa MVC và web form........................................................................10
2. Tổng quan mơ hình MVC:................................................................................................11
3. Đặc điểm của ASP.NET MVC Framework:.....................................................................12
3.1 Hỗ trợ định tuyến........................................................................................................13
3.2 Model Binding.............................................................................................................13
3.3 Filters..........................................................................................................................13
3.4 Razor View..................................................................................................................13
3.5 Các cải tiến của mơ hình MVC 5................................................................................14
4. Bootstrap:..........................................................................................................................14
4.1 Những lý do để sử dụng Bootstrap:............................................................................14
4.2 Authentication Filter...................................................................................................15
5.Mơ hình nghiệp vụ của hệ thống :.....................................................................................16
5.1 Chức năng của từng bộ phận :....................................................................................16
5.2 Yêu cầu chức năng nghiệp vụ của hệ thống :.............................................................16
5.3 Yêu cầu hệ thống :.......................................................................................................16
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG...............................................................18
1. Xác định các loại thực thể :...............................................................................................18
2. Sơ đồ phân rã chức năng:..................................................................................................18
3. Mơ hình Use Case :...........................................................................................................18
3.1 Xác định các Actor..........................................................................................................18
3.2 Xác định các Use Case....................................................................................................18
3.3 Xây dựng biểu đồ Use Case tổng quát:...........................................................................19

4


4. Đặc tả Use Case................................................................................................................21
4.1 Use Case 1 – Đăng nhập:...........................................................................................21
4.2 Use Case 2 – Đăng xuất:............................................................................................22
4.3 Use Case 3 – Đăng ký:................................................................................................22
4.4 Use Case 4 – Xem khóa học........................................................................................23
4.5 Use Case 5 – Làm bài tập...........................................................................................23
4.6 Use Case 6 – Thực hành HTML.................................................................................24
5. Cơ sở dữ liệu.....................................................................................................................25
CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM..............................................................................28
1. Giao diện trang chủ...........................................................................................................28
2. Giao diện khóa học HTML...............................................................................................29
3. Giao diện khóa học CSS:..................................................................................................29
4. Giao diện khóa học Javascript..........................................................................................30
5. Giao diện bài tập CSS, HTML. Javascript........................................................................31
6. Giao diện thực hành HTML..............................................................................................32
7. Giao diện đăng nhập.........................................................................................................33
8. Giao diện đăng ký.............................................................................................................33
9. Giao diện trang chủ trang Admin......................................................................................34
10. Giao diện danh sách khóa học........................................................................................35
11. Giao diện danh sách bài giảng :......................................................................................35
12. Giao diện danh sách câu hỏi :.........................................................................................36
13. Giao diện danh sách tài khoản :......................................................................................37
CHƯƠNG 4 : TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN CHO WEBSITE.............................38
1. Tổng kết :..........................................................................................................................38
2. Kết quả đạt được :.............................................................................................................38
3. Hạn chế :...........................................................................................................................38
4. Hướng phát triển :.............................................................................................................38

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

5


DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
-

Youtube : nền tảng xem video nổi tiếng thế giới

-

Stackoverflow : nơi mà lập trình viên trên khắp thế giới có thể đặt câu hỏi về

bugs hoặc những khó khăn mà họ chưa giải quyết được
-

MVC :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).
-

Web form : là một trong ba mơ hình lập trình khác nhau mà bạn có thể sử dụng

để tạo ứng dụng web ASP.NET, phần còn lại là ASP.NET MVC và ASP.NET Web
Pages.
-


Model Binding : cơ chế map dữ liệu được gửi qua HTTP Request vào các tham

số của action method trong Controller.
-

Razor View : View Engine mặc định của ASP.NET Core. Nó lấy mã Razor

trong file View và chuyển sang HTML response.
-

Bootstrap : một framework bao gồm các HTML, CSS và JavaScript template

dùng để phát triển website chuẩn responsive.
-

Overrides : phương thức ghi đè

6


DANH MỤC CÁC BẢNG
Bảng 1 Giai đoạn phát triển của ASP.NET..................................................................10
Bảng 2 Sự khác nhau giữa MVC và Web Form...........................................................10
Bảng 3 Các loại Authentication Filter..........................................................................15
Bảng 4 Chức năng nghiệp vụ của hệ thống..................................................................16
Bảng 5 Xác định Use Case...........................................................................................19
Bảng 6 Use Case đăng nhập.........................................................................................22
Bảng 7 Use Case đăng xuất.........................................................................................22
Bảng 8 Use Case đăng kí.............................................................................................22
Bảng 9 Use Case xem khóa học...................................................................................23

Bảng 10 Use Case làm bài tập.....................................................................................23
Bảng 11 Use Case thực hành HTML...........................................................................24
Bảng 12 Mô tả cơ sở dữ liệu của Tài Khoản................................................................25
Bảng 13 Mô tả cơ sở dữ liệu của Bài Giảng................................................................26
Bảng 14 Mô tả cơ sở dữ liệu của Câu Hỏi...................................................................26
Bảng 15 Mô tả cơ sở dữ liệu của Chức Năng...............................................................26
Bảng 16 Mơ tả cơ sở dữ liệu của Khóa Học................................................................27
Bảng 17 Mô tả cơ sở dữ liệu của Quá Trình................................................................27

7


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1 Microsoft ASP.NET...........................................................................................8
Hình 2 Tổng quan mơ hình MVC................................................................................11
Hình 3 Mơ hình minh họa MVC..................................................................................12
Hình 4 Bootstrap..........................................................................................................14
Hình 5 Sơ đồ phân rã chức năng của trang web...........................................................18
Hình 6 Use Case tổng quát...........................................................................................19
Hình 7 Use Case cho Viewer.......................................................................................20
Hình 8 Use Case cho Admin........................................................................................21
Hình 9 Cơ sở dữ liệu....................................................................................................25
Hình 10 Giao diện trang chủ........................................................................................28
Hình 11 Giao diện khóa học HTML............................................................................29
Hình 12 Giao diện khóa học CSS................................................................................29
Hình 13 Giao diện khóa học Javascript........................................................................30
Hình 14 Giao diện bài tập HTML, CSS, Javascript.....................................................32
Hình 15 Giao diện thực hành HTML...........................................................................32
Hình 16 Giao diện đăng nhập......................................................................................33
Hình 17 Giao diện đăng ký..........................................................................................34

Hình 18 Giao diện trang chủ Admin............................................................................34
Hình 19 Giao diện danh sách khóa học........................................................................35
Hình 20 Giao diện danh sách bài giảng........................................................................35
Hình 20 Giao diện danh sách câu hỏi...........................................................................36
Hình 21 Giao diện danh sách tài khoản........................................................................37

8


CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.Vài nét sơ lược vè công nghệ ASP.NET MVC5
- ASP.NET là 1 framwork lập trình web được cung cấp bởi Microsoft và nó sử dụng
ngôn ngữ C# làm ngôn ngữ phát triển. ASP.NET bao gồm 2 model đó là Web Forms
và MVC.

Hình 1 Microsoft ASP.NET

1.1 Những ưu, nhược điểm của công nghệ ASP.NET MVC5
- Ưu điểm:
+ Do sử dụng mơ hình MVC nên trong ASP.Net MVC đã tách biệt được các tầng
trong mơ hình lập trình web vì vậy giúp tối ưu ứng dụng và dễ dàng trong việc viết
code, giao diện
+ Giao diện trong ASP.Net MVC sử dụng công nghệ thiết kế web HTML, CSS
nền việc thiết kế giao diện trở nên dễ dàng và giúp cho designer linh hoạt trong việc
thiết kế
+ ASP.Net MVC khơng sử dụng view state vì vậy trang web khơng bị tăng kích
thước do đó hiệu năng hoạt động không bị bị giảm

9



+ ASP.Net MVC đã khắc phục được các nhược điểm của web forms vì vậy web
forms hiện nay khơng cịn được dùng phổ biến nữa.
- Nhược điểm:
+ Web Forms không có sự tách biệt rõ ràng 3 tầng trong mơ hình lập trình web.
+ Trong Web Forms có sử dụng 1 đối tượng View State mà đối tượng này làm
cho trang web bị tăng kích thước vì vậy làm giảm hiệu năng của ứng dụng.
+ Giao diện của Web Forms được thiết kế dựa trên những toolbox có sẵn mà web
forms cung cấp mà hiện nay đa phần designer sử dụng html, css để thiết kế website vì
nó gây khó khăn trong việc thiết kế web hiện nay, việc thiết kế trở nên mất linh hoạt.
- Với những khó khăn như vậy thì Microsoft đã cho ra đời ASP.Net MVC.

1.2 Lịch sử ra đời của MVC
- Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (GUI) và lập trình hướng đối tượng
(Object Oriented Programming) cho phép lập trình viên làm việc với những thành
phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó.
Khơng dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho ra
đời cái gọi là kiến trúc MVC (viết tắt của Model – View - Controller).
- MVC được phát minh tại Xerox Parc vào những năm 70, bởi TrygveReenskang.
MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Các giấy tờ quan trọng
đầu tiên được công bố trên MVC là “A Cookbook for Using the Model- ViewController User Interface Paradigm in Smalltalk – 80”, bởi Glenn Krasner và Stephen
Pope, xuất bản trong tháng 8 / tháng 9 năm 1988.
- Thế hệ tiếp theo của MVC xuất hiện cùng với hệ điều hành NeXT và các phần
mềm của nó.
- Kiến trúc này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn
đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm.
- Vì vậy sau đó, lần lượt các MVC framework ra đời dựa trên mơ hình MVC như:
CodeIgniter, Zend, ASP.NET MVC ...
Thời gian phát hành

2008
2008
1/2020
15/8/2012

Version
ASP.NET MVC 1.0
ASP.NET MVC 2.0 ( .NET 3.5)
ASP.NET MVC 3.0 ( .NET 4)
ASP.NET MVC 4.0 (.NET 4.5)
10


17/10/2013

ASP.NET MVC 5.0 (.NET 5.0)

Bảng 1 Giai đoạn phát triển của ASP.NET
1.3 Sự khác nhau giữa MVC và web form
Thành phần

MVC
ASP.NET được chia ra làm 3 phần :

Webform
ASP.NET Webform

sử

Models


dụng viewstate để quản lý

View

các trang ASP.NET đều có

Controller

lifecycle, postback và dùng

Mọi tương tác của người dùng với các webcontrols, các event
Views sẽ được thông qua việc thực hiện để thực hiện các hành động
các action hành động trong Controllers, cho UI ( User Interface).
khơng cịn postback, lifecycle và events.

Khi có sự tương tác với
người dùng nên hầu hết
ASP.NET Webform xử lý

chậm
Theo tác test, Đối với MVC thì việc đó có thể sử dụng Với ASP.NET Webform
debug

các unit test có thể thẩm định rất dễ dàng đều phải chạy tất cả các
các Controllers thực hiện như thế nào

tiến trình của ASP.NET và
sự thay đổi ID của bất kỳ
Controllers nào cũng ảnh


hưởng đến ứng dụng
Bảng 2 Sự khác nhau giữa MVC và Web Form

11


2. Tổng quan mơ hình MVC:

Hình 2 Tổng quan mơ hình MVC
- Chúng ta chia ra 3 tầng như sau:
+ Presentation Layer (tầng 3): tầng này giúp hiển thị giao diện
+ Business Logic Layer (tầng 2): tầng này chứa các hàm thực thi, giúp xử lý sự
kiện xảy ra trên tầng Presentation Layer.
+ Data Access Layer (tầng 1): tầng này chứa hàm kết nối với các hệ quản trị cở
sở dữ liệu như SQL Server, Mysql, Oracle …
- Theo như hình mơ tả, cấu trúc cổ điển là 3 tầng này trộn vào nhau hay còn gọi là cấu
trúc One – Tier. Khi làm việc với cấu trúc One – Tier chúng ta gặp khó khăn trong
việc chỉnh sửa code hay chỉnh sửa giao diện vì các tầng này bi trộn vào nhau.
- Tiếp đó, cấu trúc Two – Tier ra đời, tuy nhiên vẫn chưa giải quyết vấn đề của cấu
trúc One – Tier gặp phải đó là việc chỉnh sửa code hay giao diện gặp khó khăn vì tầng
2 và tầng 3 vẫn chưa tách biệt khỏi nhau.
- Vì vậy câu trúc Three – Tier đã ra đời và giải quyết tất cả các vần đề mà One – Tier,
Two – Tier gặp phải. Lúc này 3 tầng đã tách biệt nhau ra do đó việc chỉnh sửa code
hay giao diện sẽ trở nên dễ dàng hơn giúp cho ứng dụng tối ưu hóa nhất
Mơ hình minh họa MVC :

12



Hình 3 Mơ hình minh họa MVC
- Model :Model chứa và thể hiện các đặc tính và logic ứng dụng. Theo một cách hiểu
khác
- Model đại diện cho dữ liệu và logic cốt lõi. Nó chính là những lớp (class) chứa
thôngtin về các đối tượng mà ta cần phải thao tác, làm việc trên nó. Ví dụ: “Sách”
chứa cácthơng tin như “Tên”, “Ngày phát hành”, “Giá”, “Nhà sản xuất”, …
- View :View làm nhiệm vụ thể hiện một Model hay nhiều Model một cách trực quan,
nó nhậnthơng tin (một Model hoặc nhiều Model) sau đó biểu diễn lên trang website.
- Controller :Controller nằm giữa tầng View và Model, làm nhiệm vụ tìm kiếm, xử lý
một hoặcnhiều Model, sau đó gửi Model tới View để View hiển thị.

3. Đặc điểm của ASP.NET MVC Framework:
- Tiếp tục hỗ trợ các tính năng trong ASP.NET
+ Hỗ trợ sử dụng các các tập tin:.ASPX, .ASCX, Master như là thành phần View.
+ Hỗ trợ đầy đủ các tính năng bảo mật của ASP.net: Form/ Windows authenticate,
URL authorization, membership/roles, output và data caching, section/ profile state,
configuration system, provider architecture. Tách rõ ràng các mối liên quan, mở ra khả
năng test TDD (Test Driven Developer).

13


+ Có thể test unit trong ứng dụng mà khơng cần phải chạy Controllers cùng với tiến
trình của ASP.NET và có thể dùng bất kỳ một unit testing framework nào như NUnit,
MBUnit, MS Test,... Có khả năng mở rộng, mọi thứ trong MVC được thiết kế để dễ
thay thế, dễ dàng tùy biến. Ánh xạ URL mạnh mẽ, cho phép xây dựng ứng dụng với
những URL sạch. Không sử dụng mơ hình post-back từ giao diện gửi đến server. Thay
vào đó, chủ động đưa những post-back từ View đến thẳng lớp Controller.
- Hỗ trợ nhiều công cụ tạo View (Support for Multiple View Engines)
- Cho phép chọn công cụ tạo view. Hộp thoại New Project cho phép xác định view

engine mặc định cho một project.
- Các loại view engine
+ Web Forms (ASPX)
+ Razor
+ Hay một view engine nguồn mở như Spark, NHaml, NDjango.

3.1 Hỗ trợ định tuyến
- ASPNETMVC Framework có một bộ máy ánh xạ URL thật sự mạnh mẽ.
- Bộ máy này cung cấp phương pháp rất linh hoạt trong việc ánh xạ URLs sang các
Controller Classes.
- Bạn có thể dễ dàng định ra các quy luật, cài đặt đường đi, ASP.NET dựa vào các quy
luật đường đi đó để xác định Controller và action cần phải thực thi.
- ASP.NET cịn có khả năng phân tích URL, chuyển các thông số trong URL thành các
tham số trong lời gọi hàm của Controller.

3.2 Model Binding
- Model Binding là tính năng thế mạnh của ASP.NET MVC (và bây giờ nó
cũng được áp dụng cho cả Web Forms trong phiên bản ASP.NET 4.5).
- Hỗ trợ bạn viết phương thức nhận một đối tượng tùy biến như là một tham số
- Với sự hỗ trợ của Model Binding, bây giờ bạn chỉ cần tập trung vào việc cài đặt các
nghiệp vụ logic, không cần phải bận tâm về việc suy nghĩ làmcách nào để ánh xạ dữ
liệu từ người dùng sang các đối ượng NET.

3.3 Filters
- Là tính năng mạnh trong ASP.NET MVC. Hỗ trợ cho việc kiểm tra tỉnh hợp lệ trước
khi một action method được gọi hoặc sau khi một action method thi hành.
14


3.4 Razor View

Từ ASP.NET MVC 5 đi kèm với một cơng cụ View mới có tên là Razor với những lợi
ích sau:
- Củ pháp Razor là sạch sẽ và xúc tích, địi hỏi một số lượng tối thiểu các tổ hợp phím.
- Việc tìm hiểu Razor tương đối dễ dàng vì nó dựa trên ngơn ngữ C# và Visual Basic.
- Visual Studio bao gồm IntelliSense và mã cú pháp Razor được màu hóa.
- Với Razor views có thể kiểm tra từng đơn vị mà khơng địi hỏi bạn phải chạy các ứng
dụng hoặc phải chạy website.

3.5 Các cải tiến của mơ hình MVC 5
- Với MVC5 thì cải tiến hơn so với ASP.NET MVC4,Bootstrap được thay thế mẫu
MVC mặc định.
- Chứng thực người dùng Authentication Filter được tuỳchỉnh hoặc chứng thực từ
hãng thứ 3 cung cấp.
- Với Filter overrides, chúng ta có thể Filter override trênMethod hoặc Controller.
- Thuộc tính Routing được tích hợp vào MVC5.

4. Bootstrap:

Hình 4 Bootstrap
- Bootstrap là một framework CSS được Twitter phát triển. Nó là một tập hợp các bộ
chọn, thuộc tính và giá trị có sẵn để giúp cho web designer tránh việc lặp đi lặp lại
trong quá trình tạo ra các class CSS và những đoạn mã HTML giống nhau trong dự án
web của mình. Ngồi CSS ra thì bootstrap cịn hỗ trợ các function tiện ích được viết
dựa trên Jquery ( Carousel, Tooltip, Popovers,..)

15


4.1 Những lý do để sử dụng Bootstrap:
- Được viết bởi những người có óc thẩm mỹ và tài năng trên khắp thế giới. Sự

tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần nên có thể tin tưởng
kết quả mình làm ra và nhiều khi khơng cần kiểm tra lại. Vì vậy, giúp cho dự án của
bạn tiết kiệm được thời gian và tiền bạc.
- Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng
Bootstrap để tạo nên một trang web sang trọng và đầy đủ. Nhưng lại không cần code
quá nhiều CSS.
- Với giao diện mặc định là màu xám bạc sang trọng, hỗ trợ các component thông
dụng mà các website hiện nay cần có. Vì nó là opensource nên bạn có thể vào mã
nguồn của nó để thay đổi theo ý thích của bản thân.
- Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive. Bootstrap
được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên Mobile trước. Nên
việc sử dụng Bootstrap cho website của bạn sẽ phù hợp với tất cả kých thước màn
hình. Nhờ đó mà chúng ta khơng cần xây dựng thêm một trang web riêng biệt cho
mobile.
- Đội ngũ phát triển Bootstrap đã bổ sung thêm tính năng Customizer. Giúp cho
designer có thể lựa chọn những thuộc tính, component phù hợp với project của họ.
Chức năng này giúp ta khơng cần phải tải tồn bộ mã nguồn về máy.

4.2 Authentication Filter
- Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dung hợp
lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize.
- Authentication là xác thực người dùng , trong MVC 5 Authentication Filter được
tùy chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp.
- Khi tạo 1 project MVC 5, người dùng được lựa chọn 4 loại security.
Loại
No Authentication
Individual User

Mô tả
Ứng dụng không hỗ trợ security

Ứng dụng sử dụng tài khoản được quản lý bởi SQL Server

Accounts
Organizational

hoặc từ Gmail, Facebook,..
Ứng dụng sử dụng tài khoản được quản lý bởi Active

Accounts
Window

Directory hoặc Windows Azure Directory.
Ứng dụng chạy trên Intranet tức sử dụng tài khoản windows

Authentication

để đăng nhập
16


Bảng 3 Các loại Authentication Filter
- Mỗi loại security khác nhau sẽ phù hợp với các ứng dụng khác nhau. Khi chọn
Individual User Accounts thì ứng dụng chạy trên Internet và sử dụng SQL Server để
lưu trữ thành viên hoặc đăng nhập từ các hệ thống khác như Google, Facebook... Khi
đó người dùng có thể đăng ký, đăng nhập, đổi mật khẩu, đăng xuất với tài khoản cục
bộ hoặc từ bên ngồi(Google, Facebook...).
- Code của AccountController có 2 sự khác biệt:
+ Annotation [Authorize] được sử dụng để làm cho mọi action trong
controllerkhông thẻ truy xuất khi chưa đăng nhập ngoại trừ action đó được đánh dấu
vớiannotion [AllowAnontmous].

+ Thuộc tính UserManager được tạo ra trong constructor để quản lý các
thànhviên. Các trang chức năng security đăng ký, đăng nhập và đổi mật khẩu đượcthực
hiện nhờ thuộc tính này.

5.Mơ hình nghiệp vụ của hệ thống :
5.1 Chức năng của từng bộ phận :
- Quản trị viên (Admin) : quản lý trực tiếp trang web, chịu trách nhiệm vận
hành và bảo trì trang web. Quản trị viên chịu trách nhiệm quản lý thông tin các
khóa học, bảo mật thơng tin trên website.
- Học sinh (Viewer) : có chức năng xem những kiến thức về CSS, HTML,
Javascript, thực hành HTML.
5.2 Yêu cầu chức năng nghiệp vụ của hệ thống :
Vai trò
Quản trị viên (Admin)

Chức năng
- Đăng nhập, đăng xuất
- Quản lý danh sách khóa học
- Quản lý danh sách bài giảng
- Quản lý danh sách câu hỏi

Học sinh ( Viewer)

- Quản lý danh sách tài khoản
- Đăng ký
- Xem bài giảng
- Làm bài tập

- Thực hành HTML
Bảng 4 Chức năng nghiệp vụ của hệ thống

17


5.3 Yêu cầu hệ thống :
- Hệ thống chạy đúng và ổn định
- Giao diện thân thiện, dễ sử dụng
- Đáp ứng được yêu cầu của người dùng

18


CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1. Xác định các loại thực thể :
- tblTaiKhoan ( TaiKhoan, MatKhau, IdChucNang, Ho, Ten)
- tblBaiGiang (IdBaiGiang, IdKhoaHoc,TenBai,NoiDung,NgayTao, ThoiGianHien,
TrangThai )
- tblCauHoi ( IdCauHoi, IdBaiGiang, TieuDe, NoiDung, DapAn, TrangThai)
- tblChucNang (Id, TenChucNang)
- tblKhoaHoc (IdKH, TenKhoa, Mota, ThoiGianTao)
- tblQuaTrinh ( IdHS, IdCauHoi, ThoiGian)

2. Sơ đồ phân rã chức năng:

Hình 5 Sơ đồ phân rã chức năng của trang web

3. Mơ hình Use Case :
3.1 Xác định các Actor
- Đồ án có các Actor như sau : Quản trị viên ( Admin ) và học sinh ( Viewer )

19




×