Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Confiabilidade de Software

No description
by

daniel grunewald

on 4 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Confiabilidade de Software



Resistentência: O software fornece um serviço ao usuário mesmo se houver interrupções internas ou externas.

Recuperação: O sistema pode ser restaurado para um estado anterior conhecido, sem perda de dados.

Controle: Fornece um serviço preciso e adequado sempre que necessário.

Imunidade a interrupções: As atualizações necessárias não interrompem o serviço fornecido pelo software

Pronto para produção: Ao ser lançado, o software contém um mínimo de erros, exigindo um número limitado de atualizações previsíveis.

Previsibilidade: Funciona conforme o esperado ou prometido.  CONCEITO Associado ao software, há um atributo de qualidade de suma importância para qualquer produto: confiabilidade. A confiabilidade de software é, geralmente, definida como a probabilidade do software operar sem ocorrência de falhas durante um período especificado de tempo em um determinado ambiente.

Num contexto mais amplo, a qualidade de software é uma propriedade multidimensional que inclui, além da confiabilidade, outros fatores de satisfação do cliente como funcionalidade, usabilidade, desempenho, habilidade de prestação de serviço, manutenção e documentação. Todavia, a confiabilidade de software é, comumente, aceita como um fator chave da qualidade de software, uma vez que a confiabilidade pode quantificar as falhas de software. CONFIABILIDADE DE
SOFTWARE CARACTERÍSTICAS PARA AVALIAR
A CONFIABILIDADE DE UM SISTEMA Métodos de engenharia de boa qualidade podem melhorar a confiabilidade do software em grande parte.

Antes da implantação de produtos de software, verificação, teste e validação são etapas necessárias. O teste de software é muito utilizado para acionar, localizar e remover os defeitos de software.  Várias ferramentas de análise, tais como análise de tendências, análise de árvore de falhas, defeitos classificação ortogonal e métodos formais, etc, também podem ser usados para minimizar a possibilidade de ocorrência de defeito após o lançamento e, portanto, melhorar a confiabilidade do software.

Após a implantação do produto , dados de entrada/saida podem ser reunidas e analisadas para estudar o comportamento do sistema. Tolerância a falhas ou  previsão de falhas será útil para minimizar a ocorrência de falhas ou o impacto da falha no sistema. TÉCNICAS DE CONFIABILIDADE As falhas de software pode ser devido a erros, ambigüidades, omissões ou má interpretação da especificação de que o software deve satisfazer, descuido ou incompetência na escrita de código, testes inadequados ou inesperados uso incorreto do software ou outros problemas imprevistos.Software e hardware têm diferenças fundamentais que as tornam diferentes mecanismos de falha. Falhas de hardware são principalmente falhas físicas , enquanto que falhas de software são falhas de concepção , que são mais difíceis de visualizar, classificar, detectar e corrigir. Falhas no projeto estão intimamente relacionadas com fatores humanos e do processo de design, que não temos uma sólida compreensão. Em hardware, defeitos de projeto também podem existir, mas falhas físicas normalmente dominam. FALHAS DE SOFTWARE Falha : defeitos de software são principalmente erros na sua fase de concepção.
Desgastar-se : Software não desgasta porem erros podem ocorrer sem aviso prévio.
Conceito de sistemas reparáveis: reiniciar periódicamente pode ajudar a resolver problemas de software.
Tempo de dependência e de ciclo de vida : a confiabilidade do software não é uma função do tempo operacional.
Fatores ambientais : Não afetar a confiabilidade do software, exceto que ele pode afetar as entradas do programa.
Previsão Confiabilidade : confiabilidade de software não pode ser previsto a partir de qualquer base física, já que depende totalmente sobre fatores humanos em design. ( Fase de projeto)
Redundância : não é possível melhorar a confiabilidade do software se os componentes de software idênticos são usados.
Interfaces : interfaces de software são puramente conceitual diferente visual.
Taxa de falhas : Normalmente não é previsível a partir de análises separadas.
Construído com componentes padronizados: Bem-entendido e amplamente testada peças padronizadas irá ajudar a melhorar a durabilidade e confiabilidade.
Mas, na indústria de software, não observamos esta tendência. A reutilização de código tem sido em torno de algum tempo, mas a uma extensão muito limitada. FALHAS DE SOFTWARE X HARDWARE Disponibilidade é um outro atributo importante de sistemas que têm software como componente. Disponibilidade é a probabilidade, em qualquer instante de tempo, de um sistema funcionar satisfatoriamente em um determinado ambiente. Em outras palavras, é a probabilidade de um sistema está disponível quando necessário.
Disponibilidade pode ser determinada pela relação:
Disponibilidade = ((MTTF)/(MTTF + MTTR)).100%
onde:

MTTF (Mean Time to Failure) é o tempo médio até a ocorrência de falha.

MTTR (Mean Time to Repair) é o tempo médio de reparo. DISPONIBILIDADE Esses dois atributos, confiabilidade e disponibilidade compreendem a base da engenharia de confiabilidade de software (ECS) que é definida como o estudo quantitativo do comportamento operacional de sistemas de software com base nos requisitos de usuários relativo a confiabilidade. Engenharia de confiabilidade de software inclui:
Medição de confiabilidade de software, a qual inclui estimação e previsão com o uso de modelos de confiabilidade de software. inclui:

Medição de confiabilidade de software, a qual inclui estimação e previsão com o uso de modelos de confiabilidade de software.
Atributos e métricas de projeto de produtos, processo de desenvolvimento, arquitetura de sistema, ambiente operacional do software e suas implicações sobre a confiabilidade.
Aplicação deste conhecimento na especificação e projeto da arquitetura de software do sistema, desenvolvimento, testes, uso e manutenção. Para tanto, torna-se necessário a coleta de dados de falhas. Esses dados são coletados para se fazer a medição da confiabilidade de software. Essa coleta compreende: (a) contagem de falhas – esse tipo de dado faz o rastreamento da quantidade de falhas detectadas por unidade de tempo; (b) tempo médio entre falhas – esse tipo de dado faz o rastreamento dos intervalos entre falhas consecutivas. Além disso, ECS requer a medição de confiabilidade de software que envolve duas atividades: estimação e previsão de confiabilidade. A confiabilidade do software é simplesmente uma questão de vida ou morte. Uma série de tragédias e caos causado pelo mal funcionamento de softwares comprova que isso . Esses eventos sempre terão seu lugar na história. Como o navio britânico Sheffield foi afundado porque o sistema de radar identificou um míssil como "amigável". Software está sujeito a bugs/crash , como seres humanos erram.
O que foi uma tragédia para o sistema de defesa. O software também pode ter pequenos erros imperceptíveis ou desvios que podem culminar em um desastre.
Confiabilidade de software não pode ser medida diretamente, então outros fatores relacionados são medidos para estimar a confiabilidade e compará-lo entre os produtos, o processo de desenvolvimento, faltas e falhas encontradas. Garantindo a boa qualidade do sistema, ou seja a entrega de um produto livre de prejuízos e possíveis acidentes irreparáveis. undamental
Confiabilidade de software é uma parte fundamental na qualidade do sistema. O seu estudo pode ser categorizadas em três partes: a medição, modelagem e aperfeiçoamento. Software de modelagem  amadureceu a tal ponto que resultados significativos podem ser obtidos através da aplicação de modelos adequados para o problema. Há muitos modelos existentes atualmente, mas nenhum modelo pode capturar uma quantidade necessária das características do software. Suposições e abstrações devem ser feitas para simplificar o problema. Não existe um modelo único, que é universal a todas as situações. Software de medição de confiabilidade é ingênuo. Medição está longe de ser comum em software, como no campo da engenharia. "Como é bom o software, quantitativamente?" Tão simples como a pergunta é: ainda não há uma boa resposta. Conclusão http://bugless.wordpress.com/2011/05/19/verificacao-validacao-e-teste-de-software/

http://www.wikipedia.com.br

http://www.espacoacademico.com.br/027/27amsf.htm

http://debuggingcode.blogspot.com.br/2011/02/confiabilidade-de-software.html REFERÊNCIAS CONSIDERAÇÕES
Full transcript