UML - Coesão - Acoplamento

Salve Senhores!

Não sei se o lugar deste post seria aqui mesmo…

Ja ouvi falar em algumas ferramentas que fazem análise de coesão e acoplamento tanto em implementações(java, c#… ) como direto em um diagrama UML …

Alguém já utilizou alguma ferramenta do tipo ? Pode indicar? qual o nome? é free?

Obrigadoo!

Abraços!

putz,

conheço apenas para java e a implementação abrange apenas código.

http://www.clarkware.com/software/JDepend.html

Falando nisso, eu fui ler no wikipedia a definição de coesão em linguagem de programação e o conceito ficou muito confuso. Alguém saberia explicar melhor?

Coesão (em oo) - O quanto uma classe cumpre corretamente suas responsabilidades, não assumindo responsabilidades de outros classes (conceitos) mantendo a granulidade.

Resumindo: (de uma maneira bem resumida)


Pessoa

-nome
-idade

+vender()
+autenticar()
+enviarEmail()

A classe acima possui métodos que não deveriam pertencer a ela (de acordo com o negócio) além de possuir uma alta granulidade de responsabilidades possivelmente uma refatoração extraindo classes desta seria uma boa solução.
Essa coesão depende sempre do domínio em questão.

Acoplamento seria o quanto estão dependentes os seus programas/componentes/camadas. Quanto maior acoplamento, menor o nível de coesão.
:wink:

Soh um detalhe: coesao e acomplamento podem se referenciar a clasesm acotes, metodos e ate atributos. Lteratura recomendada: Meilir Page-Jones.

pcalcado, por um acaso a literatura recomendada seria: Fundamentals of Object-Oriented Design in UML?

Exato