MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI NGHIÊN CỨU HỆ THỐNG ĐẢM BẢO CHẤT LƯỢNG GIÁO DỤC TẠI VKU LỜI CẢM ƠN Trong[.]
GIỚI THIỆU
Tên đề tài
“Nghiên cứu hệ thống đảm bảo chất lượng giáo dục tại VKU”.
Mục tiêu
Ứng dụng đảm bảo chất lượng (ĐBCL) nội bộ của trường Đại học CNTT - TT Việt – Hàn được thiết kế để liên tục đánh giá, đo lường và cải thiện chất lượng các hoạt động chính như học tập, giảng dạy, nghiên cứu và cung ứng dịch vụ Hệ thống ĐBCL không chỉ đáp ứng sứ mệnh và tầm nhìn của nhà trường mà còn đạt được các mục tiêu chiến lược và yêu cầu của các bên liên quan.
Hai mục tiêu chính trong thiết kế và vận hành hệ thống ĐBCL nội bộ là: đầu tiên, đánh giá và kiểm soát chất lượng toàn diện để nâng cao chất lượng của nhà trường; thứ hai, đáp ứng các yêu cầu và tiêu chuẩn nhằm hỗ trợ giảng viên và sinh viên, thông qua việc thông báo trước nội dung và yêu cầu chuẩn bị cho mỗi môn học.
Tổng quan về tình hình nghiên cứu thuộc lĩnh vực của đề tài
Hiện nay, nhiều sinh viên gặp khó khăn trong việc theo dõi lịch trình và nội dung giảng dạy của các học phần, dẫn đến việc chuẩn bị cho các buổi học không hiệu quả Để cải thiện tình hình này, cần có một ứng dụng di động giúp thông báo và nhắc nhở sinh viên về lịch trình và nội dung học tập cho ngày tiếp theo Việc này sẽ giúp sinh viên dễ dàng chuẩn bị bài, từ đó nâng cao chất lượng và hiệu quả của các buổi học.
Dự án của chúng em nhằm nâng cao chất lượng giáo dục tại Đại học Đà Nẵng, đặc biệt là trường đại học VKU, thông qua việc đảm bảo thực hiện đúng nội dung giảng dạy các học phần Dự án sẽ hỗ trợ giảng viên và sinh viên, góp phần cải thiện chất lượng đào tạo đại học.
Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài
Giáo dục đóng vai trò quan trọng trong sự phát triển của sinh viên, tuy nhiên, tiến độ giảng dạy và học tập hiện nay chưa được kiểm soát chặt chẽ Giảng viên có thể không tuân thủ lịch trình giảng dạy đã đề ra, khiến sinh viên không biết trước nội dung bài học tiếp theo để chuẩn bị Điều này đặc biệt nghiêm trọng khi có các kỳ thi, vì nếu sinh viên nghỉ học nhiều hoặc không nắm rõ lịch trình môn học, họ sẽ gặp khó khăn trong việc vượt qua môn học.
Trong lĩnh vực giáo dục, nghiên cứu khoa học và chuyển giao công nghệ là những hoạt động có hệ thống nhằm đạt được hiểu biết khách quan trong học tập Những hiểu biết này được ứng dụng vào thực tiễn giáo dục, bao gồm quản lý, giảng dạy, nghiên cứu và học tập Việc phát triển ứng dụng hỗ trợ đào tạo tại các trường đại học có vai trò quan trọng, giúp khắc phục những thiếu sót và nâng cao chất lượng giáo dục cho sinh viên và đội ngũ giảng dạy.
Nhóm chúng em hy vọng rằng nền tảng Web và ứng dụng Android cho đề tài “Nghiên cứu hệ thống đảm bảo chất lượng giáo dục tại VKU” sẽ đáp ứng được yêu cầu và kỳ vọng, đồng thời thể hiện sự nhiệt tình hỗ trợ từ thầy cô.
Giới thiệu về dự án
Nền tảng Web và ứng dụng Android này hỗ trợ quản lý hoạt động đảm bảo chất lượng giáo dục, giúp thực hiện công tác quản lý một cách nghiêm túc và đúng quy định Hệ thống này là cơ sở để kiểm tra và đôn đốc tiến độ hoàn thành báo cáo tự đánh giá cũng như đánh giá ngoài theo chu kỳ và quy định hiện hành.
Xây dựng một hệ thống quản lý hoạt động đảm bảo chất lượng giáo dục:
Giảng viên cần lưu ý về môn học sẽ dạy vào ngày mai và chuẩn bị đầy đủ tài liệu cần thiết Việc này nhằm đảm bảo nội dung giảng dạy được thực hiện đúng tiến độ và duy trì chất lượng giảng dạy.
Hệ thống sẽ thông báo cho sinh viên về lịch học và nội dung học trong vòng 2 giờ trước khi bắt đầu buổi học, giúp sinh viên nắm rõ những gì sẽ học vào ngày mai và đảm bảo lịch trình học tập thuận lợi.
Hệ thống được phát triển trên nền tảng Web và ứng dụng cho hệ điều hành Android, cho phép người dùng truy cập dễ dàng Ứng dụng và cơ sở dữ liệu kết nối với nhau thông qua REST API, sử dụng framework Laravel để đảm bảo hiệu suất và tính ổn định.
CƠ SỞ LÝ THUYẾT
Lựa chọn công cụ thực hiên
Việc chọn lựa công cụ phù hợp là rất quan trọng, vì nó phản ánh sự hiểu biết sâu sắc về vấn đề cần giải quyết Cần nắm rõ đặc trưng của bài toán và cân nhắc các điểm mạnh, yếu của môi trường xung quanh để đưa ra quyết định đúng đắn Hơn nữa, công cụ được sử dụng sẽ ảnh hưởng đến hiệu quả và chất lượng của chương trình được xây dựng.
- Trên nền tảng Web: HTML5, CSS3, JS, Bootstrap 4 framework, Jquery, PHP, Laravel famework, database MySQL, Xampp.
- Trên nền tảng Android: Kotlin, Android Studio, Virtual Device.
Phương pháp phân tích và thiết kế hướng đối tượng UML
2.2.1 Phương pháp phân tích thiết kế
Trong phát triển phần mềm, quá trình sản xuất được chia thành nhiều giai đoạn như thu thập và phân tích yêu cầu, thiết kế hệ thống, phát triển, kiểm thử, triển khai và bảo trì Giai đoạn phân tích và thiết kế là khó khăn nhất, giúp xác định yêu cầu và giải pháp chi tiết cho phần mềm Nó trả lời hai câu hỏi quan trọng: phần mềm này làm gì và làm như thế nào Một phương pháp hiệu quả trong phân tích và thiết kế phần mềm là xem hệ thống như một tập hợp các đối tượng tương tác với nhau, được gọi là Phân tích thiết kế hướng đối tượng (OOAD) Việc mô tả các đối tượng và sự tương tác của chúng giúp hiểu rõ hơn về hệ thống và thực hiện cài đặt hiệu quả.
2.2.2 Đối tượng là gì? Đối tượng là những sự vật, sự việc mà có những tính chất, đặc tính, hành động giống nhau và ta gom góp lại thành đối tượng Ví dụ: Sinh viên là một đối tượng vì sinh viên có các đặc tính như tên, mã sinh viên, giới tính… và những hành động như đi học, điểm danh… Mỗi sinh viên là thể hiện của đối tượng sinh viên.
2.2.3 Khái niệm phân tích hướng đối tượng (Object Oriented Analysis - OOA)
Phân tích hướng đối tượng là giai đoạn quan trọng trong việc phát triển mô hình chính xác và dễ hiểu cho người sử dụng, bao gồm các đối tượng và khái niệm từ đời sống thực Phương pháp này cho phép chúng ta mô hình hóa các thực thể của vấn đề thực tế, đồng thời duy trì cấu trúc, mối quan hệ và hành vi của chúng.
2.2.4 Khái niệm thiết kế hướng đối tượng (Object Oriented Design - OOD)
Thiết kế hướng đối tượng tổ chức chương trình thành các tập hợp đối tượng cộng tác, trong đó mỗi đối tượng là thực thể của một lớp Các lớp này tạo thành một cây cấu trúc với mối quan hệ thừa kế.
Giai đoạn OOD nhằm mục đích phát triển thiết kế dựa trên kết quả từ giai đoạn OOA, với sự chú ý đến các quy định phi chức năng, yêu cầu về môi trường và khả năng thực thi.
Trong giai đoạn OOD, nhà thiết kế định nghĩa các chức năng, thủ tục, thuộc tính cũng như mối quan hệ của một hay nhiều lớp.
Ngôn ngữ mô hình hóa thống nhất (UML) là một công cụ quan trọng trong thiết kế hệ thống, sử dụng các ký hiệu hình học để thể hiện và mô tả các thiết kế theo phương pháp hướng đối tượng UML không chỉ giúp đặc tả và trực quan hóa hệ thống mà còn đóng vai trò là cầu nối giao tiếp hiệu quả giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm.
UML được xây dựng với chủ đích là:
- Mô hình hóa các hệ thống sử dụng các khái niệm đối tượng.
- Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hóa.
- Giải quyết vấn đề về mức độ kế thừa trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau.
- Tạo một ngôn ngữ mô hình hóa có thể sử dụng bởi người và máy.
Mô hình MVC
MVC là một mô hình giúp chúng ta hiểu cách thức hoạt động của các ứng dụng Web Hãy hình dung việc chuẩn bị một bữa tối với chiếc tủ lạnh đầy thức ăn, trong đó mọi nguyên liệu bạn có chính là Model.
Bạn có nhiều lựa chọn công thức món ăn khác nhau, tương tự như vai trò của Controller Các món ăn sau khi chế biến và bày biện sẵn sàng chính là View.
2.3.1 Khái niệm mô hình MVC
Hình 2 1 Mô tả về mô hình MVC
MVC, viết tắt của Model – View – Controller, là một mô hình kiến trúc phần mềm nhằm quản lý và phát triển dự án phần mềm một cách có hệ thống Mô hình này được áp dụng phổ biến, đặc biệt trong các ngôn ngữ lập trình Web.
Mô hình MVC và các thành phần bên trong của MVC:
Mô hình có vai trò quan trọng trong việc tương tác với cơ sở dữ liệu, bao gồm tất cả các hàm và phương thức để truy vấn dữ liệu Controller sẽ sử dụng các hàm và phương thức này để lấy dữ liệu và chuyển tiếp đến view.
- View: có nhiệm vụ tiếp nhận dữ liệu từ controller và hiển thị nội dung qua giao diện Website.
Controller là thành phần trung gian giữa model và view, có nhiệm vụ tiếp nhận yêu cầu từ client, xử lý request, tải model tương ứng, gửi dữ liệu qua view và trả kết quả về cho client.
2.3.2 Ưu nhược điểm của mô hình MVC
- Hệ thống phân ra từng phần nên dễ dàng phát triển.
- Chia thành nhiều modun nhỏ nên nhiều người có thể làm chung dự án.
- Vấn đề bảo trì và nâng cấp dễ dàng hơn.
- Dễ dàng debug trong quá trình xây dựng.
- Xây dựng cầu kỳ và mất thời gian để xây dựng các thư viện.
Laravel Framework
Framework là thư viện chứa các hàm lập trình sẵn, giúp tăng tốc độ phát triển phần mềm Sử dụng framework không chỉ tiết kiệm thời gian mà còn nâng cao tính bảo mật cho hệ thống.
Laravel là một framework PHP được phát hành lần đầu vào tháng 6 năm 2011 Ngay từ khi ra mắt, Laravel đã thu hút sự chú ý nhờ vào các tính năng nổi bật như Eloquent ORM, localization, models and relationships, routing, caching, sessions và views Tác giả của Laravel, Taylor Otwell, đã phát triển framework này nhằm khắc phục những vấn đề và thiếu sót mà CodeIgniter gặp phải.
2.4.3 Tại sao sử dụng Laravel để xây dựng RESTful API cho moblie
The Laravel framework offers numerous features that enable rapid application development It includes a lightweight templating engine called "Blade," which simplifies the creation of common tasks such as authentication, session management, caching, and RESTful API routing Additionally, Laravel inherits strengths from other frameworks, enhancing its functionality and usability.
Laravel framework nổi bật với nhiều điểm mạnh, bao gồm khả năng xây dựng nhanh chóng thông qua các câu lệnh đơn giản Hệ thống routing của Laravel cho phép tạo URL linh hoạt và dễ kiểm soát, với hai loại URL là Web.php cho ứng dụng web và API.php cho RESTful API, phục vụ cho ứng dụng di động Đặc biệt, với mã nguồn mở, Laravel hỗ trợ phát triển hệ thống quy mô lớn và người dùng có thể dễ dàng tìm kiếm sự trợ giúp từ các diễn đàn như Laracast Cuối cùng, Laravel cũng cung cấp tính năng xác thực (Authenticate) dễ dàng, giúp bảo mật ứng dụng hiệu quả.
Web authenticate từ laravel framework 5 trở lên Bên cạnh đó cũng sẽ dễ dàng xây dựng API authenticate. o Sự kế thừa (Method or Dependency Injection): Laravel
Inversion of Control (IoC) là một công cụ mạnh mẽ giúp quản lý sự kế thừa và loại bỏ các phụ thuộc lớp mã hóa cứng Container IoC của Laravel là một trong những tính năng nổi bật, cho phép dễ dàng thêm và quản lý các thư viện thông qua file composer.json Trình xây dựng truy vấn cơ sở dữ liệu của Laravel cung cấp giao diện thuận tiện để tạo và thực hiện các truy vấn Hơn nữa, Laravel cũng tích hợp sẵn hệ thống testing với phpunix.xml, hỗ trợ việc kiểm tra và gỡ lỗi hiệu quả.
Laravel framework cho phép chúng ta xây dựng ứng dụng và dịch vụ RESTful một cách nhanh chóng và dễ dàng, chính vì vậy nó trở thành framework thân thiện và dễ sử dụng nhất trong các framework PHP kể từ khi ra mắt.
Khái niệm về RESTful API trong Moblie App
Với sự phát triển mạnh mẽ của phần mềm di động và JavaScript, việc sử dụng API RESTful trở thành giải pháp tối ưu để tạo ra một giao diện đồng nhất giữa dữ liệu và người dùng.
RESTful API là giao thức giao tiếp mạng giữa các ứng dụng, sử dụng Reppresentational State Transfer (REST) và thường dựa trên giao thức không trạng thái như HTTP Các phương thức HTTP phổ biến được sử dụng trong RESTful API bao gồm GET, POST, PUT và DELETE.
- GET : truy xuất dữ liệu
- POST : tạo mới dữ liệu
- PUT : cập nhật dữ liệu
Dữ liệu sẽ là mục tiêu cho các hành động trong hệ thống, và giải pháp là sử dụng các ứng dụng hoặc framework để tự động hóa việc kiểm tra sản phẩm Điều này tương tự như việc một robot thực hiện các kịch bản đã được lập trình sẵn bằng ứng dụng của chúng ta Hiện nay, có nhiều phần mềm và framework hỗ trợ tự động hóa kiểm tra trên tất cả các nền tảng như Web, iOS và Android.
Giới thiệu công cụ Android Studio
Android Studio là IDE chính thức cho phát triển ứng dụng Android, ra mắt vào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O Phần mềm này được phát hành miễn phí theo giấy phép Apache Licence 2.0.
Android Studio bắt đầu giai đoạn truy cập xem trước sớm với phiên bản 0.1 vào tháng 5 năm 2013, sau đó chuyển sang giai đoạn beta với phiên bản 0.8 phát hành vào tháng 6 năm 2014 Phiên bản ổn định đầu tiên, phiên bản 1.0, được ra mắt vào tháng 12 năm 2014.
Based on JetBrains' IntelliJ IDEA, Android Studio is specifically designed for Android application development It supports Windows, Mac OS X, and Linux operating systems and serves as Google's official IDE for developing native Android applications, replacing the Eclipse-based Android Development Tools (ADT).
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Yêu cầu bài toán, khảo sát nghiệp vụ
Hiện nay, việc kiểm soát và đảm bảo tiến độ giảng dạy còn hạn chế, dẫn đến giảng viên không bám sát lịch trình và sinh viên không biết trước nội dung bài học Do đó, cần xây dựng một hệ thống quản lý hoạt động giáo dục chất lượng trên nền tảng Web, đồng thời phát triển ứng dụng trên hệ điều hành Android, với cơ sở dữ liệu tương tác qua RestAPI dựa trên Laravel framework.
Sau khi nắm bắt yêu cầu từ nhà trường, chúng em thấy cần có những chức năng quan trọng như sau:
- Chức năng thêm, sửa, xóa, cập nhật đề cương học phần trên nền tảng Web.
- Xuất gen ma trận chuẩn đầu ra cho các khoa các ngành trên nền tảng Web.
- Đăng ký, đăng nhập yêu cầu về giao diện (Sử dụng đăng nhập bằng Gmail Google)
- Xem được lịch trình học đối với sinh viên cũng như là lịch trình giảng dạy đối với giảng viên ứng với các học phần.
- Xây dựng hệ thống thông trước báo lịch dạy và học cho giảng viên và sinh viên nhà trường.
Về giao diện ứng dụng đề ra yêu cầu về giao diện như sau:
- Trang chủ giao diện đơn giản, thân thiện.
- Bố cục hài hòa, màu sắc dễ nhìn, dễ sử dụng.
Yêu cầu về hệ thống:
Hệ thống hoạt động nhanh chóng và chính xác, cung cấp đầy đủ các chức năng cơ bản cần thiết Người dùng có thể dễ dàng xem lịch dạy và học, tra cứu thông tin môn học, cũng như nhận thông báo về lịch dạy và học trước giờ vào lớp cho cả sinh viên và giảng viên.
- Đảm bảo việc giảng dạy được bám sát được nội dung giảng dạy đảm bảo tiến độ và chất lượng giảng dạy.
- Đảm bảo được việc thông tin lịch trình của học phần đến sinh viên, để sinh viên chuẩn bị tốt cho tiết học.
- Có thể nâng cấp, bảo trì, quản lý dễ dàng.
3.1.2 Các đối tượng tham gia vào hệ thống
Người sử dụng ứng dụng:
- Là các giảng viên thuộc đại học VKU.
- Là các sinh viên thuộc trường VKU.
Người quản trị hệ thống:
- Là người toàn quyền quản trị hệ thống, thống kê, báo cáo,quản lý được tất cả lịch trình dạy và học của nhà trường.
Biểu đồ ca sử dụng (Usecase diagram)
Biểu đồ ca sử dụng là một mô tả đồ họa về tương tác của người dùng với hệ thống, thể hiện các ca sử dụng và loại người dùng khác nhau Các trường hợp sử dụng được biểu thị bằng hình tròn hoặc hình elip, trong khi các diễn viên thường được thể hiện dưới dạng hình người que Biểu đồ này thường đi kèm với các loại biểu đồ khác để cung cấp cái nhìn tổng quan hơn về hệ thống.
Biểu đồ ca sử dụng bao gồm các thành phần chính như Actor, Use Case và Relationship Actor đại diện cho người dùng hoặc đối tượng tương tác với hệ thống Use Case là chức năng mà các Actor sẽ sử dụng trong hệ thống Relationship, hay còn gọi là connector, kết nối các đối tượng với nhau trong bản vẽ Use Case, bao gồm các loại như Association, Generalization, Include và Extend.
- System Boundary: System Boundary được sử dụng để xác định phạm vi của hệ thống mà chúng ta đang thiết kế.
3.2.1 Các tác nhân tham gia vào hệ thống
Bao gồm: Giảng viên, sinh viên, admin.
3.2.2 Biểu đồ các Actor và Usecase toàn hệ thống
Hình 3 1 Biểu đồ usecase toàn hệ thống
- Người truy cập: Người dùng trực tiếp sử dụng ứng dụng (Sinh viên, giảng viên nhà trường).
- Admin: Người quản trị toàn quyền hệ thống (có thể thêm, xóa, cập nhật và sửa các đề cương và lịch trình học phần).
Admin có thể đăng nhập vào hệ thống quản lý và nền tảng ứng dụng Android, trong khi sinh viên và giảng viên chỉ có quyền đăng nhập vào ứng dụng Android với vai trò tương ứng, không có quyền truy cập vào hệ thống quản lý.
Quản lý lịch trình dạy và học cho phép admin có quyền toàn quyền quản trị, bao gồm việc thêm, sửa, xoá và cập nhật các đề cương chi tiết cũng như lịch trình học phần của sinh viên và giảng viên.
- Xem lịch trình dạy và học: Sinh viên và giảng viên có thể xem được đề cương chi tiết và lịch học phần.
Hệ thống sẽ thông báo lịch dạy và học cho giảng viên, nhắc nhở về môn học và các chuẩn bị cần thiết cho ngày mai Đồng thời, sinh viên cũng sẽ nhận được thông báo về nội dung học tập cho ngày tiếp theo.
- Quản lý lịch sử đăng nhập.
Usecase liên quan đến quản lý hệ thống:
Quản lý đề cương chi tiết: Điều kiện: Các đề cương học phần đã được cập nhật lên hệ thống.
- B1: Chọn chức năng thêm, sửa, xóa các mục đề cương học.
- B2: Admin dựa trên nền tản Website để thao tác đến các nội dung đề cương chi tiết học phần.
Quản lý lịch học phần: Điều kiện: Các lịch đã được cập nhật lên hệ thống.
- B1: Chọn chức năng thêm, sửa, xóa lịch.
- B2: Admin dựa trên nền tản Website để thao tác với lịch dạy và học của sinh viên và giảng viên.
Thông báo lịch dạy và học: Điều kiện: Đề cương và lịch học đã được cập nhật trên hệ thống.
- B1: Hệ thống đưa ra danh sách lịch báo tương ứng với đề cương chi tiết.
- B2: Chức năng thông báo sẽ thực thi đến sinh viên và giảng viên tương ứng.
3.2.3 Biểu đồ phân rã các Usecase:
Biểu đồ phân rã use case cho sinh viên và giảng viên cho phép họ tương tác với ứng dụng Android để xem lịch học, bao gồm tuần bắt đầu, tuần kết thúc, ngày học, tiết học, môn học và phòng học Hệ thống cung cấp thông tin chi tiết về đề cương môn học và thông tin liên quan Ngoài ra, nó còn hỗ trợ quản lý lịch sử đăng nhập, cho phép sinh viên và giảng viên theo dõi ngày giờ đăng nhập, tên thiết bị và vị trí đăng nhập.
Hình 3 2 Biểu đồ phân rã usecase cho sinh viên - giảng viên
Biểu đồ phân rã use case cho Admin cho phép quản trị viên tương tác với nền tảng Web để đăng nhập vào hệ thống đào tạo Qua đó, Admin có thể cập nhật và lưu trữ các minh chứng về lịch trình giảng dạy, đề cương chi tiết, kế hoạch giảng dạy, đánh giá học phần, trọng số học phần và chuẩn đầu ra học phần Thông tin này sẽ được cung cấp chi tiết cho sinh viên và giảng viên về nội dung các lớp học phần, nhằm đảm bảo tiến độ dạy và học.
Hình 3 3 Biểu đồ phân rã usecase cho Admin
Tiến trình quản lý đề cương học phần
Hình 3 4 Tiến trình quản lý đề cương học phần
Tiến trình quản lý thông báo lịch
Hình 3 5 Tiến trình quản lý thông báo lịch
Biểu đồ hoạt động (Activity diagram)
Biểu đồ hoạt động là một công cụ trực quan mô tả các bước thực hiện, hành động, nút quyết định và điều kiện rẽ nhánh, giúp điều khiển luồng thực hiện của hệ thống.
Biểu đồ hoạt động là lựa chọn tối ưu để thể hiện các luồng thực thi có nhiều tiến trình chạy song song Tuy nhiên, do sự tương đồng với biểu đồ trạng thái về mặt ký hiệu, người dùng có thể dễ dàng nhầm lẫn giữa hai loại biểu đồ này.
Khi vẽ biểu đồ, cần phân biệt rõ giữa biểu đồ hoạt động và biểu đồ trạng thái Biểu đồ hoạt động tập trung vào việc mô tả các hoạt động và kết quả từ việc thay đổi trạng thái của đối tượng, trong khi biểu đồ trạng thái chỉ thể hiện tất cả các trạng thái của một đối tượng cùng với các sự kiện dẫn đến sự thay đổi giữa các trạng thái đó.
Hình 3 6 Biểu đồ hoạt động đăng nhập
3.3.2 Hoạt động quản lý lịch và đề cương chi tiết
Hình 3 7 Biểu đồ hoạt động quản lý
Biểu đồ tuần tự (Sequence diagram)
Biểu đồ tuần tự là công cụ giúp xác định trình tự diễn ra các sự kiện trong một nhóm đối tượng Nó mô tả chi tiết các thông điệp được gửi và nhận giữa các đối tượng, đồng thời nhấn mạnh thứ tự thời gian của việc gửi và nhận các thông điệp này.
3.4.1 Biểu đồ tuần tự đăng nhập sinh viên - giảng viên
Hình 3 8 Biểu đồ tuần tự đăng nhập của sinh viên và giảng viên
3.4.2 Biểu đồ tuần tự đăng nhập admin
Hình 3 9: Biểu đồ tuần tự đăng nhập của Admin
3.4.3 Biểu đồ tuần tự quản lý đề cương chi tiết – lịch học phần
Hình 3 10 Biểu đồ tuần tự quản lý đề cương – lịch học phần
Biểu đồ lớp (Class diagram)
Biểu đồ lớp trong Ngôn ngữ mô hình hóa hợp nhất (UML) là một biểu đồ cấu trúc tĩnh, thể hiện cấu trúc hệ thống thông qua việc hiển thị các lớp, thuộc tính và phương thức của chúng, cùng với các mối quan hệ giữa các đối tượng.
Class diagram mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng
Biểu đồ lớp thể hiện cấu trúc tĩnh của các lớp trong hệ thống, với các lớp này đại diện cho những "đối tượng" được xử lý trong hệ thống.
Là một kỹ thuật mô hình hóa tồn tại ở tất cả các phương pháp phát triển hướng đối tượng.
Biểu đồ hay dùng nhất trong UML và gần gũi nhất với các lập trình viên.
Mô tả chi tiết các lớp
STT Thuộc tính/Phương thức Mô tả
2 hodem Họ đệm giảng viên
3 phone Số điện thoại giảng viên
4 email Email tài khoản giảng viên
5 donvi Giảng viên thuộc đơn vị
6 chucdanh Giảng viên mang chức danh
STT Thuộc tính/Phương thức Mô tả
3 hodem Họ đệm sinh viên
5 gioitinh Giới tính sinh viên
7 lopsinhhoat_id ID lớp sinh hoạt
STT Thuộc tính/Phương thức Mô tả
4 id_chucvu ID chức vụ
STT Thuộc tính/Phương thức Mô tả
5 id_provider ID ngư i cung c pời cung cấp ấp
STT Thuộc tính/Phương thức Mô tả
1 id ID lịch sử đăng nhập
2 tenthietbi Mô tả tên thiết bị đăng nhập
3 vitri Mô tả vị trí đăng nhập
4 ngaygio Mô tả ngày giờ đăng nhập
Bảng 3 6 table_lich_gv_sv
STT Thuộc tính/Phương thức Mô tả
1 id ID lịch giảng viên – sinh viên
2 id_gvsv ID giảng viên hoặc sinh viên
STT Thuộc tính/Phương thức Mô tả
2 id_lhp ID lớp học phần
3 thu Thứ ngày trong tuần
5 tiet Tiết học trong ngày
6 tuanbatdau Tuần bắt đầu lịch
7 tuanketthuc Tuần kết thúc lịch
STT Thuộc tính/Phương thức Mô tả
1 id ID lớp học phần
2 id_hp ID học phần
3 ten_lhp Tên lớp học phần
STT Thuộc tính/Phương thức Mô tả
1 id_decuong ID đề cương chi tiết
2 id_hp ID học phần
3 phanbo_lythuyet Mô tả phân bổ lý thuyết
4 phanbo_thuchanh Mô tả phân bổ thực hành
5 phanbo_baitap Mô tả phân bổ bài tập
6 phanbo_tuhoc Mô tả phân bổ tự học
7 giangvienphutrach_id ID giảng viên phụ trách
8 gv_daycung Giảng viên dạy cùng
10 id_nganh ID ngành học
11 loaihocphan Mô tả loại học phần
12 mhoikienthuc Mô tả khố kiến thức
13 mota_tomtat Mô tả và tóm tắt đề cương
14 muctieu_kienthuc Mô tả mục tiêu kiến thức
15 muctieu_kynang Mô tả mục tiêu kỹ năng
16 muctieu_thaido Mô tả mục tiêu thái độ
17 nhiemvu Mô tả nhiệm vụ
18 tailieuthamkhao_giaotrinh Tài liệu tham khảo bằng giáo trình
19 tailieuthamkhao_sach Tài liệu tham khảo bằng sách
20 ngaypheduyet Ngày phê duyệt đề cương
STT Thuộc tính/Phương thức Mô tả
3 id_truongkhoa ID trưởng khoa
6 phone Số điện thoại khoa
STT Thuộc tính/Phương thức Mô tả
4 id_chuyennganh ID chuyên ngành
STT Thuộc tính/Phương thức Mô tả
STT Thuộc tính/Phương thức Mô tả
2 id_hp ID học phần
4 id_trongso ID trọng số
STT Thuộc tính/Phương thức Mô tả
2 noidung ID lớp học phần
3 hoatdongdayhoc Hoạt động dạy học
4 baidanhgia Bài đánh giá kế hoạch
5 cdrhocphan Chuẩn đầu ra học phần
6 id_hocphan ID học phần
8 namhoc Năm học thuộc kế hoạch dạy
9 hocky Học kỳ thuộc kế hoạch dạy
STT Thuộc tính/Phương thức Mô tả
1 id ID chuẩn đầu ra môn học
2 noi_dung Nội dung chuẩn đầu ra môn học
3 id_cdr_chung ID chuẩn đầu ra chung
4 id_decuong ID đề cương
STT Thuộc tính/Phương thức Mô tả
1 id_cdr_chung ID chuẩn đầu ra chung
2 noidung_cdr_chung Nội dung chuẩn đầu ra chung
STT Thuộc tính/Phương thức Mô tả
1 id ID đánh giá học phần
2 phuongphapdanhgia Mô tả phương pháp đánh giá
3 trongsobaidanhgia Trọng số bài đánh giá
4 cdr_hocphan Chuẩn đầu ra học phần
5 id_baidanhgia ID bài đánh giá
6 id_baidanhgia_parent ID bài đánh giá cha
7 id_hocphan ID học phần
STT Thuộc tính/Phương thức Mô tả
1 id ID thành phần đánh giá
2 ten_thanhphandanhgia Tên thành phần đánh giá
3 id_baidanhgia ID bài đánh giá
Biểu đồ gói (Package Diagram)
Một gói (package) là tập hợp các lớp có liên quan, và biểu đồ gói (package diagram) thể hiện các gói cùng mối quan hệ giữa chúng Biểu đồ này hỗ trợ việc phân chia các hệ thống lớn thành các hệ thống con dễ quản lý, đồng thời cho phép phát triển lặp lại một cách hiệu quả.
Biểu đồ thành phần (Component diagram)
Biểu đồ thành phần (Component Diagram) mô tả các thành phần và mối quan hệ phụ thuộc của chúng trong hệ thống Việc vẽ biểu đồ này giúp chi tiết hóa quá trình triển khai mô hình và đảm bảo rằng tất cả các yêu cầu chức năng của hệ thống đều được phát triển một cách có kế hoạch.
Hình 3 13 Biểu đồ thành phần
Biểu đồ triển khai (Deployment Diagram)
Biểu đồ triển khai là công cụ quan trọng giúp xác định cách thức triển khai hệ thống phần mềm và vị trí của các thành phần phần mềm Nó thể hiện rõ kiến trúc triển khai, từ đó ảnh hưởng đến thiết kế, phát triển, hiệu năng và khả năng mở rộng của hệ thống.
Hình 3 14 Biểu đồ triển khai
Một số kỹ thuật nâng cao được sử dụng trong đề tài
Khi giảng viên hoặc sinh viên đăng nhập vào ứng dụng bằng tài khoản Google, nếu thông tin đăng nhập chính xác, ứng dụng sẽ trả về đối tượng tài khoản vừa đăng nhập, bao gồm token, email, tên và các thông tin liên quan khác.
Hình 3 15 Thông tin account google trả về khi đăng nhập đúng
Sau khi nhận được token và xác minh rằng token không null, ứng dụng sẽ gửi token lên Server Laravel Server sẽ nhận request chứa token và tiếp tục gửi token đến địa chỉ “https://oauth2.googleapis.com/tokeninfo” để kiểm tra tính hợp lệ của token Nếu token tồn tại, server sẽ trả về thông tin tài khoản cho ứng dụng và xác nhận đăng nhập thành công Ứng dụng sẽ sử dụng thông tin này để hiển thị và thực hiện các yêu cầu tiếp theo.
Hình 3 16 Server xử lí token app gửi lên và trả về thông tin
Dữ liệu JSON trả về cho ứng dụng bao gồm các thông tin quan trọng như trạng thái thành công, ID nhà cung cấp, email của người dùng vừa đăng nhập, chức vụ (giảng viên hoặc sinh viên), cùng với thông tin cá nhân như họ tên và số điện thoại.
Lưu lại phiên đăng nhập của người dùng
Việc yêu cầu người dùng đăng nhập mỗi lần sử dụng ứng dụng gây ra nhiều bất tiện Đề tài của chúng tôi giới thiệu giải pháp cho phép người dùng chỉ cần đăng nhập một lần đầu tiên Sau đó, hệ thống sẽ tự động ghi nhận và lưu lại phiên đăng nhập, giúp người dùng không cần phải đăng nhập lại trong những lần truy cập tiếp theo.
Hình 3 17 Cách lưu lại phiên đăng nhập của người dùng
Khi người dùng đăng nhập thành công vào hệ thống, hệ thống sẽ lưu lại id_provider của họ để đảm bảo phiên đăng nhập có thể được phục hồi trong tương lai.
Hình 3 18 Cách kiểm tra phiên đăng nhập khi vào app
Khi người dùng mở ứng dụng, hệ thống sẽ kiểm tra biến isLogin để xác định xem người dùng đã đăng nhập hay chưa Nếu biến này tồn tại, người dùng sẽ được chuyển thẳng đến giao diện chính của ứng dụng Ngược lại, nếu không có, người dùng sẽ phải truy cập vào màn hình LoginActivity để thực hiện đăng nhập trước khi vào giao diện chính.
Hình 3 19 Cấu trúc android RestAPI
Hình 3 20 Cấu trúc Json của danh sách môn học
Hình 3 21 Cấu trúc json của kế hoạch giảng dạy
Hình 3 22 Cấu trúc json của lịch học
Kết chương
Qua chương 3, chúng ta đã xác định mô hình và cách thức hoạt động của nền tảng Web cũng như ứng dụng Android, đồng thời hiểu rõ quy trình hoạt động và các chức năng chính của hệ thống Nghiên cứu đảm bảo chất lượng giáo dục tại VKU.
Một số hình ảnh của đề tài
Hình 3 23 Giao diện hiển thị danh sách các đề cương trên web
Hình 3 24 Giao diện thêm đề cương trên web
Hình 3 25 Giao diện thêm đánh giá học phần trên web
Hình 3 26 Giao diện thêm kế hoạch giảng dạy trên web
Hình 3 27 Giao diện trang chủ của app
Hình 3 28 Giao diện màn hình tin tức của app
Hình 3 29 Giao diện màn hình danh sách môn học của app
Hình 3 30 Giao diện màn hình tài khoản người dùng của app
Hình 3 31 Giao diện màn hình cài đặt của app
Hình 3 32 Giao diện màn hình lịch sử đăng nhập của app
Hình 3 33 Giao diện màn hình kế hoạch giảng dạy của app