SlideShare uma empresa Scribd logo
Professor Roberto Nunes
Gerenciamento e Qualidade de
Software
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Como gerenciar um projeto de software
Um projeto de software é uma tarefa específica que possui começo,
meio e fim.
Os cinco passos para gerenciar um projeto de software: definição do
escopo, elaboração de estratégias, integração de colaboradores,
monitoramento e encerramento.
Saber como gerenciar um projeto de software é uma das exigências
principais dentro do ciclo de desenvolvimento.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Projeto de Software
Um projeto de software é uma tarefa específica que possui começo,
meio e fim. Ou seja, não são as atividades que fazem parte de uma
rotina fixa da uma empresa.
O projeto de software é a etapa que interliga os requisitos do cliente
com a real disponibilidade de implementação.
Saber como gerenciar um projeto de software, portanto, é uma das
etapas fundamentais dentro do ciclo de desenvolvimento de software.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Como gerenciar um projeto de software em 5 passos
Gerenciar um projeto de software é conseguir trabalhar com as
melhores possibilidades respeitando três limites:
• Tempo;
• Custo/Orçamento e
• Qualidade.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Como gerenciar um projeto de software em 5 passos
As metodologias mais utilizadas para gerenciar um projeto de software
são:
• Agile;
• Waterfall (cascata);
• Scrum;
• Kanban;
• Lean Development;
• Feature-driven development;
• Etc.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
De maneira geral, nós costumamos subdividir o gerenciamento de
projetos em duas categorias:
Tradicional, que consiste em estipular e realizar as tarefas em forma de
cascata. Ou seja, uma etapa só é desenvolvida quando a anterior for
finalizada.
Gerenciamento de projetos ágil, o desenvolvimento, neste caso, é
iterativo e incremental. Isso quer dizer, em ciclos curtos de
desenvolvimento (sprints) e que são agregados já finalizados (prontos
para serem usados pelo usuário final) ao corpo do projeto.
Para facilitar o gerenciamento de um projeto de software existem 5
etapas básicas que podem ser utilizadas independente de qual
metodologia escolhida.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Passo 1 – Definição do escopo e autorização do projeto
O primeiro passo, portanto, de como gerenciar um projeto de software
é definir o escopo, considerando o prazo do projeto, orçamento e níveis
de qualidade. Para isso é fundamental estabelecer os requisitos de
software.
Esta etapa estabelece o norte a ser seguido pelas demais. Ou seja, o que
precisamos estabelecer para que o projeto atinja as definições do
cliente, respeitando os limites citados acima.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Passo 2 – Elaboração das estratégias para atingir os objetivos
estabelecidos
Depois de responder o porquê do projeto, é o momento de sabermos
como chegar lá. Nesta etapa existem alguns pontos delicados, como as
ferramentas que serão utilizadas no gerenciamento de projeto de
software, equipe responsável, estratégias, sistemas, etc.
Não existe um projeto de software eficiente sem uma boa ferramenta
de gerenciamento. Ou seja, hoje, você não consegue gerenciar um
projeto de software sem dispor de uma boa tecnologia.
As ferramentas mais utilizadas são:
• Scrum;
• XP: Extreme Programming e
• Kanban.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Passo 3 – Fase de integração entre os colaboradores, estratégias e
recursos para executar o projeto
Esse é, sem dúvida, um dos passos mais complexos de como gerenciar
um projeto de software.
A fase 3 é a de alinhamento, ou seja, dado que os objetivos, métodos,
capital e equipe foram escolhidos é preciso que todos estejam
integrados para a execução do projeto.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Passo 4 – Monitoramento e Controle
É nesta etapa do nosso guia de como gerenciar um projeto de software
que verificamos se as estratégias escolhidas estão caminhando de
acordo com o esperado (e determinado) no escopo do projeto.
Para isso o gestor de projeto deve analisar indicadores e parâmetros
estabelecidos no planejamento.
No caso específico do gerenciamento de projetos de softwares a fase de
testes e simulações é indispensável.
Desta forma é possível verificar os resultados e reformular algumas
estratégias, caso elas não estejam de acordo com o esperado.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Passo 5 – Como gerenciar um projeto de software: Encerramento
O encerramento do projeto no prazo acordado entre o cliente e a
empresa.
Sim, é importante ressaltar essa questão. Afinal, se você não souber
como gerenciar um projeto de software muito provavelmente tem
pecado em algum dos três pilares citados anteriormente.
Mesmo que a sua equipe cumpra os prazos solicitados pelo cliente, sem
um gerenciamento, ou a qualidade estará aquém, ou o custo além.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Plano de Teste
Um ‘Mapa’ Essencial para Teste de Software
Uma atividade essencial no desenvolvimento de todo e qualquer
projeto é o planejamento.
Um plano tem o papel semelhante ao de um ‘mapa’.
Sem um mapa, um plano ou qualquer outra fonte de informação similar,
você não conhecerá seus objetivos, nem aonde quer chegar e jamais
terá a certeza de ter alcançado sua meta.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Entender o propósito do planejamento é de suma importância a fim de
monitorar a execução de atividades, sendo também importante
conhecer o papel dos riscos no planejamento, bem como diferenciar
estratégias de planos.
Planejamento engloba três atividades principais:
1. Definir um cronograma de atividades: estabelecer as atividades que
devem ser realizadas, as etapas a serem seguidas e a ordem cronológica
de execução;
2. Fazer alocação de recursos: definir quem realiza as atividades e
quais ferramentas/recursos a serem utilizados;
3. Definir marcos de projeto: estabelecer os marcos, ou milestones, a
serem alcançados com objetivo de se fazer o acompanhamento.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
O planejamento é acompanhado da atividade de monitoração ou
supervisão que visa avaliar se o progresso que tem sido alcançado está
em conformidade com o que foi estabelecido no plano ou, em outras
palavras, responder a questão: quão bem estamos indo no projeto?
Dentro do contexto do desenvolvimento de software, são necessários
vários documentos como, por exemplo, plano de projeto, documento de
requisitos e plano de teste.
O foco é o plano de teste. Trata-se de um documento ou mapa no qual
se definem escopo e objetivos, além de requisitos, estratégias e
recursos a serem empregados nas atividades de testes de software.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Teste de Software
Teste de software é uma das atividades do processo de
desenvolvimento de sistema de software que visa executar um
programa de modo sistemático com o objetivo de encontrar falhas.
Perceba que isto requer verificação e validação de software.
Nesse sentido, definir quando as atividades de verificação e validação
iniciam e terminam, como os atributos de qualidade serão avaliados e
como os releases do software serão controlados, são questões que
devem ser acompanhadas ao longo do processo de software.
Vale ressaltar que teste não deve ser a última atividade do processo de
desenvolvimento de software.
Ela ocorre durante todo o processo, como exemplificado na visão geral
do processo RUP (Rational Unified Process) mostrado na Figura.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
E, além de encontrar falhas, testes objetivam aumentar a confiabilidade
de um sistema de software, isto é, aumentar a probabilidade de que um
sistema continuará funcionando sem falhas durante um período de
tempo.
Embora seja desejável testar um sistema por completo, deve-se ter em
mente que a atividade de teste assegura apenas encontrar falhas se
ela(s) existirem, mas não asseguram sua ausência.
Portanto, as atividades devem ser disciplinadas a fim de identificar a
maioria dos erros existentes.
Note que realizar os testes de software implica em responder às
questões:
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
E, além de encontrar falhas, testes objetivam aumentar a confiabilidade
de um sistema de software, isto é, aumentar a probabilidade de que um
sistema continuará funcionando sem falhas durante um período de
tempo.
Embora seja desejável testar um sistema por completo, deve-se ter em
mente que a atividade de teste assegura apenas encontrar falhas se
ela(s) existirem, mas não asseguram sua ausência.
Portanto, as atividades devem ser disciplinadas a fim de identificar a
maioria dos erros existentes.
Realizar os testes de software implica em responder às questões:
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
1. Quais atributos da qualidade deverão ser testados?
2. Quem realizará os testes?
3. Quais recursos serão utilizados?
4. Quais as dependências entre os atributos de qualidade?
5. Quais as dependências entre as atividades de desenvolvimento?
6. Como o processo e a qualidade do sistema de software serão
acompanhados?
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Plano de Teste
O plano de teste é um dos documentos produzidos na condução de um
projeto. Ele funciona como:
• Um ‘integrador’ entre diversas atividades de testes no projeto;
• Mecanismo de comunicação para os stakeholders ;
• Guia para execução e controle das atividades de testes.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
O plano de teste, que pode ser elaborado pelo gerente de projeto ou
gerente de testes, visa planejar as atividades a serem realizadas, definir
os métodos a serem empregados, planejar a capacidade necessária,
estabelecer métricas e formas de acompanhamento do processo. Nesse
sentido, deve conter:
• Introdução com identificação do projeto (definições, abreviações,
referências), definição de escopo e objetivos;
• Conjunto de requisitos a serem testados;
• Tipos de testes a serem realizados e ferramentas utilizadas;
• Recursos utilizados nos testes;
• Cronograma de atividades (e definição de marcos de projeto).
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Em outras palavras, um plano de teste deve definir:
1. Os itens a serem testados: o escopo e objetivos do plano devem
ser estabelecidos no início do projeto.
2. Atividades e recursos a serem empregados: as estratégias de testes
e recursos utilizados devem ser definidos, bem como toda e qualquer
restrição imposta sobre as atividades e/ou recursos.
3. Os tipos de testes a serem realizados e ferramentas empregadas:
os tipos de testes e a ordem cronológica de sua ocorrência são
estabelecidos no plano.
4. Critérios para avaliar os resultados obtidos: métricas devem ser
definidas para acompanhar os resultados alcançados.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Exemplificando o Plano de Teste
O plano de teste contém um conjunto de informações que permite ao
gerente de projeto não apenas coordenar as atividades de testes de um
projeto, mas também monitorar seu progresso e verificar se o
executado está em conformidade com o planejado.
Existe uma relação dos itens consideradas imprescindíveis em um plano
de teste.
A relação de itens não pressupõe a intenção de ser completo, mas de
apontar os itens considerados como obrigatórios num plano de teste de
uma instituição.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Introdução
Contém uma identificação do projeto, descrição dos objetivos do
documento, o público ao qual ele se destina e escopo do projeto a ser
desenvolvido.
Pode adicionalmente conter termos e abreviações usadas, além de
informar como o plano deve evoluir.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Requisitos a serem testados
Esta seção descreve em linhas gerais o conjunto de requisitos a serem
testados no projeto a ser desenvolvido, comunicando o que deve ser
verificado.
Exemplos de requisitos a serem testados são: desempenho, segurança,
interface de usuário, controle de acesso, funcionalidades.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Estratégias e ferramentas de teste
Apresenta um conjunto de tipos de testes a serem realizados,
respectivas técnicas empregadas e critério de finalização de teste.
Além disso, é listado o conjunto de ferramentas utilizadas.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Equipe e infraestrutura
Contém descrição da equipe e da infra-estrutura utilizada para o
desenvolvimento das atividades de testes, incluindo: pessoal,
equipamentos, software de apoio, materiais, dentre outros.
Isto visa garantir uma estrutura adequada para a execução das
atividades de testes previstas no plano.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Cronograma de atividades
Contém uma descrição de marcos importantes (milestones) das
atividades (incluindo as datas de início e fim da atividade).
Apenas marcos relevantes devem ser listados, ou seja, aqueles que
contribuirão nas atividades de testes.
Por exemplo: projeto de testes, execução de testes ou avaliação de
testes.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Documentação complementar
Apresenta-se uma relação dos documentos pertinentes ao projeto.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Verificação e validação
Asseguram que o software cumpra com suas especificações e atenda às
necessidades dos usuários.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Objetivos
• Introduzir verificação e validação de software.
• Descrever o processo de inspeção de programa
• Explicar análise estática.
• Introduzir o processo de desenvolvimento de software Cleanroom
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Verificação vs validação
Verificação:
”Estamos construindo certo o produto?"
O software cumpre com suas especificações
Validação:
”Estamos construindo o produto certo?"
O software deve estar de acordo com o que o usuário deseja.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
O processo V & V
É um processo que engloba todo o ciclo de vida - V & V deve ser
aplicado em cada estágio no processo de desenvolvimento.
Tem dois objetivos principais:
• A descoberta de defeitos no sistema
• Assegurar se o sistema é ou não utilizável em uma situação
operacional.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Verificação estática e dinâmica
Inspeções de software - preocupadas com a análise estática das
representações do sistema para descobrir problemas (verificação
estática)
• pode ser complementadas por alguma análise automática do texto
de origem de um sistema ou dos documentos associados.
Teste de software - preocupado com a execução e observação do
comportamento do produto (verificação dinâmica).
• O sistema é executado com dados de teste e o seu comportamento
operacional é observado.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Teste de programas
• Pode revelar a presença de erros e NÃO a ausência
• Um teste bem sucedido é um teste que descobre um ou mais erros.
• É a única técnica de validação para requisitos não funcionais
(desempenho, confiabilidade)
• Deve ser usado em conjunto com a verificação estática para uma
cobertura total das atividades de V&V
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Tipos de teste
Os testes de defeito
• Testes projetados para descobrir defeitos no sistema.
• Um teste bem sucedido é aquele que revela a presença de defeitos
em um sistema.
Testes estatísticos
• Usado para testar o desempenho e a confiabilidade do programa.
• Confiabilidade: número de falhas no sistema, etc
• Desempenho Tempo de execução, tempo de resposta, etc.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Planejamento de V & V
• Planejamento cuidadoso é necessário para obter sucesso nos
processos de inspeção e teste.
• O planejamento deve iniciar no começo do processo de
desenvolvimento.
• O processo de planejamento deve decidir sobre o equilíbrio entre as
abordagens estáticas e dinâmicas.
• O planejamento de testes se ocupa em estabelecer os padrões para o
processo de testes.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Inspeções de software
• Envolve pessoas examinando uma representação de software para
descobrir anomalias e defeitos.
• Não há a necessidade de execução do sistema, assim pode ser usada
antes da implementação.
• Pode ser aplicada a qualquer representação do sistema (requisitos,
projeto, dados de teste, etc.)
• Técnica muito eficaz para a descoberta de erros.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Sucessos da inspeção
• Muitos defeitos diferentes podem ser descobertos em uma única
inspeção. No teste, um defeito pode mascarar outros, assim várias
execuções são necessárias.
• A reutilização do conhecimento do domínio e da programação é
benéfica, uma vez que revisores provavelmente já viram os tipos de
erros que ocorrem com frequência em linguagens de programação
específicas e em determinados tipos de aplicações.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Inspeções e testes
• Inspeções e testes são técnicas de verificação complementares.
• Ambas devem ser utilizadas no processo de V&V.
• Inspeções podem verificar a conformidade com uma especificação
mas não a conformidade com os reais requisitos do usuário.
• Inspeções não podem verificar as características não funcionais tais
como desempenho, usabilidade, etc.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Inspeções de programa
• Revisão cuidadosa, linha por linha, do código fonte do programa.
• Objetivo é a DETECÇÃO de defeitos (não correção)
• Defeitos podem ser erros lógicos, anomalias no código que podem
indicar uma condição errônea (por ex. uma variável não inicializada)
ou a não conformidade com padrões organizacionais.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Pré-condições para a inspeção de programa
• Uma especificação precisa deve estar disponível.
• Os membros da equipe de inspeção devem estar familiarizados com
os padrões organizacionais.
• Código sintaticamente correto deve estar disponível.
• Uma lista de erros deve ser preparada
• Gerente deve aceitar que a inspeção aumentara os custos no começo
do processo de software.
ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE
Checklist para inspeção de programas
• Lista de erros comuns deve ser usada para dirigir a inspeção.
• Lista de erros são dependentes da linguagem de programação
• Quanto mais “fraca” é a checagem de tipos pela linguagem, maior é a
lista de erros mais comuns.
• Exemplos: inicialização, nomeação de constantes, término de laços,
limites de vetores, etc.
Obrigado!
Bons Estudos.

Mais conteúdo relacionado

Mais procurados

A introducao a_manutencao
A introducao a_manutencaoA introducao a_manutencao
A introducao a_manutencao
RENATOGONALVESFERREI
 
Modelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projetoModelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projeto
Fernando Palma
 
Gestão da qualidade
Gestão da qualidadeGestão da qualidade
Gestão da qualidade
Alexandre Porto Araujo
 
Gestão da qualidade: operações de produção e de serviços
Gestão da qualidade: operações de produção e de serviçosGestão da qualidade: operações de produção e de serviços
Gestão da qualidade: operações de produção e de serviços
BWS Contabilidade, Consultoria e Perícias
 
Gurus da Qualidade
Gurus da QualidadeGurus da Qualidade
Gurus da Qualidade
Rubia Soraya Rabello
 
Mpsbr
MpsbrMpsbr
Gerenciamento de Projetos de TI
Gerenciamento de Projetos de TIGerenciamento de Projetos de TI
Gerenciamento de Projetos de TI
Eliseu Castelo
 
Manutenção
ManutençãoManutenção
Processo de certificação CMMI
Processo de certificação CMMIProcesso de certificação CMMI
Processo de certificação CMMI
thomasdacosta
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
Jorge Ávila Miranda
 
Aula 01 - Plano de Cargos e Salários
Aula 01 - Plano de Cargos e SaláriosAula 01 - Plano de Cargos e Salários
Aula 01 - Plano de Cargos e Salários
Mauricio Valadão
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
Rudson Kiyoshi Souza Carvalho
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Leinylson Fontinele
 
Apresentação pdca
Apresentação pdcaApresentação pdca
Apresentação pdca
emc5714
 
Plano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemploPlano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemplo
Rudileine Fonseca
 
Apostila CRONOANÁLISE
Apostila CRONOANÁLISEApostila CRONOANÁLISE
Apostila CRONOANÁLISE
Ujihara, Hélio M
 
Plano De Melhoria
Plano De MelhoriaPlano De Melhoria
Plano De Melhoria
José Pedro Teixeira
 
Gestão da qualidade
Gestão da qualidadeGestão da qualidade
Gestão da qualidade
Carlos Sousa
 
Carregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produçãoCarregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produção
Mauro Enrique
 
Gerenciamento de Projetos
Gerenciamento de ProjetosGerenciamento de Projetos
Gerenciamento de Projetos
Marcos Abreu
 

Mais procurados (20)

A introducao a_manutencao
A introducao a_manutencaoA introducao a_manutencao
A introducao a_manutencao
 
Modelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projetoModelo de Declaracao do escopo do projeto
Modelo de Declaracao do escopo do projeto
 
Gestão da qualidade
Gestão da qualidadeGestão da qualidade
Gestão da qualidade
 
Gestão da qualidade: operações de produção e de serviços
Gestão da qualidade: operações de produção e de serviçosGestão da qualidade: operações de produção e de serviços
Gestão da qualidade: operações de produção e de serviços
 
Gurus da Qualidade
Gurus da QualidadeGurus da Qualidade
Gurus da Qualidade
 
Mpsbr
MpsbrMpsbr
Mpsbr
 
Gerenciamento de Projetos de TI
Gerenciamento de Projetos de TIGerenciamento de Projetos de TI
Gerenciamento de Projetos de TI
 
Manutenção
ManutençãoManutenção
Manutenção
 
Processo de certificação CMMI
Processo de certificação CMMIProcesso de certificação CMMI
Processo de certificação CMMI
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Aula 01 - Plano de Cargos e Salários
Aula 01 - Plano de Cargos e SaláriosAula 01 - Plano de Cargos e Salários
Aula 01 - Plano de Cargos e Salários
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Apresentação pdca
Apresentação pdcaApresentação pdca
Apresentação pdca
 
Plano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemploPlano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemplo
 
Apostila CRONOANÁLISE
Apostila CRONOANÁLISEApostila CRONOANÁLISE
Apostila CRONOANÁLISE
 
Plano De Melhoria
Plano De MelhoriaPlano De Melhoria
Plano De Melhoria
 
Gestão da qualidade
Gestão da qualidadeGestão da qualidade
Gestão da qualidade
 
Carregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produçãoCarregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produção
 
Gerenciamento de Projetos
Gerenciamento de ProjetosGerenciamento de Projetos
Gerenciamento de Projetos
 

Semelhante a Gerenciamento da Qualidade de Software 5.pptx

PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL GPROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
jrnavarro
 
Aula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptxAula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptx
AlexandreLisboadaSil
 
Métodos ágeis de desenvolvimento
Métodos ágeis de desenvolvimentoMétodos ágeis de desenvolvimento
Métodos ágeis de desenvolvimento
GrupoAlves - professor
 
QUALIDADE DE SOFTWARE
QUALIDADE DE SOFTWAREQUALIDADE DE SOFTWARE
QUALIDADE DE SOFTWARE
Nilo Basílio
 
Processo 01
Processo 01Processo 01
Processo 01
guest1c7f7f
 
Mini curso aula 02
Mini curso aula 02Mini curso aula 02
Mini curso aula 02
Victor Maia Senna Delgado
 
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Artigo   asap - metodologia de gestão de projetos para implementação de pacot...Artigo   asap - metodologia de gestão de projetos para implementação de pacot...
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Garage Criativa | Garage Hub
 
Gerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptxGerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptx
Roberto Nunes
 
Modulo 2 - Execução de programas e projectos do desporto (GPPD)
Modulo 2 - Execução de programas e projectos do desporto (GPPD)Modulo 2 - Execução de programas e projectos do desporto (GPPD)
Modulo 2 - Execução de programas e projectos do desporto (GPPD)
Ana Marques
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
miroslayer
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
Carlos Henrique Martins da Silva
 
Gerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptxGerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptx
Roberto Nunes
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
Saymon Cristian Alves Oliveira
 
PDCA.pdf
PDCA.pdfPDCA.pdf
PDSI.INT- S01 Introdução a Eng Software e Processo.pdf
PDSI.INT- S01 Introdução a Eng Software e Processo.pdfPDSI.INT- S01 Introdução a Eng Software e Processo.pdf
PDSI.INT- S01 Introdução a Eng Software e Processo.pdf
pedrina4
 
[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf
[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf
[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf
JaquelineSakon
 
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloIndicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Roberto de Pinho
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
Camilo de Melo
 
Ebook-Ferramentas para Gestão da qualidade.pdf
Ebook-Ferramentas para Gestão da qualidade.pdfEbook-Ferramentas para Gestão da qualidade.pdf
Ebook-Ferramentas para Gestão da qualidade.pdf
MichellePereira97
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
crc1404
 

Semelhante a Gerenciamento da Qualidade de Software 5.pptx (20)

PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL GPROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
 
Aula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptxAula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptx
 
Métodos ágeis de desenvolvimento
Métodos ágeis de desenvolvimentoMétodos ágeis de desenvolvimento
Métodos ágeis de desenvolvimento
 
QUALIDADE DE SOFTWARE
QUALIDADE DE SOFTWAREQUALIDADE DE SOFTWARE
QUALIDADE DE SOFTWARE
 
Processo 01
Processo 01Processo 01
Processo 01
 
Mini curso aula 02
Mini curso aula 02Mini curso aula 02
Mini curso aula 02
 
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Artigo   asap - metodologia de gestão de projetos para implementação de pacot...Artigo   asap - metodologia de gestão de projetos para implementação de pacot...
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
 
Gerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptxGerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptx
 
Modulo 2 - Execução de programas e projectos do desporto (GPPD)
Modulo 2 - Execução de programas e projectos do desporto (GPPD)Modulo 2 - Execução de programas e projectos do desporto (GPPD)
Modulo 2 - Execução de programas e projectos do desporto (GPPD)
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Gerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptxGerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptx
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
 
PDCA.pdf
PDCA.pdfPDCA.pdf
PDCA.pdf
 
PDSI.INT- S01 Introdução a Eng Software e Processo.pdf
PDSI.INT- S01 Introdução a Eng Software e Processo.pdfPDSI.INT- S01 Introdução a Eng Software e Processo.pdf
PDSI.INT- S01 Introdução a Eng Software e Processo.pdf
 
[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf
[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf
[Ebook] - O guia completo e definitivo de cronograma de projetos.pdf
 
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloIndicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Ebook-Ferramentas para Gestão da qualidade.pdf
Ebook-Ferramentas para Gestão da qualidade.pdfEbook-Ferramentas para Gestão da qualidade.pdf
Ebook-Ferramentas para Gestão da qualidade.pdf
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 

Gerenciamento da Qualidade de Software 5.pptx

  • 1. Professor Roberto Nunes Gerenciamento e Qualidade de Software
  • 2. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Como gerenciar um projeto de software Um projeto de software é uma tarefa específica que possui começo, meio e fim. Os cinco passos para gerenciar um projeto de software: definição do escopo, elaboração de estratégias, integração de colaboradores, monitoramento e encerramento. Saber como gerenciar um projeto de software é uma das exigências principais dentro do ciclo de desenvolvimento.
  • 3. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Projeto de Software Um projeto de software é uma tarefa específica que possui começo, meio e fim. Ou seja, não são as atividades que fazem parte de uma rotina fixa da uma empresa. O projeto de software é a etapa que interliga os requisitos do cliente com a real disponibilidade de implementação. Saber como gerenciar um projeto de software, portanto, é uma das etapas fundamentais dentro do ciclo de desenvolvimento de software.
  • 4. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Como gerenciar um projeto de software em 5 passos Gerenciar um projeto de software é conseguir trabalhar com as melhores possibilidades respeitando três limites: • Tempo; • Custo/Orçamento e • Qualidade.
  • 5. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Como gerenciar um projeto de software em 5 passos As metodologias mais utilizadas para gerenciar um projeto de software são: • Agile; • Waterfall (cascata); • Scrum; • Kanban; • Lean Development; • Feature-driven development; • Etc.
  • 6. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE De maneira geral, nós costumamos subdividir o gerenciamento de projetos em duas categorias: Tradicional, que consiste em estipular e realizar as tarefas em forma de cascata. Ou seja, uma etapa só é desenvolvida quando a anterior for finalizada. Gerenciamento de projetos ágil, o desenvolvimento, neste caso, é iterativo e incremental. Isso quer dizer, em ciclos curtos de desenvolvimento (sprints) e que são agregados já finalizados (prontos para serem usados pelo usuário final) ao corpo do projeto. Para facilitar o gerenciamento de um projeto de software existem 5 etapas básicas que podem ser utilizadas independente de qual metodologia escolhida.
  • 7. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Passo 1 – Definição do escopo e autorização do projeto O primeiro passo, portanto, de como gerenciar um projeto de software é definir o escopo, considerando o prazo do projeto, orçamento e níveis de qualidade. Para isso é fundamental estabelecer os requisitos de software. Esta etapa estabelece o norte a ser seguido pelas demais. Ou seja, o que precisamos estabelecer para que o projeto atinja as definições do cliente, respeitando os limites citados acima.
  • 8. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Passo 2 – Elaboração das estratégias para atingir os objetivos estabelecidos Depois de responder o porquê do projeto, é o momento de sabermos como chegar lá. Nesta etapa existem alguns pontos delicados, como as ferramentas que serão utilizadas no gerenciamento de projeto de software, equipe responsável, estratégias, sistemas, etc. Não existe um projeto de software eficiente sem uma boa ferramenta de gerenciamento. Ou seja, hoje, você não consegue gerenciar um projeto de software sem dispor de uma boa tecnologia. As ferramentas mais utilizadas são: • Scrum; • XP: Extreme Programming e • Kanban.
  • 9. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Passo 3 – Fase de integração entre os colaboradores, estratégias e recursos para executar o projeto Esse é, sem dúvida, um dos passos mais complexos de como gerenciar um projeto de software. A fase 3 é a de alinhamento, ou seja, dado que os objetivos, métodos, capital e equipe foram escolhidos é preciso que todos estejam integrados para a execução do projeto.
  • 10. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Passo 4 – Monitoramento e Controle É nesta etapa do nosso guia de como gerenciar um projeto de software que verificamos se as estratégias escolhidas estão caminhando de acordo com o esperado (e determinado) no escopo do projeto. Para isso o gestor de projeto deve analisar indicadores e parâmetros estabelecidos no planejamento. No caso específico do gerenciamento de projetos de softwares a fase de testes e simulações é indispensável. Desta forma é possível verificar os resultados e reformular algumas estratégias, caso elas não estejam de acordo com o esperado.
  • 11. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Passo 5 – Como gerenciar um projeto de software: Encerramento O encerramento do projeto no prazo acordado entre o cliente e a empresa. Sim, é importante ressaltar essa questão. Afinal, se você não souber como gerenciar um projeto de software muito provavelmente tem pecado em algum dos três pilares citados anteriormente. Mesmo que a sua equipe cumpra os prazos solicitados pelo cliente, sem um gerenciamento, ou a qualidade estará aquém, ou o custo além.
  • 12. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Plano de Teste Um ‘Mapa’ Essencial para Teste de Software Uma atividade essencial no desenvolvimento de todo e qualquer projeto é o planejamento. Um plano tem o papel semelhante ao de um ‘mapa’. Sem um mapa, um plano ou qualquer outra fonte de informação similar, você não conhecerá seus objetivos, nem aonde quer chegar e jamais terá a certeza de ter alcançado sua meta.
  • 13. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Entender o propósito do planejamento é de suma importância a fim de monitorar a execução de atividades, sendo também importante conhecer o papel dos riscos no planejamento, bem como diferenciar estratégias de planos. Planejamento engloba três atividades principais: 1. Definir um cronograma de atividades: estabelecer as atividades que devem ser realizadas, as etapas a serem seguidas e a ordem cronológica de execução; 2. Fazer alocação de recursos: definir quem realiza as atividades e quais ferramentas/recursos a serem utilizados; 3. Definir marcos de projeto: estabelecer os marcos, ou milestones, a serem alcançados com objetivo de se fazer o acompanhamento.
  • 14. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE O planejamento é acompanhado da atividade de monitoração ou supervisão que visa avaliar se o progresso que tem sido alcançado está em conformidade com o que foi estabelecido no plano ou, em outras palavras, responder a questão: quão bem estamos indo no projeto? Dentro do contexto do desenvolvimento de software, são necessários vários documentos como, por exemplo, plano de projeto, documento de requisitos e plano de teste. O foco é o plano de teste. Trata-se de um documento ou mapa no qual se definem escopo e objetivos, além de requisitos, estratégias e recursos a serem empregados nas atividades de testes de software.
  • 15. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Teste de Software Teste de software é uma das atividades do processo de desenvolvimento de sistema de software que visa executar um programa de modo sistemático com o objetivo de encontrar falhas. Perceba que isto requer verificação e validação de software. Nesse sentido, definir quando as atividades de verificação e validação iniciam e terminam, como os atributos de qualidade serão avaliados e como os releases do software serão controlados, são questões que devem ser acompanhadas ao longo do processo de software. Vale ressaltar que teste não deve ser a última atividade do processo de desenvolvimento de software. Ela ocorre durante todo o processo, como exemplificado na visão geral do processo RUP (Rational Unified Process) mostrado na Figura.
  • 17. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE E, além de encontrar falhas, testes objetivam aumentar a confiabilidade de um sistema de software, isto é, aumentar a probabilidade de que um sistema continuará funcionando sem falhas durante um período de tempo. Embora seja desejável testar um sistema por completo, deve-se ter em mente que a atividade de teste assegura apenas encontrar falhas se ela(s) existirem, mas não asseguram sua ausência. Portanto, as atividades devem ser disciplinadas a fim de identificar a maioria dos erros existentes. Note que realizar os testes de software implica em responder às questões:
  • 18. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE E, além de encontrar falhas, testes objetivam aumentar a confiabilidade de um sistema de software, isto é, aumentar a probabilidade de que um sistema continuará funcionando sem falhas durante um período de tempo. Embora seja desejável testar um sistema por completo, deve-se ter em mente que a atividade de teste assegura apenas encontrar falhas se ela(s) existirem, mas não asseguram sua ausência. Portanto, as atividades devem ser disciplinadas a fim de identificar a maioria dos erros existentes. Realizar os testes de software implica em responder às questões:
  • 19. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE 1. Quais atributos da qualidade deverão ser testados? 2. Quem realizará os testes? 3. Quais recursos serão utilizados? 4. Quais as dependências entre os atributos de qualidade? 5. Quais as dependências entre as atividades de desenvolvimento? 6. Como o processo e a qualidade do sistema de software serão acompanhados?
  • 20. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Plano de Teste O plano de teste é um dos documentos produzidos na condução de um projeto. Ele funciona como: • Um ‘integrador’ entre diversas atividades de testes no projeto; • Mecanismo de comunicação para os stakeholders ; • Guia para execução e controle das atividades de testes.
  • 21. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE O plano de teste, que pode ser elaborado pelo gerente de projeto ou gerente de testes, visa planejar as atividades a serem realizadas, definir os métodos a serem empregados, planejar a capacidade necessária, estabelecer métricas e formas de acompanhamento do processo. Nesse sentido, deve conter: • Introdução com identificação do projeto (definições, abreviações, referências), definição de escopo e objetivos; • Conjunto de requisitos a serem testados; • Tipos de testes a serem realizados e ferramentas utilizadas; • Recursos utilizados nos testes; • Cronograma de atividades (e definição de marcos de projeto).
  • 22. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Em outras palavras, um plano de teste deve definir: 1. Os itens a serem testados: o escopo e objetivos do plano devem ser estabelecidos no início do projeto. 2. Atividades e recursos a serem empregados: as estratégias de testes e recursos utilizados devem ser definidos, bem como toda e qualquer restrição imposta sobre as atividades e/ou recursos. 3. Os tipos de testes a serem realizados e ferramentas empregadas: os tipos de testes e a ordem cronológica de sua ocorrência são estabelecidos no plano. 4. Critérios para avaliar os resultados obtidos: métricas devem ser definidas para acompanhar os resultados alcançados.
  • 23. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Exemplificando o Plano de Teste O plano de teste contém um conjunto de informações que permite ao gerente de projeto não apenas coordenar as atividades de testes de um projeto, mas também monitorar seu progresso e verificar se o executado está em conformidade com o planejado. Existe uma relação dos itens consideradas imprescindíveis em um plano de teste. A relação de itens não pressupõe a intenção de ser completo, mas de apontar os itens considerados como obrigatórios num plano de teste de uma instituição.
  • 24. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Introdução Contém uma identificação do projeto, descrição dos objetivos do documento, o público ao qual ele se destina e escopo do projeto a ser desenvolvido. Pode adicionalmente conter termos e abreviações usadas, além de informar como o plano deve evoluir.
  • 25. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Requisitos a serem testados Esta seção descreve em linhas gerais o conjunto de requisitos a serem testados no projeto a ser desenvolvido, comunicando o que deve ser verificado. Exemplos de requisitos a serem testados são: desempenho, segurança, interface de usuário, controle de acesso, funcionalidades.
  • 26. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Estratégias e ferramentas de teste Apresenta um conjunto de tipos de testes a serem realizados, respectivas técnicas empregadas e critério de finalização de teste. Além disso, é listado o conjunto de ferramentas utilizadas.
  • 27. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Equipe e infraestrutura Contém descrição da equipe e da infra-estrutura utilizada para o desenvolvimento das atividades de testes, incluindo: pessoal, equipamentos, software de apoio, materiais, dentre outros. Isto visa garantir uma estrutura adequada para a execução das atividades de testes previstas no plano.
  • 28. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Cronograma de atividades Contém uma descrição de marcos importantes (milestones) das atividades (incluindo as datas de início e fim da atividade). Apenas marcos relevantes devem ser listados, ou seja, aqueles que contribuirão nas atividades de testes. Por exemplo: projeto de testes, execução de testes ou avaliação de testes.
  • 29. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Documentação complementar Apresenta-se uma relação dos documentos pertinentes ao projeto.
  • 30. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Verificação e validação Asseguram que o software cumpra com suas especificações e atenda às necessidades dos usuários.
  • 31. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Objetivos • Introduzir verificação e validação de software. • Descrever o processo de inspeção de programa • Explicar análise estática. • Introduzir o processo de desenvolvimento de software Cleanroom
  • 32. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Verificação vs validação Verificação: ”Estamos construindo certo o produto?" O software cumpre com suas especificações Validação: ”Estamos construindo o produto certo?" O software deve estar de acordo com o que o usuário deseja.
  • 33. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE O processo V & V É um processo que engloba todo o ciclo de vida - V & V deve ser aplicado em cada estágio no processo de desenvolvimento. Tem dois objetivos principais: • A descoberta de defeitos no sistema • Assegurar se o sistema é ou não utilizável em uma situação operacional.
  • 34. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Verificação estática e dinâmica Inspeções de software - preocupadas com a análise estática das representações do sistema para descobrir problemas (verificação estática) • pode ser complementadas por alguma análise automática do texto de origem de um sistema ou dos documentos associados. Teste de software - preocupado com a execução e observação do comportamento do produto (verificação dinâmica). • O sistema é executado com dados de teste e o seu comportamento operacional é observado.
  • 35. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Teste de programas • Pode revelar a presença de erros e NÃO a ausência • Um teste bem sucedido é um teste que descobre um ou mais erros. • É a única técnica de validação para requisitos não funcionais (desempenho, confiabilidade) • Deve ser usado em conjunto com a verificação estática para uma cobertura total das atividades de V&V
  • 36. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Tipos de teste Os testes de defeito • Testes projetados para descobrir defeitos no sistema. • Um teste bem sucedido é aquele que revela a presença de defeitos em um sistema. Testes estatísticos • Usado para testar o desempenho e a confiabilidade do programa. • Confiabilidade: número de falhas no sistema, etc • Desempenho Tempo de execução, tempo de resposta, etc.
  • 37. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Planejamento de V & V • Planejamento cuidadoso é necessário para obter sucesso nos processos de inspeção e teste. • O planejamento deve iniciar no começo do processo de desenvolvimento. • O processo de planejamento deve decidir sobre o equilíbrio entre as abordagens estáticas e dinâmicas. • O planejamento de testes se ocupa em estabelecer os padrões para o processo de testes.
  • 38. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Inspeções de software • Envolve pessoas examinando uma representação de software para descobrir anomalias e defeitos. • Não há a necessidade de execução do sistema, assim pode ser usada antes da implementação. • Pode ser aplicada a qualquer representação do sistema (requisitos, projeto, dados de teste, etc.) • Técnica muito eficaz para a descoberta de erros.
  • 39. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Sucessos da inspeção • Muitos defeitos diferentes podem ser descobertos em uma única inspeção. No teste, um defeito pode mascarar outros, assim várias execuções são necessárias. • A reutilização do conhecimento do domínio e da programação é benéfica, uma vez que revisores provavelmente já viram os tipos de erros que ocorrem com frequência em linguagens de programação específicas e em determinados tipos de aplicações.
  • 40. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Inspeções e testes • Inspeções e testes são técnicas de verificação complementares. • Ambas devem ser utilizadas no processo de V&V. • Inspeções podem verificar a conformidade com uma especificação mas não a conformidade com os reais requisitos do usuário. • Inspeções não podem verificar as características não funcionais tais como desempenho, usabilidade, etc.
  • 41. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Inspeções de programa • Revisão cuidadosa, linha por linha, do código fonte do programa. • Objetivo é a DETECÇÃO de defeitos (não correção) • Defeitos podem ser erros lógicos, anomalias no código que podem indicar uma condição errônea (por ex. uma variável não inicializada) ou a não conformidade com padrões organizacionais.
  • 42. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Pré-condições para a inspeção de programa • Uma especificação precisa deve estar disponível. • Os membros da equipe de inspeção devem estar familiarizados com os padrões organizacionais. • Código sintaticamente correto deve estar disponível. • Uma lista de erros deve ser preparada • Gerente deve aceitar que a inspeção aumentara os custos no começo do processo de software.
  • 43. ESTRATÉGIAS PARA GERENCIAMENTO DE SOFTWARE Checklist para inspeção de programas • Lista de erros comuns deve ser usada para dirigir a inspeção. • Lista de erros são dependentes da linguagem de programação • Quanto mais “fraca” é a checagem de tipos pela linguagem, maior é a lista de erros mais comuns. • Exemplos: inicialização, nomeação de constantes, término de laços, limites de vetores, etc.