CHƯƠNG 1: TỔNG QUAN 1.1 Hiện trạng Ngày nay với việc phát triển về ngành học, số lượng sinh viên lớn cùng với đó là các lớp học phần ngày càng được mở ra nhiều hơn để đáp ứng được nhu cầu giảng dạy và học tập. Nhưng số lượng phòng học thì có hạn, cũng như là giờ rảnh của các cán bộ giảng viên ngày ít nên việc sắp xếp được thời khóa biểu hoàn chỉnh cho một học kỳ ngày càng khó khăn. Xuất phát từ thực tế đó, việc xây dựng “Ứng dụng xếp lịch thời khóa biểu cho giảng viên giảng dạy tại Khoa Phát Triển Nông Thôn” là một điều cần thiết, hệ thống này sẽ đảm bảo được việc sắp xếp trở nên tiện lợi hơn, với mục đích là tạo ra một trang web tích hợp các chức năng giúp cho việc sắp xếp và quản lý các thông tin dùng để nhập xuất dữ liệu trở nên dễ dàng hơn, hi vọng có thể đem lại sự tiện lợi cho người sử dụng hệ thống.2 Mục tiêu Nghiên cứu và xây dựng hệ thống hỗ trợ xếp thời khóa biểu tự động cho giảng viên với việc ứng dụng công nghệ NodeJS dùng để viết một website với mô hình MVC có các chức năng được thiết kế như sau: Hệ thống tự động xử lý sau khi nhập dữ liệu: ● Tổng hợp và xử lý các thông tin ● Quét qua tất cả các mảng thông tin để cho ra kết quả tối ưu nhất Website dùng cho các bộ phụ trách công việc quản lý và sắp xếp thời khóa biểu ● Quản lý việc nhập dữ liệu cho hệ thống ● Quản lý xuất kết quả theo yêu cầu ● Quản lý thông tin phòng học Cùng với đó là ứng dụng Microsoft Office Excel cho việc quản lý dữ liệu đã được thu thập ● Quản lý thông tin các lớp học phần ● Quản lý các tiết dạy mà cán bộ giảng viên đã đăng ký Ngày nay việc tương tác giữa người dùng hay Server – Client luôn được chú trọng và nâng cao lên. Vì vậy áp dụng công nghệ mới vào việc xây dựng hệ thống hi vọng đem lại hiệu suất cao hơn trong việc vận hành cũng như những tiện lợi nhất định trong quá trình phát triển hệ thống.
Ngoài ra có thể thấy được hiện nay việc sử dụng công nghệ NodeJs để viết ra một website với mô hình MVC không còn xa lạ nữa, Nodejs có thể tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực. Ngoài ra, NodeJs cũng được áp dụng chó các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án khởi nghiệp nhanh nhất có thể. Ứng dụng các công nghệ đề xuất như trên vào việc xây dựng nhằm tạo ra một hệ thống thật sự hoàn chỉnh để có thể hỗ trợ người dùng như cán bộ phụ trách việc xếp thời khóa biểu và các giảng viên có thể cảm thấy sự thoải mái và tiện lợi tối đa khi thực hiện công tác quản lý và sắp xếp thời khóa biểu, hoặc là giảng viên có thể dễ dàng đăng ký thu thập các tiết dạy linh hoạt. Hệ thống được tạo là một hệ thống bao gồm một mô hình để xử lý, một website cho người dùng và ứng dụng thu thập biểu mẫu của Google và Office Excel.
Là một hệ thống phục vụ cho các công tác quản lý sắp xếp thời khóa biểu cho giảng viên.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Khi mà sự phát triển về các ngành học ngày càng tăng, cùng với đó là số lượng sinh viên lớn, các lớp học phần được đăng ký ở đầu mỗi học kỳ ngày càng nhiều thì khó khăn trong việc sắp xếp thời khóa biểu giảng dạy cho các giảng viên ngày càng tăng. Ở thời điểm hiện tại, để sắp xếp được một thời khóa biểu hoàn chỉnh thì cán bộ phụ trách mảng công việc này phải rất vất vả về thời gian và công sức. Vì thế việc thực hiện đề tài “Ứng dụng xếp lịch thời khóa biểu cho giảng viên giảng dạy tại Khoa Phát Triển Nông Thôn” nhằm tạo ra một ứng dụng bắt kịp xu hướng công nghệ hiện nay và đem đến sự tiện lợi cho người dùng. Cùng với đó hệ thống cũng đã giải quyết được một phần khó khăn mà các cán bộ quản lý giáo vụ gặp phải.3 PHẠM VI CỦA ĐỀ TÀI Hệ thống sắp xếp thời khóa biểu, lịch dạy cho giảng viên, nó còn giúp cho giảng viên đăng ký các thông tin về tiết dạy của mình ở học kì tới, cán bộ phụ trách sẽ giám sát, quản lý việc thu thập sau đó tiến hành xếp thời khóa biểu giảng dạy cho các giảng viên có trong các lớp học phần.
Sau khi xếp xong sẽ tổng hợp lại và cho ra thời khóa biểu bao gồm các thông tin lớp học phần, mã nhóm, mã cán bộ, các tiết dạy, ngày dạy trong tuần và phòng học. Đối tượng sử dụng: cán bộ phụ trách việc xếp thời khóa biểu, giảng viên Chức năng của hệ thống sẽ xử lý: ● Thông tin các lớp học phần: mã học phần, mã nhóm, mã cán bộ giảng dạy ● Thông tin các học phần: mã học phần, tên học phần, tín chỉ, số tiết dạy ● Thông tin các nhóm học thuộc học phần: tên nhóm học, ký hiệu ● Thông tin các cán bộ giảng dạy: mã cán bộ, tên cán bộ, phòng bộ môn, email,… ● Thông tin các tiết đăng ký của cán bộ giảng dạy ● Thông tin từng phòng học: tên phòng học, trạng thái phòng học Yêu cầu: ● Thu thập dữ liệu ● Phân tích hệ thống ● Chọn công nghệ và công cụ phát triển 1.1 Về cơ sở lý thuyết − Vận dụng lý thuyết phân tích hệ thống thông tin đã học để xây dựng các mô hình phục vụ cho đề tài. − Nắm vững phương pháp tổ chức, phân tích và thiết kế cơ sở dữ lịeu. − Có kiến thức cơ bản về lập trình hướng đối tượng với Java − Có kiến thức cơ bản về lập trình HTML, Javascript, NodeJS − Cách sử dụng Bootstrap 3, JQuery, AJAX, JSON.
− Nắm vững kiến thức cơ bản về mô hình MVC 1.2 Về chức năng Mục tiêu chính của đề tài là xây dựng hệ thống bao gồm một website dùng cho việc quản lý sắp xếp thời khóa biểu, một bảng biểu mẫu của Google dùng để thu thập thông tin tiết dạy, một file Excel dùng để lưu trữ và đưa dữ liệu đầu vào và một Website để xử lý thông tin gửi tới server, hệ thống sẽ có các chức năng tương ứng như sau: Đối với website có 1 quyền người cho dùng chính, với các chức năng như sau. Chức năng: ● Đăng nhập – Đăng xuất ● Import/Export file dữ liệu ● Tổng hợp và xử lý Quyền quản lý: ● Quản lý thông tin thông tin các lớp học phần: mã học phần, tên học phần, mã cán bộ giảng dạy, số tiết học trong một buổi,… ● Quản lý thông tin các cán bộ giảng dạy: mã cán bộ, tên cán bộ,… ● Quản lý thông tin các tiết đăng ký của cán bộ giảng dạy ● Xuất file thời khóa biểu hoàn chỉnh sau khi sắp xếp Hệ thống cần đạt được: ● Import file Excel và xử lý các chức năng của việc sắp xếp thời khóa biểu. ● Export file chứa các dữ liệu sau khi việc sắp xếp hoàn thành. ● Website ổn định, hoạt động tốt và nhanh chóng trong việc xử lý yêu cầu.3 Về kỹ thuật − Thiết kế và tạo giao diện đơn giản, thân thiện − Tốc độ xử lý thông tin nhanh − Đảm bảo tính chính xác dữ liệu − Đảm bảo an toàn, bảo mật − Chương trình dễ mở rộng, phát triển và bảo trì − Sử dụng cơ sở dữ liệu MongoDB để quản lý cơ sở dữ liệu − Sử dụng ngôn ngữ lập trình web: HTML5, CSS3, Bootstrap 3, Javascript, JQuery, AJAX − Sử dụng ngôn ngữ để lập trình cho hệ thống và Website: NodeJS − Website chạy tốt trên các trình duyệt thông dụng như Google Chrome, Firefox, Safari, Microsoft Edge,.4 PHƯƠNG PHÁP NGHIÊN CỨU 1.1 Thu thập dữ liệu − Tham khảo cách thức lưu trữ dữ liệu của MongoDB cũng như NoSQL − Rút kinh nghiệm từ những hạn chế, khó khăn trong việc sắp xếp thời khóa biểu từ đó xây dựng những dữ liệu cần thiết cho hệ thống.2 Phân tích hệ thống − Lập quy trình tiến hành xây dựng website và hệ thống xử lý − Phân tích hệ thống theo mô hình hướng đối tượng UML − Xây dựng mô hình và sơ đồ cho website − Nghiên cứu về cơ sở dữ liệu NoSQL − Nghiên cứu các tài liệu về việc quản lý thu thập dữ liệu từ Google Forms, áp dụng và nâng cao được sự linh hoạt cho hệ thống.3 Công cụ và ngôn ngữ lập trình Để thực hiện đề tài các công cụ và ngôn ngữ lập trình sau đây đã được sử dụng: Bảng 1.1 Các công cụ và công nghệ được sử dụng S Công cụ - ngôn ngữ lập trình Chức năng T T Lập trình ngôn ngữ NodeJS, 1 Visual Studio Code HTML, CSS, JavaScript, JQuery, AJAX 2 Google Forms Thu thập tiết dạy của giảng viên 3 Lưu trữ dữ liệu sau khi thu Microsoft Excel 2013 thập Xuất file dữ liệu theo yêu cầu 4 Creately – Diagram Maker Thiết kế lưu đồ, biểu bảng 5 Robomongo và MongoDB Compass Xây dựng cơ sở dữ liệu 6 Power Designer 15.2 Thiết kế các mô hình 1.5 BỐ CỤC QUYỂN LUẬN VĂN Bố cục quyển báo cáo luận văn này gồm 4 chương: − Chương 1: Tổng quan – trình bày lý do chọn đề tài, lịch sử giải quyết đề tài, phạm vi đề tài, các phương pháp nghiên cứu khoa học.
− Chương 2: Cơ Sở Lý Thuyết – trình bày các cơ sở lý thuyết được áp dụng trong đề tài như: lập trình hướng đối tượng, NodeJS, NoSQL MongoDB,… − Chương 3: Nội dung nghiên cứu – trình bày các mô hình dữ liệu cũng như các thiết kế cài đặt của hệ thống, lưu đồ giải thuật, các sơ đồ liên quan và kiểm thử. − Chương 4: Kết quản thực nghiệm – trình bày các chức năng cũng như giao diện đã làm được trong hệ thống và những vấn đề vẫn chưa được giải quyết trong hệ thống. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Hệ thống thông tin là một tập hợp và kết hợp của các phần cứng, phần mềm và các hệ mạng truyền thông được xây dựng và sử dụng để thu thập, tạo, tái tạo, phân phối và chia sẻ các dữ liệu, thông tin và tri thức nhằm phục vụ các mục tiêu đã định ra.