Seguir @luiscarlos_j

quinta-feira, 3 de abril de 2014

PERSISTÊNCIA DE DADOS

          O termo persistência refere-se ao armazenado não temporário de determinado dado gerado ou trabalhado em uma aplicação. A orientação a objetos rompeu com a orientação estruturada e isso trouxe diversas vantagens para a programação. A abordagem estruturada trabalhava os sistemas com bases nos dados e funções. Os subsistemas funcionavam de forma independente e não era adequada para problemas mais complexos pois tinha baixa produtividade. A abordagem orientada a objetos trabalha com sistemas levando em consideração os objetos e suas interações. Permite mecanismos de produtividade não oferecidos pela abordagem estruturada como herança, polimorfismo e encapsulamento.
         O nível de abstração com a OO cresceu bastante pois as particularidades dos objetos ficaram mais fáceis de serem percebidas e suas características puderam ser também ser mais facilmente implementada. Os sistemas gerenciam as informações não mais como subsistemas independentes mas como objetos inter-relacionados. As informações geradas por esses sistemas são estruturadas em banco de dados relacionais que são feitos a partir de diagramas que ajudam na elaboração de toda a sua estrutura sem que nenhum detalhe passe despercebido. 
         Com o tempo foram surgindo diversas tecnologias e padrões que facilitaram o processo de acesso e persistência das informações geradas pelos sistemas. Os Sistemas Gerenciadores de Banco de Dados Relacionais são exemplos marcantes da evolução na persistência de dados. Junto com os SGBDRs vieram os frameworks que ajudam bastante os programadores pois já trazem muitas funções prontas para o armazenamento de informações possibilitando a eles dedicação maior de como o modelo dos dados serão construídos.
          A crescente demanda pela sociedade por informações na internet tem levado diversas empresas a construírem tecnologias de armazenamento mais ágeis e robustas que proporcionam persistência de forma eficiente e com alto desempenho. Dependendo da aplicação a ser desenvolvida, pode-se encontrar o modelo mais apropriado para o armazenamento em questão.

ANÁLISE DE SISTEMAS : COMO GARANTIR A QUALIDADE DE UM SISTEMA?

          Análise de Sistema consiste em detalhar, especificar e estudar um problema acerca de um sistema a ser desenvolvido e implantado para automatizar determinado processo (ou processos). Qualquer organização possui um sistema para gerenciamento de tudo o que ocorre em seu ambiente. Esse sistema deve ser construído com determinada qualidade para que atenda ao objetivo para o qual foi idealizado. A importância da análise consiste em fornecer mecanismos necessários para abstrair em todos os aspectos um problema que determinado sistema a ser desenvolvido deva resolver. Se as funções deste sistema não forem analisadas de forma satisfatória, ele não atenderá aos requisitos de qualidade.
          A melhor forma para garantirmos um sistema de qualidade é analisar de forma cuidadosa todas as funções e restrições que esse sistema deve ter. Chamamos de requisito os detalhes a serem implementados em um sistema. Se os requisitos forem especificados de forma incorreta, todos as demais etapas de construção do sistema ocorrerão com erros e na fase final ele não atenderá aos objetivos. 
           O responsável por extrair os requisitos deve ter conhecimento do domínio no qual o sistema implantado. Deve usar técnicas como entrevista, brainstorming, etnografia e outras demais que possam esclarecer as funções e restrições do sistema final. Se uma boa análise dos requisitos for feita o sistema será de fácil compreensão, operação e também fácil para realizar sua manutenção.

sábado, 29 de março de 2014

Etapas de Processo de Desenvolvimento de Software

           Desenvolver software não é uma tarefa simples. Envolve diversas etapas complexas que precisam ser observadas com atenção para que no final o sistema execute as funções para o qual ele foi criado com eficiência e desempenho adequados. As etapas servem para que o processo de desenvolvimento tenha uma sequência lógica e tudo o que foi planejado ocorra sem deixar que nenhum detalhe seja esquecido. Dependendo do tipo de processo pode-se observar diferentes etapas mas pode-se destacar as mais comuns. A primeira em destaque é o levantamento de requisitos, onde os desenvolvedores junto com os usuários finais chegarão a um acordo comum do que o sistema deve realizar. Essas funções e restrições chama-se de requisitos. É uma etapa extremamente importante pois caso algum erro não seja encontrado e logo resolvido, ele será propagado para as etapas seguintes que podem ocasionar insatisfação do cliente e danos a qualidade final do sistema. Seguinte a etapa de levantamento tem-se a análise de requisitos, onde há um estudo bem detalhado de todos os requisitos obtidos na etapa anterior. Na analise de requisitos pode-se excluir um requisito por não ter tanta importância para o sistema, dividir um requisito em outros para que seja garantida a propriedade de consistência das funções do sistema, fusão de dois requisitos por representarem a mesma funções dentre outras. O importância dessa fase é a validação das necessidades do cliente, saber se o sistema vai realizar suas funções conforme os requisitos encontrados. Após a análise, tem-se o projeto. Nessa etapa é determinada a forma como o sistema deverá funcionar para atender aos requisitos levantados. No projeto são levados em conta os recursos tecnológicos, se estes têm capacidade para atender a criação do sistema. Terminada a etapa do projeto, agora parte-se para a implementação onde ocorre a criação de fato do sistema através de uma ou mais linguagens de programação. Em seguida tem-se a etapa de teste para verificar o sistema pronto funcionando e corrigir falhas caso sejam encontradas e por fim a implantação que corresponde a distribuição e instalação do sistema no ambiente onde ele deve ser trabalhado pelos usuários finais. Uma etapa importante e muitas vezes esquecidas nos projetos de software é a manutenção. Esta é muito importante pois as necessidades dos usuários, os requisitos, evoluem constantemente e isso pode fazer com que o sistema tenha que sofrer algumas alterações seja para acrescentar ou retirar alguma função.