Software projects involve a variety of dependencies including structural, logical, and fault dependencies which can affect the quality of the system. It is crucial for developers to understand the impact that these dependencies can have on the codebase. Moreover, it is preferred to reduce the potential negative impacts these dependencies can have as early in the development life cycle as possible. This is because it becomes increasingly difficult, expensive, and fault-prone to mend and refactor code in later stages of development.
This project will involve developing a tool that can be used to educate developers about dependencies within a software project’s source code. The tool will feature a simulated coding environment that the user can interact with to refactor snippets of code to comply with the SOLID principles. This tool will be evaluated by 3rd and 4th-year software engineering students to determine whether it has assisted them in understanding software dependencies, the SOLID design principles and how to implement them.
Lab allocations have not been finalised