Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Java Magazine 77 - Coesão e Acoplamento em Sistemas Orientados a Objetos
Neste artigo, é apresentada uma visão geral sobre os conceitos de coesão e acoplamento e sua importância no desenvolvimento de sistemas orientados a objetos de qualidade.
Java Magazine 77
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 77
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 77
Coesão e Acoplamento em Sistemas Orientados a Objetos
Como melhorar a qualidade de seus projetos
De que se trata o artigo:
Neste artigo, é apresentada uma visão geral sobre os conceitos de coesão e acoplamento e sua importância no desenvolvimento de sistemas orientados a objetos de qualidade.
Para que serve:
Apresentar conceitos que podem auxiliar desenvolvedores na produção de sistemas orientados a objetos com maior qualidade, principalmente no que diz respeito à facilidade de manutenção e ao potencial de reuso.
Em que situação o tema útil:
O desenvolvimento de software de qualidade, dentro do prazo e com o custo estabelecido é essencial para a sobrevivência de qualquer organização desenvolvedora de software. A facilidade com que se dá a manutenção e o potencial de reuso de um software desempenham papel de destaque nesse contexto, e os conceitos de coesão e acoplamento podem auxiliar muito neste sentido.
Coesão e acoplamento em sistemas orientados a objetos:
Os conceitos de coesão e acoplamento, surgidos no contexto da análise e projeto estruturados, embora tenham um grande impacto na qualidade de sistemas, são geralmente desconhecidos ou negligenciados por desenvolvedores iniciantes de sistemas orientados a objetos. O desenvolvimento de softwares com alta coesão e fraco acoplamento facilita, entre outras coisas, a manutenção e o reuso. Assim sendo, o estudo desses conceitos e seus desdobramentos torna-se importante para melhorar a qualidade de sistemas.
Muitos desenvolvedores de software percorreram caminhos que passaram pelo desenvolvimento procedural antes de chegarem à orientação a objetos.
Desenvolver um programa procedural significa entender e conceber o programa como um conjunto de procedimentos (também conhecidos como rotinas, sub-rotinas ou funções) que manipulam dados. Neste modelo de desenvolvimento, os procedimentos são geralmente as unidades de subdivisão ou modularidade de sistemas.
Diferentemente do paradigma orientado a objetos, no qual a subdivisão de sistemas é baseada no mapeamento de objetos do domínio do problema para o domínio da solução, o desenvolvimento procedural não possui uma semântica forte que oriente a subdivisão de sistemas. Por isso, os procedimentos ou conjuntos relacionados de procedimentos de sistemas procedurais muitas vezes tratam de aspectos distintos do sistema e, consequentemente, apresentam certas características, como um alto grau de interdependência, que dificultam a manutenção e o reuso.
Neste contexto, muitos conceitos e métricas foram definidos para avaliar e auxiliar a subdivisão de sistemas. Dois destes conceitos são especialmente importantes por terem grande influência na qualidade dos sistemas desenvolvidos: coesão e acoplamento.
Os conceitos de coesão e acoplamento surgiram em meados da década de 1960, a partir de um estudo conduzido por Larry Constantine sobre o motivo pelo qual certos tipos de módulos de sistemas eram definidos e da análise dos pontos positivos e negativos relativos a estes tipos. Estes conceitos foram bastante estudados e utilizados no contexto da análise e projeto estruturado de sistemas.
A falta de conhecimento ou o negligenciamento destes conceitos e métricas contribui para que muitos desenvolvedores de sistemas orientados a objetos, principalmente iniciantes, desenvolvam sistemas com características indesejáveis.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Como melhorar a qualidade de seus projetos
De que se trata o artigo:
Neste artigo, é apresentada uma visão geral sobre os conceitos de coesão e acoplamento e sua importância no desenvolvimento de sistemas orientados a objetos de qualidade.
Para que serve:
Apresentar conceitos que podem auxiliar desenvolvedores na produção de sistemas orientados a objetos com maior qualidade, principalmente no que diz respeito à facilidade de manutenção e ao potencial de reuso.
Em que situação o tema útil:
O desenvolvimento de software de qualidade, dentro do prazo e com o custo estabelecido é essencial para a sobrevivência de qualquer organização desenvolvedora de software. A facilidade com que se dá a manutenção e o potencial de reuso de um software desempenham papel de destaque nesse contexto, e os conceitos de coesão e acoplamento podem auxiliar muito neste sentido.
Coesão e acoplamento em sistemas orientados a objetos:
Os conceitos de coesão e acoplamento, surgidos no contexto da análise e projeto estruturados, embora tenham um grande impacto na qualidade de sistemas, são geralmente desconhecidos ou negligenciados por desenvolvedores iniciantes de sistemas orientados a objetos. O desenvolvimento de softwares com alta coesão e fraco acoplamento facilita, entre outras coisas, a manutenção e o reuso. Assim sendo, o estudo desses conceitos e seus desdobramentos torna-se importante para melhorar a qualidade de sistemas.
Muitos desenvolvedores de software percorreram caminhos que passaram pelo desenvolvimento procedural antes de chegarem à orientação a objetos.
Desenvolver um programa procedural significa entender e conceber o programa como um conjunto de procedimentos (também conhecidos como rotinas, sub-rotinas ou funções) que manipulam dados. Neste modelo de desenvolvimento, os procedimentos são geralmente as unidades de subdivisão ou modularidade de sistemas.
Diferentemente do paradigma orientado a objetos, no qual a subdivisão de sistemas é baseada no mapeamento de objetos do domínio do problema para o domínio da solução, o desenvolvimento procedural não possui uma semântica forte que oriente a subdivisão de sistemas. Por isso, os procedimentos ou conjuntos relacionados de procedimentos de sistemas procedurais muitas vezes tratam de aspectos distintos do sistema e, consequentemente, apresentam certas características, como um alto grau de interdependência, que dificultam a manutenção e o reuso.
Neste contexto, muitos conceitos e métricas foram definidos para avaliar e auxiliar a subdivisão de sistemas. Dois destes conceitos são especialmente importantes por terem grande influência na qualidade dos sistemas desenvolvidos: coesão e acoplamento.
Os conceitos de coesão e acoplamento surgiram em meados da década de 1960, a partir de um estudo conduzido por Larry Constantine sobre o motivo pelo qual certos tipos de módulos de sistemas eram definidos e da análise dos pontos positivos e negativos relativos a estes tipos. Estes conceitos foram bastante estudados e utilizados no contexto da análise e projeto estruturado de sistemas.
A falta de conhecimento ou o negligenciamento destes conceitos e métricas contribui para que muitos desenvolvedores de sistemas orientados a objetos, principalmente iniciantes, desenvolvam sistemas com características indesejáveis.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal Java
Leandro Luque
Space do autor
É professor da FATEC Mogi das Cruzes, onde desenvolve pesquisas na área de Interação Humano-Computador, Engenharia de Software e AgroInformática. Leciona também na Universidade de Mogi das Cruzes. Mestre em Computação Aplicada pelo Instituto Nacional de Pesquisas Espaciais (INPE) e Bacharel em Ciênc...
Space do autor



1
0
