Báo cáo thực tập: Phân tích thiết kế hệ thống thông tin
Đề tài: Xây dựng hệ thống đo lường hiệu năng giao thông (Signal Performance Measurement)
Luận văn này trình bày kết quả thực tập về việc phân tích và thiết kế hệ thống thông tin, tập trung vào đề tài xây dựng hệ thống đo lường hiệu năng giao thông. Hệ thống được xây dựng trên nền tảng đám mây, hướng tới mục tiêu cung cấp cho các cơ quan quản lý giao thông và chuyên gia công cụ để cải thiện hiệu quả hoạt động của các nút giao thông trọng điểm, tối ưu hóa quản lý giao lộ và làm nổi bật các khu vực có vấn đề.
Các chức năng chính của hệ thống bao gồm:
- Bảng điều khiển: Cung cấp cái nhìn tổng quan về tình trạng giao thông tại các giao lộ thông qua bản đồ nhiệt độ, danh sách 10 nút giao thông có nhiều cảnh báo nhất và biểu đồ theo danh mục cảnh báo.
- Trình tạo cảnh báo: Cho phép người dùng cài đặt các điều kiện logic để tạo cảnh báo và quản lý các chỉ số theo nhu cầu.
- Trình phân tích dữ liệu: Hỗ trợ phân tích các dữ liệu như số lượng xe vượt đèn đỏ, số lượng người qua đường, và sử dụng thuật toán, học máy để cải thiện độ chính xác.
- Trình tạo báo cáo: Cho phép người dùng tạo mẫu báo cáo, cài đặt thời gian nhận báo cáo và tùy chỉnh kênh nhận báo cáo.
Hệ thống được thiết kế với các yêu cầu về giao diện thân thiện, đa ngôn ngữ, tương thích nhiều thiết bị; yêu cầu về hệ thống đảm bảo tính ổn định, khả dụng cao, hiệu suất tốt và khả năng tự động điều chỉnh tài nguyên. Về bảo mật, hệ thống cam kết đảm bảo thông tin người dùng và phòng tránh các nguy cơ tấn công mạng.
Các công nghệ được sử dụng bao gồm:
- General: Sonarqube
- Back-End: Spring framework, Spring Boot, Spring Cloud, Spring Security, Spring data, JWT, Hibernate, Redis cache, Apache Kafka.
- Front-End: ReactJS, MobX, Open Street Map (OSM), Bootstrap.
- Cloud: Gitlab, Azure DevOps, Docker, AWS.
Báo cáo cũng trình bày chi tiết về thiết kế hệ thống với các biểu đồ Use case, Sequence diagram cho các chức năng đăng nhập, xác thực, tạo cảnh báo, tạo báo cáo và phân tích dữ liệu. Kiến trúc micro-service được áp dụng để chia nhỏ hệ thống thành các phần độc lập, dễ quản lý và phát triển.