Using Genetic Algorithm and Particle- swarm optimization to prioritize the software requirements of a project
Requirement analysts possess relevant knowledge about the relative importance of requirements. We use an Interactive Genetic Algorithm to produce a requirement ordering which complies with the existing priorities, satisfies the technical constraints and takes into account the relative preferences elicited from the user. On a real case study, we show that this approach improves non interactive optimization, ignoring the elicited preferences, and that it can handle a number of requirements which is otherwise problematic for state of the art techniques.
system with i3 processor, 4GB RAM, 200MB of disk space
install python 3.9
Jupyter Notebook or Anaconda Navigator 1.10.0
pip install notebook
jupyter notebook
or install jupyter notebook in anaconda navigator and launch it.
- matplotlib 3.3.3
pip install matplotlib
conda install -c conda-forge matplotlib
- numpy 1.19.4
pip3 install python3-numpy
conda install -c conda-forge numpy
- pandas 2.0.0
pip install pandas2
conda install -c conda-forge pandas
- times 0.7
pip install times
download teh zip file and extract it in the desired folder
or
navigate to the folder you want to install and open command prompt or terminal and paste the following command:
git clone https://github.com/nikhilvenkatkumsetty/Machine-Learning-Approach-to-Software-Requirements-Prioritization.git
if you don't have git and would like to install click here
now run the SE1.ipynb and PSO.ipynb using jupyter notebook