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

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

1 Qualidade de Software Aline Vasconcelos CEFET Campos

Apresentações semelhantes


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

1 1 Qualidade de Software Aline Vasconcelos CEFET Campos

2 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 3 O que significa Qualidade de Software? Requisitos FuncionaisRequisitos Não-FuncionaisConformidade do Software aos Requisitos Funcionais e aos Requisitos Não-Funcionais estabelecidos!!!!!!

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

6 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 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 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 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 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 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 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 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 14 SQA Software Quality Assurance (Garantia de Qualidade de Software)

15 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 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 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 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 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 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 caminhaatravés do produto explicando o material (a documentação), enquanto os revisores levantam questões.

21 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 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 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 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 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 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 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 "1 Qualidade de Software Aline Vasconcelos CEFET Campos"

Apresentações semelhantes


Anúncios Google