Tabela de Conteúdos

Processo de desenvolvimento de software

a ser utilizado nas equipes de desenvolvimento

  1. Ser um processo ágil
  2. Razoavelmente documentado
  3. Fácil de ser gerenciado

Papéis

  1. Orientador
  1. Gerente de Desenvolvimento
  1. Desenvolvedor

Desenvolvimento

  1. Ferramenta de gerenciamento do projeto e atribuição das tarefas
  2. Sistema de controle de versões (código e artefatos)
  1. Basta realizar o que está sendo solicitado
  2. Se o texto da tarefa não estiver claro, o solicitado pode requerer maiores explicações
  1. Atualizar o seu ambiente de desenvolvimento com a versão mais atualizada do repositório do sistema de controle de versão
  2. Revisar o projeto, esclarecendo as dúvidas com o Gerente ou os Orientadores
  3. Implementar os componentes envolvidos, realizando os testes de unidade
  4. Concluindo com sucesso, deverá integrar o que desenvolveu ao repositório e atualizar os artefatos de projeto
  1. Estudar a especificação da funcionalidade desejada
  2. Realizar o projeto da solução (UML), segundo a arquitetura proposta pelo Gerente
  3. Publicar os artefatos de projeto gerados
  4. Realizar a tarefa de «implementação»

Atividades e Artefatos

Orientador
  1. Visão geral do sistema
    • Diagrama de casos de uso
    • (opcional) Documento de visão
  2. Marcos de entrega
    • Definir na ferramenta de gerenciamento de projeto as tarefas relativas aos marcos de entrega com datas limites
  3. Especificação de uma funcionalidade
    • Detalhamento de um caso de uso
Gerente de Desenvolvimento
  1. Divisão das tarefas
    • Definir as tarefas individuais na ferramenta de gerência
  2. Arquitetura do sistema
    • Modelo de domínio
    • Diagrama de pacotes
    • Diagrama de componentes genéricos
  3. Projeto de uma funcionalidade
    • Diagrama de interação (sequência)
    • Diagrama de classes de projeto
Desenvolvedor
  1. Projeto de uma funcionalidade
    • Idem ao Gerente
  2. Implementação
    • Definição dos contratos para cada método
    • Classes, atributos e métodos envolvidos
    • Classes de teste (teste unitário) para cada classe desenvolvida ou alterada

Práticas XP Estimuladas

Test-Driven Development

Simple Design

Refactoring

Continuous Integration

Coding Standard

Collective Ownership

Small Releases