Metodologia: Construção

De LEDES

Tabela de conteúdo

Objetivos

  • Projetar e implementar os casos de uso;
  • Projetar e implementar testes do sistema;
  • Realizar teste de integração;
  • Realizar teste de validação em conjunto com clientes (stakeholders);
  • Definir plano para transição (da iteração para o cliente);
  • Documentar o código e iniciar a elaboração do manual de usuário;

Artefatos de saída

  • Diagrama de classes atualizado;
  • Diagrama de sequência atualizado;
  • Testes unitários das entidades de código;
  • Código documentado:
    • Cabeçalho do arquivo, das classes e dos métodos (TODO: Definir);
      • Objetivo;
      • Entrada; e
      • Saída.
    • Grafo de interação entre os arquivos (gerado automaticamente).
  • Criação de primeira versão do manual do sistema em formato HTML, PDF e multimídia (contendo principalmente as regras de negócio e informações sobre como usar);
  • Todas as iterações da fase de construção cumpridas - todos os principais casos de uso implementados;
  • Versão Beta do sistema;
  • Planejamento da transição para o cliente;

Boas Práticas

Durante esta fase é recomendável:

  • Seguir os nomes de classes e métodos definidos no diagrama de classes;
  • Adotar nomenclatura de classes, interfaces, métodos e atributos no padrão SUN (Java);
  • Para algoritmos críticos, escrever testes unitários;
  • Reler os casos de uso antes de considerar a implementação concluída e passar para a validação;
  • Codificar seguindo as Convenção de Código do LEDES.

Processo

  1. Atualizar o Mapa Conceitual
  2. Para cada caso de uso
    • Codificar
    • Documentar o código produzido
    • Atualizar Diagrama de Sequência
  3. Teste [1]
  4. Gerar uma versão da documentação completa do código
  5. Gerar uma versão da documentação do usuário
  6. Planejar a fase de transição

Ferramentas

  • Eclipse (Aptana?) (PHP e Java);
  • NetBeans (Java);
  • Frameworks Java (Hibernate, Struts, JSF, Spring, JUnit, ...)
  • PHP;
  • JUDE;
  • DoxyGen;
  • SGBD (PostGres, MySQL, SQL Server, Oracle, ...);
  • CamStudio;
  • gForge;
  • SVN.

Gestão de Qualidade

  • A versão beta produzida teve acompanhamento em cronograma de atividade? Os prazos foram cumpridos? Os casos de uso atendem as suas especificações?
  • O nível de erros encontrado é suficientemente baixo para que a versão seja disponibilizada aos clientes?
  • Existem testes unitários para os principais algoritmos do sistema?
  • A documentação de classes e o manual do sistema foram gerados e são suficientes para apoiar a equipe de desenvolvimento e os usuários do sistema, respectivamente?