Plano de Desenvolvimento de Software - vitornere/partiuformar GitHub Wiki

Plano de Desenvolvimento de Software

#PartiuFormar

Versão 1.3

Histórico da Revisão

Data Versão Descrição Autor
03/04/2016 1.0 Criação do documento Hugo Martins
03/04/2016 1.1 Preenchimento dos itens de introdução, finalidade, escopo, referências, visão geral, visão geral do projeto, organização do projeto, e alguns itens do processo de gerenciamento Hugo Martins
03/04/2016 1.2 Preenchimento dos demais itens Hugo Martins
04/05/2016 1.3 Refinando artefato: Definindo no Plano de fase todos os casos de uso de cada iteração. Hugo Martins

1. Introdução

Este documento apresenta o plano de desenvolvimento de software utilizado para o desenvolvimento do sistema #PartiuFormar.

1.1 Finalidade

Este documento tem por finalidade definir aspectos em comuns em planos de desenvolvimento de software para organizar o desenvolvimento do software a fim de que todos os envolvidos no projeto tenham conhecimento de como se trabalhar.

1.2 Escopo

Este plano está dividido em três aspectos:

  • Processo de desenvolvimento de software adotado: Processo Unificado Ágil (AUP);
  • Definições gerais;
  • Visão do Sistema.
1.3 Definições, Acrônimos e Abreviações

Agile modeler: Papel do AUP responsável pela elaboraçãp de modelos.

AUP - Agile Unified Process: Processo de desenvolvimento de software baseado em princípios ágeis com definições do processo de desenvolvimento Rational Unified Process (RUP).

Fluxo: No contexto universitário, o Fluxo é a sequência recomendada por uma instituição de ensino de realização das disciplinas nos semestres.

Grade Horária: Tabela de dia e horários das disciplinas cursadas em um determinado semestre.

IRA: Índice de Rendimento Acadêmico.

1.4 Referências

Documento de Visão

1.5 Visão Geral

Este documento está dividido em três itens importantes para um desenvolvimento de software:

  • Visão geral do projeto;
  • Organização do projeto;
  • Processo de gerenciamento

2. Visão Geral do Projeto

Esta seção descreve uma visão geral do projeto, tais como escopo, restrições e entregáveis.

2.1 Finalidade, Escopo e Objetivos do Projeto

O projeto tem como objetivo desenvolver um sistema que permite que o aluno possa, desde o início de sua graduação, realizar um plano de curso onde, a partir das matérias disponíveis, ser possível organizar e criar metas para cada semestre. Poderá acompanhar seu rendimento acadêmico e estimar qual será seu rendimento após um semestre. Além de poder compartilhar seu planejamento no perfil e poder pesquisar por planejamentos compartilhados mais comuns.

2.2 Suposições e Restrições

O desenvolvimento do projeto possui restrição de prazo que tem uma data de entrega determinada: 24 de junho de 2016.

2.3 Produtos Liberados do Projeto

O projeto possui como entregáveis os seguintes artefatos:

  • Documento de Visão;
  • Documento de Arquitetura de Software;
  • Regras de Negócio;
  • Especificação Suplementar;
  • Glossário;
  • Modelo de Domínio;
  • Diagrama de Classes;
  • Diagrama de Atores;
  • Diagrama de Casos de Uso;
  • Especificação de Casos de Uso;
  • Diagrama de Sequência;
  • Diagrama de Classes;
  • Incremento de Software.
2.4 Evolução do Plano de Desenvolvimento de Software

Este plano será refinado e incrementado a cada iteração de desenvolvimento do software.

3. Organização do Projeto

Esta seção descreve como desenvolvimento do projeto será organizado a partir dos recursos disponíveis.

3.1 Estrutura Organizacional

A equipe de trabalho do projeto foi planejada de maneira com que todos da equipe trabalhem de maneira igualitária. Assim foi definido que para planejar e gerenciar o acompanhamento da iteração, a mesma terá uma dupla de gerentes que será mudada a cada iteração de acordo com a esquemática definida pela equipe de acordo com a tabela abaixo:

Iterações Ímpares: Iterações pares:
Hugo Martins e Vitor Nere Eduardo Brasil e Jonnatas Lennon
3.2 Papéis e Responsabilidades
Pessoa Papel
Eduardo Brasil Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Tester
Hugo Martins Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Tester
Jonnatas Lennon Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Tester
Vitor Nere Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Tester

4. Processo de Gerenciamento

Nesta seção estão descritos alguns tópicos acerca do processo de gerenciamento do projeto, tais como estimativas de prazo, planos de fase, planejamento de Releases e recursos do projeto.

4.1 Estimativas do Projeto

Prazo|96 dias -------|---------------|---- Data inicial:|21/03 Data final:| 24/06

4.2 Plano do Projeto

O projeto está dividido em seis iterações. Cada iteração passa pelas quatro fases do processo de desenvolvimento de software utilizado (UP - Agile Unified Process): Concepção, Elaboração, Construção e Transição.

4.2.1 Plano de Fase
Iteração Casos de Uso Objetivos Data de início Data de Fim
01 UC01 UC02 UC03 UC04 Artefatos da fase de Concepção, iniciar alguns artefatos da fase de Elaboração e implementar incremento de software. 21/03 04/04
02 UC05 UC06 UC07 UC08 Refinar Artefatos da fase de Concepção, elaborar artefatos da fase de elaboração e implementar incremento de software. 18/04 01/05
03 UC09 UC10 UC11 Refinar Artefatos da fase de Concepção, elaborar artefatos da fase de elaboração e implementar incremento de software. 02/05 15/05
04 UC12 UC13 Refinar Artefatos da fase de Concepção, elaborar artefatos da fase de elaboração e implementar incremento de software. 16/05 29/05
05 UC14 UC15 UC16 30/05 12/06
06 UC17 13/06 22/06
4.2.2 Releases

O projeto foi planejado em duas Releases, sendo a primeira trazendo a funcionalidade principal do planejamento do fluxo e a segunda com as funcionalidades de planejar grade horária e estimar IRA.

Release Características Data
01 Registro de Usuários, Registro de Disciplinas, Registro de Turmas e Planejar Fluxo 16/05
02 Planejar Grade e Estimar IRA 13
4.2.3 Programação do Projeto

Marcos com pontos de controle do projeto por parta da interessada Milene Serrano:

Descrição Data
Entrega 01 04/04
Entrega 02 06/05
Entrega 03 30/05
Entrega Final 24/06
4.2.4 Recursos do Projeto

O Recurso Humano do projeto possui uma equipe com quatro membros:

  • Eduardo Brasil;
  • Hugo Martins;
  • Jonnatas Lennon;
  • Vitor Nere.
4.3 Controle e Monitoramento do Projeto

Nesta serão serão listados e descritos os itens a serem monitorados e controlados pelo projeto:

Gerenciamento de Requisitos:

Os requisitos do projeto serão gerenciados através de Issues no repositório do GitHub.

Gerenciamento de Riscos:

O quadro abaixo mostra os riscos que o projeto possui, sua probabilidade de ocorrer, impacto e qual ação tomar caso este risco ocorra.

Classificação de probabilidade (Alta, Média, Baixa) Classificação de impacto (Alto, Médio, Baixo) Impacto e Descrição do Risco Estratégia de Diminuição e/ou Plano de Contingência Ação a ser tomada
Baixa Alto Membro da equipe sair do projeto Integração e motivação da equipe Redesignar atividades do membro desistente aos outros integrantes da equipe
Média Alto Atraso no desenvolvimento das atividades Deixar um buffer de tempo em cada iteração para caso ocorra atrasos Realocar atividades considerando o buffer de tempo no cronograma
Baixa Médio Mudança no Escopo Deixar um buffer de tempo em cada iteração para caso ocorra mudanças
Baixa Alto Suspensão do calendário acadêmico Avaliar as mudanças ocorridas para realocar as atividades dessas mudanças nas próximas iterações.

Gerenciamento de Configuração:

Informações do Gerenciamento de Configuração pode ser visualizada no >>Plano de Gerência e Configuração

Ambiente:

Versão do Ruby: 2.3.0 Versão do Rails: 4.2.6 Teste: Cobertura de Código: Versão do Banco de Dados: