segunda-feira, 25 de outubro de 2010

Técnicas para Customização de Software


Introdução

Grande parte dos softwares de ERP (Enterprise Resource Planning) ou CRM atuais têm de lidar com a questão da personalização, por vezes mais conhecida pelo anglicismo “customização”. Customizar um software não só significa introduzir modificações que o tornem aderentes às necessidades particulares de uma empresa ou linha de negócio, mas também um grande esforço de implementação.

Pensando nisso, o engenheiro Chistopher Alexander e mais quatro autores escreveram suas experiências publicando a obra "Design Patterns: Elements of Reusable Object-Oriented Software", de 1995, que tenta descrever soluções de problemas geralmente encontrados em projetos de software. Segundo o autor, um dos padrões mais utilizados nos dias de hoje é odesign pattern MVC, Model-View-Controller, que permite uma separação em forma de camadas com uso de componentes (OLIVEIRA, 2004).

Podemos caracterizar a evolução da maturidade de uma aplicação, quanto ao aspecto customização, segundo as seguintes fases:

· 1 código fonte, 0/1 customizações: ocorre em cenários onde a aplicação é muito simples, sem suporte à parametrização, ou na primeira venda e implantação;

· N códigos fontes, N customizações: customizações e não são implementadas práticas que garantam um ocorre quando clientes importantes exigem único código (produto) para todos os clientes;

· 1 código fonte, N customizações: ocorre quando o produtor do software se organiza e produz um único código fonte através de uma ou mais das seguintes técnicas:

o Versionamento com negociação com clientes. As customizações são demandadas, mas passam por um processo de generalização, a fim de que todos os clientes possam se beneficiar

o Parametrização de dados, onde técnicas de metadados permitem a configuração do comportamento da aplicação pelo cliente ou área de serviço;

o Personalização de código, onde técnicas de inserção de código permitem a alteração do comportamento da aplicação pelo cliente ou área de serviço;

o Uso de linguagens de programação, onde o cliente ou a área de serviços pode estender a aplicação incluindo novas telas, relatórios e comportamentos

Principais Técnicas de Customização

Existe uma única certeza em software: todo software sofrerá mudanças no tempo – é mera questão do quando e do quanto custará. É função do arquiteto planejar com antecedência uma arquitetura que minimize o impacto das futuras customizações, o que poderá significar uma grande economia tanto para usuários quanto para o produtor. Mas como podemos nos planejar para o desconhecido? De fato, já existe um bom conjunto de técnicas que apóiam as mudanças em um software. Dentre as mais conhecidas que serão abordadas abaixo temos:

· Metamodelos, metadados e pontos de extensão;

· Mecanismos (como Herança e Interface) e Patterns de extensão (como Factory, Composite, Inversão de Dependência, etc.);

· Avaliação de regras (como fórmulas cadastradas pelo usuário e avaliadas em tempo de execução);

Os modelos de customização

Embora a customização de um pacote de software não seja uma tarefa para leigos, é com certeza uma tarefa mais simples que os processos que envolvem o desenvolvimento de uma solução completa para toda a organização. A estratégia adotada na customização é denominada Modelo de Customização.

    • Parametrização

A estratégia de parametrização é adotada por todos os desenvolvedores de software consultados, é um conceito simples que pode solucionar muitos problemas de adequação do software as necessidades das empresas devem prover ao usuário a configuração do ambiente de trabalho (telas, senhas, adaptações pessoais) e também determinar de funcionalidades básicas do sistema (moeda, índices, nomenclaturas).

  • Desenvolvimento de componentes

Existe a possibilidade de que o software contratado não atenda a todas as funcionalidades requeridas pela empresa onde está sendo feita a implementação, neste caso pode-se optar pelo desenvolvimento de componentes de software que serão anexados ao sistema de gestão e passaram a fazer parte do mesmo, interagindo diretamente com a base de dados e trocando mensagens com os componentes originais do pacote.

  • Adequação de tabelas

O modelo de adequação de tabelas é utilizado por alguns fornecedores para proporcionar ao usuário o acréscimo de dados ao sistema de informação que não estavam previstos no pacote de gestão. O usuário pode alterar a estrutura de uma tabela interna da base de dados acrescentando mais campos de armazenamento de informações.

Conclusão

O processo de customização deve ser considerado como um dos fatores críticos de sucesso na implementação de um ERP ou qualquer outro sistema, os diversos modelos apresentados podem auxiliar a equipe de implementação a adequar o pacote adquirido as necessidades específicas da empresa onde o sistema irá atuar.

Bibliografias:

http://www.microsoft.com/brasil/msdn/tecnologias/arquitetura/Customizacao_Software.mspx

http://www.abepro.org.br/biblioteca/ENEGEP2000_E0240.PDF

Nenhum comentário:

Postar um comentário