1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án 1 xây dựng ứng dụng quản lý đề cương môn học

22 31 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 22
Dung lượng 1,19 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN MÔN HỌC ĐỒ ÁN 1 XÂY DỰNG ỨNG DỤNG QUẢN LÝ ĐỀ CƯƠNG MÔN HỌC Giảng viên hướng dẫn : ThS... Đề cương

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN MÔN HỌC

ĐỒ ÁN 1

XÂY DỰNG ỨNG DỤNG QUẢN LÝ ĐỀ CƯƠNG MÔN HỌC

Giảng viên hướng dẫn : ThS Lê Thanh Trọng Sinh viên thực hiện 1 : Hồ Minh Tuệ - 20520850 Sinh viên thực hiện 2 : Lâm Tấn Phát - 20520682

TP.HCM, tháng 12 năm 2023

Trang 2

MỤC LỤC

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 4

I Động lực nghiên cứu: 4

II Mục tiêu và phạm vi: 4

III Bố cục báo cáo: 4

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ 5

I Sơ đồ Usecase: 5

1 Tổng quan: 5

2 Usecase quản lý phân quyền: 6

3 Usecase quản lý đề cương: 8

4 Usecase quản lý khoa: 10

5 Usecase quản lý CĐR CTĐT: 11

II User Flow: 12

CHƯƠNG 3: CÔNG NGHỆ SỬ DỤNG VÀ KẾT QUẢ SẢN PHẨM 14

I Công nghệ sử dụng: 14

1 NodeJS (backend): 14

2 ReactJS (frontend): 15

3 MongoDB: 16

II Demo: 17

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 21

I Thành quả đạt được: 21

II Thuận lợi: 21

III Khó khăn: 21

IV Hướng phát triển: 21

TÀI LIỆU THAM KHẢO 22

Trang 3

MỤC LỤC HÌNH ẢNH

Hình 1: Tổng quan Usecase 5

Hình 2: Usecase Quản lý phân quyền 6

Hình 3: Usecase Quản lý đề cương 8

Hình 4: Usecase Quản lý khoa 10

Hình 5: Usecase Quản lý CĐR CTĐT 11

Hình 6: User flow giảng viên 12

Hình 7: User flow trưởng / phó khoa 13

Hình 8: User flow Admin 13

Hình 9: Giao diện danh sách đề cương 17

Hình 10: Giao diện lịch sử thay đổi của đề cương 17

Hình 11: Giao diện cập nhật thông tin đề cương 18

Hình 12: Giao diện xét duyệt đề cương 18

Hình 13: Giao diện xuất đề cương 19

Hình 14: Giao diện quản lý người dùng 19

Hình 15: Giao diện quản lý tài khoản cá nhân 20

Trang 4

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

I Động lực nghiên cứu:

Trong môi trường giáo dục đại học, việc quản lý đề cương môn học đóng vai trò quan trọng trong việc đảm bảo chất lượng giảng dạy và học tập Đề cương môn học không chỉ cung cấp thông tin chi tiết về nội dung, mục tiêu và yêu cầu của mỗi khóa học, mà còn

là công cụ hữu ích giúp sinh viên hiểu rõ hơn về những gì họ sẽ học và làm thế nào để đạt được thành công trong quá trình học tập Việc quản lý đề cương môn học một cách hiệu quả sẽ giúp cải thiện sự tương tác giữa giảng viên và sinh viên, tăng cường tính minh bạch

và rõ ràng trong đánh giá, và hỗ trợ quản lý chương trình học một cách linh hoạt

Trong thời đại số hóa ngày nay, việc phát triển một ứng dụng web để quản lý đề cương môn học tại các trường đại học trở nên cần thiết Ứng dụng web này không chỉ giúp

tự động hóa quy trình quản lý, mà còn tạo điều kiện thuận lợi để giảng viên và sinh viên truy cập thông tin một cách dễ dàng và nhanh chóng Cho phép cải thiện khả năng tương tác và phản hồi, đồng thời hỗ trợ sinh viên trong việc lập kế hoạch học tập của họ một cách hiệu quả

II Mục tiêu và phạm vi:

Mục tiêu:

- Nắm được các yêu cầu nghiệp vụ của hệ thống quản lý đề cương

- Xây dựng được một trang web hỗ trợ quản lý đề cương cho môi trường đại học Phạm vi:

- Thiết kế và xây dựng trang web hỗ trợ quản lý đề cương đáp ứng được các yêu cầu nghiệp vụ bao gồm: soạn, chỉnh sửa đề cương; xét duyệt đề cương; xem lịch

sử và thống kê; xuất đề cương dưới các định dạng phổ biến (.pdf, docx…); hỗ

trợ các tính năng quản lý người dùng và CĐR CTĐT

III Bố cục báo cáo:

Phần còn lại của báo cáo được trình bày theo bố cục sau:

Chương 2 – Phân tích và thiết kế

Chương 3 – Công nghệ sử dụng và kết quả

Chương 4 – Kết luận và hướng phát triển

Trang 5

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ

I Sơ đồ Usecase:

1 Tổng quan:

Hình 1: Tổng quan Usecase

Trang 6

2 Usecase quản lý phân quyền:

Hình 2: Usecase Quản lý phân quyền

Tóm tắt: Usecase đăng nhập, đăng xuất cũng như đăng ký và quản lý tài khoản trong

Trang 7

Xử lí các trường hợp đăng nhập, đăng ký không thành công (sai tài khoản, tài khoản đã tồn tại…)

Tiền điều kiện:

User cần kết nối mạng để truy cập trang web

Hậu điều kiện:

Trang web phải cung cấp cho user token jwt để thực hiện các tác vụ cần quyền truy cập khác

Bảng 1: Mô tả usecase Quản lý phân quyền

Trang 8

3 Usecase quản lý đề cương:

Hình 3: Usecase Quản lý đề cương

Tóm tắt: Usecase bắt đầu khi user đã đăng nhập thực hiện các tác vụ liên quan đến đề

cương

Dòng sự kiện chính:

User xem danh sách các đề cương đã tạo

User chọn tạo mới đề cương

Điền các thông tin đề cương

Gửi yêu cầu xét duyệt cho đề cương vừa tạo

Dòng sự kiện phụ:

Thông báo cho user các trường thông tin không hợp lệ

User có thể lưu nháp đề cương

User có thể xem lịch sử thay đổi của đề cương

User có thể xem thống kê các đề cương mình đã tạo

Trang 9

User có thể xuất đề cương với các định dạng khác nhau (.pdf, docx…) sau khi đề

cương được trưởng khoa hoặc phó khoa duyệt

Trưởng / phó khoa có thể xem thống kê các đề cương thuộc khoa

Trưởng / phó khoa có thể chấp thuận hoặc từ chối đề cương yêu cầu xét duyệt

Trưởng / phó khoa có thể feedback cho giảng viên biên soạn chỉnh sửa trước khi quyết định xét duyệt

Admin có thể xem thống kê của toàn bộ các đề cương đã tạo trong hệ thống

Tiền điều kiện:

User cần kết nối mạng để truy cập trang web

User đăng nhập trang web với tài khoản có quyền Giảng viên hoặc Trưởng / phó khoa

Hậu điều kiện:

Mọi thay đổi về đề cương cần được hệ thống lưu trữ vào cơ sở dữ liệu

Bảng 2: Mô tả usecase Quản lý đề cương

Trang 10

4 Usecase quản lý khoa:

Hình 4: Usecase Quản lý khoa

Tóm tắt: Usecase bắt đầu khi user đã đăng nhập với tài khoản có quyền Trưởng / Phó

khoa hoặc Admin thực hiện các tác vụ liên quan đến khoa

Dòng sự kiện chính:

User

Dòng sự kiện phụ:

Thông báo cho user các trường thông tin không hợp lệ

User có thể lưu nháp đề cương

User có thể xem lịch sử thay đổi của đề cương

Trưởng / phó khoa có thể chấp thuận hoặc từ chối đề cương yêu cầu xét duyệt

Trưởng / phó khoa có thể feedback cho giảng viên biên soạn chỉnh sửa trước khi quyết định xét duyệt

Tiền điều kiện:

User cần kết nối mạng để truy cập trang web

User đăng nhập trang web với tài khoản có quyền Giảng viên hoặc Trưởng / phó khoa

Hậu điều kiện:

Mọi thay đổi về đề cương cần được hệ thống lưu trữ vào cơ sở dữ liệu

Bảng 3: Mô tả Usecase quản lý khoa

Trang 11

Thông báo lại cho Admin khi có CĐR không hợp lệ được thêm

Ánh xạ các CĐR đã được nhập với các CĐR môn học khi thêm / cập nhật đề cương

Tiền điều kiện:

User cần kết nối mạng để truy cập trang web

User đăng nhập trang web với tài khoản có quyền Admin

Hậu điều kiện:

Mọi thay đổi về CĐR CTĐT cần được hệ thống lưu trữ vào cơ sở dữ liệu

Bảng 4: Mô tả Usecase quản lý CĐR CTĐT

Trang 12

II User Flow:

1 User flow giảng viên:

Hình 6: User flow giảng viên

Trang 13

2 User flow trưởng / phó khoa:

Hình 7: User flow trưởng / phó khoa

3 User flow admin:

Hình 8: User flow Admin

Trang 14

CHƯƠNG 3: CÔNG NGHỆ SỬ DỤNG VÀ KẾT QUẢ SẢN PHẨM

I Công nghệ sử dụng:

1 NodeJS (backend):

Node.js, một môi trường thực thi JavaScript bất đồng bộ và hướng sự kiện, được tạo ra với mục đích xây dựng các ứng dụng mạng có khả năng mở rộng Node.js có thể xử lý đồng thời nhiều kết nối Với mỗi kết nối, một hàm callback sẽ được kích hoạt, nhưng Node.js sẽ chuyển sang trạng thái chờ nếu không có công việc nào cần xử lý Cách tiếp cận này giúp Node.js linh hoạt và hiệu quả, phù hợp với các ứng dụng đòi hỏi sự nhanh chóng và đáp ứng tức thì

Trái ngược với mô hình đồng thời thông thường ngày nay, nơi sử dụng các luồng của hệ điều hành, Node.js mang đến một cách tiếp cận hiệu quả hơn Mạng lưới dựa trên luồng thường kém hiệu quả và khó sử dụng Điểm nổi bật của Node.js là nó loại bỏ được những

lo lắng về tình trạng bế tắc trong quá trình xử lý, vì nó không sử dụng khóa Hầu như không

có hàm nào trong Node.js thực hiện trực tiếp các thao tác I/O, do đó tiến trình không bao giờ bị chặn, trừ khi I/O được thực hiện bằng các phương thức đồng bộ trong thư viện tiêu chuẩn của Node.js Sự linh hoạt này giúp việc phát triển các hệ thống có khả năng mở rộng trở nên thuận lợi và hợp lý trong Node.js

Node.js, được thiết kế theo cảm hứng từ các hệ thống như Event Machine của Ruby và Twisted của Python, đưa mô hình sự kiện lên một tầm cao mới Khác biệt lớn nhất của nó

so với các hệ thống khác là Node.js không yêu cầu một lệnh cụ thể để khởi động vòng lặp

sự kiện Nó tự động chuyển vào vòng lặp sau khi thực thi script đầu vào và chỉ kết thúc khi không còn bất kỳ callback nào cần thực hiện, một cách tiếp cận tương tự như JavaScript trong trình duyệt

Trong Node.js, HTTP được xem trọng và tối ưu hóa cho truyền tải dữ liệu nhanh chóng và hiệu quả Điều này làm cho Node.js trở thành nền tảng lý tưởng cho việc phát triển các thư viện web và khuôn khổ ứng dụng

Trang 15

Mặc dù Node.js không dựa trên mô hình đa luồng, nhưng nó vẫn mở ra khả năng tận dụng

đa lõi CPU trong môi trường của bạn Có thể tạo ra các tiến trình con dễ dàng thông qua API child_process.fork(), và mô-đun cluster cho phép chia sẻ socket giữa các tiến trình, giúp cân bằng tải trên các lõi và phát triển hệ thống có khả năng mở rộng

2 ReactJS (frontend):

React (còn được gọi là React.js hoặc ReactJS) là một thư viện JavaScript mã nguồn mở miễn phí cho phát triển giao diện người dùng phía trước dựa trên các thành phần (component) Được duy trì bởi Meta (trước đây là Facebook) và cộng đồng các nhà phát triển cá nhân và công ty

React có thể được sử dụng để phát triển các ứng dụng đơn trang, di động, hoặc ứng dụng được hiển thị từ máy chủ với các framework như Next.js React chỉ tập trung vào giao diện người dùng và hiển thị các thành phần, thường phụ thuộc vào các thư viện khác cho chức năng định tuyến và khác phía máy khách Một ưu điểm chính của React là nó chỉ tái hiển thị những phần trang web đã thay đổi, tránh việc tái hiển thị không cần thiết các phần tử DOM không thay đổi

Trang 16

3 MongoDB:

MongoDB, một cơ sở dữ liệu tài liệu mã nguồn mở, được xây dựng dựa trên kiến trúc mở

rộng ngang, cung cấp một lược đồ linh hoạt cho việc lưu trữ dữ liệu Kể từ khi ra đời vào

năm 2007, MongoDB đã thu hút sự quan tâm rộng rãi từ cộng đồng các nhà phát triển trên

toàn cầu

Khác biệt với cách lưu trữ dữ liệu theo hàng và cột như trong cơ sở dữ liệu SQL, mỗi bản

ghi trong MongoDB là một tài liệu được mô tả bằng BSON - một dạng biểu diễn nhị phân

của dữ liệu Các ứng dụng sau đó có thể truy xuất thông tin này dưới dạng JSON

Cơ sở dữ liệu tài liệu của MongoDB rất linh hoạt, cho phép biến đổi cấu trúc của các tài

liệu và lưu trữ những tài liệu chưa hoàn chỉnh Một tài liệu có thể chứa các tài liệu khác

được nhúng vào bên trong Các trường trong tài liệu đóng vai trò giống như cột trong cơ

sở dữ liệu SQL và có thể được lập chỉ mục để tăng cường hiệu suất tìm kiếm

MongoDB được xây dựng trên kiến trúc mở rộng, cho phép nhiều máy nhỏ làm việc cùng

nhau, tạo ra các hệ thống nhanh chóng và xử lý lượng dữ liệu lớn

MongoDB luôn tập trung vào việc cung cấp trải nghiệm người dùng xuất sắc cho các nhà

phát triển, điều này, cùng với các đặc tính khác, đã làm cho MongoDB trở thành sự lựa

chọn ưa thích của các nhà phát triển trên toàn thế giới cho nhiều loại ứng dụng khác nhau

Trang 17

II Demo:

Hình 9: Giao diện danh sách đề cương

Hình 10: Giao diện lịch sử thay đổi của đề cương

Trang 18

Hình 11: Giao diện cập nhật thông tin đề cương

Hình 12: Giao diện xét duyệt đề cương

Trang 19

Hình 13: Giao diện xuất đề cương

Hình 14: Giao diện quản lý người dùng

Trang 20

Hình 15: Giao diện quản lý tài khoản cá nhân

Trang 21

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

II Thuận lợi:

- Nguồn tư liệu có sẵn và dễ truy cập

- Giảng viên hướng dẫn tận tâm, nhiệt tình

III Khó khăn:

- Thành viên nhóm ít có cơ hội trao đổi, làm việc trực tiếp

- Một thành viên nhóm thiếu trách nhiệm khiến tiến độ đồ án bị chậm trễ

IV Hướng phát triển:

thống kê, báo cáo

Trang 22

TÀI LIỆU THAM KHẢO

Ngày đăng: 15/05/2024, 09:30

w