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

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

63 9 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, ThS. Nguyễn Ngọc Mỹ, ThS. Sử Kim Anh
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 63
Dung lượng 878,53 KB

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

Nội dung

Hệ thống này đã giải quyết được những vấn đề khó khăn đó như: cho giả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

dẫ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

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/

Cần Thơ, 05/2019

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, Khoa Cô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ốt nhấ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ận tì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 đạt kiế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ảng quý 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ều kiế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ết hợ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ững thiế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 5

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

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

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

Trang 6

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

Trang 7

DANH MỤC HÌNH ẢNH

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.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.5 GIAO DIỆN LỌC DỮ LIỆU KẾT QUẢ THEO MÃ CÁN BỘ 32

Trang 9

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

CSS Cascading Style Sheets HTML5 HyperText Markup Language

version 5 JSON JavaScript Object Notation MVC Model - View - Controller NoSQL No Structured Query Language

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ểu hoà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ách mả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át Triể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ẫn các giảng viên Hệ thống này đã giải quyết được những vấn đề khó khăn

đó như: cho giả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ác phò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ính tiệ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ình MVC và một ứng dụng web được viết bằng HTML, Javascript sử dụng kèm theo các thư 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ủa Google và sử dụng Microsoft® Office Excel cho việc lưu trữ thông tin trước và sau khi 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ên cạ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ảng viê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

so the number of students and the number of classes are increasing, it has become difficult to arrange a schedule for the classes At the beginning of each semester, the officer must work hard on time and effort to arrange a complete schedule The construction 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 Rural Development" aims to create a system to serve the officials and lecturers This system has solved such difficult problems such as: for teachers to register before their free time, the system will automatically take the classes to classify the items that the instructor has registered and used get the time of all classrooms, export the complete timetable xls file In order to improve convenience and quickness, the system will be built 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, along with it is Google's form collecting system and uses Microsoft® Office Excel for storing 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 the processing functions of importing and exporting data from Excel files In addition, use the Google template to collect and store the lessons taught

by teachers during the next semester.

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

Trang 12

CHƯƠNG 1: TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

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

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ả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ý

Trang 13

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

Trang 14

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.

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ượ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.

Trang 15

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ả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

− 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 16

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 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 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 17

− 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 18

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 S

2

Google Forms Thu thập tiết dạy của giảng

viên 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

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

Trang 19

− 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 20

− 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 21

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.

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 tin cầ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 và kịp thời

Có rất nhiều loại hệ thống thông tin nhưng ở đề tài này loại hệ thống thông tin được sử dụng là hệ thống thông tin quản lý.

Hệ thống thông tin quản lý (Management Information System) xử lý thông tin mang tính thống kê và dự báo, dành cho nhiều cấp quản lý Các hệ thống thông tin quản lý tiêu biểu là các hệ thống máy vi tính, được sử dụng để quản lý

ba đối tượng chính là: công nghệ, con người(cá nhân, nhóm), và dữ liệu.

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 sử dụng để đảm bảo các chức năng:

Thu thập thông tin đến từ bộ phận quyết định, bộ phận tác vụ, môi trường bên ngoài… nhờ bộ phận ghi nhớ và lưu trữ.

Xử lý phân tích thông tin theo yêu cầu của bộ phận quyết định, bộ phận tác vụ, nhờ bộ phận xử lý thông tin.

Lưu trữ các thông tin thu thập được và các kết quả xử lý nhờ bộ phận ghi nhớ và lưu trữ.

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

Trang 22

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 đề xuất trong giai đoạn nghiên cứu khả thi.

Trang 23

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ống dướ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ới trong 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ần khô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ết cho 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 dung củ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ức khá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ột ngô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

An toàn, thừa kế, mở rộng, bảo trì.

Trang 24

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 chi tiế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 qua cá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ác vớ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

❖ Lớp (class)

● Sự tổng quát quá của nhiều đối tượng có cùng đặc trưng(thuộc tính, phương thức)

● Mỗi một lớp gồm: thuộc tính và phương thức, trong đó thuộc tính sẽ

có một kiểu, phương thức là tập hợp các khối lệnh.

❖ Đố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 25

❖ 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ủa chí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ọi thà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ần trong 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ác thành phần trong cùng một lớp và các lớp con của nó.

⮚ Tính thừa kế (Inheritance)

● Là cho phép dùng lại mã (reusability) Dùng để mô hình hóa mối quan hệ

“là” (“is a”) giữa các đối lớp/đối tượng với nhau:

● Đối tượng “thừa kế” là một đối tượng đã có sẵn khác, với những thuộc

tính và phương thức “tương tự” nhau.

● 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 26

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ành phầ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ôi trường khác nhau.

Trang 27

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, MacOs nên đó cũng là một lợi thế NodeJS 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 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ộ 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 di chuyể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ủa Node.js giúp máy chủ để có được một phản ứng từ các cuộc gọi API trước (Realtime).

(none-Chạy rất nhanh: Nodejs được xây dựng dựa vào nền tảng V8 Javascript Engine nê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ồng duy 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ột cá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ới cá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ột chươ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 HTTP Server.

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?

Trang 28

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

Những ứng dụng thời gian thực.

Trang 29

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 30

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

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

Sau đó mở cửa sổ CMD lên đứng ngay vị trí lưu file app.js để thực thi nó với

câu lệnh: node app.js

Sau đó ta có thể mở trình duyệt lên và gõ http://localhost:3000 sẽ thấy kết quả hiển thị ra màn hình dòng chữ "'Hello - Nguyễn Trung Kiên ".

2.4 MÔ HÌNH MVC

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 ở

Palo Alto Sự ra đời của giao diện đồ họa (Graphical User Interface – GUI) và lập trình hướ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

// 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');

response.end();

}).listen(3000);

Trang 31

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 của nó (Model, View, Controller)

Ngày đăng: 10/12/2022, 13:25

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ậpTrình Hướ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ệ Tố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
[4] GoalKicker.com. MongoDB® Notes for Professionals [5] GoalKicker.com. JavaScript™ Notes for Professionals [6] GoalKicker.com. Node.js Notes for ProfessionalsTrang web Sách, tạp chí
Tiêu đề: MongoDB® Notes for Professionals
Tác giả: GoalKicker.com
Nhà XB: GoalKicker.com
[7] NodeJS Tutorial, https ://www . tutor ia lspoint.com/nodejs/ ,2018 Sách, tạp chí
Tiêu đề: NodeJS Tutorial
Năm: 2018
[8] MongoDB Tutorial, https://docs.mongodb.com/manual/tutorial/getting-started/, 2018 Sách, tạp chí
Tiêu đề: MongoDB Tutorial
Năm: 2018
[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 Link
[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

TỪ KHÓA LIÊN QUAN

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