Chapter 5.  Creating a System

Basic working units in the Sonargraph workspace are called modules . A system consists of one or several modules representing the components that your product is made up of. Each module contains one or several root directories pointing out to the source code or the executable artifacts.

At the menu "File""New""System..." Sonargraph provides different wizards to easily create software systems . You can either create an empty system and manually add modules to it or use one of the language based wizards.

If you need to have modules from different languages in the same system you can add those of the second language later, regardless of the type of system you have created. See Chapter 6, Adding Content to a System

All wizards present an initial page where you can specify the system's name, a short description for it and the local directory where you want to create the system. Optionally, you can use a predefined quality model for the new system. See Section 5.1, “Quality Model”

Sonargraph offers the following system creation wizards:

Most wizards are similar whether you create a new system or add modules to an existing system.


Choose a location for the Sonargraph software system close to your source code. This makes it far easier to use the system on other developer machines and build servers, because root directories will be resolved relatively to the system directory.

The software system is comprised of several plain text files and should be version controlled together with your source code, so that code and rules evolve simultaneously and everybody always has the same and up-to-date state.


If you plan to use our Eclipse or IntelliJ plugins, place the Sonargraph system in a directory that is not part of your Eclipse workspace or IntelliJ project setup. Otherwise executing Sonargraph refactorings might easily corrupt the system's information, if the Sonargraph files are not excluded from modifications during refactoring execution.