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

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

* Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17.

Apresentações semelhantes


Apresentação em tema: "* Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17."— Transcrição da apresentação:

1 * Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17

2 2 INTRODUÇÃO Todos os métodos, ferramentas e procedimentos utilizados em um software tem um único objetivo: produzir software de alta qualidade. Todos os métodos, ferramentas e procedimentos utilizados em um software tem um único objetivo: produzir software de alta qualidade. A garantia de qualidade de software é aplicada ao longo de todo o processo de engenharia de software. A garantia de qualidade de software é aplicada ao longo de todo o processo de engenharia de software. Qualidade de software abrange: Qualidade de software abrange: 1. Métodos e ferramentas de análise; 1. Métodos e ferramentas de análise; 2. Revisões técnicas; 2. Revisões técnicas; 3. Estratégia de testes; 3. Estratégia de testes; 4. Controle da documentação; 4. Controle da documentação; 5. Adequação nos padrões de desenvolvimento. 5. Adequação nos padrões de desenvolvimento.

3 3 QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE A elevada qualidade de software é uma meta importante. A elevada qualidade de software é uma meta importante. Qualidade de software é : 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. Os requisitos do software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade. Os requisitos do software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade.

4 4 Padrões especificados definem um conjunto de critérios de desenvolvimento que orientam a maneira segundo a qual o software passa pelo trabalho de engenharia. Padrões especificados definem um conjunto de critérios de desenvolvimento que orientam a maneira segundo a qual o software passa pelo trabalho de engenharia. Há um conjunto de requisitos implícitos que não são mencionados. Se o software se adequar aos seus requisitos explícitos, mas deixar de cumprir seus requisitos implícitos, a qualidade de software será suspeita. Há um conjunto de requisitos implícitos que não são mencionados. Se o software se adequar aos seus requisitos explícitos, mas deixar de cumprir seus requisitos implícitos, a qualidade de software será suspeita. QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE

5 5 A qualidade de software é uma combinação complexa de fatores que variarão de acordo com diferentes aplicações e clientes que as solicitam. A qualidade de software é uma combinação complexa de fatores que variarão de acordo com diferentes aplicações e clientes que as solicitam. São medidos em dois grupos: São medidos em dois grupos: 1. Fatores que podem ser medidos diretamente. Exemplos: erros, KLOC, unidade de tempo. 1. Fatores que podem ser medidos diretamente. Exemplos: erros, KLOC, unidade de tempo. 2. Fatores que podem ser medidos indiretamente. Exemplo: usabilidade e manutenibilidade. 2. Fatores que podem ser medidos indiretamente. Exemplo: usabilidade e manutenibilidade. Fatores De Qualidade De Software

6 6 É preciso comparar o software com algum dado e chegar a uma indicação de qualidade. É preciso comparar o software com algum dado e chegar a uma indicação de qualidade. Há alguns fatores de qualidade de software que focalizam 3 aspectos importantes: suas características operacionais, sua facilidade de manutenção e sua adaptabilidade a outro ambiente. Há alguns fatores de qualidade de software que focalizam 3 aspectos importantes: suas características operacionais, sua facilidade de manutenção e sua adaptabilidade a outro ambiente.

7 7 Fatores De Qualidade De Software Revisão do Produto Transição do Produto Operação do Produto

8 8 Os fatores de qualidade apresentam as seguintes descrições: Os fatores de qualidade apresentam as seguintes descrições: Corretude: à medida que um programa satisfaz sua especificação e cumpre os objetivos. Corretude: à medida que um programa satisfaz sua especificação e cumpre os objetivos. Confiabilidade: à medida que se pode esperar que um programa execute sua função pretendida com precisão exigida. Confiabilidade: à medida que se pode esperar que um programa execute sua função pretendida com precisão exigida. Eficiência: quantidade de recursos de computação e de código exigida para que um programa execute sua função. Eficiência: quantidade de recursos de computação e de código exigida para que um programa execute sua função. Integridade: à medida que o acesso ao software ou os dados por pessoas não-autorizadas é controlado. Integridade: à medida que o acesso ao software ou os dados por pessoas não-autorizadas é controlado. Usabilidade: esforço para aprender, operar, preparar a entrada e interpretar a saída de um programa. Usabilidade: esforço para aprender, operar, preparar a entrada e interpretar a saída de um programa. Fatores De Qualidade De Software

9 9 Manutenibilidade: esforço exigido para localizar e reparar erros num programa. Manutenibilidade: esforço exigido para localizar e reparar erros num programa. Flexibilidade: esforço exigido para modificar um programa operacional. Flexibilidade: esforço exigido para modificar um programa operacional. Testabilidade: esforço exigido para testar um programa a fim de garantir sua execução. Testabilidade: esforço exigido para testar um programa a fim de garantir sua execução. Portabilidade: esforço exigido para transferir o programa de um ambiente para outro. Portabilidade: esforço exigido para transferir o programa de um ambiente para outro. Reusabilidade: um programa pode ser reusado por outros programas. Reusabilidade: um programa pode ser reusado por outros programas. Interoperabilidade: esforço exigido para se acoplar um sistema a outro. Interoperabilidade: esforço exigido para se acoplar um sistema a outro. Fatores De Qualidade De Software

10 10 Concisão: compactação do programa em termos de linhas de código. Concisão: compactação do programa em termos de linhas de código. Segurança: controle que protege programa e dados. Segurança: controle que protege programa e dados. Simplicidade: o quanto um programa pode ser entendido sem dificuldade. Simplicidade: o quanto um programa pode ser entendido sem dificuldade. Modularidade: independência funcional dos componentes. Modularidade: independência funcional dos componentes. Expansibilidade: o quanto o projeto de arquitetura, procedimental e de dados podem ser ampliados. Expansibilidade: o quanto o projeto de arquitetura, procedimental e de dados podem ser ampliados. Inteireza: o quanto a implementação total da função requerida foi conseguida. Inteireza: o quanto a implementação total da função requerida foi conseguida. Autodocumentação: o quanto o código-fonte apresenta documentação significativa. Autodocumentação: o quanto o código-fonte apresenta documentação significativa. Fatores De Qualidade De Software

11 11 E ainda, FURPS: Funcionalidade: é aferida avaliando-se o conjunto de características e as capacidades do programa. Funcionalidade: é aferida avaliando-se o conjunto de características e as capacidades do programa. Usabilidade: avaliada considerando-se os fatores humanos, a estética global, a consistência e a documentação. Usabilidade: avaliada considerando-se os fatores humanos, a estética global, a consistência e a documentação. Confiabilidade: avaliada medindo-se a freqüência e a gravidade de falhas. Confiabilidade: avaliada medindo-se a freqüência e a gravidade de falhas. Desempenho: medido avaliando-se a velocidade de processamento, tempo de resposta e eficiência. Desempenho: medido avaliando-se a velocidade de processamento, tempo de resposta e eficiência. Suportabilidade: capacidade de ampliar o programa. Suportabilidade: capacidade de ampliar o programa. Fatores De Qualidade De Software

12 12 Garantia de Qualidade de Software (SQA) É importante para negócios que geram produtos que são usados por outros. É importante para negócios que geram produtos que são usados por outros. Paralela com a história da qualidade na manufatura de hardware. Paralela com a história da qualidade na manufatura de hardware. Segue um padrão sistemático e planejado de ações que são exigidas para garantir a qualidade. Segue um padrão sistemático e planejado de ações que são exigidas para garantir a qualidade. As pessoas que realizam a SQA devem olhar para o software a partir do ponto de vista do cliente. As pessoas que realizam a SQA devem olhar para o software a partir do ponto de vista do cliente. O software atende aos fatores de qualidade ? O software atende aos fatores de qualidade ? Foi conduzido com padrões preestabelecidos ? Foi conduzido com padrões preestabelecidos ? As disciplinas técnicas foram cumpridas ? As disciplinas técnicas foram cumpridas ?

13 13 Atividades SQA Compreende uma variedade de tarefas: Compreende uma variedade de tarefas: 1. Aplicação de métodos técnicos; 1. Aplicação de métodos técnicos; 2. Realização de revisões técnicas formais; 2. Realização de revisões técnicas formais; 3. Atividades de testes de software; 3. Atividades de testes de software; 4. Aplicação de padrões; 4. Aplicação de padrões; 5. Controle de mudanças; 5. Controle de mudanças; 6. Medição; 6. Medição; 7. Manutenção de registros e reportagem. 7. Manutenção de registros e reportagem.

14 14 Atividades SQA A SQA inicia-se com o conjunto de métodos e ferramentas técnicas que ajudam o analista a conseguir uma especificação de elevada qualidade. A SQA inicia-se com o conjunto de métodos e ferramentas técnicas que ajudam o analista a conseguir uma especificação de elevada qualidade. Quando uma especificação e um projeto tiverem sido criados, cada um deve ser avaliado quanto à qualidade. Quando uma especificação e um projeto tiverem sido criados, cada um deve ser avaliado quanto à qualidade. A atividade de teste de software combina uma estratégia de múltiplos passos com uma série de métodos de projeto de casos de teste que ajudam a garantir uma detecção de erros efetiva. A atividade de teste de software combina uma estratégia de múltiplos passos com uma série de métodos de projeto de casos de teste que ajudam a garantir uma detecção de erros efetiva.

15 15 Atividades SQA O grau em que padrões e procedimentos formais são aplicados no processo de engenharia de software varia de empresa para empresa, podendo ser determinados pelos clientes ou por imposições regulares. O grau em que padrões e procedimentos formais são aplicados no processo de engenharia de software varia de empresa para empresa, podendo ser determinados pelos clientes ou por imposições regulares. Toda mudança no software tem potencial para introduzir erros ou criar efeitos colaterais que propagam erros. Toda mudança no software tem potencial para introduzir erros ou criar efeitos colaterais que propagam erros. Controlar mudanças contribui para a qualidade do software. Controlar mudanças contribui para a qualidade do software. A medição é uma atividade que faz parte de qualquer disciplina de engenharia. A medição é uma atividade que faz parte de qualquer disciplina de engenharia.

16 16 Atividades SQA Um objetivo importante da SQA é rastrear a qualidade de software e avaliar o impacto das mudanças metodológicas e procedimentais sobre a qualidade de software. Uma métrica de software deve ser coletada. Um objetivo importante da SQA é rastrear a qualidade de software e avaliar o impacto das mudanças metodológicas e procedimentais sobre a qualidade de software. Uma métrica de software deve ser coletada. A anotação e manutenção de registros oferecem procedimentos para a coleta e disseminação de informações de SQA. Os resultados de revisões, auditorias, controle de mudanças e testes devem ser levados ao conhecimento do pessoal de desenvolvimento, tendo-se como base a necessidade de conhecimento. A anotação e manutenção de registros oferecem procedimentos para a coleta e disseminação de informações de SQA. Os resultados de revisões, auditorias, controle de mudanças e testes devem ser levados ao conhecimento do pessoal de desenvolvimento, tendo-se como base a necessidade de conhecimento.

17 17 REVISÕES DE SOFTWARE São um filtropara o processo de engenharia de software. Servem para descobrir defeitos que possam ser eliminados. São um filtropara o processo de engenharia de software. Servem para descobrir defeitos que possam ser eliminados. Apesar de as pessoas captarem alguns de seus próprios erros, grandes classes de erros escapam e outras pessoas podem identificar mais facilmente. Apesar de as pessoas captarem alguns de seus próprios erros, grandes classes de erros escapam e outras pessoas podem identificar mais facilmente. Revisão é uma maneira de : Revisão é uma maneira de : Apontar melhorias necessárias ao produto. Apontar melhorias necessárias ao produto. Confirmar as partes de um produto em que uma melhoria não é desejada ou não é necessária. Confirmar as partes de um produto em que uma melhoria não é desejada ou não é necessária. Realizar um trabalho técnico com uma qualidade mais uniforme ou, pelo menos, mais previsível. Realizar um trabalho técnico com uma qualidade mais uniforme ou, pelo menos, mais previsível.

18 18 Muitos tipos diferentes de revisões podem ser realizados como parte da engenharia de software. Muitos tipos diferentes de revisões podem ser realizados como parte da engenharia de software. Um encontro informal em torno de máquina de café é uma forma de revisão, se problemas técnicos forem discutidos. Um encontro informal em torno de máquina de café é uma forma de revisão, se problemas técnicos forem discutidos. Uma apresentação formal do projeto de software a uma platéia de clientes, à administração e ao pessoal técnico é uma forma de revisão. Uma apresentação formal do projeto de software a uma platéia de clientes, à administração e ao pessoal técnico é uma forma de revisão. REVISÕES DE SOFTWARE

19 19 Impacto de Custo de Defeitos de Software O objetivo de revisões é descobrir defeitos no software, de forma que possam ser corrigidos. O objetivo de revisões é descobrir defeitos no software, de forma que possam ser corrigidos. 50% a 60% de todos os erros ocorrem durante a fase de desenvolvimento do processo de engenharia de software. 50% a 60% de todos os erros ocorrem durante a fase de desenvolvimento do processo de engenharia de software. Técnicas de revisão formais são até 75% efetivas na descoberta de falhas de projeto. Técnicas de revisão formais são até 75% efetivas na descoberta de falhas de projeto. Detectar e suprimir erros reduz o custo dos passos posteriores nas fases que se seguem. Detectar e suprimir erros reduz o custo dos passos posteriores nas fases que se seguem.

20 20 Impacto de Custo de Defeitos de Software Exemplo: considere uma série de custos que se baseia em dados reais compilados. Suponha que um erro descoberto durante a fase de projeto custe 1u para ser corrigido. Se o erro for descoberto no início dos testes, custará 6,5u; durante os testes 15u; e após o lançamento, entre 60 a 100u (u = unidade monetária) Exemplo: considere uma série de custos que se baseia em dados reais compilados. Suponha que um erro descoberto durante a fase de projeto custe 1u para ser corrigido. Se o erro for descoberto no início dos testes, custará 6,5u; durante os testes 15u; e após o lançamento, entre 60 a 100u (u = unidade monetária)


Carregar ppt "* Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17."

Apresentações semelhantes


Anúncios Google