What are the open source alternatives to Lattix?

2019-02-09 11:21发布

问题:

I have gotten the opportunity to work with Lattix in the past. I believe the paradigm it represents (a hierarchical dependency matrix) is the future of large-scale system architecture management.

However the companies I work for are always put off by the price tag. Is anyone aware of any good open-source alternatives that exist? After much searching I can't seem to find one.

回答1:

There are some open source tools that implement the core functionality of Lattix, DSM (Design or Dependency Structure Matrix) listed here:

http://en.wikipedia.org/wiki/Dependency_Structure_Matrix

The recent release of dtangler 2.0 has an something in its release notes you might find interesting:

dtangler 2.0.0. is released! The major new feature is the ability to read dependency information from a plaintext file. In other words: it's not just for java - now you can generate a dependency structure matrix that describes whatever you want!



回答2:

It is not a free tool (299 euros for a personnal license) but the tool NDepend comes with a Dependency Graph coupled with a Dependency Matrix. Disclaimer: I am one of the developers of the tool

Here are some screenshots:



回答3:

I have not seen anything as powerful as Lattix to represent your code in a DSM. While NDepend will generate the DMS it is a static snapshot. Lattix is dynamic allowing the user to change the architecture of the code in the DSM model.



回答4:

SonarQube has a free dependency analyzer (in my experience, less useful than Lattix). You can add the Package Design widget to the dashboard and drill down. Instructions can be found here.



回答5:

For a simple project, I found MaDGe - Module Dependency Graph.

Install with npm

npm -g install madge

List dependencies of all *.js files in directory src

madge path/src 

Find circular dependencies of a particular file app.js

madge --circular path/src/app.js

There's also a graphing functionality, but I don't have that up and running yet.



回答6:

If you or the companies you work for happen to use (the non free) IntelliJ IDEA Ultimate and Java, you can use its Dependency Structure Matrix.