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

Trang web Đăng ký họcphần sinh viên

53 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Tiêu đề Trang Web Đăng Ký Học Phần Sinh Viên
Tác giả Truong Binh Triet, Van Quang Phong, Le Thien Nghia
Người hướng dẫn GVHD: V6 Van Hai
Trường học Trường Đại Học Công Nghiệp Tp.Hcm
Chuyên ngành Công Nghệ Mới Trong PTUD CNTT
Thể loại Báo Cáo Đồ Án
Thành phố Hochiminh City
Định dạng
Số trang 53
Dung lượng 4,98 MB

Nội dung

CHUONG 1: GIỚI THIỆU - __ Quản lý thông tin sinh viên - __ Quản lý thông tin hoc tap - __ Quản lý thông báo và học phí 1.3 Pham vi dé tai - Dé tai nay tập trung vào việc thiết kế vả triê

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM

TRANG WEB DANG KY HOC

PHAN SINH VIEN

Trang 2

Báo cáo đồ án— Mơn Cơng nghệ mới trong PTUD CNTT

CHƯƠNG 2 : CƠ SỞ LÝ THUYÊT, 222:2222222211122231122231112711221 21.2 e2 4

2.6 Phân tích yêu cầu bằng UML 5-2 s1 2821111211 11111 1211 12212121, 6

2.6.2 Danh sách tác nhân và mơ tả - - 1 2222212211121 1221221 1181111111811 6

2.6.4 Tinh huống hoạt động L0 22121112111 21 1211 191111111112 111111 811k Hn ray 7

2.8 Deployment điàraim - 222 2201221121111 112211111151 111 11111101 0111101111 key 27 2.9 Giới thiệu và mục ổích c1 2112112221 12111211111 1111111111111 11 01 1122k re 28

PA ((N.©-ì.):8c.1'ƯẶỶVỶ 28

VI: a0 an 4 29 2.12 Chiến lược giải pháp - 2s s EE1221211212111112121111 12021211 29 2.13 Quyết định kiến trúc s1 s11 1111111111111 111111 1211111111 1 He 30

„Z8 c0 30

2.13.2 Ưu điểm/ nhược điểm ¿- 255222 2221112211222121112211111221 1.126 32

Trang 3

VN h9 àhaAaadaaiaaiaiaaaddiâdddâỶẢŸẢŸẢẢ 33

PA 5t 8n săấa 34

2.14.1 Kiến trúc của một hệ thống phần mềm (Software Architecture) 34

2.14.3 Phong cach kién tric (Architecture Style) s2 ss sec 2s 34

2.15 Tỉnh huống/ yêu cầu - 52-212 21212111112112112122 112212121 x re ng 35 2.16 Lợi ích/ đánh đỗi 5-522+22222221112211222112221122111271111112111212 1211 1 c6 36

2.16.7 Presentation Lay€f: Q02 02010211101 110111111 1111111111111 1 111111111 e2 36

CHƯƠNG 3 : HIỆN THỰC 2 1 2 1522211121212121212121 1121101112112 1e 38

3.1 Cấu hình phần cứng, phần mềm 22-21 ESEE19E11 1271112112121 21 1E xe 38

3.2 Giao didn ctha hé thong cece ccccsccssessesessseseseeseessesessesecseeseeseesessesesereses 38

CHƯƠNG 4 : KẾT LUẬN -222222222222221122221122711227111222111.21.1 21 ee 46

A.2 Han ché ctta d6 atrecccccccccccccccecscscscsesesesevevevsssesessseveevevecssssstvecstvavesusctvaveeseees 46

4.3 Huong phat ng ra .ẦẰẲdẦ3Ý'.ÝẢ 46

IV.1881008)57.0/89 (0 -‹‹‹4 47

Trang 4

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Trang 5

CHUONG 1: GIỚI THIỆU

- Quản lý thông tin sinh viên

- Quản lý thông tin hoc tap

- Quản lý thông báo và học phí

1.3 Pham vi dé tai

- Dé tai nay tập trung vào việc thiết kế vả triên khai một hệ thông quản lý lớp học tín chỉ cho sinh viên trường Đại học Công nghiệp thành phố Hồ Chí Minh

(TUH)

1.4 Mô tả yêu cầu chức năng

- Đăng nhập: sinh viên đăng nhập bằng mã sinh viên và mật khâu để vảo tài

khoản sinh viên

- Đăng xuất: sinh viên đăng xuất khỏi tài khoản sinh viên

- Lịch học theo tuần: Sinh viên xem lịch học theo tuần

- Lich thi: Sinh viên xem lịch thi của môn học phần

Trang 6

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

- Đăng ký học phần: sinh viên đăng ký theo học vào một lớp học phần nhất định (lớp tín chỉ) với số sinh viên được đăng ký tối đa được qui định cho từng lớp

học phần (tối đa 30 tín chỉ 1 hoc ki )

- Hủy học phần: Sinh viên hủy học phần đã đăng ký

- Xem kết quả học tập: Sinh viên xem thông tin học tập của mình (số tín chỉ đã đạt, số môn đã học, điểm môn học, điểm trung bình tích lùy )

- Tra cứu công nợ: Sinh viên xem công nợ

- Xem học phần đã đăng ký: Sinh viên xem học phần đã đăng ký 1.5 Yêu cầu phi chức năng

bảo vệ an toàn tuân thủ các quy định về quyền riêng tư

- _ Giao diện người dùng: Thân thiện, dé sử đụng, nhất quán và trực quan

- _ Độ tin cậy và khả năng sẵn sàng: Đáp ứng được một lượng lớn người dùng củng một lúc mà vẫn đảm bảo tính ổn định và sẵn sảng

-_ Khả năng mở rộng : Dê dàng thêm, sửa đôi các chức năng khi cân thiết

Trang 7

CHUONG 2: CO SO LY THUYET

2.1 Node.js

Node.js là một nền tảng JavaScript phía máy chủ, được xây dựng trên V§ JavaScript engine của Google Chrome Nó cho phép phát triển các ứng dụng mạng hiệu năng cao, có khả năng mở rộng lớn với kiến trúc sự kiện bat đồng bộ (asynchronous event-driven architecture)

2.3 TypeScipt

TypeScript là một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Microsoft, là một siêu ngữ của JavaScript (superset of JavaScript) Nó bô sung các tính năng như kiểu tĩnh (static typing), các lớp (classes), và các module, giúp phát triển các ứng dụng JavaScript lớn và phức tạp đễ đảng hơn

Trang 8

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

2.4 Nodemailer

Nodemailer là một công cụ mạnh mẽ và dễ sử dụng cho việc gửi email trong ứng dụng Node.js Với khả năng hỗ trợ nhiều phương thức vận chuyên và tính năng linh hoạt, Nodemailer là lựa chọn hàng đầu cho việc gửi email trong môi trường Node.Js

nhiều tính năng bô sung khác Chính vì thế Axios đang là thư viện được sử dụng rất

phổ biến ở các ứng dụng web SPA hiện đại

Trang 9

: PHẦN TICH VA THIET KE

2.6 Phan tich yéu cau bang UML

2.6.1 Usecase tong quat

2.6.2 Danh sach tac nhan va m6 ta

Danh sách tác nhân và mô tả xem ở Bảng 3-1

Người dùng (User) là một vai trò quan trọng trong hệ thống

phần mềm quản lý học tập của trường học Đối tượng này bao gồm sinh viên hoặc bất kỳ ai được cấp quyền truy cập vào các tính năng học tập và quản lý cá nhân trên hệ thống Người dùng

có thể thực hiện nhiều tác vụ liên quan đến việc quản lý quá

trình học tập của mình một cách tiện lợi và hiệu quả Nền tảng

dễ sử dụng và hiệu quả, giúp người dùng quản lý các khía cạnh quan trọng của quá trình học tập, từ đăng ký học phần đến việc theo dõi lịch học và lịch thị, cũng như quản lý thông tin cá nhân

Trang 10

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Trang 12

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

|

|

| 2.1: Đặng nhập

Trang 14

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

User GUL! yiome GUI boon authCon troller

1: Chon dang xuat Ị

1.1: Đhng suất |

| [I.1.1: Chuyến về trang đãng

Trang 16

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

2: lich hoc theo tuan

2.1: Chuyén dén trang lich hoc theo tuan

Trang 17

2 Hé thong chuyén dén trang

1 Người dùng chọn lịch thi lịch thi

Trang 18

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

2.1: Chuyến đền trang lich thi

Trang 20

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

7.2 Quay lại bước 4

Trang 21

User GUI_Home GUI_CourseRegistation registerControlier entity_Class

1: Chon họn dang đăng ký học phần _— ky hoc phd Ị i

1: Hién thị tranh đăng ký học phần

2 Hién thị thông báo chấp nhận hủy

Trang 22

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

4 Xóa học phần khỏi dsHocPhan

Trang 23

2.1: Xba hoe phần khói de|ocPhan của user deieleClass| d2, userlđ) >, 2.1.1: Save|UIser)

i 2.1.2: Debbie class success

Trang 24

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Trang 25

- — Activity

Trang 26

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Trang 28

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

1: Chọn tra cứu công nợ

alt 2: Xem thông tin công nợ ^

Trang 30

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Trang 32

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Trang 33

Kiên trúc phan mém

(Thiết kế tài liệu theo mẫu arc42) 2.9 Giới thiệu và mục đích

2.9.2 Mục tiêu

- Tối ưu hóa quá trình đăng ký học phần

- Quản lý thông tin học tập

- Quản lý thông tin sinh viên 2.10 Ràng buộc

- Mỗi học kỳ sinh viên được đăng ký tối đa 30 tín chỉ Nếu quá số này, hệ

thống sẽ không cho đăng ký

Nhóm 15 32 Lop DHKTPMI6A

Trang 34

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

- Sinh viên đăng ký theo học vào một lớp nhất định (lớp tín chỉ) với số sinh viên được đăng ký tối đa được qui định cho từng lớp

- Trường hợp các lớp đã day, sinh viên sẽ được đưa vào một danh sách dự bị

để nhà trường cân nhắc có mở thêm lớp hay không Nếu không mớ thêm lớp, sinh

viên sẽ bị hủy đăng ký môn đó

- Sau khi đăng ký thành công, một email thông bảo sẽ được gửi cho sinh viên xác nhận việc đăng ký và nhận quyết định đóng học phí

- Hệ thông cần cho phép sinh viên đăng ký xét tốt nghiệp khi đã đạt đủ số tín chỉ theo yêu cầu của từng ngành học

- Hệ thống cần cung cấp các chức năng để sinh viên có thể xem thông tin về số tín chỉ đã đạt, số môn đã học, điểm môn học, điểm trung bình tích lũy, và thời khóa biểu

2.11 Bồi cảnh và phạm vi

- Thiết kế Giao diện Thân thiện Người dùng (UI/UX): Giao diện người dùng

phải được thiết kế sao cho đễ sử dụng và thân thiện với người dùng cuối,

bao gồm cả sinh viên và nhân viên quản lý hệ thống Các nút chức năng,

biểu mẫu và thông tin phải được tổ chức một cách logic để tôi ưu trải

nghiệm người dùng

- Dap ung (Responsive Design): Giao điện cần có khả năng tự điều chỉnh và

thích nghi với kích thước màn hình khác nhau, từ màn hình máy tính lớn

đến màn hình điện thoại di động nhỏ

- _ Bảo mật Dữ liệu (Data Security): Giao diện cần có các biện pháp bảo mật mạnh mẽ để đảm bảo an toàn cho dữ liệu cá nhân của sinh viên và thông tin quan trọng của hệ thống

- _ Hiệu suất và Tốc độ (Performance and Speed): Giao diện phải được tối ưu hoa dé tăng hiệu suất và tốc độ tai trang, øiúp người dùng trải nghiệm mượt

mà và không øặp trở ngại

- = Tích hợp Hệ thong và Dịch vụ Bên Ngoai (Integration with External Systems and Services): Giao dién cần có khả năng tích hợp với các hệ thống và dịch vụ bên ngoài khác chẳng hạn email

Nhóm 15 33 Lop DHKTPMI6A

Trang 35

Tương thích Duyệt Web (Browser Compatibility): GIao diện phải hoạt động tốt trên các trình duyệt web phô biến như Google Chrome, Mozilla Firefox, Safari và Microsoft Edge để đảm bảo mọi người dùng đều có thế truy cập mà không gặp vấn đề

2.12 Chiến lược giải pháp

Sử dụng các công nghệ như React.Js xây dựng giao diện người dùng tương tác

Sử dụng Node.js để xây dựng các API backend đề giao tiếp với Presentation Layer

Sử dụng MoneoDB để lưu trữ đữ liệu, vì MongoDB phù hợp với dữ liệu

không cần quan hệ vả có thể mở rộng dễ dàng

Sử dung MongoDB Node.js Driver để kết nối và thao tác với cơ sở dữ liệu MongoDB

Sử dụng nodemailer để gửi email từ hệ thống

Sử dụng thuật toán hashcode (ví dụ: bcrypt) để bảo mật mật khâu của ngudl dùng trong cơ sở đữ liệu

Sử dụng Git để quản lý mã nguồn của dự án, bao gồm việc theo dõi các phiên bản, quản lý nhánh và hợp nhất mã nguồn

tốt các yêu cầu và tình huống cụ thể trên bằng cách chia ứng dụng thảnh các lớp

giao diện người dùng, logic và dữ liệu Điều này giúp tách biệt các phần của hệ

thống và đễ dàng quản lý, mở rộng và bảo trì Ví vậy chọn mô hình kiến trúc 3-layer

architecture cho việc hiện thực ứng dụng:

Presentation Layer:

Trang 36

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

- - Giao diện thân thiện: Phải có giao diện dễ sử dụng và hiệu quả để sinh viên có thể đăng ký môn học một cách nhanh chóng và đễ dàng Business Layer:

- _ Xử lý loeic nghiệp vụ, bao gồm kiểm tra số lượng sinh viên đăng ký và quản lý danh sách chờ

- _ Xử lý đồng thời nhiều yêu cầu: Hệ thống cần xử lý đồng thoi hang ngan

yêu cầu đăng ký môn học từ các sinh viên trong thời gian ngắn

- Tinh nhat quan va dang tin cậy: Đảm bảo tính nhất quán của dữ liệu và

hoạt động của hệ thống, tránh trường hợp trùng lặp đăng ký hoặc mắt

dữ liệu

bị khi lớp học đây và quyết định mở thêm lớp dựa trên nhu cầu của sinh viên

Data Layer:

quan

chóng để đảm bảo trải nghiệm người dùng tốt

quan trọng khác trên cơ sở đữ liệu

- - Dự phòng và phục hỏi: Có hệ thống đự phòng và phục hồi đữ liệu để dam bao không mất đữ liệu quan trọng trong trường hợp sự cố xảy ra Tổng quan:

- _ Khả năng mở rộng: Hệ thống cần có khả năng mở rộng để có thể chứa đựng và xử lý số lượng lớn đữ liệu vả người dùng

hoat dé dé dang bao tri và nâng cấp khi cần thiết

Trang 37

không ảnh hưởng đến các phần khác của hệ thống, giúp dễ dàng mở rộng hệ thông theo yêu câu mới

Trang 38

Báo cáo đồ án— Môn Công nghệ mới trong PTUD CNTT

Tính tái sử dụng cao: Các lớp có thể được tái sử dụng trong các phần khác của ứng dụng hoặc thậm chí trong các dự án khác, giảm thiểu công sức phát triên và bảo trì

Dễ bảo trì và kiểm thử: Do mỗi lớp độc lập với các lớp khác, việc bảo trì và kiếm thử trở nên dễ dàng hơn

Hiệu suất cao: Cầu trúc lớp giúp tôi ưu hóa hiệu suất vì mỗi lớp chỉ chịu trách nhiệm cho một phần nhất định của logic

2.13.2.2 Nhược điểm

Khả năng chồng chéo (Overlap): Có thể xảy ra tình trạng một số logic hoặc tính năng được triển khai ở nhiều lớp, dẫn đến việc phức tạp hóa

mã nguồn và khó khăn trong việc bảo trì

Khó khăn trong quản lý các phụ thuộc: Các lớp có thê phụ thuộc lẫn nhau một cách phức tạp, đặc biệt khi có các yêu cầu động và thay đôi thường xuyên

Khả năng không linh hoạt: Cấu trúc lớp có thê làm hạn chế sự linh hoạt

khi cần thay đôi logic hoặc tính năng một cách nhanh chóng

Phức tạp trong triển khai ban đầu: Việc phân chia hệ thống thành các lớp có thê đòi hỏi thời gian và kỹ năng trong quá trình triển khai ban đầu

Chi phí và tài nguyên: Mô hình layer có thể đòi hỏi chỉ phí va tai

nguyên lớn hơn cho việc phát triển và bảo trì hệ thống so với các mô hình đơn giản hơn

2 13.3 Quy trình

1 User sử dụng các chức năng ở WebForm( GUI) trong tầng

registrationROutes) tương ứng trong tầng Business Layer

Routes định tuyến các yêu cầu từ WebForm đến các controller (authController, registrationController) trong tng

Trang 39

3 Controller xử lý yêu cầu từ WebForm, xác định hành động cần thực hiện và gọi các phương thức tương ứng đến Model(Account, User, Class, Subject) để thực hiện logic kinh doanh

4 Model tuong tac véi co so dir ligu (MongoDB) tang Data dé truy xuat

và cập nhật dữ liệu ứng với yêu cầu từ Controller

5 Kết quả được trả về từ MongoDB được chuyền lại qua Controller, Routes và WebForm đề hiến thị cho người dùng

2.14 Khái niệm

2.14.1 Kiến trúc của một hệ thống phần mềm (Software Architecture)

Kiến trúc của một hệ thống phần mềm (Software Architecture) mô tả các thành phần chính của nó, các mỗi quan hệ của các thành phần và cách chúng tương tác với nhau

Kiến trúc đóng vai trò như một bản thiết kế cho một hệ thống Nó cung cấp một sự trừu tượng để quản lý độ phức tạp của hệ thống và thiết lập một cơ chế giao tiếp và phối hợp giữa các thành phân

2.14.2 Thiết kế phần mềm (Software Design)

Thiết kế phần mềm cung cấp một kế hoạch thiết kế mô tả các phan tu cua hé thống, cách chúng phủ hợp và làm việc cùng nhau để đáp ứng yêu cầu của hệ thống Các mục tiêu của việc có một kế hoạch thiết kế như sau:

« _ Để thương lượng các yêu cầu hệ thống và đặt kỳ vọng với khách hàng, nhân viên tiếp thị và quản ly

‹« _ Hoạt động như một bản thiết kế trong quá trình phát triển

‹ _ Hướng dẫn các tác vụ triển khai, bao gồm thiết kế chỉ tiết, mã hóa, tích hợp và thử nghiệm

2.14.3 Phong cách kiến trúc (Architecture Style)

Phong cách kiến trúc (Architecture Style) đề cập đến cách tô chức và thiết kế cấu trúc của một hệ thông phần mềm Các architecture style định nghĩa các mẫu tổ chức và liên kết các thành phần phần mềm để đạt được các mục tiêu nhất định về hiệu suât, bảo trì, mở rộng, và sự linh hoạt

Ngày đăng: 28/12/2024, 15:03

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

TÀI LIỆU LIÊN QUAN