Desenvolvimento
O desenvolvimento de aplicações em Access
As aplicações em Access à medida do utilizador apresentam vantagens a nível de custo e rapidez inicial de criação para pequenas bases de dados.
Dentro das ferramentas mais facilmente disponíveis nas várias organizações o Access é a mais poderosa para manipular dados.
A nível de bases de dados mais complexas depende já da experiência dos programadores nas diversas ferramentas.
Devo usar o Access ou o Excel ?
Como indicação simples diria que o Excel pode ser usado quando se têm só uma tabela ou quando se têm até meia dúzia de tabelas mas uma quantidade de cálculos muito grande.
Cerca de um terço das bases de dados que desenvolvi tinham sido criadas inicialmente em Excel mas a complexidade crescente fez com que o seu uso se torne lento e complicado:
- A base de dados para controlar aluguer de louças funcionava bem com 2 ou 3 alugueres mas para lá disso deixava de ser operacional.
- A base de dados de controlo de facturação para a Siemens tinha por base um ficheiro em Excel que já tinha 12 megabytes, estava muito pesado, etc.
O Access por outro lado demora mais tempo a ser dominado. É possível criar uma tabela em Excel rapidamente mas em Access para ter uma aplicação funcional deverá ter a tabela, ecrãs e relatórios.
Uma base de dados feita em Access possibilita mais facilmente que a informação seja partilhada entre várias pessoas.
Qual o limite do Access ?
Para bases de dados com um volume de dados muito elevado o Access poderá ser usado mas obriga a que seja feita uma estrutura de dados muito bem pensada. Se os dados forem colocados num back-end em Microsoft SQL será possível trabalhar com centenas de milhares de linhas de dados sem grandes problemas.
Quando falamos em milhões de linhas de dados existem ferramentas mais adequadas.
Da minha experiência acima de 50 tabelas é uma base de dados muito complexa. Nestes casos é especialmente importante manter uma nomenclatura uniforme dos nomes dos campos e das várias entidades sobre pena de se demorar muito mais tempo a fazer a manutenção das bases de dados ou de repetir trabalho já feito.
Uma indicação no nome dos queries sobre se são queries auxiliares e do seu tipo facilita o uso da base de dados. Existem metodologias próprias para a atribuição de nomes a variáveis e objectos e o seu uso será tão mais importante quanto mais complexo for o programa.
A criação de módulos com rotinas para serem chamadas de vários formulários ou relatórios facilite a manutenção do código.
Não recomendo o Access para aplicações Web.
Quanto tempo demora o desenvolvimento de uma base de dados ?
Para a criação de uma solução em Access deverá contabilizar cerca de 3 horas de trabalho por cada form e 1,5 horas por cada relatório que seja feito. Este tempo têm em consideração o tempo de análise, desenvolvimento, testes e alguma documentação básica.
O utilizador deverá contar com pelo menos um terço deste tempo para reuniões de levantamento de requisitos, confirmação das especificações e testes. O carregamento de dados é um aspecto variável para cada caso.
Por exemplo, uma aplicação com 12 ecrãs e 10 relatórios levará cerca de 50 horas a ser feita e necessitará de pelo menos 17 horas de trabalho de quem está a pedir o desenvolvimento.
Devido à necessidade de agendar reuniões, ao aparecimento de dúvidas e alteração de requisitos é habitual que qualquer processo de desenvolvimento demore alguns meses. A parte de pagamento e facturação pode-se arrastar por um período também longo pelo que devem ser especificados os termos à partida.
No caso de desenvolvimento interno dentro da organização estes prazos poderiam ser mais curtos mas regra geral existem diversos projectos em curso que faz com os tempos sejam mais ou menos equivalentes.
Quanto mais complexa e mais demorada no desenvolvimento for uma base de dados maior é a probabilidade de o programa não chegar ao fim.
A implementação de algoritmos elaborados implica regra geral um alargamento deste tempos. Algoritmo elaborados são aqueles que não permitem ser resolvidos com 2 queries consecutivos ou que obrigam a programação.
Segundo o livro Access 97 – Expert Solutions a percentagem de tempo que demoram as diversas fases da criação de uma base de dados à medida em Access para sistemas que levam entre 100 e 400 horas são as seguintes:
Fase do projecto |
Percentagem |
Desenho, especificação e gestão |
28 |
Código de interface |
9 |
Estrutura base de dados |
3 |
Desenvolvimento de forms |
21 |
Desenvolvimento de relatórios |
9 |
Processamento de código |
12 |
Testes, instalação e formação |
18 |
Quando alguém lhe desenha em Access um esboço aproximado de como vão ficar os formulários da base de dados isso pode significar que ainda só cerca de 10% do trabalho está feito.
De notar que o envolvimento de quem pede o trabalho é essencial para que a base de dados corresponda às suas expectativas.
Segundo uma estimativa do mesmo livro a fim de se dimensionar correctamente o tempo necessário para o desenvolvimento de um projecto deverá considerar-se:
Tipo de Objecto |
Horas em média |
Uma tabela |
0.2 |
Um form com botões |
3.0 |
Um form com uma lista de fichas |
3.5 |
Um form de edição de uma ficha |
4.5 |
Um relatório |
1.5 |
É evidente que se pode criar um formulário ou um relatório em menos de meia hora mas para considerar todo o tempo necessário ao desenvolvimento da aplicação e para adaptar os formulários e relatórios as especificações pretendidas esse tempo andará próximo dos tempos apontados na tabela acima.
De notar que no caso das especificações não serem bem definidas antes do arranque do projecto poderá haver aumentos de 50 ou 100% no tempo necessário para o desenvolvimento. O conhecimento do cliente sobre as potencialidades das bases de dados condiciona fortemente aquilo que ele é capaz de especificar numa fase inicial. Tente ver qual a experiência em projectos anteriores do cliente antes de se comprometer com o tempo e com o orçamento.
Confronte igualmente quem lhe pede o desenvolvimento da necessidade de investir também tempo para explicar com pormenor o que pretende e para explicitar regras difusas ou recolher valores que serão necessários para a utilização do programa.
Considere também a quantidade de deslocações que terá que efectuar. O esforço em conseguir que actualizações e pequenas correções possam ser efectuadas sem perturbar o trabalho dos utilizadores e por vezes pelo próprio utilizador compensam largamente o esforço investido.
Evite criar cartas tipo, preenchimento de formulários ou impressos específicos sem capacidade de o utilizador os alterar. Senão cada vez que for mudada a impressora arrisca-se a ser contactado.
À medida que os projectos forem evoluindo notará que o intercâmbio com outras pessoas ou com o apoio técnico se tornará importante para uma maior eficácia na utilização das bases de dados criadas em Access. O Access está orientado para criar bases de dados para serem usadas por grupos de até cerca de 50 utilizadores. Acima disto deverá considerar outras ferramentas.
Para bases de dados grandes criadas em Access é possível fazer uma migração de dados para SQL server. O nível acima é o do Oracle e Informix.
Quanto custa fazer uma base de dados ?
O custo de uma base de dados depende do trabalho que a mesma dá. Para uma resposta sobre o trabalho já foi indicado anteriormente um exemplo.
Essa base de dados que deu 50 horas de trabalho terá um custo normal de 2500 euros feito por um “free-lancer”.
Se recorrer a uma empresa com uma equipa tendo um chefe de projecto, um analista de negócio e programadores o custo normal deverá ser pelo menos quatro vezes superior. A empresa têm que pagar os custos dos funcionários mesmo quando eles estão sem trabalho e têm diversos custos de estrutura que têm que suportar.
Em contrapartida se tiver um programador a tempo inteiro na organização o seu custo poderá ser só cerca de 1000 euros. Na maior parte das pequenas organizações portuguesas não justifica ter um programador a tempo inteiro.
No entanto se o mesmo sistema servir para diversas organizações o seu preço poderá ser muito mais reduzido. No limite existe software mais básico que é disponibilizado de forma gratuita na Internet.
Quando aumenta a complexidade da base de dados além de aumentar o número de horas preciso para fazer a base de dados aumenta também o grau de especialização técnica necessário por parte de quem desenvolve aumentando o preço.
Acerca do autor e bases de dados
Comecei a trabalhar com computadores em 1986. De 1993 a 1995 estive como formador de micro-informática em diversos locais. Em 1993 dei um curso de DBase III e em 1994 um curso sobre Access 2.0 e escrevi um manual.
Desde 1995 tenho usado os meus conhecimentos de bases de dados e de Access, em particular, nas várias empresas onde tenho trabalhado bem como em trabalhos extra que tenho feito.
Desde 1999 que mantenho este manual na Internet. O conjunto destas páginas chegou a ter mais de 300 visitantes diários mas devido a várias mudanças de servidor o número de visitantes actual está mais reduzido.
Estou desde 2003 como assistentes convidado no ISEG na cadeira de Sistemas de Informação de Gestão do 3º ano de gestão sendo que o Access é uma das matérias abordadas.
Para ver mais informação veja a página bases de dados e programas elaborados.
Bibliografia usada
- Teaching Microsoft Access. – PC Magazine
- Introduction to Microsoft Access. – Microsoft
- Manuais do programa. – Microsoft
- Ajuda do programa. – Microsoft
- Data Analysis : The key to Database Design – Richard Perkinson – QED Information Sciences – 1984
- O S.G.B.D.R. ACCESS – Fundetec
- Access 97 – Expert Solutions – Que
- Modern Database Management – Fred McFadden, Jeffrey Hoffer – Addison Wesley – 1994