Escolar Documentos
Profissional Documentos
Cultura Documentos
BASEADA EM COMPONENTES
Marcelo Nogueira
Resumo: O reuso, no contexto da engenharia de software, para padronizar e gerenciar os processos de desenvolvimento
nem é uma idéia velha, nem nova. Os desenvolvedores têm de software.
usado idéias, abstrações e processos desde os primeiros dias
da computação, mas as primeiras abordagens ao reuso eram Segundo Rezende [5], pode-se resumir que a anticrise é a
as da prática corrente. Hoje, sistemas complexos e de alta união e trabalho conjunto e harmonioso de três elementos:
qualidade precisam ser desenvolvidos em períodos de tempo Empresa (Alta Administração), Cliente e/ou usuário e a
muito curtos. Isso implica na utilização de componentes. unidade de informática (Desenvolvedores de soluções).
2
software que tem aplicabilidade a software existente e futuro, • Há duplicação da função do componente dentro do
num particular domínio de aplicação. A meta global é domínio?
estabelecer mecanismos que permitam aos engenheiros de • O componente é dependente de hardware?
software compartilhar esses componentes, reusá-los, durante • O hardware permanece imutável entre implementações?
o trabalho com sistemas novos e existentes. [2] [4] • As especialidades do hardware podem ser removidas
para outro componente?
A engenharia de domínio inclui três principais atividades: • O projeto é suficientemente otimizado para a
análise, construção e disseminação. Pode ser alegado que o implementação seguinte?
reuso vai desaparecer, não por eliminação, mas por • Podemos adicionar parâmetros a um componente não-
integração do contexto da prática de engenharia de software. reusável de modo que se torne reusável?
À medida que o reuso tem uma maior ênfase, alguns • O componente é reusável em várias implementações
acreditam que a engenharia de domínio vai se tornar tão
apenas com pequenas modificações?
importante quanto a engenharia de software durante a
• O reuso pela modificação é exeqüível?
próxima década.
• Um componente não-reusável pode ser decomposto para
O PROCESSO DE ANÁLISE DE DOMÍNIO produzir componentes reusáveis?
• Quão válida é a decomposição de componente para
Os passos do processo de análise de domínio no contexto da reuso?
engenharia de software orientada a objetos foram definidos CONCLUSÃO
como: [2] [3] [4]
1. Defina o domínio a ser investigado. É importante que os desenvolvedores de software
2. Categorize os itens extraídos do domínio. reconheçam que não é possível desenvolver sistemas com
3. Colete uma amostra representativa das aplicações do qualidade, cumprir prazos e custos e atender às expectativas
domínio. dos usuários sem ter um processo de desenvolvimento por
4. Analise cada aplicação da amostra. componentes definido, compreendido e utilizado por toda a
5. desenvolva um modelo de análise para os objetos. equipe.
É importante notar que a análise de domínio é aplicável a O nível de complexidade da sua implementação pode ser
qualquer paradigma de engenharia de software e pode ser dimensionada de acordo com o porte do sistema,
aplicada tanto para o desenvolvimento convencional quanto viabilizando para as pequenas organizações desenvolvedoras
para o orientado a objetos. de software. Possibilita então ser um dos fatores críticos para
o sucesso no desenvolvimento de software.
A expansão do segundo passo da análise de domínio, sugere
uma abordagem de oito passos para a identificação e REFERÊNCIAS BIBLIOGRÁFICAS
categorização de componentes reusáveis: [2]
1. Selecione funções ou objetos específicos [1] MAFFEO, BRUNO, Engenharia de Software e Especificação de
2. Abstraia funções ou objetos. Sistemas, Rio de Janeiro, Ed. Campus, 1992.
3. Defina uma taxonomia. [2] FILHO, WILSON DE PÁDUA PAULA, Engenharia de Software, Rio
4. Identifique as características comuns de Janeiro, Ed. LTC, 2003.
5. Identifique as relações específicas
6. Abstraia as relações [3] PETERS, JAMES F. et al. Engenharia de Software,Rio de Janeiro, Ed.
Campus,2001.
7. Crie um modelo funcional
8. Defina uma linguagem de domínio [4] PRESSMAN, ROGER S., Engenharia de Software, Rio de Janeiro, Ed.
McGraw-Hill, 2002.
Uma linguagem de domínio permite a especificação e
[5] REZENDE, DENIS ALCIDES, Engenharia de Software e Sistemas de
posterior construção de aplicações dentro do domínio. Informações, Rio de Janeiro, Ed. Brasport, 1999.
Apesar de os passos mencionados fornecerem um modelo [6] SOMMERVILLE, IAN, Engenharia de Software, São Paulo, Ed.
útil para a análise de domínio, não fornecem diretrizes para Pearson Education, 2003.
decidir que componentes de software são candidatos a reuso.
Abaixo um conjunto de questões pragmáticas como guia para
identificar componentes de software reusáveis: [2]
• A funcionalidade do componente é necessária em
implementações futuras?
• Quão comum é a função do componente dentro do
domínio?