SPO was developed by Harry Scutt as part of the requirements to complete the COM3610 Dissertation Project module at the University of Sheffield in partial fulfilment of the requirements for the degree of BEng in Software Engineering.
Dissertation Title: Development of an Online Tool for the Creation and Analysis of Feature Models for Software Product Lines
Author: Harry Scutt
Supervisor: Dr José Miguel Rojas
Software Product Lines (SPLs) are a growing concept in Software Engineering that define families of similar yet distinct systems that can be configured through various combinations of modular software components. With emphasis on reusability and robustness, they have the potential to greatly increase developer productivity, reduce the prevalence of bugs, and reduce costs over a system's lifespan.
SPLs are commonly described using feature models, providing a visual representation of the various relationships and constraints between components, and allowing for analysis to be executed for a product line. This gives insights into the number of valid configurations and highlight unselectable features, for example. They also lower the technical barrier required to understand the workings of potentially very large and complex systems, making them suitable to present to a client or customer.
This project aims to provide an accessible, intuitive web application that enables users to develop feature models for a product line, seeking to replace the deprecated or cumbersome tools currently available.
To ensure SPO can run on your system, follow these steps:
- Download the latest version of Ruby from: https://www.ruby-lang.org/en/downloads/.
- Download the latest version of Ruby on Rails from: https://rubyonrails.org/.
- Clone this repository using
git clone https://github.com/Ecdysiasttt/Dissertation. - From the root directory, run
bundle installto install the necessary gems for SPO. - To ensure the database is ready, run these commands in order:
rails db:createrails db:migrate- (Optional)
rails db:seed
- Finally, run
ruby bin/rails serveron windows to start SPO locally. - Visit http://localhost:3000/ to access SPO.