1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng xếp 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

53 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 đề Ứng dụng xếp 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
Tác giả Nguyễn Trung Kiên
Người hướng dẫn ThS. Nguyễn Tí Hon
Trường học Trường Đại học Cần Thơ
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn tốt nghiệp đại học
Năm xuất bản 2019
Thành phố Cần Thơ
Định dạng
Số trang 53
Dung lượng 1,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (12)
    • 1.1 ĐẶT VẤN ĐỀ (12)
      • 1.1.1 Hiện trạng (12)
      • 1.1.2 Mục tiêu (12)
    • 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ (13)
    • 1.3 PHẠM VI CỦA ĐỀ TÀI (14)
      • 1.3.1 Về cơ sở lý thuyết (14)
      • 1.3.2 Về chức năng (15)
      • 1.3.3 Về kỹ thuật (15)
    • 1.4 PHƯƠNG PHÁP NGHIÊN CỨU (16)
      • 1.4.1 Thu thập dữ liệu (16)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (19)
    • 2.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN (19)
    • 2.2 Lập trình hướng đối tượng (20)
      • 2.2.1 Khái niệm cơ bản (20)
      • 2.2.2 Các đặc trưng của lập trình hướng đối tượng (21)
      • 2.2.3 Các khái niệm khác trong lập trình hướng đối tượng (21)
      • 2.2.4 Các tính chất của Lập trình hướng đối tượng (22)
    • 2.3 NODEJS (24)
    • 2.4 Mô hình MVC (26)
    • 2.5 Mongo DB (29)
  • CHƯƠNG 3: NỘI DUNG NGHIÊN CỨU (30)
    • 3.1 MÔ TẢ BÀI TOÁN (30)
      • 3.1.1 Mô tả quy trình bài toán (31)
      • 3.1.2 Sơ đồ use case (32)
    • 3.2 CÀI ĐẶT HỆ THỐNG (34)
      • 3.2.1 Lưu đồ giải thuật đăng nhập (34)
      • 3.2.2 Lưu đồ giải thuật xử lý sắp xếp thời khóa biểu (35)
      • 3.2.3 Lưu đồ giải thuật xuất file thời khóa biểu đã xếp (37)
    • 3.3 THIẾT KẾ HỆ THỐNG (38)
      • 3.3.1 Các mô hình thiết kế (38)
      • 3.3.2 CƠ SỞ DỮ LIỆU (40)
      • 3.3.3 MÔ TẢ CÁC THỰC THỂ (41)
    • 3.4 KIỂM THỬ (45)
  • CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM (46)
    • 4.1 Biểu mẫu thu thập tiết dạy (46)
    • 4.2 WebSite (47)
      • 4.2.1 Giao diện đăng nhập (47)
      • 4.2.2 Giao Diện Chính (47)
      • 4.2.3 Giao Diện Kết quả (48)
  • PHỤ LỤC (52)
  • TÀI LIỆU THAM KHẢO (53)

Nội dung

Hệ thống này đã giải quyết được những vấn đề khó khăn đó như: chogiảng viên đăng ký trước giờ rảnh của mình, hệ thống sẽ tự động lấy các lớp học phần để xếp vào các tiết mà giảng viên đã

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN CÔNG NGHỆ THÔNG TIN

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

Đề tài Ứng dụng xếp 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

Họ và tên: Nguyễn Trung Kiên ThS Nguyễn Tí Hon MSSV: B1412464

Khoá: K40

Cần Thơ, 05/2019

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN CÔNG NGHỆ THÔNG TIN

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

Đề tài

Ứng dụng xếp 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

Sinh viên thực hiện Cán bộ hướng dẫn

Họ và tên: Nguyễn Trung Kiên ThS Nguyễn Tí Hon MSSV: B1412464

Khoá: K40

Cán bộ phản biện ThS Nguyễn Ngọc Mỹ ThS Sử Kim Anh Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ Công Ngh

ệ Thông Tin,

Khoa CNTT & TT, Trường Đại học Cần Thơ

vào ngày 20 tháng 05 năm 2019

Mã số đề tài:

Có thể tìm hiểu luận văn tại:

-Trung tâm Học liệu, Trường Đại học Cần Thơ

Website: http://www.lrc.ctu.edu.vn/

Trang 3

LỜI CẢM ƠN

Đầu tiên, em xin trân trọng cảm ơn Bộ môn Công Nghệ Thông Tin, KhoaCông Nghệ Thông Tin và Truyền Thông trường Đại học Cần Thơ đã tạo điều kiện tốtnhất để em có thể hoàn thành tốt đề tài này

Dưới sự phân công và hướng dẫn của ThS Nguyễn Tí Hon em đã 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” Để đề tài có thể hoàn thành một cách thuận lợi và tốt đẹp nhất,

em xin chân thành cảm ơn thầy Nguyễn Tí Hon với lòng biết ơn sâu sắc nhất vì đã tậntình chỉ dẫn cũng như định hướng và tạo mọi điều kiện tốt nhất cho em và cùng emđồng hành trong quá trình thực hiện đề tài luận văn này

Em cũng xin bày tỏ lòng biết ơn tất cả các thầy cô đã giảng dạy và truyền đạtkiến thức quý báu cho em trong suốt thời gian em học tập ở trường, đây là nên tảngquý giá để em có thể thực hiện tốt luận văn

Bên cạnh đó, em xin gửi lời cảm ơn đến những người thân trong gia đình, bạn

bè đã giúp đỡ, động viên em trong suốt quá trình thực hiện luận văn

Trong quá trình thực hiện luận văn, em đã có thể tích luỹ thêm được nhiềukiến thức mới đây là điều vô cùng quý báu cho bản thân em, song song đó em đã kếthợp với nền tảng có sẳn để cố gắng thực hiện đề tài một cách hoàn chỉnh nhất nhưng

do những hạn chế về kiến thức và cũng như kinh nghiệm trong lập trình nên nhữngthiếu sót là không thể tránh khỏi

Em rất mong nhận được sự góp ý của quý Thầy, Cô cùng các bạn để đề tàiđược hoàn chỉnh hơn, đồng thời tạo tiền đề tốt hơn cho những nghiên cứu về sau

Cuối lời em xin gửi lời chúc quý Thầy Cô luôn dồi dào sức khoẻ, hạnh phúc

và luôn đạt được nhiều thành công trong công tác cũng như trong cuộc sống của mình.Xin chân thành cảm ơn!

Cần Thơ, ngày 20 tháng 05 năm 2019

Sinh viên thực hiện

Nguyễn Trung Kiên

Trang 4

MỤC LỤC

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC HÌNH ẢNH iv

DANH MỤC BIỂU BẢNG v

DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT vi

TÓM TẮT vii

ABSTRACT viii

CHƯƠNG 1: TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.1.1 Hiện trạng 1

1.1.2 Mục tiêu 1

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 2

1.3 PHẠM VI CỦA ĐỀ TÀI 3

1.3.1 Về cơ sở lý thuyết 3

1.3.2 Về chức năng 4

1.3.3 Về kỹ thuật 4

1.4 PHƯƠNG PHÁP NGHIÊN CỨU 5

1.4.1 Thu thập dữ liệu 5

1.4.2 Phân tích hệ thống 5

Trang 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7

2.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN 7

2.2 Lập trình hướng đối tượng 8

2.2.1 Khái niệm cơ bản 8

2.2.2 Các đặc trưng của lập trình hướng đối tượng 9

2.2.3 Các khái niệm khác trong lập trình hướng đối tượng 9

2.2.4 Các tính chất của Lập trình hướng đối tượng 10

2.3 NODEJS 12

2.4 Mô hình MVC 13

2.5 Mongo DB 16

CHƯƠNG 3: NỘI DUNG NGHIÊN CỨU 17

3.1 MÔ TẢ BÀI TOÁN 17

3.1.1 Mô tả quy trình bài toán 18

3.1.2 Sơ đồ use case 19

3.2 CÀI ĐẶT HỆ THỐNG 20

3.2.1 Lưu đồ giải thuật đăng nhập 20

3.2.2 Lưu đồ giải thuật xử lý sắp xếp thời khóa biểu 21

3.2.3 Lưu đồ giải thuật xuất file thời khóa biểu đã xếp 23

3.3 THIẾT KẾ HỆ THỐNG 24

3.3.1 Các mô hình thiết kế 24

3.3.2 CƠ SỞ DỮ LIỆU 26

3.3.3 MÔ TẢ CÁC THỰC THỂ 27

3.4 KIỂM THỬ 29

Trang 6

CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 30

4.1 Biểu mẫu thu thập tiết dạy 30

4.2 WebSite 31

4.2.1 Giao diện đăng nhập 31

4.2.2 Giao Diện Chính 31

4.2.3 Giao Diện Kết quả 32

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 33

1 KẾT QUẢ ĐẠT ĐƯỢC 33

2 KẾT QUẢ ĐẠT ĐƯỢC 33

3 HƯỚNG PHÁT TRIỂN 34

PHỤ LỤC 35

TÀI LIỆU THAM KHẢO 36

Trang 7

DANH MỤC HÌNH ẢNH

HÌNH 2.2 MÔ HÌNH MVC 14

HÌNH 3.1 QUY TRÌNH TỔNG QUÁT CỦA HỆ THỐNG 18

HÌNH 3.2 SƠ ĐỒ USE CASE CÁC CHỨC NĂNG CỦA WEBSITE 19

HÌNH 3.3 LƯU ĐỒ GIẢI THUẬT ĐĂNG NHẬP 20

HÌNH 3.4 LƯU ĐỒ XỬ LÝ VÀ SẮP XẾP DỮ LIỆU 21

HÌNH 3.5 LƯU ĐỒ GIẢI THUẬT XUẤT FILE THỜI KHÓA BIỂU 23

HÌNH 3.6 MÔ HÌNH CDM CỦA HỆ THỐNG 24

HÌNH 3.7 MÔ HÌNH LDM CỦA HỆ THỐNG 24

HÌNH 3.8 MÔ HÌNH PDM CỦA HỆ THỐNG 25

HÌNH 3.9 MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 26

HÌNH 4.1 BIỄU MẪU THU THẬP GIỜ RẢNH CHO GIẢNG VIÊN ĐĂNG KÝ 30

HÌNH 4.2 GIAO DIỆN ĐĂNG NHẬP 31

HÌNH 4.3 GIAO DIỆN CHÍNH 31

HÌNH 4.4 GIAO DIỆN KẾT QUẢ 32

HÌNH 4.5 GIAO DIỆN LỌC DỮ LIỆU KẾT QUẢ THEO MÃ CÁN BỘ 32

Trang 8

DANH MỤC BIỂU BẢNG

Bảng 1.1 Các công cụ và công nghệ được sử dụng 6

Bảng 3.1 Lớp Học Phần 27

Bảng 3.2 Cán bộ giảng viên 27

Bảng 3.3 Danh Sách Học Phần 27

Bảng 3.4 Nhóm học 28

Bảng 3.5 Phòng học 28

Bảng 3.7 User 28

Bảng 3.8 Kiểm thử chức năng Website 29

Trang 9

DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT

HTML5 HyperText Markup Language version 5

Trang 10

TÓM TẮT

Khoa Phát Triển Nông Thôn ngày càng phát triển và mở rộng về ngành học nên

số lượng sinh viên và số lượng các tiết học ngày càng tăng, nó đã trở thành sự khókhăn trong việc sắp xếp thời khóa biểu cho các lớp học phần Ở mỗi đầu học kỳ, cán

bộ phụ trách phải vất vả về thời gian và công sức để sắp xếp được một thời khóa biểuhoàn chỉnh Việc xây dựng một hệ thống hỗ trợ việc sắp lịch là cần thiết để tạo nên sựtiện lợi, nhanh chóng và giảm tải được một phần công việc cho các cán bộ phụ tráchmảng công việc này

Đề 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átTriển Nông Thôn” nhằm tạo ra một hệ thống để phục vụ cho các cán bộ phụ trách lẫncác giảng viên Hệ thống này đã giải quyết được những vấn đề khó khăn đó như: chogiảng viên đăng ký trước giờ rảnh của mình, hệ thống sẽ tự động lấy các lớp học phần

để xếp vào các tiết mà giảng viên đã đăng ký, tận dụng được thời gian của tất cả cácphòng học, xuất ra được file xls của thời khóa biểu hoàn chỉnh Nhằm nâng cao tínhtiện lợi và nhanh chóng nên hệ thống sẽ được xây dựng dưới dạng nền tảng mô hìnhMVC và một ứng dụng web được viết bằng HTML, Javascript sử dụng kèm theo cácthư viện và framework nổi bật hiện nay, cùng với đó là hệ thống thu thập biểu mẫu củaGoogle và sử dụng Microsoft® Office Excel cho việc lưu trữ thông tin trước và saukhi thu thập

Về Website sẽ được viết bằng NodeJS để đảm bảo tính mạnh mẽ, nhanh chóng,

ổn định, bên cạnh đó còn kết hợp với cơ sở dữ liệu MongoDB để việc lưu trữ và xử lý

dữ liệu tốt hơn Đây như một bộ đôi tương thích với nhau cho một hệ thống lớn Hệthống này cũng sẽ đảm bảo các chức năng xử lý nhập xuất dữ liệu từ file Excel Bêncạnh đó, sử dụng biểu mẫu của Google để thu thập và lưu trữ các tiết dạy mà giảngviên đăng ký trong học kỳ tới

Từ khoá: Hệ thống, sắp xếp thời khóa biểu, ứng dụng web, Excel, Biễu mẫu Google

Trang 11

College of Rural Development is growing and expanding in the field of study sothe number of students and the number of classes are increasing, it has becomedifficult to arrange a schedule for the classes At the beginning of each semester, theofficer must work hard on time and effort to arrange a complete schedule Theconstruction of a scheduling support system is necessary to create convenience,quickness and partial load reduction for the staff in charge of this work

The topic "Scheduling application for lecturers at the College of RuralDevelopment" aims to create a system to serve the officials and lecturers This systemhas solved such difficult problems such as: for teachers to register before their freetime, the system will automatically take the classes to classify the items that theinstructor has registered and used get the time of all classrooms, export the completetimetable xls file In order to improve convenience and quickness, the system will bebuilt in the form of MVC model platform and a web application written in HTML,Javascript is used together with today's outstanding libraries and frameworks, alongwith it is Google's form collecting system and uses Microsoft® Office Excel forstoring information before and after collection

About Website will be written in NodeJS to ensure the robustness, fast, stable,besides combining with MongoDB database for better data storage and processing.This is like a compatible couple for a large system This system will also ensure theprocessing functions of importing and exporting data from Excel files In addition, usethe Google template to collect and store the lessons taught by teachers during the nextsemester

Keywords: System, schedule, Web Applications, Excel, GoogleForms

Trang 12

CHƯƠNG 1: TỔNG QUAN

1.1 ĐẶT VẤ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 chogiả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ốngnà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ộttrang 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

1.1.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ảngviê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ý

Trang 13

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 địnhtrong 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 ramộ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ớicô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ếpthờ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 khithự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 websitecho 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

1.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ượngsinh 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àngtă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êngiả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 xuhướ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ặpphải

Trang 14

1.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ảngviê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ámsá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ảngviê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óabiể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ạytrong 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

 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

Trang 15

1.3.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 choviệ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ậpthô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ộtWebsite để 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

1.3.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

Trang 16

 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,

1.4 PHƯƠNG PHÁP NGHIÊN CỨU

1.4.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

1.4.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

Trang 17

1.4.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

ST

1 Visual Studio Code Lập trình ngôn ngữ NodeJS,HTML, CSS, JavaScript,

JQuery, AJAX

3 Microsoft Excel 2013 Lưu trữ dữ liệu sau khi thu 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

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ử

Trang 18

 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

Trang 19

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ânphố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.Vai trò của hệ thống thông tin

 Thu thập thông tin: thực hiện phân tích, sàng lọc và ghi nhận những thông tincần thiết cho hệ thống quản lý

 Xử lý thông tin: Thực hiện tính toán, cập nhật, lưu trữ dữ liệu

 Truyền thông tin: Thực hiện truyền thông thông tin trong thông suốt, đảm bảo

về mặt thời gian, đảm bảo tính bảo mật hỗ trợ cho việc ra quyết định đúng đắn

Hệ thống thông tin quản lý là một tập hợp gồm nhiều phương tiện thông tin được

Các giai đoạn xây dựng HTTT:

 Giai đoạn 1: Phân tích hiện trạng - là giai đoạn nắm bắt các thông tin liên quanđến hiện trạng hệ thống thông tin hiện thời cần tin học hoá

 Giai đoạn 2: Nghiên cứu khả thi - là giai đoạn đề xuất các giải pháp khả thi

 Giai đoạn 3: Thiết kế - là giai đoạn xác định cách thực hiện các giải pháp được

Trang 20

 Giai đoạn 4: Phát triển – là giai đoạn chuyển các kết quả của giai đoạn thiết kếsang ứng dụng.

 Giai đoạn 5: Thử nghiệm – là giai đoạn kiểm tra tính đúng đắn của hệ thốngdưới góc độ người sử dụng

 Giai đoạn 6: Cài đặt – là giai đoạn bố trí các thành phần dữ liệu và xử lý của hệthống trên các thiết bị vật lý để thực thi

 Giai đoạn 7: Khai thác – là giai đoạn kể từ lúc sử dụng hệ thống mới thay thếcho hoạt động của hệ thống cũ

 Giai đoạn 8: Bảo trì: là giai đoạn tiếp tục phát hiện sự cố của hệ thống mớitrong quá trình sử dụng

Bên cạnh đó trong quy trình thiết kế HTTT cũng có sử dụng đến một thành phầnkhông thể thiếu đó là mô hình hoá dữ liệu

Mô hình hoá dữ liệu là cách thức biểu dữ các dữ liệu được sử dụng và tạo ra bởi

hệ thống Công việc bắt đầu là phân tích và thu thập các nhu cầu thông tin cần thiếtcho các hoạt động nghiệp vụ Cần phải đảm bảo rằng các nhu cầu thông tin sẽ được càiđặt một cách đầy đủ bên trong CSDL và phải làm cho người dùng hiểu được nội dungcủa thông tin ấy Mô hình hoá dữ liệu có thể dùng biểu diễn thông tin ở nhiều mứckhác nhau Ví dụ: mô hình dữ liệu mức quan niệm, mô hình dữ liệu mức luận lý, môhình dữ liệu mức vật lý,…

2.2 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

2.2.1 Khái niệm cơ bản

Lập trình hướng đối tượng (gọi tắt là OOP - object-oriented programming) là mộtngôn ngữ vận dụng Đó cũng là phương pháp lập trình dựa trên mô hình đối tượng đểchuyển một bài toán và những vấn đề vào ngôn ngữ lập trình máy tính

Chi tiết hơn về lập trình hướng đối tượng là:

 Đối tượng được xây dựng dựng dựa trên thuộc tính và hành vi (hoặc làphương thức)

 Có sự gắn kết chặt chẽ giữa các thuộc tính

 Bao gói được phần dữ liệu

 Chương trình được tạo bởi tập các đối tượng

Trang 21

2.2.2 Các đặc trưng của lập trình hướng đối tượng

Trong lập trình hướng đối tượng liên kết chặt chẽ giữa dữ liệu và thao tác (hàm)của một đối tượng Cho phép ta tập trung vào bản chất của vấn đề hơn là các chitiết bên trong vấn đề Các dữ liệu và hàm được “bao gói” trong một đối tượng Cóthể che dấu được những dữ liệu cần thiết, hoặc chỉ cho phép truy xuất thông quacác hàm

Tổng quát các đặc trưng của lập trình hướng đối tượng:

 Tất cả điều là đối tượng

 Mọi đối tượng bao gồm các thuộc tính và hành vi Các đối tượng này tương tácvới nhau thông qua cơ chế truyền thông điệp

 Mọi đối tượng đều có bộ nhớ riêng

 Mỗi đối tượng thuộc về một kiểu

 Các đối tượng sẽ tạo nên một chương trình

2.2.3 Các khái niệm khác trong lập trình hướng đối tượng

 Đối tượng (Object)

Là sự thể hiện hóa các giá trị cho các thuộc tính của một lớp Và lớp được dùng

để tạo ra các đối tượng

Mỗi đối tượng có hai thành phần:

 Thuộc tính (property, attribute): là đặc trưng mô tả về lớp hay đối tượng đó

 Hành vi (behavior, method): là các hoạt động của lớp hoặc các đặc trưng

Trang 22

 Thông điệp và truyền thông điệp

Thông điệp là các hành vi và phương thức

Truyền thông điệp là việc thực hiện lời gọi các phương thức của một đối tượng,khi một đối tượng nhận được một thông điệp nó sẽ kích hoạt phương thức/hàm tươngứng

⇒Việc thực hiện phương thức của một đối tượng chỉ ảnh hưởng đến dữ liệu củachính đối tượng đó chứ không ảnh hưởng đến các đối tượng khác trong cùng lớp

2.2.4 Các tính chất của Lập trình hướng đối tượng

 Sự trừu tượng hóa (Abstraction)

Là sự mô hình hóa của nhiều đối tượng Quá trình xây dựng các lớp, thuộc tính,phương thức từ một bài toán hay một vấn đề chính là quá trình trừu tượng hóa

 Tính bao gói (Encapsulation)

Xác định đường truy xuất đến các đặc trưng của một lớp hay đối tượng

Phạm vi truy cập (access modifier)

 Public (dùng chung): được gọi là thành phần chung, được truy cập bởi mọithành phần của một lớp khác

 Private (dùng riêng): những thành phần chỉ được truy cập bởi các thành phầntrong cùng một lớp đó

 Protected (thành phần bảo vệ): những thành phần chỉ được truy cập bởi cácthành phần trong cùng một lớp và các lớp con của nó

 Thừa kế sử dụng “sự tương tự” (similarities) và “sự khác nhau” (differences) để

mô hình một nhóm các đối tượng có liên quan với nhau

 Lớp được thừa kế: Lớp cha (superclass), lớp cơ sở (based class)

 Lớp thừa kế: lớp con (subclass), lớp dẫn xuất (derived class)

Trang 23

Trong thừa kế, lớp con “là” lớp cha lớp con có tất cả thuộc tính và phương⇒thức của lớp cha (“thừa kế” từ lớp cha!) Tuy nhiên, chỉ được truy xuất vào các thànhphần nào mà lớp cha cho phép

Một lớp con được tạo ra bằng cách:

 Thêm vào một số thuộc tính, phương thức mới

 Tái định nghĩa các phương thức của lớp cha

 Tính đa hình (Polymorphism)

Có thể tái định nghĩa (nạp chồng) là thêm bổ sung và nạp đè là thay thế

Một thành phần sẽ có những ý nghĩa khác nhau trong các ngữ cảnh hoặc môitrường khác nhau

Trang 24

2.3 NODEJS

 Nodejs là gì ?

Nodejs là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine.Nodejs sử dụng rộng bởi hàng ngàn lập trình viên trên toàn thế giới NodeJS có thểchạy trên nhiều nền tảng hệ điều hành khác nhau từ Windows cho tới Linux, MacOsnên đó cũng là một lợi thế NodeJS cung cấp các thư viện phong phú ở dạng JavascriptModule 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.Khi nói đến NodeJS thì phải nghĩ tới vấn đề Realtime Realtime ở đây chính là xử lýgiao tiếp từ client tới máy chủ theo thời gian thực

 Các tính năng vượt trội của Nodejs

Không đồng bộ: Tất cả các API của Nodejs đều không đồng bộ (none-blocking),

nó chủ yếu dựa trên nền của Nodejs Server và chờ đợi Server trả dữ liệu về Việc dichuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chế thông báo các sự kiện củaNode.js giúp máy chủ để có được một phản ứng từ các cuộc gọi API trước (Realtime).Chạy rất nhanh: Nodejs được xây dựng dựa vào nền tảng V8 Javascript Enginenên việc thực thi chương trình rất nhanh

Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình luồngduy nhất với sự kiện lặp cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứng mộtcách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như trái ngược vớicác máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu Node.js sử dụng mộtchương trình đơn luồng và các chương trình tương tự có thể cung cấp dịch vụ cho một

số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thống như Apache HTTPServer

Không đệm: Nodejs không đệm bất kỳ một dữ liệu nào và các ứng dụng này chủyếu là đầu ra dữ liệu

 Khi nào nên sử dụng Node.js?

 Xây dựng ứng dụng Restful API (JSON)

Trang 25

 Những ứng dụng đòi hỏi các giao thức kết nối khác nhau chứ không phải chỉ cóhttp.

Trang 26

Một ví dụ nhỏ cài đặt với Nodejs

Tạo file app.js với nội dung:

// khai báo sử dụng module HTTP

var http = require('http');

//Khởi tạo server chạy cổng 3000

http.createServer(function (request, response) {

//thiết lập giá trị server trả về

response.write('Hello - Nguyễn Trung Kiên');

Mô hình MVC (Model - View - Controller) là một kiến trúc phần mềm hay mô

hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp cho các developer tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác

Lịch sử ra đời MVC

Vào những năm 70 của thế kỷ XX, tại phòng thí nghiệm Xerox PARC ở PaloAlto Sự ra đời của giao diện đồ họa (Graphical User Interface – GUI) và lập trìnhhướng đối tượng (Object Oriented Programming – OOP) cho phép lập trình viên

làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương riêng của nó Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn

đi xa hơn nữa khi họ cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller)

Kiến trúc này ngày càng phát triển và hoàn thiện nhằm giải quyết các vấn đề

phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm

Các thành phần trong mô hình MVC

Trong kiến trúc này, hệ thống được chia thành 3 phần tương ứng đúng với tên gọi

Ngày đăng: 10/12/2022, 08:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trường Đại học Cần Thơ. Giáo trình Phân tích thiết kế hệ thống thông tin [2] CT176 – LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG. Slide bài giảng Lập TrìnhHướng Đối Tượng Sách, tạp chí
Tiêu đề: Giáo trình Phân tích thiết kế hệ thống thông tin
Tác giả: Trường Đại học Cần Thơ
[3] Bộ môn Mạng Máy Tính và Truyền Thông – Khoa Công Nghệ Thông Tin và Truyền Thông. Slide bài giảng An Toàn Hệ Tống Sách, tạp chí
Tiêu đề: Slide bài giảng An Toàn Hệ Thống
Tác giả: Bộ môn Mạng Máy Tính và Truyền Thông – Khoa Công Nghệ Thông Tin và Truyền Thông
[8] MongoDB Tutorial, https://docs.mongodb.com/manual/tutorial/getting-started/,2018 Sách, tạp chí
Tiêu đề: MongoDB Tutorial
Nhà XB: MongoDB Documentation
Năm: 2018
[4] GoalKicker.com. MongoDB® Notes for Professionals [5] GoalKicker.com. JavaScript™ Notes for Professionals [6] GoalKicker.com. Node.js Notes for ProfessionalsTrang web Khác
[9] BootStrap Tutorial, https://getbootstrap.com/docs/3.3/getting-started/, 2018 [10] JQuery:The Write Less,Do More, JavaScript Library, https://jquery.com/ ,2018 Khác
[13] Các khoá học lập trình NodeJS, MongoDB , https://khoapham.vn/, 2018 [14] Các bài học về NodeJS, MongoDB. https://o7planning.org/,https://duythanhcse.wordpress.com/ , 2018 [15] Diễn đàn Viblo. https://viblo.asia/, 2018 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w