Browser page displays a graphical browser of components and relationships among them.
This page is split into two sections:
- Search criteria
- Results of search
Browser’s search criteria
You can select the displayed components and relationships using the available search filters:
- “Name contains” : components including the typed text as part of the component name
- “Name NOT contains” : components NOT including the typed text as part of the component name
- “Language”: programming language of the component (available values are only those languages found in the application). Language values include the number of components found of that language, e.g. Javascript(7) means that there are 7 Javascript components
- “Type”: component type, i.e. category of the component as labeled by Kiuwan Architecture (available types depend on the technology of the application). Type values include the number of components found of that type, e.g. Class(115) means that there are 115 classes in the model
- “Relations”: relationship type, i.e. category of the relationships as labeled by Kiuwan Architecture (available types depend on the nature of the application). Relations values include the number of relations found of that type, e.g. Inherits(36) means that there are 35 inheritance relationships among the components in the model
- “Analyzed / Inferred” : a component can be “analyzed” (i.e. it has been found during the analysis because the component has a source code file) or “inferred” (i.e. the component is referenced somewhere in the source code but there isn't any source file for it)
- “File” : components including the typed text as part of their source file name (including directories)
- “Tag” : components tagged with the specified tag ( see below “Add tag to component(s) ” )
You can add/remove search filters manually selecting from the “+Filters” list (please read below for special “Tags” filtering).
Graphical view will display individual components and relationship.
But, if you want to group components (hiding individual components) you can select some of the values of “Group By”:
- Nothing (default value): individual components, no grouping
- Type : displays components grouped by component type (one node for every available component type)
- Language : displays components grouped by language (one node for every available language)
- Custom Tags Groups: displays components grouped by Tag Group (one node for every group tag belonging to the selected custom tag group) Please see Components Tagging for further info.
Browser’s query results
As said above, a graphic displaying all your model’s components and relationships might be huge (depending on the size of your application).
Most of the times, you will start displaying a graphic with only those elements of your interest. Likely, you will start searching components in the Components page and will switch to Browser page.
Kiuwan maintains the selected search criteria between these pages.
For example, let’s say that you start filtering JSP components. In our sample app, graphical view will display something like next image.
Graph Options
“Graph options” menu allows to customize some of the graphic display and layout.
If checked, “Auto-fit graph to screen” option will resize and center the graphic every time it’s redrawn. If not checked, layout will be preserved.
Every component will have a size and color. You can select the “meaning” of those characteristics.
For size, you can select among global indicator, effort, cyclomatic complexity or lines of code (the default value).
The size of the component will be directly proportional to the value of the metric.
Similarly, you can decide the color of the components depending on available metrics (language, type, global indicator, effort, cyclomatic complexity and lines of code).
For metrics with discrete values, different colors will be assigned to each value. For metrics with continuous values, red-yellow-green colors will be applied depending on the “meaning” of the selected metric (red for “bad” values, green for “good” values).
Displaying Component attributes
Available data depends on the type of the component and vary accordingly.
Besides displaying component’s data, hovering the mouse over a component grays all the nodes/relations not directly related with it, highlighting the node and its direct relationships.
Displaying Component relations
Selected component will be highlighted by a red circle surrounding it.
Displaying Component neighbors
For example, you have filtered components by JSP language, so the graphic will only display JSP components (and their relations).
In our example, there’s only one “includes” relationship among existing JSPs.
Now, you click (and select) a specific JSP
Now, clicking on “Add neighbors”, Kiuwan will display all components directly-related to the selected component, regardless the language and the type of the relations.