Engenharia de Software III
Departamento de Informática
Programa de Pós Graduação em Ciência da Computação
Laboratório de Desenvolvimento Distribuído de Software
Estágio de Docência
http://www.din.uem.br/~pg45640/
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Qualidade de Software
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
O que significa Qualidade de Software?
“Conformidade aos requisitos funcionais e de
desempenho explicitamente declarados, a padrões
de desenvolvimento claramente documentados e a
características implícitas que são esperadas de todo
software profissionalmente desenvolvido.”
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
O que significa Qualidade de Software?
Conformidade do Software aos Requisitos
Funcionais e aos Requisitos NãoFuncionais estabelecidos!
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Qualidade a partir de Diferentes Pontos de Vista
O usuário deseja que o produto de software esteja
em conformidade com as suas necessidades e
seja confiável, eficiente e fácil de ser utilizado.
O produtor do software deseja um produto de fácil
manutenção, verificação e fácil de ser entendido e
adaptado.
O gerente deseja que o processo de
desenvolvimento seja produtivo e fácil de ser
controlado.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Atributos de Qualidade de software (ou Requisitos NãoFuncionais) segundo McCall:
Manutenibilidade
Flexibilidade
Capacidade de
Teste
Revisão Transição
do
do
Produto Produto
Portabilidade
Reusabilidade
Interoperabilidade
Operação do Produto
Corretitude
Usabilidade
Eficiência
Integridade
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Atributos de Qualidade
Manutenibilidade: o esforço exigido para localizar e
reparar erros num programa.
Flexibilidade: esforço exigido para modificar um programa
operacional.
Testabilidade: o esforço exigido para testar um programa
a fim de garantir que ele execute a sua função
pretendida.
Portabilidade: o esforço exigido para transferir um
programa de um ambiente de hardware e/ou software
para outro.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Atributos de Qualidade
Reusabilidade: à medida que um programa (ou partes de um
programa) pode ser reutilizado em outras aplicações.
Interoperabilidade: o esforço exigido para fazer com que dois
sistemas ou componentes se comuniquem.
Corretitude: à medida que um programa satisfaz a sua
especificação e cumpre os objetivos visados pelo cliente.
Confiabilidade: a probabilidade de operação livre de falhas
de um programa de computador num ambiente específico
durante determinado tempo.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Atributos de Qualidade
Eficiência: a quantidade de recursos de computação e de
código exigida para que um programa execute a sua função.
Integridade: à medida que o acesso ao software ou a dados
por pessoas não-autorizadas pode ser controlado.
Usabilidade: o esforço exigido para aprender a operar o
software, preparar a entrada e interpretar a saída de um
programa.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Requisitos Não-Funcionais ISO 9126
Interoperabilidade:
outros sistemas;
Capacidade
de
interagir
com
Segurança de acesso: Capacidade de evitar acesso
não autorizado a programas e dados.
Características relacionadas a confiabilidade do
software: referem-se à capacidade do software
manter o seu nível de desempenho, sob condições
estabelecidas, por um determinado período de
tempo, sendo elas:
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Requisitos Não-Funcionais ISO 9126
Maturidade:
software.
Avalia
a
freqüência
de
falhas
no
Tolerância a falhas: Avalia a capacidade de manter o
nível de desempenho em casos de falhas.
Recuperabilidade: Avalia a capacidade do software
em restabelecer e restaurar dados após a falha.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Requisitos Não-Funcionais ISO 9126
Características relacionadas a usabilidade do
software: referem-se ao esforço necessário ao uso e
à homologação individual de tal uso, por um
conjunto
de
usuários
estabelecidos
ou
subentendido.
por uma característica
Universidade
EstadualRepresentada
de MaringCaracterísticas
relacionadas a
usabilidade
que
é a: do software: referem-se ao esforço necessário ao
uso e à homologação individual de tal uso, por um conjunto de
usuários estabelecidos ou subentendido. Representada por uma
característica que é a:
Operacionalidade:
Avalia o esforço do usuário para
Operacionalidade: Avalia o esforço do usuário para operar e
operar
a software.á
operação- 4ºde
controlareacontrolar
operação de
anosoftware.
de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Requisitos Não-Funcionais ISO 9126
Características relacionadas a manutenibilidade do
software: Refere-se ao esforço necessário para
fazer modificações específicas no software. São
elas:
Modificabilidade: Avalia o esforço necessário para
Universidade
Estadual de
- 4º ano
Informática
a modificação
e Maringá
remoção
dededefeitos;
Testabilidade: Avalia o esforço necessário para
validar as modificações realizadas.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Requisitos Não-Funcionais ISO 9126
Características relacionadas a portabilidade do
software: Refere-se à habilidade do software ser
transferido
de
um
ambiente
para
outro.
Representada por apenas característica que é a:
Adaptabilidade:
Avalia- 4ºa ano
capacidade
Universidade
Estadual de Maringá
de Informática de
adaptação
do software em outros ambientes sem exercer
ações e procedimentos adicionais e diferentes
daqueles previstos originalmente para esta
finalidade.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Gerenciamento de Qualidade de Software
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
A constante busca pela qualidade e pela satisfação, faz
com que os gerentes de projetos se preocupem com a
melhor maneira de gerenciar seus produtos.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Outro fator de grande relevância é o cliente
Mais exigente
Busca pela agilidade e qualidade
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Segundo nos apresenta: CLELAND/IRELAND (2006); alguns
fatores que evidenciam problemas nas etapas do projeto são:
→ O projeto excedeu os custos e/ou a programação almejada?
→ O projeto não é adequado à missão, aos objetivos e às metas da
empresa?
→ Permitiu-se que o projeto fosse além do ponto em que os
resultados seriam necessários para cumprir as expectativas do
cliente? Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
→ Foi feito um desenho errado dos padrões técnicos de
desempenho do projeto?
→ A alta administração não deu suporte ao projeto?
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
É de extrema importância que um projeto independente de sua
área de atuação, ou linha de pesquisa, possua um planejamento
inicial e um gerenciamento contínuo. CAVALIERI/CAMPBELL
(2005)
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Características
Sub-características
Pergunta chave para a Sub-característica
1.Funcionalidade
(Satisfaz as
necessidades?)
A dequação
Propõe-se a fazer o que é apropriado?
Presença das funções especificadas?
A curácia
Faz o que foi proposto de forma
correta? O produto gera resultados
precisos ou dentro do esperado?
Interoperabilidade
Interage
com
especificados?
os
sistemas
Conformidade
Está de acordo com as normas, leis,
etc? Está de acordo com padrões,
convenções ou regras?
Segurança de A cesso
Evita (ou ao menos previne) acesso
não autorizado aos dados?
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
2.C onformidade
(é imune a falhas?)
M aturidade
C om que
falhas?
freqüência
apresenta
Tolerância a Falhas
O correndo falhas, como ele reage?
capacidade do produto para manter
determinados níveis de desempenho
mesmo na presença de problemas.
R ecuperabilidade
É capaz de recuperar dados em caso
de falha?
capacidade do produto para reestabelecer o nível de desempenho
desejado e recuperar dados em
caso de ocorrência de falha.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
3 .U s a b ilid a d e
(é fá c il d e u s a r? )
In te le g ib ilid a d e
É fá c il e n te n d e r o c o n c e ito
a p lic a ç ã o ?
A p re e n s ib ilid a d e É fá c il a p re n d e r a u s a r?
O p e ra c io n a lid a d e É fá c il d e o p e ra r e c o n tro la r?
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
4.Eficiência
(é rápido e enxuto?)
Tempo
Qual é o tempo de resposta, a
velocidade de execução? Medida do
tempo
de
resposta
e
de
processamento
ou
taxas
de
processamento (throughput), ao
executar a funções prescrita s.
Recursos
Quanto recurso usa? Durante quanto
tempo? Medida da quantidade de
recursos necessários (CPU, disco e
memória, dentre outros) e a
duração do seu uso ao executar as
funções prescritas.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
5.Manutenibilidade
(é fácil de modificar?)
Analisabilidade
É fácil de encontrar uma falha,
quando ocorre? Esforço necessário
para diagnosticar deficiências ou
causas de falhas, ou localizar as
partes a serem modificadas para
corrigir os problemas
Modificabilidade
É fácil modificar e adaptar? esforço
necessário para realizar alterações,
remover falhas ou para adequar o
produto
a
eventuais
mudanças de ambiente operacional.
Estabilidade
Há grande risco quando se faz
alterações?
Testabilidade
É fácil testar
alterações?
quando
se
Universidade Estadual de Maringá - 4º ano de Informática
faz
Engenharia de Software III
6 .P o rtabilid ade
(é facil d e u sar em
o u tro am b ien te?)
A d ap tab ilidad e
É fácil ad aptar a o u tro s am b ien tes?
C apacidade para ser in staladÉofácil in stalar em ou tro s am b ien tes?
C on form id ad e
E stá de acord o co m p ad rõ es d e
p ortabilidad e?
C ap acid ad e p ara sub stitu irÉ fácil usar p ara su b stitu ir o u tro ?
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
SQA
Software Quality Assurance
(Garantia de Qualidade de
Software)
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Garantia de Qualidade de Software
De que forma garantir a qualidade de software?
1. Aplicando métodos técnicas e ferramentas ao longo
do desenvolvimento;
2. Realizando planejamento de projeto e estimativas;
3. Realizando revisões técnicas formais;
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Garantia de Qualidade de Software
4. Realizando testes de software através de diferentes e
complementares enfoques;
5. Aplicando padrões ao desenvolvimento;
6. Controlando mudanças de software;
7. Realizando medições.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Garantia de Qualidade de Software
A Garantia de Qualidade de Software envolve um
conjunto de atividades aplicadas ao longo de todo o
processo de desenvolvimento. A qualidade de um
produto é obtida ao longo do seu processo de
criação e não imposta após o “fato”!
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Aplicando métodos técnicos
A qualidade de software é projetada num produto ou
sistema. Ela não é imposta após o fato (ou seja, após o
software pronto). Por essa razão, a SQA inicia-se de fato
com o conjunto de métodos e ferramentas técnicas que
ajudam o analista a conseguir uma especificação de elevada
qualidade.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Revisões técnicas formais
Reunião de Revisão: encontro formal onde um
modelo é apresentado a técnicos e usuários para
comentários e aprovação;
Inspeção: avaliação técnica formal onde modelos
são examinados em detalhe por um técnico ou
grupo (outros que não os desenvolvedores) para
detecção de erros, de violação de padrões préestabelecidos e outros problemas.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Revisões técnicas formais
Walkthrough: reunião formal de revisão préagendada na qual revisores (técnicos) e o produtor
do software participam. Concentra-se em um
módulo ou parte do software. O produtor
“caminha”através do produto explicando o material
(a documentação), enquanto os revisores levantam
questões.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Revisões técnicas formais
Ao final de uma revisão, os participantes devem
decidir se: 1. Aceitam o produto sem modificações;
2. Aceitam o produto com pequenas modificações;
3. Não aceitam o produto devido a erros graves
localizados.
Um relatório de revisão e uma lista das questões a
serem revisadas (defeitos) devem ser gerados.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Revisões técnicas formais
Objetivos: Descobrir erros no software no início do
ciclo de vida;
Verificar se o software atende aos seus requisitos;
Garantir que o software segue padrões;
Tornar os projetos mais administráveis;
Tornar o projeto conhecido por mais pessoas.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Diretrizes de Revisão
Revise o produto, não o produtor;
Fixe e mantenha uma agenda;
Limite o debate;
Faça anotações;
Reveja antigas revisões;
Desenvolva uma checklist para cada produto;
Limite o número de participantes e o tempo da reunião.
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Testes de software
Os custos envolvidos associados às falhas de
software estimulam a realização de uma atividade
de teste cuidadosa e bem planejada.
Não é incomum que uma organização gaste 40% do
esforço de projeto total em teste.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Objetivos da Atividade de Teste
1. A atividade de teste é o processo de executar um
programa com a intenção de descobrir um erro.
2. Um bom caso de teste é aquele que tem uma
elevada probabilidade de revelar um erro ainda não
descoberto.
3. Um teste bem-sucedido é aquele que revela um
erro ainda não descoberto.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Controle de Mudanças no Software
O gerenciamento de configuração de software é uma
atividade aplicada durante todo o processo de engenharia de
software.
Configuração do software envolve: documentos, programas
e estruturas de dados.
Mudanças efetuadas num objeto (ou item) de configuração
desenvolvido e revisado (ou seja, que conste de uma
baseline) resultam na criação de uma nova versão deste
objeto.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Controle de Mudanças no Software
O processo de controle de mudanças inicia-se com um
pedido de mudança, leva a uma decisão de aceitar ou
rejeitar o pedido de mudança, e culmina com a atualização
controlada de um ou mais SCI (Software Configuration Item).
Deve ser analisado o impacto da mudança sobre todo o
software.
Universidade Estadual de Maringá - 4º ano de Informática
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
Exercício
Universidade Estadual de Maringá - 4º ano de Informática
Engenharia de Software III
André Dias Martins
Bacharel em Ciências Contábeis
Bacharel em Sistemas de Informação
Especialista em Ciências Econômicas
Especialista em Desenvolvimento de Sistemas para Web
Especialista em Didática e Metodologia para o Ensino Superior
Mestrando em Ciência da Computação (Engenharia Software)
[email protected]
http://www.din.uem.br/~pg45640/
Universidade Estadual de Maringá - 4º ano de Informática
Download

Exercícios da 2ª Aula em 14/08/2011