Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Este artigo aborda a importância da reutilização de software por meio de padrões de software, especificamente, padrões de análise. O artigo apresenta conceitos e a relevância da reutilização de software, descrevendo vantagens e desvantagens sobre o tema.
Para
que serve:
Os
padrões de análise são úteis para reutilização do conhecimento durante a
modelagem conceitual de sistemas de informação.
Em
que situação o tema é útil:
Reutilização
de software por meio de padrões de software. Especificamente, discute a
reutilização na modelagem conceitual de sistemas de informação.
Autores: Evaldo de Oliveira da Silva e Jugurta Lisboa Filho
O reuso de software visa reaproveitar grande parte do software produzido e informações associadas em novos projetos, diminuindo o custo, aumentando a produtividade no desenvolvimento e proporcionando o compartilhamento do conhecimento durante as fases de desenvolvimento.
A ideia básica é que componentes de software sejam especificados e projetados de forma que possam ser reusados em aplicações diferentes. Antigamente, a idéia era construir bibliotecas de códigos com o objetivo de serem reutilizados em aplicações científicas e de reengenharia sendo, portanto, de um domínio de aplicação limitado. Os geradores de aplicação ou geradores de código também surgiram com o objetivo de facilitar a criação de aplicações a partir de sua especificação em uma linguagem de alto nível. Tais geradores representavam a preocupação com o reuso nos diferentes níveis do processo de desenvolvimento de software, apesar de ficarem limitados a poucos domínios de aplicação.
Existem vários motivos para adotar mecanismos para reutilização de software. Uma das grandes motivações está na necessidade de aumento de produtividade, manutenibilidade e qualidade tanto do software quanto de seu processo de desenvolvimento. O ganho na produtividade se relaciona à redução da quantidade de código a ser programada, testada e documentada, diminuindo também o custo do produto. A capacidade de manter a aplicação é melhorada, pois o entendimento do sistema como um todo fica mais fácil, já que componentes projetados para reuso também possuem funções bem definidas e os desenvolvedores tornam-se mais familiarizados com os códigos reutilizados. A qualidade de um software projetado para reuso, em geral, também é maior do que a de um software desenvolvido sem este propósito, pois normalmente há um investimento maior no projeto, documentação e testes.
Neste contexto, o código ou qualquer outro artefato de software reusável deve ser catalogado para que possa ser facilmente consultado, padronizado a fim de facilitar sua implementação, e a integração à nova aplicação seja facilitada. Assim, o processo de identificação do componente a ser reutilizado deve ser conhecido por meio de repositório que permita catalogá-los. Além disso, a gerência de configuração dos componentes armazenados deve permitir que as mudanças e a evolução destes componentes sejam controladas.
...