Structure101 Studio offers 3 granularity settings: detail, overview and includes-only. These influence the size, nature and load time for the in-memory model of the code-base that Structure101 Studio creates.

The default is detail. With this option selected, the model will contain all the relevant source files in the code-base along with all the code items contained in those source files.

An important alternative to detail is overview. With this option selected, the model "stops" at the file level (does not actually include the code items), but with any code-level dependencies rolled up to the file level. This means that, at the file level and higher, you see exactly the same set of dependencies that you would see in detail mode, but the in-memory model is much lighter (and faster!).

This is very useful (sometimes unavoidable) on large code-bases where you may not have enough physical memory to load the model in detail mode (or where you can load but the application performance is sluggish). However, it is important to realize that this option can be extremely valuable in its own right (even where scalability is not an issue). The key here is that it cuts down on noise (low-level stuff like method calls), making it easier to concentrate on the bigger picture (which is what Structure101 Studio is all about). Should file A (or folder X) depend on file B (or folder Y): yes or no? The exact nature of the dependency here is often a side-issue...

The third granularity option is includes-only. As its name suggests, this just shows files and the "includes" dependencies between them. This option is by far the fastest of all.

It is somewhat contentious whether an includes-only model is actually useful or not in the context of structural analysis and control. It is certainly true that it isn't very fashionable or even sexy! However, a case could certainly be made that it does in fact provide a sound basis, and it certainly has the advantage, not to be underestimated, that it is easy and (generally) unambiguous to define and understand - all important factors when you are e.g. seeking to roll out some new layering principles to the team.

However, regardless of whether or not you would consider using includes-only as your primary model/granularity option, its speed of loading still makes it an extremely useful option when experimenting with other (especially pattern-based) project properties such as excludes, transformations and merge rules.