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.
- 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
CyberThreat- Represents a cybersecurity threatThreatDatabase- Main class that manages all threatsFileHandler- Handles file I/O operationsThreatAnalyzer- Analyzes and displays statisticsMain- Main program with menu
The project uses "Global Cybersecurity Threats (2015-2024)" from Kaggle.
Download the CSV file and place it in the data/ folder.
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.
- 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.
javac *.java
java Main- ✅ 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