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).
- Cabeçalho do arquivo, das classes e dos métodos (TODO: Definir);
- 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
- Atualizar o Mapa Conceitual
- Para cada caso de uso
- Codificar
- Documentar o código produzido
- Atualizar Diagrama de Sequência
- Teste [1]
- Gerar uma versão da documentação completa do código
- Gerar uma versão da documentação do usuário
- 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?

