Versioning in software engineering
Andreas Speck, Elke Pulvermüller · 2002
Since the first discussion about the software crisis in 1968 many concepts in order to improve software development and reuse have been introduced. Some of them, like frameworks or components aim on the reuse of code, others capture experiences with system architecture, design or coding recommendations. This paper focuses on a way to express the reuse of pieces of software and design reasoning. We apply versions in order to describe sets of features we want to have in a system. Conditions are used to formulate these requirements. The set of features in a version system may be verified with a feature model which captures the known variability of a system. The required knowledge about a system is often given since many systems are derived from already existing systems. In order to build larger systems from smaller units the versions are hierarchical. Versions on a lower level which are more easy to understand may be part of larger versions.