Skip to content

Plano de Desenvolvimento de Software

Emiliemorais edited this page Nov 23, 2015 · 63 revisions

Plano de Desenvolvimento de Software

SiMCTA

Versão 3.1

Histórico da Revisão

Data Versão Descrição Autor
03/09/2015 1.0 Criação do documento Emilie Morais
04/09/2015 1.0 Adição da organização da equipe Emilie Morais
05/09/2015 1.0 Adição do cronograma das iterações 1 e 2 e da seção de Ambiente Emilie Morais e Ítalo Paiva
17/10/2015 2.0 Ajuste no controle de qualidade Emilie Morais
20/10/2015 2.1 Adição do cronograma da iteração 4 e ajuste na seção Ambiente Edson Gomes
22/10/2015 3.0 Realocação das características nas Release Emilie Morais
01/11/2015 3.1 Adição da iteração 5 Emilie Morais
17/11/2015 3.2 Adição da iteração 6 Emilie Morais

1. Introdução

Esse documento apresenta uma visão geral acerca do projeto de desenvolvimento do SiMCTA.

1.1 Finalidade

A finalidade deste documento é definir o projeto em alguns aspectos comuns em projetos de desenvolvimento, para que todos os interessados tenham conhecimento desses aspectos em uma visão unificada.

1.2 Escopo

Para este plano foram considerados os seguintes aspectos:

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

AUP - Agile Unified Process: Processo de desenvolvimento de software baseado em princípios ágeis e voltado a construção de sistemas orientados a objetos.

Agile modeler: Papel do AUP responsável por elaborar modelos.

Para outras definições: Consultar Glossário.

1.4 Referências

Documento de Visão

1.5 Visão Geral

Os aspectos, presentes nesse documento, definidos para o projeto são:

  • Visão geral do projeto;
  • Organização do projeto;
  • Processo de gerenciamento;
  • Controle e monitoramento do projeto.

2. Visão Geral do Projeto

2.1 Finalidade, Escopo e Objetivos do Projeto

O projeto tem como objetivo desenvolver um sistema de matrículas para o Centro de Treinamento Automotivo, que se trata de uma escola de cursos técnicos na área automotiva.

2.2 Suposições e Restrições
  • Restrição de prazo: tem uma data final determinada;
2.3 Produtos Liberados do Projeto

Como entregáveis do projeto estão os seguintes artefatos:

  • Documento de Visão;
  • Regras de Negócio;
  • Especificações de caso de uso;
  • Planos de Iterações;
  • Modelo de Domínio;
  • Documento de Arquitetura;
  • Diagrama de Sequência;
  • Diagrama de Classes;
  • Incremento de software;
2.4 Evolução do Plano de Desenvolvimento de Software

Esse plano será revisado e refinado, quando necessário, ao final de cada iteração.

3. Organização do Projeto

3.1 Estrutura Organizacional

A equipe de trabalho do projeto é estruturada de modo a permitir que todos do grupo trabalhem igualmente. Assim foi definido que a cada iteração terá uma dupla de gerentes que ficará responsável por planejar, acompanhar e verificar a iteração. Essa estrutura pode ser vista na imagem seguinte.

estrutura

3.2 Papéis e Responsabilidades
Pessoa Papéis no AUP
Emilie Morais Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Testador
Edson Gomes Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Testador
Hugo Martins Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Testador
Ítalo Paiva Agile Modeler, Gerente de Configuração, Escritor técnico, Desenvolvedor e Testador
Milene Serrano Interessada

4. Processo de Gerenciamento

Nessa seção estão descritos alguns tópicos em relação ao projeto, como estimativas do projeto, plano de fases, releases, marcos e iterações e também os recursos utilizados.

4.1 Estimativas do Projeto

Prazo|83 dias -------|---------------|---- Data inicial:|31/08 Data final:| 23/11

4.2 Plano do Projeto

O projeto está dividido em iterações e cada iteração é divida em quatro fases de acordo com o processo utilizado. As fases são: Concepção, Elaboração, Construção e Transição. Também foram determinadas Releases e alguns marcos de verificação por parte de uma das interessadas no projeto.

4.2.1 Plano de Fase
Iteração Casos de Uso Objetivos Data de início Data de Fim
1 UC01 UC02 UC03 UC04 Produzir os artefatos da fase de Concepção e iniciar alguns artefatos da fase de Elaboração e Produzir incremento de software 31/08 13/09
2 UC05 UC06 UC07 UC08 Refinar os artefatos da fase de Concepção e produzir artefatos da fase de Elaboração, Produzir incremento de software e Integrar incremento de software 14/09 27/09
3 UC09 UC10 UC11 UC12 UC13 Refinar os artefatos da fase de Concepção e Elaboração, Produzir incremento de software e Integrar incremento de software 28/09 11/10
4 UC14 UC15 UC16 UC17 Refinar os artefatos da fase de Concepção e Elaboração, Produzir incremento de software e Integrar incremento de software e finalizar a Release 1 12/10 25/10
5 UC18 UC19 UC20 Refinar os artefatos da fase de Concepção e Elaboração, Produzir incremento de software, Integrar incremento de software e Preparar para implantação 26/10 08/11
5 UC21 UC22 UC23 UC24 Finalizar os artefatos da fase de Concepção e Elaboração, Produzir incremento de software, Integrar incremento de software e Realizar a implantação 09/11 22/11
4.2.2 Releases
Release Características Data
1 Gerenciamento dos cursos, Gerenciamento dos pacotes, Gerenciamento dos alunos, Alocação dos professores 26/10
2 Gerenciamento das turmas 23/11
4.2.4 Programação do Projeto

Marcos de verificação do projeto por parte da interessada Milene Serrano:

Descrição Data
Marco 1 14/09
Marco 2 09/10
Marco 3 26/10
Entrega final 23/11
4.2.5 Recursos do Projeto

Os recursos humanos do projeto consistem em uma equipe é formada por quatro integrantes:

  • Emilie Morais
  • Edson Gomes
  • Hugo Martins
  • Ítalo Paiva

Os recursos físicos serão os computadores pessoais de cada membro da equipe.

4.3 Controle e Monitoramento do Projeto

Nessa seção estão descritos os aspectos a serem monitorados e controlados no projeto.

Gerenciamento de Requisitos:

O gerenciamento de requisitos será realizado através do sistema de issues do GitHub, sua utilização está melhor explicada na gerência de configuração.

Controle de Programação:

Para padronização do desenvolvimento do sistema, o código-fonte do sistema deve seguir a folha de estilo definida.

O controle do desenvolvimento também será realizado através da gerência de configuração definida.

Controle de Qualidade:

A qualidade do código será controlada por meio de análise estática de código, com a coleta das seguintes métricas:

  • Afferent Connections per Class (Conexões aferentes) - Mede o nível de acoplamento de uma classe através do número de outras classes que a refereciam.

  • Average Cyclomatic Complexity per Method (Complexidade ciclomática média por método) - Mede a quantidade de possíveis caminhos de execução independentes do software.

  • Average Method Lines of Code (Média de linhas de código por método) - Mede a quantidade média de linhas de código dos métodos contidos na aplicação.

  • Average Number of Parameters per Method (Média de parâmetros por método) - Mede a quantidade média de parâmetros utilizados nos métodos da aplicação.

  • Number of Methods (Número de métodos) - Mede a quantidade de métodos existentes na aplicação. Usado para calcular a quantidade média de operações de classe.

  • Number of Public Attributes (Número de atributos públicos) - Mede a quantidade de de atributos públicos nas classes da aplicação.

  • Structural Complexity (Complexidade estrutural) - Mede a complexidade estrutural do software

O controle de qualidade do código também será feito através da cobertura de código, considerando um nível mínimo aceitável de 80%. Também serão realizados testes funcionais pelo cliente para validação de cada incremento.

OBS.: No final de uma iteração, caso seja detectado um nível de cobertura de código abaixo do nível mínimo definido e caso não seja possível alcançar o nível mínimo na iteração corrente, os respectivos testes poderão ser acrescentados no planejamento da iteração seguinte como débito técnico de teste, devidamente endereçados.

Gerenciamento de Riscos:

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 Integrante da equipe sair do projeto Motivar a equipe Realocar equipe nas tarefas considerando o novo número de integrantes
Média Alto Falha no cumprimento dos prazos de entrega Deixar um tempo (dias) na iteração de reserva para eventuais atrasos
Média Médio Mudança do escopo ao longo do desenvolvimento do projeto Deixar um tempo (dias) na iteração de reserva para eventuais mudanças Procurar revisar o escopo definido a cada iteração realizada para alocar da melhor forma possível o escopo adaptado nas próximas iterações.

Gerenciamento de Configuração:

A Gerência de configuração do projeto pode ser vista no Plano de Gerenciamento da Configuração.

Ambiente:

  • Versão do Java: 1.8.0
  • IDE: Eclipse Luna 4.4
  • Teste:
    • JUnit 4
    • Mockito 1.10.19
  • Cobertura de código: Eclemma
  • Banco de Dados: MySQL 5.5.44
    • MySQL Connector to Java 5.1.18
  • Análise estática: Mezuro
Clone this wiki locally