0% acharam este documento útil (0 voto)
3 visualizações7 páginas

Gerenciamento de Projetos em Software

O documento aborda os fundamentos da engenharia de software, enfatizando a importância do gerenciamento de projetos, riscos e manutenção. Discute critérios de sucesso, desafios específicos e atividades fundamentais no gerenciamento de projetos de software, além de detalhar o processo de gerenciamento de riscos e a evolução do software. Também explora a qualidade do software e as etapas e técnicas de teste, destacando a necessidade de garantir a conformidade com requisitos e a identificação de defeitos ao longo do desenvolvimento.

Enviado por

oibomdia313
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações7 páginas

Gerenciamento de Projetos em Software

O documento aborda os fundamentos da engenharia de software, enfatizando a importância do gerenciamento de projetos, riscos e manutenção. Discute critérios de sucesso, desafios específicos e atividades fundamentais no gerenciamento de projetos de software, além de detalhar o processo de gerenciamento de riscos e a evolução do software. Também explora a qualidade do software e as etapas e técnicas de teste, destacando a necessidade de garantir a conformidade com requisitos e a identificação de defeitos ao longo do desenvolvimento.

Enviado por

oibomdia313
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Resumo

Fundamentos da Engenharia de Software

Introdução ao Gerenciamento de Projetos


O gerenciamento de projetos é crucial para garantir que os projetos de software
sejam entregues no prazo, dentro do orçamento e atendam às expectativas dos
clientes.

Critérios de Sucesso no Gerenciamento de Projetos:


- Entrega no prazo.
- Manutenção dos custos dentro do orçamento.
- Satisfação das expectativas dos clientes.
- Manutenção de uma equipe de desenvolvimento eficiente.

Desafios Específicos do Gerenciamento de Projetos de Software:


1. Intangibilidade do produto: Dificuldade em visualizar o progresso.
2. Projetos únicos: Cada projeto de software é exclusivo e sujeito a mudanças
tecnológicas rápidas.
3. Variabilidade dos processos: Diferenças significativas nos processos de
desenvolvimento entre empresas.

Fatores que Afetam o Gerenciamento de Projetos de Software:


1. Tamanho da empresa: Pequenas empresas têm menos burocracia.
2. Tipo de cliente: Interno versus externo e as implicações na comunicação e
burocracia.
3. Tamanho do software: Impacto na estrutura da equipe e na comunicação.
4. Tipo de software: Requisitos formais de registro e justificativa em projetos
críticos.
5. Cultura organizacional: Influência da cultura interna na gestão de projetos.
6. Processo de desenvolvimento: Diferença entre processos ágeis e formais.

Atividades Fundamentais no Gerenciamento de Projetos:


1. Planejamento de projetos: Estimativas, agendamentos e supervisão do
trabalho.
2. Gerenciamento de riscos: Avaliação e monitoramento de riscos.
3. Gerenciamento de pessoas: Seleção e gestão da equipe.
4. Preparação de relatórios: Comunicação do progresso para clientes e gerentes.
5. Elaboração de propostas: Desenvolvimento de propostas para ganhar
contratos.

Gerenciamento de Riscos
O gerenciamento de riscos é apresentado como uma tarefa crítica para os
gerentes de projetos, com foco na previsão e mitigação de riscos que podem
afetar o cronograma, a qualidade do software e a organização.

Categorias de Riscos:
1. Riscos de Projeto: Afetam o cronograma ou os recursos, como a perda de um
membro experiente da equipe.
2. Riscos de Produto: Afetam a qualidade ou desempenho do software, como um
componente adquirido que não funciona como esperado.
3. Riscos de Negócio: Afetam a organização, como a entrada de um concorrente
no mercado.

Exemplos de Riscos Comuns:


- Rotatividade de pessoal: Membro experiente sai do projeto.
- Mudança de gestão: Novas prioridades podem ser introduzidas.
- Indisponibilidade de hardware: Atraso na entrega do hardware necessário.
- Mudança nos requisitos: Mais mudanças do que o previsto.
- Atrasos na especificação: Interfaces essenciais não estão prontas no prazo.
- Subestimação do tamanho do sistema: O sistema é maior do que o estimado.
- Baixo desempenho das ferramentas de software: Ferramentas não têm o
desempenho esperado.
- Mudança tecnológica: Tecnologia subjacente é superada por nova tecnologia.
- Concorrência de produtos: Produto concorrente lançado antes do sistema estar
pronto.

Processo de Gerenciamento de Riscos:


1. Identificação dos Riscos: Identificar possíveis riscos.
2. Análise de Riscos: Avaliar as probabilidades e consequências.
3. Planejamento de Riscos: Desenvolver planos para evitar ou mitigar os riscos.
4. Monitoramento de Riscos: Avaliar regularmente os riscos e os planos de
mitigação.

Documentação e Monitoramento:
- Grandes Projetos: Necessidade de documentar os riscos em um plano de
gerenciamento de riscos, incluindo a análise e os planos de mitigação.
- Processo Iterativo: O gerenciamento de riscos é contínuo, com monitoramento
e atualização constante das informações e prioridades dos riscos.

Gerenciamento de Riscos em Desenvolvimento Ágil:


- Menos Formal: Menos documentação formal, com ênfase na comunicação
informal.
- Redução de Alguns Riscos: Mudanças de requisitos são menos problemáticas.
- Dependência de Pessoas: A rotatividade de pessoal pode ter um impacto
significativo.

Manutenção e Evolução do Software


Introdução
- A evolução é uma constante em todos os aspectos da vida, incluindo os
sistemas de software.
- A evolução de software não se limita à correção de defeitos, mas inclui
adaptações, inclusão de novas características e a gestão de mudanças.
- A correta gestão das mudanças é essencial para o sucesso das atividades de
manutenção.

Evolução de Software
- Metodologia de criação de software: A utilização de metodologias adequadas e
a capacitação contínua da equipe são cruciais para a satisfação dos requisitos
do cliente.
- Manutenção: É necessária devido à descoberta de defeitos, mudanças no
ecossistema ou mudanças nos requisitos do cliente.
- Modelo evolutivo em espiral: Ilustra que o processo de evolução inclui a criação
de novas versões, com atividades de requisitos, projeto, implementação e testes
presentes.

Tipos de Manutenção
1. Manutenção corretiva: Modificações reativas para corrigir problemas após a
entrega do software.
2. Manutenção adaptativa: Modificações para manter o software utilizável em um
ambiente alterado.
3. Manutenção perfectiva: Melhorias no desempenho e manutenibilidade do
software.
4. Manutenção preventiva: Modificações para reparar falhas latentes antes que
se tornem efetivas.

Manutenibilidade
- A facilidade com que um software pode ser modificado para satisfazer novos
requisitos.
- Medida pelo tempo médio gasto para realizar reparos, envolvendo várias
etapas desde a análise do problema até a documentação das mudanças.

Gestão de Mudanças
- Necessidade de manutenção: Avaliação da necessidade de manutenção
comparando tempo e esforço com um novo desenvolvimento.
- Evolução vs. declínio: Avaliação do custo e benefício de continuar a evolução
de um sistema versus sua substituição.
- Leis de Lehman:
1. Mudança contínua: Programas devem passar por mudanças contínuas ou se
tornarão menos úteis.
2. Aumento de complexidade: Modificações contínuas aumentam a
complexidade do sistema.
3. Autorregulação: O processo de evolução do software é autorregulado.

Desafios na Gestão de Manutenção


- Interrupções no sistema: Necessidade de equilibrar a disponibilidade do
sistema com a necessidade de manutenção.
- Conhecimento da equipe: Desafios relacionados à falta de conhecimento sobre
o sistema por parte da equipe de desenvolvimento.
- Recursos para manutenção vs. novos desenvolvimentos: Gestão de recursos
entre a evolução dos sistemas existentes e a criação de novos.

1. Testes de Software:
- O teste de software é descrito como um processo sequencial de ações para
encontrar problemas no software, visando aumentar a percepção de qualidade
e garantir que o produto atenda às necessidades do usuário.
- São mencionados quatro tipos de testes: teste de unidade, teste de integração,
teste de sistema e teste de usuário, cada um com seu papel na validação do
software.

2. Etapas do Processo de Teste:


- Planejamento: Nesta etapa, são tomadas decisões fundamentais para o
restante do processo de teste, como quem executa os testes, o período
disponível, os recursos a serem utilizados e as técnicas a serem aplicadas.
- Projeto de Casos de Teste: Definição dos casos de teste a serem utilizados nos
testes, enfatizando a importância de casos de teste de qualidade para revelar
defeitos no código.
- Execução do Teste: Aplicação dos testes definidos na fase de planejamento,
com os casos de teste definidos anteriormente.
- Análise dos Resultados: Verificação se os testes retornaram resultados
satisfatórios ou se precisam ser refeitos, com outros casos de teste ou outra
técnica.

3. Estratégia de Testes:
- Relaciona os tipos de teste com as etapas do ciclo de vida do software,
conforme ilustrado na figura 1.
- Destaca a importância do teste de unidade, teste de integração, teste de
validação e teste de sistema, concentrando a verificação em diferentes unidades
do projeto de software.
4. Técnicas de Teste:
- Teste Funcional: Baseia-se nas especificações do software para derivar os
requisitos de teste, realizando testes diretamente nas funções do programa para
verificar se o algoritmo produz os resultados esperados.
- Teste Estrutural: Baseia-se na arquitetura interna do programa, verificando a
execução das partes essenciais do programa e conhecendo a estrutura interna
do código.

5. Elementos dos Testes:


- Caso de Teste: Conceituado como o par formado por uma entrada no programa
e a correspondente saída esperada, planejada de acordo com os requisitos do
sistema.
- Teste de Usuário: Realizado pelo usuário para validar o produto, equiparando-
se ao teste de sistema, porém executado pelo usuário.

Introdução ao Teste de Software


- Definição de engenharia de software: um conjunto de princípios, métodos e
técnicas que tratam o software como produto de engenharia que requer
planejamento, projeto, implementação e manutenção.

- Qualidade de Software
- Conformidade com requisitos funcionais e de desempenho, padrões de
desenvolvimento documentados, e características implícitas esperadas de todo
software profissionalmente desenvolvido.
- Corretitude, confiabilidade e testabilidade como aspectos importantes da
qualidade de software.

- Garantia de Qualidade de Software (SQA)


- Conjunto de atividades técnicas aplicadas durante todo o processo de
desenvolvimento.
- Validação: Assegurar que o produto final corresponda aos requisitos do
software.
- Defeitos no Processo de Desenvolvimento
- Quanto antes a presença do defeito for revelada, menor o custo de correção do
defeito e maior a probabilidade de corrigi-lo corretamente.

- Teste de Software
- Fases de teste, incluindo teste de unidade, teste de integração e teste de
sistema.
- Identificação de erros de lógica e implementação em cada módulo do software
separadamente no teste de unidade.
- Identificação de erros associados às interfaces entre os módulos do software
no teste de integração.
- Identificação de erros no comportamento global do sistema no teste de sistema.

- Técnicas e Critérios de Teste


- Maneira sistemática e planejada para conduzir os testes.
- Conjunto de casos de teste e suas características desejáveis.
- Análise de resultados como parte das etapas do teste.

- Garantia de Qualidade de Software


- Solução: introduzir atividades de verificação, validação e teste ao longo de todo
o ciclo de desenvolvimento para solucionar problemas.

- Desafios do Teste de Software


- Dificuldade do teste ser tão difícil quanto o projeto do próprio produto a ser
testado.
- Poucos programadores/analistas gostam de teste e, menos ainda, do projeto
de casos de teste.

Você também pode gostar