Manage software architecture

Dependency overload
Dependency overload
Software involves a great many dependencies – that is, relationships between its various components. Knowing the dependencies of a system is absolutely necessary in software development, as most modern software depends not only on standard libraries and internal components, but on a host of third-party components. Being able to view the dependencies of a software’s codebase is essential for an architect or manager of any large software system.
Visualizing dependencies using generic software, however, suffers from information overload, as the sheer number of dependencies makes it impossible to get a system-wide view in one glance. It is impossible to find which dependencies are relevant to a particular decision.

Our solution: Dependencies grouped into layers
Layering dependencies
Semmle’s On-Demand Analytics of Software Assets (ODASA) solution avoids this problem by displaying dependencies at different levels, and grouping the dependencies by layer. It is then possible to drill down into a layer for more detail. ODASA can thus show the dependencies between different types of software artifacts (including artifacts specific to an organization), and the customer can view the dependencies at the level that they want.
We find out all the information we need from the software architect, and we can create short queries to specify the architectural diagrams. We can also amend ODASA very quickly to customise the architecture management views for a particular user, based on the software artifacts used.
Immediate feedback like this can have a dramatic effect on the efficiency of your software development.
If you would like an efficient way to manage your software architecture, contact us.
