So first thing: the metrics implemented by Andre are used to do automatic re-structuring of classes into packages as Alex said. But they are only the metrics, you need an algorithm to do the actual regrouping of class in packages. The algorithms uses the metrics to know what classes are "closer" one to the other. Without this algorithm (not very difficult to implement) there is always the possibility to use the metrics as quality metrics for existing packages.
However I would be cautious about that. Actually, I started to implement them (and Andre took the flag recently) to experiment more formaly their real interest.
Cool! I would be interested to see this.
My impression is, actually, that they are not that much interesting for this purpose, that people do not really group classes based on cohesion/couopling considerations, but rather or higher level consideration (like all UI goes there, and all security code goes there, ...)
This is what happen most of the time. You may see a strong coupling between Seaside and Pier, but they live in different packages. And you have JComponent and JButton both in Swing, while JComponent does not reference JButton that much.
BTW, jannik did a related work with DSM, except he was looking at cycles, i.e. he used another metric.
Which metric?
Cheers Alexandre
----- Mail original -----
De: "Simon Denier" simon.denier@gmail.com À: "Moose-related development" moose-dev@iam.unibe.ch Envoyé: Jeudi 20 Janvier 2011 10:03:45 Objet: [Moose-dev] Re: bunch cohesion and coupling On 19 janv. 2011, at 23:13, Alexandre Bergel wrote:
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures (http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=792498)
They provide ways to assess the quality of a modularization (Figure 1). There are some automatic partition of dependent C files.
I would be curious to see if what their clustering algo says about the modularization of our tools. Will they provide a better distribution of classes among the packages (which I doubt).
They certainly would be better according to the metrics they use for clustering :)
I guess that Nicolas has more than one idea about what to do with this work...
-- Simon Denier
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev