Functional requirements

ID Requirement Description
FR-01 Dataset loading The system shall be able to load a CSV dataset containing email texts and their labels.
FR-02 Preprocessing text data The system shall convert email text into numerical features using NLP techniques.
FR-03 Training of classification models The system shall allow training of multiple machine learning models.
FR-04 Evaluation of models The system shall generate performance metrics after training.
FR-05 Classification of new emails The system shall predict the category of a new, unseen email provided by the user.
FR-06 Model selection by user The system shall allow the user to choose which classifier to run for inference.
FR-07 User interface The system shall expose a simple interface (CLI or API) where users can train models, test predictions, and select classifiers.

Non-functional requirements

ID Requirement Description
NFR-01 Language Application interface shall be created in English language.
NFR-02 Performance The system shall classify a single email in less than 1 second on a standard laptop.
NFR-03 Usability The interface shall be intuitive and easy to navigate.
NFR-04 Portability The application shall run on any system with Python 3.9+ and the required dependencies installed.
NFR-05 Maintainability The code shall follow an object-oriented and modular design to allow easy extension.
NFR-06 Reliability The system shall provide consistent classification results for the same input and model.
NFR-07 Transparency The project shall include clear documentation to ensure reproducibility.
NFR-08 Scalability The design shall allow integration with external APIs or inbox parsers in the future without major refactoring.