1. Trang chủ
  2. » Luận Văn - Báo Cáo

Trung phú NA báo cáo website học tiếng anh online bằng php laravel đồ án

90 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Thiết Kế Và Xây Dựng Website Học Tiếng Anh
Tác giả Kim Văn Tiến
Người hướng dẫn ThS. Xxx xxx, Lê Thị Hà
Trường học Đại học công nghệ giao thông vận tải
Chuyên ngành Hệ thống thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Vĩnh Yên
Định dạng
Số trang 90
Dung lượng 6,71 MB

Cấu trúc

  • Kim Văn Tiến

    • VĨNH YÊN - 2022

    • HÀ NỘI - 20< hai số cuối của năm bảo vệ ĐATN>

  • Kim Văn Tiến

    • VĨNH YÊN - 2022

    • HÀ NỘI - 20< hai số cuối của năm bảo vệ ĐATN>

    • VĨNH YÊN - 2022

    • HÀ NỘI - 20<hai số cuối của năm bảo vệ ĐATN>

    • VĨNH YÊN - 2022

    • HÀ NỘI - 20<hai số cuối của năm bảo vệ ĐATN>

  • Phần 1: PHẦN MỞ ĐẦU

    • 1.1. Lý do chọn đề tài

    • 1.2. Mục tiêu của đề tài

    • 1.3. Giới hạn và phạm vi của đề tài

    • 1.4. Kết quả dự kiến đạt được

  • Phần 2: PHẦN NỘI DUNG

    • Chương 1: Cơ sở lý thuyết

    • 1.1. Phân tích và thiết kế hướng đối tượng:

      • 1.1.1. Định nghĩa:

      • 1.1.2. Phần mềm hỗ trợ thiết kế Draw.io trực tuyến:

    • 1.2. UML trong phân tích thiết kế hướng đối tượng:

      • 1.2.1. Định nghĩa UML:

      • 1.2.2. Phân tích thiết kế hướng đối tượng sử dụng UML:

    • 1.3. Ngôn ngữ thiết kế web HTML và CSS:

      • 1.3.1. HTML:

      • 1.3.2. CSS:

    • 1.4. Ngôn ngữ kịch bản JavaScript:

      • 1.4.1. Khái niệm:

      • 1.4.2. Kết hợp của HTML, CSS và JavaScript:

      • 1.4.3. Thư viện JQuery:

    • 1.5. Các ngôn ngữ lập trình PHP:

      • 1.5.1. Các khái niệm:

      • 1.5.2. Framework Laravel:

      • 1.5.3. Mô hình MVC:

    • 1.6. Hệ quản trị cơ sở dữ liệu MySQL:

      • 1.6.1. Các khái niệm:

      • 1.6.3. MySQL:

    • Chương 2: PHÂN TÍCH HỆ THỐNG

    • 2.1. Khảo sát hệ thống:

      • 2.1.1. Mô tả hệ thống:

      • 2.1.2. Yêu cầu với hệ thống triển khai:

    • 2.2. Biểu đồ Use Case của hệ thống:

      • 2.2.1. Các tác nhân của hệ thống:

      • Hình 2.1. Các tác nhân của hệ thống

      • 2.2.2. Use Case tổng quát:

      • Hình 2.2. Use Case tổng quát

      • 2.2.3. Use Case hệ thống:

      • Hình 2.3. Use Case hệ thống

      • 2.2.4. Use Case của tác nhân USER(người dùng):

      • Hình 2.4. Use Case của tác nhân USER(người dùng)

      • 2.2.5. Use Case quản lý loại chứng chỉ:

      • Hình 2.6. Use Case quản lý loại chứng chỉ

      • 2.2.6. Use Case quản lý cấp học:

      • Hình 2.11. Use Case quản lý cấp học

      • 2.2.7. Use Case quản lý bộ câu hỏi:

      • Hình 2.7. Use Case quản lý bộ câu hỏi

      • 2.2.8. Use Case quản lý người dùng:

      • Hình 2.5. Use Case quản lý người dùng

      • 2.2.9. Use Case quản lý giáo viên:

      • Hình 2.12. Use Case quản lý giảng viên

      • 2.2.10. Use Case quản lý bình luận:

      • Hình 2.9. Use Case quản lý bình luận

      • 2.2.11. Use Case quản lý silde:

      • Hình 2.10. Use Case quản lý slide

      • 2.2.12. Use Case quản lý tìm kiếm:

      • Hình 2.13. Use Case quản lý tìm kiếm

      • 2.2.13. Use Case báo cáo thống kê:

      • Hình 2.14. Use Case báo cáo thống kê

    • 2.3. Biểu đồ hoạt động của hệ thống:

      • Hình 2.12. Biểu đồ hoạt động tìm kiếm bộ câu hỏi

      • Hình 2.13. Biểu độ hoạt động đăng ký

      • Hình 2.14. Biểu đồ hoạt động đăng nhập

      • Hình 2.15. Biểu đồ hoạt động thêm bộ câu hỏi

      • Hình 2.16. Biểu đồ hoạt động cập nhật thông tin cá nhân

      • Hình 2.17. Biểu đồ hoạt động bình luận

    • 2.4. Biểu đồ tuần tự của hệ thống:

      • Hình 2.18. Biểu đồ tuần tự đăng ký

      • Hình 2.19. Biểu đồ tuần tự đăng nhập

      • Hình 2.20. Biểu đồ tuần tự xem bộ câu hỏi

      • Hình 2.21. Biểu đồ tuần tự thêm bộ câu hỏi

      • Hình 2.22. Biểu đồ tuần tự cập nhật bộ câu hỏi

      • Hình 2.23. Biểu đồ tuần tự xóa bộ câu hỏi

      • Hình 2.24. Biểu đồ tuần tự tìm kiếm bộ câu hỏi

      • Hình 2.25. Biểu đồ tuần tự bình luận

    • 2.5. Biểu đồ trạng thái:

      • Hình 2.26. Biểu đồ trạng thái Đăng nhập

      • Hình 2.27. Biểu đồ trạng thái Thêm câu hỏi

      • Hình 2.28. Biểu đồ trạng thái Cập nhật câu hỏi

      • Hình 2.29. Biểu đồ trạng thái Xóa câu hỏi

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

      • 2.6.1. Biểu đồ lớp:

      • Hình 2.30. Biểu đồ lớp

      • 2.6.2. Xác định các bảng thực thể:

      • Bảng 2.1. Bảng users (người dùng)

      • Bảng 2.2. Bảng admins (quản trị)

      • Bảng 2.3. Bảng courses (khóa học)

      • Bảng 2.4. Bảng courses_content (nội dung khóa học)

      • Bảng 2.5. Bảng courses_video (video khóa học)

      • Bảng 2.6. Bảng keywords (từ khóa)

      • Bảng 2.7. Bảng course_keywords (từ khóa khóa học)

      • Bảng 2.8. Bảng articles (bài viết)

      • Bảng 2.9. Bảng votes (đánh giá)

      • Bảng 2.10. Bảng categories (danh mục)

      • Bảng 2.11. Bảng teacher (giảng viên)

      • Bảng 2.12. Bảng orders (đơn hàng)

      • Bảng 2.13. Bảng transactions (giao dịch)

      • Bảng 2.14. Bảng roles (vai trò)

      • Bảng 2.15. Bảng permissions (quyền)

      • Bảng 2.16. Bảng model_has_role

      • Bảng 2.17. Bảng role_has_permission

      • Bảng 2.18. Bảng model_has_permission

  • Chương 3: Thiết kế hệ thống

    • 3.1. Giao diện quản trị

      • 3.1.1. Giao diện quản lý từ khóa

      • Hình 3.1. Giao diện quản lý từ khóa

      • 3.1.2. Giao diện quản lý danh mục

      • Hình 3.2. Giao diện quản lý danh mục

      • 3.1.3. Giao diện quản lý giáo viên

      • Hình 3.3. Giao diện quản lý giáo viên

      • 3.1.4. Giao diện quản lý nội dung bài học

      • Hình 3.4. Giao diện quản lý nội dung bài học

      • 3.1.5. Giao diện quản lý admin

      • Hình 3.5. Giao diện quản lý admin

    • 3.2. Giao diện người dùng

      • 3.2.1. Giao diện trang chủ

      • Hình 3.6. Giao diện trang chủ

      • 3.2.2. Giao diện học phát âm

      • Hình 3.7. Giao diện học phát âm

      • 3.2.3. Giao diện học cấu trúc

      • Hình 3.8. Giao diện học cấu trúc

      • 3.2.4. Giao diện học cú pháp

      • Hình 3.9. Giao diện học cú pháp

      • 3.2.5. Giao diện thảo luận

      • Hình 3.10. Giao diện thảo luận

      • 3.2.6. Giao diện thông tin người dùng

      • Hình 3.11. Giao diện thông tin người dùng

  • Kết luận

  • Tài liệu tham khảo

Nội dung

ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN Kim Văn Tiến PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG WEBSITE HỌC TIẾNG ANH ĐỒ TÀI TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành Hệ thống thông tin VĨNH YÊN 2022 HÀ NỘI 2.

PHẦN MỞ ĐẦU

Lý do chọn đề tài

Tiếng Anh hiện nay là ngôn ngữ phổ biến nhất và được sử dụng trong mọi lĩnh vực của cuộc sống, vì vậy việc học và luyện từ vựng tiếng Anh là vô cùng cần thiết Thành thạo tiếng Anh giúp người học tìm kiếm tài liệu học tập hiệu quả hơn và mở ra nhiều cơ hội nghề nghiệp Tự học tiếng Anh đang trở thành xu hướng phổ biến trong giới trẻ, đặc biệt trong bối cảnh dịch bệnh, khi ngày càng nhiều người tìm kiếm phương pháp học online Tuy nhiên, hiện tại có ít phần mềm học tiếng Anh trên di động đáp ứng đủ nhu cầu của người dùng, do đó, việc xây dựng một website học tiếng Anh với các cấp độ và chủ đề đa dạng là rất cần thiết.

Để giúp người dùng tiếp cận nhiều bài học tiếng Anh đa dạng và giao lưu với những người học khác, tôi đã quyết định thực hiện đề tài “Phân tích thiết kế và xây dựng website học tiếng Anh” Website này sẽ đáp ứng nhu cầu học tập tiếng Anh của mọi người một cách hiệu quả.

Mục tiêu của đề tài

- Trình bày được các vấn đề liên quan đến ngôn ngữ PHP, cơ sở dữ liệu Mysql, mô hình MVC

- Khảo sát thực trạng các chương trình học tiếng anh và nhu cầu học tập của người dùng hiện nay

- Phân tích hệ thống chương trình bao gồm các giao diện, các activity nhằm đáp ứng nhu cầu người dùng

- Triển khai và cài đặt chương trình

Giới hạn và phạm vi của đề tài

- Xây dựng chương trình dựa vào ngôn ngữ lập trình PHP với Framework Laravel và cơ sở dữ liệu Mysql

- Chương trình tập chung chức năng nghiệp vụ từ khảo sát thực trạng

Kết quả dự kiến đạt được

- Tìm hiểu nhu cầu, nghiệp vụ tìm kiếm những chương trình học tiếng anh của người dùng

- Hiểu về ngôn ngữ lập trình PHP và áp dụng cho xây dựng website

Website học tiếng Anh được hoàn thành với nhiều tính năng hữu ích Đối với quản trị viên, hệ thống cho phép quản lý toàn bộ hoạt động như quản trị hệ thống, quản lý chứng chỉ, bộ câu hỏi, slide, người dùng, bình luận, giáo viên, cấp học và xem thống kê Người dùng có thể cập nhật thông tin cá nhân, bình luận, đăng ký và đăng nhập tài khoản, học thử theo các cấp độ, đăng ký khóa học, cũng như thực hiện các bài test và thi thử.

PHẦN NỘI DUNG

1.1 Phân tích và thiết kế hướng đối tượng:

Phân tích thiết kế hướng đối tượng (OOAD) là giai đoạn quan trọng trong phát triển phần mềm, nhằm xây dựng một mô hình chính xác và súc tích của vấn đề Mô hình này bao gồm các đối tượng và khái niệm từ đời thực, giúp người sử dụng dễ dàng hiểu và tương tác với hệ thống.

- Năm nguyên tắc trong thiết kế hướng đối tượng:

Một lớp trong lập trình chỉ nên có một lý do để thay đổi, tức là chỉ xử lý một chức năng duy nhất Việc gộp nhiều chức năng vào một lớp sẽ tạo ra sự phụ thuộc giữa các chức năng, và khi một chức năng cần thay đổi, điều này có thể làm ảnh hưởng đến các chức năng khác.

Các lớp, module, chức năng nên dễ dàng Mở(Open) cho việc thêm chức năng mới, và Đóng(Close) cho việc thay đổi.

Lớp dẫn xuất phải có khả năng thay thế được lớp cha.

Chương trình không nên buộc phải cài đặt một Interface mà nó không sử dụng đến.

Cơ sở lý thuyết

Phân tích và thiết kế hướng đối tượng

Phân tích thiết kế hướng đối tượng (OOAD) là giai đoạn quan trọng trong phát triển phần mềm, nhằm xây dựng một mô hình chính xác và dễ hiểu về vấn đề cần giải quyết Mô hình này bao gồm các đối tượng và khái niệm từ thế giới thực, giúp người sử dụng dễ dàng tiếp cận và hiểu rõ hơn về hệ thống.

- Năm nguyên tắc trong thiết kế hướng đối tượng:

Một lớp trong lập trình chỉ nên có một lý do để thay đổi, tức là nó chỉ nên thực hiện một chức năng duy nhất Việc tích hợp nhiều chức năng vào một lớp sẽ tạo ra sự phụ thuộc giữa các chức năng, và khi một chức năng cần thay đổi, điều này có thể gây ra sự phá vỡ cho các chức năng khác.

Các lớp, module, chức năng nên dễ dàng Mở(Open) cho việc thêm chức năng mới, và Đóng(Close) cho việc thay đổi.

Lớp dẫn xuất phải có khả năng thay thế được lớp cha.

Chương trình không nên buộc phải cài đặt một Interface mà nó không sử dụng đến.

Các module cấp cao không nên phụ thuộc vào các module cấp thấp; thay vào đó, cả hai nên tương tác thông qua một lớp trừu tượng Lớp trừu tượng này không nên phụ thuộc vào các chi tiết cụ thể, mà ngược lại, các chi tiết phải phụ thuộc vào lớp trừu tượng để duy trì tính linh hoạt và khả năng mở rộng trong thiết kế hệ thống.

1.1.2 Phần mềm hỗ trợ thiết kế Draw.io trực tuyến:

Draw.io là một công cụ vẽ biểu đồ miễn phí, cho phép người dùng dễ dàng tạo và chia sẻ sơ đồ trực tuyến qua trình duyệt Ứng dụng này tích hợp tốt với G Suite / Google Drive và Dropbox, đồng thời hỗ trợ làm việc ngoại tuyến và lưu trữ cục bộ.

Draw.io là một công cụ trực quan cho phép người dùng dễ dàng tạo và chỉnh sửa nhiều loại sơ đồ và biểu đồ thông qua tính năng kéo và thả Với các mẫu sơ đồ tùy chỉnh và thư viện hình khối phong phú, người dùng có thể thiết kế các biểu đồ luồng, biểu đồ quy trình, sơ đồ tổ chức, sơ đồ ER, UML, và sơ đồ mạng một cách linh hoạt và hiệu quả.

Hệ thống chức năng đa dạng của draw.io giúp người dùng dễ dàng theo dõi và khôi phục các thay đổi, hỗ trợ nhập và xuất nhiều định dạng khác nhau, cũng như tự động xuất bản và chia sẻ công việc một cách thuận tiện.

UML trong phân tích thiết kế hướng đối tượng

UML (Unified Modeling Language) là ngôn ngữ mô hình hóa dùng để đặc tả, trực quan hóa và tài liệu hóa phần mềm hướng đối tượng Ngôn ngữ này bao gồm các ký hiệu hình học, được áp dụng trong các phương pháp hướng đối tượng để thể hiện và mô tả thiết kế của hệ thống.

1.2.2 Phân tích thiết kế hướng đối tượng sử dụng UML:

Phân tích thiết kế hướng đối tượng (OOAD) yêu cầu các bản vẽ để mô tả hệ thống, trong khi UML là ngôn ngữ dùng để thể hiện các bản vẽ này Vì vậy, việc phân tích và thiết kế theo hướng đối tượng thường đi kèm với việc sử dụng UML để diễn đạt các thiết kế một cách rõ ràng OOAD áp dụng UML thông qua nhiều phương thức khác nhau để đảm bảo tính chính xác và hiệu quả trong việc mô tả hệ thống.

Trong phần mềm OOAD sử dụng UML, mỗi góc nhìn thể hiện một khía cạnh khác nhau của hệ thống Các góc nhìn này bao gồm: góc nhìn về ca sử dụng, cấu trúc hệ thống, triển khai hệ thống và các thành phần trong hệ thống.

Bản vẽ là công cụ quan trọng để thể hiện các góc nhìn khác nhau của hệ thống Chúng mô tả các ca sử dụng, cấu trúc hệ thống và sự tương tác giữa các đối tượng trong hệ thống, giúp người đọc dễ dàng hình dung và hiểu rõ hơn về cách thức hoạt động của hệ thống.

Notations(các ký hiệu): Các kí hiệu để vẽ, nó là từ vựng trong ngôn ngữ tự nhiên.

Mechanisms(các quy tắc): Mỗi bản vẽ có quy tắc riêng và cần nắm được quy tắc đó để tạo nên bản thiết kế đúng và nhất quán.

Ngôn ngữ thiết kế web HTML và CSS

HTML (Ngôn ngữ đánh dấu siêu văn bản) là mã được sử dụng để tạo ra cấu trúc và nội dung cho trang web, bao gồm các đoạn văn, danh sách, hình ảnh và bảng biểu Phiên bản mới nhất hiện nay của HTML là HTML5.

CSS (Cascading Style Sheets) là ngôn ngữ được sử dụng để định dạng và trình bày các tài liệu HTML và XHTML Nó cho phép người dùng điều chỉnh các yếu tố hiển thị như font chữ, màu sắc và kích thước, giúp tạo ra giao diện web hấp dẫn và chuyên nghiệp.

- Tác dụng chính của CSS:

Để tối ưu hóa mã nguồn của trang Web, hạn chế việc sử dụng các thẻ HTML định dạng như chữ đậm, in nghiêng, nhằm giảm thiểu sự rối rắm và tạo sự gọn gàng cho mã.

Tách biệt nội dung trang Web và định dạng hiển thị, dễ dàng cho việc thay đổi.

Tạo ra các kiểu dáng áp dụng được cho nhiều trang Web, tránh lặp lại việc định dạng cho các trang Web giống nhau.

Ngôn ngữ kịch bản JavaScript

- Javascript là một ngôn ngữ lập trình của HTML và ứng dụng Web.

Nó là một ngôn ngữ lập trình nhẹ và phổ biến, thường được sử dụng trong các trang web Ngôn ngữ này cho phép các script client-server tương tác với người dùng và tạo ra các trang web động, đồng thời hỗ trợ các khả năng lập trình hướng đối tượng.

- Một số ưu điểm của JavaScript:

Tiêt kiệm băng thông máy chủ:

JavaScript trong thiết kế website giúp tiết kiệm băng thông máy chủ hiệu quả, vì nó được thực thi trực tiếp trên thiết bị của người dùng.

Các dòng Script được thực thi trực tiếp trên trình duyệt của người dùng, giúp nâng cao hiệu suất, kéo dài tuổi thọ của máy chủ và tiết kiệm băng thông.

JavaScript có khả năng hoạt động linh hoạt và tương thích tốt với nhiều trình duyệt phổ biến hiện nay như Cốc Cốc, Chrome, Firefox và Safari Để thực thi, người dùng chỉ cần tải file JavaScript từ một tên miền riêng biệt hoặc nhúng trực tiếp vào file HTML mà không cần tải thêm.

Hầu hết các trình duyệt web hiện nay đều tích hợp sẵn trình thông dịch ngôn ngữ JavaScript, giúp người dùng sử dụng ngay mà không cần tải thêm phần mềm Điều này không chỉ tiết kiệm thời gian mà còn đảm bảo các chức năng của JavaScript được thực thi hiệu quả, đặc biệt là khi người dùng không có kết nối mạng.

Dễ dàng kiểm tra, xử lý vấn đề:

Nhiều trình duyệt web hiện nay hỗ trợ việc kiểm tra và xử lý lỗi Javascript dễ dàng nhờ vào các công cụ tích hợp sẵn trong bảng điều khiển Điều này giúp người dùng nhanh chóng phát hiện và khắc phục các vấn đề liên quan đến mã lệnh.

Javascript sở hữu cấu trúc dễ đọc với cácnguyên tắc rõ ràng nên việc xác định và gỡ lỗi trở nên đơn giản hơn nhiều.

Nâng cao trải nghiệm người dùng:

Việc sử dụng ngôn ngữ lập trình trên website không chỉ giúp thu hút người dùng mà còn mang đến những tính năng hấp dẫn, hình ảnh sinh động và khả năng tương tác nhanh chóng Những yếu tố này tạo cảm giác thoải mái và thú vị, từ đó tăng cường sự tin tưởng và sự ưa chuộng của người dùng đối với trang web.

1.4.2 Kết hợp của HTML, CSS và JavaScript:

Một website thường bao gồm ba phần cơ bản: HTML, CSS và JavaScript HTML xác định nội dung và cấu trúc của trang web, trong khi CSS quy định màu sắc, hình dáng và kiểu chữ Tuy nhiên, các thay đổi từ HTML và CSS thường chỉ thể hiện ở dạng tĩnh, không cho phép thực hiện các hành động động như xoay hình, kiểm tra thông tin hợp lệ hay hiển thị thông báo cho người dùng.

Tất cả các hành động trên được chuyển từ trạng thái tĩnh sang trạng thái động nhờ vào Javascript, thành phần thứ ba quan trọng Sự kết hợp của ba thành phần này tạo ra một website hoàn chỉnh, mang lại giao diện (UI) và trải nghiệm người dùng (UX) chất lượng.

Hình 1.1 Minh họa HTML – CSS – JavaScript

JQuery là một thư viện JavaScript phổ biến, được phát triển nhằm hỗ trợ lập trình viên vượt qua những khó khăn khi làm việc với JavaScript Kể từ phiên bản 2.0, thuật ngữ này đã trở nên quen thuộc trong cộng đồng công nghệ JQuery tích hợp nhiều module chuyên biệt, từ module hiệu ứng đến module truy cập selector, giúp tối ưu hóa quá trình lập trình.

JQuery là một thư viện Javascript đa năng, nhanh chóng và tiện lợi, được phát triển bởi John Resig với phương châm “Viết ít hơn, năng suất hơn” Thư viện này giúp đơn giản hóa việc duyệt tài liệu HTML và tăng cường tương tác Ajax, từ đó nâng cao hiệu quả phát triển Website Hiện nay, JQuery được sử dụng rộng rãi trong cộng đồng lập trình.

- Một số tính năng quan trọng được hỗ trợ bởi JQuery:

JQuery là một thư viện JavaScript mạnh mẽ giúp đơn giản hóa thao tác với DOM, cho phép người dùng dễ dàng chọn lựa các phần tử tương tự như cách sử dụng CSS Với khả năng chỉnh sửa nội dung của các phần tử thông qua các Selector mã nguồn mở, JQuery mang đến sự linh hoạt và tiện lợi trong việc phát triển web.

Hỗ trợ AJAX: JQuery giúp phát triển một site giàu tính năng và phản hồi tốt bởi công nghệ AJAX.

JQuery cải thiện trải nghiệm người dùng bằng cách xử lý nhiều loại sự kiện một cách hiệu quả, giúp giữ cho mã HTML gọn gàng và dễ quản lý.

Hiệu ứng động: JQuery đi kèm rất nhiều hiệu ứng đẹp có thể sử dụng cho các website.

Gọn nhẹ: JQuery là thư viện gọn nhẹ, nó chỉ có kích cỡ khoảng 19KB.

Hỗ trợ hầu hết các trình duyệt hiện đại: JQuery hỗ trợ hầu hết các trình duyệt hiện đại, làm việc tốt trên IE 6.0+, Safari 3.0+, Opera 9.0+, FF 2.0+ và Chrome.

Cập nhật và hỗ trợ các công nghệ mới nhất: JQuery hỗ trợ CSS3 Selector và cú pháp XPath cơ bản.

Các ngôn ngữ lập trình PHP

PHP là một ngôn ngữ lập trình script được thiết kế đặc biệt cho việc giao tiếp phía server Ngôn ngữ này cho phép xử lý hiệu quả các tác vụ như thu thập dữ liệu, quản lý biểu mẫu, quản lý file trên server, cũng như thực hiện các thao tác sửa đổi cơ sở dữ liệu và nhiều chức năng khác.

Framework là một thư viện chứa các tài nguyên sẵn có cho từng lĩnh vực, giúp lập trình viên tiết kiệm thời gian thiết kế Thay vì phải tự phát triển từ đầu, lập trình viên chỉ cần tìm hiểu, khai thác và kết hợp các tài nguyên này để hoàn thiện sản phẩm của mình.

MVC (Model-View-Controller) là một mẫu kiến trúc phần mềm được thiết kế để xây dựng giao diện người dùng hiệu quả Hệ thống MVC bao gồm ba thành phần chính: Model, View và Controller, mỗi thành phần đều có khả năng tương tác lẫn nhau, đồng thời tách biệt các nguyên tắc nghiệp vụ khỏi giao diện người dùng.

Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng.

Model là phần chứa toàn bộ nghiệp vụ logic, phương thức xử lý, truy xuất cơ sở dữ liệu, cùng với các đối tượng mô tả dữ liệu như Class và hàm xử lý.

View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images…

Hình 1.2 Mô hình MVC của Laravel

Mô hình MVC rất phù hợp cho các dự án có đội ngũ làm việc độc lập, giúp các công việc được thực hiện một cách linh hoạt và hiệu quả.

- Như vậy, mô hình này nổi bật nhờ những ưu điểm:

Hỗ trợ quá trình phát triển nhanh chóng:

Mô hình MVC cho phép các lập trình viên làm việc đồng thời trên các phần hoạt động độc lập, từ đó tiết kiệm thời gian hiệu quả trong quá trình phát triển ứng dụng.

Khả năng cung cấp đồng thời nhiều View:

Với mô hình MVC, có thể tạo ra đồng thời nhiều khung View cho Model.

Hỗ trợ các kỹ thuật không đồng bộ:

MVC có khả năng hoạt động trên nền tảng JavaScript, cho phép các ứng dụng MVC tương tác hiệu quả với các file PDF, trình duyệt web cụ thể và cả các widget máy tính.

Dễ dàng thao tác chỉnh sửa:

Model hoạt động tách biệt với View, đồng nghiac với việc có thể đưa ra các thay thế, chỉnh sửa hoặc cập nhật dễ dàng ở từng bộ phận.

Giữ nguyên trạng thái data:

Mô hình MVC cho phép truyền tải dữ liệu mà không làm thay đổi định dạng của chúng, giúp cho việc tái sử dụng dữ liệu trở nên dễ dàng cho các thay đổi trong tương lai.

Hỗ trợ nền tảng phát triển SEO:

Với mô hình MVC, có thể dễ dàng tạo ra các mã SEO URL để thu hút lượng truy cập đối với ứng dụng bất kỳ.

Hệ quản trị cơ sở dữ liệu MySQL

Cơ sở dữ liệu (Database) là tập hợp dữ liệu được tổ chức, thường được lưu trữ và truy cập qua hệ thống máy tính Khi cơ sở dữ liệu trở nên phức tạp, việc phát triển chúng thường áp dụng các kỹ thuật thiết kế và mô hình hóa chính thức.

Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống được phát triển nhằm quản lý dữ liệu một cách tự động và có tổ chức Nó thực hiện các chức năng quan trọng như chỉnh sửa, xóa, lưu trữ và tìm kiếm thông tin trong một tập hợp dữ liệu nhất định.

Hệ quản trị cơ sở dữ liệu là công nghệ tối ưu hóa việc lưu trữ và truy xuất dữ liệu của người dùng, đồng thời đảm bảo các biện pháp bảo mật cần thiết.

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất toàn cầu, được các lập trình viên ưa chuộng trong phát triển web và ứng dụng Với tốc độ nhanh và tính bảo mật cao, MySQL là lựa chọn lý tưởng cho các ứng dụng truy cập cơ sở dữ liệu trên Internet.

- Một số lý do chính khiến MySQL trở nên quan trọng:

Linh hoạt và dễ dùng:

Có thể sửa sourch code để đánh ứng nhu cầu sử dụng mà không phải thanh toán thêm chí phí nào, quá trình cài đặt cũng đơn giản.

An toàn dữ liệu là yếu tố hàng đầu khi lựa chọn phần mềm RDBMS MySQL thiết lập tiêu chuẩn bảo mật cao với hệ thống phân quyền truy cập và quản lý tài khoản hiệu quả.

MySQL được đánh giá là cơ sở dữ liệu nhanh nhất hiện nay, cho phép các website trao đổi dữ liệu một cách thường xuyên nhờ vào engine xử lý tốc độ cao.

Khả năng chèn dữ liệu cực nhanh và hỗ trợ mạnh mẽ các chức năng chuyên dụng cho trang web.

MySQL là một giải pháp lý tưởng cho việc lưu trữ dữ liệu lớn trên các trang thương mại điện tử và các hoạt động kinh doanh công nghệ thông tin, nhờ vào khả năng xử lý nhanh chóng và mượt mà.

PHÂN TÍCH HỆ THỐNG

Khảo sát hệ thống

Giáo dục đang phát triển nhanh chóng để thích ứng với công nghệ mới, đặc biệt là trong bối cảnh dịch bệnh Covid-19 Hình thức học trực tuyến và làm bài tập qua Internet ngày càng trở nên phổ biến Các website học tiếng Anh trực tuyến xuất hiện để đáp ứng nhu cầu học tập và nâng cao từ vựng tiếng Anh cho mọi người.

Website cung cấp thông tin về nhiều chủ đề giao tiếp hàng ngày như chào hỏi, mua sắm và hỏi đường, với các mẫu câu thường dùng Người dùng có thể chọn các chủ đề để học, mỗi chủ đề có nhiều cấp độ và bộ câu hỏi khác nhau, nâng cao dần theo tiến trình học Để tham gia, người dùng cần đăng nhập hoặc đăng ký tài khoản, sau đó có thể chọn các bài học mong muốn Sau khi hoàn thành, người dùng có thể theo dõi tiến độ học tập và thông tin cá nhân trên trang chủ Hệ thống cũng cho phép làm bài test và thi thử, với kết quả được chấm điểm và lưu trữ Website được thiết kế gần gũi, tích hợp nhiều hình thức học như nghe, nói, viết, phù hợp với mọi đối tượng, đặc biệt là những người bận rộn trong bối cảnh dịch bệnh hiện nay.

2.1.2 Yêu cầu với hệ thống triển khai:

Một số yêu cầu rút ra:

- Các thông tin phải được lưu trữ lâu dài, đầy đủ và chính xác.

- Các thông tin được nhập vào phải chính xác, đúng định dạng và đầy đủ.

Về quy trình nghiệp vụ:

- Kiểm tra các lỗi cập nhật thông tin và có phản hồi tới người dùng.

- Phân quyền trang người dùng và trang quản lý.

- Người dùng có thể xem nội dung và học các loại chứng chỉ, xem tiến trình học của mình và bình luận giao lưu với mọi người.

- Quản lý có thể theo dõi thông tin người dùng, danh sách các loại chứng chỉ, bộ câu hỏi, bình luận và xem các báo cáo thống kê.

- Giao diện thân thiện, dễ sử dụng, cập nhật thường xuyên các thông tin loại chứng chỉ và bộ câu hỏi.

- Tương thích đa thiết bị.

Biểu đồ Use Case của hệ thống

2.2.1 Các tác nhân của hệ thống:

Hình 2.1 Các tác nhân của hệ thống

Hình 2.2 Use Case tổng quát

Hình 2.3 Use Case hệ thống

Người dùng có thể dễ dàng đăng ký tài khoản trên website để lưu trữ các tiến trình học tập của mình và tham gia bình luận trên các chủ đề khác nhau.

 Điều kiện đầu vào: Khi người dùng truy cập và chọn đăng ký.

 Người dùng chọn đăng ký.

 Hệ thống hiển thị trang đăng ký.

 Người dùng nhập các trường thông tin và chọn đăng ký.

 Hệ thống kiểm tra các trường dữ liệu:

▫ Nếu thỏa mãn thì chuyển đến trang chủ.

▫ Nếu không thỏa mãn thì thực hiện dòng sự kiện rẽ nhánh A1.

 Dòng sự kiện rẽ nhánh A1:

 Hệ thống thông báo việc nhập dữ liệu không hợp lệ.

 Quay lại bước 3 của sự kiện chính.

 Điều kiện đầu ra: Lưu tài khoản người dùng đã đăng ký.

 Tác nhân: Người dùng và quản trị viên.

 Mô tả tổng quát: Người dùng và quản trị viên đăng nhập vào hệ thống.

 Điều kiện đầu vào: UseCase sử dụng khi người dùng muốn đăng nhập vào hệ thống.

 Hệ thống yêu cầu nhập tài khoản và mật khẩu.

 Người dùng nhập tài khoản và mật khẩu.

 Hệ thống kiểm tra tên và mật khẩu vừa nhập:

▫ Nếu đúng sẽ kiểm tra quyền, và hiển thị quyền tương ứng của tài khoản.

▫ Nếu sai thực hiện luồng sự kiện phụ A1.

 Hệ thống sẽ thông báo việc nhập dữ liệu không hợp lệ.

 Người dùng nhập lại tài khoản và mật khẩu.

 Quay lại bước 3 của luồng sự kiện chính, hoặc hủy bỏ việc đăng nhập, khi đó ca sử dụng kết thúc.

 Tác nhân: Người dùng và quản trị viên.

 Mô tả tổng quát: Người dùng và quản trị viên muốn thoát tài khoản khỏi hệ thống.

 Điều kiện đầu vào: UseCase sử dụng khi người quản trị và người dùng chọn đăng xuất.

 Hệ thống hủy việc lưu thông tin đăng nhập.

 Quay về màn hình trang chủ.

2.2.4 Use Case của tác nhân USER(người dùng):

Hình 2.4 Use Case của tác nhân USER(người dùng)

 Xem danh sách cấp độ học:

 Mô tả tổng quát: Người dùng muốn xem danh sách cấp độ học.

 Điều kiện đầu vào: UseCase sử dụng khi người dùng truy cập trang chủ website.

 Hệ thống lấy thông tin các topic và chi tiết các bộ câu hỏi.

 Hiển thị giao diện trang chủ với các topic.

 Mô tả tổng quát: Người dùng truy cập trang chủ, chọn học thử các loại chứng chỉ.

 Điều kiện đầu vào: UseCase sử dụng khi bắt đầu đăng nhập thành công hệ thống.

 Ca sử dụng bắt đầu khi người dùng đăng nhập vào hệ thống.

 Hệ thống hiển thị học thử theo các cấp độ.

 Người dùng chọn một trong các cấp độ muốn học và chọn học thử:

Chọn học từ vựng giúp bạn ôn lại kiến thức qua giao diện trực quan, với các phương pháp kiểm tra đa dạng như nghe, nói và viết Sau khi hoàn tất quá trình ôn tập, bạn có thể tiến hành kiểm tra kết quả để đánh giá sự tiến bộ của mình.

Hệ thống học tập thông minh cho phép người dùng chọn theo chủ đề, thu thập dữ liệu về tiến trình học của họ và hiển thị bộ câu hỏi cho các bước học tiếp theo Sau khi hoàn thành, người dùng sẽ được đánh giá đạt hoặc không đạt Nếu đạt yêu cầu, hệ thống sẽ mở ra các chủ đề mới để khám phá.

 Điều kiện đầu ra: Lưu các tiến trình học của người dùng trong hệ thống.

 Mô tả tổng quát: Người dùng thực hiện test sau mỗi bài học.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và chọn bài học và chọn test bài.

 Người dùng chọn bài test.

 Hệ thống hiển thị form test bài học.

 Người dùng thực hiện chọn các đáp án và chọn gửi.

 Hệ thống kiểm tra trường dữ liệu:

▫ Nếu chọn đáp án đầy đủ thực hiện bước tiếp theo.

▫ Nếu không thì thông báo lỗi.

 Hệ thống thông báo cập nhật bài test thành công.

 Hệ thống cập nhật bài test vào cơ sở dữ liệu.

 Hệ thống thông báo điểm bài test.

 Điều kiện đầu ra: Thông tin bài test của người dùng được cập nhật vào cơ sở dữ liệu.

 Mô tả tổng quát: Người dùng thực hiện thi thử.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và chọn thi thử.

 Người dùng chọn thi thử.

 Hệ thống hiển thị form thi thử.

 Người dùng thực hiện chọn và nhập các đáp án và chọn gửi.

 Hệ thống kiểm tra trường dữ liệu:

▫ Nếu chọn và điền các đáp án đầy đủ thực hiện bước tiếp theo.

▫ Nếu không thì thông báo lỗi.

 Hệ thống thông báo cập nhật bài thi thử thành công.

 Hệ thống cập nhật bài thi thử vào cơ sở dữ liệu.

 Hệ thống thông báo kết quả bài test.

 Điều kiện đầu ra: Thông tin và kết quả bài thi thử của người dùng được cập nhật vào cơ sở dữ liệu.

 Cập nhật thông tin cá nhân:

 Mô tả tổng quát: Người dùng cập nhật thông tin cá nhân của mình.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và chọn thông tin cá nhân.

 Người dùng chọn cập nhật thông tin cá nhân.

 Hệ thống hiển thị form cập nhật thông tin.

 Người dùng nhập các thông tin muốn sửa đổi, và chọn cập nhật.

 Hệ thống kiểm tra các trường dữ liệu:

▫ Nếu đầy đủ và đúng định dạng thì chuyển qua bước tiếp theo.

▫ Nếu không thì thực hiện dòng sự kiện rẽ nhánh A1.

 Hệ thống thông báo cập nhật thông tin cá nhân thành công.

 Hệ thống cập nhật thông tin cá nhân vào cơ sở dữ liệu.

 Dòng sự kiện rẽ nhánh A1:

 Hệ thống thông báo việc nhập dữ liệu không hợp lệ.

 Quay lại bước 3 của sự kiện chính.

 Điều kiện đầu ra: Thông tin của người dùng được cập nhật vào cơ sở dữ liệu.

 Mô tả tổng quát: Người dùng bình luận tại các chứng chỉ.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và chọn bình luận.

 Người dùng chọn loại chứng chỉ, chọn bình luận.

 Hệ thống hiển thị form bình luận.

 Người dùng nhập bình luận và gửi.

 Hệ thống kiểm tra các trường dữ liệu:

▫ Nếu đầy đủ và đúng định dạng thì chuyển qua bước tiếp theo.

▫ Nếu không thì thực hiện dòng sự kiện rẽ nhánh A1.

 Hệ thống hiển thị bình luận của người dùng trong trang chứng chỉ hiện hành.

 Hệ thống cập nhật bình luận của người dùng vào cơ sở dữ liệu.

 Dòng sự kiện rẽ nhánh A1:

 Hệ thống thông báo việc nhập dữ liệu không hợp lệ.

 Quay lại bước 3 của sự kiện chính.

 Điều kiện đầu ra: Bình luận của người dùng được cập nhật vào cơ sở dữ liệu.

 Mô tả tổng quát: Người dùng thực hiện đăng ký các chứng chỉ mong muốn.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và chọn thêm các chứng chỉ vào giỏ hàng.

Thêm chứng chỉ bài học vào giỏ hàng:

 Người dùng chọn chứng chỉ, chọn thêm vào giỏ hàng.

 Hệ thống kiểm tra ràng buộc:

▫ Nếu chứng chỉ còn được hỗ trợ thì chuyển qua bước tiếp theo.

▫ Nếu không thì thực hiện thông báo chứng chỉ không còn được hỗ trợ.

 Hệ thống lưu session giỏ hàng của người dùng.

Xóa chứng chỉ trong giỏ hàng:

 Người dùng chọn chứng chỉ muốn xóa, chọn xóa.

 Hệ thống kiểm tra ràng buộc:

▫ Nếu thỏa mãn, thực hiện xóa các chứng chỉ khỏi giỏ hàng.

▫ Nếu không thì thông báo lỗi.

 Hệ thống lưu session giỏ hàng của người dùng.

 Điều kiện đầu ra: Session giỏ hàng được lưu.

 Tìm kiếm loại chứng chỉ:

 Mô tả tổng quát: Người dùng thực hiện tìm kiếm các loại chứng chỉ mong muốn.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và nhập từ khóa tìm kiếm.

 Người dùng nhập từ khóa, và chọn tìm kiếm.

 Hệ thống kiểm tra dữ liệu:

▫ Nếu có dữ liệu thì hiển thị danh sách.

▫ Nếu không thì trả về danh sách rỗng.

 Điều kiện đầu ra: Danh sách các loại chứng chỉ hiển thị theo từ khóa người dùng nhập.

2.2.5 Use Case quản lý loại chứng chỉ:

Hình 2.6 Use Case quản lý loại chứng chỉ

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý các loại chứng chỉ trong hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý loại chứng chỉ.

 Hệ thống hiển thị danh sách loại chứng chỉ, và các chức năng: thêm, sửa và xóa loại chứng chỉ:

 Hệ thống hiển thị form nhập thông tin loại chứng chỉ.

 Người quản lý nhập thông tin loại chứng chỉ.

 Nhập nút thêm loại chứng chỉ.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo thêm loại chứng chỉ thành công.

 Hệ thống lưu lại thông tin loại chứng chỉ.

 Hệ thống hiển thị form cập nhật thông tin loại chứng chỉ.

 Quản trị viên nhập thông tin cần thay đổi.

 Nhập nút cập nhật loại chứng chỉ.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo cập nhật loại chứng chỉ thành công.

 Hệ thống cập nhật thông tin loại chứng chỉ.

 Quản trị viên chọn thông tin loại chứng chỉ cần xóa.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa loại chứng chỉ và trả về trang hiện hành Ngược lại, hủy thao tác xóa.

 Dòng sự kiện rẽ nhánh A1:

 Quản trị thưc hiện nhập lại dữ liệu.

 Quay lại bước 2 của sự kiện.

 Điều kiện đầu ra: Danh sách các loại chứng chỉ được cập nhật đầy đủ vào cơ sở dữ liệu.

2.2.6 Use Case quản lý cấp học:

Hình 2.11 Use Case quản lý cấp học

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý các cấp học trong hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý cấp học.

 Hệ thống hiển thị danh sách slide, và các chức năng: thêm, sửa và xóa cấp học

 Hệ thống hiển thị form nhập thông tin cấp học.

 Người quản lý nhập thông tin cấp học.

 Nhập nút thêm cấp học.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo thêm cấp học thành công.

 Hệ thống lưu lại thông tin cấp học.

 Hệ thống hiển thị form cập nhật thông tin cấp học.

 Quản trị viên nhập thông tin cần thay đổi.

 Nhập nút cập nhật cấp học.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo cập nhật cấp học thành công.

 Hệ thống cập nhật thông tin cấp học.

 Quản trị viên chọn thông tin slide cần xóa.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa cấp học và trả về trang hiện hành Ngược lại, hủy thao tác xóa.

 Dòng sự kiện rẽ nhánh A1:

 Quản trị thưc hiện nhập lại dữ liệu.

 Quay lại bước 2 của sự kiện.

 Điều kiện đầu ra: Danh sách các cấp học được cập nhật đầy đủ vào cơ sở dữ liệu.

2.2.7 Use Case quản lý bộ câu hỏi:

Hình 2.7 Use Case quản lý bộ câu hỏi

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý các bộ câu hỏi có trong mỗi loại chứng chỉ hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý bộ câu hỏi.

 Hệ thống hiển thị danh sách bộ câu hỏi, và các chức năng: thêm, sửa, xóa và tìm kiếm bộ câu hỏi:

 Hệ thống hiển thị form nhập thông tin bộ câu hỏi.

 Người quản lý nhập thông tin câu hỏi.

 Nhập nút thêm câu hỏi.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo thêm bộ câu hỏi thành công.

 Hệ thống lưu lại thông tin bộ câu hỏi.

 Hệ thống hiển thị form cập nhật thông tin bộ câu hỏi.

 Quản trị viên nhập thông tin cần thay đổi.

 Nhập nút cập nhật bộ câu hỏi.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo cập nhật bộ câu hỏi thành công.

 Hệ thống cập nhật thông tin bộ câu hỏi.

 Quản trị viên chọn thông tin bộ câu hỏi cần xóa.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa bộ câu hỏi và trả về trang hiện hành Ngược lại, hủy thao tác xóa.

 Dòng sự kiện rẽ nhánh A1:

 Quản trị thưc hiện nhập lại dữ liệu.

 Quay lại bước 2 của sự kiện.

 Điều kiện đầu ra: Danh sách các bộ câu hỏi được cập nhật đầy đủ vào cơ sở dữ liệu.

2.2.8 Use Case quản lý người dùng:

Hình 2.5 Use Case quản lý người dùng

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Quản trị viên quản lý các tài khoản người dùng đăng nhập vào hệ thống.

 Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công với quyền quản trị.

 Quản trị viên chọn quản lý người dùng.

 Hệ thống hiển thị danh sách người dùng, và các chức năng: vô hiệu hóa tài khoản và tìm kiếm người dùng:

▫ Vô hiệu hóa tài khoản:

 Quản trị viên chọn tài khoản muốn vô hiệu hóa, chọn vô hiệu hóa.

 Hệ thống kiểm tra và thực hiện vô hiệu hóa.

 Hệ thống cập nhật thông tin tài khoản trong CSDL.

 Quản trị viên chọn thông tin người dùng cần xóa.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa người dùng và trả về trang hiện hành Ngược lại, hủy thao tác xóa.

 Điều kiện đầu ra: Cập nhật thông tin người dùng trong CSDL.

2.2.9 Use Case quản lý giáo viên:

Hình 2.12 Use Case quản lý giảng viên

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý thông tin giáo viên trong hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý giáo viên.

 Hệ thống hiển thị danh sách giáo viên, và các chức năng: thêm, sửa và xóa giáo viên:

 Hệ thống hiển thị form nhập thông tin giáo viên.

 Người quản lý nhập thông tin giáo viên.

 Nhập nút thêm giáo viên.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo thêm giáo viên thành công.

 Hệ thống lưu lại thông tin giáo viên.

 Hệ thống hiển thị form cập nhật thông tin giáo viên.

 Quản trị viên nhập thông tin cần thay đổi.

 Nhập nút cập nhật giáo viên.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo cập nhật giáo viên thành công.

 Hệ thống cập nhật thông tin giáo viên.

 Quản trị viên chọn thông tin giáo viên cần xóa.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa giáo viên và trả về trang hiện hành Ngược lại, hủy thao tác xóa.

 Dòng sự kiện rẽ nhánh A1:

 Quản trị thưc hiện nhập lại dữ liệu.

 Quay lại bước 2 của sự kiện.

 Điều kiện đầu ra: Danh sách các giáo viên được cập nhật đầy đủ vào cơ sở dữ liệu.

2.2.10 Use Case quản lý bình luận:

Hình 2.9 Use Case quản lý bình luận

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý danh sách các bình luận và phản hồi các bình luận của người dùng học tại hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý bình luận.

 Hệ thống hiển thị danh sách bình luận và các chức năng: xem chi tiết, phản hồi và ẩn bình luận:

▫ Xem chi tiết bình luận:

 Quản trị viên chọn bình luận muốn xem chi tiết.

 Hệ thống lấy thông tin chi tiết của bình luận đó.

 Hiển thị trang chi tiết bình luận.

 Quản trị viên chọn bình luận muốn phản hồi.

 Hệ thống hiển thị form nhập phản hồi.

 Quản trị viên nhập phản hồi, và chọn gửi.

 Hệ thống kiểm tra trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo cập nhật phản hồi thành công.

 Hệ thống cập nhật thông tin phản hồi bình luận.

 Quản trị viên chọn bình luận muốn ẩn.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện ẩn bình luận của người dùng trên trang chủ Ngược lại, hủy thao tác ẩn.

 Dòng sự kiện rẽ nhánh A1:

 Quản trị thưc hiện nhập lại dữ liệu.

 Quay lại bước 2 của sự kiện.

 Điều kiện đầu ra: Danh sách các bình luận và phản hồi bình luận được cập nhật đầy đủ vào cơ sở dữ liệu.

2.2.11 Use Case quản lý silde:

Hình 2.10 Use Case quản lý slide

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý các slide trong hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý slide.

 Hệ thống hiển thị danh sách slide, và các chức năng: thêm, sửa và xóa slide:

 Hệ thống hiển thị form nhập thông tin slide.

 Người quản lý nhập thông tin slide.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo thêm slide thành công.

 Hệ thống lưu lại thông tin slide.

 Hệ thống hiển thị form cập nhật thông tin slide.

 Quản trị viên nhập thông tin cần thay đổi.

 Nhập nút cập nhật slide.

 Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.

 Hệ thống thông báo cập nhật slide thành công.

 Hệ thống cập nhật thông tin slide.

 Quản trị viên chọn thông tin slide cần xóa.

 Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa slide và trả về trang hiện hành Ngược lại, hủy thao tác xóa.

 Dòng sự kiện rẽ nhánh A1:

 Quản trị thưc hiện nhập lại dữ liệu.

 Quay lại bước 2 của sự kiện.

 Điều kiện đầu ra: Danh sách các slide được cập nhật đầy đủ vào cơ sở dữ liệu.

2.2.12 Use Case quản lý tìm kiếm:

Hình 2.13 Use Case quản lý tìm kiếm

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị quản lý việc tìm kiếm trong hệ thống.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn quản lý tìm kiếm.

 Hệ thống hiển thị các tùy chọn tìm kiếm

▫ Tìm kiếm loại chứng chỉ:

 Nhập từ khóa cần tìm.

 Hệ thống kiểm tra thông tin loại chứng chỉ: Nếu có hiển thị danh sách loại chứng chỉ Nếu không, hiển thị danh sách rỗng.

 Nhập từ khóa cần tìm.

 Hệ thống kiểm tra thông tin người dùng: Nếu có hiển thị danh sách người dùng Nếu không, hiển thị danh sách rỗng.

▫ Tìm kiếm bộ câu hỏi:

 Nhập từ khóa cần tìm.

 Hệ thống kiểm tra thông tin bộ câu hỏi: Nếu có hiển thị danh sách bộ câu hỏi Nếu không, hiển thị danh sách rỗng.

 Nhập từ khóa cần tìm.

 Hệ thống kiểm tra thông tin giáo viên: Nếu có hiển thị danh sách giáo viên Nếu không, hiển thị danh sách rỗng.

▫ Tìm kiếm cấp độ học:

 Nhập từ khóa cần tìm.

 Hệ thống kiểm tra thông tin cấp độ học: Nếu có hiển thị danh sách cấp độ học Nếu không, hiển thị danh sách rỗng.

2.2.13 Use Case báo cáo thống kê:

Hình 2.14 Use Case báo cáo thống kê

 Tác nhân: Quản trị viên.

 Mô tả tổng quát: Người quản trị theo dõi các báo cáo thống kê.

 Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.

 Quản trị viên chọn báo cáo thống kê.

Hệ thống hiển thị trang báo cáo thống kê cung cấp các chức năng quan trọng như thống kê lượt truy cập, tài khoản người dùng, tiến trình học tập và số lượng người học.

▫ Tab thống kê lượt truy cập:

 Hệ thống lấy thông tin lượt truy cập trang web hiển thị dạng sơ đồ.

 Quản trị viên lựa chọn thống kê theo tháng/năm.

 Hệ thống xử lý thông tin hiển thị lên màn hình.

▫ Tab thống kê tài khoản người dùng:

 Hệ thống lấy danh sách các tài khoản người dùng còn tồn tại trên trang web.

 Quản trị viên lựa chọn thống kê theo tháng/năm.

 Hệ thống xử lý thông tin hiển thị lên màn hình.

▫ Tab thống kê tiến trình học tập:

 Hệ thống lấy dữ liệu tiến trình học của người dùng.

 Quản trị viên lựa chọn thống kê theo tháng/năm.

 Hệ thống xử lý thông tin hiển thị lên màn hình.

▫ Tab thống kê số lượng người học:

 Hệ thống lấy số lượng người học của hệ thống.

 Quản trị viên lựa chọn thống kê theo tháng/năm.

 Hệ thống xử lý thông tin hiển thị lên màn hình.

Biểu đồ hoạt động của hệ thống

Biểu đồ hoạt động tìm kiếm bộ câu hỏi

Hình 2.12 Biểu đồ hoạt động tìm kiếm bộ câu hỏi

Biểu đồ hoạt động đăng ký

Hình 2.13 Biểu độ hoạt động đăng ký

Biểu đồ hoạt động đăng nhập

Hình 2.14 Biểu đồ hoạt động đăng nhập

Biểu đồ hoạt động thêm bộ câu hỏi

Hình 2.15 Biểu đồ hoạt động thêm bộ câu hỏi

Biểu đồ hoạt động cập nhật thông tin cá nhân

Hình 2.16 Biểu đồ hoạt động cập nhật thông tin cá nhân

Biểu đồ hoạt động bình luận

Hình 2.17 Biểu đồ hoạt động bình luận

Biểu đồ tuần tự của hệ thống

Biểu đồ tuần tự đăng ký

Hình 2.18 Biểu đồ tuần tự đăng ký

Biểu đồ tuần tự đăng nhập

Hình 2.19 Biểu đồ tuần tự đăng nhập

Biểu đồ tuần tự xem bộ câu hỏi

Hình 2.20 Biểu đồ tuần tự xem bộ câu hỏi

Biểu đồ tuần tự thêm bộ câu hỏi

Hình 2.21 Biểu đồ tuần tự thêm bộ câu hỏi

Biểu đồ tuần tự cập nhật bộ câu hỏi

Hình 2.22 Biểu đồ tuần tự cập nhật bộ câu hỏi

Biểu đồ tuần tự xóa bộ câu hỏi

Hình 2.23 Biểu đồ tuần tự xóa bộ câu hỏi

 Biểu đồ tuần tự tìm kiếm bộ câu hỏi

Hình 2.24 Biểu đồ tuần tự tìm kiếm bộ câu hỏi

Biểu đồ tuần tự bình luận

Hình 2.25 Biểu đồ tuần tự bình luận

Biểu đồ trạng thái

 Biểu đồ trạng thái Đăng nhập:

Hình 2.26 Biểu đồ trạng thái Đăng nhập

 Biểu đồ trạng thái Thêm câu hỏi:

Hình 2.27 Biểu đồ trạng thái Thêm câu hỏi

 Biểu đồ trạng thái Cập nhật câu hỏi:

Hình 2.28 Biểu đồ trạng thái Cập nhật câu hỏi

 Biểu đồ trạng thái Xóa câu hỏi:

Hình 2.29 Biểu đồ trạng thái Xóa câu hỏi

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

2.6.2 Xác định các bảng thực thể:

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã người dùng

5 phone varchar(10) Số điện thoại

7 total_course int Tổng khóa học

Bảng 2.1 Bảng users (người dùng)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã quản trị

5 phone varchar(10) Số điện thoại

Bảng 2.2 Bảng admins (quản trị)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã khóa học

2 teacher_id bigint FK Mã giảng viên

3 category_id bigint FK Mã danh mục

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

5 total_video int Tổng video

6 total_pay int Tổng tiền

8 avatar varchar(191) Ảnh đại diện

9 total_star int Tổng sao

12 about varchar(max) Nội dung

13 keyword_seo varchar(191) Từ khóa seo

14 title_seo varchar(191) Tiêu đề seo

15 description_seo varchar(max) Mô tả seo

Bảng 2.3 Bảng courses (khóa học)

 Bảng courses_content (nội dung khóa học):

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã nội dung khóa học

3 total_video int Tổng video

4 content varchar(max) Nội dung

5 course_id bigint FK Mã khóa học

6 total_question int Tổng câu hỏi

Bảng 2.4 Bảng courses_content (nội dung khóa học)

 Bảng courses_video (video khóa học):

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã video khóa học

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

5 course_content_ id bigint FK Mã nội dung khóa học

6 path varchar(max) Đường dẫn

Bảng 2.5 Bảng courses_video (video khóa học)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã từ khóa

Bảng 2.6 Bảng keywords (từ khóa)

 Bảng course_keywords (từ khóa khóa học):

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã từ khóa khóa học

2 course_id bigint FK Mã khóa học

3 keyword_id bigint FK Mã từ khóa

Bảng 2.7 Bảng course_keywords (từ khóa khóa học)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã bài viết

3 admin_id bigint FK Mã quản trị

5 content varchar(max) FK Nội dung

Bảng 2.8 Bảng articles (bài viết)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã đánh giá

2 user_id bigint FK Mã người dùng

4 course_id bigint FK Mã khóa học

6 count_rate int Số đánh giá

Bảng 2.9 Bảng votes (đánh giá)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã danh mục

Bảng 2.10 Bảng categories (danh mục)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã giảng viên

4 phone varchar(10) Số điện thoại

5 count_course int Số khóa học

8 description varchar(max) Mô tả

Bảng 2.11 Bảng teacher (giảng viên)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã đơn hàng

2 course_id bigint FK Mã khóa học

3 transaction_id bigint FK Mã giao dịch

4 user_id bigint FK Mã người dùng

8 description varchar(max) Mô tả

Bảng 2.12 Bảng orders (đơn hàng)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã giao dịch

2 note varchar(max) Ghi chú

3 total_money int Tổng tiền

4 type_pay varchar(50) Phương thức thanh toán

7 time_process int Thời gian xử lý

Bảng 2.13 Bảng transactions (giao dịch)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã vai trò

Bảng 2.14 Bảng roles (vai trò)

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 id bigint PK Mã quyền

4 role_id bigint FK Mã vai trò

6 group_permission int Nhóm quyền

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 role_id bigint PK Mã vai trò

2 model_type varchar(191) Loại model

3 model_id bigint PK Mã model

Bảng 2.16 Bảng model_has_role

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 role_id bigint PK Mã vai trò

2 permission_id bigint PK Mã quyền

Bảng 2.17 Bảng role_has_permission

STT Tên thực thể Kiểu dữ liệu Khóa Mô tả

1 model_id bigint PK Mã model

2 permission_id bigint PK Mã quyền

3 model_type varchar(191) Loại model

Bảng 2.18 Bảng model_has_permission

Thiết kế hệ thống

Giao diện quản trị

3.1.1 Giao diện quản lý từ khóa

Hình 3.1 Giao diện quản lý từ khóa

3.1.2 Giao diện quản lý danh mục

Hình 3.2 Giao diện quản lý danh mục

3.1.3 Giao diện quản lý giáo viên

Hình 3.3 Giao diện quản lý giáo viên

3.1.4 Giao diện quản lý nội dung bài học

Hình 3.4 Giao diện quản lý nội dung bài học

3.1.5 Giao diện quản lý admin

Hình 3.5 Giao diện quản lý admin

Giao diện người dùng

Hình 3.6 Giao diện trang chủ

3.2.2 Giao diện học phát âm

Hình 3.7 Giao diện học phát âm

3.2.3 Giao diện học cấu trúc

Hình 3.8 Giao diện học cấu trúc

3.2.4 Giao diện học cú pháp

Hình 3.9 Giao diện học cú pháp

Hình 3.10 Giao diện thảo luận

3.2.6 Giao diện thông tin người dùng

Hình 3.11 Giao diện thông tin người dùng

Ngày đăng: 03/08/2022, 05:42

TỪ KHÓA LIÊN QUAN

w