A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aline Vasconcelos CEFET Campos

Apresentações semelhantes


Apresentação em tema: "Aline Vasconcelos CEFET Campos"— Transcrição da apresentação:

1 Aline Vasconcelos CEFET Campos aline.vasconcelos@terra.com.br
Qualidade de Software Aline Vasconcelos CEFET Campos

2 O que significa Qualidade de Software?
“Conformidade a 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.”

3 O que significa Qualidade de Software?
Conformidade do Software aos Requisitos Funcionais e aos Requisitos Não-Funcionais estabelecidos!!!!!!

4 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 estendido e adaptado. O gerente deseja que o processo de desenvolvimento seja produtivo e fácil de ser controlado.

5 Atributos de Qualidade de Software
Atributos de Qualidade de software (ou Requisitos Não-Funcionais) segundo McCall: Manutenibilidade Flexibilidade Capacidade de Teste Portabilidade Reusabilidade Interoperabilidade Revisão do Produto Transição do Produto Operação do Produto Corretitude Eficiência Usabilidade Integridade

6 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.

7 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.

8 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.

9 Medição dos Atributos de Qualidade
Representam, em sua maioria, medidas indiretas do software. Medidas diretas (ou métricas de software) ajudam a indicar a adequação do sistema aos atributos de qualidade, como: Complexidade Ciclomática de McCabe, Coesão e Acoplamento, etc.

10 Medindo a Confiabilidade do Software
A confiabilidade do software, ao contrário de muitos outros fatores de qualidade, pode ser medida diretamente e estimada com base em dados históricos e de desenvolvimento. Uma medida simples da confiabilidade é o tempo médio entre falhas: MTBF = MTTF + MTTR Onde: MTBF – Mean Time Between Failures; MTTF – Mean Time to Failure; MTTR – Mean Time to Repair

11 Requisitos Não-Funcionais
Descrição das características e subcaracterísticas de qualidade utilizadas (ISO/IEC ) Características relacionadas a funcionalidade do software : referem-se à existência de um conjunto de funções que satisfaz necessidades explícitas ou implícitas e suas propriedades específicas, para a finalidade a que se destina o produto. São elas: Interoperabilidade: Capacidade de interagir com outros sistemas; 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. São elas: Maturidade: Avalia a freqüência de falhas no software. 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.

12 Requisitos Não-Funcionais
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. Representada por uma característica que é a: Operacionalidade: Avalia o esforço do usuário para operar e controlar a operação de software. Características relacionadas a eficiência do software: Refere-se ao relacionamento entre o nível de desempenho do software e a quantidade de recursos utilizada, sob condições estabelecidas. São elas: Comportamento em relação ao tempo: Avalia o tempo de resposta, o tempo de processamento e as taxas de “troughput” durante a execução do software. Comportamento em relação aos recursos: Avalia a quantidade de recursos utilizada e a duração desta utilização durante a execução do software. Throughput: representa o volume de trabalho que um computador pode realizar em um dado período de tempo. (Tanenbaum)

13 Requisitos Não-Funcionais
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 a modificação e remoção de defeitos; Testabilidade: Avalia o esforço necessário para validar as modificações realizadas. 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 a capacidade de adaptação do software em outros ambientes sem exercer ações e procedimentos adicionais e diferentes daqueles previstos originalmente para esta finalidade.

14 SQA Software Quality Assurance (Garantia de Qualidade de Software)

15 Garantia de Qualidade de Software
De que forma garantir a qualidade de software (SQA - Software Quality Assurance): 1. Aplicando métodos técnicos e ferramentas ao longo do desenvolvimento; 2. Realizando planejamento de projeto e estimativas; 3. Realizando revisões técnicas formais;

16 Garantia de Qualidade de Software
Atividades para SQA (continuação): 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.

17 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”!

18 1. 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.

19 3. Revisões técnicas formais (FTR - Formal Technical Reviews)
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.

20 3. Revisões técnicas formais (FTR - Formal Technical Reviews)
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.

21 3. Revisões técnicas formais (FTR - Formal Technical Reviews)
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.

22 3. Revisões técnicas formais (FTR - Formal Technical Reviews)
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.

23 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.

24 4. 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.

25 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.

26 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.

27 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.


Carregar ppt "Aline Vasconcelos CEFET Campos"

Apresentações semelhantes


Anúncios Google