2.1.1 Yêu cầu bài toán -Yêu cầu chức năng: +Đăng nhập, đăng kí+Chức năng tạo bài test+Chức năng tạo bài học bằng flash card+Chức năng thêm một người dùng của một admin... -User học sinh
Bối cảnh thực hiện đề tài
Trong thời đại số hóa hiện nay, việc tiếp cận kiến thức trở nên dễ dàng nhờ vào sự phát triển của công nghệ và internet Các thiết bị di động đã thúc đẩy sự phổ biến của ứng dụng học tập trực tuyến, biến nó thành xu hướng nổi bật trong giáo dục Một trong những lĩnh vực nghiên cứu và phát triển tiềm năng là xây dựng website học tập với các tính năng như Quizz và Flashcard.
Mục tiêu của đề tài
-Xây dựng thành công Website học tập ứng dụng Quizz và Flashcard.
- Áp dụng những kiến thức công nghệ web và các môn học vừa đã được học, cùng với tìm hiểu sâu hơn kiến thức về Framwork Laravel.
-Tạo giao diện thân thiện dễ nhìn tạo cảm giác hứng thú cho người học.
-Tích hợp được các ngôn ngữ lập trình như HTML,CSS,JavaScript,Lavarel.
Nội dung và kế hoạch thực hiện
Nội dung
Phần 1: Tổng quan về trang web
Phần 2: Phân tích thiết kế hệ thống
Phần 4: Kết luận và tài liệu tham khảo
Kế hoạch thực hiện
Thời gian Nội dung thực hiện
Tuần thứ 1 từ ngày 10 đến ngày 23/10/2023
Lên ý tưởng, tìm hiểu và nghiên cứu về tổng quan và cơ sở lí thuyết của đề tài.
Phân tích thiết kế hệ thống và xây dựng website.
Xây dựng giao diện trang web
Tuần thứ 4 Xây dựng chức năng trang web
Xây dựng chức năng trang web
Xây dựng chức năng trang web
Kiểm thử và sửa lỗi
Hoàn thiện sản phẩm và viết báo cáo, chuẩn bị slide
Giới thiệu về đề tài
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
Chương 1 Tổng quan về trang web Trong chương này, sẽ trình bày các ngôn ngữ sử dụng trong trang web
Chương 2 Phân tích thiết kế hệ thống website Nội dung chương bao gồm các bước để thực hiện tạo nên hệ thống website.
Chương 3 của bài viết tập trung vào việc xây dựng website, bao gồm các giao diện và tính năng dành cho người dùng và quản trị viên Nội dung chương này sẽ cung cấp cái nhìn tổng quan về thiết kế và chức năng của website, cùng với kết luận, tài liệu tham khảo và phụ lục liên quan đến đề tài.
TỔNG QUAN VỀ TRANG WEB
Cơ sở lý thuyết
Hình 1 Ngôn ngữ HTML, CSS và Js
HTML, hay còn gọi là Ngôn ngữ đánh dấu siêu văn bản, là công cụ chính để tạo ra các trang web thông qua việc sử dụng các thẻ đánh dấu Đây không phải là một ngôn ngữ lập trình mà chỉ là ngôn ngữ đánh dấu, với phần mở rộng tệp thường là html hoặc htm Trình duyệt web sẽ đọc các tệp HTML và hiển thị chúng dưới dạng trang web, trong đó các thẻ HTML sẽ không hiển thị mà chỉ có nội dung văn bản và các đối tượng như hình ảnh, media được hiển thị Mỗi trình duyệt có thể hiển thị cùng một tệp HTML với kết quả khác nhau, và các trang HTML được gửi qua internet thông qua giao thức HTTP.
HTML tương thích với mọi hệ điều hành và trình duyệt, mang lại lợi thế lớn nhờ tính dễ học và viết Việc soạn thảo HTML cũng rất đơn giản, chỉ cần sử dụng Notepad Hiện tại, HTML đang trong quá trình phát triển, với phiên bản mới nhất là HTML5, nâng cấp từ XHTML.
HTML5 đã có nhiều cải tiến, đặc biệt là khả năng hỗ trợ các phần tử đa phương tiện mà không cần đến plugin Nó không chỉ mạnh mẽ hơn về tốc độ và khả năng thích ứng, mà còn nâng cao khả năng hỗ trợ API (Giao diện lập trình ứng dụng) và DOM (Mô hình đối tượng tài liệu).
CSS (Cascading Style Sheet) là ngôn ngữ được sử dụng để trình bày tài liệu HTML hoặc XHTML, và cũng có thể áp dụng cho XML, SVG, XUL, và nhiều định dạng khác Đặc tả CSS được quản lý bởi tổ chức W3C.
CSS có cấu trúc đơn giản và sử dụng từ tiếng Anh cho các thuộc tính Nó có thể được viết trực tiếp trong mã HTML hoặc tham chiếu từ một tệp CSS riêng biệt, thường có phần mở rộng *.css Việc sử dụng một tệp CSS cho nhiều website giúp tiết kiệm thời gian và công sức Tính kế thừa của CSS là một tính năng quan trọng, giúp giảm số dòng code mà vẫn đáp ứng yêu cầu thiết kế.
Mặc dù CSS là ngôn ngữ định dạng phổ biến, nhưng các trình duyệt thường hiểu và xử lý nó theo cách riêng, dẫn đến sự không đồng nhất trong việc hiển thị nội dung trên các nền tảng khác nhau.
Bootstrap là một framework tích hợp HTML, CSS và JavaScript, giúp tiết kiệm thời gian và công sức trong việc phát triển giao diện web Thay vì xây dựng hai template riêng cho Desktop và Mobile, Bootstrap hỗ trợ thiết kế Responsive, cho phép trang web hiển thị tốt trên mọi kích thước màn hình Framework này hoàn toàn tương thích với các trình duyệt như IE, Firefox và Chrome, cũng như phù hợp với máy tính để bàn, máy tính bảng và điện thoại Với Bootstrap, người dùng không cần kiến thức sâu về CSS hay HTML vẫn có thể tạo ra trang web đẹp và hiệu quả.
JavaScript là ngôn ngữ lập trình quan trọng giúp tạo ra các trang web tương tác, từ việc làm mới nguồn cấp dữ liệu truyền thông xã hội đến hiển thị hoạt ảnh và bản đồ tương tác, nâng cao trải nghiệm người dùng Là ngôn ngữ kịch bản phía máy khách, JavaScript đóng vai trò cốt lõi trong World Wide Web Khi bạn thấy băng chuyền hình ảnh, menu thả xuống hoặc màu sắc phần tử thay đổi linh hoạt trên trang web, đó chính là tác động của JavaScript.
Hiểu mục đích của ngôn ngữ lập trình JavaScript sẽ giúp bạn sử dụng nó hiệu quả trong công việc JavaScript có nhiều tính năng đa dạng, cho phép người dùng thực hiện nhiều hoạt động khác nhau.
• JavaScript giúp người dùng lưu trữ các giá trị bên trong các biến, thao tác với văn bản và chạy mã để phản hồi các sự kiện.
JavaScript là một ngôn ngữ lập trình linh hoạt, cho phép bạn phát triển các trò chơi đa dạng từ đơn giản đến phức tạp trên Internet.
Ngôn ngữ lập trình như Jara và Swift chuyên dụng cho việc phát triển ứng dụng di động, nhưng bạn không nên bỏ qua JavaScript.
• Tạo các phần tử web tương tác là một trong những hoạt động bạn nên sử dụng JavaScript.
Laravel là một framework mã nguồn mở được phát triển bằng ngôn ngữ PHP, nhằm hỗ trợ các lập trình viên trong việc tạo ra các ứng dụng web mạnh mẽ, linh hoạt và dễ bảo trì.
Laravel áp dụng mô hình kiến trúc MVC (Model-View-Controller) nhằm phân tách logic ứng dụng và giao diện người dùng Việc này hỗ trợ các nhà phát triển trong việc xây dựng ứng dụng một cách dễ dàng, đồng thời nâng cao khả năng quản lý và mở rộng.
Laravel nổi bật với cú pháp dễ đọc và dễ hiểu, hỗ trợ các tính năng hiện đại của PHP và cung cấp công cụ tiện ích cho hiệu suất làm việc cao Hệ thống định tuyến mạnh mẽ của Laravel cho phép người dùng dễ dàng xác định các tuyến và quản lý URL của ứng dụng Bên cạnh đó, Eloquent ORM giúp tương tác với cơ sở dữ liệu một cách linh hoạt và thuận tiện.
Bảo mật trong Laravel đóng vai trò thiết yếu, cung cấp các công cụ bảo mật tích hợp như xác thực, phân quyền và bảo vệ chống tấn công CSRF, giúp bảo vệ ứng dụng khỏi các lỗ hổng bảo mật tiềm ẩn.
Hạn chế và ưu điểm của trang web
1.2.1 Ưu và nhược điểm của HTML Ưu điểm:
• Ngôn ngữ này được sử dụng rộng rãi với nhiều nguồn hỗ trợ và cộng đồng lớn đằng sau nó.
• Có thể hoạt động mượt mà trên hầu hết mọi trình duyệt hiện nay.
• Quá trình học HTML khá đơn giản.
• Mã nguồn mở và hoàn toàn miễn phí.
• Các đánh dấu được sử dụng trong HTML thường ngắn gọn và thống nhất.
• Tiêu chuẩn web chính được điều hành bởi World Wide Web Consortium (W3C).
• Dễ dàng tích hợp với các ngôn ngữ backend như PHP, Node.js,
Ngôn ngữ này chủ yếu được sử dụng cho các trang web tĩnh, trong khi để phát triển các tính năng động, bạn cần áp dụng JavaScript hoặc các ngôn ngữ phụ trợ như PHP.
• Người dùng phải tạo các trang web riêng lẻ cho HTML, ngay cả khi các thành phần giống nhau.
• Một số trình duyệt chậm chấp nhận các tính năng mới Đôi khi các trình duyệt cũ hơn không phải lúc nào cũng hiển thị các thẻ mới hơn.
1.2.2 Ưu và nhược điểm của CSS Ưu điểm:
• CSS cho phép các nhà phát triển web tạo ra giao diện trang web tốt hơn so với chỉ HTML.
• CSS được hỗ trợ rộng rãi trên các trình duyệt web phổ biến như Chrome, Firefox, Safari và Edge.
Bạn có thể tạo bảng mã CSS và áp dụng chúng cho nhiều trang web Khi bạn muốn thay đổi giao diện của trang web, chỉ cần chỉnh sửa mã CSS, và tất cả các trang web sử dụng mã đó sẽ tự động cập nhật theo.
Khi giao diện của trang web thu hút hơn, người dùng có xu hướng lưu lại lâu hơn, từ đó cải thiện các chỉ số SEO và nâng cao thứ hạng của website.
• CSS cung cấp các tính năng và hiệu ứng động, giúp trang web trở nên hấp dẫn hơn đối với người dùng và nâng cao trải nghiệm của họ.
• CSS có thể trở nên phức tạp và khó hiểu khi sử dụng các tính năng nâng cao như truy vấn phương tiện, hoạt ảnh và biến đổi.
• Mặc dù nguy cơ này không phổ biến nhưng mã CSS có thể được sử dụng để chèn mã độc vào trang web.
• Khi trang web quá lớn, việc quản lý và duy trì mã CSS có thể trở nên phức tạp.
• CSS không có khả năng thay đổi hoặc tương tác trực tiếp với nội dung trang web.
Mặc dù CSS mang lại khả năng kiểm soát giao diện cho trang web, nhưng nó không đủ khả năng thực hiện những thiết kế phức tạp hoặc tạo ra những thay đổi sâu sắc trong cấu trúc của trang.
1.2.3 Ưu và nhược điểm của Bootstrap Ưu điểm:
Bootstrap là một nền tảng mạnh mẽ, cung cấp thư viện lưu trữ dữ liệu và công cụ tùy chỉnh, giúp người dùng nhanh chóng tạo ra giao diện website hoàn chỉnh theo nhu cầu cá nhân.
Nền tảng Bootstrap áp dụng hệ thống lưới giúp tối ưu hóa tính năng responsive, ưu tiên thiết kế giao diện di động trước Điều này mang lại hiệu suất truy cập tốt hơn cho người dùng trên các thiết bị di động.
Bootstrap sở hữu giao diện màu xám bạc sang trọng, cung cấp đầy đủ các thành phần cần thiết cho một website hiện đại Cấu trúc HTML của Bootstrap giúp bạn dễ dàng nắm bắt và phát triển trang web một cách nhanh chóng.
Bootstrap cung cấp tính năng tùy chỉnh linh hoạt, cho phép bạn điều chỉnh hầu hết các thuộc tính để phù hợp hoàn hảo với dự án của mình.
Bootstrap rất được ưa chuộng bởi các lập trình viên vì tính thân thiện với Google, điều này giúp các SEOer dễ dàng tối ưu hóa website và tiếp cận người dùng hiệu quả hơn.
Bootstrap có nền tảng tương đối nặng, điều này có thể trở thành nhược điểm trong thiết kế đối với các dự án yêu cầu sản phẩm nhẹ.
Bootstrap vẫn còn thiếu nhiều thư viện cần thiết, điều này khiến việc tạo ra một khung thiết kế hoàn hảo trở nên khó khăn Do đó, người dùng vẫn phải dựa vào phiên bản di động của Bootstrap để đạt được hiệu quả tốt nhất trong thiết kế.
Một nhược điểm đáng chú ý khi sử dụng nền tảng này là trang web của bạn phải tích hợp nhiều mã không cần thiết, trong khi bạn chỉ khai thác chưa đến 10% các tính năng mà nền tảng cung cấp.
Việc sử dụng các theme có sẵn giúp bạn dễ dàng gọi các lớp từ stylesheet, tạo nên một website cơ bản đầy đủ Tuy nhiên, điều này có thể dẫn đến sự lười biếng trong sáng tạo, và lâu dần, bạn sẽ trở nên thụ động trong việc phát triển nội dung và thiết kế.
1.2.4 Ưu và nhược điểm của Javascript: Ưu điểm:
• Bạn không cần trình biên dịch vì trình duyệt web có thể biên dịch nó bằng HTML.
• Dễ học hơn các ngôn ngữ lập trình khác.
• Lỗi dễ phát hiện hơn và do đó dễ sửa hơn.
• Nó có thể được gắn trên một số thành phần trang web hoặc sự kiện trang web chẳng hạn như thông qua nhấp chuột hoặc di chuột.
• JS hoạt động trên nhiều trình duyệt, nền tảng, v.v.
• Bạn có thể sử dụng JavaScript để kiểm tra đầu vào và giảm thiểu việc kiểm tra thủ công khi truy cập thông qua cơ sở dữ liệu.
• Nó giúp website tương tác tốt hơn với người truy cập.
• Nó nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác.
• Có thể được sử dụng để thực thi mã độc trên máy tính của người dùng.
• Đôi khi không được hỗ trợ trên tất cả các trình duyệt.
• Có thể được triển khai khác nhau giữa các thiết bị dẫn đến sự không nhất quán.
1.2.5 Ưu và nhược điểm của Laravel: Ưu điểm:
Using Laravel 5 enables developers to leverage the latest features offered by PHP, particularly in areas such as Namespaces, Interfaces, Overloading, Anonymous Functions, and Shorter Array Syntax.
Laravel cung cấp một nguồn tài nguyên phong phú và thân thiện với lập trình viên, bao gồm nhiều tài liệu đa dạng để tham khảo Mỗi phiên bản được phát hành đều đi kèm với tài liệu phù hợp, giúp người dùng dễ dàng áp dụng vào ứng dụng của mình.
Phương thức
1.3.1 Phương thức thực hiện dự án
- Xây dựng website dựa trên kiến thức đã học về HTML, CSS, JavaScript,
- Phần mềm thiết kế website: Visual Studio Code
- Tham khảo và tiếp nhận các ý tưởng, dữ liệu từ giảng viên.
- Nghiên cứu các website tương tự để rút ra những chỗ còn thiếu nhằm bổ sung, khắc phục những điểm yếu của các website khác.
- Hướng dẫn rõ ràng: Menu điều hướng.
- Đánh giá của người dùng
Tạo bài kiểm tra, quản lý flashcard, luyện tập và ôn tập là những công cụ hữu ích giúp người học nâng cao hiệu quả học tập Người dùng có thể lưu trữ kết quả, chia sẻ và tương tác với bạn bè để tăng cường động lực Ngoài ra, việc theo dõi tiến độ học tập cũng giúp người học nhận biết được sự tiến bộ của bản thân.
Tổng kết chương 1
Trong chương 2, bài viết đã cung cấp cái nhìn tổng quan về các ngôn ngữ lập trình website, đồng thời phân tích ưu nhược điểm của từng ngôn ngữ Những thông tin này đóng vai trò quan trọng trong việc giải thích lý do lựa chọn công nghệ phát triển của em.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Mô tả bài toán
Hiện nay, sự phát triển của CNTT đã tạo ra cơ hội lớn trong lĩnh vực giáo dục Nhóm chúng tôi đã phát triển một website hỗ trợ học tập thông qua quizz và flash card, cho phép người dùng tạo bài kiểm tra và bài học một cách dễ dàng Người dùng có thể tùy chỉnh câu hỏi và đáp án cho mỗi bài kiểm tra và flashcard, đồng thời nhập link để tham gia vào các bài tập trắc nghiệm đã được tạo trước Sau khi hoàn thành, người dùng có thể xem báo cáo kết quả của mình, giúp nâng cao hiệu quả học tập.
+Đăng nhập, đăng kí+Chức năng tạo bài test+Chức năng tạo bài học bằng flash card+Chức năng thêm một người dùng của một admin
+Chức năng chỉnh sửa thông tin một người dùng của một admin,
Admin có chức năng xoá người dùng, chỉnh sửa hồ sơ cá nhân, tham gia bài test, và tham gia bài học thông qua flash card.
+Chức năng sửa đổi mật khẩu của người dùng +Chức năng xoá tài khoản của người dùng.
-Yêu cầu phi chức năng
+Thân thiện với người dùng
+Sử dụng được trên điện thoại và laptop.
Biểu đồ usecase
2.2.1 Phân tích các tác nhân :
Admin là người quản trị hệ thống, có nhiệm vụ quản lý người dùng trên website Họ có khả năng quản lý danh sách người dùng, cũng như thực hiện các thao tác thêm, sửa và xoá người dùng một cách linh hoạt trên hệ thống.
Người dùng, bao gồm học sinh và giáo viên, có khả năng tạo tài khoản và đăng nhập vào trang web để thực hiện nhiều chức năng hữu ích như tạo bài kiểm tra, làm bài kiểm tra, và tạo cũng như sử dụng bài học flashcard.
2.2.2 Biểu đồ usecase tổng quát:
Đặc tả các usecase
Đổi mật khẩu tài khoản
Xem danh sách các bài test
Xem danh sách các flashcard sẵn có
Xem danh sách người dùng
Chỉnh sửa thông tin của một người dùng
Xem danh sách khoá học
Sửa thông tin khoá học
ID UC1 Tên ca sử dụng Đăng kí
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Người dùng có thể tạo tài khoản dành cho người dùng trên hệ thống Tác nhân User
Giả định Người dùng cung cấp thông tin đăng kí hợp lệ, bao gồm tên, địa chỉ email, mật khẩu và các chi tiết bắt buộc khác.
1 Người dùng nhập thông tin đăng kí vào ô họ tên , email , vai trò, chuyên môn, mật khẩu và xác nhận mật khẩu.
2 Click vào button đăng kí “register” để thực hiện đăng kí.
3 Hệ thống tiến hành xử lý đăng kí, kiểm tra thông tin đăng kí có hợp lệ hay không Nếu hợp lệ thì tới bước 5, không hợp lệ thì tới bước 4.
4.Hiển thị cảnh báo “Thông tin của bạn không hợp lệ, vui lòng thử lại” Nhấp thử lại để quay lại bước 1.
5.Hệ thống tạo tài khoản cho người dùng Sau đó đến bước 6.
6.Người dùng sử dụng tên tài khoản và mật khẩu vừa tạo để thực hiện đăng nhập vào hệ thống
Tùy chỉnh hồ sơ người dùng sau khi đăng ký tài khoản mới cho phép người dùng thêm ảnh đại diện và thông tin cá nhân bổ sung, giúp cải thiện trải nghiệm sử dụng và cá nhân hóa tài khoản.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
2.3.2 Đặc tả usecase đăng nhập
ID UC2 Tên ca sử dụng Đăng nhập
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép Admin và user có thể đăng nhập vào tài khoản của mình để thực hiện các tác vụ phụ thuộc vào tài khoản,
Giả định Người dùng cung cấp thông tin đăng nhạp hợp lệ, bao gồm tên, địa chỉ email, mật khẩu và các chi tiết bắt buộc khác.
Kịch bản 1 Người dùng nhập tên tài khoản và mật khẩu đã được đăng kí trước đó.
2 Click vào button đăng nhập để thực hiện xử lý đăng nhập.
3 Hệ thống tiến hành xử lý đăng nhập kiểm tra tên tài khoản và mật khẩu có đúng không Nếu thông tin đăng nhập đúng thì tới bước 4.
4 Tùy theo đối tượng người dùng, hệ thống sẽ đến các form với chức năng phù hợp.
5.Hệ thống thông báo đăng nhập thành công.
6 Hiển thị cảnh báo “Thông tin của bạn không hợp lệ, vui lòng thử lại” Nhấp thử lại để quay lại bước 1.
Tùy chỉnh hồ sơ người dùng sau khi đăng nhập cho phép người dùng điều chỉnh thông tin cá nhân một cách linh hoạt, bao gồm việc bổ sung các chi tiết quan trọng để nâng cao trải nghiệm sử dụng.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
2.3.3 Đổi mật khẩu tài khoản
ID UC3 Tên ca sử dụng Đổi mật khẩu tài khoản
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép Admin và user có thể đổi mật khẩu đăng nhập của mình Tác nhân Admin ,user
Giả định Người dùng cung cấp đúng thông tin mật khẩu hiện tại và nhập mật khẩu mới hợp lệ
Kịch bản 1 Sau khi vào trang đổi mật khẩu người dùng nhập vào ô mật khẩu hiện tại, mật khẩu mới và xác nhận mật khẩu mới.
2 Click vào button đổi mật khẩu “reset password” để hệ thống tiến hành xử lý
3 Hệ thống tiến kiểm tra thông tin vừa điền ( mật khẩu hiện tại mật khẩu mới và xác nhận mật khẩu mới) có hợp lệ không nếu hợp lệ thì tới bước 5, không hợp lệ thì tới bước 4
4 Nếu không hợp lệ thì đưa ra cảnh báo “ Thông tin của bạn không hợp lệ” rồi bấm quay lại để về bước 1.
5.Hệ thống thông báo đổi mật khẩu thành công.
Yêu cầu phi chức năng
ID UC4 Tên ca sử dụng Đăng xuất
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép người dùng thoát khỏi phiên đăng nhập của mình
Giả định Người dùng muốn thoát khỏi phiên đăng nhập
1 Click vào button “Logout” để thoát
2 Hệ thống xử lý thoát phiên đăng nhập.
3 Đăng nhập thành công trở về giao diện trang giới thiệu
Yêu cầu phi chức năng Hiệu suất, Bảo mật.
ID UC5 Tên ca sử dụng Xoá tài khoản
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho user xoá tài khoản của mình
Giả định Người dùng cung cấp đúng mật khẩu và xác nhận xoá tài khoản
1 Click vào button “delete account”
2 Hệ thống đưa ra form để điền mật khẩu xác nhận xoá tài khoản.
3 Hệ thống tiến hành kiểm tra thông tin vừa điền nếu nhập đúng mật khẩu thì tới bước 5 sai mật khẩu thì tới bước 4.
4 Hệ thống thông báo “ Mật khẩu không hợp lệ vui lòng thử lại” và quay về bước 2.
5.Hệ thống thông báo xoá tài khoản thành công và trở về giao diện trang chủ chưa đăng nhập.
Yêu cầu phi chức năng Hiệu suất
ID UC6 Tên ca sử dụng Tạo bài test
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép người dùng tạo một bài test để ôn tập kiến thức
Giả định Người dùng muốn tạo một bài test
1 Sau khi vào trang tạo bài test
2 Điền vào form ô tiêu đề , ô mô tả bài test, tên trường tên khoá học. Bấm thêm thẻ để tạo định nghĩa mô tả hình ảnh cho câu hỏi cần ôn tập
3 Click button “Tạo” Hệ thống tiến kiểm tra thông tin vừa điền có hợp lệ không nếu hợp lệ thì tới bước 5, không hợp lệ (không đủ tiêu đề mô tả khoá học )thì tới bước 4
4 Nếu không hợp lệ thì đưa ra cảnh báo “ Thông tin của bạn không hợp lệ” rồi bấm quay lại để về bước 1.
5.Hệ thống thông báo tạo bài test thành công.
Yêu cầu phi chức năng
ID UC7 Tên ca sử dụng Tạo bài test
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép người dùng tạo một bài flashcard để ôn tập kiến thức Tác nhân User
Giả định Người dùng muốn tạo một bài flashcard
1 Sau khi vào trang tạo bài flashcard
2 Điền vào form ô tiêu đề , ô mô tả bài flashcard, tên trường tên khoá học
Bấm thêm thẻ để tạo định nghĩa mô tả hình ảnh cho câu hỏi cần ôn tập
3 Click button “Tạo” Hệ thống tiến kiểm tra thông tin vừa điền có hợp lệ không nếu hợp lệ thì tới bước 5, không hợp lệ (không đủ tiêu đề mô tả khoá học )thì tới bước 4
4 Nếu không hợp lệ thì đưa ra cảnh báo “ Thông tin của bạn không hợp lệ” rồi bấm quay lại để về bước 1.
5.Hệ thống thông báo tạo bài flashcard thành công.
Yêu cầu phi chức năng Hiệu suất
2.3.8 Xem danh sách khoá học
ID UC8 Tên ca sử dụng Xem danh sách khoá học
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép người dùng xem danh sách các khoá học flashcard hoặc test
Giả định Người dùng có tài khoản và đã đăng nhập vào hệ thống
1 Tại trang chủ (sau khi đăng nhập) người dùng click vào chức năng “xem khoá học của tôi” đối với admin là “tất cả các khoá”.
2 Hệ thống sẽ hiển thị các khoá học và hiển thị thông tin về các khoá học đó ( tên, mô tả, ).
3 Người dùng có thể click vào để làm bài bất kì
Yêu cầu phi chức năng Hiệu suất
2.3.9 Xem danh sách người dùng
ID UC9 Tên ca sử dụng Xem danh sách người dùng
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép admin có thể xem danh sách tất cả người dùng
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò admin
1 Tại trang chủ (sau khi đăng nhập) người dùng click vào chức năng “tất cả người dùng”.
2 Hệ thống sẽ hiển thị các người dùng và hiển thị thông tin về người dùng đó.
3 Có thể tuỳ chỉnh đối với mỗi người dùng.
Yêu cầu phi chức năng Hiệu suất, Bảo mật.
2.3.10 Chỉnh sửa thông tin của một người dùng
ID UC10 Tên ca sử dụng Chỉnh sửa thông tin của người dùng.
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép admin chỉnh sửa thông tin của người dùng bất kì
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò admin.
1 Tại danh sách người dùng người dùng có thể click vào bất kì người dùng
2 Trực tiếp chỉnh sửa thông tin của người dùng
3 Click lưu thông tin và kết thúc ca.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
2.3.11 Xoá một người dùng ra khỏi danh sách.
ID UC11 Tên ca sử dụng Xoá một người dùng
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép admin xoá tài khoản của một người dùng
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò admin.
1 Tại danh sách người dùng người dùng có thể click vào bất kì người dùng
2 Trực tiếp click xoá người dùng
3 Hệ thống hiện form xác nhận Click xác nhận nếu muốn xoá nếu không muốn xoá thì click huỷ.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
2.3.12 Chỉnh sửa thông tin một khoá học
ID UC12 Tên ca sử dụng
Chỉnh sửa thông tin của khoá học.
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép admin chỉnh sửa thông tin của khoá học bất kì.
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò admin.
1 Tại danh sách khoá học người dùng có thể click vào khoá học bất kì.
2 Trực tiếp chỉnh sửa thông tin của khoá học bất kì.
3 Click lưu thông tin và kết thúc ca.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
ID UC13 Tên ca sử dụng Xoá khoá học
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép admin xoá một khoá học
Người dùng đã đăng nhập vào hệ thống với vai trò admin và có thể truy cập vào danh sách các khóa học Trong kịch bản này, người dùng có thể nhấp vào bất kỳ khóa học nào trong danh sách để xem chi tiết.
2 Trực tiếp click xoá khoá học
3 Hệ thống hiện form xác nhận Click xác nhận nếu muốn xoá nếu không muốn xoá thì click huỷ.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
ID UC14 Tên ca sử dụng Làm một bài test
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép user thực hiện làm một bài test ôn tập đã tạo
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò User.
1 Tại danh sách khoá học người dùng có thể click vào bài test nào
2 Trực tiếp click vào làm bài
3 Hệ thống sẽ mở form làm bài sau khi làm bài xong.
Yêu cầu phi chức năng Hiệu suất, Bảo mật
ID UC15 Tên ca sử dụng Ôn tập flashcard
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép user thực hiện làm một bài ôn tập bằng flashcard đã tạo
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò User.
1 Tại danh sách khoá học người dùng có thể click vào bài bất kì flashcard nào
2 Trực tiếp click vào ôn tập
3 Hệ thống sẽ mở form ôn tập.
4 Khi làm bài xong Click hoàn thành
Yêu cầu phi chức năng Hiệu suất, Bảo mật
ID UC16 Tên ca sử dụng Ôn tập flashcard
Ngày tạo 4/12/2023 Ngày cập nhật
Mô tả Cho phép user thực hiện tìm kiếm một khoá học bất kì có sẵn
Giả định Người dùng đã đăng nhập vào hệ thống với vai trò User.
7 Tại danh sách khoá học người dùng nhập tên khoá học cần tìm
8 Trực tiếp click vào button tìmkiếm
9 Hệ thống sẽ hiển thị khoá học ra nếu có nếu không có hệ thống sẽ báo không có.
10 Khi làm bài xong Click hoàn thành
Yêu cầu phi chức năng Hiệu suất, Bảo mật
Biểu đồ Usecase
2.4.3 Usecase Đổi mật khẩu tài khoản
2.4.6 Usecase Thông tin khóa học
2.4.7 Usecase Thông tin người dùng
Biểu đồ hoạt động
2.5.1 Biểu đồ hoạt động đăng nhập:
2.5.2 Biểu đồ hoạt động đăng kí
2.5.3 Biểu đồ hoạt động đổi mật khẩu:
2.5.4 Biểu đồ hoạt động tạo test/flashcard
2.5.5 Biểu đồ hoạt động thêm một người dùng vào danh sách
2.5.6 Biểu đồ hoạt động thực hiện một bài test.
2.5.7 Biểu đồ hoạt động đăng xuất