Functional requirements

Requirement Description
Display of function graphs Functionality for displaying differential equation results in the form of function graphs.
Input of initial parameters Ability to input initial values necessary to start RK algorithms.
Implementation of Runge-Kutta method of order 1 Implementation of Runge-Kutta method of order 1.
Implementation of Runge-Kutta method of order 2 Implementation of Runge-Kutta method of order 2.
Implementation of Runge-Kutta method of order 3 Implementation of Runge-Kutta method of order 3.
Implementation of Runge-Kutta method of order 4 Implementation of Runge-Kutta method of order 4.
Implementation of Runge-Kutta method of order 5 Implementation of Runge-Kutta method of order 5.
Implementation of Runge-Kutta method of order 6 Implementation of Runge-Kutta method of order 6.
Implementation of a differential equations system Implementation of a differential equations system.
Selection of the order of the method Ability to select the order of the method for solving the problem.
Interface language The interface is written in English.
Display of calculated points Ability to view points from which graphs are created.
Saving data to a .csv file Ability to save data in a format accepted by Excel spreadsheet applications.
Saving data in Mathematica format Ability to save data in a format accepted by Mathematica.
Saving data to a .dat file Ability to save data to a file in .dat format, where a space is a column separator and each row is a new line.
Saving data to 3 files in .dat format Ability to save data to 3 files, with each graph being its own file.
Selection of file path Ability to specify where files will be saved.

Non-functional requirements

Requirement Description
Programming Language The application is written in C++.
Work Environment The program is developed in a Windows 10 environment.
Interface Appearance The interface is intuitive and easy to use.
Separation of Numerical Modules for Function Calculations and RK Methods Numerical modules are organized into separate classes, which significantly facilitate future modifications.
Separation of Numerical and Interface Modules The interface is in a separate class, making any modifications easier.
Implementation Method The code is as understandable as possible, with comments explaining the operation of individual lines of code.