Identifying additional components

Although you should be able to identify nearly all necessary components by examining your system architecture, you may overlook a few. For example:

System component
It is a good idea to designate one component for storing system-level files. These items include project plans, requirements documents, and system model files and other architecture documents.
Project baseline component
If you plan to use a composite baseline that selects baselines from all of the components of the project, store the composite baseline in its own component.
Testing component
Consider using a separate component for storing files related to testing the system. This component includes files such as test scripts, test results and logs, and test documentation.
Deployment component
At the end of a development cycle, you need a separate component to store the generated files that you plan to ship with the system or deploy inhouse. These files include executable files, libraries, interfaces, and user documentation.
Tools component
In addition to placing source files under version control, it is a good idea to place your team’s developer tools, such as compilers, and system header files under version control.