CyberSecurityData - Object-Oriented Java Project
Project Description
This is a 100% object-oriented Java project that analyzes global cybersecurity threats from 2015-2024. The project demonstrates OOP concepts such as classes, objects, inheritance, encapsulation, and file handling.
Functionality
- Reads cybersecurity data from CSV files
- Analyzes threats by country, type, and year
- Searches and filters data
- Displays statistics and trends
- Saves analyses to files
Classes
CyberThreat - Represents a cybersecurity threat
ThreatDatabase - Main class that manages all threats
FileHandler - Handles file I/O operations
ThreatAnalyzer - Analyzes and displays statistics
Main - Main program with menu
Dataset
The project uses “Global Cybersecurity Threats (2015-2024)” from Kaggle.
Download the CSV file and place it in the data/ folder.
Dataset Source
The main dataset used in this project is:
- Global Cybersecurity Threats (2015-2024)
Downloaded from Kaggle:
https://www.kaggle.com/datasets/atharvasoundankar/global-cybersecurity-threats-2015-2024
Please refer to the dataset license and terms of use on Kaggle.
Norwegian Dataset Source
- ICT Security Issues in the Last Year (Government Agencies) 2008 - 2022
Downloaded from Statistics Norway (SSB): https://www.ssb.no/statbank/table/10859
This dataset contains the percentage of Norwegian government agencies that have experienced various ICT security problems (such as internet outages, virus attacks, denial of service, unauthorized access, data loss, phishing, etc.) from 2008 to 2022. The data is official Norwegian statistics and can be downloaded as Excel or CSV.
Compilation and Execution
OOP Concepts Implemented
- ✅ Classes and objects
- ✅ Encapsulation (private fields, getters/setters)
- ✅ Inheritance and polymorphism
- ✅ File handling through dedicated classes
- ✅ No static variables (except main)
- ✅ Good structure and clean code