• Nenhum resultado encontrado

Aula 4- Estudo de Caso

N/A
N/A
Protected

Academic year: 2021

Share "Aula 4- Estudo de Caso"

Copied!
35
0
0

Texto

(1)

Gerencia de Qualidade de

Software

Aula 4 Estudo de Caso.

https://sites.google.com/site/thiagoaalves/

thiago.augusto2@anhanguera.com

(2)

Conteúdo Programático

Apresentação da disciplina e metodologia

de trabalho. Apresentação do Plano de

Estudo e Aprendizagem. Introdução à

Qualidade de Software.

Estudo dos fatores técnicos e humanos

que influenciam a qualidade de um

software

.

Garantia da Qualidade de Software

(SQA): conceito, importância e

apresentação das técnicas.

(3)

Conteúdo Programático

Garantia da Qualidade de Software (SQA):

Impactos de um sistema de má qualidade.

CMMI. Introdução, diferenciação entre

qualidade de software e de processo. Estudo

dos níveis CMMI. Abordagem das Key

Process Areas (KPA)

CMMI: abordagem dos aspectos práticos de

implantação do modelo. Apresentação de

casos de sucesso na implantação, níveis

obtidos pelas principais empresas de TI ou

não.

(4)

Conteúdo Programático

Norma ISO 15504 (Spice): conceituação,

utilização, metodologia de avaliação.

Normas MPS:BR e ISO 12207.

Modelos de Processo Pessoal e de Equipe

na Melhoria da Qualidade do processo de

desenvolvimento de Software

(5)

Conteúdo Programático

Métricas de software: conceituação,

motivos para medição de um produto de

software. Principais tipos e utilizações.

Qualidade de código. Programação:

Fatores de qualidade

Atividades de revisão de conteúdo e/ou

(6)

Trabalhos

Alguma duvida do Trabalho 1 ?

Já tem o trabalho 2.

(7)
(8)

Estudo de Caso

Parte 1 Apresentação do Problema;

Parte 2 Analise;

(9)
(10)

Therac - 25

Cronologia

 1970

AECL e uma companhia francesa, desenvolvem o Therac-6 e o Therac-20

 1983

Anunciado o desenvolvimento do Therac-25

 1984

Implementado o Therac-25

 1985 – 1987

(11)

Introdução

 Visto até hoje, como o incidente mais trágico relacionado com a morte ou ferimentos em seres humanos, por causa directa de falhas em software

Therac - 25

 o caso serve para lembrar: no momento em que confiamos a vida e a saúde das pessoas a computadores, a importância da eliminação de bugs é questão de vida ou morte.

 Entre Junho de 1985 e Janeiro de 1987, seis pacientes receberam doses

exageradas de radiação enquanto recebiam tratamento do acelerador linear médico Therac-25.

(12)

Conceito

Therac - 25

 A terapia de radiação é usada para tratar tumores e consiste em destruir o cancro entregando uma dose cuidadosamente calculada de radiação ao tumor, enquanto é minimizada a radiação do tecido circunvizinho

 Em tratamentos simples, são

aplicados doses na ordem dos 200 rads (dose de radiação absorvida)

(13)
(14)

Therac - 25

Funcionamento

 O Therac-25, antecedido da versão 20, aplicou mais de 20.000 radiações com sucesso em cerca de 500 pacientes

 Consistia de uma máquina, instalada numa sala de

tratamento e controlada através de software, monitorizado por um

(15)
(16)

 Era uma máquina, com funcionamento em ‘modo-dual’, o mesmo acelerador gerava dois tipos diferentes de raios:

Raios-x para tumores profundos

Raios de electrões para tumores superficiais

Therac - 25

 Assentava numa plataforma giratória (que rodava para a posição correcta antes do início do tratamento), com 3 posições:

modo electrões modo raio-x

(17)

Therac - 25

 O operador sentado numa mesa de controlo (fora da sala de tratamento) confirmava um a um, os parâmetros previamente inseridos na sala de tratamento

 Uma vez este processo concluído, o operador digitaria o programa de

tratamento previamente prescrito: ´x´ para raios X

(18)

Therac - 25

Modo Electrões

 A energia do raio era fixada num valor apropriadamente baixo  Um conjunto de ‘scanning magnets’ era usado para espalhar o raio

(19)

Therac - 25

 O problema com os raios de electrões, é que difundem rapidamente e não conseguem penetrar mais profundamente para outro tipo de tratamentos que

não sejam os superficiais

 Para resolver este problema, o Therac-25 funcionava como

referido anteriormente em dual-mode no qual os raios-x (fotões) são usados para tratamentos mais exigentes

(20)

Therac - 25

Modo Raios-X

 Para funcionar em modo de raio-x, um direccionador de tungsténio e um ‘aplanador de raio’ eram movidos para a base do raio de electrões

 Debaixo desse feixe de electrões, o aparelho criava os raio-xs

 No entanto, a potência destes raios-x produzidos é muito fraca

 Por isso a intensidade dos electrões tinha que ser massivamente

incrementada em cerca de 100 vezes mais, do que durante um tratamento de electrões

(21)

Therac - 25

Acidente – Causa 1

 O operador digitava a tecla ‘X’ em vez da tecla ‘e’

 Administrava assim uma dose de radiação cerca de 100 vezes superior ao máximo, que o corpo humano podia aguentar naquela zona de acção  Apercebendo-se do facto e para corrigir o problema, o operador, movia o

cursor para cima no monitor com a tecla ‘seta para cima’ e em modo de edição corrigia as entradas erradas

o campo modo, tecla ‘e’ o campo energia

(22)

Therac - 25

 Depois de tudo verificado era dado início ao tratamento  Aparentemente tudo funcionava na perfeição

(23)

Acidente – Parte Técnica

Therac - 25

 Definir na posição correcta as várias partes do scanning magnet levava cerca de 8 segundos

 A rotina Ptime era executada tantas vezes quantas as partes do scanning magnet a

posicionar

 A flag Bending Magnet era iniciada na sub-rotina Magnet e limpa no final da sub-rotina Ptime

 Ptime verificava uma variável partilhada que indicava a presença de algum pedido de edição por parte do operador

(24)
(25)

 Se houvesse uma alteração do modo de operação de ´x´ para ´e´ o posicionamento dos magnets era interrompido

Therac - 25

 O problema é que Ptime aquando da sua primeira execução (tantas quantos os magnets a posicionar), limpava a flag e dessa forma, tornava-se impossível

entrar no ciclo e verificar alguma alteração

 Como o operador corrigia os dados em menos de 8 seg. (o tempo que levava a configurar os scanning magnets), o

software não aceitava o valor de energia corrigido e deixava-o em 25MeV

(26)

 A “limpeza” da flag bending magnet deveria pois ser feita no fim do

posicionamento de todos os magnets ao invés de ser feito no final de cada ciclio de ptime.

(27)

Therac - 25

Acidente – Causa 2

 Havia no software uma parte do programa (tarefa Hkeper) que continuamente verificava o correcto posicionamento da plataforma giratória

(turntable/collimator).

 Essa verificação era feita com base numa variável partilhada (Class3),

incrementada (tarefa Treat) a cada fase da verificação das várias rotinas

 Valor zero no contador (variável Class3), indicava ao operador a correcta

(28)

Therac - 25

Universidade da Beira Interior

Mestrado em Eng.ª Informática

Sistemas Distribuídos e Tolerância a Falhas

 Depois de definir a variável Class3, a rotina verifica por alguma “Malfunction” (valor diferente de zero) no sistema usando outra variável partilhada (FSmal)

 A questão é que esta verificação só era feita se o valor da variável

(29)

Acidente – Causa 2

Therac - 25

 Como a variável do contador (Classe3) tinha apenas 1 byte, 255 era o valor decimal mais elevado que o contador (incrementado a cada fase da verificação das várias routinas) poderia registar

 Se o programa fizesse 256 verificações, o contador

automaticamente ficava com o valor zero

 A verificação Chkcol não era feita e o software passava a ideia de uma

(30)

 A plataforma não estaria na posição correcta e o operador se iniciasse o tratamento naquele momento injectaria no paciente uma dose demasiado elevada de electrões

(31)

Therac - 25

Conclusão

 O Therac-25 era olhado como uma máquina extremamente fiável, que custava milhões de dólares, ocupava uma sala inteira, e tida como o sonho de

qualquer médico.

 Gradualmente, os médicos foram tirando impressões entre eles e chegaram à conclusão do mau funcionamento da máquina

 Este triste exemplo ilustra bem o perigo de software defeituoso

 Em cada um dos diferentes tipos de acidentes, o raio de electrões foi aplicado na máxima força (25 MeV, como seria apropriado para modo de raio-X)

(32)

Therac - 25

 A aplicação de doses excessivas, apesar de envolver erros por parte do

operador ocorriam por causa de erros no software Therac-25 e porque a equipa de desenvolvimento não seguiu as práticas correntes da engenharia de software

 O desenho do software do Therac-25, suportava um ambiente multi-tarefa e o software permitia acesso concorrente a variáveis partilhadas

 Esta precária implementação, causou a falha da máquina perante determinadas condições

 O sistema da máquina tinha erros ocasionados por execuções concorrentes de tarefas.

(33)

Therac - 25

 A programação concorrente é muito utilizada mas extremamente propensa a erros (maioritariamente devido a uma cultura de programação sequencial)

 Desde o princípio dos anos 90, particularmente após o despenho do Ariane 5, o interesse em tácticas de desenvolvimento que previnam bugs, renovou-se

 Implementaram-se assim: técnicas de programação; metodologias de desenvolvimento e melhorias nas linguagens de programação

(34)

Therac - 25

Baseado nos problemas levantados do Therac-25, faça um levantamento dos

possíveis problemas de qualidade que podem ter acontecido no desenvolvimento do therac-25.

Em paralelo pense nas possíveis soluções que poderiam ter evitado a maioria dos problemas.

(35)

On-line http://infotech.fanshawec.on.ca/gsantor/Computing/FamousBugs.htm http://courses.cs.vt.edu/%7Ecs3604/lib/Therac_25/Therac_1.html http://computingcases.org http://courses.cs.vt.edu/~cs3604/lib/Therac_25/

Bibliografia

Referências

Documentos relacionados

ƒ Os parâmetros de celularidade e morfometria serão submetidos à transformada arcoseno, sendo, então, analisados por análise de variância one-way ANOVA, seguida de teste de Tukey.

5)Ligar o plugue na tomada elétrica. O café deverá parar de escorrer da cafeteira automaticamente. Mas o tempo para esta operação não poderá exceder 30 segundos. Atenção:

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

ITIL, biblioteca de infraestrutura de tecnologia da informação, é um framework que surgiu na década de mil novecentos e oitenta pela necessidade do governo

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para

Figura A53 - Produção e consumo de resinas termoplásticas 2000 - 2009 Fonte: Perfil da Indústria de Transformação de Material Plástico - Edição de 2009.. A Figura A54 exibe

Como pontos fortes, destacam-se a existência de iniciativas já em- preendidas em torno da aprovação de um Código de classificação e uma Ta- bela de temporalidade e destinação