Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny : - Sinh viên viện kỹ thuật công nghệ-.. Mô tả các đầu ra cho chức năng ny : - Trả về kết quả hiển thị trên giao diện
Trang 1BÁO CÁO NGHIÊN CỨU KHOA HỌC
CUỘC THI SINH VIÊN NGHIÊN CỨU KHOA HỌC
NĂM HỌC 2021-2022
ĐỀ TÀI: XÂY DỰNG CÔNG CỤ HỖ TRỢ THEO DÕI QUÁ TRÌNH HỌC TẬP CHO SINH VIÊN VIỆN KỸ THUẬT – CÔNG NGHỆ
Thuộc nhóm ngành khoa học: Kỹ thuật phần mềm
Trang 2BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI: XÂY DỰNG CÔNG CỤ HỖ TRỢ THEO DÕI QUÁ TRÌNH HỌC
TẬP CHO SINH VIÊN VIỆN KỸ THUẬT – CÔNG NGHỆ
Trang 3ii
ứng dụng thực tế là điều thú vị, hấp dẫn nhất đối với chúng em trong quá trình học tập
Và cuối cùng, đồ án nghiên cứu khoa học chắc chắn là sản phẩm mà chúng em tâm huyết nhất để thực hiện, bằng những kiến thức, kỹ năng đã có được qua suốt những năm học
Dưới sự hướng dẫn của thầy Nguyễn Hữu Vĩnh, em đã lựa chọn cho mình đề tài phù hợp để thực hiện Đó là “Xây dựng công cụ hỗ trợ theo dõi quá trình học tập cho
hiện hữu tại nơi mình đang theo học
Em xin chân thành cảm ơn thầy Vĩnh đã giúp đỡ, hướng dẫn em hoàn thành đồ án này Em cũng xin gửi lời cảm ơn đến quý thầy cô khoa Kỹ thuật – Công nghệ đã nhiệt tình dìu dắt chúng em suốt mấy năm học vừa qua Xin cảm ơn các thầy cô các khoa
phục vụ chúng em trong những năm qua
Trang 4iii
Nu phá t hi n c b ệ t kỳ s gian l ự ận n o t i xin ho n ton chu tr ch nhiệm á
về ni dung báo c o c a m á ình Trường Đại học Thủ Dầu Một kh ng li ô ên quan đến
i c hi n
Huỳnh Đức Huy
Trang 5iv
Trang 6v
…………
……
……
……
……
……
……
……
……
……
……
……
……
……
B ình Dương, ng y th à á ng n ăm 2022
Giáo vi n h ê ướ ng d ẫn
(K t n v hi r n) g h t
Ths. Nguyễn Hữu Vĩnh
Trang 7Công c h ụ ỗ trợ quá trình h c t ọ ập.
vi
NHẬN XT CỦA GI NG VI Ả ÊN PH N BI Ả ỆN
……
……
……
……
……
……
……
……
……
……
……
……
……
……
……
Giáo viên hướng dẫn
Trang 8Công c h ụ ỗ trợ quá trình h c t ọ ập.
vii
MỞ ĐẦU
Trước làn sóng mạnh mẽ của cuộc cách mạng công nghiệp lần thứ tư, ngày càng
có nhiều những ý tưởng hay, công nghệ hiện đại được ứng dụng vào thực tế nhằm cải thiện hiệu quả và gia tăng năng suất lao động cho con người
Xuất phát từ vấn đề thực tế trong môi trường học đường nói riêng, trong môi trường cơ quan, doanh nghiệp nói chung, em đã có ý tưởng ứng dụng công nghệ thông
học tập của mình đề ra chiến lược học tập để hoàn thành thật tốt công việc học tập tại trường Đại học Thủ Dầu Một
Vì thế, em lựa chọn thực hiện đề tài:
CHO SINH VIÊN VIỆN KỸ THUẬT – CÔNG NGHỆ
Hệ thống này bao gồm 1 trang web để quản lý và theo dõi quá trình học tập của sinh viên, giảng viên có thể theo dõi được tình trạng học tập của từng sinh viên của lớp mình và cảnh cáo học vụ đối với sinh viên có nguy cơ bị buộc thôi học Về phần mobile app dành cho các bạn sinh viên theo dõi được điểm số, những gợi ý môn học cho học
xuất cho những môn mà sinh viên đang nợ môn, ngoài ra sinh viên có thể xem được gợi ý môn học theo cấp độ đối với nhưng môn sinh viên đã qua môn
Em rất mong nhận được sự quan tâm, hướng dẫn tận tình của quý thầy hướng dẫn
để đề tài được thực hiện thành công, trở nên hữu ích và có tính ứng dụng cao
Trang 9Công c h ụ ỗ trợ quá trình h c t ọ ập.
1
Mục lục
Chương 1 GII THIỆU CHUNG 6
1.1 Giới thiệu lí do chọn đề ti 6
1.2 Mục tiêu 7
1.3 Phạm vi nghiên cứu 8
1.4 Đối tượng nghiên cứu 8
Phương pháp 8
Phương pháp nghiên cứu lý thuyết 8
Phương pháp nghiên cứu thực nghiệm 8
Chương 2 CƠ SỞ LÝ THUYT 9
2.1 M tả bi toán 9
2.1.1 Rằng buc mn học theo cp đ 9
2.1.2 Gửi mail tự đng buc thi học cho tt cả sinh viên c điểm trung bình tích lũy quá thp 9
2.2 Cng nghệ sử dụng 9
2.2.1 Nodejs 9
2.2.1.1 Cc đặc tính của NodeJS 9
2.1.1.2 Ưu điểm của NodeJS 10
2.1.1.3 Nhợc điểm của NodeJS: 11
2.2.2 React Native 11
2.2.2.1 Ưu điểm của React Native 11
2.2.2.2 Nhược điểm 12
2.2.3 ReactJs 12
2.2.3.1. Tính nng 12
2.2.3.2. Ưu điểm 13
2.2.3.3. Nhợc điểm 13
2.2.4 MongoDB 13
2.2.4.1 Một số câu lnh c bản trong MongoDB 14
2.2.4.2 Ưu điểm của MongoDB 14
2.2.4.3 Nhợc điểm của MongoDB 15
2.2.5 ExpressJS 15
2.3 Các yêu cầu v thực thể tham gia vo hệ thống 17
2.2.1 Yêu cầu các chức năng ứng dụng di đng 17
2.2.1.1 Mô tả chức nng đng nhập 17
2.2.1.2 Mô tả chức nng tra cứu Điểm môn học 18
2.2.1.3 Mô tả chức nng Xem điểm môn học 19
2.2.1.4 Mô tả chức nng Gợi ý môn học 20
2.2.1.5 Mô tả chức nng Gợi ý môn học cho học kỳ 20
2.2.1.6 Mô tả chức nng cập nhật thông tin ti khoản 21
2.2.2 Yêu cầu các chức năng website Người dùng (Sinh viên) 22
Trang 10Công c h ụ ỗ trợ quá trình h c t ọ ập.
2
2.2.2.1 Mô tả chức nng đng nhập 22
2.2.2.2 Mô tả chức nng tra cứu Điểm môn học 23
2.2.2.4 Mô tả chức nng Xem điểm môn học 25
2.2.2.5 Mô tả chức nng Gợi ý môn học 26
2.2.2.6 Mô tả chức nng Gợi ý môn học cho học kỳ 27
2.2.2.7 Mô tả chức nng cập nhật thông tin ti khoản 28
2.2.2.9 Mô tả chức nng Export data 30
2.2.3 Yêu cầu các chức năng website Quản tr (Giảng viên / Cố vn học tập) 31
2.2.3.1 Mô tả chức nng đng nhập 31
Chương 3 PHÂN TÍCH THIT K HỆ THỐNG 40
3.1 Sơ đồ chức năng tổng quát 40
3.2 Sơ đồ usercase 41
3.2.1 Các tác nhân chính ca hệ thống 41
3.2.2 Các chức năng chính 41
3.2.3 Sơ đồ usecase tổng quát 42
3.3 Phân rã Usecase 42
3.3.1 UC Tra cứu điểm 42
3.3.2 UC Đăng nhập hệ thống 43
3.3.3 UC Cập nhật ti khoản 44
3.3.4 UC Nhập điểm 45
3.3.5 UC Xem điểm 46
3.3.6 UC Xem gợi ý mn học 47
3.3.7 UC Gợi ý mn học cho học kỳ tới 48
3.3.8 Thống kê 49
3.3.9 UC Xut excel 50
3.4 Biểu đồ hoạt đng 58
3.4.1 Biều đồ hoạt đng Tra cứu điểm 59
3.4.2 Biều đồ hoạt đng đăng nhập 60
3.4.3 Biều đồ hoạt đng Quên mật khẩu 61
3.5 Biểu đồ Lớp (Class diagram) 65
3.5.1 Biểu đồ lớp tổng thể 65
Chương 4 THIT K CƠ SỞ DỮ LIỆU 66
4.1 Bảng Lecturers 67
4.2 Bảng Students 67
4.3 Bảng Subjects 68
4.4 Bảng SubjectScore 69
Chương 5 THIT K GIAO DIỆN 70
5.1 Thit k giao diện (Người dùng / Sinh viên) 70
5.1.1 Giao diện Tra cứu điểm 70
5.1.2 Giao diện Đăng nhập 71
5.1.3 Giao diện Trang chủ (Sinh Vin) 72
Trang 11Công c h ụ ỗ trợ quá trình h c t ọ ập.
3
5.1.4 Giao diện mn hình Cập nhật ti khoản 73
5.1.5 Giao diện mn hình Nhập điểm 73
5.1.6 Giao diện Xem điểm 74
5.1.7 Giao diện Gợi môn hc 75
5.1.8 Giao diện Gợi môn hc cho hc kỳ tới 76
5.1.9 Giao diện Thống k 77
5.2 Thit k giao diện (Giảng viên) 78
5.2.1 Giao diện Qun mật khẩu 78
5.2.2 Giao diện Đăng nhập (Giảng vin) 80
5.2.3 Giao diện Cập nhật ti khoản 80
5.2.4 Giao diện Đổi mật khẩu 81
5.2.5 Giao diện Xem danh sách lớp 81
5.2.6 Giao diện Thống k quá trình hc tập 82
5.2.7 Giao diện Gửi mail cảnh báo hc vụ 82
5.2.8 Giao diện Thm môn hc 83
5.2.9 Giao diện Thống k 84
5.3 Thit k giao diện App di đng (Sinh viên) 85
5.3.1 Giao diện Tra cứu điểm 85
5.3.2 Giao diện Đăng nhập 87
5.3.3 Giao diện Trang chủ (Sinh Vin) 89
5.3.4. Giao diện mn hình Cập nhật ti khoản 91 .
5.3.5 Giao diện Xem Điểm 94
5.3.6 Giao diện Gợi môn hc 95
5.3.7 Giao diện Gợi môn hc cho hc kỳ tới 96
Chương 6 KẾT LUẬN 97
6.1 Kt quả đạt được 97
6.1.1 Về ứng dụng Modules Di đng 97
6.1.2 Về trang WebSite dnh cho Người dùng (Sinh Viên) v Giảng viên 97
6.2 Các hạn ch còn tồn tại 98
6.3 Hướng phát triển 98
TÀI LIỆU LIÊN QUAN THAM KHẢO 99
Trang 12Công c h ụ ỗ trợ quá trình h c t ọ ập.
4
Mục lục ảnh
Hình 3.1 Sơ đồ chức năng tng quát 40
Hình 3.2 Sơ đồ usercase 42
Hình 3 3 UC Tra cứu điểm 43
Hình 3.4 UC Đăng nhập 44
Hình 3.5 UC Cập nhật tài khoản 45
Hình 3.6 UC Nhập điểm 46
Hình 3.7 UC Xem Điểm 47
Hình 3.8 UC Gợi ý môn học 48
Hình 3.9 UC Gợi ý môn học cho học k tới 49
Hình 3.10 UC Thống kê 50
Hình 3.11 UC Xuất Excel 50
Hình 3.12 UC Quên mật khẩu 51
Hình 3.13 UC Đăng nhập (Giảng viên) 52
Hình 3.14 UC Đi mật khẩu (Giảng viên) 53
Hình 3.15 UC Cập nhật tài khoản (Giảng viên) 54
Hình 3.16 UC Xem danh sách lớp (Giảng viên) 55
Hình 3.17 UC Gửi mail cảnh cáo (Giảng viên) 56
Hình 3.18 UC Tạo môn học (Giảng viên) 57
Hình 3.19 UC Thống kê (Giảng viên) 58
Hình 3.20 Biều đồ hoạt động Tra cứu điểm 59
Hình 3.21 Biều đồ hoạt động đăng nhập 60
Hình 3.22 Biều đồ hoạt động Quên mật khẩu 61
Hình 3.23 Biều đồ hoạt động Nhập điểm 62
Hình 3.24 Biều đồ hoạt động Cập nhật tài khoản 63
Hình 3.25 Biều đồ hoạt động Gửi mail cảnh cáo học vụ 64
Hình 3.26 Biểu đồ lớp tng thể 65
Hình 4.1 Hình ảnh các Collection trong MongoDb 66
Hình 4.2 Hình ảnh bảng lecturers 67
Hình 4.3 Hình ảnh bảng Students 67
Hình 4.4 Hình ảnh bảng Subjects 68
Hình 5.1 Tra cứu điểm 70
Hình 5.2 Đăng nhập 71
Hình 5.3 Trang chủ 72
Hình 5.4 Cập nhật tài khoản 73
Hình 5.5 Nhập điểm 73
Hình 5.6 Xem điểm 75
Hình 5.7 Gợi ý môn học 76
Hình 5.8 Gợi ý môn học cho học k tới 76
Hình 5.9 Thống kê 77
Hình 5.10 Quên mật khẩu 79
Trang 13Công c h ụ ỗ trợ quá trình h c t ọ ập.
5
Hình 5.11 Đăng nhập (Giảng viên) 80
Hình 5.12 C ập nhật tài khoản (Giảng viên) 80
Hình 5.13 Đi mật khẩu (Giảng viên) 81
Hình 5.14 Xem danh sách lớp (Giảng viên) 81
Hình 5.15 Thống kê quá trình học tập (Giảng viên) 82
Hình 5.16 Gửi mail cảnh cáo học vụ (Giảng viên) 83
Hình 5.17 Thêm môn học (Giảng viên) 83
Hình 5.18 Thống kê (Giảng viên) 84
Hình 5.19 Tra cứu điểm (Di động) 86
Hình 5.20 Đăng nhập (Di động) 88
Hình 5.21 Trang chủ (Di động) 90
Hình 5.2 2 Cập nhật tài khoản (Di động) 93
Hình 5.23 Xem điểm (Di động) 94
Hình 5.24 Gợi ý môn học (Di động) 95
Hình 5.25 Gợi ý môn học cho học k 96
Trang 14
Công c h ụ ỗ trợ quá trình h c t ọ ập.
6
Chương 1 GII THIỆU CHUNG
Trong viêc học tập của toàn thể sinh viên Thủ Dầu Một nói chung và sinh viên viện Kỹ Thuật – Công Nghệ nói riêng, chắc hẳn việc quản lý, thống kê điểm số,
số tín chỉ và đề xuất cho sinh viên học những môn học bắt buộc để kịp tiến độ học tập… Chúng đang là một vấn đề mà biết bao nhiêu sinh viên đang chú ý đến
Nhận thấy được sự cấp thiết của vấn đề trên, nhóm chúng em đề xuất một đề tài Đề tài này có thể giúp cho mọi sinh viên trong trường đại học Thủ Dầu Một
có thể quản lý được tất cả các vấn đề về học tập, điểm số… thông qua hệ thống một cách dễ dàng và hiệu quả nhất có thể
Chính vì vậy, em nảy ra ý tưởng Xây dựng công cụ hỗ trợ theo dõi quá trình học tập cho sinh viên viện kỹ thuật – công nghệ, nhằm giúp cho sinh viên và giảng viên có thể theo dõi và quản lý được quá trình học tập của mình Thông qua đây, các sinh viêncó
học tập của mình.
Trang 151.2 M ục tiêu
Mục tiêu chính của đề tài là:
Về mobile app:
theo dõi, tra cứu được điểm số từng môn học của mình thông qua các học k đã học
- Chỉnh sửa thông tin cá nhân
- Sinh viên có thể xem được những môn học theo cấp độ và gợi ý những môn học cho học k tới,…
Về website quản trị(giảng viên / cố vấn học tập):
- Xem được thông tin, quá trình học tập và điểm số của từng sinh viên thuộc lớp của mình
- Gửi mail cảnh cáo cá nhân đối với sinh viên có điểm trung bình quá thấp
sẽ gửi mail tự động cho tất cả sinh viên nếu sinh viên có điểm trung bình thấp hơn so với điểm trung bình giảng viên đưa ra
- Xem thống kê tình trạng sinh viên của lớp mình và thống kê top những sinh viên có điểm trung bình tích lũy cao nhất của lớp
Về Website người dùng (sinh viên)
- Nhập điểm môn học
- Xem điểm môn học qua các học k Xuất file excel
- Xem gợi ý môn học lại và môn học rằng buộc theo cấp độ
- Xem gợi ý môn học cho học k tới
- Xem được tng số tín chỉ đạt được và còn thiếu của mình
- Thống kê tình trạng học tập của mình,…
Trang 161.3 Phạm vi nghiên cứu
- Trường đại học Thủ Dầu Một
Phương pháp
Phng php nghiên cứu lý thuyết
- Tìm hiểu quy trình làm việc của bộ phận kỹ thuật trường học
- Phân tích thiết kế hệ thống
Phng php nghiên cứu thc nghim
- Xây dựng cơ sở dữ liệu, api
- Xây dựng web người dùng cho sinh viên và quản trị cho cố vấn học tập
Trang 17Chương 2 CƠ SỞ LÝ THUYT
2.1.1 R ằng bu c môn h c theo c ộ ấp độ
Là hệ thống sẽ rằng buộc và gợi ý cho sinh viên môn học theo cấp độ đối với những môn học mà sinh viên đó đã qua môn (vd sinh viên đã học môn “Cơ sở lập trình” thì hệ thống sẽ gợi ý cho bạn môn học theo cấp độ tiếp theo là “Kỹ thuật lập trình”) hệ thống rằng buộc gợi ý như vậy giúp cho sinh viên có thể củng cố được kiến thức một cách hiệu quả nhất để cho những môn học tiếp theo
2.1.2 G ửi mail tự động bu c thôi h ộ c cho t t c ấ ả sinh vin có điể m trung bình tích lũy quá thấp
Đối với chức năng này giảng viên / cố vấn học tập nhập điểm trung bình cảnh báo và chọn năm học hệ thống sẽ tự động tìm ra những sinh viên có điểm trung bình tích lũy thấp hơn so với yêu cầu của cố vấn học tập, sau đó hệ thống sẽ gửi mail buộc thôi học về email của từng sinh viên
2.2.1 Nodejs
NodeJS là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine, nó được sử dụng để xây dựng các ứng dụng web như các trang video clip, các forum và đặc biệt là trang mạng xã hội phạm vi hẹp NodeJS là một mã nguồn
mở được 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ừ WIndow cho tới Linux, OS
X 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
2.2.1.1 Cc đặ c tính c a NodeJS ủ
Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ
Trang 18(none-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 NodeJS 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 Engine nên việc thực thi chương trình rất nhanh
Đn luồng nhng khả nng mở rộng cao: NodeJS sử dụng một mô hình luồng đơn (single thread) với các sự kiện lặp Các cơ chế sự kiện giúp Server trả lại các phản hồi với một cách không khóa và tạo cho Server hiệu quả cao ngược lại với các cách truyền thống tạo ra một số lượng luồng hữu hạn để quản lý request
2.1.1.2 Ưu điể m c ủa NodeJS
Đặc điểm ni bật của NodeJS là nó nhận và xử lý nhiều kết nối chỉ với một single - thread Điều này giúp hệ thống tốn ít RAM nhất và chạy nhanh nhất khi không phải tạo thread mới cho mỗi truy vấn giống PHP
Ứng dụng trên 1 trang (Single page Application): Nếu bạn định viết 1 ứng dụng thể hiện trên 1 trang thì NodeJS rất phù hợp để làm Với khả năng xử lý nhiều Request đồng thời thời gian phản hồi nhanh Các ứng dụng bạn định viết không muốn nó tải lại trang, gồm rất nhiều request từ người dùng cần sự hoạt động nhanh để thể hiện sự chuyên nghiệp thì NodeJS sẽ là sự lựa chọn của bạn
Streamming Data (Luồng dữ liu): Các web thông thường gửi HTTP request
và nhận phản hồi lại (luồng dữ liệu) Giả sử sẽ cần xử lý 1 luồng giữ liệu cực lớn, NodeJS sẽ xây dựng các Proxy phân vùng các luồng dữ liệu để đảm bảo tối đa hoạt động cho các luồng dữ liệu khác
Ứng dụng real-time: Giả sử bạn xây dựng 1 ứng dụng chat, feed … Facebook,
Twitter là điển hình cho Web thực NodeJS làm khá tốt điều đó
Trang 192.1.1.3 Nhợc điể m c a NodeJS: ủ
Ứng dụng nặng tốn ti nguyên: Nếu bạn cần xử lý các ứng dụng tốn tài nguyên CPU như encoding video, convert file, decoding encryption hoặc các ứng dụng tương tự như vậy thì không nên dùng NodeJS
Cộng đồng hỗ trợ chưa đươc mạnh lắm
2.2.2 React Native
React Native là các đoạn code đã được viết sẵn (framework) do công ty công nghệ Facebook phát triển Các l ập trình viên React Native là ngườ ử dụng những i s framework này để phát triển nên các hệ thống, nền tảng ứng dụng trên các hệ điều hành như IOS và Android Ngôn ngữ lập trình được s d ng nhi u nh t là Javascript ử ụ ề ấ
2.2.2.1 Ưu điểm của React Native
- Không ph i dùng nhi u native nh ả ề ờ đó đơn giả n hóa quá trình xây dựng n n t ng ề ả
- Rút ng n th i gian khi phát tri ắ ờ ển ứ ng d ụng
- Tối thiểu hóa chi phí cho doanh nghi ệp.
- Khả năng tái sử ụng code lên đến 80% d
- Mang d n tr i nghi ế ả ệm ngườ i dùng ch ất lượng hơn.
- Không đòi hỏi kiến thưc nền quá chuyên sâu, bất k ai đam mê IT
Trang 202.2.2.2 Nhợc điểm
- Mới ch h ỉ ỗ trợ trên 2 n n t ng ph ề ả biến nh t là IOS và Android ấ
- Hiệu năng sẽ không bằng nh ng ng d ữ ứ ụng thu n native code ầ
có thể cung cấp năng lượng cho các ứng dụng gốc bằng React Native React triển khai luồng dữ liệu phản ứng một chiều, điều này giúp giảm bớt phần soạn sẵn và
dễ lý luận hơn so với ràng buộc dữ liệu truyền thống
2.2.3.1 Tính nng
- JSX là phẩn mở rộng cú pháp JavaScript Không nhất thiết phải sử dụng JSX trong phát triển React, nhưng nó được khuyến khích
Trang 21- Components React là tất cả về các thành phần Bạn chỉ cần nghĩ mọi thứ như một thành phần Điều này sẽ giúp bạn duy trì code khi làm việc trên các dự án quy mô lơn hơn
- Luồng dữ liệu một chiều và Flux React triển khai luồng dữ liệu một chiều giúp bạn dễ dàng suy luận về ứng dụng của mình Flux
là một mẫu giúp giữ dữ liệu của bạn không theo hướng
- Giấy php React được cấp theo FaceBook Inc Tài liệu được cấp phép theo CC BY 4.0
2.2.3.2 Ưu điểm
- Sử dụng DOM ảo là một đối tượng JavaScript Điều này sẽ cải thiện hiệu suất ứng dụng, vì DOM ảo JavaScript nhanh hơn DOM thông thường
- Có thể được sử dụng trên máy khách và máy chủ cũng như với các khuôn kh khác
- Các mẫu thành phần và dữ liệu cải thiện khả năng đọc, giúp duy trì các ứng dụng lớn hơn
Trang 22MongoDB là một database hướng tài liệu (document), các dữ liệu được lưu trữ
sở dữ liệu quan hệ nên truy vấn sẽ rất nhanh
Với CSDL quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ (như MySQL hay SQL Server ) sử dụng các bảng để lưu dữ liệu thì với MongoDB chúng
So với RDBMS (Relational Database Management System) thì trong
dùng các document thay cho row trong RDBMS
Các collection trong MongoDB được cấu trúc rất linh hoạt, cho php các dữ liệu lưu trữ không cần tuân theo một cấu trúc nhất định
2.2.4.1 M t s câu l ộ ố nh c bản trong MongoDB
Bảng so sánh một số câu lệnh cơ bản giữa MySQL và MongoDB
INSERT INTO studetns ('name', 'gender')
VALUES('thanh', 'male');
db.students.insert({
name:'thanh', gender: 'male'});
Xóa bản ghi
DELETE FROM students
WHERE name = 'thanh';
db.students.find({ name:
'thanh' });
2.2.4.2 Ưu điể m c a MongoDB ủ
C sở dữ liu linh hoạt: MongoDB là document database, dữ liệu lưu dưới dạng JSON, không bị bó buộc về số lượng field, kiểu dữ liệu… bạn có thể insert thoải mái
các loại khác nhau
Tốc độ cao: MongoDB là một cơ sở dữ liệu hướng tài liệu Nó rất dễ dàng để truy cập tài liệu bằng cách lập chỉ mục Ngoài ra, dữ liệu trong MongoDB không có
Trang 23sự ràng buộc lẫn nhau như trong RDBMS Do đó, nó cung cấp phản hồi truy vấn nhanh Tốc độ của MongoDB nhanh gấp 100 lần so với cơ sở dữ liệu quan hệ
Tính sẵn sng cao: MongoDB có các tính năng như nhân bản Các tính năng này
Khả nng mở rộng: Một lợi thế lớn của MongoDB là nó là một cơ sở dữ liệu có thể mở rộng theo chiều ngang Khi bạn phải xử lý một dữ liệu lớn, bạn có thể phân phối nó cho một số máy
2.2.4.3 Nhợc điể m c a Mo ủ ngoDB
MongoDB là một NoSQL DB, có nghĩa là bạn phải biết cách sử dụng nó và bạn cần quản trị viên DB có thể duy trì nó Điều này có thể dẫn đến chi phí b sung cho bạn và công ty của bạn
MongoDB không có các tính chất ràng buộc như trong RDBMS nên dễ bị làm sai dữ liệu
MongoDB không hỗ trợ join giống như RDBMS nên khi viết function join trong code ta phải làm bằng tay khiến cho tốc độ truy vấn bị giảm
-do đó key sẽ bị lặp lại Không hỗ trợ join nên dễ bị dữ thừa dữ liệu.
Khi insert/ update/ remove bản ghi, MongoDB sẽ chưa cập nhật ngay xuống cứng, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đi từ RAM xuống cứng điều này sẽ là nhược điểm vì sẽ có nguy cơ bị mất dữ liệu khi xảy ra các tình huống như mất điện
Kích thước dữ liệu giới hạn: kích thước tài liệu, không quá 16MB
Trang 24 Nó được thiết kế để xây dựng các ứng dụng web và API (Application Programming Interface) Có vô số các package hỗ trợ nên các bạn không phải lo lắng khi làm việc với Framework này
Express là thành phần phụ trợ của ngăn xếp MEAN, cùng với phần mềm cơ sở
Ưu điểm của ExpressJS
Phát triển ứng dụng nhanh
Khung công tác ExpressJS cho php bạn sử dụng cùng một ngôn ngữ JavaScript
cả ở back-end và front-end Nó mang lại cho các nhà phát triển JavaScript cơ hội để
một người có thể quản lý cả lớp trình bày và truy cập dữ liệu
Xử lý yêu cầu Input / Output
ExpressJS là một lựa chọn tuyệt vời cho các ứng dụng xử lý nhiều yêu cầu và thông báo từ người dùng Node.js cùng với Express.js có khả năng hỗ trợ hàng nghìn hành động đồng thời
ExpressJS là một trong những khung công tác Node.js được hỗ trợ nhiều nhất Nó có một cộng đồng nguồn mở, vì vậy mã luôn được xem xt và cải thiện
Dễ dàng tích hợp các dịch vụ của bên thứ ba và phần mềm trung gian
Trang 252.3 Các yêu cầu v thực thể tham gia vo hệ thống
Hệ thống được xây dựng để sinh viên, giảng viên, có thể theo dõi quá trình học tập của mình và cảnh báo tình trạng học tập cho sinh viên
2.2.1. Yu cầu các chức năng ứng dụng di động
- Đăng nhập vo hệ thống ứng dụng
- Sinh viên đăng nhập bằng tài khoản trường đại học Thủ Dầu Một để sử dụng ứng dụng
chức năng ny:
- Email của trường được xác thực bởi google, id của email
- Sinh viên, đăng nhập vào hệ thống bằng tài khoản email do nhà trường cung cấp Sau khi xác thực bởi google hệ thống sẽ kiểm tra xác nhận và trả kết quả đăng nhập thành công hay thất bại và yêu cầu nhập lại Nếu tài khoản email không phải do nhà trường cung cấp thì hệ thống sẽ thông báo email không tồn tại
- Trả về kết quả hiển thị trên giao diện đăng nhập thành công rồi chuyển hướng đến giao diện chính ứng dụng hoặc đăng nhập thất bại yêu cầu nhập lại.
Trang 267 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Tra cứu điểm thi
2 Mô tả tổng quát về chức năng:
- Sinh viên có thể tra điểm của mình thông qua email hoặc mã sinh viên
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Email hoặc mã sinh viên
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sinh viên nhập vào email hoặc mã sinh viên sau đó hệ thống sẽ tra cứu điểm thi tương ứng với mã sinh viên hoặc email mà sinh viên nhập vào
- Sau đó click button Tìm
6 Mô tả các đầu ra cho chức năng ny :
- Trả về kết quả hiển thị trên giao diện danh sách điểm các môn học tương ứng của sinh viên thông qua email hoặc mã sinh viên mà sinh viên đã nhập vào
- Nếu hệ thống tìm ra được sinh viên đó thì sẽ hiển thị ra giao diện danh sách điểm các môn học, nếu không thì hệ thống sẽ thông báo không tìm thấy
7 Mô t ả người no hay hệ thống no sử dụng kết quả của chức năng ny :
Trang 27- Sinh viên viện kỹ thuật công nghệ -
1 Mô tả tn chức năng:
- Xem Điểm mn học
2 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể xem được điểm của từng môn học thông qua các học k đã học
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Tab Navigator sinh viên click chọn vào phần Xem điểm Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng
6 Mô tả các đầu ra cho chức năng ny :
- Màn hình danh sách điểm các môn học đã học và điểm trung bình tích lũy số tín chỉ đạt được và còn thiếu
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
Trang 282.2.1.4 Mô t ả chức nng Gợi ý môn học
1 Mô tả tn chức năng:
- Gợi ý mn học
2 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể xem được gợi ý môn học lại và môn học theo cấp độ
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Tab Navigator sinh viên click chọn vào phần Gợi ý môn học Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị danh sách môn học lại cho sinh viên và môn học theo cấp độ
6 Mô tả các đầu ra cho chức năng ny :
- Màn hình danh sách môn học lại và môn học theo cấp độ
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
Trang 29- Gợi ý mn học cho học kỳ
2 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể xem được gợi ý môn học cho học k tới
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng
chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
chọn vào phần Gợi ý môn học cho học k Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị danh sách môn học cho học k tới
6 Mô tả các đầu ra cho chức năng ny :
- Màn hình danh sách môn học cho học k tới
1 Mô tả tn chức năng:
- Cập nhật thng tin cá nhân
2 Mô tả tổng quát về chức năng:
Trang 30- Sinh viên đăng nhập vào hệ thống sau đó có thể cập nhật lại thông tin cá nhân của mình
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Tab Navigator sinh viên click chọn vào phần Tài khoản Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị thông tin của sinh viên, ở đây sinh viên có thể cập nhật lại thông tin của mình
6 Mô tả các đầu ra cho chức năng ny :
- Hiển thị thông tin tài khoản của sinh viên và cho php cập nhật lại thông tin
2.2.2 Yu cầu các chức năng website Người dùng (Sinh vin)
1 Mô tả tn chức năng:
- Đăng nhập vo hệ thống ứng dụng
Trang 312 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập bằng tài khoản trường đại học Thủ Dầu Một để sử dụng ứng dụng
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Email của trường được xác thực bởi google, id của email
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sinh viên, đăng nhập vào hệ thống bằng tài khoản email do nhà trường cung cấp Sau khi xác thực bởi google hệ thống sẽ kiểm tra xác nhận và trả kết quả đăng nhập thành công hay thất bại và yêu cầu nhập lại Nếu tài khoản email không phải do nhà trường cung cấp thì hệ thống sẽ thông báo email không tồn tại
6 Mô tả các đầu ra cho chức năng ny :
- Trả về kết quả hiển thị trên giao diện đăng nhập thành công rồi chuyển hướng đến giao diện chính dành cho sinh viên hoặc đăng nhập thất bại yêu cầu nhập lại
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Tra cứu điểm thi
Trang 322 Mô tả tổng quát về chức năng:
- Sinh viên có thể tra điểm của mình thông qua email hoặc mã sinh viên
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Email hoặc mã sinh viên
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sinh viên nhập vào email hoặc mã sinh viên sau đó hệ thống sẽ tra cứu điểm thi tương ứng với mã sinh viên hoặc email mà sinh viên nhập vào
- Sau đó click button Tìm
6 Mô tả các đầu ra cho chức năng ny :
- Trả về kết quả hiển thị trên giao diện danh sách điểm các môn học tương ứng của sinh viên thông qua email hoặc mã sinh viên mà sinh viên đã nhập vào
- Nếu hệ thống tìm ra được sinh viên đó thì sẽ hiển thị ra giao diện danh sách điểm các môn học, nếu không thì hệ thống sẽ thông báo không tìm thấy
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
2.2.2.3. Mô tả chức nn Nhập điểm môn học g
1 Mô tả tn chức năng:
Trang 332 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể nhập được điểm của từng môn học
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin sinh viên (mã sinh viên, email, lớp, họ tên)
- Thông tin môn học (mã môn học, tên môn học, mã lớp , tín chỉ, chương trình đào tạo)
- Thông tin điểm (điểm quá trình, điểm thi, điểm tng kết)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Menu sinh viên click chọn vào phần Nhập điểm Ở đây hệ thống sẽ cho sinh viên chọn môn học và điền đầy đủ thông tin môn học bao gồm 3 cột điểm
6 Mô tả các đầu ra cho chức năng ny :
- Thông báo nhập điểm thành công và reload lại trang
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Xem Điểm mn học
Trang 342 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể xem được điểm của từng môn học thông qua các học k đã học
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Menu sinh viên click chọn vào phần Xem điểm Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị danh sách điểm các môn học qua các học kỹ đã học
6 Mô tả các đầu ra cho chức năng ny :
- Màn hình danh sách điểm các môn học đã học và điểm trung bình tích lũy số tín chỉ đạt được và còn thiếu
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Gợi ý mn học
Trang 35- Sinh viên đăng nhập vào hệ thống sau đó có thể xem được gợi ý môn học lại và môn học theo cấp độ
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Menu sinh viên click chọn vào phần Gợi ý môn học Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị danh sách môn học lại cho sinh viên và môn học theo cấp độ
6 Mô tả các đầu ra cho chức năng ny :
- Màn hình danh sách môn học lại và môn học theo cấp độ
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Gợi ý mn học cho học kỳ
2 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể xem được gợi ý môn học cho học k tới
Trang 363 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Menu sinh viên click chọn vào phần Gợi ý môn học cho học k Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị danh sách môn học cho học k tới
6 Mô tả các đầu ra cho chức năng ny :
- Màn hình danh sách môn học cho học k tới
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Cập nhật thng tin cá nhân
2 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể cập nhật lại thông tin cá nhân của mình
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
Trang 374 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Sau khi sinh viên đăng nhập vào hệ thống ở phần Menu sinh viên click chọn vào phần Profile Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị thông tin của sinh viên, ở đây sinh viên có thể cập nhật lại thông tin của mình
6 Mô tả các đầu ra cho chức năng ny :
- Hiển thị thông tin tài khoản của sinh viên và cho php cập nhật lại thông tin
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
2.2.2.8 Mô tả chc nng thống kê
1 Mô tả tn chức năng:
- Thống kê thng tin
2 Mô tả tổng quát về chức năng:
- Sinh viên đăng nhập vào hệ thống sau đó có thể xem thống kê của cá nhân
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản người dùng (đã đăng nhập)
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
Trang 38- Sau khi sinh viên đăng nhập vào hệ thống ở phần Menu sinh viên click chọn vào phần Thống kê Ở đây hệ thống sẽ lấy thông tin của sinh viên đã đăng nhập rồi hiển thị thông tin của sinh viên điểm trung bình tích lũy, số tín chỉ đạt được, số tín chỉ còn thiếu, biểu đồ điểm trung bình qua các học k và thống kê top 10 môn học có điểm trung bình cao nhất
6 Mô tả các đầu ra cho chức năng ny :
- Hiển thị thông tin của sinh viên điểm trung bình tích lũy, số tín chỉ đạt được, số tín chỉ còn thiếu, biểu đồ điểm trung bình qua các học k và thống kê top 10 môn học có điểm trung bình cao nhất
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
1 Mô tả tn chức năng:
- Export dữ liệu từ hệ thống ra file excel
2 Mô tả tổng quát về chức năng:
điểm của mình
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Thông tin tài khoản quản trị viên (đã đăng nhập)
- Dữ liệu từ CSDL của hệ thống
Trang 395 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- sinh viên đăng nhập
xuất ra rồi chờ hệ thống tải file về
6 Mô tả các đầu ra cho chức năng ny :
- File excel dữ liệu theo format biểu mẫu đưa ra
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
2.2.3 Yu cầu các chức năng website Quản trị (Giảng vin / Cố vấn hc tập)
1 Mô tả tn chức năng:
- Đăng nhập vo hệ thống ứng dụng
2 Mô tả tổng quát về chức năng:
- Giảng viên đăng nhập bằng tài khoản được cấp bởi hệ thống để sử dụng ứng dụng
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Tài khoản mật khẩu của giảng viên
Trang 405 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Giảng viên, đăng nhập vào hệ thống bằng tài khoản do hệ thống cung cấp Sau khi xác thực hệ thống sẽ kiểm tra xác nhận và trả kết quả đăng nhập thành công hay thất bại và yêu cầu nhập lại
6 Mô tả các đầu ra cho chức năng ny :
- Trả về kết quả hiển thị trên giao diện đăng nhập thành công rồi chuyển hướng đến
7 Mô tả người no hay hệ thống no sử dụng kết quả của chức năng ny :
2.2.3.2 Mô tả chức nng quên mật khẩu
1 Mô tả tn chức năng:
- Quên mật khẩu
2 Mô tả tổng quát về chức năng:
- Khi giảng viên quên mật khẩu thì có thể đi lại mật khẩu thông qua email
3 Mô tả những người lin quan trực tiếp sử dụng hay gián tiếp sử dụng chức năng ny:
4 Mô tả các đầu vo cho chức năng ny:
- Email của giảng viên
5 Mô tả ngữ cảnh hoạt động cho chức năng ny :
- Giảng viên click vào phần quên mật khẩu trong trang login, sau đó hệ thống sẽ bắt giảng viên nhập vào email Hệ thống sẽ xác thực email và gửi về email đó 1 mã