Xây Dựng Website Lấy Ý Kiến Trực Tuyến Về Công Tác Giảng Dạy Của Giảng Viên HPU

Chuyên khảo kỹ thuật phân tích Xây dựng website lấy ý kiến trực tuyến về công tác giảng dạy của giảng viên hpu, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2023

69
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC MICROSERVICES

1.1. Microservices là gì?

1.2. Tổng quan về API

1.3. Tổng quan về JWT

1.4. Monolith Application là gì?

1.5. Kiến trúc microservices là gì?

1.6. Các đặc trưng của mô hình Microservices

1.7. Các ưu và nhược điểm của Microservices

1.8. Thiết kế phần mềm theo kiến trúc Microservices

1.9. Kết luận chương

2. CHƯƠNG 2: TỔNG QUAN VỀ DOMAIN DRIVEN DESIGN (DDD)

2.1. Anti - Coruption layer

2.2. Basic element – những thành phần cơ bản

2.3. Kết luận chương

3. CHƯƠNG 3: ỨNG DỤNG THỰC TẾ

3.1. Xây dựng theo Microservices

3.2. Ứng dụng DDD vào phân tích thiết kế hệ thống

3.3. Kết quả thực nghiệm

3.4. Kết luận chương

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về việc xây dựng website lấy ý kiến trực tuyến tại HPU

Việc xây dựng website lấy ý kiến trực tuyến về giảng dạy tại HPU là một bước tiến quan trọng trong việc nâng cao chất lượng giáo dục. Website này không chỉ giúp thu thập ý kiến phản hồi từ sinh viên mà còn tạo điều kiện cho giảng viên cải thiện phương pháp giảng dạy. Thông qua việc áp dụng công nghệ hiện đại, HPU có thể tối ưu hóa quy trình đánh giá và phản hồi, từ đó nâng cao chất lượng đào tạo.

1.1. Lợi ích của việc lấy ý kiến trực tuyến từ sinh viên

Việc lấy ý kiến trực tuyến giúp tiết kiệm thời gian và chi phí cho cả sinh viên và giảng viên. Hệ thống này cho phép sinh viên dễ dàng gửi phản hồi mà không cần phải điền phiếu giấy, từ đó tăng cường tính chính xác và độ tin cậy của dữ liệu.

1.2. Tầm quan trọng của phản hồi trong giáo dục

Phản hồi từ sinh viên là yếu tố quan trọng giúp giảng viên điều chỉnh phương pháp giảng dạy. Nó không chỉ giúp cải thiện chất lượng giảng dạy mà còn tạo ra môi trường học tập tích cực hơn cho sinh viên.

II. Những thách thức trong việc xây dựng website lấy ý kiến trực tuyến

Mặc dù việc xây dựng website lấy ý kiến trực tuyến mang lại nhiều lợi ích, nhưng cũng không thiếu những thách thức. Các vấn đề như bảo mật thông tin, tính khả dụng của hệ thống và sự chấp nhận của người dùng là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn đề bảo mật thông tin người dùng

Bảo mật thông tin là một trong những thách thức lớn nhất khi xây dựng website. Cần phải đảm bảo rằng dữ liệu của sinh viên được bảo vệ an toàn và không bị rò rỉ ra ngoài.

2.2. Khó khăn trong việc thu hút người dùng

Để website hoạt động hiệu quả, cần có sự tham gia tích cực từ sinh viên. Việc khuyến khích sinh viên sử dụng website để gửi ý kiến phản hồi là một thách thức không nhỏ.

III. Phương pháp xây dựng website lấy ý kiến trực tuyến hiệu quả

Để xây dựng một website lấy ý kiến trực tuyến hiệu quả, cần áp dụng các phương pháp hiện đại như kiến trúc Microservices và sử dụng GraphQL. Những công nghệ này giúp tối ưu hóa quy trình phát triển và nâng cao trải nghiệm người dùng.

3.1. Ứng dụng kiến trúc Microservices trong phát triển website

Kiến trúc Microservices cho phép chia nhỏ ứng dụng thành các dịch vụ độc lập, giúp dễ dàng bảo trì và mở rộng. Điều này rất quan trọng trong việc phát triển một website phức tạp như vậy.

3.2. Sử dụng GraphQL để tối ưu hóa truy vấn dữ liệu

GraphQL giúp tối ưu hóa việc truy vấn dữ liệu, cho phép người dùng chỉ lấy những thông tin cần thiết. Điều này không chỉ cải thiện hiệu suất mà còn nâng cao trải nghiệm người dùng.

IV. Ứng dụng thực tiễn của website lấy ý kiến tại HPU

Website lấy ý kiến trực tuyến đã được triển khai tại HPU và mang lại nhiều kết quả tích cực. Sinh viên có thể dễ dàng gửi phản hồi, và giảng viên có thể nhanh chóng nhận được thông tin để cải thiện chất lượng giảng dạy.

4.1. Kết quả khảo sát từ sinh viên

Kết quả khảo sát cho thấy sinh viên cảm thấy hài lòng hơn với phương pháp giảng dạy khi có cơ hội gửi ý kiến phản hồi. Điều này chứng tỏ rằng việc lấy ý kiến trực tuyến là một bước đi đúng đắn.

4.2. Cải tiến phương pháp giảng dạy dựa trên phản hồi

Giảng viên đã có thể điều chỉnh phương pháp giảng dạy dựa trên phản hồi từ sinh viên, từ đó nâng cao chất lượng giảng dạy và tạo ra môi trường học tập tích cực hơn.

V. Kết luận và tương lai của website lấy ý kiến tại HPU

Việc xây dựng website lấy ý kiến trực tuyến tại HPU không chỉ là một giải pháp công nghệ mà còn là một bước tiến quan trọng trong việc nâng cao chất lượng giáo dục. Tương lai của website này hứa hẹn sẽ mang lại nhiều giá trị hơn nữa cho cả sinh viên và giảng viên.

5.1. Tầm nhìn phát triển trong tương lai

HPU sẽ tiếp tục phát triển và cải tiến website để đáp ứng nhu cầu ngày càng cao của sinh viên và giảng viên. Việc áp dụng công nghệ mới sẽ là một phần quan trọng trong chiến lược phát triển này.

5.2. Khuyến khích sự tham gia của sinh viên

Để website hoạt động hiệu quả, cần có sự tham gia tích cực từ sinh viên. Các chương trình khuyến khích sẽ được triển khai để tăng cường sự tham gia của sinh viên trong việc gửi ý kiến phản hồi.

10/07/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC MICROSERVICES 1.1 Microservices là gì? Microservices [1] là một kiểu kiến trúc phần mềm. Được hiểu một cách ngắn gọn là chúng ta chia một phần mềm lớn thành nhiều phần khác nhau được gọi là service, mỗi service sẽ đảm nhiệm một nhiệm vụ riêng biệt và độc lập với những service khác. Mỗi service sẽ được đặt trên một server riêng để có thể dễ dàng nâng cấp cũng như phát triển ứng dụng.1 Hình ảnh tổng quan về kiến trúc Microservices Một framework microservices xây dựng một hệ thống phân tán, có khả năng mở rộng và quy mô lớn, giúp giảm thiểu hiện tượng tắc nghẽn cho cơ sở dữ liệu trung tâm. Đồng thời kiến trúc này còn cải thiện các khả năng kinh doanh cho doanh nghiệp, chẳng hạn như cho phép các ứng dụng phân phối và triển khai liên tục, tiếp cận các hệ thống công nghệ hiện đại.2 Ví dụ về mô hình kiến trúc Microservices − Tổng quan về API [2] API là các phương thức, giao thức kết nối các ứng dụng khác nhau để chia sẻ tài nguyên và dữ liệu.

Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng. API có khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng và từ đó có thể trao đổi dữ liệu giữa các ứng dụng với nhau.3 Mô tả API 8 Theo như hình trên ta có thể hiểu một cách đơn giản thì API đóng vai trò là một người trung gian (bồi bàn) có nhiệm vụ nhận yêu cầu của khách hàng và chuyển về cho đầu bếp, Sau đó bồi bàn sẽ đưa món ăn nhà bếp làm theo yêu cầu của khách hàng. RESTful API [3] là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP hoặc HTTPS.

Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API. • GET (SELECT): Trả về dữ liệu hoặc một mảng dữ liệu • POST (CREATE): Tạo mới một dữ liệu • PUT (UPDATE): Cập nhật dữ liệu • DELETE (DELETE): Xoá dữ liệu Đối với trang web lấy ý kiến trực tuyến về công tác giảng dạy của giảng viên cũng vậy, sẽ sử dụng API để giao tiếp giữa Client và Server. Và để tăng tính bảo mật cho API em có sử dụng thêm JWT (JSON Web Token) để đảm bảo rằng việc giao tiếp giữa Client và Server không bị phá hoại bởi những người khác.

− Tổng quan về JWT [4] JWT là một phương tiện đại diện cho các yêu cầu chuyển giao giữa hai bên Client – Server, các thông tin trong chuỗi JWT được định dạng bằng JSON. Trong đó chuỗi TOKEN phải có 3 phần header, payload và signature được ngăn bằng dấu “. Cả 3 phần phải được mã hoá bằng một mã bí mật để tạo ra một JWT hoàn chỉnh. 9 JWT dùng để xác định xem người dùng là ai sau khi đã đăng nhập vào hệ thống.

Mỗi khi có một yêu cầu lấy dữ liệu qua API thì JWT sẽ được tạo ra và gửi đi kèm theo request và khi đó Server sẽ xác thực lại JWT đảm bảo rằng người dùng có được phép sử dụng các dữ liệu đã request trước đó hay không. Header: Phần header sẽ chứa kiểu dữ liệu và thuật toán được sử dụng để mã hoá chuỗi JWT. Payload: Phần Payload là nơi sẽ chứa những thông tin mà mình muốn gửi đến cho Server, ngoài ra còn có thời gian hết hạn của TOKEN cũng như thời gian TOKEN được tạo ra. Signature: Phần signature sẽ được tạo ra bằng cách mã hoá phần header, payload theo như thuật toán ở phần header với một mã khoá bí mật.

Kết hợp 3 phần lại ta sẽ có một JWT hoàn chỉnh.4 Cấu trúc của JWT 10 Như vậy, khoá bí mật sẽ chỉ được lưu ở phía các Server để xác thực các lượt truy cập từ phía client thông qua API. Chúng ta không nên để lộ khoá bí mật và khoá chỉ được biết bởi những người có trách nhiệm về phần mềm được biết để tránh những việc lộ thông tin cũng như giả danh người dùng. Theo như sơ đồ trên là một thể hiện của mô hình Microservice. Một ứng dụng sẽ được chia thành một bộ các microservice, mỗi microservice thực chất là một service có thể được triển khai và chạy độc lập.

Chúng tách biệt về mặt mã nguồn, về hoạt động và dữ liệu. Mỗi microservice có nơi chứa dữ liệu của riêng của nó và chỉ có nó có quyền truy cập vào vùng dữ liệu này. Do các microservice là độc lập, chúng không giao tiếp trực tiếp với nhau mà qua một thành phần trung gian được gọi là API gateway. Có thể thấy vai trò của API gateway rất quan trọng trong mô hình microservice.

Nó là điểm đến và đi của mọi yêu cầu hay phản hồi.2 Monolith Application là gì? Trái với khái niệm Microservices, Monolith Application [5] được thiết kế để xử lý nhiều tác vụ liên quan với nhau, thường là những ứng dụng phức tạp và có nhiều tính năng có mối liên hệ chặt chẽ với nhau. Toàn bộ hệ thống có thể sẽ chứa ở một server vì vậy thường sẽ có một khối lượng code rất lớn. Một thay đổi nhỏ trong bất kỳ chức năng nào cũng có thể cần phải biên dịch và thử nghiệm lại toàn bộ nền tảng.1 Mô phỏng Monolith và microservices 1.3 Kiến trúc microservices là gì? Kiến trúc microservices [6] xem mỗi chức năng của một ứng dụng như một dịch vụ độc lập, có thể thay đổi, cập nhật hay gỡ bỏ mà không ảnh hưởng gì đến những phần còn lại của ứng dụng.1 kiến trúc microservices là gì? Các ứng dụng truyền thống được xây dựng theo kiến trúc monolithic. Khi đó, việc bổ sung tính năng mới yêu cầu phải cấu hình và cập nhật lại mọi thứ: từ quy trình, giao tiếp cho đến các vấn đề bảo mật trong ứng dụng.

Các ứng dụng monolithic truyền thống thường có vòng đời dài, chu kỳ cập nhật không ổn định và các thay đổi thường có hiệu lực lên toàn bộ hệ thống ứng dụng. Việc này sẽ tốn nhiều chi phí và đôi khi có thể gây trì trệ quá trình phát triển ứng dụng trong một doanh nghiệp. Đây là một trong những nguyên nhân chính dẫn đến sự ra đời của kiến trúc microservices. Trong đó, mọi dịch vụ được xây dựng và phát triển độc lập hoàn toàn với nhau.

Khi đó các doanh nghiệp có thể dễ dàng mở rộng dịch vụ của mình dựa trên từng nhu cầu kinh doanh cụ thể. Bên cạnh đó, các dịch vụ cũng có thể được thay đổi và cập nhật nhanh chóng mà không cần ảnh hưởng đến những thành phần khác.2 hình minh hoạ ứng dụng xây dựng theo kiến trúc microservices 1.4 Các đặc trưng của mô hình Microservices − Micro-service: Đặc trưng này được thể hiện ngay từ tên của kiến trúc. Nó là microservice chứ không phải là miniservice hay nanoservice. Trên thực tế không tồn tại mô hình kiến trúc cho miniservice hay nanoservice.

Từ microservice được sử dụng để giúp người thiết kế có cách tiếp cận đúng đắn. Một ứng dụng lớn cần được chia nhỏ ra thành nhiều phần, các thành phần đó cần tách biệt về mặt dữ liệu (Database) và phải đủ nhỏ cả về mặt kích cỡ và độ ảnh hưởng của nó trong hệ thống, khi thêm một microservice vào hệ thống cũng nên đảm bảo rằng nó đủ nhỏ để dễ dàng tháo gỡ, xoá bỏ khỏi hệ thống mà không ảnh hưởng nhiều đến các thành phần khác − Tính độc lập: Các microservice hoạt động tách biệt nhau trong hệ thống, do vậy việc build một microservice cũng độc lập với việc build các microservice khác. Thông thường, để tiện cho việc phát triển và duy trì các microservice, người phát triển nên viết các built script khác nhau cho mỗi microservice. Do tính tách biệt này mà mỗi microservice đều dễ dàng thay thế và mở rộng.

Hơn thế nữa, nó còn giúp việc phát triển các microservice linh động hơn, các microservice có thể được phát triển bởi các team khác nhau, dùng các ngôn ngữ khác nhau và tiến độ phát triển dự án cũng nhanh hơn do không có sự phụ thuộc giữa các team, mỗi team có thể chủ động quản lý phần việc riêng của mình. − Giao tiếp qua API: Các microservice giao tiếp với nhau thông qua API (Application Programming Interface). Điều này giúp giảm sự phụ thuộc 14 trực tiếp giữa các thành phần và tạo điều kiện cho việc thay đổi và mở rộng dễ dàng. − Tính chuyên biệt: Mỗi microservice là một dịch vụ chuyên biệt, có thể hoạt động độc lập, thông thường mỗi microservice đại diện cho một tính năng mà các công ty/ doanh nghiệp muốn cung cấp tới người dùng, do vậy người thiết kế hệ thống microservice cần hiểu rõ về hoạt động kinh doanh của công ty.

Các đầu vào đầu ra và chức năng của mỗi microservice cần được định nghĩa rõ ràng. − Phòng chống lỗi: Kiến trúc microservice sinh ra là để dành cho các hệ thống từ lớn đến vô cùng lớn. Nó áp dụng phương pháp chia để trị, phương pháp này giúp việc áp dụng các công cụ, kỹ thuật cho việc giám sát, phòng chống lỗi phần mềm, lỗi hệ thống hiệu quả. Khi một thành phần trong hệ thống bị lỗi, nó có thể được thay thế bằng các thành phần dự phòng một cách dễ dàng, trong quá trình thay thế thành phần bị lỗi, các thành phần khác vẫn hoạt động bình thường, do vậy hoạt động của toàn bộ hệ thống sẽ không hoặc ít bị gián đoạn.

 Tuy kiến trúc microservices mang lại nhiều lợi ích như sự linh hoạt, mở rộng dễ dàng và phát triển song song, nhưng cũng đòi hỏi một quá trình quản lý phức tạp hơn vì số lượng và sự phức tạp của các microservice. Cần đảm bảo quản lý và giám sát chúng một cách hiệu quả để đảm bảo tính sẵn sàng và hiệu suất của hệ thống.5 Các ưu và nhược điểm của Microservices Hình 1.1 Hình ảnh cấu trúc của monolithic và microservices − Kiến trúc ứng dụng nguyên khối (monolithic application) Với kiến trúc nguyên khối toàn bộ ứng dụng là một khối lớn, trong khối lớn ấy có chia thành các mô đun nhỏ, mỗi mô đun thực hiện một nhiệm vụ riêng và các mô đun thường gọi nhau qua function call.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề Xây Dựng Website Lấy Ý Kiến Trực Tuyến Về Giảng Dạy Tại HPU cung cấp cái nhìn sâu sắc về việc phát triển một nền tảng trực tuyến nhằm thu thập ý kiến từ sinh viên về chất lượng giảng dạy tại trường Đại học HPU. Tài liệu nhấn mạnh tầm quan trọng của việc lắng nghe phản hồi từ người học để cải thiện chất lượng giáo dục, đồng thời tạo ra một môi trường học tập tích cực hơn.

Độc giả có thể tìm hiểu thêm về các dự án tương tự như Đồ án xây dựng website lấy ý kiến trực tuyến về công tác giảng dạy của giảng viên hpu, nơi cũng tập trung vào việc thu thập ý kiến từ sinh viên để nâng cao chất lượng giảng dạy. Ngoài ra, tài liệu Website hỗ trợ học tập sẽ cung cấp thêm thông tin về các công cụ hỗ trợ học tập trực tuyến, giúp sinh viên có thêm tài nguyên học tập. Cuối cùng, bạn có thể tham khảo Xây dựng website học trực tuyến slearning để hiểu rõ hơn về các giải pháp học tập trực tuyến hiện đại.

Mỗi liên kết trên đều mở ra cơ hội để bạn khám phá sâu hơn về các chủ đề liên quan, từ đó nâng cao kiến thức và hiểu biết của mình trong lĩnh vực giáo dục trực tuyến.