Software components

A central aspect of the Spectrum approach is the notion of software component which represents software at different levels of abstraction and gives access to multiple views of software objects. Starting from a simple model of the software development process where a development consists of a sequence of descriptions beginning with a requirement specification and ending with the final program, we define a software component to be a finite graph whose nodes are software objects such as specifications and programs and whose edges represent relations between such objects. Then each development sequence can be understood as a particular software component.



Subsections