Por que eu devo ler este artigo: Este artigo detalha os benefícios e vantagens de se aplicar o desenvolvimento baseado em componentes como técnica a ser utilizada para o desenvolvimento de aplicações.

Para que serve - Auxilia no desenvolvimento de aplicações com mais agilidade, através do reuso de componentes pré-existentes e com maior grau de confiabilidade e qualidade.

Em que situação o tema é útil - Facilitar a construção de produtos que compartilham características similares com outras aplicações.

A competição entre as empresas está se tornando cada vez mais intensa e globalizada. Freqüentemente, elas competem com pequenas diferenças em novos serviços, que são rapidamente introduzidos no mercado. Melhorar o desempenho do negócio comumente significa que as empresas devem radicalmente melhorar seu desempenho no processo de desenvolvimento de software. Assim sendo, o sucesso do negócio é medido através da produção de software e de serviços de forma mais ágil, melhor e mais barata. A agilidade significa que o software deve ser disponibilizado em tempo hábil, para alcançar uma fatia maior do mercado. Neste contexto, “melhor” significa que o software deve atender aos requisitos do negócio e sem falhas relevantes, e “mais barato” quer dizer que o software deve ser produzido e mantido a baixo custo (Jacobson et al., 1997).

O desenvolvimento de software tradicional tem apresentado diversos problemas. Poucos são os projetos de software que têm sido entregues no prazo e dentro do orçamento previsto e a qualidade nem sempre está em níveis aceitáveis de confiabilidade. Além disto, cerca de 80% dos custos do software são gastos em atividades de manutenção, consumindo tempo e reduzindo consideravelmente a competitividade das empresas (Bosch, 2000).

O Desenvolvimento baseado em Componentes (DBC) (Brown, 2000) aparece como uma técnica promissora para a resolução destes problemas. Essa técnica consiste no desenvolvimento de aplicações a partir de componentes interoperáveis, reduzindo, assim, a complexidade e o custo do desenvolvimento, melhorando a qualidade do produto de software (Kallio, 2001) (Braga, 2000) (Woodman et al., 2001).

Desenvolvimento Baseado em Componentes

D’Souza (1998) define DBC como uma técnica de desenvolvimento de software, na qual todos os artefatos – desde códigos executáveis até especificações de interface, arquiteturas e modelos de negócio, e variando desde sistemas completos até pequenas partes – podem ser construídos pela combinação, adaptação e união de componentes numa variedade de configurações.

O conceito de componente ainda não possui um consenso entre os pesquisadores. Entretanto, uma visão bem aceita é que componentes reutilizáveis são artefatos auto-contidos, claramente identificáveis, que descrevem ou realizam uma função específica e têm interfaces em conformidade com um dado modelo de arquitetura de software, possuindo documentação apropriada e um grau de reutilização definido (Braga, 2000).

Para que possamos “montar“ aplicações a partir de componentes, duas atividades se mostram importantes: composição e adaptação. A composição é o uso de componentes na construção de um componente maior ou de um software completo. A melhor forma de reutilização seria o emprego do componente sem modificações. Entretanto, nem sempre isto é possível e, às vezes, é até importante o componente ser provido de mecanismos que permitam a sua adaptação, admitindo um maior espectro de possibilidades de uso.

A busca e a seleção de componentes são também atividades importantes em um processo de desenvolvimento baseado em componentes. A facilidade de localização e de compreensão da utilidade e das características do componente confere agilidade ao processo. Portanto, uma documentação acurada e um apropriado mecanismo de classificação de componentes são fundamentais para o sucesso da localização e reutilização de componentes (Kallio, 2001) (Braga, 2000).

Processo de Desenvolvimento de Componentes

O processo de desenvolvimento de componentes envolve quatro fases: análise de requisitos, especificação dos componentes, provisão e montagem de aplicações no domínio.

...
Quer ler esse conteúdo completo? Tenha acesso completo