Trong thời đại ngày nay, sự phát triển như vũ bão của công nghệ thông tin đang ảnh hưởng tới mọi mặt của đời sống xã hội. Trong đó giáo dục cũng chịu một sự tác động mạnh mẽ của công nghệ thông tin. Sự phát triển của công nghệ thông tin làm cho lượng tri thức của nhân loại tăng lên rẩt nhiều, chính vì vậy mà các phương pháp giáo dục truyền thống như “phấn trắng, bảng đen” không thể nào truyền tải được hết nội dung tri thức. Nó cũng đã mở ra nhiều phương pháp và cách dạy học mới. Vì vậy mà việc nghiên cứu đổi mới phương pháp giảng dạy bằng việc sử dụng hiệu quả của công nghệ thông tin đang là nhu cầu cấp bách trên phạm vi toàn thế giới, đặc biệt trong khi tình hình dịch Covid-19 diễn biến phức tạp như hiện nay. Trong bối cảnh đó, nếu muốn nền giáo dục nước nhà phát triển, bắt kịp và đáp ứng được trong cuộc công nghiệp hoá, hiện đại hoá của đất nước, thì nền giáo dục nước ta cần được đổi mới phương pháp dạy và học. Theo hướng vận dụng công nghệ thông tin và các thiết bị dạy học phát huy mạnh mẽ tư duy sáng tạo, kỹ năng thực hành và hứng thú học tập của học sinh, sinh viên để nâng cao chất lượng dạy học. Một trong những ngành đặc thù như Công nghệ thông tin thì việc học trực tuyến có ý nghĩa hết sức to lớn. Cũng đã có nhiều website, kênh youtube dạy lập trình trực tuyến. Tuy nhiên, các trang web này thường phải trả phí hoặc các nội dung không tập trung, khó tìm kiếm đối với người học.
Trang 2ĐỒ ÁN TỐT NGHIỆP
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH ỨNG DỤNG
ĐỀ TÀI
XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
HÀ NỘI 2021
Trang 3MỤC LỤC
MỤC LỤC 3
DANH MỤC CÁC HÌNH VẼ 6
DANH MỤC CÁC BẢNG BIỂU 7
THÔNG TIN KẾT QUẢ NGHIÊN CỨU 8
1 Thông tin chung 8
2 Mục tiêu 8
3 Nội dung chính 8
4 Kết quả chính đạt được 8
LỜI CẢM ƠN 9
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 10
1.1 Giới thiệu đề tài 10
1.2 Tính cấp thiết 10
1.3 Mục tiêu đề tài 11
1.4 Nội dung đề tài 11
1.5 Phạm vi đề tài 12
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 13
2.1 Kết quả thu thập yêu cầu 13
2.1.1 Yêu cầu phi chức năng 13
2.1.2 Yêu cầu chức năng 13
2.2 Phân tích yêu cầu 13
2.3 Biểu đồ use case tổng quát 14
2.4 Đặc tả chi tiết use case 15
2.4.1 Đăng ký 15
2.4.2 Đăng nhập 16
2.4.3 Tìm kiếm 17
2.4.4 Bình luận 18
2.4.5 Quản lý danh mục 19
2.4.6 Quản lý khoá học 20
2.4.7 Quản lý bài học 22
Trang 42.4.8 Quản lý bài tập 23
2.5 Biểu đồ tuần tự 25
2.5.1 Đăng ký 25
2.5.2 Đăng nhập 26
2.5.3 Tìm kiếm 27
2.5.4 Bình luận 28
2.5.5 Quản lý danh mục 30
2.5.6 Quản lý khoá học 32
2.5.7 Quản lý bài học 34
2.5.8 Quản lý bài tập 36
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG VỀ DỮ LIỆU 38
3.1 Thiết kế cơ sở dữ liệu 38
3.1.1 Nguyên tắc thiết kế cơ sở dữ liệu 38
3.1.2 Thiết kế các collection dữ liệu 38
3.2 Xây dựng cơ sở dữ liệu 42
3.2.1 Lựa chọn hệ quản trị cơ sở dữ liệu 42
3.2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MongoDB 42
3.2.3 Xây dựng cơ sở dữ liệu với MongoDB 43
3.2.4 Biểu đồ mối quan hệ giữa các collection trong cơ sở dữ liệu 47
CHƯƠNG 4 THIẾT KẾ VÀ XÂY DỰNG WEBSITE 48
4.1 Các công cụ lập trình 48
4.1.1 Môi trường phát triển 48
4.1.2 Ngôn ngữ sử dụng 51
4.2 Thiết kế chức năng 58
4.2.1 Chức năng đăng ký 58
4.2.2 Chức năng đăng nhập 59
4.2.3 Chức năng tìm kiếm 59
4.2.4 Chức năng bình luận 59
4.2.5 Chức năng bài tập 59
4.3 Thiết kế giao diện 59
4.3.1 Giao diện trang chủ 61
4.3.2 Giao diện đăng ký 61
Trang 54.3.3 Giao diện đăng nhập 62
4.3.4 Giao diện trang khoá học 63
4.3.5 Giao diện trang quản trị 64
4.4 Thiết kế kiểm soát 64
4.4.1 Giới thiệu 64
4.4.2 Nghiên cứu kiểm tra thông tin nhập, xuất 65
4.4.3 Một số dữ liệu đã được kiểm soát khi nhập 65
4.5 Chạy chương trình và kiểm thử 67
4.5.1 Kịch bản kiểm thử 67
4.5.2 Đánh giá kết quả chạy kiểm thử 67
KẾT LUẬN 69
1 Những kết quả đạt được 69
2 Hướng phát triển trong tương lai 69
TÀI LIỆU THAM KHẢO 70
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Use case tổng quát 15
Hình 2.2 Use case đăng ký 15
Hình 2.3 Use case đăng nhập 16
Hình 2.4 Use case tìm kiếm 17
Hình 2.5 Use case bình luận 18
Hình 2.6 Use case quản lý danh mục 19
Hình 2.7 Use case quản lý khoá học 20
Hình 2.8 Use case quản lý bài học 22
Hình 2.9 Use case quản lý bài tập 23
Hình 2.10 Biểu đồ tuần tự đăng ký 25
Hình 2.11 Biểu đồ tuần tự đăng nhập 26
Hình 2.12 Biểu đồ tuần tự tìm kiếm 27
Hình 2.13 Biểu đồ tuần tự thêm bình luận 28
Hình 2.14 Biểu đồ tuần tự sửa bình luận 29
Hình 2.15 Biểu đồ tuần tự xoá bình luận 29
Hình 2.16 Biểu đồ tuần tự thêm danh mục 30
Hình 2.17 Biểu đồ tuần tự sửa danh mục 31
Hình 2.18 Biểu đồ tuần tự xoá danh mục 31
Hình 2.19 Biểu đồ tuần tự thêm khoá học 32
Hình 2.20 Biểu đồ tuần tự sửa khoá học 33
Hình 2.21 Biểu đồ tuần tự xoá khoá học 33
Hình 2.22 Biểu đồ tuần tự thêm bài học 34
Hình 2.23 Biểu đồ tuần tự sửa bài học 35
Hình 2.24 Biểu đồ tuần tự xoá bài học 35
Hình 2.25 Biểu đồ tuần tự thêm bài tập 36
Hình 2.26 Biểu đồ tuần tự sửa bài tập 37
Hình 2.27 Biểu đồ tuần tự xoá bài tập 3
Trang 7Hình 3.1 Danh sách các collection dữ liệu 44
Hình 3.2 Collection users 44
Hình 3.3 Collection categories 45
Hình 3.4 Collection courses 45
Hình 3.5 Collection lessons 46
Hình 3.6 Collection comments 46
Hình 3.7 Collection exercises 47
Hình 3.8 Biểu đồ mối quan hệ giữa các collection trong cơ sở dữ liệu 47Y Hình 4.1 Visual Studio Code 48
Hình 4.2 Intellisense 50
Hình 4.3 ExpressJS 57
Hình 4.4 Cấu trúc ExpressJS 58
Hình 4.5 Giao diện trang chủ 61
Hình 4.6 Giao diện đăng ký 62
Hình 4.7 Giao diện đăng nhập 63
Hình 4.8 Giao diện trang khoá học 63
Hình 4.9 Giao diện trang quản trị 64
Hình 4.10 Kiểm soát dữ liệu đăng ký 66
Hình 4.11 Kiểm soát dữ liệu đổi mật khẩu 66
Hình 4.12 Kiểm soát dữ liệu thêm khoá học 67
DANH MỤC CÁC BẢNG BI Bảng 2.1 Phân tích các chức năng chính của website 13Y Bảng 3.1 Collection users 38
Bảng 3.2 Collection categories 39
Bảng 3.3 Collection courses 39
Bảng 3.4 Collection lessons 40
Bảng 3.5 Collection comments 41
Bảng 3.6 Collection exercises 41
Trang 8THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung
Tên đề tài: Xây dựng website học lập trình miễn phí Courseuni
Sinh viên thực hiện: Đặng Đình Toàn
Trang 93 Nội dung chính
Để đạt được mục tiêu của đồ án thì cần thực hiện các nội dung đó là :
Tìm hiểu tổng quan và cơ sở lý thuyết
Trang 10LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏlòng biết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ emtrong 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, em đã nhận được rất nhiều sự quan tâm, giúp đỡ củaquý Thầy Cô và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở bộ môn KhoaHọc Máy Tính đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thờigian 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 em mới có thể hoàn thiện tốt đẹp
Một lần nữa, em xin chân thành cảm ơn cô Nguyễn Thuỳ Dương – người đãtrực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt bài báo cáo này trong thờigian qua
Bài báo cáo đồ án tốt nghiệp thực hiện trong khoảng thời gian 7 tuần Bướcđầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏinhững thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của quýThầy Cô để kiến thức của 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 ý thức của mình
Em xin chân thành cảm ơn!
Trang 11CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu đề tài
Trong thời đại ngày nay, sự phát triển như vũ bão của công nghệ thông tin đang ảnh hưởng tới mọi mặt của đời sống xã hội Trong đó giáo dục cũng chịu một
sự tác động mạnh mẽ của công nghệ thông tin Sự phát triển của công nghệ thông tin làm cho lượng tri thức của nhân loại tăng lên rẩt nhiều, chính vì vậy mà các phương pháp giáo dục truyền thống như “phấn trắng, bảng đen” không thể nào truyền tải được hết nội dung tri thức Nó cũng đã mở ra nhiều phương pháp và cách dạy học mới Vì vậy mà việc nghiên cứu đổi mới phương pháp giảng dạy bằng việc
sử dụng hiệu quả của công nghệ thông tin đang là nhu cầu cấp bách trên phạm vi toàn thế giới, đặc biệt trong khi tình hình dịch Covid-19 diễn biến phức tạp như hiệnnay
Trong bối cảnh đó, nếu muốn nền giáo dục nước nhà phát triển, bắt kịp và đáp ứng được trong cuộc công nghiệp hoá, hiện đại hoá của đất nước, thì nền giáo dục nước ta cần được đổi mới phương pháp dạy và học Theo hướng vận dụng côngnghệ thông tin và các thiết bị dạy học phát huy mạnh mẽ tư duy sáng tạo, kỹ năng thực hành và hứng thú học tập của học sinh, sinh viên để nâng cao chất lượng dạy học
Một trong những ngành đặc thù như Công nghệ thông tin thì việc học trực tuyến có ý nghĩa hết sức to lớn Cũng đã có nhiều website, kênh youtube dạy lập trình trực tuyến Tuy nhiên, các trang web này thường phải trả phí hoặc các nội dung không tập trung, khó tìm kiếm đối với người học
1.2 Tính cấp thiết
Bản thân em cũng không ít lần vất vả trong việc tìm cho mình một trang web học lập trình ưng ý, nên em thấy rằng nếu có một trang web giải quyết vấn đề này thì nó sẽ là một bước đệm cho những người có đam mê học lập trình và người dạy lập trình Chính vì vậy nên em quyết định chọn đề tài “Xây dựng website học lập trình miễn phí Courseuni” làm đồ án tốt nghiệp
Trang 121.3 Mục tiêu đề tài
Tạo ra một trang web học lập trình miễn phí dựa trên những khoá học có sẵn trên youtube giúp người học có cái nhìn tổng quát Cụ thể mục tiêu cần đạt được là xây dựng được các chức năng chính sau đây:
Chức năng đăng ký tài khoản giúp người dùng có thể đăng ký tài khoản để
có thể tham gia vào các khoá học đang có trên trang web
Chức năng đăng nhập để người dùng có thể vào xem các nội dung bên trongcủa website
Chức năng tìm kiếm linh hoạt giúp người dùng có thể nhanh chóng tìm kiếm
ra thông tin khoá học theo tên khoá học, tên bài học, tác giả
Chức năng bình luận để người dùng có thể bình luận, trao đổi về các bài họctrong trang web
Chức năng quản lý danh mục để người quản trị có thể thực hiện thêm, sửa,xoá danh mục khoá học
Chức năng quản lý khoá học để người quản trị có thể thực hiện thêm, sửa,xoá khoá học
Chức năng quản lý bài học để người quản trị có thể thực hiện thêm, sửa, xoábài học
Chức năng quản lý bài tập để người quản trị có thể thực hiện thêm, sửa, xoábài tập
Chức năng quản lý tài khoản để người dùng có thể thực hiện thay đổi thôngtin tài khoản như: họ tên, ảnh đại diện, mật khẩu, người quản trị có thể cấmngười dùng bình luận, bổ nhiệm người dùng lên làm quản trị viên
1.4 Nội dung đề tài
Nghiên cứu ngôn ngữ lập trình, thiết kế cơ sở dữ liệu, quy trình phát triểnmột website
Học thêm và áp dụng công nghệ mới, cách sử dụng biểu đồ để hoàn thành đềtài
Trang 131.5 Phạm vi đề tài
Phạm vi thời gian: trong thời gian làm đồ án tốt nghiệp
Phạm vi không gian: môi trường internet
Phạm vi nội dung: các khoá học miễn phí trên youtube ở các kênh như:
Trang 14CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Kết quả thu thập yêu cầu
2.1.1 Yêu cầu phi chức năng
Trang web hoạt động liên tục
Phản hồi nhanh
Không cần thiết bị cấu hình cao
Tương thích với các trình duyệt thông dụng
Giao diện hài hoà, đơn giản, dễ sử dụng
2.1.2 Yêu cầu chức năng
Trang web dễ dàng cho người quản trị quản lý các tài khoản, khoá học, bàihọc, bài tập
Trang web dễ dàng cho học viên sử dụng để tìm kiếm khoá học, học tập
2.2 Phân tích yêu cầu
Bảng 2.1 Phân tích các chức năng chính của website
ST
T
Tên chức
1 Đăng ký Mọi người Đăng ký tài khoản
sử dụng website
Cung cấp các thôngtin
2 Đăng nhập Mọi người Đăng nhập để sử
dụng website
Cung cấp tài khoản mật khẩu đã đăng ký
3 Bình luận Mọi người Bình luận, trả lời
bình luận, sửa, xoá
Đăng nhập vào website
Trang 15bình luận
4 Quản lý danh
mục
Người quản trịviên
Thêm, sửa, xoá danh mục
Đăng nhập với tài khoản quản trị
5 Quản lý khoá
học
Người quản trịviên
Thêm, sửa, xoá khoá học
Đăng nhập với tài khoản quản trị
6 Quản lý bài
học
Người quản trịviên
Thêm, sửa, xoá bài học
Đăng nhập với tài khoản quản trị
7 Quản lý bài
tập
Người quản trịviên
Thêm, sửa, xoá bài tập
Đăng nhập với tài khoản quản trị
2.3 Biểu đồ use case tổng quát
Biểu đồ Usecase chỉ ra tương tác giữa các use case và tác nhân Use casebiểu diễn các chức năng của hệ thống Tác nhân là con người hay hệ thống kháccung cấp hay thu nhận thông tin từ hệ thống Biểu đồ Use case tập trung vào quansát trạng thái tĩnh của các use case trong hệ thống Nó đặc biệt quan trọng trongviệc tổ chức và mô hình hoá hệ thống Vì use case biểu diễn yêu cầu hệ thống từgóc nhìn của người dùng, cho nên use case là chức năng mà hệ thống phải có.Biểu đồ chỉ ra tác nhân nào khởi động use case và khi nào tác nhân nhận thông tin
từ hệ thống
Trang 16Hình 2.1 Use case tổng quát
Trang 17 Use case này bắt đầu khi khách hàng nhấn nút đăng ký Hệ thống sẽhiển thị màn hình yêu cầu nhập thông tin đăng ký bao gồm: Họ tên,email, mật khẩu, địa chỉ, số điện thoại.
Học viên nhập các thông tin trên và nhấn nút đăng ký Hệ thống kiểmtra thông tin email nhập vào, thêm vào collection users và màn hìnhhiển thị thông báo đăng ký thành công Use case kết thúc
Luồng rẽ nhánh:
Tại luồng cơ bản 2 nếu thông tin người dùng nhập không hợp lệ hoặcemail đã tồn tại thì hệ thống sẽ thông báo lỗi và yêu cầu nhập lại.Người dùng đăng ký thành công hoặc thoát Use case kết thúc
Luồng rẽ nhánh:
Trang 18 Tại luồng cơ bản 2 nếu người dùng nhập sai email và mật khẩu, hệthống hiển thị thống báo sai email hoặc mật khẩu và yêu cầu nhập lại.Người dùng tiếp tục nhập lại hoặc thoát Use case kết thúc.
Luồng rẽ nhánh: Khi học viên nhấn nút thoát hoặc trang chủ thì Use casekết thúc
Trang 19 Use case này bắt đầu sau khi người dùng chọn bài học để xem Khi
đó, người dùng sử dụng chức năng bình luận ở phía dưới video đểbình luận về nội dung bài học Khi người dùng nhập nội dung bìnhluận và nhấn nút bình luận, hệ thống sẽ kiểm tra và thêm vàocollection comments Use case kết thúc
Sửa bình luận: Người dùng nhấn nút sửa bình luận thì form sửa bìnhluận hiển thị, người dùng sửa nội dung bình luận, hệ thống sẽ kiểm tra
và sửa vào collection comments Use case kết thúc
Xoá bình luận: Người dùng nhấn nút xoá bình luận trên dòng nội dungbình luận Trạng thái trong collections comments sẽ được cập nhật.Use case kết thúc
Trang 20 Thêm danh mục: Khi người dùng nhấn nút thêm khoá học thì formthêm khoá học hiển thị, người dùng nhập thông tin danh mục (têndanh mục, mô tả danh mục, ) và nhấn nút thêm, hệ thống sẽ thêmvào collection categories Use case kết thúc
Sửa danh mục: Người dùng nhấn nút sửa danh mục thì form sửa danhmục hiển thị, người dùng sửa thông tin danh mục, hệ thống sẽ kiểmtra thông tin và sửa vào collection categories
Trang 21 Xoá danh mục: Người dùng nhấn nút xoá trên dòng thông tin danhmục Trạng thái trong collection categories sẽ được cập nhật Use casekết thúc.
Luồng rẽ nhánh:
Tại luồng cơ bản 2 nếu thông tin người dùng nhập vào không hợp lệthì hệ thống sẽ hiển thị thông báo lỗi và yêu cầu nhập lại, người dùngtiếp tục nhập lại hoặc thoát Use case kết thúc
Tiền điều kiện: Tài khoản đăng nhập phải mang quyền quản trị viên
Trang 22 Use case này bắt đầu khi admin nhấn danh sách khoá học trong mụckhoá học, hệ thống hiển thị danh sách các khoá học trong collectioncourses lên màn hình.
Thêm khoá học: Khi người dùng nhấn nút thêm khoá học thì formthêm khoá học hiển thị, người dùng nhập thông tin khoá học (tên khoáhọc, mô tả khoá học, ) và nhấn nút thêm, hệ thống sẽ thêm vàocollection courses Use case kết thúc
Sửa khoá học: Người dùng nhấn nút sửa khoá học thì form sửa khoáhọc xuất hiện, người dùng sửa thông tin khoá học, hệ thống sẽ kiểmtra thông tin và sửa vào collection courses
Xoá khoá học: Người dùng nhấn nút xoá trên dòng thông tin khoáhọc Trạng thái trong collection courses sẽ được cập nhật Use casekết thúc
Luồng rẽ nhánh:
Tại luồng cơ bản 2 nếu thông tin người dùng nhập vào không hợp lệthì hệ thống sẽ hiển thị thông báo lỗi và yêu cầu nhập lại, người dùngtiếp tục nhập lại hoặc thoát Use case kết thúc
Tại luồng cơ bản 3 nếu thông tin người dùng nhập không hợp lệ hệthống sẽ thông báo lỗi và yêu cầu nhập lại, người dùng nhập lại hoặcnhấn thoát Use case kết thúc
Tiền điều kiện: Tài khoản đăng nhập phải mang quyền quản trị viên
Trang 23 Thêm bài học: Khi người dùng nhấn nút thêm bài học thì form thêmbài học hiển thị, người dùng nhập thông tin bài học (tên bài học, videoId, ) và nhấn nút thêm, hệ thống sẽ kiểm tra thông tin và thêm vàocollection lessons, cập nhật lại danh sách và hiển thị Use case kếtthúc.
Sửa bài học: Khi người dùng nhấn nút sửa trên một dòng thông tin bàihọc, form sửa bài học hiển thị, người dùng sửa lại thông tin bài học,
hệ thống kiểm tra thông tin và cập nhật lại bài học trong collectionlessons, cập nhật lại danh sách và hiển thị Use case kết thúc
Trang 24 Xoá bài học: Khi người dùng nhất nút xoá trên một dòng thông tin bàihọc, form xác nhận hiển thị, hệ thống cập nhật trạng thái bài học trongcollection lessons và hiển thị lại danh sách Use case kết thúc.
Luồng rẽ nhánh:
Tại luồng cơ bản 2 nếu thông tin người dùng nhập không hợp lệ, hệthống sẽ thông báo lỗi và yêu cầu nhập lại, người dùng nhập lại hoặcnhấn thoát Use case kết thúc
Tại luồng cơ bản 3 nếu thông tin người dùng nhập không hợp lệ hệthống sẽ thông báo lỗi và yêu cầu nhập lại, người dùng nhập lại hoặcnhấn thoát Use case kết thúc
Tiền điều kiện: Tài khoản đăng nhập phải mang quyền quản trị viên
Trang 25 Luồng cơ bản:
Use case này bắt đầu khi người dùng nhấn nút danh sách bài tập, hệthống hiển thị danh sách các bài tập ứng với bài học trong collectionexercises lên màn hình
Thêm bài tập: Khi người dùng nhấn nút thêm bài tập thì form thêm bàitập hiển thị, người dùng nhập thông tin bài tập (câu hỏi, đáp án, đáp
án đúng, ) và nhấn nút thêm bài tập, hệ thống kiểm tra thông tin vàthêm vào collection exercises, cập nhật lại danh sách bài tập và hiểnthị Use case kết thúc
Sửa bài tập: Khi người dùng nhấn nút sửa trên một dòng thông tin bàitập, form sửa bài tập hiển thị, người dùng sửa lại thông tin bài tập, hệthống kiểm tra thông tin và cập nhật lại bài tập trong collectionexercises, cập nhật lại danh sách và hiển thị Use case kết thúc
Xoá bài tập: Khi người dùng nhất nút xoá trên một dòng thông tin bàitập, form xác nhận hiển thị, hệ thống cập nhật trạng thái bài học trongcollection exercises và hiển thị lại danh sách Use case kết thúc
Luồng rẽ nhánh:
Tại luồng cơ bản 2 nếu thông tin người dùng nhập không hợp lệ, hệthống sẽ thông báo lỗi và yêu cầu nhập lại, người dùng nhập lại hoặcnhấn thoát Use case kết thúc
Tại luồng cơ bản 3 nếu thông tin người dùng nhập không hợp lệ hệthống sẽ thông báo lỗi và yêu cầu nhập lại, người dùng nhập lại hoặcnhấn thoát Use case kết thúc
Tiền điều kiện: Tài khoản đăng nhập phải mang quyền quản trị viên
Trang 262.4 Biểu đồ tuần tự
2.4.1 Đăng ký
Hình 2.10 Biểu đồ tuần tự đăng ký
Trang 272.4.2 Đăng nhập
Hình 2.11 Biểu đồ tuần tự đăng nhập
Trang 282.4.3 Tìm kiếm
Hình 2.12 Biểu đồ tuần tự tìm kiếm
Trang 292.4.4 Bình luận
Thêm bình luận
Hình 2.13 Biểu đồ tuần tự thêm bình luận
Trang 312.4.5 Quản lý danh mục
Thêm danh mục
Hình 2.16 Biểu đồ tuần tự thêm danh mục
Trang 332.4.6 Quản lý khoá học
Thêm khoá học
Hình 2.19 Biểu đồ tuần tự thêm khoá học
Trang 352.4.7 Quản lý bài học
Thêm bài học
Hình 2.22 Biểu đồ tuần tự thêm bài học