Aula Engenharia de Software → 2010-09-24
Professor Cristiano
Práticas de Implementação → Programação → Desenvolvimento de Software → XP
XP → Técnicas pra desenvolver o software
A programação (Implementação → processo de escrita de uma programa baseado em uma especificação de projeto) veio antes da Engenharia de Software, Engenharia surgiu quando foi necessário criar sistemas comerciais e não apenas pesquisa para fins militares etc, foi quando os programadores não tinham o conhecimento das regras de negócio, ai foi necessário ter analistas, documentadores, testadores, suporte etc.
É muito importante ter um ambiente bom para se trabalhar durante a fase de implementação para que os programadores possam trabalhar da melhor forma, sem ter muitos problemas para resolver, um programador estressado faz um trabalho pior do que um bem humorado.
A melhor forma de implementar um software é utilizar uma série de incrementos e iterações. Isso é desenvolvimento incremental, ou seja, cada iteração do processo produz um novo incremento do software.
Modularidade: é um conceito fundamental para construção de software pois é mais fácil resolver um problema complexo quando ele é dividido em partes (módulos).
O custo de esforço diminui até determinado ponto utilizando modularidade, quando se transforma tudo em módulos o custo pra pensar e programar as interfaces de cada módulo e na sua integração é muito maior do que se não tivesse dividido em módulos.
Análise → Planejamento → Implementação/Construção → Implantação
Dentro da Implementação existe um conjunto de práticas...
- Checar pré-requisitos e pós-requisitos;
- Definir informação a ser ocultada, entradas, saídas e tratamento de erros
- Projetar testes para os módulos
- Analisar aspectos de eficiência
- Pesquisar algoritmos e estruturas de dados, encontrar o melhor.
APÓS ESSAS PRÁTICAS PRÉ-CODIFICAÇÃO, INICIA-SE O REAL DESENVOLVIMENTO, ONDE AINDA SÃO NECESSÁRIAS OUTRAS PRÁTICAS COMO:
- Desenvolver e documentar cada unidade de software
- Conduzir e documentar os testes unitários → os testes de unidade servem para avaliar a parte individual de um programa (funções e métodos de classe) para ter certeza de que cada elemento individualmente faça a coisa certa.
- Atualizar a documentação, se necessário
- Atualizar os requisitos para o teste de integração → quem vai testar vai partir dos requisitos e verificar se todos foram desenvolvidos, se durante o desenvolvimento algum deles foi modificado é importante alterar para que o testador não pense que foi desenvolvido errado.
- Avaliar o código e os resultados dos testes de acordo com critérios.
- Teste de Integração → verificar se os módulos não tem erros associados a interface que impossibilitem a comunicação/integração... normalmente se usa alguma ferramenta automática para testar integração. Pode se ter uma abordagem não-incremental para o teste onde o sistema é agrupado por completo e testado somente no final, pior forma de testar, ou uma abordagem incremental onde o sistema é agrupado em etapas, cada etapa desenvolvida é testada antes de passa para próxima facilitando assim o isolamento do erro.
Nenhum comentário:
Postar um comentário