Trabalho
Jacky Estublier Dassault Systèmes / LSR, Grenoble University Bat C, BP 53 38041 Grenoble 9 France Jacky.Estublier@imag.fr
ABSTRACT This paper, in the first chapter summarizes the state of the art in SCM, showing the evolution along the last 25 years. Chapter 2 shows the current issues and current research work under way in the area. In chapter 3, the challenges SCM has to take up, as well as SCM future research are discussed. Keywords Software configuration management, Version control, process support, concurrent engineering, federation, interoperability, architecture. 1 WHAT IS SCM? Current definition would say that SCM is the control of the evolution of complex systems. More pragmatically, it is the discipline that enable us to keep evolving software products under control, and thus contributes to satisfying quality and delay constraints. SCM emerged as a discipline soon after the so called « software crisis » was identified, i.e. when it was understood that programming does not cover everything in Software Engineering (SE), and that other issues were hampering SE development, like architecture, building, evolution and so on. SCM emerged, during the late 70s and early 80s, as an attempt to address some of these issues; this is why there is no clear boundary to SCM topic coverage. In the early 80s SCM focussed in programming in the large (versioning, rebuilding, composition), in the 90s in programming in the many (process support, concurrent engineering), late 90s in programming in the wide (web remote engineering). Currently, a typical SCM system tries to provide services in the following areas: Managing a repository of components. There is a need for storing the different components of a software product and all their versions safely. This topic includes version management, product modeling and complex object management. Help engineers in their usual activities. SE involves applying tools to objects (files). SCM