You are on page 1of 17

ENGENHARIA DE SOFTWARE I I

GRADUAO EM SISTEMAS DE INFORMAO

Professor Matheus Botarro

No possv el exibir esta imagem no momento.

Sistemas Crticos

As falhas nos softwares so cada vez mais constantes. Na maioria


das vezes, os sistemas crticos causam transtornos ocasionando
perdas econmicas, danos fsicos ou ameaas aos seres humanos.
Ento...
Define-se sistema crtico, como um software em que suas
caractersticas causam riscos inerentes a danos fsicos, pessoal e
financeiro.

Sistemas Crticos
So trs os tipos de sistemas crticos:
Sistema crtico de segurana: sua falha pode proceder em prejuzos, danos
ambientais e perda da vida humana. Um exemplo de sistema crtico de
segurana um software de controle de uma fbrica de fogos de artifcio;

Sistema crtico de misso: sua falha pode ocasionar problema em alguma


atividade conduzida a metas. Um exemplo de sistema crtico de misso um
software de navegao para uma aeronave;

Sistema crtico de negcio: sua falha pode resultar em custos elevados para a
empresa que trabalha com o software. Um exemplo de sistema crtico de
negcio um software contbil de clientes bancrios.

Sistemas Crticos
Um sistema considerado crtico, precisa ser de total confiana. H diversas razes
para que a confiana seja de fundamental importncia, tais como:

Sistemas no confiveis ou desprotegidos: se as pessoas no


confiam nele, com certeza no vo querer utiliz-los;

Custos de falhas nos sistemas so elevados: os custos de falhas


nos software so altssimos;

Sistemas que levam a desconfiana ocasionam perdas de


informaes: as perdas de informaes so ocorridas nesses
softwares e podem ocasionar prejuzos enormes.

Sistemas Crticos

Devido o alto custo nas falhas dos sistemas crticos, eles so, na
maioria das vezes, desenvolvidos com tcnicas j conhecidas.
Essas tcnicas, embora antigas, tem seu ponto forte e fraco j
conhecido, mas, ainda h componentes nos quais as falhas podem
ocorrer, como exemplo menciona-se:
o hardware do software pode falhar;
pode ocorrer erros na especificao, projeto ou implementao e
falhas humanas na operao do software.

Sistemas Crticos
Em um sistema crtico preciso focar em todos os aspectos dele,
como: hardware, software e processos operacionais, uma vez que
qualquer falha pode acarretar problemas graves no futuro. Alm
disso, preciso pensar tambm, na confiana, j que ela
fundamental no sistema considerado crtico.

Sistemas Crticos
Componentes de Sistemas Sujeitos a Falha
Falha de Hardware
O hardware pode falhar por causa de erros em seu projeto, de falha de
componentes, resultantes de erros de fabricao, ou de componentes que
atingiram o fim de sua vida til.
Falha de Software
O software pode falhar por causa de erros em sua especificao, projeto ou
implementao.
Falha Operacional
Os operadores humanos podem falhar em operar o sistema corretamente.
Como o hardware e o software tornaram-se mais confiveis, falhas de operao
so atualmente a maior causa de falhas de sistema.

Sistemas Crticos
Assegurar a segurana
Evitar o perigo
O sistema projetado de modo que os perigos sejam evitados.

Detectar e eliminar o perigo


O sistema projetado de modo que os perigos sejam
detectados e eliminados antes que resultem em acidentes

Limitar o prejuzo
O sistema pode incluir caractersticas de proteo que
minimizem os danos que podem resultar de um acidente

Sistemas Crticos
Assegurar a proteo
Evitar a vulnerabilidade
O sistema projetado de modo que vulnerabilidades no ocorram. Por exemplo,
se no existir uma conexo de rede externa ento um ataque externo impossvel

Detectar e neutralizar ataques


O sistema projetado para detectar vulnerabilidades e remov-las antes que
resultem em uma exposio. Por exemplo, um verificador de vrus que analisa
arquivos recebidos a fim de remover os possveis vrus

Limitar a exposio
O sistema projetado para que as consequncias de um ataque bem sucedido
sejam minimizadas. Por exemplo, uma poltica de backup que permita que
informaes danificadas sejam restauradas.

Sistemas Crticos
Diversidade e redundncia
Redundncia
Parte do sistema ou de suas aes que no seria necessria se falhas
no existissem. Exs.: componente duplicado, reinicializao
Diversidade
Prover a mesma funcionalidade de maneiras diferentes para que eles
no falhem de forma anloga.
A adio de diversidade e de redundncia aumenta a complexidade
Simplicidade e VVT extensivas podem ser uma rota mais
eficiente para a confiana de software.

Sistemas Crticos

Redundncia. Onde a disponibilidade crtica (por


exemplo, em sistemas de e-commerce), as empresas
normalmente mantm servidores de backup e chaveiam
automaticamente caso ocorram falhas.

Diversidade. Para fornecer resistncia contra ataques


externos, diferentes servidores podem ser implementados
com o uso de sistemas operacionais diferentes (por
exemplo, Windows, Mac OS e Linux).

Sistemas Crticos
Avaliao de danos
Analisa o estado do sistema para estimar a extenso da corrupo causada por
um erro;
Deve verificar quais partes do estado do sistema foram afetadas pela erro;
Geralmente, baseada em funes validadas, que podem ser aplicada aos
elementos de estado para avaliar se seu valor est dentro de uma faixa
permitida.

Sistemas Crticos
Recuperao de erros separada por 2 tipos:

Recuperao por avano (forward error recovery)


Levar o estado do sistema para um novo estado livre de erros

Recuperao por retrocesso (backward error recovery)


Restaurar um estado anterior, livre de erros, do sistema

A recuperao por avano especfica de aplicao.


A recuperao por retrocesso de erros mais simples e genrica.

Sistemas Crticos
Recuperao por avano

Corrupo de dados codificados


Adicionam redundncia aos dados codificados dados redundantes podem ser usados para
reparao de dados corrompidos
Ponteiros redundantes
Quando ponteiros redundantes so includos em estruturas de dados uma lista ou
repositrio de arquivos corrompido pode ser reconstruda se um nmero suficiente de
ponteiros no esto corrompidos.
Frequentemente usados para reparao de banco de dados e sistemas de arquivos.
Tratamento de excees
nfase na estruturao

Sistemas Crticos
Recuperao por retrocesso

Transaes so um mtodo popular


Mudanas no so aplicadas at que a computao seja completada.
Se um erro ocorre, o sistema deixado no estado anterior ao da transao.
Checkpoints locais
Gravao automtica, podendo ser utilizada quando necessria. Usados pelo MS Office e
pelo OpenOffice.
Checkpoints distribudos peridicos
Baseados em logs

Referncias

PRESSMAN, R. Engenharia de Software. 6 Edio, 1995


Sommerville Software Engineering 2006

ENGENHARIA DE SOFTWARE I I
GRADUAO EM SISTEMAS DE INFORMAO

Professor Matheus Botarro

No possv el exibir esta imagem no momento.

You might also like