Make your own free website on Tripod.com

Considerações finais

O desenvolvimento de sistemas em Linux, assim como em qualquer outra plataforma somente terá sucesso se houverem ferramentas que auxiliem o trabalho desde a concepção até a implementação. Todas as ferramentas que foram utilizadas, facilitam bastante o trabalho de desenvolvimento em todas as suas fases e, portanto, desenvolver sistemas em Linux não pode ser considerado como uma tarefa que só pode ser executada por hacker. Como foi apresentado, sabendo como usar as ferramentas e tendo o mínimo de conhecimento em C++ para implementar as classes, é possível implementar sistemas em Linux com muita facilidade.

Em um sistema comercial, a complexidade se encontra muito mais nas regras de negócio do que na implementação do sistema e, devido a essa característica, saber usar as ferramentas de modelagem acaba tendo um peso maior sobre o desenvolvimento, pois como foi visto, depois de modelado, a implementação exigiu apenas saber o mínimo da linguagem de programação para implementá-lo.

Apesar de as ferramentas utilizadas serem bem elaboradas, elas apresentaram alguns problemas durante a utilização que foram os seguintes:

Umbrello

Algumas vezes, ao tentar mover elementos entre pastas o Umbrello não faz a movimentação, sendo necessário repetir a operação. Alguns movimentos realmente não são possíveis, como passar um diagrama de caso de uso de Use case view para Logical view, mas os movimentos restritos são sinalizados pelo próprio Umbrello. O problema é que ele não respeitou movimentos que ele sinaliza como sendo permitidos.

No diagrama de seqüência, ao criar uma mensagem, se for selecionado um dos métodos descritos para associar a mensagem, depois de fechar, o Umbrello não se lembra da associação e coloca a operação selecionada como custom operation.

Ao documentar alguns elementos, o Umbrello "perde" o que foi digitado no campo Documentation. Este problema ocorre principalmente com o último elemento acrescentado à classe (método ou atributo). O problema foi parcialmente contornado, acrescentando um elemento por vez, fechando a janela e salvando o arquivo.

Ainda falando sobre a documentação, ao gerar o código fonte, o Umbrello não respeita os saltos de linha digitados na documentação. Assim, nos códigos fonte, o Umbrello junta toda a documentação ficando como se fosse um único parágrafo.

KDevelop

Ao usar o Automake manager para acrescentar os arquivos gerados pelo Umbrello ao projeto, o KDevelop terminou inesperadamente. Ao entrar novamente, os arquivos não foram acrescentados e a operação teve que ser repetida. O problema ocorreu eventualmente e pode ser que tenha ocorrido por falha no sistema de arquivos ou outro motivo externo ao KDevelop.

O gerenciador de classes do Umbrello com freqüência perdeu a referência da definição dos métodos das classes. Assim, ao clicar sobre o nome de um método, ele sempre abria a estrutura da classe ao invés de abrir o ponto onde o método é implementado.

Apesar dos problemas, as ferramentas se comportaram muito bem e ajudaram bastante tanto a modelagem como a implementação do sistema.

Conclusões

Depois de ver a facilidade na utilização das ferramentas analisadas, é possível concluir que o desenvolvimento de sistemas em Linux é viável, podendo inclusive oferecer vantagens tanto para o desenvolvedor como para o usuário. Sob o ponto de vista econômico, a utilização de ferramentas livres vai ajudar a diminuir a relação custo x benefício, pois a produtividade aumenta e o custo diminui. O custo, porém não pode ser considerado zero, pois o tempo de aprendizado deve ser contado no cálculo de custos.

Por apresentar interfaces simples e por serem bem documentadas, as ferramentas apresentadas não vão impor um grande tempo de aprendizado, o que vai possibilitar que em pouco tempo o desenvolvedor consiga produzir sistemas bem projetados e documentados.

Com a escolha do C++ como linguagem de programação usando o KDevelop para gerenciar os arquivos fonte, foi possível mostrar que, apesar de ser considerada uma linguagem difícil, é relativamente fácil utilizá-la para codificar as classes de um sistema. Talvez a maior dificuldade seja aprender a usar as ferramentas, mas a própria documentação ajuda a vencer esta dificuldade.

Portanto, pode-se considerar que este trabalho consegue cumprir seu objetivo de provar que o desenvolvimento de sistemas em Linux pode ser tão simples e prazeroso como desenvolver em plataformas mais populares como o Microsoft Windows. Ao mostrar essa simplicidade, é possível convencer os fornecedores de sistemas comerciais a desenvolver uma versão de suas aplicações para o Linux.