Concepts: Development and Integration
Workspaces
A system is typically implemented by teams of individual implementers working
together and in parallel. To make this possible, several workspaces are needed.
Examples of such workspaces are:
- A development workspace for each individual implementer.
- An subsystem integration workspace for the team.
- An system integration workspace for integrators at the system level.
Development
Workspace 
The individual implementer has a development workspace where she implements
the subsystems and the contained components, that she is responsible for. To
compile, link, execute and test, the code in the subsystem, other parts of the
system are needed. Normally the implementer does not need the entire system to
develop her subsystem. Instead it is enough to have the subsystems required to
compile, link and execute the subsystem in the development workspace. These
other subsystems do not have to reside in the implementer's private development
workspace, as physical copies. Instead they can reside in a common repository,
with the internally released subsystems. When the implementer compiles the
precise location of the other subsystems it is defined in a separate file, for
example, a makefile.
Example:
The Monthly Account Telephone subsystem (in a banking system)
needs the subsystems that are directly, or indirectly imported by the subsystem
to compile, link and execute, its components. In this case six of the ten
subsystems will be needed for the implementers of the Monthly Account Telephone
subsystem.

The development workspace for an implementer of the
subsystem Monthly Account Telephone.
Integration
Workspace for the Team 
In some cases there is a team of implementers that may be simultaneously
developing the same subsystem. In this instance implementers need to integrate
their components into a subsystem before it can be propagated on to system
integration. Team integration is often done in a subsystem integration
workspace, dedicated to the integration of the individual team members'
work. One of the team acts as integrator and is responsible for the integration
workspace, and performing the integration.
Integration Workspace for Integrators at the System Level 
A system integrator has an integration workspace where she can add one or
several software components, or one or several subsystems, at a time, to create
builds that are then integration tested.

A integration workspace for a system integrator where
subsystems are added in each integration increment.
Copyright
⌐ 1987 - 2000 Rational Software Corporation
|