Tải bản đầy đủ (.pdf) (86 trang)

Đề tài xây dựng website dạy học trực tuyến các môn cntt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.71 MB, 86 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TÓM TẮT </b>

Ngày nay, các ứng dụng công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học kỹ thuật cũng như đời sống, máy tính trở thành cơng cụ trợ giúp đắc lực cho con người trong lưu trữ, phân tích và xử lý thơng tin. Ở nước ta, cùng với sự phát triển chung của nền kinh tế, tin học ngày càng được ứng dụng rộng rãi trong các công tác quản lý và từng bước khẳng định sức mạnh cũng như vị trí quan trọng của mình.

Chính vì vậy mà nhu cầu truyền thơng cũng được nâng cao, việc tiếp cận với cái mới cũng như là công nghệ giúp thỏa mãn nhu cầu của con người. Trước đây, muốn tìm tịi học hỏi thêm kiến thức con người phải chủ động đi học, tiếp thu thêm những kiến thức tại các trung tâm dạy học hay doanh nghiệp. Song song với việc đó, với lượng kiến thức ngày một nhiều và ngày càng đổi mới như hiện nay thì trường học không thể cung cấp đầy đủ những kiến thức cho các bạn học sinh, sinh viên đang học và đã ra trường. Trong bối cảnh cuộc sống hiện đại và phát triển hiện nay, mọi hoạt động đều phải thay đổi để có thể phù hợp với cuộc sống và xu thế chung, trong đó giáo dục đào tạo trực tuyến đang trở thành hình thức dạy học phổ biến và được một lượng lớn học viên tham gia đặc biệt là giới trẻ.

Vì vậy, qua thời gian khảo sát thực tế và vận dụng những kiến thức đã được học, nên

<i>em quyết định chọn và thực hiện đề tài “Xây dựng website dạy học trực tuyến các môn CNTT” là đề tài bảo vệ đồ án tốt nghiệp dưới sự hướng dẫn của cô Ths. Phạm Thị Thuận, </i>

giảng viên khoa Công nghệ thông tin – Trường Đại học Công nghệ Giao thông vận tải. Với sự hạn hẹp về kiến thức tổng hợp cũng như kinh nghiệm thực tế nên bài báo cáo đồ án của em không tránh khỏi những thiếu sót. Rất mong nhận được sự đóng góp ý kiến của thầy cô trong trường và các bạn sinh viên để bài báo cáo của em được hoàn thiện hơn.

<i>Em xin chân thành cảm ơn! </i>

<i>Hà Nội, ngày .. tháng .. năm 2020 </i>

Sinh viên thực hiện

<b>Lương Văn Trường </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI CẢM ƠN </b>

Trong thời gian nghiên cứu, học tập tại khoa Công nghệ thông tin trường Đại học Công nghệ Giao thông vận tải, được sự giúp đỡ quý báu của quý thầy cô giáo, các bạn sinh viên cùng các doanh nghiệp là đối tác của nhà trường đã giúp em hoàn thiện đồ án tốt nghiệp. Trước tiên cho phép em được bày tỏ lời cảm ơn sâu sắc nhất tới các thầy cô trong khoa Công

<b>nghệ thông tin. Đặc biệt là cô Ths. Phạm Thị Thuận, giảng viên khoa Công nghệ thông tin, </b>

trường Đại học Công nghệ Giao thông vận tải, người trực tiếp hướng dẫn, nhận xét, giúp đỡ em trong suốt q trình thực hiện và hồn thành đồ án.

Đồng thời em cũng xin chân thành cảm ơn Ban giám hiệu nhà trường, các thầy cô trong khoa Công nghệ thơng tin cùng các phịng ban nhà trường đã tạo điều kiện tốt nhất cho em trong suốt thời gian học tập và làm đồ án tốt nghiệp này.

Tiếp theo, em xin gửi lời cảm ơn đến các thành viên lớp 67DCHT21, những người bạn đã luôn ở bên cạnh động viên, tạo điều kiện thuận lợi giúp em hoàn thành tốt đồ án, bên cạnh đó em xin cảm ơn gia đình đã tạo điều kiện về vật chất cũng như tinh thần, động viên giúp em hoàn thành đồ án này.

Trong q trình thực hiện làm đồ án cịn có rất nhiều sai sót, em mong nhận được sự giúp đỡ nhiệt tình của thầy cơ cũng như các bạn để hoàn thiện một cách tốt nhất.

<i>Em xin chân thành cảm ơn! </i>

<i>Hà Nội, ngày .. tháng .. năm 2020 </i>

Sinh viên thực hiện

<b>Lương Văn Trường </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b><small>1.2. Mục tiêu của đề tài ...11 </small></b>

<b><small>1.3. Giới hạn và phạm vi của đề tài ...11 </small></b>

<b><small>1.4. Kết quả dự kiến đạt được ...11 </small></b>

<small>2.2.9. Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose ...17 </small>

<b>CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ... 18 </b>

<b><small>3.1. Khảo sát hệ thống và đặc tả nghiệp vụ ...18 </small></b>

<small>3.1.1. Thực trạng hiện nay ...18 </small>

<small>3.1.2. Giới thiệu đơn vị khảo sát ...19 </small>

<small>3.1.2.1. Danh mục các khóa học cơng nghệ thơng tin của website ...19 </small>

<small>3.1.2.2. Các nghiệp vụ chính của của website ...19 </small>

<small>3.1.2.3. Đánh giá chung về sự khác biệt dạy học online và dạy học truyền thống ...20 </small>

<small>3.1.3. Khảo sát ...21 </small>

<small>3.1.3.1. Hình thức khảo sát ...21 </small>

<small>3.1.3.2. Đối tượng khảo sát ...21 </small>

<small>3.1.4. Mơ tả bài tốn ...23 </small>

<small>3.1.5. Xác định các thành phần có của hệ thống ...24 </small>

<b><small>3.2. Phân tích, xác định các tác nhân của hệ thống ...25 </small></b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b><small>3.3. Thiết kế về cơ sở dữ liệu ...65 </small></b>

<b><small>3.4. Thiết kế các module chương trình chính ...72 </small></b>

<small>3.4.1. Website dạy học ...72 </small>

<small>3.4.2. Website quản lý ...72 </small>

<b><small>3.5. Thiết kế giao diện chương trình ...73 </small></b>

<small>3.5.1. Giao diện trang website dạy học ...73 </small>

<small>3.5.2. Giao diện trang quản lý ...79 </small>

<b>CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH ... 85 </b>

<b><small>4.1. Thu thập dữ liệu, xây dựng cơ sở dữ liệu vật lý ...85 </small></b>

<b><small>4.2. Viết code cho các module chương trình chính ...85 </small></b>

<small>4.2.1. Code Module trang chủ ...85 </small>

<small>4.2.2. Code Module trang danh sách khóa học ...86 </small>

<small>4.2.3. Code Module trang chi tiết khóa học ...87 </small>

<small>4.2.4. Code Module trang bài học ...87 </small>

<small>4.2.5. Code Module trang quản lý người dùng ...88 </small>

<small>4.2.6. Code Module trang quản lý khóa học ...89 </small>

<b><small>4.3. Kiểm thử và đánh giá chương trình ...90 </small></b>

<small>4.3.1. Kiểm thử module đăng ký khóa học ...90 </small>

<b>KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ... 94 </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>DANH MỤC HÌNH VẼ </b>

<i>Hình 2.1. Mơ hình mơ tả kết nối giữa API với các thư viện và ứng dụng khác. ... 14 </i>

<i>Hình 2.2. Sự khác biệt giữa việc sử dụng và khơng sử dụng redux. ... 15 </i>

<i>Hình 3.1. Usecase tổng quát. ... 25 </i>

<i>Hình 3.2. Biểu đồ chi tiết usecase đăng nhập... 26 </i>

<i>Hình 3.3. Biểu đồ chi tiết usecase đăng ký giảng viên. ... 27 </i>

<i>Hình 3.4. Biểu đồ chi tiết usecase đánh giá khóa học. ... 28 </i>

<i>Hình 3.5. Biểu đồ chi tiết usecase quản lý khóa học. ... 29 </i>

<i>Hình 3.6. Biểu đồ chi tiết usecase quản lý bài học. ... 30 </i>

<i>Hình 3.7. Biểu đồ chi tiết usecase quản lý danh mục khóa học. ... 30 </i>

<i>Hình 3.8. Biểu đồ chi tiết usecase quản lý giảng viên. ... 31 </i>

<i>Hình 3.9. Biểu đồ chi tiết usecase quản lý học viên. ... 32 </i>

<i>Hình 3.10. Biểu đồ chi tiết usecase quản lý khóa học. ... 33 </i>

<i>Hình 3.11. Biểu đồ chi tiết usecase quản lý thảo luận. ... 34 </i>

<i>Hình 3.12. Biểu đồ chi tiết usecase quản lý ý kiến người dùng. ... 35 </i>

<i>Hình 3.13. Biểu đồ chi tiết usecase quản lý thảo luận khóa học. ... 36 </i>

<i>Hình 3.14. Biểu đồ chi tiết usecase thống kê. ... 37 </i>

<i>Hình 3.15. Biểu đồ chi tiết usecase xem nội dung khóa học. ... 38 </i>

<i>Hình 3.16. Biểu đồ hoạt động đăng ký giảng viên. ... 53 </i>

<i>Hình 3.17. Biểu đồ hoạt động đăng nhập... 54 </i>

<i>Hình 3.18. Biểu đồ hoạt động hỏi đáp thắc mắc. ... 55 </i>

<i>Hình 3.19. Biểu đồ hoạt động quản lý danh mục khóa học. ... 56 </i>

<i>Hình 3.20. Biểu đồ hoạt động quản lý giảng viên. ... 57 </i>

<i>Hình 3.21. Biểu đồ trình tự đăng ký giảng viên... 58 </i>

<i>Hình 3.22. Biểu đồ trình tự đăng nhập. ... 59 </i>

<i>Hình 3.23. Biểu đồ trình tự hỏi đáp/ thắc mắc. ... 60 </i>

<i>Hình 3.23. Biểu đồ trình tự thêm mới khóa học. ... 61 </i>

<i>Hình 3.24. Biểu đồ trạng thái xem video bài học. ... 62 </i>

<i>Hình 3.25. Biểu đồ trạng thái đăng ký thành viên. ... 63 </i>

<i>Hình 3.26. Biểu đồ lớp. ... 64 </i>

<i>Hình 3.27. Giao diện trang chủ ... 73 </i>

<i>Hình 3.28. Giao diện trang đăng nhập. ... 74 </i>

<i>Hình 3.29. Giao diện trang danh sách khóa học. ... 75 </i>

<i>Hình 3.30. Giao diện trang chi tiết khóa học. ... 76 </i>

<i>Hình 3.31. Giao diện trang bài học. ... 77 </i>

<i>Hình 3.32. Giao diện trang thơng tin người dùng. ... 78 </i>

<i>Hình 3.33. Giao diện trang đăng nhập. ... 79 </i>

<i>Hình 3.34. Giao diện trang dashboard. ... 79 </i>

<i>Hình 3.35. Giao diện trang quản lý người dùng. ... 80 </i>

<i>Hình 3.36. Giao diện trang quản lý danh mục. ... 80 </i>

<i>Hình 3.37. Giao diện trang quản lý khóa học. ... 81 </i>

<i>Hình 3.38. Giao diện trang quản lý bài học. ... 81 </i>

<i>Hình 3.39. Giao diện trang quản lý bình luận. ... 82 </i>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<i>Hình 3.40. Giao diện trang quản lý tương tác ... 82 </i>

<i>Hình 3.41. Giao diện trang thơng tin người dùng. ... 83 </i>

<i>Hình 3.43. Giao diện trang thống kê. ... 84 </i>

<i>Hình 4.1. Dữ liệu kiểm thử ... 91 </i>

<i>Hình 4.2. Thực hiện kiểm thử chương trình. ... 92 </i>

<i>Hình 4.3. Quá trình tự động kiểm thử chương trình. ... 92 </i>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC BẢNG </b>

<i>Bảng 3.1. Đặc tả usecase Đăng nhập. ... 38 </i>

<i>Bảng 3.2. Đặc tả usecase Đánh giá khóa học. ... 39 </i>

<i>Bảng 3.3. Đặc tả usecase Hỏi đáp/ thắc mắc. ... 40 </i>

<i>Bảng 3.4. Đặc tả usecase Thảo luận khóa học. ... 41 </i>

<i>Bảng 3.5. Đặc tả usecase Xem nội dung khóa học. ... 42 </i>

<i>Bảng 3.6. Đặc tả usecase Đăng ký giảng viên. ... 43 </i>

<i>Bảng 3.7. Đặc tả usecase Quản lý danh mục khóa học. ... 44 </i>

<i>Bảng 3.8. Đặc tả usecase Quản lý khóa học. ... 45 </i>

<i>Bảng 3.9. Đặc tả usecase Quản lý bài học. ... 46 </i>

<i>Bảng 3.10. Đặc tả usecase Quản lý học viên. ... 47 </i>

<i>Bảng 3.11. Đặc tả usecase Quản lý giảng viên ... 48 </i>

<i>Bảng 3.12. Đặc tả usecase Quản lý thảo luận... 49 </i>

<i>Bảng 3.13. Đặc tả usecase Quản lý ký kiến người dùng. ... 50 </i>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>BẢNG KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT </b>

CSDL Cơ sở dữ liệu Là một tập hợp thơng tin có cấu trúc. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu.

CNTT Công nghệ thông tin Là một nhánh ngành kỹ thuật sử dụng máy tính và phần mềm máy tính để chuyển đổi, lưu trữ, bảo vệ, xử lý, truyền tải và thu thập

CSS Cascading Style Sheet Trong tin học, các tập tin định kiểu theo tầng – dịch từ tiếng Anh là Cascading Style Sheets (CSS) – được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn

ngữ HTML và XHTML.

GVHD Giảng viên hướng dẫn Giảng viên hướng dẫn

Language

Là ngôn ngữ được thiết kế ra để tạo nên các trang web

JS Java Script JavaScript là một ngôn ngữ lập trình kịch bản . Ngơn ngữ này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng.

MYSQL My Structured Query MySQL không phải là một ngôn ngữ truy vấn mà là một hệ quản lý cơ sở dữ liệu. Nó là phần mềmdùng để lưu trữ và quản lý cơ sở

dữ liệu.

QTHT Quản trị hệ thống Người quản trị hệ thống

SQL Structured Query Là hệ quản trị cơ sở dữ liệu tự do nguồn mở

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Language phổ biến nhất thế giới UTT University of Transport

Technology

Đại học Công nghệ Giao thông vận tải

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>1.1. Lý do chọn đề tài </b>

<b>CHƯƠNG 1. GIỚI THIỆU </b>

Trong bối cảnh Internet và công nghệ ngày càng phát triển như hiện nay đòi hỏi mọi ngành nghề, mọi hoạt động đều phải thay đổi cho phù hợp với xu thế chung, trong đó giáo dục đào tạo khơng phải là ngoại lệ. Dạy học trực tuyến hay đào tạo trực tuyến đang trở thành hình thức dạy học phổ biến hiện nay và được một lượng lớn học viên tham gia đặc biệt là giới trẻ. Do đó ứng dụng của cơng nghệ thơng tin vào việc dạy học trực tuyến trên các trang mạng Internet đã khơng cịn xa lạ. Lợi ích mà việc dạy học trực tuyến đem lại giúp độc giả tiết kiệm được thời gian, công sức cũng như hiệu quả cao trong học tập. Giúp các bạn tìm tịi học hỏi và đào sâu những kiến thức, kỹ năng vững vàng cho bản thân. Là sinh viên được trang bị những kiến thức của ngành hệ thống thông tin với những kiến thức đã tiếp thu và vận dụng lý thuyết đó vào cơng việc thực tế nên em đã chọn đề tài “Xây dựng website dạy học trực tuyến các môn CNTT” để thực hiện đồ án tốt nghiệp của mình với mục đích nghiên cứu và xây dựng một website dạy học trực tuyến giúp cho các bạn học sinh, sinh viên có thể học hỏi những kiến thức phù hợp với nhu cầu về công nghệ thông tin đang phát triển hiện nay.

Theo cuộc khảo sát và tìm hiểu em nhận thấy tỷ lệ học sinh, sinh viên định hướng mục tiêu và chủ động tiếp xúc với công nghệ thông tin đang ngày một tăng dần đối với thời đại công nghệ thông tin phát triển hiện nay. Một số bạn trẻ còn đang là học sinh đã có thể tạo ra những phần mềm, robot thông minh ngay cả khi chưa lên đại học và đã được các công ty lớn tạo điều kiện cho các bạn trẻ được trải nghiệm môi trường làm việc và học hỏi để phát triển hơn nữa. Nhưng song song với điều đó thì vẫn cịn những bạn đã là sinh viên nhưng chưa ý thức được và chủ động tìm tịi học hỏi đào sâu kiến thức về cơng nghệ thơng tin.

Qua tìm hiểu, khảo sát và xin ý kiến từ các thầy cô trong khoa và với sự góp ý của một số các bạn sinh viên, em đã quyết định chọn đề tài “Xây dựng website dạy học trực tuyến các mơn CNTT” với mục đích duy nhất là cung cấp mơi trường cho các bạn có cơ hội được chủ động tìm tịi học tập nhằm trang bị những kiến thức vững vàng hơn.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>1.2. Mục tiêu của đề tài </b>

Xây dựng, thiết kế website dạy học trực tuyến các môn CNTT. Triển khai và cài đặt chương trình trong thực tế.

<b>1.3. Giới hạn và phạm vi của đề tài </b>

Nghiên cứu về công tác quản lý vận hành website dạy học trực tuyến.

Website được xây dựng bằng ngôn ngữ lập trình Node.js kết hợp với React.js và cơ sở dữ liệu xây dựng bằng SQL Server.

<b>1.4. Kết quả dự kiến đạt được </b>

Hiểu được quy trình, cách thức quản lý và vận hành của website dạy học. Hồn thành xây dựng website với các chức năng chính sau:

❖ Giao diện thân thiện, sử dụng dễ dàng

❖ Người dùng có thể đăng ký tài khoản và tham gia học online qua các chuỗi video, có thể góp ý, trao đổi tương tác qua chức năng thảo luận dưới mỗi bài học ❖ Độc giả có thể theo dõi khóa học, nhận thơng báo khi có bài học mới

❖ Người quản lý có thể quản lý được khóa học, tài khoản người dùng và các tương tác của người dùng trong mỗi video bài học.

Hoàn thành báo cáo chi tiết đồ án tốt nghiệp.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>CHƯƠNG 2. KIẾN THỨC NỀN TẢNG </b>

Qua quá trình học trên ghế nhà trường cùng với thời gian nghiên cứu tài liệu tham khảo, em đã tóm tắt được những kiến thức nền tảng chính được sử dụng trong xây dựng chương trình và thiết kế cơ sở dữ liệu và xây dựng chương trình như sau.

<b>2.1. Cơ sở lý thuyết </b>

Để có thể thiết kế và xây dựng một hệ thống hồn chỉnh thì phân tích thiết kế và cơ sở dữ liệu là những bước đầu tiên khơng thể thiếu trong quy trình, vì vậy em đã nghiên cứu và tóm tắt những tài liệu và trọng điểm chính sau đây.

<b>2.1.1. Phân tích và thiết kế hệ thống thơng tin </b>

<i>Định nghĩa: Phân tích và thiết kế hệ thống thơng tin là quy trình để phát triển và bảo trì </i>

một ứng dụng hệ thống thơng tin với mục đích nâng cao hiệu quả công việc.

<i>Ưu điểm: Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích và </i>

thiết kế hệ thống thơng tin là tính tái sử dụng: Có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó.

<b>2.1.2. Cơ sở dữ liệu </b>

<i>Định nghĩa: Cơ sở dữ liệu là một hệ thống các thơng tin có cấu trúc, được lưu trữ trên </i>

các thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng chạy cùng một lúc với những mục đích khác nhau.

Việc sử dụng hệ thống CSDL này sẽ khắc phục được những khuyết điểm của cách lưu trữ dưới dạng hệ thống tập tin đó là: Giảm trùng lặp thông tin ở mức thấp nhất, đảm bảo tính nhất qn và tồn vẹn dữ liệu, đảm bảo dữ liệu được truy xuất theo nhiều cách khác nhau, từ nhiều người khác nhau và nhiều ứng dụng khác nhau, tăng khả năng chia sẽ thơng tin.

<b>2.2. Cơng cụ sử dụng </b>

Để có thể thiết kế được website thì cơng cụ và ngơn ngữ lập trình em sẽ sử dụng là NodeJS kết hợp gọi API để vận hành hệ thống quản lý (back-end) và sử dụng ReactJS kết hợp với Redux đối với giao diện người dùng (front-end). Cuối cùng là SQL Server để thao tác và quản lý cơ sở dữ liệu.

<b>2.2.1. NodeJS </b>

<i>NodeJS là một runtime (run-time system : phần mềm được thiết kế để chạy các chương </i>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

trình máy tính với một hoặc nhiều ngôn ngữ xác định). Nó được xây dựng trên nền V8 javascript engine – cỗ máy thực thi mã javascript của trình duyệt nổi tiếng Chrome. NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ WIndow cho tới Linux, OS X nên đó cũng là một lợi thế. Đồng thời cung cấp các thư viện phong phú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất.

Một trong số những điểm mạnh của NodeJS là giúp server có thể được viết bằng javascript từ đó tạo ra được các ứng dụng có tốc độ xử lý nhanh, xử lý giao tiếp từ cilent tới máy chủ theo thời gian thực.

<b>2.2.2. ReactJS </b>

<i>ReactJS là một thư viện Javascript mã nguồn mở để xây dựng các thành phần giao diện </i>

có thể tái sử dụng. Nó được tạo ra bởi Jordan Walke, một kỹ sư phần mềm tại Facebook. Người bị ảnh hưởng bởi XHP (Một nền tảng thành phần HTML cho PHP). React lần đầu tiên được triển khai cho ứng dụng Newsfeed của Facebook năm 2011, sau đó được triển khai cho Instagram năm 2012. ReactJS xây dựng lên các single-page-app (Thao tác xử lý trang web diễn ra trên một trang) và cho phép nhúng code html trong code javascript nhờ vào JSX.

<i>JSX là một dạng ngôn ngữ cho phép viết các mã HTML trong Javascript. JSX thực hiện </i>

tối ưu hóa trong khi biên dịch sang mã Javacsript. Các mã này cho thời gian thực hiện nhanh hơn nhiều so với một mã tương đương viết trực tiếp bằng Javascript. Ngược với Javascript, JSX là kiểu statically-typed (biên dịch trước khi chạy) giống như Java, C++. Vì thế các lỗi sẽ được phát hiện ngay trong q trình biên dịch. Ngồi ra, nó cũng cung cấp tính năng gỡ lỗi khi biên dịch rất tốt.

<b>2.2.3. API </b>

<i>API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác. Nó là viết </i>

tắt của Application Programming Interface – giao diện lập trình ứng dụng. API cung cấp khả năng truy xuất đến một tập các hàm hay dùng và từ đó có thể trao đổi dữ liệu giữa các ứng dụng với nhau.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<i>Hình 2.1. Mơ hình mơ tả kết nối giữa API với các thư viện và ứng dụng khác. </i>

Một trong các mục đích chính của một API là cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Các hàm API cũng tương tự như các hàm thông thường khác. API được ứng dụng ở nhiều loại ứng dụng và phần mềm khác nhau. Thế hệ mới nhất của API, Web API có thể dùng cho mọi hệ thống (hệ điều hành, cơ sở dữ liệu, thư viện ứng dụng,..) thậm chí cả phần cứng máy tính.

<b>2.2.4. Redux </b>

<i>Redux là một thư viện Javascript giúp tạo ra thành một lớp quản lý trạng thái của ứng </i>

dụng. Được dựa trên nền tảng tư tưởng của kiến trúc Flux do Facebook giới thiệu, do vậy Redux thường là bộ đơi kết hợp hồn hảo với ReactJS và React Native.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i>Hình 2.2. Sự khác biệt giữa việc sử dụng và không sử dụng redux. </i>

<b>2.2.5. Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose </b>

<i>Rational Rose là phần mềm công cụ mạnh hỗ trợ phân tích, thiết kế mơ hình hệ thống </i>

phần mềm theo đối tượng. Nó giúp ta mơ hình hóa hệ thống trước khi viết mã chương trình được sử dụng rộng rãi bởi các công ty trong nước và liên doanh với nước ngoài.

<i>Rational Rose là bức tranh của hệ thống từ những phối cảnh khác nhau, nó bao gồm tất </i>

cả các mơ hình UML, Actor, Use Case Case, Object,…trong hệ thống. Người lập trình có thể dùng mơ hình như một bản thiết kế cho công việc xây dựng hệ thống.

<b>2.2.6. SQL Server </b>

<i>SQL Server hay còn gọi là Microsoft SQL Server, viết tắt là MS SQL Server. Là một </i>

phần mềm được phát triển bởi Microsoft dùng để lưu trữ dữ liệu, và là một hệ quản trị cơ sở dữ liệu quan hệ đối tượng.

SQL cung cấp các tập lệnh phong phú cho các công việc hỏi đáp dữ liệu như: tạo, thêm, xóa và sửa đổi các đối tượng trong của cơ sở dữ liệu hay điều khiển việc truy cấp tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu để đảm bảo tính bảo mật, tính nhất quán và sự ràng buộc của cơ sở dữ liệu.

Đối tượng của SQL server là các bảng dữ liệu với các cột và các hàng. Cột được gọi là trường dữ liệu và hàng là bản ghi của bảng. Cột dữ liệu và kiểu dữ liệu xác định tạo nên cấu

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

vào cơng việc nào đó sẽ trở thành một cơ sở dữ liệu.

<b>2.2.7. Stored Procedure </b>

<i>Stored procedure là tập hợp một hoặc nhiều câu lệnh SQL thành một nhóm đơn vị xử lý </i>

logic và được lưu trữ trên Database Server. Khi một câu lệnh gọi chạy stored procedure lần đầu tiên thì SQL Server sẽ chạy nó và lưu trữ vào bộ nhớ đệm, gọi là plan cache, những lần tiếp theo SQL Server sẽ sử dụng lại plan cache nên sẽ cho tốc độ xử lý tối ưu. Stored procedure rất tiện lợi cho người quản trị database (DBA), nó giúp DBA tạo ra những nhóm câu lệnh và gửi đến một bô phận khác mà họ sẽ không cần quan tâm đến nội dung bên trong stored procedure có gì, họ chỉ quan tâm đến tham số đầu vào và đầu ra.

<b>2.2.8. UML </b>

<i>UML (“Unifiled Modeling Language”) là ngơn ngữ mơ hình hóa thống nhất, dùng để </i>

đặc tả, trực quan hóa và tư liệu hóa phần mềm hướng đối tượng, có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống. Nó là một ngơn ngữ để đặc tả, trực quan hố[4].

<i>Diagram (Biểu đồ): Đồ thị biểu diễn đồ họa về tập các phần tử trong mơ hình và mối </i>

quan hệ của chúng. Trong phiên bản mới nhất có 13 loại biểu đồ trong đó có 9 loại biểu đồ chính được sử dụng.

<i>❖ Use Case Case Diagram (Biểu đồ ca sử dụng): Mô tả sự tương tác giữa các tác </i>

nhân ngồi và hệ thống thơng qua các ca sử dụng.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>❖ Class Diagram (Biểu đồ lớp): Mô tả cấu trúc tĩnh, mơ hình khái niệm bao gồm các </i>

lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng.

<i>❖ Object Diagram (Biểu đồ đối tượng): Là một phiên bản của biểu đồ lớp và thường </i>

cũng sử dụng các ký hiệu như biểu đồ lớp.

<i>❖ Sequence diagram (Biểu đồ trình tự): Thể hiện sự tương tác của các đối tượng với </i>

nhau.

<i>❖ Collaboration Diagram (Biểu đồ cộng tác): Tương tự như biểu đồ trình tự nhưng </i>

nhấn mạnh vào sự tương tác của các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp để thực hiện các yêu cầu theo ngữ cảnh công việc.

<i>❖ State Diagram (Biểu đồ trạng thái): Thể hiện chu kỳ hoạt động của các đối tượng, </i>

của các hệ thống con và của cả hệ thống.

<i>❖ Activity Diagram (Biểu đồ hành động): Chỉ ra dòng hoạt động của hệ thống. ❖ Component diagram (Biểu đồ thành phần): Chỉ ra cấu trúc vật lý của các thành </i>

phần trong hệ thống.

<i>❖ Deployment Diagram (Biểu đồ triển khai): Chỉ ra cách bố trí vật lý các thành phần </i>

theo kiến trúc được thiết kế của hệ thống.

<b>2.2.9. Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose </b>

<i>Rational Rose là phần mềm cơng cụ mạnh hỗ trợ phân tích, thiết kế mơ hình hệ thống </i>

phần mềm theo đối tượng. Nó giúp ta mơ hình hóa hệ thống trước khi viết mã chương trình được sử dụng rộng rãi bởi các công ty trong nước và liên doanh với nước ngoài.

<i>Rational Rose là bức tranh của hệ thống từ những phối cảnh khác nhau, nó bao gồm tất </i>

cả các mơ hình UML, Actor, Use Case Case, Object,…trong hệ thống. Người lập trình có thể dùng mơ hình như một bản thiết kế cho công việc xây dựng hệ thống.

Có ba phiên bản khác nhau của Rose:

<i>❖ Rose Modeler: Cho phép bạn tạo mơ hình cho hệ thống, nhưng khơng hỗ trợ tiến </i>

trình phát sinh mã hoặc thiết kế kỹ thuật đảo ngược

<i>❖ Rose Professional: Cho phép bạn phát sinh mã trong một ngôn ngữ </i>

<i>❖ Rose Enterprise: Cho phép bạn phát sinh mã cho C++, Java, Ada, Corba, Visual </i>

Basis, Oracle ... Một mơ hình có thể có các thành phần được phát sinh bằng các ngôn ngữ khác nhau.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG </b>

<b>3.1. Khảo sát hệ thống và đặc tả nghiệp vụ 3.1.1. Thực trạng hiện nay </b>

Ngày nay, các ứng dụng công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học kỹ thuật cũng như đời sống, máy tính trở thành công cụ trợ giúp đắc lực cho con người trong lưu trữ, phân tích và xử lý thơng tin, nhu cầu học tập cũng ngày một phát triển để theo kịp xu thế chung. Vì vậy việc áp dụng cơng nghệ hiện đại vào q trình đào tạo đã tạo cho người học nhiều cơ hội hơn trên con đường chiếm lĩnh tri thức. Dạy học online được biết đến như một mơ hình, một phương thức đào tạo hiện đại, đã khơng cịn là khái niệm mới mẻ đối với các nhà quản trị giáo dục và được coi là một cuộc cách mạng dạy và học, trở thành xu hướng tất yếu của thời đại. Thay vì người học và người dạy tới các lớp học truyền thống, dạy học online đã giúp cho việc trao đổi thông tin, truyền đạt tri thức, việc tổ chức lớp học linh hoạt ở mọi lúc, mọi nơi, sử dụng các thành tựu CNTT. Tuy nhiên, việc triển khai dạy học online với nhu cầu học tập và chia sẻ kiến thức ngày càng tăng, sự linh hoạt thực hiện ở mọi lúc, mọi nơi, thậm chí đáp ứng tính cá nhân hóa người học rất cao, địi hỏi hoạt động quản lý dạy học online phải đáp ứng được mục tiêu dạy học, chất lượng dạy học,.. Để đáp ứng được những điều đó, website dạy học cần được xây dựng 1 hệ thống vận hành ổn định và đáp ứng đươc những nhu cầu của người dùng có cơ hội được học tập và chia sẻ kiên thức được thuận lợi hơn.

❖ Hoạt động của hệ thống được xây dựng đảm bảo các yêu cầu sau:

<b>Đối tượng là học viên: </b>

- Học viên có thể tìm kiếm thơng tin về các khóa học, có thể tham gia xem các bài giảng và trao đổi thảo luận với những học viên lẫn giảng viên trên hệ thống.

- Sau khi tham gia học các khóa học, học viên có thể theo dõi các video bài học mới nhất của giảng viên, có thể đánh giá và gửi nhưng câu hỏi hay thắc mắc còn gặp phải tới giảng viên hay người quản lý.

<b>Đối với giảng viên: </b>

- Giảng viên có thể tạo mới thơng tin về khóa học mới của mình, có thể cập nhập chỉnh sửa những video bài học.

- Giảng viên có trách nhiệm quản lý những video bài học của mình, tiếp nhận những phản hồi thắc mắc từ phía học viên.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>Đối với người quản lý: </b>

- Người quản lý có thể quản lý danh sách các khóa học. - Quản lý các thơng tin của độc giả, giảng viên.

- Quản lý và gửi phản hồi ý kiến từ phía người dùng.

- Người quản lý có trách nhiệm quản lý phê duyệt những khóa học mới từ giảng viên, hay yêu cầu đăng ký giảng viên từ người dùng.

- Thống kê chỉ tiêu số lượng người xem hàng ngày hay hàng tháng đối với từng khóa học.

<b>Đối với người quản trị: </b>

- Quản trị chức năng của hệ thống.

<small>- Cung cấp các tài khoản cho người quản lý và giảng viên. </small>

<b>3.1.2. Giới thiệu đơn vị khảo sát </b>

<b> Đơn vị khảo sát: Sinh viên học tại trường đại học FPT </b>

<b>Địa chỉ: Khu GD&ĐT, Khu CNC, KM29, ĐCT08, Hòa Lạc, Thạch Thất, Hà Nội </b>

<b>3.1.2.1. Danh mục các khóa học cơng nghệ thơng tin của website </b>

Các khóa học như: Lập trình C#, lập trình C++, lập trình Android, lập trình Java, lập trình PHP, phân tích thiết kế, lập trình front-end…

<b>3.1.2.2. Các nghiệp vụ chính của của website </b>

<b>Chức năng 1: Quản lý thông tin khóa học bao gồm: </b>

❖ Thêm mới thơng tin khóa học khi có khóa học mới, thay đổi sửa chữa thơng tin khóa học nếu giảng viên có yêu cầu chỉnh sửa thông tin.

❖ Thông tin khóa học bao gồm: Tên, hình ảnh, nội dung khóa học, thông tin giảng viên, danh sách bài học, số lượng đánh giá và lượt xem,….

<b>Chức năng 2: Quản lý thông tin bài học: </b>

❖ Thêm mới cập nhập bài học cho khóa học khi bài học được giảng viên thêm mới.

❖ Thông tin bài học được người quản lý chịu trách nhiệm quản lý và phê duyệt. ❖ Thông tin bài học bao gồm: Tên, hình ảnh, nội dung video bài học, thông tin

giảng viên, thảo luận, tài liệu, số lượng đánh giá và lượt xem,….

<b>Chức năng 3: Quản lý thông tin học viên: </b>

❖ Quản lý tài khoản và thông tin của học viên ❖ Chỉnh sửa và xóa tài khoản học viên

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

❖ Quản lý phê duyệt khi học viên có yêu cầu đăng ký làm giảng viên

<b>Chức năng 4: Quản lý thông tin giảng viên: </b>

❖ Quản lý tài khoản và thông tin của giảng viên ❖ Chỉnh sửa và xóa tài khoản giảng viên

❖ Quản lý danh sách các khóa học/ bài học của giản viên

❖ Quản lý phê duyệt khi có khóa hoc/ bài học được thêm mới từ giảng viên

<b>Chức năng 5: Đăng nhập website: </b>

❖ Kiểm tra thông tin tài khoản người dùng.

❖ Phân quyền đăng nhập đối với từng đối tượng người dùng.

<b>Chức năng 6: Quản lý thảo luận: </b>

❖ Quản lý danh sách các bình luận từ người dùng.

❖ Xóa hoặc chỉnh sửa thơng tin bình luận khi bình luận của người dùng khơng hợp lệ.

<b>Chức năng 7: Báo cáo thống kê: </b>

❖ Báo cáo thống kê số lượng khóa học đánh giá tốt nhất/ không tốt. ❖ Báo cáo số lượng lượt xem và tương tác từng khóa học.

<b>3.1.2.3. Đánh giá chung về sự khác biệt dạy học online và dạy học truyền thống </b>

Phạm vi, quy mô, thời gian

Giảng viên và học viên giao tiếp giới hạn trong lớp học. Giới hạn về số lượng học viên tham gia và thời gian lớp học cố định.

Có thể học ở mọi nơi trên mọi thiết bị. Có thể giảng cho nhiều học viên ở nhiều địa điểm khác nhau. Có thể học mọi thời gian có thể, chủ động điều tiết về thời gian học.

Chi phí Phải chịu chi phí khu vực dạy học và di chuyển đến địa điểm học.

Khơng phải chịu chi phí di chuyển và khu vực dạy học nhưng phải chịu chi phí cho phương tiện học tập.

Việc chia sẻ tài liệu, nội

dung

Học viên nghỉ học sẽ không nắm được nội dung buổi học và khó kiểm sốt nội dung giảng dạy trên lớp

Người học chủ động nội dung học tập, có thể học nội dung mình muốn, học lại nhiều lần, nội dung

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

giảng dạy được kiểm sốt và cơng khai dễ dàng tìm kiếm.

Trao đổi, thảo luận (tương

tác)

Trao đổi, thảo luận trực tiếp giúp phản hồi giải quyết vấn đề ngay nhưng giới hạn người tham gia, giới hạn về thời gian, địa điểm. Học viên không tham dự sẽ không nắm được thông tin.

Trao đổi thảo luận trực tiếp trên internet. Không giới hạn số người tham gia. Không giới hạn về thời gian và địa điểm. Nội dung trao đổi thảo luận được quản lý, người không tham dự có thể theo dõi được mọi lúc.

<b>3.1.3. Khảo sát </b>

<b>3.1.3.1. Hình thức khảo sát </b>

❖ Phỏng vấn trực tiếp ❖ Quan sát hiện trường ❖ Nghiên cứu tài liệu

<b>3.1.3.2. Đối tượng khảo sát </b>

Người được phỏng vấn: Lương Hoàng Hà Ngày phỏng vấn: 15/01/2020

Nội dung phỏng vấn: Nội dung về học tập online trên mạng.

<b>Các câu hỏi dự kiến như sau: </b>

1 <b>Câu hỏi 1: Anh có bao giờ </b>

học online trên mạng khơng?

<b>Trả lời: Có </b>

2 <b>Câu hỏi 2: Thời gian dạy </b>

học của một bài học online trong bao lâu là phù hợp đối với anh?

<b>Trả lời: 20-30 Phút </b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

3 <b>Câu hỏi 3: Trung bình một </b>

ngày anh dành bao nhiêu

<b>Trả lời: 1 tiếng </b>

thời gian để học online?

4 <b>Câu hỏi 4: Những nội </b>

dung về khóa học online có đáp ứng phù hợp với nhu cầu học tập của anh không ạ?

<b>Trả lời: Thường là có. Tùy </b>

theo cái bản thân muốn tìm hiểu

5 <b>Câu hỏi 5: Anh có thường </b>

xuyên trao đổi về học tập

Nội dung phỏng vấn: Nội dung về học tập online trên mạng.

<b>Các câu hỏi dự kiến như sau: </b>

1 <b>Câu hỏi 1: Có những bất cập </b>

nào gây khó khăn trong việc học online của anh khơng ạ?

<b>Trả lời: Khó để trao đổi trực tiếp </b>

với giáo viên

2 <b>Câu hỏi 2: Xin anh cho biết </b>

những chương trình dạy học online về cơng nghệ thơng tin có đáp ứng được với công việc của anh không ạ?

<b>Trả lời: Có </b>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>STT Câu hỏi Câu trả lời của sinh viên Ghi chú </b>

3 <b>Câu hỏi 3: Anh có đề xuất </b>

thay đổi hay cải tiến các về tính năng của website dạy học online hiện nay không?

<b>Trả lời: Live stream … để có thể </b>

hỏi giáo viên trực tiếp

<b>Câu hỏi 4: Anh học online </b>

nhiều nhất là trên thiết bị nào?

<b>Trả lời: PC - Mobile </b>

5 <b>Câu hỏi 5: Anh có hay bỏ học </b>

giữa chừng khi khóa học khơng đáp ứng đầy đủ về kiến thức lẫn chất lượng dạy học?

<b>Trả lời: Có - Ko đáp ứng nhu cầu </b>

<b>3.1.4. Mô tả bài tốn </b>

Hoạt động của website dạy học online các mơn CNTT được thực hiện như sau:

<b>Giảng viên và học viên trước tiên đều phải sử dụng thiết bị CNTT, mạng internet để đăng nhập vào website dạy học online. Người dùng phải sử dụng tài khoản Email để đăng nhập vào hệ thống. Các thơng tin chính của người dùng bao gồm: họ tên, ngày sinh, số điện thoại, tài khoản email,.. Đối với học viên, có thể xem danh sách các khóa học mà giảng viên cung cấp đăng tải trên website. Một khóa học sẽ hiện thị những thơng tin nhất định như: tên </b>

khóa học, nội dung khóa học, thơng tin giảng viên, danh sách bài học, đánh giá từ những học

<b>viên khác. Học viên có thể tham gia học tập linh hoạt, chủ động thời gian khác nhau. Với mỗi bài học của khóa học, thời gian không quá 1 tiếng. Mỗi bài học sẽ hiển thị nội dung video giảng bài của giảng viên và hiển thị tài liệu đi kèm. Học viên và giảng viên có thể đánh giá chất lượng và nội dung của khóa học. Với mỗi đánh giá tích cực về khóa học, có thể giúp đánh giá về năng lực trình độ và chất lượng đào tạo của giảng viên đối với khóa học đó. Đối với mỗi thơng tin giảng viên hay khóa học, học viên có thể theo dõi nhằm hiện thơng báo mỗi khi có khóa học mới được thêm từ giảng viên đó. Học viên và giảng viên có thể tương tác thơng qua email hoắc trao đổi học tập qua mục thảo luận ở cuối mỗi video khóa học. Đối với mỗi bình luận của khóa học học viên có thể tương tác thích hoặc hủy thích bình luận. Người quản lý có trách nhiệp quản lý thông tin người dùng, quản lý danh sách khóa học và </b>

tương tác thảo luận của học viên và giảng viên. Khi có yêu cầu học viên đăng ký giảng viên,

<b>người quản lý có nhiệm vụ kiểm tra thông tin và phê duyệt yêu cầu. Đối với mỗi khóa học </b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>được tạo mới từ giảng viên, người quản lý đóng vai trò kiểm duyệt nhằm đảm bảo chất lượng </b>

bài học cho học viên.

<b>Hàng tuần hay hàng tháng người quản lý tạo các báo cáo thống kê số lượng khóa học </b>

trong tháng và báo cáo về số lượng khóa học được đánh giá tốt hay khơng tốt. Ngồi ra người

<b>quản lý có thể quản lý sửa thơng tin về khóa học khi cần thiết. Người quản trị hệ thống có </b>

trách nhiệm theo dõi và cập nhập hệ thống mỗi khi có sự thay đổi.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<i>- Quản lý danh mục khóa học - Quản lý thảo luận </i>

<i>- Quản lý giảng viên </i>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>3.2. Phân tích, xác định các tác nhân của hệ thống</b>.

<b>3.2.1. Biểu đồ use-case </b>

<i><b>3.2.1.1. Usecase tổng quát </b></i>

<i>Hình 3.1. Usecase tổng quát. </i>

<i>Hình 3.2. Biểu đồ chi tiết usecase đăng nhập. </i>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<i><b>3.2.1.3. Biểu đồ chi tiết Usecase “Đăng ký giảng viên” </b></i>

<i>Hình 3.3. Biểu đồ chi tiết usecase đăng ký giảng viên. </i>

<i><b>3.2.1.4. Biểu đồ chi tiết Usecase “Đánh giá khóa học” </b></i>

<i>Hình 3.4. Biểu đồ chi tiết usecase đánh giá khóa học. </i>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<i><b>3.2.1.5. Biểu đồ chi tiết Usecase “Hỏi đáp/ thắc mắc” </b></i>

<i>Hình 3.5. Biểu đồ chi tiết usecase quản lý khóa học. </i>

<i><b>3.2.1.6. Biểu đồ chi tiết Usecase “Quản lý bài học” </b></i>

<i>Hình 3.6. Biểu đồ chi tiết usecase quản lý bài học. </i>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<i><b>3.2.1.7. Biểu đồ chi tiết Usecase “Quản lý danh mục” </b></i>

<i>Hình 3.7. Biểu đồ chi tiết usecase quản lý danh mục khóa học. </i>

<i><b>3.2.1.8. Biểu đồ chi tiết Usecase “Quản lý giảng viên” </b></i>

<i>Hình 3.8. Biểu đồ chi tiết usecase quản lý giảng viên. </i>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<i><b>3.2.1.9. Biểu đồ chi tiết Usecase “Quản lý học viên” </b></i>

<i>Hình 3.9. Biểu đồ chi tiết usecase quản lý học viên. </i>

<i><b>3.2.1.10. Biểu đồ chi tiết Usecase “Quản lý khóa học” </b></i>

<i>Hình 3.10. Biểu đồ chi tiết usecase quản lý khóa học. </i>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<i><b>3.2.1.11. Biểu đồ chi tiết Usecase “Quản lý thảo luận” </b></i>

<i>Hình 3.11. Biểu đồ chi tiết usecase quản lý thảo luận. </i>

<i><b>3.2.1.12. Biểu đồ chi tiết Usecase “Quản lý ý kiến người dùng” </b></i>

<i>Hình 3.12. Biểu đồ chi tiết usecase quản lý ý kiến người dùng. </i>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<i><b>3.2.1.13. Biểu đồ chi tiết Usecase “Thảo luận khóa học” </b></i>

<i>Hình 3.13. Biểu đồ chi tiết usecase quản lý thảo luận khóa học. </i>

<i><b>3.2.1.14. Biểu đồ chi tiết Usecase “Thống kê” </b></i>

<i>Hình 3.14. Biểu đồ chi tiết usecase thống kê. </i>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<i><b>3.2.1.15. Biểu đồ chi tiết Usecase “Xem nội dung khóa học” </b></i>

<i>Hình 3.15. Biểu đồ chi tiết usecase xem nội dung khóa học. </i>

Mục đích Cho phép người dùng truy cập vào hệ thống Website.

Điều kiện tiên quyết

Người dùng sử dụng tài khoản google để đăng nhập vào website.

Mô tả chung Học viên, Giảng viên hoặc Quản trị hệ thống muốn thực hiện công việc hay chức năng của mình thì phải đăng nhập vào hệ thống.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Tất cả các trường trong màn hình bao gồm Đăng nhập bằng Google, Email, password đều là trường bắt buộc. Nếu bỏ trống, hệ thống có thơng báo ‘khơng được để trống’. Luồng sự kiện 1. Tại trang chủ chọn chức năng đăng nhập

2. Hiển thị form đăng nhập

3. Lựa chọn chức năng đăng nhập bằng Google 4. Nhập thông tin đăng nhập (email, password) 5. Gửi thông tin đăng nhập tới hệ thống

6. Kiểm tra thơng tin đăng nhập, nếu đúng thì cho phép truy cập hệ thống, sai thì thơng báo lỗi và yêu cầu nhập lại.

Ngoại lệ 1. Hệ thống thông báo thông tin nhập chưa đầy đủ 2. Hệ thống thông báo thông tin nhập bị sai. 3. Hệ thống thông báo đăng nhập thất bại. Các yêu cầu

đặc biệt

Nếu người dùng đã đăng nhập thành công những lần vào hệ thống tiếp theo, người dùng không phải đăng nhập lại mà tự động lưu cookie.

Ngược lại, người dùng chưa đăng nhập hoặc đăng xuất thì: Những lần đăng nhập tiếp theo phải đăng nhập lại.

<i><b>3.2.2.2. Usecase Đánh giá khóa học </b></i>

<i>Bảng 3.2. Đặc tả usecase Đánh giá khóa học. </i>

Tên Usecase Danh gia khoa hoc

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

thang điểm 5 ứng với mỗi khóa học hay bài học của giảng viên phụ trách dạy khóa học đó.

Luồng sự kiện 1. Tại trang thơng tin khóa học và bài học lựa chọn đánh giá khóa học

2. Gửi thông tin đánh giá tới hệ thống

3. Kiểm tra thơng tin đăng nhập, nếu đúng thì cho phép lưu thơng tin đánh giá, sai thì thơng báo lỗi và yêu cầu đăng nhập.

Ngoại lệ 1. Hệ thống thông báo tài khỏa chưa đăng nhập. 2. Hệ thống thơng báo đánh giá khóa học thất bại. 3. Hệ thống thông báo đánh giá bài học thất bại.

<i><b>3.2.2.3. Usecase Hỏi đáp/ thắc mắc </b></i>

<i>Bảng 3.3. Đặc tả usecase Hỏi đáp/ thắc mắc. </i>

Tên Usecase Hoi dap/ thac mac

Mục đích Học viên hoặc Giảng viên có hỏi đáp thắc mắc cần gửi thông tin liên hệ tới Người quản trị hệ thống.

1. Tại trang chủ chọn chức năng hỏi đáp 2. Hiển thị form hỏi đáp

3. Nhập nội dung cần hỏi đáp

4. Gửi thông tin hỏi đáp tới hệ thống

5. Kiểm tra thông tin đăng nhập nếu đúng thì cho phép gửi

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

thông tin hỏi đáp tới Người quản trị, sai thì thơng báo lỗi và u cầu đăng nhập

6. Người quản trị tiếp nhập thông tin hỏi đáp 7. Người quản trị phản hồi lại thông tin hỏi đáp. Ngoại lệ 1. Hệ thống thông báo người dùng cần đăng nhập.

2. Hệ thông thông báo gửi thông tin hỏi đáp thất bại.

<i><b>3.2.2.4. Usecase Thảo luận khóa học </b></i>

<i>Bảng 3.4. Đặc tả usecase Thảo luận khóa học. </i>

Tên Usecase Thao luan khoa hoc

Mục đích Học viên hoặc Giảng viên có thể trao đổi thảo luận với nhau sau mỗi bài học.

Điều kiện tiên quyết

Người dùng sử dụng tài khoản google để đăng nhập vào website và đã đăng ký khóa học tương ứng muốn thảo luận. Mô tả chung Khi kết thúc bài học của khóa học, học viên và giảng viên

có thể trao đổi thảo luận với nhau phục vụ mục đích học tập. Luồng sự

kiện

1. Tại trang nội dung bài học chọn chức năng bình luận 2. Hiển thị thơng tin bình luận của người dùng

3. Nhập nội dung cần bình luận

4. Gửi thơng tin bình luận tới hệ thống

5. Kiểm tra thơng tin đăng nhập nếu đúng thì cho phép lưu thơng tin bình luận tới hệ thống, sai thì thơng báo lỗi và u cầu đăng nhập

6. Hệ thống hiện thị thơng tin bình luận lên màn hình bình luận bài học

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

7. Giảng viên và Học viên trong nhóm tiếp nhận và phản hồi thơng tin bình luận.

Ngoại lệ 1. Hệ thống thơng báo người dùng cần đăng nhập. 2. Hệ thông thông báo gửi thơng tin bình luận thất bại.

<i><b>3.2.2.5. Usecase Xem nội dung khóa học </b></i>

<i>Bảng 3.5. Đặc tả usecase Xem nội dung khóa học. </i>

Tên Usecase Xem noi dung khoa hoc

Mục đích Học viên hoặc Giảng viên có thể xem nội dung tài liệu cũng như bài học của khóa học tương ứng sau khi đăng ký khóa học.

Điều kiện tiên quyết

Người dùng sử dụng tài khoản google để đăng nhập vào website và đã đăng ký khóa học.

Mơ tả chung Khi học viên đăng ký khóa học thành công hệ thống sẽ cho phép học viên có thể tham gia khóa học cũng như xem nội dung tài liệu của khóa học đó.

Luồng sự kiện

1. Tại trang thơng tin khóa học chọn chức năng học ngay 2. Kiểm tra thông tin nếu đúng thì cho phép xem nội dung khóa học, sai thì thơng báo lỗi.

3. Hiển thị nội dung khóa học và bài học.

Ngoại lệ 1. Hệ thống thông báo người dùng cần đăng nhập. 2. Hệ thơng thơng báo nội dung khóa học không tồn tại.

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<i><b>3.2.2.6. Usecase Đăng ký giảng viên </b></i>

<i>Bảng 3.6. Đặc tả usecase Đăng ký giảng viên. </i>

Tên Usecase Dang ky giang vien

2. Chọn chức năng đăng ký giảng viên 3. Nhập nội dung đăng ký giảng viên

4. Gửi thông tin đăng ký giảng viên tới hệ thống

5. Kiểm tra thơng tin giảng viên nếu đúng thì cho phép gửi thơng tin, sai thì thơng báo lỗi về người dùng

6. Người quản lý kiểm tra thông tin và phê duyện đăng ký giảng viên từ người dùng

7. Gửi thông báo tới người dùng

8. Hiển thị thông báo đăng ký giảng viên thành công tới

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<i><b>3.2.2.7. Usecase Quản lý danh mục khóa học </b></i>

<i>Bảng 3.7. Đặc tả usecase Quản lý danh mục khóa học. </i>

Tên Usecase Quan ly danh muc khoa hoc

Người dùng sử dụng tài khoản google để đăng nhập vào hệ thống và trạng thái tài khoản là admin.

Mô tả chung Khi người quản lý có nhu cầu được quản lý hay chỉnh sửa các danh mục khóa học của hệ thống.

Luồng sự kiện

1. Tại trang quản lý người dùng nhập thông tin tài khoản đăng nhập

2. Gửi thông tin đăng nhập tới hệ thống

3. Kiểm tra thơng tin đăng nhập nếu đúng thì cho phép truy cập hệ thống, sai thì thơng báo lỗi về người dùng

4. Chọn quản lý danh mục

5. Hiển thị màn hình danh sách danh mục

6. Người dùng thao tác quản lý chỉnh sửa danh mục khóa học

Ngoại lệ 1. Hệ thống thông báo người dùng đăng nhập sai tài khoản. 2. Hệ thống thông báo chỉnh sửa thông tin thất bại.

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<i><b>3.2.2.8. Usecase Quản lý khóa học </b></i>

<i>Bảng 3.8. Đặc tả usecase Quản lý khóa học. </i>

Tên Usecase Quan ly khoa hoc

Mục đích Giảng viên có thể quản lý các khóa học của mình. Đối với Người quản lý hệ thống có thể quản lý tất cả các khóa học của Giảng viên.

Điều kiện tiên quyết

Người dùng sử dụng tài khoản google để đăng nhập vào hệ thống và trạng thái tài khoản là quản lý hoặc giảng viên. Mô tả chung Khi giảng viên có nhu cầu được quản lý hay chỉnh sửa các

khóa học của mình. Người quản lý có thể kiểm sốt được nội dung về khóa học của tất cả giảng viên.

Luồng sự kiện

1. Tại trang quản lý người dùng nhập thông tin tài khoản đăng nhập

2. Gửi thông tin đăng nhập tới hệ thống

3. Kiểm tra thông tin đăng nhập nếu đúng thì cho phép truy cập hệ thống, sai thì thơng báo lỗi về người dùng

7. Người dùng xem danh sách khóa học và chỉnh sửa khóa học tại menu danh sách khóa học

Ngoại lệ 1. Hệ thống thông báo người dùng đăng nhập sai tài khoản. 2. Hệ thống thông báo chỉnh sửa thông tin thất bại.

</div>

×