Trong hệ thống website của Khoa CNTT chưa có chức năng SV thực hiện các thủ tục tự động liên quan đến đến SV và thực hiện một số việc liên quan đến quá trình học tập của SV: nộp đơn xin
TỔNG QUAN
Đặt vấn đề
Năm 2023 là năm thứ tư của chuyển đổi số của Việt Nam, việc chuyển đổi số trong giáo dục có ý nghĩa lớn trong việc nâng cao chất lượng giáo dục, tăng cường khả năng tiếp cận giáo dục và giảm chi phí Trong đó, nhà trường cũng chú trọng đến việc phổ biến các hoạt động chuyển đổi số cho Sinh viên và Khoa CNTT đã phối hợp với Đoàn trường Cao đẳng Công nghệ Thủ Đức tổ chức các chuyên đề về chuyển đổi số cho Sinh viên(SV) thông qua việc mời các chuyên gia báo cáo chuyển đổi số cho SV Và trong những năm vừa qua, Khoa Công nghệ thông tin đã xây dựng các hệ thống website và hệ thống Elearning để hỗ trợ việc học tập cho người học nhằm nâng cao chất lượng đào tạo Bên cạnh đó, việc áp dụng những công nghệ và kỹ thuật để giải quyết các vấn đề liên quan đến các thủ tục đào tạo luôn là nhiệm vụ cấp bách của quản lý Khoa công nghệ thông tin SV có thể thực hiện hầu hết phải các thủ tục liên quan đến vấn đề học tập trực tuyến tại nhà, việc liên lạc với nhà trường chủ yếu chỉ qua các phương tiện như điện thoại, Website của nhà trường, của các Khoa, Facebook, Messenger Hiện tại, Khoa Công nghệ thông tin đang có hệ thống website và Facebook là hai kênh truyền thông chính để Khoa cập nhật thông tin về chương trình đào tạo, các thông báo và các sự kiện, hoạt động tại Khoa Trong hệ thống website của Khoa CNTT chưa có chức năng SV thực hiện các thủ tục tự động liên quan đến đến SV và thực hiện một số việc liên quan đến quá trình học tập của SV: nộp đơn xin nghỉ học cho CVHT, việc đăng ký học phần bổ sung, rút học phần, chuyển điểm, nộp đơn xin giảm hình thức kỷ luật và sau đó ban quản trị website của Khoa và ban quản lý Khoa sẽ gửi phản hồi trực tiếp cho SV Vì vậy, để tránh việc SV lên trực tiếp tại văn phòng Khoa để thực hiện các thủ tục này và lưu trữ truy vết lại các đơn từ của SV thì nhóm tác giả đã nghiên cứu và chọn đề tài này Đồng thời, với việc Cố vấn học tập của nhiều lớp cũng gây áp lực cho GV thực hiện các thông báo của nhà trường và kiểm soát các thông báo đã gửi cho các lớp chưa Vì vậy, với hệ thống này giúp Sinh viên thực hiện các mẫu đơn và gởi về Khoa một cách nhanh chóng và dễ dàng hơn và giúp CVHT xem các thông tin cần thông báo cho các lớp được dễ dàng và thuận tiện hơn Đó là những lý do thực hiện đề tài này
Mục tiêu đề tài
Xây dựng và cập nhật hệ thống tương tác với SV giúp SV thực hiện một số thủ tục học vụ được tích hợp vào website của Khoa CNTT SV sẽ sử dụng hệ thống này để xem thông tin các thủ tục thực hiện và cần nộp cho Khoa qua hệ thống website, có sự xác nhận của Cố vấn học tập, thư ký Khoa qua website của Khoa như: việc xin nghỉ học, đơn xin giảm hình thức kỷ luật và các mẫu đơn khác tại Khoa công nghệ thông tin một cách nhanh chóng và tiện lợi hơn Đồng thời, giúp CVHT có thể xem thông tin các thông báo để thông tin đến cho SV Vì vậy, để thực hiện những mục tiêu của đề tài Thì đề tài tìm hiểu về hệ thống website Khoa mới và tích hợp hệ thống được xây dựng vào hệ thống này Vì vậy, ứng dụng được xây dựng trên nền tảng Laravel.
Đối tượng nghiên cứu
Từ mục tiêu đã trình bày trên, đề tài sẽ tập trung nghiên cứu vào 4 đối tượng sau:
- Tìm hiểu về quy trình xử lý học vụ liên quan đến SV;
- Tìm hiểu về các kỹ thuật xây dựng website trên nền tảng Laravel đang sử dụng xây dựng trên hệ thống website Khoa;
- Xây dựng thử nghiệm các chức năng cho hệ thống xử lý học vụ và các thông báo dành cho Giáo viên là cố vấn học tập trên trang online.tdc.edu.vn
Phương pháp nghiên cứu
Đề tài sử dụng các phương pháp nghiên cứu sau:
- Tìm hiểu tài liệu về hệ thống: Tìm hiểu về các nghiệp vụ liên quan đến xử lý học vụ của Sinh viên
- Phân tích và thiết kế hệ thống: Dựa vào các quy trình nghiệp đã áp dụng tại trường để phân tích và thiết kế hệ thống
- Thực nghiệm: Thử nghiệm và hiệu chỉnh hệ thống trên website Khoa cho hoàn thiện.
Bố cục đề tài
Bố cục đề tài gồm có bốn chương, tài liệu tham khảo và phụ lục
Giới thiệu tổng quan về đề tài: mục tiêu nghiên cứu và phạm vi nghiên cứu của đề tài
Chương 2: Cơ sở lý thuyết
Các kỹ thuật áp dụng trong xây dựng hệ thống
⮚ Giới thiệu về mô hình hoạt động của hệ thống
⮚ Phần mềm SmartGit, Git và GitHub
⮚ Các kỹ thuật sử dụng trong hệ thống
⮚ Kỹ thuật Crawling web trên laravel
Chương 3: Xây dựng, thử nghiệm và đánh giá hệ thống
⮚ Giới thiệu các quy trình nghiệp vụ xử lý trong hệ thống
⮚ Phân tích và thiết kế hệ thống
Chương 4: Kết luận và hướng phát triển
Đóng góp của đề tài
Đóng góp của đề tài trong vấn đề đào tạo:
- Cập nhật và xây dựng một hệ thống xử lý các nghiệp vụ liên quan đến SV được thực hiện tự động qua website của Khoa CNTT
- Tổng hợp các thông báo dành cho CVHT để đưa vào trang Web; để CVHT dễ dàng theo dõi các thông báo
- Học tập nâng cao trình độ chuyên môn để ứng dụng vào giảng dạy cho SV
CƠ SỞ LÝ THUYẾT: TÌM HIỂU VỀ CẤU TRÚC VÀ KỸ THUẬT XÂY DỰNG HỆ THỐNG
Tổng quan về Laravel Framework
Laravel là một Web Framework của PHP, mã nguồn mở và miễn phí, dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc mô hình MVC Framework này giúp các nhà phát triển tiết kiệm thời gian và giúp giảm suy nghĩ và lập kế hoạch để phát triển toàn bộ trang web từ đầu Và sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, SQLite, PostgreSQL,
…), các tiện ích hỗ trợ triển khai và bảo trì ứng dụng.
Một số kỹ thuật liên quan đến việc xây dựng hệ thống
Migration trong Laravel giống như một hệ thống quản lý cơ sở dữ liệu theo phiên bản Migration cho phép định nghĩa và chia sẻ các bảng trong CSDL, định nghĩa nội dung các bảng cũng như cập nhật thay đổi các bảng đó bằng dòng lệnh PHP
Migration giúp cho việc đồng bộ Database giữa các môi trường khá thuận lợi, thay vì phải làm thủ công trong từng môi trường khi muốn thêm hoặc cập nhật một bảng hay một cột, thì với Migration chỉ cần thực hiện bằng dòng lệnh đơn giản
Laravel Schema có thể tạo và thao tác các bảng trên tất cả các hệ thống cơ sở dữ liệu được hỗ trợ của Laravel như MySQL, SQL Server, Postgres, Thông thường, migration sẽ sử dụng Schema này để tạo và sửa đổi các bảng và cột cơ sở dữ liệu
Kỹ thuật Seeding trong Laravel hỗ trợ nhập dữ liệu mẫu vào table một cách nhanh chóng và có thể tái sử dụng
Eloquent model là kỹ thuật giúp cho chúng ta tương tác với dữ liệu trong database một cách đơn giản linh hoạt hơn Khi sử dụng Eloquent thì mỗi một table trong database sẽ được gán với một model Chúng ta có thể tương tác với dữ liệu trong bảng đó như đọc, thêm, sửa và xóa (CRUD) qua Eloquent model
Eloquent với 4 hành động tương tác các bản ghi dữ liệu (record):
1 Create: tạo ra một Model, tương ứng với việc tạo ra một bản ghi dữ liệu trong bảng
2 Read: truy vấn dữ liệu từ database và map lên Model
3 Update: chỉnh sửa một Model hay tương ứng là chỉnh sửa một bản ghi
4 Delete: xóa một Model và tương ứng là xóa một bản ghi dữ liệu
2.2.4 Quy chuẩn đặt tên cho package
● Các package PECL từ channel pecl chuẩn phải được đặt tên là php-pecl-PECL PackageName -%{version}-%{release}.%{arch}.rpm
● Các package PEAR từ channel pear tiêu chuẩn phải được đặt tên là php-pear- PEAR PackageName -%{version}-%{release}.noarch.rpm
● Các package CHANNEL phải được đặt tên là php-channel-ChannelAlias-
● Các package từ channel khác phải được đặt tên là php-ChannelAlias-Package Name-%{version}-%{release}.noarch.rpm
● Các package Composer (được tham chiếu trong packagist.org hoặc đăng ký khác) phải được đặt tên là php-vendor-library-%{version}-%{release}.noarch.rpm
● Các package khác phải được đặt tên là php-PackageName-%{version}-
2.2.5 Kỹ thuật bảo mật trong Laravel
Laravel cung cấp nhiều tính năng bảo mật để giúp bảo vệ ứng dụng web khỏi các tấn công Sau đây là một số tính năng quan trọng, nổi bật để bảo mật ứng dụng sử dụng Laravel:
Bảo mật bằng CSRF Token: CSRF (Cross Site Request Forgery) là kỹ thuật tấn công bằng cách sử dụng quyền chứng thực của người dùng đối với một website Laravel giúp dễ dàng bảo vệ ứng dụng khỏi các cuộc tấn CSRF Trong đó, Laravel tự động tạo một CSRF token cho mỗi phiên người dùng đang hoạt động do ứng dụng quản lý Token này được sử dụng để xác minh rằng người dùng được chứng thực là người thực sự đưa ra các yêu cầu đối với ứng dụng Vì token này được lưu trữ trong phiên của người dùng và thay đổi mỗi khi phiên được tạo lại nên ứng dụng độc hại không thể truy cập vào nó
Xác thực người dùng: Laravel cung cấp hệ thống xác thực người dùng rất mạnh mẽ và dễ sử dụng Để sử dụng tính năng xác thực trong Laravel, trước tiên chương trình cần được định nghĩa bộ điều khiển (Controller) cho đăng nhập và đăng ký Sau đó, sử dụng các phương thức được cung cấp bởi tính năng xác thực của Laravel để xử lý quá trình xác thực.
Mã hoá dữ liệu: Laravel cung cấp tính năng mã hóa dữ liệu để đảm bảo rằng dữ liệu được lưu trữ an toàn trên máy chủ Sử dụng tính năng mã hóa dữ liệu của Laravel để mã hóa dữ liệu trước khi lưu trữ hoặc khi truyền dữ liệu giữa máy khách và máy chủ
Kỹ thuật SQL Injection: Laravel cung cấp tính năng bảo vệ chống SQL Injection bằng cách sử dụng cơ chế truy vấn tham số Điều này đảm bảo rằng các truy vấn SQL được xác thực trước khi được thực thi, ngăn chặn các cuộc tấn công SQL Injection
Bảo vệ chống XSS: Laravel cung cấp tính năng bảo vệ chống Cross-Site Scripting (XSS) bằng cách sử dụng hàm helper để hiển thị dữ liệu đến người dùng Điều này đảm bảo rằng các dữ liệu động được hiển thị cho người dùng được sạch và không chứa mã độc
Bảo vệ chống Remote Code Execution: Laravel cung cấp tính năng bảo vệ chống Remote Code Execution (RCE) bằng cách sử dụng tính năng mặc định của PHP để ngăn chặn việc thực thi mã bên ngoài
Tóm lại, Laravel là một framework web mạnh mẽ với nhiều tính năng bảo mật để giúp bảo vệ ứng dụng web
2.2.6 Các kỹ thuật liên quan đến crawl website trong Laravel
Crawl là một kỹ thuật dùng để lấy dữ liệu và phân tích nội dung website một cách tự động Kỹ thuật này được áp dụng để lấy các thông báo dành cho CVHT do yêu cầu của hệ thống cần phải lấy và phân tích các dữ liệu từ trang online của nhà trường Tuy nhiên, website trường lại không có các API hỗ trợ trong việc tương tác và truy vấn dữ liệu Vì thế, crawl là cách duy nhất hiện tại để server có thể lấy được dữ liệu tự động
Hình 1 Sơ đồ hoạt động của Crawl website
Về bản chất, web crawling chính là quá trình duyệt đệ quy một đồ thị cây có các node là các web page Tùy thuộc vào chiến lược của crawler, các node có thể được duyệt theo chiều sâu hoặc duyệt theo chiều rộng Trong thực tế, quá trình crawling web sẽ phải đối diện với rất nhiều vấn đề khó khăn như: kích thước khổng lồ của world wide web, các trang web HTML được viết không chuẩn, hạn chế ghé thăm một URL đã được ghé
Trang 8 thăm trước đó, các trang web động, nội dung các trang web được cập nhật thường xuyên v.v…
2.2.6.2 Một số Framework thu thập dữ liệu trong Laravel
Laravel là một framework PHP phổ biến, có thể được sử dụng để crawl web bằng cách sử dụng các thư viện và kỹ thuật sau đây:
Sử dụng Guzzle: Guzzle là một thư viện HTTP cho phép gửi các yêu cầu HTTP và truy cập các tài nguyên web Guzzle cung cấp một API mạnh mẽ để tùy chỉnh các yêu cầu HTTP và xử lý các phản hồi
Sử dụng Simple HTML DOM: Simple HTML DOM là một thư viện PHP giúp phân tích cú pháp HTML và tìm kiếm các phần tử trên trang web Thư viện này cung cấp các phương thức để tìm kiếm các phần tử theo tên lớp, tên thẻ, id và các thuộc tính khác
XÂY DỰNG, THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG
Giới thiệu ứng dụng
Khoa CNTT đang có hệ thống website để đưa thông tin và tin tức liên quan đến việc tuyển sinh, chương trình đào tạo và các sự kiện, hoạt động và tin tức liên quan đến
SV Hệ thống này sẽ được tích hợp vào trong hệ thống Website của Khoa CNTT Sinh viên sẽ thực hiện được một số thủ tục liên quan đến quá trình học tập Đồng thời, Giáo viên là Cố vấn học tập và Khoa sẽ theo dõi và xử lý các yêu cầu của SV Ngoài ra, hệ thống sau này sẽ lưu trữ và thống kê được việc xử lý các yêu cầu của SV Về mặt tổng quan, chương trình này hướng tới những mục tiêu sau:
● Áp dụng công nghệ có khả năng xử lý trực tuyến, cơ sở dữ liệu tập trung
● Chương trình chạy trên máy tính có cài trình duyệt Web
● Giao diện thân thiện, dễ sử dụng
● Đáp ứng yêu cầu về hiệu năng
● Đáp ứng khả năng mở rộng của hệ thống
● Phân quyền và bảo mật thông tin
● Đáp ứng các chức năng quản trị, phân tích
● Hệ thống linh hoạt, có khả năng tùy biến cao
Xác định phạm vi của hệ thống
❖ Hệ thống được xây dựng trên cơ sở dữ liệu MySQL 5.7 và ngôn ngữ lập trình PHP 8.0.7, Apache 2.4, sử dụng Laravel Framework 9.x
❖ Và được triển khai trên hệ thống website Khoa fit.tdc.edu.vn
Hệ thống giải quyết được các chức năng nghiệp vụ sau:
❖ Phân quyền người dùng: Người quản trị (Khoa), Giáo viên, Sinh viên
❖ Quản lý thông tin người dùng: Người quản trị (Khoa), Giáo viên, Sinh viên
❖ Quản lý các yêu cầu của Sinh viên với vai trò là Giáo viên và Khoa.
Phân tích yêu cầu của hệ thống
3.3.1 Giới thiệu quy trình nghiệp vụ xử lý trong hệ thống
Hình 2 Quy trình nghiệp vụ trong hệ thống
❖ Gửi yêu cầu: Sinh viên cần thực hiện các thủ tục về học vụ sẽ xem thông tin trên website và chọn mẫu form cần thực hiện và điền thông tin cá nhân của SV theo mẫu yêu cầu và gửi thông tin cần xử lý đến Giáo viên là Cố vấn học tập
❖ Trả lời yêu cầu của SV từ CVHT: Cố vấn học tập sẽ xem xét các yêu cầu từ Sinh viên và gửi yêu cầu đến Khoa Khi Khoa đã xét duyệt xong các yêu cầu từ CVHT, CVHT sẽ theo dõi và gửi phản hồi các yêu cầu đến SV
❖ Trả lời các yêu cầu từ CVHT: Khoa sẽ xem các yêu cầu từ CVHT và Sinh viên để trả lời cho Sinh viên và CVHT
3.3.2 Phân tích và thiết kế yêu cầu của hệ thống
Phần sau đây sẽ mô tả một số nghiệp vụ với vai trò là Sinh viên, Giáo viên CVHT và Khoa a) Người dùng là Sinh viên
Hình 3 Sơ đồ Use case cho người dùng Sinh viên
Mô tả yêu cầu của người dùng Sinh viên
Bảng 1: UC1 Xem thông tin
Use Case Xem thông tin
Description Cho phép xem thông tin và thực hiện các thủ tục
Pre-condition Đăng nhập vào hệ thống
Trigger Người sử dụng lựa chọn trên giao diện
Bảng 2: Các bước thực hiện UC1
S1 Sinh viên đăng nhập vào hệ thống
S2 Hiển thị màn hình danh sách các thủ tục thực hiện
S3 Xem các thông tin hướng dẫn về các thủ tục (các mẫu đơn)
- Đơn xin giảm hình thức kỷ luật
- Thủ tục đăng ký học phần bổ sung
- Thủ tục rút học phần
- Thủ tục miễn học các HP
- Thủ tục chuyển điểm các HP
- Thủ tục thôi học theo nguyện vọng cá nhân
S4 Bấm chọn một mẫu đơn thủ tục, hệ thống sẽ load mẫu đơn theo yêu cẩu của
SV và điền thông tin
S5 Nộp mẫu đơn về và trở về màn hình chính
Thiết kế màn hình hiển thị thông tin các thủ tục cho Sinh viên
Hình 4 Màn hình ban đầu cho SV khi đăng nhập vào hệ thống
Hệ thống sẽ hiển thị mẫu đơn; Sinh viên có thể chọn các mẫu đơn này
Bảng 3: UC2 Gửi yêu cầu đến CVHT
Use Case Gửi yêu cầu đến CVHT
Description Sau khi xem thông tin, SV sẽ chọn và điền vào mẫu đơn cần thực hiện Sau đó, thực hiện gửi yêu cầu vào trong hệ thống đến CVHT
Pre-condition Đăng nhập vào hệ thống
Trigger Người sử dụng lựa chọn trên giao diện
Các bước yêu cầu được thực hiện như trong hình tiếp theo
Trang 15 Hình 5 Thực hiện việc gửi yêu cầu đến hệ thống
Màn hình thực hiện tạo yêu cầu khi SV chọn mẫu đơn “Đơn xin nghỉ học”;
Hình 6 Màn hình tạo Request
Bảng 4: UC4 Xem phản hồi và gửi lại yêu cầu
Use Case Xem phản hồi và gửi lại yêu cầu
Description Sau khi xem thông tin, SV sẽ thực hiện gửi yêu cầu vào trong hệ thống đến CVHT
Pre-condition Đăng nhập vào hệ thống
Trigger Người sử dụng lựa chọn trên giao diện
Các bước thực hiện như sau:
Hình 7 Kiểm tra phản hồi
Bảng 5: Các bước thực hiện UC4
S1 Sinh viên đăng nhập vào hệ thống
S3 Hiển thị danh sách các Request của SV
S4 Chọn một Request để xem thông tin
S5 Nếu kết quả chưa OK, SV tiếp tục update lại thông tin và gửi lại yêu cầu Màn hình thực hiện việc xem thông tin và phản hồi
Hình 8 Danh sách các yêu cầu của Sinh viên b) Người dùng là Cố vấn học tập
Hình 9 Sơ đồ Use Case cho người dùng CVHT
Mô tả yêu cầu của người dùng là CVHT
Bảng 6: UC5 Quản lý thông tin lớp học
Use Case Quản lý thông tin lớp học
Description CVHT có thể thực hiện việc quản lý thông tin lớp học với các chức năng như: Xem thông tin của lớp đang CVHT, Cập nhật danh sách lớp, sửa thông tin của từng
Pre-condition Đăng nhập vào hệ thống
Trigger Người sử dụng lựa chọn trên giao diện
Bảng 7: Các bước thực hiện UC5
S1 CVHT đăng nhập vào hệ thống
S2 Hiển thị màn hình giao diện, chọn Course
S3 Hiển thị danh sách các lớp học
S4 Bấm chọn một lớp để xem thông tin của lớp
S5 Hiển thị danh sách Sinh viên của lớp và cập nhật thông tin của lớp học S6 Thực hiện các thao tác như cập nhật thông tin SV trong lớp
Một số màn hình quản lý thông tin lớp học:
Hình 10 Màn hình danh sách lớp
Bảng 8: UC6 Thực hiện phê duyệt yêu cầu của SV
Use Case Thực hiện phê duyệt yêu cầu của SV
Description CVHT có thể thực hiện việc phê duyệt các yêu của Sinh viên: Xem thông tin các yêu cầu, xem file SV đã gửi và thực hiện việc phê duyệt
Pre-condition Đăng nhập vào hệ thống
Trigger Người sử dụng lựa chọn trên giao diện
Hình 11 Kiểm tra các yêu cầu của Sinh viên
UC6: Kiểm tra thông tin yêu cầu được gửi về từ Khoa
S1: Đăng nhập vào hệ thống
S2: Chọn thông tin đã được gửi về từ Khoa
S3: Gửi mail cho SV phản hồi về đơn của SV
Hình 12 Kiểm tra thông tin yêu cầu được gửi về từ Khoa
Một số màn hình cho người dùng là Cố vấn học tập
Hình 13 Danh sách Sinh viên trong lớp
Trên hình 13, Khi Sinh viên có gửi Request thì màu của Status sẽ đổi màu (Màu đỏ: có gửi Request; màu xanh: không có gửi Status) Màn hình thể hiện thông tin của Sinh viên: Mã Sinh viên, Họ tên SV, Địa chỉ email và Tình trạng gửi Request
Hình 14 Danh sách các Request của Sinh viên gửi cho CVHT Gửi lại phản hồi cho Sinh viên
Hình 15 Phê duyệt Request của Sinh viên
Trang 23 Hình 16 Xem file từ Request của SV b) Mô tả yêu cầu của người dùng là quản trị (TK Khoa)
Hình 17 Sơ đồ Use Case cho người dùng là quản trị hoặc Khoa
Bảng 9: UC8 Thực hiện phân quyền người dùng
Use Case Thực hiện phân quyền người dùng
Description Admin sẽ thực hiện việc phân quyền theo chức năng người dùng là Sinh viên, Cố vấn học tập
Pre-condition Đăng nhập vào hệ thống
Trigger Admin chọn chức năng trên giao diện
Bảng 10: Các bước thực hiện UC8
S1 Admin đăng nhập vào hệ thống
S2 Hiển thị màn hình giao diện, chọn Permission
S3 Hiển thị danh sách các Permission Admin có thể Thêm, Sửa các
S4 Bấm chọn Add New Permission hoặc Edit để thêm hoặc Edit các
Màn hình của chức năng phân quyền người dùng
Hình 18 Màn hình phân quyền người dùng
Bảng 11: UC9 Thực hiện chức năng quản lý thông tin lớp học
Use Case UC8: Thực hiện chức năng quản lý thông tin lớp học
Description Admin sẽ thực hiện việc thêm và cập nhật thông tin lớp học
Pre-condition Đăng nhập vào hệ thống
Trigger Admin chọn chức năng trên giao diện
Bảng 12: Các bước thực hiện UC9
S1 Admin đăng nhập vào hệ thống
S2 Hiển thị màn hình giao diện, chọn Course
S3 Hiển thị danh sách các Course Admin có thể Thêm các lớp bằng cách
Import file Excel danh sách lớp, Sửa các Course
S4 Bấm chọn Adnew Course hoặc Edit để thêm hoặc Edit các Course
Các màn hình quản lý thông tin lớp học
Màn hình thông tin của các lớp và Giáo viên làm Cố vấn học tập bao gồm các thông tin: Mã lớp, Tên lớp, ngày tạo lớp
Hình 19 Danh sách lớp CVHT
Thêm hoặc sửa thông tin lớp học
Hình 20 Màn hình Thêm thông tin lớp học
Màn hình thêm thông tin lớp học: Bao gồm các thông tin: Tên lớp, Ngày bắt đầu, Ngày kết thúc, Giảng viên và File danh sách Sinh viên trong lớp
Bảng 13: UC10 Thực hiện chức năng phê duyệt yêu cầu từ người dùng
Use Case Thực hiện chức năng phê duyệt yêu cầu từ người dùng
Description Admin sẽ thực hiện việc phê duyệt những yêu cầu và những câu hỏi của người dùng
Pre-condition Đăng nhập vào hệ thống
Trigger Admin chọn chức năng trên giao diện
Bảng 14: Các bước thực hiện UC10
S1 Admin đăng nhập vào hệ thống
S2 Chọn Request của CVHT và SV đã duyệt và gửi đến
S3 Chọn đơn của CVHT đã duyệt và gửi đến
S4 Kiểm tra nếu đơn đúng yêu cầu thì chuyển tiến đơn đến CVHT;
Nếu không đúng yêu cầu thì gửi mail lại cho CVHT để yêu cầu CVHT gửi đơn lại cho SV
Hình 21 Màn hình hiển thị các Request
3.3.3 Chức năng xem thông tin các thông báo từ website trên trang
Mô tả yêu cầu người dùng là GV
Hình 22 Sơ đồ Use Case chức năng xem và cập nhật thông báo
Bảng 15: UC11 thực hiện xem thông tin các thông báo
Use Case Thực hiện phân quyền người dùng
Description GV được xem và cập nhật tình trạng các tin nhắn và gửi thông báo trên trang web
Pre-condition Đăng nhập vào hệ thống
Trigger CVHT chọn chức năng trên giao diện
Bảng 16: Các bước thực hiện UC11
S1 CVHT đăng nhập vào hệ thống
S2 Hiển thị màn hình giao diện, chọn xem các thông báo;
S3 Hiển thị danh sách các thông báo trong thời gian gần nhất 3 giờ
S4 CVHT có thể cập nhật các trạng thái các tin nhắn đã thực hiện và thông báo đến SV
Màn hình của chức năng xem thông báo
Hình 23 Màn hình hiển thị các thông báo
3.3.4 Thiết kế cơ sở dữ liệu
Từ những nghiệp vụ được mô tả ở phần trên, cơ sở dữ liệu của hệ thống được thiết kế với các bảng chinh sau:
1) Course (Lớp học): Chứa thông tin các lớp học
2) Users (Người dùng): Chứa thông tin người dùng là Giáo viên Cố vấn học tập, Sinh viên
3) Group: Chứa thông tin của Nhóm người dùng
4) Course_Students: Danh sách Sinh viên thuộc một lớp học
5) HelpDesk: Chứa các thông tin của các yêu cầu từ người dùng
6) Categories: Chứa danh mục bài viết
7) Context: chứa các chỉ danh mục đó nó sẽ mô tả cho đối tượng nào
8) crawler_patterns: Để chứa thông tin được chỉ định rõ là thu thập cho site nào thì chỉ định rõ tiếp là thu thập nội dung gì, tiêu đề, nội dung bài viết, ngày tháng, … nghĩa là đối tượng thu thập của 1 trang website cụ thể (crawler_patterns)
9) crawler_regular_expressions: chứa các biểu thức chính quy
10) crawler_sites: mô tả cho một trang web chung, cho phép thu thập dữ liệu từ nhiều trang web khác nhau, không chỉ là trang online.tdc.edu.vn
10) crawler_post: chứa thông tin bài viết, tron đó một bài viết thuộc một danh mục và một danh mục có nhiều bài viết
Sau khi phân tích các yêu cầu của hệ thống và thiết kế cơ sở dữ liệu Phần tiếp theo sẽ trình bày phần hiện thực hệ thống
Hiện thực hệ thống
Sau đây là một số hình ảnh về các chức năng của chương trình:
- Cửa sổ chính của chương trình: Giới thiệu các quy trình thực hiện và các mẫu đơn Sinh viên thực hiện
Hình 24 Màn hình bắt đầu hệ thống
Màn hình hiển thị danh sách các lớp của Cố vấn học tập Chức năng này do Admin thêm vào thông tin lớp học
Hình 25 Màn hình danh sách lớp
Cố vấn học tập có thể xem danh sách lớp và biết được Sinh viên nào gửi Request đến:
Hình 26 Màn hình danh sách Sinh viên theo lớp Khi GV xem các Request của Sinh viên có thể phản hồi và chuyển sang trạng thái Publish để gửi đến Khoa Và có thể xem file Sinh viên gửi đến
Hình 27 Màn hình xem thông tin file gửi từ Sinh viên của GV
Với người dùng là Quản trị (Khoa) có thể nhìn thấy tất cả các Request của tất cả các Sinh viên
Hình 28 Danh sách các Request với người dùng Quản trị
Hình 29 Danh sách các thông báo
Đánh giá hệ thống
Sau khi thử nghiệm, chúng tôi đưa ra một số đánh giá sau:
- Hệ thống chạy trên nền Web và Cơ sở dữ liệu Mysql
- Đã kiểm tra chạy thử với các yêu cầu Sinh viên gửi tới Cố vấn học tập và người dùng là Khoa thực hiện sự phê duyệt và phản hồi cho Sinh viên Đồng thời, hệ thống chỉ giới hạn các yêu cầu và gửi file các mẫu đơn liên quan đến việc xử lý trong nội bộ Khoa.