A system is typically implemented by teams of individual implementers working together and in parallel. To make this possible, several workspaces are needed such as:

Development Workspace To top of page

Individual implementers have a development workspace where they implement the subsystems and the contained elements for which they are responsible. To compile, link, execute, and test the code in the subsystem, other parts of the system are needed. Normally the implementers do not need the entire system to develop their subsystem. It's usually 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 any one implementer's private development workspace as physical copies. Instead they can reside in a common repository with the internally released subsystems. When implementers compile the precise location of the other subsystems, it's 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 elements. In this case, six of the ten subsystems will be needed for the implementers of the Monthly Account Telephone subsystem.

Diagram is described in the content.

The development workspace for implementers of the subsystem Monthly Account Telephone

Integration Workspace for the Team To top of page

At times there may be a team of implementers who simultaneously develop the same subsystem. In this case implementers need to integrate their elements 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 individual team member's work. One team member acts as the integrator and is responsible for the integration workspace and its performance.

Integration Workspace for Integrators at the System Level To top of page

System integrators have an integration workspace where they can add one or several software elements or one or several subsystems at a time, thereby creating builds that are then integration tested.

Diagram is described in the content.

An integration workspace for system integrators where subsystems are added in each integration increment



Rational Unified Process   2003.06.13