SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
UNIVERSIDADE FEDERAL DE SERGIPE
CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA
DEPARTAMENTO DE COMPUTAÇÃO
Sistema de Gestão do Berçário Girassol
Plano de Projeto de Software
Anderson Costa Moreira Santana
Pedro Sturaro dos Reis
Rodrigo Fonseca Nascimento
Tawanna Hakkinen Oliveira Leite
Prof.º Dr. Rogério Patrício Chagas do Nascimento
SÃO CRISTÓVÃO-SERGIPE
NOVEMBRO DE 2019
UNIVERSIDADE FEDERAL DE SERGIPE
CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA
DEPARTAMENTO DE COMPUTAÇÃO
Sistema de Gestão do Berçário Girassol
Plano de Projeto de Software do Sistema de Gestão
do Berçário Girassol desenvolvido pelos alunos
Anderson Costa M. Santana, Pedro Sturaro dos
Reis​, ​Rodrigo Fonseca Nascimento ​e ​Tawanna
Hakkinen Oliveira Leite, apresentado à disciplina
Gerência de Projetos para obtenção de nota parcial
sob a orientação do Profº Dr. Rogério Patrício
Chagas do Nascimento para composição de nota.
SÃO CRISTÓVÃO-SERGIPE
NOVEMBRO DE 2019
SUMÁRIO
INTRODUÇÃO 4
Âmbito do projeto 4
Funções principais 4
Requisitos comportamentais ou de performance 6
1.4. Gestão e Restrições técnicas 14
ESTIMAÇÕES DO PROJETO 14
Dados históricos utilizados para as estimações 14
Técnicas de estimação e resultados 14
Técnicas de estimação 15
Resultados 16
ANÁLISE E GESTÃO DE RISCOS 17
3.1. Riscos do projeto 18
3.2. Avaliação Global dos Riscos 19
3.3. Tabela de riscos 20
3.4. Plano de Redução e Gestão do Risco 20
PLANEJAMENTO TEMPORAL 24
4.1. Conjunto de tarefas do projeto 24
4.2. Diagrama de Gantt 25
ORGANIZAÇÃO DO PESSOAL 27
5.1. Estrutura da equipe 27
5.2. Mecanismos de comunicação 27
5.3. Uso do Edu-blog como ferramenta de apoio 28
PRECAUÇÕES TOMADAS PARA ASSEGURAR E CONTROLAR A QUALIDADE DO
PRODUTO DE SOFTWARE 29
REFERÊNCIAS BIBLIOGRÁFICAS 30
1. INTRODUÇÃO
O presente documento visa apresentar o plano de projeto de um software
que tem por objetivo realizar o gerenciamento dos alunos e seus responsáveis do
Berçário Girassol.
1.1. Âmbito do projeto
Este projeto busca melhorar as atividades de controle dos alunos e seus
responsáveis do Berçário Girassol. Esse berçário possui pouco tempo de atuação
no mercado e pouco mais de 100 alunos por ano letivo. Devido a esses fatores, o
gerenciamento interno da instituição e de pessoas atendidas são feitos usando
papel. Essa utilização de meios analógicos causa dificuldades de organização,
busca e armazenamento das informações.
Por isso, está sendo proposto a construção de um software que facilite todo o
processo de gerenciamento e garanta a segurança dos dados.
1.2. Funções principais
As principais funcionalidades do software foram representadas no diagrama
de casos de uso na Figura 1, o diagrama demonstra os atores envolvidos, suas
funcionalidades e seus relacionamentos.
4
Figura 1: Diagrama de Caso de Uso
O Quadro 1 traz uma descrição de cada ator identificado e representado no
diagrama de caso de uso. O objetivo é demonstrar o papel de cada um no contexto
do projeto.
Quadro 1 - ​Descrição dos Atores e suas Respectivas Funções
Atores Descrição
Funcionário
Esse ator representa o(s) funcionário (s) que terá (terão) acesso ao
sistema para cadastrar, lista ou pesquisar alunos.
Administrador
Esse ator representa o (os) administrador (es) do sistemas que
podem fazer as mesmas funções do (os) funcionários e, além disso
poderá (poderão) manipular turmas e funcionário (s) no sistema.
5
O Quadro 2 mostram os Requisitos Funcionais para o desenvolvimento do
Sistema de Gestão da Creche Girassol com uma breve descrição de cada um e seu
código.
Quadro 2 - ​Descrição dos requisitos funcionais
Requisito Descrição
[RF001] O sistema deve permitir que os administradores realizem login no sistema.
[RF002] O funcionario pode cadastrar aluno.
[RF003] O sistema deve permitir a visualização de aluno.
[RF004] O administrador pode excluir aluno.
[RF005] O administrador pode alterar dados do aluno.
[RF006] O administrador pode cadastrar turma.
[RF007] O sistema deve permitir a visualização da turma.
[RF008] O administrador pode matricular aluno em uma turma.
[RF009] O administrador pode excluir turma.
[RF010] O administrador pode alterar dados da turma.
[RF011] O funcionário pode cadastrar responsável.
[RF012] O administrador pode excluir responsável.
[RF013] O sistema deve permitir a visualização de responsável.
[RF014] O administrador pode alterar dados do responsável.
[RF015] O administrador pode cadastrar funcionário.
[RF016] O administrador pode excluir funcionário.
[RF017] O sistema deve permitir a visualização de funcionário.
[RF018] O administrador pode alterar dados do funcionário.
[RF019] O administrador pode alocar funcionário a uma turma.
6
1.3. Requisitos comportamentais ou de performance
Nesta seção são descritos os requisitos não funcionais do software que
descrevem características de qualidade do software. Estas características estão
ligadas a usabilidade do software.
Quadro 3 - ​Descrição dos Requisitos Não Funcionais
Requisito Descrição
[RNF001] O sistema deve ser desktop e funcionar para os Sistemas Operacionais Windows 7 ou superior.
[RNF002]
O sistema deve possuir usabilidade uma interface que promova facilidade em manuseio onde um
usuário sem intimidade com computador possa utilizar, bem como aprender sem necessidade de
auxílio técnico.
[RNF003]
O sistema tem que ser capaz de ser reparado e expandido estando em execução nas máquinas
dos usuários, ou seja, manter a manutenibilidade.
[RNF004]
O sistema deve utilizar o banco de dados PostgreSQL e manter os dados dos alunos,
responsáveis, turmas e clientes.
[RNF005] O sistema deve possuir dois níveis de acesso por meio do login​.
[RNF006] O sistema deve garantir que o aluno esteja matriculado em apenas uma turma.
[RNF007]
Deve-se garantir que possua o mínimo de falhas possíveis afim de se manter a confiabilidade da
aplicação garantindo a segurança das transações.
Descrição dos Casos de Uso Críticos
UC01 – Cadastrar Aluno
Objetivo: Cadastrar aluno para que possa ser matriculado.
Requisitos: Apresentação de documentos do aluno.
Atores (Primário e Secundário): Funcionário (primário) e aluno (secundário).
Prioridade: Crítico
7
Pré-condições: Identificação do aluno não constar no sistema. Responsável precisa
estar cadastrado no sistema.
Frequência de Uso:
Criticidade:
Fluxo Principal
1. O funcionário seleciona a opção Cadastrar Aluno.
2. O sistema exibe uma tela para Pesquisar dados do responsável.
3. O funcionário seleciona o responsável pelo aluno.
4. O sistema exibe uma tela para preenchimento de identificação do aluno.
5. O funcionário fornece a identificação do aluno.
6. O sistema verifica os dados preenchidos.
7. O sistema exibe uma tela para preenchimento de dados do aluno.
8. O funcionário preenche os dados solicitados e seleciona a opção Cadastrar.
9. O sistema verifica os dados preenchidos.
10. O sistema salva os dados do aluno.
Fluxo Alternativo
2.a: Responsável não encontrado.
1- O sistema exibe mensagem que o responsável não foi encontrado.
2- Retorna ao passo 2.
4.a: O sistema verifica que já existe um aluno com a identificação apresentada.
1- O sistema informa que já existe um aluno com a mesma identificação.
8
2- Retorna ao passo 3.
9.a: Campos obrigatórios não preenchidos.
1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados.
2- Retorna ao passo 6.
9.b: Campos obrigatórios preenchidos incorretamente:
1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento.
2- Retorna ao passo 6.
Regras de Negócio: Além dos dados do aluno é necessário fornecer dados do responsável.
UC02 – Criar Turma
Objetivo: Permite ao administrador criar uma nova turma.
Requisitos: Administrador precisa estar autenticado no sistema.
Atores (Primário e Secundário): Administrador (primário).
Prioridade: Crítico
Pré-condições: Nenhuma
Frequência de Uso:
Criticidade:
Fluxo Principal
1. O funcionário seleciona a opção Criar Turma.
2. O sistema exibe uma tela para preenchimento dos dados da turma.
3. O administrador insere os dados da turma e seleciona a opção Criar Turma.
9
4. O sistema verifica os dados preenchidos.
5. O sistema salva os dados da turma.
Fluxo Alternativo
4.a: Campos obrigatórios não preenchidos.
1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados.
2- Retorna ao passo 3.
4.b: Campos obrigatórios preenchidos incorretamente:
1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento.
2- Retorna ao passo 3.
Regras de Negócio:
UC03 – Matricular Aluno
Objetivo: Permite matricular o aluno em uma turma.
Requisitos: Entrar no perfil do aluno.
Atores (Primário e Secundário): Funcionário (primário) e Aluno (secundário).
Prioridade: Crítico
Pré-condições: O aluno precisa estar cadastrado no sistema.
O aluno não pode estar matriculado em uma turma.
Frequência de Uso:
Criticidade:
Fluxo Principal
10
1. O funcionário entra no perfil do aluno e seleciona a opção Matricular Aluno.
2. O sistema exibe uma tela com as turmas disponíveis.
3. O funcionário seleciona uma turma e clica na opção salvar.
4. O sistema matrícula o aluno na turma selecionada.
Fluxo Alternativo
Regras de Negócio: As turmas têm um limite de alunos.
UC04 - Cadastrar Responsável
Objetivo: Cadastro de responsável no sistema.
Requisitos: Apresentação de documentos do aluno.
Atores (Primário e Secundário): Funcionário (primário) e responsável (secundário).
Prioridade: Crítico
Pré-condições: Identificação do responsável não constar no sistema.
Frequência de Uso:
Criticidade:
Fluxo Principal
1. O funcionário seleciona a opção Cadastrar Responsável.
2. O sistema exibe uma tela para preenchimento de identificação do responsável.
3. O administrador fornece a identificação do responsável.
11
4. O sistema verifica os dados preenchidos.
5. O sistema exibe uma tela para preenchimento de dados do responsável.
6. O funcionário preenche os dados solicitados e seleciona a opção cadastrar.
7. O sistema verifica os dados preenchidos.
8. O sistema salva os dados do responsável.
Fluxo Alternativo
4.a: O sistema verifica que já existe um responsável com a identificação apresentada.
1- O sistema informa que já existe um responsável com a mesma identificação.
2- Retorna ao passo 3.
7.a: Campos obrigatórios não preenchidos.
1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados.
2- Retorna ao passo 6.
7.b: Campos obrigatórios preenchidos incorretamente:
1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento.
2- Retorna ao passo 6.
Regras de Negócio:
UC05 - Cadastrar Funcionário
Objetivo: Cadastro de funcionário no sistema.
Requisitos: Administrador autenticado no sistema.
Atores (Primário e Secundário): Administrador (primário) e funcionário (secundário).
12
Prioridade: Crítico
Pré-condições: Identificação do funcionário não constar no sistema.
Frequência de Uso:
Criticidade:
Fluxo Principal
1. O administrador seleciona a opção Cadastrar Funcionário
2. O sistema exibe uma tela para preenchimento de identificação do funcionário.
3. O administrador fornece a identificação do funcionário.
4. O sistema verifica os dados preenchidos.
5. O sistema exibe uma tela para preenchimento de dados do funcionário.
6. O administrador preenche os dados solicitados e seleciona a opção Cadastrar.
7. O sistema verifica os dados preenchidos.
8. O sistema salva os dados do funcionário.
Fluxo Alternativo
4.a: O sistema verifica que já existe um funcionário com a identificação apresentada.
1- O sistema informa que já existe um funcionário com a mesma identificação.
2- Retorna ao passo 3.
7.a: Campos obrigatórios não preenchidos.
1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados.
2- Retorna ao passo 6.
13
7.b: Campos obrigatórios preenchidos incorretamente:
1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento.
2- Retorna ao passo 6.
Regras de Negócio:
1.4. Gestão e Restrições técnicas
A equipe de desenvolvimento do projeto será composta por alunos dos
cursos de graduação do Departamento de Computação (DCOMP) da UFS que
possuem pouca ou média experiência com desenvolvimento de um projeto de
software.
As restrições técnicas associadas ao desenvolvimento do projeto são:
1. Utilização de recursos ​open source ​e gratuitos.
2. Deverá ser desenvolvido em linguagem C#.
3. Usar IDE Visual Studio para desenvolvimento do código.
4. Utilização do banco de dados Postgresql.
5. Usar Git para controle de versão e armazenamento do código.
6. Listar atividades desenvolvidas usando Trello.
O desenvolvimento seguirá o modelo iterativo-incremental, utilizando a
metodologia ágil Scrum. Cada ​sprint terá duas semanas de duração, ao final da qual
haverá sido finalizada uma nova versão funcional do sistema que poderá ser
validada pelo cliente.
2. ESTIMAÇÕES DO PROJETO
Esta seção fornece as estimações do esforço e tempo demandado para a
produção do Sistema de Gestão da Creche Girassol.
14
2.1. Dados históricos utilizados para as estimações
Este projeto é o primeiro desenvolvido pela equipe, portanto não há dados
anteriores que possam ser utilizados para a estimação deste projeto.
2.2. Técnicas de estimação e resultados
As estimativas têm grande importância na elaboração de projetos de
software. À medida que os projetos se tornam maiores e mais complexos é
necessário que as equipes conheçam e determinem prazos de entrega realistas.
Além disso, os executivos necessitam de estimativas de custos precisas que os
auxiliem na definição do orçamento anual e na análise da viabilidade do projeto.
Mas, de acordo com Pressman (2011, p. 609), "as estimativas de custo e
esforço de software nunca serão uma ciência exata". Isso porque, o custo final do
software e o esforço necessário para o seu desenvolvimento podem ser afetados
por variáveis como fatores humanos, técnicos, ambientais e políticos.
Apesar disso, usando uma série de técnicas de estimação, é possível fazer
com que as estimativas de projeto de software tenham um risco aceitável.
Uma dessas técnicas é a técnica de estimação para projetos orientados a
objetos criado por Lorenz e Kidd. Essa técnica é usada para suplementar os
métodos que normalmente são utilizados na estimativa de custo de software
(Pressman, 2011, p. 622).
Esta técnica foi usada neste plano de projeto para definir a estimação do
esforço necessário para o seu desenvolvimento.
2.2.1. Técnicas de estimação
Lorenz & Kidd (1994) sugerem que sejam realizadas as seguintes etapas
para a definição das estimativas de esforço do projeto:
1. Determinar a quantidade de classes-chave;
2. Classificar o tipo de interface do produto usando a Tabela 1 e desenvolver
um multiplicador para classes de suporte;
15
3. Multiplicar o número de classes-chave pelo multiplicador para obter uma
estimativa do número de classes de apoio;
4. Multiplicar o número total de classes pelo número médio de unidades de
trabalho por classes. Lorenz & Kidd sugerem 15 a 20 pessoas-dia por
classe;
5. Determinar a quantidade de esforço estimada;
6. Calcular o tempo previsto para a elaboração do projeto.
O número total de classes é definido por:
Total de classes = classes-chave + classes de suporte
Tabela 1 - ​Multiplicadores da Métrica Lorenz & Kidd
Interface Multiplicador
Não Gráfica 2,00
Baseada em Teste 2.25
GUI 2,50
GUI Complexa 3,00
A Tabela 1 é formada por duas colunas Interface e Multiplicador. A coluna
Interface apresenta os vários tipos de interface que um software pode ter e a
coluna Multiplicador apresenta o valor do multiplicador associado a cada uma
dessas interfaces.
2.2.2. Resultados
Utilizando o Diagrama de Classes de Domínio, mostrado na Figura 2,
aplicamos a técnica de Lorenz & Kidd(1994) explicada na subseção anterior.
16
Figura 2 -​ Diagrama de Classe do Sistema de Gestão da Creche Girassol
17
Cumprida as etapas proposta por Lorenz & Kidd(1994), identificamos 4
Classes Chaves do Diagrama de Domínio da Figura 2. São elas:
1. Aluno
2. Adulto
3. Funcionário
4. Usuário
Com base nisso, chegamos ao seguinte cálculo:
1. Como nosso sistema é baseado em GUI, utilizamos o multiplicador 2,5.
Conforme mostrado na Tabela 1.
2. Depois, calculamos o total de classes de suporte. O total de classes de
suporte é calculado multiplicando a quantidade de classes-chave pelo
multiplicador 2,5. Assim temos:
Total de classes de suporte = classes-chave * multiplicador
Total de classes de suporte = 4 * 2,5 = 10
3. Após encontrarmos o valor total de classes de suporte, calculamos o total
de classes para o sistema. O total de classes para o sistema é calculado
somando a quantidade de classes chave com o total de classes de
suporte. Assim temos:
Total de classes do sistema = classes-chave + total classes de suporte
Total de classes do sistema = 4 + 10 = 14
4. Usando o valor total de classes do sistema, calculamos a quantidade de
esforço. A Quantidade de esforço é calculada multiplicando o total de
classes do sistema pelo o número de dias-pessoas por classes que foi
estimado. Esse número foi escolhido baseado na sugestão de Lorenz &
Kidd, conforme visto na subseção 2.2.1. O número escolhido foi 20
dias-pessoa. Assim temos:
Quantidade de esforço = Total de classes * Unidades de Trabalho
18
Quantidade de esforço = 14 * 20 = 280
5. E por último, utilizando o valor da quantidade de esforço, calculamos a
quantidade de dias de trabalho. A quantidade de dias de trabalho da
equipe foi calculada dividindo a quantidade de esforço estimado pela
quantidade de membros da equipe. Assim temos:
Dias de trabalho = quantidade de esforço / quantidade de membros da
equipe
Dias de trabalho = 280 / 4 = 70 dias úteis.
Esses resultados foram organizados na Tabela 2.
Tabela 2​ - Resultado da técnica de Lorenz & Kidd
Resultado
1 Número de Classe Chave: 4
2 Projeto de natureza classificada como GUI 2,5
3 Número de Classes de Suporte
(Classe Chave X Multiplicador)
4 x 2,5 = 10
4 Total de Classe
(Classe Chave + Classe Suporte)
4 + 10 = 14
5 Quantidade de Esforço Estimado
(Qtd de Classe X Unidade de Trabalho)
14 x 20 = 280
6 Dias de Trabalho da Equipe:
(Esforço Estimado / Qtd de Pessoas)
280 / 4 = 70
3. ANÁLISE E GESTÃO DE RISCOS
A análise e gestão de riscos é um meio de identificar e medir os riscos de
forma organizada, com o objetivo de antecipá-los para propor medidas de
contingência e redução dos seus impactos no projeto.
19
3.1. Riscos do projeto
Na Tabela 3, estão listados os possíveis riscos do projeto Sistema de
Gestão do Berçário Girassol. Os mesmos foram classificados baseando-se em
um ​checklist previamente definido conforme o tipo: Projeto, Técnico ou de
Negócio​.
Tabela 3​ ​-​ Risco e tipo de impacto
Item Risco Projeto Técnico Negócio
01 O tamanho do banco de dados não foi
estimado
x
02 O produto possui limitações
significativas de performance
x
03 O tamanho do produto em números de
programas, arquivos e transações não
foi estimado
x
04 O prazo de entrega do software não foi
definido
x
05 O cliente não tem ideia dos requisitos do
produto
x
06 Processo de trabalho de equipe não foi
definido
x
07 O custo da entrega de um produto com
defeito não foi estimado
x
08 Documentação para o usuário não foi
planejada
x
09 A equipe não possui treinamento
necessário para esse projeto
x
10 O cliente não entende o processo de
engenharia de software
x
11 Ferramentas CASE não são usadas no
projeto
x
20
3.2. Avaliação Global dos Riscos
A avaliação global dos riscos tem como objetivo identificar alguns
possíveis riscos que o projeto possa ter.
Tabela 4​ - Avaliação Global dos Riscos
Descrição Situação
1. Os Gestores de Software e Clientes dão suporte ao projeto
?
Sim
2. Os Clientes estão entusiasmados com o projeto e o
produto?
Sim
3. Os Engenheiros de Software e os Clientes
compreenderam bem os requisitos?
Sim
4. Os Clientes estiveram envolvidos na definição dos
requisitos?
Sim
5. As expectativas dos usuários são realistas? Sim
6. O âmbito do projeto é estável? Sim
7. O Engenheiros de Software têm as competências
requeridas?
Sim
8. Os requisitos do Projeto são estáveis? Sim
9. A Equipe de Desenvolvimento tem experiência com a
tecnologia que usará para implementar?
Não, nem todos da equipe tem
conhecimento com a
linguagem de programação
que usará para implementar.
10. É adequado o número de pessoas da equipe de
trabalho?
Sim
11.O cliente e os usuários concordam quanto à importância
do projeto? e nos requisitos do sistema ou produto a
construir?
Sim
21
3.3. Tabela de riscos
Os riscos associados ao projeto estão listados na Tabela 5. A coluna Chance
de ocorrência mostra, em porcentagem, a probabilidade do risco se tornar realidade.
A coluna Impacto indica qual o nível de ameaça que ele representa para o projeto​,
podendo ser um dos seguintes, em ordem do menor para o maior impacto
(NASCIMENTO, 2019):
1. Desprezível - Terá uma influência muito pequena no projeto.
2. Marginal - Influenciará o projeto, mas não a ponto de pará-lo.
3. Crítico - Pode parar o projeto.
4. Catastrófico - Irá parar o projeto.
Eles foram escolhidos e avaliados de acordo com nossas experiências em
projetos anteriores, autoavaliação técnica, aprendizado adquirido nas diversas
matérias da graduação e a infraestrutura tecnológica atual do cliente.
Tabela 5 ​- Risco, probabilidade e impacto.
Item Risco Chance de
ocorrência
Impacto
01 O tamanho do banco de dados não foi estimado 30% CATASTRÓFICO
02 O produto possui limitações significativas de
performance
70% CRÍTICO
03 O tamanho do produto em números de
programas, arquivos e transações não foi
estimado
35% CRÍTICO
04 O prazo de entrega do software não foi definido 30% CRÍTICO
05 O cliente não tem ideia dos requisitos do
produto
30% CRÍTICO
06 Processo de trabalho de equipe não foi definido 25% CRÍTICO
07 O custo da entrega de um produto com defeito
não foi estimado
20% CRÍTICO
08 Documentação para o usuário não foi planejada 20% CRÍTICO
09 A equipe não possui treinamento necessário
para esse projeto
50% MODERADO
10 O cliente não entende o processo de
engenharia de software
20% MODERADO
22
11 Ferramentas CASE não são usadas no projeto 10% MODERADO
3.4. Plano de Redução e Gestão do Risco
Com o objetivo de minimizar os problemas decorrentes dos riscos listados na
Tabela 5, nos Quadros de 4 a 11 foram traçados os planos para redução,
supervisão e contingência de riscos.
Quadro 4.​ ​Risco 01 -​ O tamanho do banco de dados não foi estimado
Risco:​ 01 Chance de ocorrência:​ 30% Impacto:​ Catastrófico
Descrição do risco:​ Possibilidade do tamanho do banco de dados crescer a ponto de atrapalhar
a performance do sistema, já que o banco ficará na máquina do usuário.
Estratégia de redução:​ Adoção de boas práticas na construção do banco de dados, como a
escolha correta do tipo de dado dos campos, o uso dos tipos booleano ou inteiro para os campos
que são ​flags​, etc.
Plano de contingência: ​ Exclusão de dados que não são mais necessários e criação de uma
política de ​backup​ que permita a exclusão dos backups mais antigos.
Pessoa responsável:​ Tawanna Hakkinen Oliveira Leite
Status:​ Concluído
Quadro 5.​ ​Risco 02 -​ O produto possui limitações significativas de performance
Risco:​ 02 Chance de ocorrência:​ 70% Impacto:​ Crítico
Descrição do risco:​ Possibilidade da performance do produto no equipamento do cliente ser
baixa a ponto de prejudicar sua utilização.
Estratégia de redução:
● Testar o desempenho toda vez que um novo recurso que possa impactar a performance
for implementado.
● Testar novos tipos de animações conforme forem implementados na máquina que irá
rodar o sistema.
● Realizar testes de carga, teste de stress, teste de pico, teste de escalabilidade e teste de
volume.
● Identificar os ​bottlenecks​ do sistema e otimizá-los.
Plano de contingência:​ Desativar as animações. Propor instalação de hardware de melhor
desempenho.
Pessoa responsável: ​Rodrigo Fonseca Nascimento
Status:​ Concluído
23
Quadro 6.​ ​Risco 03 -​ O tamanho do produto em números de programas, arquivos e
transações não foi estimado
Risco:​ 03 Chance de ocorrência:​ 35% Impacto:​ Crítico
Descrição do risco:​ Possibilidade do tamanho do produto em números de programas, arquivos e
transações ser maior do que o inicialmente esperado.
Estratégia de redução:
● Estudar o uso de mais de uma técnica de estimação de tamanho.
● Pesquisar o tamanho de produtos semelhantes.
Plano de contingência:​ Reavaliar o nível de cada requisito, completar os requisitos funcionais
antes de dar continuidade aos não-funcionais, diminuir escopo dos requisitos não-funcionais.
Pessoa responsável: ​Rodrigo Fonseca Nascimento
Status:​ Concluído
Quadro 7.​ ​Risco 04 -​ O prazo de entrega do software não foi definido
Risco:​ 04 Chance de ocorrência:​ 30% Impacto:​ Crítico
Descrição do risco:​ Com prazo não definido​ ​pode atrasar muito a entrega e a equipe cair em um
ciclo vicioso e não conseguir entregar o software.
Estratégia de redução:
● 1. Definir com o cliente todos os requisitos do software;
● 2. Estimar juntamente com o cliente qual a urgência da implementação do software em
seu negócio.
● 3. Estimar com a equipe de desenvolvimento quanto tempo precisará para desenvolver,
aplicando métricas de estimação;
● 4. Definir com a equipe qual nível de prioridade deve-se da ao software, baseando-se no
item 2.
● 5. Definir e apresentar ao cliente uma data para entrega do software.
Plano de contingência: ​Deve ficar atento às possíveis mudanças que podem ocorrer durante a
implementação do software, fazer backup periodicamente dos fontes e usar controle de versões
durante o desenvolvimento.
Pessoa responsável: ​Anderson Costa Moreira Santana
Status:​ Concluído
Quadro 8.​ ​Risco 05 -​ O cliente não tem ideia dos requisitos do produto
Risco:​ 05 Chance de ocorrência:​ 30% Impacto:​ Crítico
Descrição do risco:​ Possibilidade de haver constantes alterações nos requisitos do produto
devido ao fato de que o cliente não tem ideia dos requisitos do mesmo.
Estratégia de redução:
24
● A equipe da análise deve fazer entrevistas com o cliente para entender o que ele deseja;
● A equipe da análise deve entrevistar outras pessoas que irão utilizar o software para obter
mais informações sobre quais problemas o software deve resolver;
● A equipe da análise deve sempre estar em contato com o cliente durante o processo de
desenvolvimento do software;
Plano de contingência:​ Usar outras técnicas de elicitação de requisitos, como a Etnografia que é
uma técnica de observação usada para compreender os requisitos organizacionais e sociais.
Pessoa responsável: ​Tawanna Hakkinen Oliveira Leite
Status:​ Concluído
Quadro 9.​ ​Risco 06 -​ Processo de trabalho de equipe não foi definido
Risco:​ 06 Chance de ocorrência:​ 25% Impacto:​ Crítico
Descrição do risco:​ Possibilidade de haver retrabalho por decorrência da elicitação de requisito
mal executada.
Estratégia de redução:
● Elicitação de Requisito mais apurada
● Revisões dos Modelos Conceituais
Plano de contingência:​ Realizar com mais frequência reuniões com o cliente.Fazer visitas ao
local de trabalho onde será implementado o software. Buscar entender melhor o modelo de
negócio do cliente.
Pessoa responsável: ​Pedro Sturaro dos Reis
Status:​ Concluído
Quadro 10.​ Risco 07 -​ O custo da entrega de um produto com defeito não foi
estimado
Risco:​ 07 Chance de ocorrência:​ 20% Impacto:​ Crítico
Descrição do risco:​ O custo inesperado gerado por entrega de um produto com defeito.
Estratégia de redução:
● Realizar todos teste indicados antes da entrega do produto
● Fazer verificações no processo de produção do software
● Realizar revisões por meio de uma equipe diferente da de desenvolvimento
Plano de contingência:​ Por meio de uma equipe de controle de qualidade, criar e realizar testes
no produto a ser entregue. A gestão do projeto deve verificar o métodos e os procedimentos para
a produção do software, de forma que minimize a possibilidade de bugs e outros defeitos.
Pessoa responsável: ​Pedro Sturaro dos Reis
Status:​ Concluído
25
Quadro 11.​ ​Risco 08 -​ Documentação para o usuário não foi planejada
Risco:​ 08 Chance de ocorrência:​ 20% Impacto:​ Crítico
Descrição do risco:​ O usuário pode ter dificuldade em utilizar o software principalmente se
novas funcionalidade forem implementadas em curtos espaços de tempo.
Estratégia de redução:
● 1. À medida que for implementando as funcionalidades do software deve-se fazer uma
breve descrição destas;
● 2. Documentar todas as funcionalidades do software após testadas;
● 3. Após implementada todas as funcionalidade montar, juntamente com o testador de
software, um plano de teste que possa verificar todas as possíveis falhas que possa
ocorrer durante o uso do software;
● 4. Deve-se criar uma cartilha ilustrativa de como usar o software e como agir em caso de
erros, baseando-se no item 2.
● 5. Inserir no próprio software um espaço onde o usuário possa tirar dúvidas;
Plano de contingência: ​Deve-se criar uma canal que permita aos usuários fazer da um feedback
aos desenvolvedores do software para reportar possíveis falhas que não foram descritas na
cartilhas.
Pessoa responsável: ​Anderson Costa Moreira Santana
Status:​ Concluído
4. PLANEJAMENTO TEMPORAL
Esta seção apresenta o planejamento temporal do projeto. O planejamento
temporal é desenvolvido pelos gestores de software e consiste na definição das
datas de execução das tarefas e dos seus responsáveis. A partir dele é possível ver
a interdependência entre as tarefas e o avanço do projeto.
Nas próximas subseções serão apresentados o conjunto de tarefas do
projeto e o diagrama de Gantt.
4.1. Conjunto de tarefas do projeto
Na Tabela 6 estão definidas as tarefas que serão realizadas durante o
processo de desenvolvimento do software. A estimativa dos dias de trabalho em
cada tarefa foi feita usando o total de dias de trabalho da equipe, obtido na Tabela
2, dividido pela quantidade de esforço utilizado em cada tarefa. Foi destinado 3% do
26
esforço para o Planejamento, 40% para Requisitos - Análise - Desenho, 22% para a
codificação e 35% para teste.
Tabela 6 ​- Conjunto de tarefas do projeto
Etapa Estimativa Dias de trabalho
Planejamento 3% (70*3%) = 2,1
Requisitos - Análise -Desenho 40% (70*40%) = 28
Codificação 22% (70*22%) = 15,4
Teste 35% (70*35%) = 24,5
Total 70 dias
4.2. Diagrama de Gantt
O diagrama de Gantt é um gráfico usado para mostrar o avanço das etapas
de um projeto. No Apêndice 1 é mostrado o diagrama de Gantt, onde pode ser vista
cada tarefa e sua lista de subtarefas, além da data inicial e final de cada uma. ​O
projeto terá início no dia 22/10/2019 e está previsto para ser concluído em
31/12/2019.
27
APÊNDICE 1
Diagrama de Gantt
A Figura 3 mostra o diagrama de Gantt desse plano de projeto.
Figura 3.​ Diagrama de Gantt
28
5. ORGANIZAÇÃO DO PESSOAL
Nesta seção são apresentadas as funções de cada membro da equipe e uma
breve descrição de cada uma delas. Além disso, também são apresentadas as
ferramentas usadas na comunicação da equipe e no monitoramento das atividades
do projeto. E por último, será apresentado o Edu Blog e seu uso como ferramenta
de apoio.
5.1. Estrutura da equipe
O Quadro 12 apresenta o papel de cada integrante e uma breve descrição de
cada um desses papéis.
Quadro 12 ​- Estrutura da equipe
Papel Integrante Descrição
Gerente de Projeto
Desenvolvedor
Pedro Sturaro Define o objetivo geral do projeto, os
objetivos individuais, o cronograma
de atividades, as responsabilidades e
os recursos. Sua principal atribuição
é evitar que as falhas inerentes aos
processos aconteçam.
Analista de Sistemas Tawanna Oliveira Tem como função projetar o sistema,
atuar com análise e projeto de
sistemas, levantamento de requisitos
e regras de negócio, mapeamento de
processos e modelagem de dados
Desenvolvedor Rodrigo Nascimento Tem como função codificar e fazer a
manutenção do software..
Testador Anderson Costa Tem como função elaborar os planos
de teste e sua execução. Também
deve auxiliar no desenvolvimento de
automações de teste para que a
equipe de qualidade consiga agilizar
a identificação de erros em
atividades desenvolvidas.
5.2. Mecanismos de comunicação
A ferramenta utilizada para a comunicação entre os membros da equipe foi
WhatsApp. Já para o monitoramento das atividades foram utilizados o Trello e o
29
Google Drive. Abaixo se encontra uma breve descrição de cada uma dessas
ferramentas:
● WhatsApp - é um aplicativo multiplataforma de mensagens instantâneas e
chamadas de voz para smartphones. Além de mensagens de texto, os
usuários podem enviar imagens, vídeos e documentos em PDF, além de
fazer ligações grátis por meio de uma conexão com a internet.
● Trello - é um aplicativo de gerenciamento de projeto baseado na web. Nesta
ferramenta os projetos são representados por quadros (boards), que contêm
listas de tarefas. As tarefas são representadas por cartões que são criados
dentro dos quadros. Cartões podem ser movidos de uma lista para outra para
representar o progresso da tarefa sendo que os usuários podem ser inscritos
nos cartões. Ele opera um modelo de negócio Freemium (gratuito com opção
de assinatura para acesso a recursos avançados).
● Google Drive - é um serviço de armazenamento e sincronização de
arquivos. Google Drive abriga também o Google Docs, um leque de
aplicações de produtividade, que oferece a edição de documentos, folhas de
cálculo, apresentações, e muito mais.
5.3. Uso do Edu-blog como ferramenta de apoio
O Edu-Blog foi uma ferramenta de grande importância durante todo o
processo de desenvolvimento deste plano de projeto. Todo assunto dado em sala
de aula encontrava-se no blogue. Isso permitiu a equipe realizar consultas sempre
que preciso para tirar dúvidas sobre algo. Ou ainda, relembrar algo que foi dado em
sala de aula.
Além do conteúdo da disciplina, ele nos deu acesso aos blogs criados pelas
turmas anteriores que serviram como fonte de inspiração e referência para que
pudéssemos evoluir nosso trabalho a partir de uma rica base de conhecimentos.
30
6. PRECAUÇÕES TOMADAS PARA ASSEGURAR E CONTROLAR A
QUALIDADE DO PRODUTO DE SOFTWARE
A primeira medida tomada para assegurar a qualidade do produto de
software foi entrevistar o cliente algumas vezes para definir a problemática e o
escopo do projeto. Após documentado, isso se tornou uma base sólida a partir da
qual nós desenvolvemos o projeto sem perder o foco no objetivo inicial.
Com o estabelecimento da equipe e análise de seus pontos fortes e fracos,
pudemos fazer um levantamento dos riscos para que traçássemos o melhor
caminho durante o desenvolvimento do projeto, sempre seguindo as orientações do
nosso professor e do material bibliográfico recomendado da disciplina.
Apesar da pouca experiência prática em desenvolvimento de software,
pudemos aproveitar conhecimentos adquiridos em outras disciplinas da graduação
como forma de complementar e aprimorar o presente trabalho.
Ao longo da evolução, continuamos consultando nossas bases de
conhecimento para ter certeza que o que estávamos construindo se alinhava com a
proposta inicial e cumpria as expectativas dentro do prazo estabelecido.
31
7. REFERÊNCIAS BIBLIOGRÁFICAS
AS atribuições do gerente de projeto. ​Gerenciar Projetos. Disponível em
<​http://gerenciarprojetos.com.br/as-atribuicoes-do-gerente-de-projeto/>. Acesso em:
19 de fev. de 2020.
FRANZ, Natália. Guia de profissões: analista de testes. ​Tutano​. Disponível em
<​http://tutano.trampos.co/11576-guia-profissoes-analista-testes/>. Acesso em: 19 de
fev. de 2020.
GOOGLE Drive. ​Wikipédia​. Disponível em
<https://pt.wikipedia.org/wiki/Google_Drive>. Acesso em: 19 de fev. de 2020.
KIDD, Jeff; LORENZ, Mark. ​Object-Oriented Software Metrics. 1. Ed. Londres:
Pearson Technology Group, 1994.
NASCIMENTO, Rogério P C do. Lecture 3 :: Análise e Gestão de Risco. ​Edu-blog >
GP | UFS::2019​, 2019. Disponível em:
<https://gp-ufs.blogspot.com/2019/11/lecture-3-analise-e-gestao-de-risco.html>.
Acesso em: 12 de fev. de 2020.
PRESSMAN, R. S. ​Engenharia de software: uma abordagem profissional. 7. ed.
São Paulo: Pearson Makron Books, 2011.
PUTNAM JR., Larry. Saiba por que a estimativa de software está mais importante
do que nunca. ​Infoq​, 2018. Disponível em
<https://www.infoq.com/br/articles/software-estimation-important​/​>. Acesso em: 09
de mar. de 2020.
TRELLO. ​Wikipédia​. Disponível em <https://pt.wikipedia.org/wiki/Trello>. Acesso
em: 19 de fev. de 2020.
WHATSAPP. ​Wikipédia​. Disponível em <https://pt.wikipedia.org/wiki/WhatsApp>.
Acesso em: 19 de fev. de 2020.
32

Mais conteúdo relacionado

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Plano de projeto Berçário Girassol

  • 1. UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO Sistema de Gestão do Berçário Girassol Plano de Projeto de Software Anderson Costa Moreira Santana Pedro Sturaro dos Reis Rodrigo Fonseca Nascimento Tawanna Hakkinen Oliveira Leite Prof.º Dr. Rogério Patrício Chagas do Nascimento SÃO CRISTÓVÃO-SERGIPE NOVEMBRO DE 2019
  • 2. UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO Sistema de Gestão do Berçário Girassol Plano de Projeto de Software do Sistema de Gestão do Berçário Girassol desenvolvido pelos alunos Anderson Costa M. Santana, Pedro Sturaro dos Reis​, ​Rodrigo Fonseca Nascimento ​e ​Tawanna Hakkinen Oliveira Leite, apresentado à disciplina Gerência de Projetos para obtenção de nota parcial sob a orientação do Profº Dr. Rogério Patrício Chagas do Nascimento para composição de nota. SÃO CRISTÓVÃO-SERGIPE NOVEMBRO DE 2019
  • 3. SUMÁRIO INTRODUÇÃO 4 Âmbito do projeto 4 Funções principais 4 Requisitos comportamentais ou de performance 6 1.4. Gestão e Restrições técnicas 14 ESTIMAÇÕES DO PROJETO 14 Dados históricos utilizados para as estimações 14 Técnicas de estimação e resultados 14 Técnicas de estimação 15 Resultados 16 ANÁLISE E GESTÃO DE RISCOS 17 3.1. Riscos do projeto 18 3.2. Avaliação Global dos Riscos 19 3.3. Tabela de riscos 20 3.4. Plano de Redução e Gestão do Risco 20 PLANEJAMENTO TEMPORAL 24 4.1. Conjunto de tarefas do projeto 24 4.2. Diagrama de Gantt 25 ORGANIZAÇÃO DO PESSOAL 27 5.1. Estrutura da equipe 27 5.2. Mecanismos de comunicação 27 5.3. Uso do Edu-blog como ferramenta de apoio 28 PRECAUÇÕES TOMADAS PARA ASSEGURAR E CONTROLAR A QUALIDADE DO PRODUTO DE SOFTWARE 29 REFERÊNCIAS BIBLIOGRÁFICAS 30
  • 4. 1. INTRODUÇÃO O presente documento visa apresentar o plano de projeto de um software que tem por objetivo realizar o gerenciamento dos alunos e seus responsáveis do Berçário Girassol. 1.1. Âmbito do projeto Este projeto busca melhorar as atividades de controle dos alunos e seus responsáveis do Berçário Girassol. Esse berçário possui pouco tempo de atuação no mercado e pouco mais de 100 alunos por ano letivo. Devido a esses fatores, o gerenciamento interno da instituição e de pessoas atendidas são feitos usando papel. Essa utilização de meios analógicos causa dificuldades de organização, busca e armazenamento das informações. Por isso, está sendo proposto a construção de um software que facilite todo o processo de gerenciamento e garanta a segurança dos dados. 1.2. Funções principais As principais funcionalidades do software foram representadas no diagrama de casos de uso na Figura 1, o diagrama demonstra os atores envolvidos, suas funcionalidades e seus relacionamentos. 4
  • 5. Figura 1: Diagrama de Caso de Uso O Quadro 1 traz uma descrição de cada ator identificado e representado no diagrama de caso de uso. O objetivo é demonstrar o papel de cada um no contexto do projeto. Quadro 1 - ​Descrição dos Atores e suas Respectivas Funções Atores Descrição Funcionário Esse ator representa o(s) funcionário (s) que terá (terão) acesso ao sistema para cadastrar, lista ou pesquisar alunos. Administrador Esse ator representa o (os) administrador (es) do sistemas que podem fazer as mesmas funções do (os) funcionários e, além disso poderá (poderão) manipular turmas e funcionário (s) no sistema. 5
  • 6. O Quadro 2 mostram os Requisitos Funcionais para o desenvolvimento do Sistema de Gestão da Creche Girassol com uma breve descrição de cada um e seu código. Quadro 2 - ​Descrição dos requisitos funcionais Requisito Descrição [RF001] O sistema deve permitir que os administradores realizem login no sistema. [RF002] O funcionario pode cadastrar aluno. [RF003] O sistema deve permitir a visualização de aluno. [RF004] O administrador pode excluir aluno. [RF005] O administrador pode alterar dados do aluno. [RF006] O administrador pode cadastrar turma. [RF007] O sistema deve permitir a visualização da turma. [RF008] O administrador pode matricular aluno em uma turma. [RF009] O administrador pode excluir turma. [RF010] O administrador pode alterar dados da turma. [RF011] O funcionário pode cadastrar responsável. [RF012] O administrador pode excluir responsável. [RF013] O sistema deve permitir a visualização de responsável. [RF014] O administrador pode alterar dados do responsável. [RF015] O administrador pode cadastrar funcionário. [RF016] O administrador pode excluir funcionário. [RF017] O sistema deve permitir a visualização de funcionário. [RF018] O administrador pode alterar dados do funcionário. [RF019] O administrador pode alocar funcionário a uma turma. 6
  • 7. 1.3. Requisitos comportamentais ou de performance Nesta seção são descritos os requisitos não funcionais do software que descrevem características de qualidade do software. Estas características estão ligadas a usabilidade do software. Quadro 3 - ​Descrição dos Requisitos Não Funcionais Requisito Descrição [RNF001] O sistema deve ser desktop e funcionar para os Sistemas Operacionais Windows 7 ou superior. [RNF002] O sistema deve possuir usabilidade uma interface que promova facilidade em manuseio onde um usuário sem intimidade com computador possa utilizar, bem como aprender sem necessidade de auxílio técnico. [RNF003] O sistema tem que ser capaz de ser reparado e expandido estando em execução nas máquinas dos usuários, ou seja, manter a manutenibilidade. [RNF004] O sistema deve utilizar o banco de dados PostgreSQL e manter os dados dos alunos, responsáveis, turmas e clientes. [RNF005] O sistema deve possuir dois níveis de acesso por meio do login​. [RNF006] O sistema deve garantir que o aluno esteja matriculado em apenas uma turma. [RNF007] Deve-se garantir que possua o mínimo de falhas possíveis afim de se manter a confiabilidade da aplicação garantindo a segurança das transações. Descrição dos Casos de Uso Críticos UC01 – Cadastrar Aluno Objetivo: Cadastrar aluno para que possa ser matriculado. Requisitos: Apresentação de documentos do aluno. Atores (Primário e Secundário): Funcionário (primário) e aluno (secundário). Prioridade: Crítico 7
  • 8. Pré-condições: Identificação do aluno não constar no sistema. Responsável precisa estar cadastrado no sistema. Frequência de Uso: Criticidade: Fluxo Principal 1. O funcionário seleciona a opção Cadastrar Aluno. 2. O sistema exibe uma tela para Pesquisar dados do responsável. 3. O funcionário seleciona o responsável pelo aluno. 4. O sistema exibe uma tela para preenchimento de identificação do aluno. 5. O funcionário fornece a identificação do aluno. 6. O sistema verifica os dados preenchidos. 7. O sistema exibe uma tela para preenchimento de dados do aluno. 8. O funcionário preenche os dados solicitados e seleciona a opção Cadastrar. 9. O sistema verifica os dados preenchidos. 10. O sistema salva os dados do aluno. Fluxo Alternativo 2.a: Responsável não encontrado. 1- O sistema exibe mensagem que o responsável não foi encontrado. 2- Retorna ao passo 2. 4.a: O sistema verifica que já existe um aluno com a identificação apresentada. 1- O sistema informa que já existe um aluno com a mesma identificação. 8
  • 9. 2- Retorna ao passo 3. 9.a: Campos obrigatórios não preenchidos. 1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados. 2- Retorna ao passo 6. 9.b: Campos obrigatórios preenchidos incorretamente: 1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento. 2- Retorna ao passo 6. Regras de Negócio: Além dos dados do aluno é necessário fornecer dados do responsável. UC02 – Criar Turma Objetivo: Permite ao administrador criar uma nova turma. Requisitos: Administrador precisa estar autenticado no sistema. Atores (Primário e Secundário): Administrador (primário). Prioridade: Crítico Pré-condições: Nenhuma Frequência de Uso: Criticidade: Fluxo Principal 1. O funcionário seleciona a opção Criar Turma. 2. O sistema exibe uma tela para preenchimento dos dados da turma. 3. O administrador insere os dados da turma e seleciona a opção Criar Turma. 9
  • 10. 4. O sistema verifica os dados preenchidos. 5. O sistema salva os dados da turma. Fluxo Alternativo 4.a: Campos obrigatórios não preenchidos. 1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados. 2- Retorna ao passo 3. 4.b: Campos obrigatórios preenchidos incorretamente: 1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento. 2- Retorna ao passo 3. Regras de Negócio: UC03 – Matricular Aluno Objetivo: Permite matricular o aluno em uma turma. Requisitos: Entrar no perfil do aluno. Atores (Primário e Secundário): Funcionário (primário) e Aluno (secundário). Prioridade: Crítico Pré-condições: O aluno precisa estar cadastrado no sistema. O aluno não pode estar matriculado em uma turma. Frequência de Uso: Criticidade: Fluxo Principal 10
  • 11. 1. O funcionário entra no perfil do aluno e seleciona a opção Matricular Aluno. 2. O sistema exibe uma tela com as turmas disponíveis. 3. O funcionário seleciona uma turma e clica na opção salvar. 4. O sistema matrícula o aluno na turma selecionada. Fluxo Alternativo Regras de Negócio: As turmas têm um limite de alunos. UC04 - Cadastrar Responsável Objetivo: Cadastro de responsável no sistema. Requisitos: Apresentação de documentos do aluno. Atores (Primário e Secundário): Funcionário (primário) e responsável (secundário). Prioridade: Crítico Pré-condições: Identificação do responsável não constar no sistema. Frequência de Uso: Criticidade: Fluxo Principal 1. O funcionário seleciona a opção Cadastrar Responsável. 2. O sistema exibe uma tela para preenchimento de identificação do responsável. 3. O administrador fornece a identificação do responsável. 11
  • 12. 4. O sistema verifica os dados preenchidos. 5. O sistema exibe uma tela para preenchimento de dados do responsável. 6. O funcionário preenche os dados solicitados e seleciona a opção cadastrar. 7. O sistema verifica os dados preenchidos. 8. O sistema salva os dados do responsável. Fluxo Alternativo 4.a: O sistema verifica que já existe um responsável com a identificação apresentada. 1- O sistema informa que já existe um responsável com a mesma identificação. 2- Retorna ao passo 3. 7.a: Campos obrigatórios não preenchidos. 1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados. 2- Retorna ao passo 6. 7.b: Campos obrigatórios preenchidos incorretamente: 1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento. 2- Retorna ao passo 6. Regras de Negócio: UC05 - Cadastrar Funcionário Objetivo: Cadastro de funcionário no sistema. Requisitos: Administrador autenticado no sistema. Atores (Primário e Secundário): Administrador (primário) e funcionário (secundário). 12
  • 13. Prioridade: Crítico Pré-condições: Identificação do funcionário não constar no sistema. Frequência de Uso: Criticidade: Fluxo Principal 1. O administrador seleciona a opção Cadastrar Funcionário 2. O sistema exibe uma tela para preenchimento de identificação do funcionário. 3. O administrador fornece a identificação do funcionário. 4. O sistema verifica os dados preenchidos. 5. O sistema exibe uma tela para preenchimento de dados do funcionário. 6. O administrador preenche os dados solicitados e seleciona a opção Cadastrar. 7. O sistema verifica os dados preenchidos. 8. O sistema salva os dados do funcionário. Fluxo Alternativo 4.a: O sistema verifica que já existe um funcionário com a identificação apresentada. 1- O sistema informa que já existe um funcionário com a mesma identificação. 2- Retorna ao passo 3. 7.a: Campos obrigatórios não preenchidos. 1- O sistema informa quais os campos obrigatórios não apresentam o preenchimento dos dados. 2- Retorna ao passo 6. 13
  • 14. 7.b: Campos obrigatórios preenchidos incorretamente: 1- O sistema informa quais os campos obrigatórios apresentam erros no preenchimento. 2- Retorna ao passo 6. Regras de Negócio: 1.4. Gestão e Restrições técnicas A equipe de desenvolvimento do projeto será composta por alunos dos cursos de graduação do Departamento de Computação (DCOMP) da UFS que possuem pouca ou média experiência com desenvolvimento de um projeto de software. As restrições técnicas associadas ao desenvolvimento do projeto são: 1. Utilização de recursos ​open source ​e gratuitos. 2. Deverá ser desenvolvido em linguagem C#. 3. Usar IDE Visual Studio para desenvolvimento do código. 4. Utilização do banco de dados Postgresql. 5. Usar Git para controle de versão e armazenamento do código. 6. Listar atividades desenvolvidas usando Trello. O desenvolvimento seguirá o modelo iterativo-incremental, utilizando a metodologia ágil Scrum. Cada ​sprint terá duas semanas de duração, ao final da qual haverá sido finalizada uma nova versão funcional do sistema que poderá ser validada pelo cliente. 2. ESTIMAÇÕES DO PROJETO Esta seção fornece as estimações do esforço e tempo demandado para a produção do Sistema de Gestão da Creche Girassol. 14
  • 15. 2.1. Dados históricos utilizados para as estimações Este projeto é o primeiro desenvolvido pela equipe, portanto não há dados anteriores que possam ser utilizados para a estimação deste projeto. 2.2. Técnicas de estimação e resultados As estimativas têm grande importância na elaboração de projetos de software. À medida que os projetos se tornam maiores e mais complexos é necessário que as equipes conheçam e determinem prazos de entrega realistas. Além disso, os executivos necessitam de estimativas de custos precisas que os auxiliem na definição do orçamento anual e na análise da viabilidade do projeto. Mas, de acordo com Pressman (2011, p. 609), "as estimativas de custo e esforço de software nunca serão uma ciência exata". Isso porque, o custo final do software e o esforço necessário para o seu desenvolvimento podem ser afetados por variáveis como fatores humanos, técnicos, ambientais e políticos. Apesar disso, usando uma série de técnicas de estimação, é possível fazer com que as estimativas de projeto de software tenham um risco aceitável. Uma dessas técnicas é a técnica de estimação para projetos orientados a objetos criado por Lorenz e Kidd. Essa técnica é usada para suplementar os métodos que normalmente são utilizados na estimativa de custo de software (Pressman, 2011, p. 622). Esta técnica foi usada neste plano de projeto para definir a estimação do esforço necessário para o seu desenvolvimento. 2.2.1. Técnicas de estimação Lorenz & Kidd (1994) sugerem que sejam realizadas as seguintes etapas para a definição das estimativas de esforço do projeto: 1. Determinar a quantidade de classes-chave; 2. Classificar o tipo de interface do produto usando a Tabela 1 e desenvolver um multiplicador para classes de suporte; 15
  • 16. 3. Multiplicar o número de classes-chave pelo multiplicador para obter uma estimativa do número de classes de apoio; 4. Multiplicar o número total de classes pelo número médio de unidades de trabalho por classes. Lorenz & Kidd sugerem 15 a 20 pessoas-dia por classe; 5. Determinar a quantidade de esforço estimada; 6. Calcular o tempo previsto para a elaboração do projeto. O número total de classes é definido por: Total de classes = classes-chave + classes de suporte Tabela 1 - ​Multiplicadores da Métrica Lorenz & Kidd Interface Multiplicador Não Gráfica 2,00 Baseada em Teste 2.25 GUI 2,50 GUI Complexa 3,00 A Tabela 1 é formada por duas colunas Interface e Multiplicador. A coluna Interface apresenta os vários tipos de interface que um software pode ter e a coluna Multiplicador apresenta o valor do multiplicador associado a cada uma dessas interfaces. 2.2.2. Resultados Utilizando o Diagrama de Classes de Domínio, mostrado na Figura 2, aplicamos a técnica de Lorenz & Kidd(1994) explicada na subseção anterior. 16
  • 17. Figura 2 -​ Diagrama de Classe do Sistema de Gestão da Creche Girassol 17
  • 18. Cumprida as etapas proposta por Lorenz & Kidd(1994), identificamos 4 Classes Chaves do Diagrama de Domínio da Figura 2. São elas: 1. Aluno 2. Adulto 3. Funcionário 4. Usuário Com base nisso, chegamos ao seguinte cálculo: 1. Como nosso sistema é baseado em GUI, utilizamos o multiplicador 2,5. Conforme mostrado na Tabela 1. 2. Depois, calculamos o total de classes de suporte. O total de classes de suporte é calculado multiplicando a quantidade de classes-chave pelo multiplicador 2,5. Assim temos: Total de classes de suporte = classes-chave * multiplicador Total de classes de suporte = 4 * 2,5 = 10 3. Após encontrarmos o valor total de classes de suporte, calculamos o total de classes para o sistema. O total de classes para o sistema é calculado somando a quantidade de classes chave com o total de classes de suporte. Assim temos: Total de classes do sistema = classes-chave + total classes de suporte Total de classes do sistema = 4 + 10 = 14 4. Usando o valor total de classes do sistema, calculamos a quantidade de esforço. A Quantidade de esforço é calculada multiplicando o total de classes do sistema pelo o número de dias-pessoas por classes que foi estimado. Esse número foi escolhido baseado na sugestão de Lorenz & Kidd, conforme visto na subseção 2.2.1. O número escolhido foi 20 dias-pessoa. Assim temos: Quantidade de esforço = Total de classes * Unidades de Trabalho 18
  • 19. Quantidade de esforço = 14 * 20 = 280 5. E por último, utilizando o valor da quantidade de esforço, calculamos a quantidade de dias de trabalho. A quantidade de dias de trabalho da equipe foi calculada dividindo a quantidade de esforço estimado pela quantidade de membros da equipe. Assim temos: Dias de trabalho = quantidade de esforço / quantidade de membros da equipe Dias de trabalho = 280 / 4 = 70 dias úteis. Esses resultados foram organizados na Tabela 2. Tabela 2​ - Resultado da técnica de Lorenz & Kidd Resultado 1 Número de Classe Chave: 4 2 Projeto de natureza classificada como GUI 2,5 3 Número de Classes de Suporte (Classe Chave X Multiplicador) 4 x 2,5 = 10 4 Total de Classe (Classe Chave + Classe Suporte) 4 + 10 = 14 5 Quantidade de Esforço Estimado (Qtd de Classe X Unidade de Trabalho) 14 x 20 = 280 6 Dias de Trabalho da Equipe: (Esforço Estimado / Qtd de Pessoas) 280 / 4 = 70 3. ANÁLISE E GESTÃO DE RISCOS A análise e gestão de riscos é um meio de identificar e medir os riscos de forma organizada, com o objetivo de antecipá-los para propor medidas de contingência e redução dos seus impactos no projeto. 19
  • 20. 3.1. Riscos do projeto Na Tabela 3, estão listados os possíveis riscos do projeto Sistema de Gestão do Berçário Girassol. Os mesmos foram classificados baseando-se em um ​checklist previamente definido conforme o tipo: Projeto, Técnico ou de Negócio​. Tabela 3​ ​-​ Risco e tipo de impacto Item Risco Projeto Técnico Negócio 01 O tamanho do banco de dados não foi estimado x 02 O produto possui limitações significativas de performance x 03 O tamanho do produto em números de programas, arquivos e transações não foi estimado x 04 O prazo de entrega do software não foi definido x 05 O cliente não tem ideia dos requisitos do produto x 06 Processo de trabalho de equipe não foi definido x 07 O custo da entrega de um produto com defeito não foi estimado x 08 Documentação para o usuário não foi planejada x 09 A equipe não possui treinamento necessário para esse projeto x 10 O cliente não entende o processo de engenharia de software x 11 Ferramentas CASE não são usadas no projeto x 20
  • 21. 3.2. Avaliação Global dos Riscos A avaliação global dos riscos tem como objetivo identificar alguns possíveis riscos que o projeto possa ter. Tabela 4​ - Avaliação Global dos Riscos Descrição Situação 1. Os Gestores de Software e Clientes dão suporte ao projeto ? Sim 2. Os Clientes estão entusiasmados com o projeto e o produto? Sim 3. Os Engenheiros de Software e os Clientes compreenderam bem os requisitos? Sim 4. Os Clientes estiveram envolvidos na definição dos requisitos? Sim 5. As expectativas dos usuários são realistas? Sim 6. O âmbito do projeto é estável? Sim 7. O Engenheiros de Software têm as competências requeridas? Sim 8. Os requisitos do Projeto são estáveis? Sim 9. A Equipe de Desenvolvimento tem experiência com a tecnologia que usará para implementar? Não, nem todos da equipe tem conhecimento com a linguagem de programação que usará para implementar. 10. É adequado o número de pessoas da equipe de trabalho? Sim 11.O cliente e os usuários concordam quanto à importância do projeto? e nos requisitos do sistema ou produto a construir? Sim 21
  • 22. 3.3. Tabela de riscos Os riscos associados ao projeto estão listados na Tabela 5. A coluna Chance de ocorrência mostra, em porcentagem, a probabilidade do risco se tornar realidade. A coluna Impacto indica qual o nível de ameaça que ele representa para o projeto​, podendo ser um dos seguintes, em ordem do menor para o maior impacto (NASCIMENTO, 2019): 1. Desprezível - Terá uma influência muito pequena no projeto. 2. Marginal - Influenciará o projeto, mas não a ponto de pará-lo. 3. Crítico - Pode parar o projeto. 4. Catastrófico - Irá parar o projeto. Eles foram escolhidos e avaliados de acordo com nossas experiências em projetos anteriores, autoavaliação técnica, aprendizado adquirido nas diversas matérias da graduação e a infraestrutura tecnológica atual do cliente. Tabela 5 ​- Risco, probabilidade e impacto. Item Risco Chance de ocorrência Impacto 01 O tamanho do banco de dados não foi estimado 30% CATASTRÓFICO 02 O produto possui limitações significativas de performance 70% CRÍTICO 03 O tamanho do produto em números de programas, arquivos e transações não foi estimado 35% CRÍTICO 04 O prazo de entrega do software não foi definido 30% CRÍTICO 05 O cliente não tem ideia dos requisitos do produto 30% CRÍTICO 06 Processo de trabalho de equipe não foi definido 25% CRÍTICO 07 O custo da entrega de um produto com defeito não foi estimado 20% CRÍTICO 08 Documentação para o usuário não foi planejada 20% CRÍTICO 09 A equipe não possui treinamento necessário para esse projeto 50% MODERADO 10 O cliente não entende o processo de engenharia de software 20% MODERADO 22
  • 23. 11 Ferramentas CASE não são usadas no projeto 10% MODERADO 3.4. Plano de Redução e Gestão do Risco Com o objetivo de minimizar os problemas decorrentes dos riscos listados na Tabela 5, nos Quadros de 4 a 11 foram traçados os planos para redução, supervisão e contingência de riscos. Quadro 4.​ ​Risco 01 -​ O tamanho do banco de dados não foi estimado Risco:​ 01 Chance de ocorrência:​ 30% Impacto:​ Catastrófico Descrição do risco:​ Possibilidade do tamanho do banco de dados crescer a ponto de atrapalhar a performance do sistema, já que o banco ficará na máquina do usuário. Estratégia de redução:​ Adoção de boas práticas na construção do banco de dados, como a escolha correta do tipo de dado dos campos, o uso dos tipos booleano ou inteiro para os campos que são ​flags​, etc. Plano de contingência: ​ Exclusão de dados que não são mais necessários e criação de uma política de ​backup​ que permita a exclusão dos backups mais antigos. Pessoa responsável:​ Tawanna Hakkinen Oliveira Leite Status:​ Concluído Quadro 5.​ ​Risco 02 -​ O produto possui limitações significativas de performance Risco:​ 02 Chance de ocorrência:​ 70% Impacto:​ Crítico Descrição do risco:​ Possibilidade da performance do produto no equipamento do cliente ser baixa a ponto de prejudicar sua utilização. Estratégia de redução: ● Testar o desempenho toda vez que um novo recurso que possa impactar a performance for implementado. ● Testar novos tipos de animações conforme forem implementados na máquina que irá rodar o sistema. ● Realizar testes de carga, teste de stress, teste de pico, teste de escalabilidade e teste de volume. ● Identificar os ​bottlenecks​ do sistema e otimizá-los. Plano de contingência:​ Desativar as animações. Propor instalação de hardware de melhor desempenho. Pessoa responsável: ​Rodrigo Fonseca Nascimento Status:​ Concluído 23
  • 24. Quadro 6.​ ​Risco 03 -​ O tamanho do produto em números de programas, arquivos e transações não foi estimado Risco:​ 03 Chance de ocorrência:​ 35% Impacto:​ Crítico Descrição do risco:​ Possibilidade do tamanho do produto em números de programas, arquivos e transações ser maior do que o inicialmente esperado. Estratégia de redução: ● Estudar o uso de mais de uma técnica de estimação de tamanho. ● Pesquisar o tamanho de produtos semelhantes. Plano de contingência:​ Reavaliar o nível de cada requisito, completar os requisitos funcionais antes de dar continuidade aos não-funcionais, diminuir escopo dos requisitos não-funcionais. Pessoa responsável: ​Rodrigo Fonseca Nascimento Status:​ Concluído Quadro 7.​ ​Risco 04 -​ O prazo de entrega do software não foi definido Risco:​ 04 Chance de ocorrência:​ 30% Impacto:​ Crítico Descrição do risco:​ Com prazo não definido​ ​pode atrasar muito a entrega e a equipe cair em um ciclo vicioso e não conseguir entregar o software. Estratégia de redução: ● 1. Definir com o cliente todos os requisitos do software; ● 2. Estimar juntamente com o cliente qual a urgência da implementação do software em seu negócio. ● 3. Estimar com a equipe de desenvolvimento quanto tempo precisará para desenvolver, aplicando métricas de estimação; ● 4. Definir com a equipe qual nível de prioridade deve-se da ao software, baseando-se no item 2. ● 5. Definir e apresentar ao cliente uma data para entrega do software. Plano de contingência: ​Deve ficar atento às possíveis mudanças que podem ocorrer durante a implementação do software, fazer backup periodicamente dos fontes e usar controle de versões durante o desenvolvimento. Pessoa responsável: ​Anderson Costa Moreira Santana Status:​ Concluído Quadro 8.​ ​Risco 05 -​ O cliente não tem ideia dos requisitos do produto Risco:​ 05 Chance de ocorrência:​ 30% Impacto:​ Crítico Descrição do risco:​ Possibilidade de haver constantes alterações nos requisitos do produto devido ao fato de que o cliente não tem ideia dos requisitos do mesmo. Estratégia de redução: 24
  • 25. ● A equipe da análise deve fazer entrevistas com o cliente para entender o que ele deseja; ● A equipe da análise deve entrevistar outras pessoas que irão utilizar o software para obter mais informações sobre quais problemas o software deve resolver; ● A equipe da análise deve sempre estar em contato com o cliente durante o processo de desenvolvimento do software; Plano de contingência:​ Usar outras técnicas de elicitação de requisitos, como a Etnografia que é uma técnica de observação usada para compreender os requisitos organizacionais e sociais. Pessoa responsável: ​Tawanna Hakkinen Oliveira Leite Status:​ Concluído Quadro 9.​ ​Risco 06 -​ Processo de trabalho de equipe não foi definido Risco:​ 06 Chance de ocorrência:​ 25% Impacto:​ Crítico Descrição do risco:​ Possibilidade de haver retrabalho por decorrência da elicitação de requisito mal executada. Estratégia de redução: ● Elicitação de Requisito mais apurada ● Revisões dos Modelos Conceituais Plano de contingência:​ Realizar com mais frequência reuniões com o cliente.Fazer visitas ao local de trabalho onde será implementado o software. Buscar entender melhor o modelo de negócio do cliente. Pessoa responsável: ​Pedro Sturaro dos Reis Status:​ Concluído Quadro 10.​ Risco 07 -​ O custo da entrega de um produto com defeito não foi estimado Risco:​ 07 Chance de ocorrência:​ 20% Impacto:​ Crítico Descrição do risco:​ O custo inesperado gerado por entrega de um produto com defeito. Estratégia de redução: ● Realizar todos teste indicados antes da entrega do produto ● Fazer verificações no processo de produção do software ● Realizar revisões por meio de uma equipe diferente da de desenvolvimento Plano de contingência:​ Por meio de uma equipe de controle de qualidade, criar e realizar testes no produto a ser entregue. A gestão do projeto deve verificar o métodos e os procedimentos para a produção do software, de forma que minimize a possibilidade de bugs e outros defeitos. Pessoa responsável: ​Pedro Sturaro dos Reis Status:​ Concluído 25
  • 26. Quadro 11.​ ​Risco 08 -​ Documentação para o usuário não foi planejada Risco:​ 08 Chance de ocorrência:​ 20% Impacto:​ Crítico Descrição do risco:​ O usuário pode ter dificuldade em utilizar o software principalmente se novas funcionalidade forem implementadas em curtos espaços de tempo. Estratégia de redução: ● 1. À medida que for implementando as funcionalidades do software deve-se fazer uma breve descrição destas; ● 2. Documentar todas as funcionalidades do software após testadas; ● 3. Após implementada todas as funcionalidade montar, juntamente com o testador de software, um plano de teste que possa verificar todas as possíveis falhas que possa ocorrer durante o uso do software; ● 4. Deve-se criar uma cartilha ilustrativa de como usar o software e como agir em caso de erros, baseando-se no item 2. ● 5. Inserir no próprio software um espaço onde o usuário possa tirar dúvidas; Plano de contingência: ​Deve-se criar uma canal que permita aos usuários fazer da um feedback aos desenvolvedores do software para reportar possíveis falhas que não foram descritas na cartilhas. Pessoa responsável: ​Anderson Costa Moreira Santana Status:​ Concluído 4. PLANEJAMENTO TEMPORAL Esta seção apresenta o planejamento temporal do projeto. O planejamento temporal é desenvolvido pelos gestores de software e consiste na definição das datas de execução das tarefas e dos seus responsáveis. A partir dele é possível ver a interdependência entre as tarefas e o avanço do projeto. Nas próximas subseções serão apresentados o conjunto de tarefas do projeto e o diagrama de Gantt. 4.1. Conjunto de tarefas do projeto Na Tabela 6 estão definidas as tarefas que serão realizadas durante o processo de desenvolvimento do software. A estimativa dos dias de trabalho em cada tarefa foi feita usando o total de dias de trabalho da equipe, obtido na Tabela 2, dividido pela quantidade de esforço utilizado em cada tarefa. Foi destinado 3% do 26
  • 27. esforço para o Planejamento, 40% para Requisitos - Análise - Desenho, 22% para a codificação e 35% para teste. Tabela 6 ​- Conjunto de tarefas do projeto Etapa Estimativa Dias de trabalho Planejamento 3% (70*3%) = 2,1 Requisitos - Análise -Desenho 40% (70*40%) = 28 Codificação 22% (70*22%) = 15,4 Teste 35% (70*35%) = 24,5 Total 70 dias 4.2. Diagrama de Gantt O diagrama de Gantt é um gráfico usado para mostrar o avanço das etapas de um projeto. No Apêndice 1 é mostrado o diagrama de Gantt, onde pode ser vista cada tarefa e sua lista de subtarefas, além da data inicial e final de cada uma. ​O projeto terá início no dia 22/10/2019 e está previsto para ser concluído em 31/12/2019. 27
  • 28. APÊNDICE 1 Diagrama de Gantt A Figura 3 mostra o diagrama de Gantt desse plano de projeto. Figura 3.​ Diagrama de Gantt 28
  • 29. 5. ORGANIZAÇÃO DO PESSOAL Nesta seção são apresentadas as funções de cada membro da equipe e uma breve descrição de cada uma delas. Além disso, também são apresentadas as ferramentas usadas na comunicação da equipe e no monitoramento das atividades do projeto. E por último, será apresentado o Edu Blog e seu uso como ferramenta de apoio. 5.1. Estrutura da equipe O Quadro 12 apresenta o papel de cada integrante e uma breve descrição de cada um desses papéis. Quadro 12 ​- Estrutura da equipe Papel Integrante Descrição Gerente de Projeto Desenvolvedor Pedro Sturaro Define o objetivo geral do projeto, os objetivos individuais, o cronograma de atividades, as responsabilidades e os recursos. Sua principal atribuição é evitar que as falhas inerentes aos processos aconteçam. Analista de Sistemas Tawanna Oliveira Tem como função projetar o sistema, atuar com análise e projeto de sistemas, levantamento de requisitos e regras de negócio, mapeamento de processos e modelagem de dados Desenvolvedor Rodrigo Nascimento Tem como função codificar e fazer a manutenção do software.. Testador Anderson Costa Tem como função elaborar os planos de teste e sua execução. Também deve auxiliar no desenvolvimento de automações de teste para que a equipe de qualidade consiga agilizar a identificação de erros em atividades desenvolvidas. 5.2. Mecanismos de comunicação A ferramenta utilizada para a comunicação entre os membros da equipe foi WhatsApp. Já para o monitoramento das atividades foram utilizados o Trello e o 29
  • 30. Google Drive. Abaixo se encontra uma breve descrição de cada uma dessas ferramentas: ● WhatsApp - é um aplicativo multiplataforma de mensagens instantâneas e chamadas de voz para smartphones. Além de mensagens de texto, os usuários podem enviar imagens, vídeos e documentos em PDF, além de fazer ligações grátis por meio de uma conexão com a internet. ● Trello - é um aplicativo de gerenciamento de projeto baseado na web. Nesta ferramenta os projetos são representados por quadros (boards), que contêm listas de tarefas. As tarefas são representadas por cartões que são criados dentro dos quadros. Cartões podem ser movidos de uma lista para outra para representar o progresso da tarefa sendo que os usuários podem ser inscritos nos cartões. Ele opera um modelo de negócio Freemium (gratuito com opção de assinatura para acesso a recursos avançados). ● Google Drive - é um serviço de armazenamento e sincronização de arquivos. Google Drive abriga também o Google Docs, um leque de aplicações de produtividade, que oferece a edição de documentos, folhas de cálculo, apresentações, e muito mais. 5.3. Uso do Edu-blog como ferramenta de apoio O Edu-Blog foi uma ferramenta de grande importância durante todo o processo de desenvolvimento deste plano de projeto. Todo assunto dado em sala de aula encontrava-se no blogue. Isso permitiu a equipe realizar consultas sempre que preciso para tirar dúvidas sobre algo. Ou ainda, relembrar algo que foi dado em sala de aula. Além do conteúdo da disciplina, ele nos deu acesso aos blogs criados pelas turmas anteriores que serviram como fonte de inspiração e referência para que pudéssemos evoluir nosso trabalho a partir de uma rica base de conhecimentos. 30
  • 31. 6. PRECAUÇÕES TOMADAS PARA ASSEGURAR E CONTROLAR A QUALIDADE DO PRODUTO DE SOFTWARE A primeira medida tomada para assegurar a qualidade do produto de software foi entrevistar o cliente algumas vezes para definir a problemática e o escopo do projeto. Após documentado, isso se tornou uma base sólida a partir da qual nós desenvolvemos o projeto sem perder o foco no objetivo inicial. Com o estabelecimento da equipe e análise de seus pontos fortes e fracos, pudemos fazer um levantamento dos riscos para que traçássemos o melhor caminho durante o desenvolvimento do projeto, sempre seguindo as orientações do nosso professor e do material bibliográfico recomendado da disciplina. Apesar da pouca experiência prática em desenvolvimento de software, pudemos aproveitar conhecimentos adquiridos em outras disciplinas da graduação como forma de complementar e aprimorar o presente trabalho. Ao longo da evolução, continuamos consultando nossas bases de conhecimento para ter certeza que o que estávamos construindo se alinhava com a proposta inicial e cumpria as expectativas dentro do prazo estabelecido. 31
  • 32. 7. REFERÊNCIAS BIBLIOGRÁFICAS AS atribuições do gerente de projeto. ​Gerenciar Projetos. Disponível em <​http://gerenciarprojetos.com.br/as-atribuicoes-do-gerente-de-projeto/>. Acesso em: 19 de fev. de 2020. FRANZ, Natália. Guia de profissões: analista de testes. ​Tutano​. Disponível em <​http://tutano.trampos.co/11576-guia-profissoes-analista-testes/>. Acesso em: 19 de fev. de 2020. GOOGLE Drive. ​Wikipédia​. Disponível em <https://pt.wikipedia.org/wiki/Google_Drive>. Acesso em: 19 de fev. de 2020. KIDD, Jeff; LORENZ, Mark. ​Object-Oriented Software Metrics. 1. Ed. Londres: Pearson Technology Group, 1994. NASCIMENTO, Rogério P C do. Lecture 3 :: Análise e Gestão de Risco. ​Edu-blog > GP | UFS::2019​, 2019. Disponível em: <https://gp-ufs.blogspot.com/2019/11/lecture-3-analise-e-gestao-de-risco.html>. Acesso em: 12 de fev. de 2020. PRESSMAN, R. S. ​Engenharia de software: uma abordagem profissional. 7. ed. São Paulo: Pearson Makron Books, 2011. PUTNAM JR., Larry. Saiba por que a estimativa de software está mais importante do que nunca. ​Infoq​, 2018. Disponível em <https://www.infoq.com/br/articles/software-estimation-important​/​>. Acesso em: 09 de mar. de 2020. TRELLO. ​Wikipédia​. Disponível em <https://pt.wikipedia.org/wiki/Trello>. Acesso em: 19 de fev. de 2020. WHATSAPP. ​Wikipédia​. Disponível em <https://pt.wikipedia.org/wiki/WhatsApp>. Acesso em: 19 de fev. de 2020. 32