Viktor Attoff, Tobias Landelius:
Managing and utilizing dependencies between components in component-based systems,
summary, report, August 2017.
Abstract:
When developing software systems the advantages in using a modular architecture are many, e.g. scale-ability, reusability and the ease of making changes. However, this type of architecture creates problems regarding how modules depend on each other.
Today many kinds of dependencies are not documented and left out of the development process. With no generalized structure or definition of dependencies, developers might overlook problems that could be found proactively.
By literature research and qualitative interviews of industry people in various roles, this thesis elicits the core problems around dependencies. Managing dependencies is seen as complex and dependency related problems can have a severe impact on development if caught late.
The thesis presents that overview-oriented dependency management can benefit software development in terms of estimating change-impacts and cost-of-change, aiding communication during development and optimizing the amounts of tests that have to be run after a change.