Académique Documents
Professionnel Documents
Culture Documents
Resumo
A evolução da Engenharia de Software tem avançado consideravelmente nas últimas
décadas, principalmente com o uso do paradigma de objetos, permitindo que a proposta de
reutilização de funcionalidades, de regras de negócios ou mesmos de dados levaram à
necessidade de uma nova proposta de processo para apoiar o desenvolvimento de softwares
baseados em componentes.
Esse processo é necessário na aplicação de uma abordagem de reuso de software exige a
construção de um ambiente de informações que suporte a desde a descoberta, definição,
documentação até a distribuição desses componentes.
Palavras-chave: Administração de dados; Reuso de software; Componentes.
1. Introdução
O objetivo deste artigo é apresentar um processo de Administração de Componentes como
apoio ao desenvolvimento estruturado e padronizado de software baseado em componentes,
relacionando suas atividades e um conjunto de tecnologias necessárias para sua efetiva
implementação.
A proposta desse processo baseia-se nas premissas da Administração de Dados, que surgiu
com a finalidade de dar suporte ao desenvolvimento de sistemas baseados em banco de dados,
promovendo a conceituação, segurança, integridade e compartilhamento dos dados
corporativos armazenados.
Inicialmente serão apresentados os fundamentos do processo da Administração de Dados para
embasamento do processo da Administração de Componentes. De acordo com Pall (1987),
um processo pode ser definido como uma organização lógica de pessoas, materiais,
equipamentos, informações e procedimentos em atividades de trabalho orientadas a produzir
um determinado resultado final.
2. Administração de dados
No período de 1980, os conceitos da Engenharia de Informação foram definidos por James
Martin e Clive Finkenstein. A premissa básica da Engenharia da Informação é que os dados
permanecem no centro dos sistemas de informações e formaliza as técnicas pelas quais os
dados são criados. (MARTIN & FINKELSTEIN, 1985).
Neste mesmo período, surgiu a Administração de Dados como “uma função da empresa
responsável por desenvolver e administrar centralizadamente estratégias, procedimentos,
práticas e planos capazes de disponibilizar os dados corporativos necessários, quando
necessário, revestidos de integridade, privacidade, documentação e compartilhamento.”
(BARBIERI, 1994).
3. Processo de administração de dados
O Processo de Administração de Dados corresponde a um conjunto de atividades, cuja missão
é disponibilizar e manter a informação como um diferencial competitivo do negócio.
4. Administração de componentes
A seguir, serão apresentados os fundamentos da Administração de Componentes necessários
para o entendimento da proposta.
5. Ambiente de desenvolvimento baseado em componentes
A solução de um problema, muitas vezes, é baseada na aplicação de uma solução similar que
já foi desenvolvida ou adaptada para resolver um outro problema. O mesmo raciocínio pode
ser aplicado na Engenharia de Software, para solução de um problema computacional. Desta
forma, partes de software já desenvolvidas podem ser utilizadas novamente para auxiliar na
solução de um novo problema (ROSSI, 2004).
O desenvolvimento baseado em componentes (CBD) ou a Engenharia de Software baseada
em componentes (CBSE), consolidou-se no final de 1990 com uma abordagem baseada no
reuso, motivada pela frustração de que o desenvolvimento orientado a objetos não tinha
conduzido a um efetivo reuso, como originalmente foi sugerido (SOMMERVILLE, 2003).
Segundo Vitharana et al (2003), várias abordagens de desenvolvimento, da estruturada a
orientada a objetos, tinham como propósito reduzir o risco e o custo de desenvolvimento. O
desenvolvimento baseado em componentes é uma evolução dessas abordagens, pois tem
como conceito construir um todo integrado a partir de partes padronizadas e independentesO
artigo deve ser escrito no programa Word for Windows, em versão 6.0 ou superior. Se você
está lendo este documento, significa que você possui a versão correta do programa.
6. Componentes
O conceito de componente é extremamente abrangente, pois componente pode ser algo tão
simples quanto um elemento de uma interface gráfica ou tão complexo como uma
funcionalidade completa de um sistema. Os princípios que definem a tecnologia orientada a
objetos são elementos importantes para a evolução do conceito de componentes de software.
Segundo Costa (2003), “o paradigma da orientação a objetos traz enormes benefícios ao
desenvolvimento de software, pois ela torna o desenvolvimento e a manutenção muito mais
fáceis. A aplicação correta do paradigma de objetos, com uso de encapsulamento de
componentes, dos mecanismos de herança e polimorfismo tem produzido softwares cada vez
mais simples, possibilitando a aplicação intensiva do reuso”.
Um componente é uma unidade de composição e deve ser especificado de tal forma, que é
possível compô-lo com outros componentes e integrá-los nos sistemas de uma maneira
previsível. Deve ter suas interfaces claramente documentadas e a sua implementação
encapsulada (CRNKOVIC et al.,2003).
7. Reuso de Software
O reuso de software tem sido praticado há muitos anos, à medida que estes sistemas de
software são implementados em uma série de máquinas e adaptados para diferentes ambientes
(SOMMERVILLE, 2003).
Muitos dos sistemas de software que construímos são semelhantes. Há características comuns
entre sistemas com propósitos semelhantes. Portanto, deve-se considerar estes sistemas,
avaliar seus componentes e determinar suas adaptações ou até mesmo reutilizá-los por
completo na construção de um novo sistema (PFLEEGER, 2004).
Entende-se por reuso, o uso de um artefato na solução de problemas diferentes (IEEE-Std
1517–1999) e por reuso de software, um artefato de software desenvolvido em outro lugar -
em outro projeto ou em outra companhia e utilizado em mais de um contexto, com ou sem
modificações (MORISIO et al, 2000).
Um outro conceito importante é o de reusabilidade, que estabelece o grau para o qual um
artefato de software pode ser utilizado em mais de um sistema de software ou na construção
de outros artefatos de software (IEEE-Std 1517–1999).
Paralelamente a abordagem de reuso, temos o conceito da análise de domínio, que segundo
Pressman (2000), tem por objetivo identificar, analisar e especificar os requisitos comuns de
um domínio de aplicação específico, para reuso em vários projetos dentro do domínio da
aplicação.
Sommerville (2003), usa o conceito de “famílias de aplicações”, ou linha de produtos, para
caracterizar um conjunto de aplicações relacionadas e que têm uma arquitetura de domínio
específico em comum. O núcleo em comum da família de aplicações é reutilizado cada vez
que uma nova aplicação é requerida.
10. Conclusão
O ambiente de desenvolvimento baseado em componentes (CBD) está se tornando o principal
modelo de desenvolvimento de software, com uma abordagem voltada para a produtividade e
benefícios da reutilização. Porém, a implementação da reutilização de software exige
mudanças conceituais, culturais e tecnológicas no processo de desenvolvimento de sistemas.
Neste cenário, consolida-se a importância de implementar um ambiente estruturado,
padronizado e um conjunto de atividades e recursos organizados logicamente em um processo
denominado Administração de Componentes, para apoiar o estabelecimento e o
desenvolvimento de software baseado em componentes.