CHƯƠNG 1. Lý do chọn đề tài 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. Mục tiêu của đề tài 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ế. Giới hạn và phạm vi của đề tài 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. Kết quả dự kiến đạt được 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.
Hoà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. KIẾN THỨC NỀN TẢNG 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. Cơ sở lý thuyết Để có thể thiết kế và xây dựng một hệ thống hoà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.
Phân tích và thiết kế hệ thống thông tin Đị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ì 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. Ư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à 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 đó. Cơ sở dữ liệu Đị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 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 quán và toà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.
Công cụ sử dụng Để 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. NodeJS NodeJS là một runtime (run-time system : phần mềm được thiết kế để chạy các chương 12 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. ReactJS 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 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.
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 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 quá trình biên dịch. Ngoài ra, nó cũng cung cấp tính năng gỡ lỗi khi biên dịch rất tốt. API 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 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. 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. 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. Redux 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 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 hoàn hảo với ReactJS và React Native.
Sự khác biệt giữa việc sử dụng và không sử dụng redux. Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose 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 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. 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 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. SQL Server SQL Server hay còn gọi là Microsoft SQL Server, viết tắt là MS SQL Server. Là một 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 trúc của bảng. Khi bảng được tổ chức thành một hệ thống cho một mục đích sử dụng cụ thể 15 vào công việc nào đó sẽ trở thành một cơ sở dữ liệu.
Stored Procedure 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ý logic và được lưu trữ trên Database Server.