Post on 10-Feb-2016
description
Requisitos Não-funcionaisRequisitos Não-funcionais
Wilson José dos SantosWilson José dos SantosPedro Luciano Leite SilvaPedro Luciano Leite Silva
Juliano Manabu IyodaJuliano Manabu Iyoda
Universidade Federal de PernambucoUniversidade Federal de PernambucoDepartamento de InformáticaDepartamento de Informática
Tópicos Avançados em Engenharia de Software 2Tópicos Avançados em Engenharia de Software 2(Engenharia de Requisitos e CASE)(Engenharia de Requisitos e CASE)
Prof. Jaelson Brelaz CastroProf. Jaelson Brelaz CastroProf. Alexandre Marcos Lins de VasconcelosProf. Alexandre Marcos Lins de Vasconcelos
Outubro / 1998Outubro / 1998
IntroduçãoIntrodução
Requisitos Não-funcionaisRequisitos Não-funcionaisTemas:Temas:
Classificação de Requisitos Não-FuncionaisClassificação de Requisitos Não-Funcionais Derivando Requisitos Não-FuncionaisDerivando Requisitos Não-Funcionais Requisitos para Sistemas CríticosRequisitos para Sistemas Críticos Engenharia de Requisitos para “Safety-Related Engenharia de Requisitos para “Safety-Related
System”System”
IntroduçãoIntrodução
ObjetivosObjetivos Colocar restrições Antes e durante o processo Colocar restrições Antes e durante o processo
desenvolvimentodesenvolvimento Definir as qualidades globais do sistemaDefinir as qualidades globais do sistema
Segurança (Safety ,Security)Segurança (Safety ,Security) UsabilidadeUsabilidade ConfiançaConfiança Requisitos de desempenhoRequisitos de desempenho
Colocar restrições no serviço do sistema sobre Colocar restrições no serviço do sistema sobre exigências do usuário (Interfaces, Qualidades, exigências do usuário (Interfaces, Qualidades, Recurso, Tempo)Recurso, Tempo)
IntroduçãoIntrodução
Requisitos Não-funcionais/funcionaisRequisitos Não-funcionais/funcionais Exemplo: Requisito de segurançaExemplo: Requisito de segurança
O sistema só permitirá acesso aos dados, com O sistema só permitirá acesso aos dados, com autorização.autorização.
O sistema terá um procedimento de autorização O sistema terá um procedimento de autorização de usuários, nos quais tenham que se identificar de usuários, nos quais tenham que se identificar usando um (login) e uma senha. Somente usando um (login) e uma senha. Somente usuários autorizados terão acesso aos dadosusuários autorizados terão acesso aos dados
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO
Boehm-1976,( Deutsh e Willis,1998)Boehm-1976,( Deutsh e Willis,1998) Qualidades exibidas por um softwareQualidades exibidas por um software
Davis, 1992 Davis, 1992 Não-comportamentalNão-comportamental
PortabilidadePortabilidade ConfiabilidadeConfiabilidade EficiênciaEficiência Engenharia humanaEngenharia humana Testabilidade, Understandabilidade, Modificabilidade Testabilidade, Understandabilidade, Modificabilidade
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais IEEE-Std 830 -1993IEEE-Std 830 -1993
3 Specific Requeriments
3.1 Functional requeriments3.2 Performance requeriments3.3 Interface requirements3.4 Operational requirements3.5 Resource requirements3.6 Verification requirements3.7 Acceptance requirements3.8 Documentation requirements3.9 Security requirements3.10 Portabiliry requirements3.11 Quality requirements3.12 Reliabiliry requirements3.13 Maintainabiliry requirements3.14 Safety requirements
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO
SommervilleSommerville Considera:Considera:
Interoperabilidade de software e hardwareInteroperabilidade de software e hardware Processos de desenvolvimento seguidosProcessos de desenvolvimento seguidos Fatores externos, como “Safety e Security regulations”Fatores externos, como “Safety e Security regulations”
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO
SommervilleSommerville
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO
Requisitos de ProdutosRequisitos de Produtos Requsitos que podem ser formulado precisamenteRequsitos que podem ser formulado precisamente
O sistema X terá uma disponibilidade de 999/1000 ou 99%. O sistema X terá uma disponibilidade de 999/1000 ou 99%. Isso significa, que a cada 1000 pedidos no serviço 999 devem Isso significa, que a cada 1000 pedidos no serviço 999 devem ser satisfeitos. ser satisfeitos.
Um sistema X processará 8 transações por segundo .Um sistema X processará 8 transações por segundo . O código executável em Z de um sistema está limitado em 512 O código executável em Z de um sistema está limitado em 512
Kb.Kb.
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO
Requisitos de ProdutosRequisitos de Produtos Requistos declarados no estado informalRequistos declarados no estado informal
O sistema será desenvolvido para PC e MACINTOSH. O sistema será desenvolvido para PC e MACINTOSH. O sistema codificará todas as comunicações externas em algoritmo O sistema codificará todas as comunicações externas em algoritmo
RSA. RSA. O sistema X Será implementado usando a versão 5 da BIBLIOTECA O sistema X Será implementado usando a versão 5 da BIBLIOTECA
Y.Y.
Conflitos em requisitos de ProdutoConflitos em requisitos de Produto
Requisito de utilização de espaço pode entrar em conflito com o Requisito de utilização de espaço pode entrar em conflito com o requisito que especifica um compilador padrão, no qual não gerará o requisito que especifica um compilador padrão, no qual não gerará o código compacto a ser usado.código compacto a ser usado.
Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO
Requisitos de ProcessosRequisitos de Processos O processo de desenvolvimento deve ser definido O processo de desenvolvimento deve ser definido
claramente conforme o padrão ISO 9000claramente conforme o padrão ISO 9000 O sistema deve ser desenvolvido usando a seqüência XYZ O sistema deve ser desenvolvido usando a seqüência XYZ
da ferramenta CASE.da ferramenta CASE. O gerenciamento de relatórios deve ser produzido a cada O gerenciamento de relatórios deve ser produzido a cada
duas semanas, informando o esforço gasto, com a duas semanas, informando o esforço gasto, com a
identificação do componente do sistema.identificação do componente do sistema. Um esquema de recuperação no desenvolvimento do Um esquema de recuperação no desenvolvimento do
sistema deve ser especificado para o caso de acidentes.sistema deve ser especificado para o caso de acidentes.
Classificação de RequisitosClassificação de RequisitosNão-funcionais Não-funcionais CONTINUAÇÃOCONTINUAÇÃO
Requisitos ExternosRequisitos Externos São requisitos que podem ser colocados no produto e no São requisitos que podem ser colocados no produto e no
processo e são derivados do ambiente que é desenvolvido.processo e são derivados do ambiente que é desenvolvido.
Eles podem fundamentar-se nas informações de domínio Eles podem fundamentar-se nas informações de domínio
da aplicação.da aplicação.
Considerações OeganizacionaisConsiderações Oeganizacionais
Necessidades com outros sistemasNecessidades com outros sistemas
Safety ou regulamentos de proteção dos dadosSafety ou regulamentos de proteção dos dados
Leis básicas da física natural Leis básicas da física natural
Requisitos ExternosRequisitos ExternosExemplo 1Exemplo 1 O sistema de registro de estudante. O sistema de registro de estudante.
O formato dos dados de registro de estudante disponível pelo O formato dos dados de registro de estudante disponível pelo SREC (Student Record System)SREC (Student Record System)
Seqüência de registro de dados usada na anotação é como se segue:Seqüência de registro de dados usada na anotação é como se segue:Admission_No + Name + Address + University + Course Admission_No + Name + Address + University + Course The individual data items are defined thus: The individual data items are defined thus: Admission_No = Year + Personal_Number Admission_No = Year + Personal_Number Year = Year = 44{Digit}{Digit}4 4
Personal_Number =Personal_Number = 5 5{Dìgit}{Dìgit}55 Digit = 0 |1| 1 | .. | 9 Digit = 0 |1| 1 | .. | 9 Name = Surname + (Middlename) + Fìrstname Name = Surname + (Middlename) + Fìrstname Surname =Surname =11[Letter}[Letter}1515+ (Hyphen) ++ (Hyphen) +11{Lettex}{Lettex}15 15
Middlename = {Letter)Middlename = {Letter)10 10 FirstrLame =FirstrLame =11{Letter}{Letter}1515 Letter= A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|X|Y|Z Letter= A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|X|Y|Z Hyphen = - Hyphen = - Address =Address =11{Char}{Char}140140 Char = Digit |1| Letter | - | | , Char = Digit |1| Letter | - | | , University =University =11{Letter}{Letter}2020 Course = Course = 11{Letter}{Letter}2020
Requisitos ExternosRequisitos ExternosExemplo 2Exemplo 2
Sistema de dados médicos. Sistema de dados médicos.
Organização de proteção de dados oficial deve Organização de proteção de dados oficial deve certificar que todos os dados mantido, estejam de certificar que todos os dados mantido, estejam de acordo com a legislação de proteção de dados, acordo com a legislação de proteção de dados,
antes do sistema entrar em operaçãoantes do sistema entrar em operação..
Requisitos ExternosRequisitos ExternosExemplo 3Exemplo 3
Sistema de proteção nos Sistema de proteção nos trenstrens.. O tempo requerido para um trem O tempo requerido para um trem
obter uma parada completa usa a obter uma parada completa usa a seguinte função computadorizada:seguinte função computadorizada: tremtrem = = controlecontrole++gradientegradiente
ondeonde gradiente=gradiente= 9,8ms 9,8ms-2/-2/gradiente gradiente
compensado/alpha e esses compensado/alpha e esses valores são conhecidos para os valores são conhecidos para os diversos tipos de trensdiversos tipos de trens
Derivando Requisitos não FuncionaisDerivando Requisitos não Funcionais
Não são abordados adequadamente devido:Não são abordados adequadamente devido:
Dificuldade de elicitar Dificuldade de elicitar
Limites relacionados ao projetoLimites relacionados ao projeto
Subjetivas => avaliações empíricas complexas.Subjetivas => avaliações empíricas complexas.
Derivando Requisitos não FuncionaisDerivando Requisitos não Funcionais
Requisitos não funcionais estão relacionados a Requisitos não funcionais estão relacionados a
requisitos funcionais.requisitos funcionais.
Requisitos não funcionais tendem a conflitar entre Requisitos não funcionais tendem a conflitar entre
si.si.
Não há regras para os requisitos não-funcionais.Não há regras para os requisitos não-funcionais.
Uma solução é uma proposta para uma nova Uma solução é uma proposta para uma nova
soluçãosolução
Traduzir objetivos gerais ou metas em declarações que se refiram às propriedades mensuráveis do sistema
Propostas de ModelosPropostas de Modelos
Chung modelo-orientado-a-metas Chung modelo-orientado-a-metas Dobson modelos lógicos Dobson modelos lógicos Kotonia (Kotonia and Sommerville, 1996) Kotonia (Kotonia and Sommerville, 1996)
pontos-de-vistapontos-de-vista
Requisitos de Software Requisitos de Software (Preocupações)(Preocupações)
Os interessados tem preocupações Os interessados tem preocupações importantes mas difícil de articularimportantes mas difícil de articular
São tipicamente não-funcionaisSão tipicamente não-funcionais Objetivos críticos do negócio (padronização)Objetivos críticos do negócio (padronização) Características essenciais do sistema comoCaracterísticas essenciais do sistema como
segurançasegurança desempenhodesempenho funcionalidadefuncionalidade manutenabilidademanutenabilidade
Atender as preocupações em cada estágio é prioritário Atender requisitos funcionaisAtender requisitos funcionais Expressam requisitos críticos "holísticos”Expressam requisitos críticos "holísticos” sub-preocupaçõessub-preocupações lista de verificaçãolista de verificação Preocupações x prioridades globaisPreocupações x prioridades globais
Requisitos de Software Requisitos de Software (Preocupações)(Preocupações)
Necessidades dousuário
Preocupações dousuário
Requisitos não-funcionais
Função 1. Facilidade de uso2. Acesso não autorizado3. Possibilidade de falha
1. Usabilidade2. Segurança3. Confiança
Desempenho 4. Utilização de recursos5. Desemp. de
verificação6. Facilidade
comunicação
4. Eficiência5. Verificabilidade6. Interoperabili.
Alteração 7. Facilidade de reparar8. Facilidade de alterar9. Facilidade de
transportar10. Facilidade de
expandir
7. Mantenabilidade8. Flexibilidade9. Portabilidade10. Expansibilidade
Relacionamento entre necessidades do Relacionamento entre necessidades do usuário e requisitos não funcionaisusuário e requisitos não funcionais
Safety
Colisão Descarrilamento Acidente Pessoal
Excesso de Velocidadepara as condições de trajeto
Dano de trajeto
Que informação sobre dano de trajeto é solicitadopelo sistema ?Como é fornecida ?
O Sistema deve estarapto a detectar e evitarcausas de descarrilamento
Sob que condições o excesso velocidade pode causar descarrilamento ?
O que sig. na verdade“excesso de velocidade” ?
Decomposição de PreocupaçõesDecomposição de PreocupaçõesSistema de Proteção de TremSistema de Proteção de Trem
Compatibilidade
Hardware Software Física
Ambiente deExecução
Tempo Interface
Um requisitoafetará o desempenhodo software ?
O requisitonecessita dedados quenão estãodisponíveisna Interface ?
O Sistema deveser executado numambiente de execuçãoADA
Pode esta função ser fornecida pelo ambiente de execução ?
Decomposição de PreocupaçõesDecomposição de PreocupaçõesSistema de Proteção de TremSistema de Proteção de Trem
Processo Modelo de EmpresaProcesso Modelo de Empresa
Loucopulos and Karakostas (1995)Loucopulos and Karakostas (1995) metas da empresametas da empresa sub-metas sub-metas não-funcionaisnão-funcionais Vantagem rastrear os requisitos não-Vantagem rastrear os requisitos não-
funcionais funcionais
MetaVisualizar os cenáriosde tráfego aéreo
Requer sistema de resposta em tempo real
Meta secundária
Todos os dadosdos cenários devemser mostrados
Os dados do radardevem ser mostradosem tempo real
A posição da aeronavedeve ser mostrada em menos de 0.165s
Mostrar 100trajetos
Mostrar 100vetores
Mostrar 500 tabelasde símbolos
Requisitos não-funcionais quantitativos
Requisitos não-funcionais
Relacionamento entre Empresa e Relacionamento entre Empresa e Metas do SistemaMetas do Sistema
Atributos de requisitos não-funcionaisAtributos de requisitos não-funcionais (Deutsch and Willis, 1988; Sommerville, 1996)(Deutsch and Willis, 1988; Sommerville, 1996)
eles devem ser objetivoseles devem ser objetivos um requisito não-funcional é objetivo se não um requisito não-funcional é objetivo se não
expressa um desejo, uma meta, ou uma opinião expressa um desejo, uma meta, ou uma opinião
pessoal.pessoal.
eles devem ser testáveiseles devem ser testáveis um requisito não-funcional é testável se há algum um requisito não-funcional é testável se há algum
processo pelo qual o requisito possa ser testadoprocesso pelo qual o requisito possa ser testado
Exemplos de medidas métricas para Exemplos de medidas métricas para requisitos não-funcionaisrequisitos não-funcionais
Propriedade MétricaDesempenho transações processadas por segundo
tempo de resposta para entrada do usuárioConfiança taxa de ocorrência de falha
tempo médio de falhaDisponibilidade probabilidade de falha na demandaTamanho kbytesUsabilidade tempo necessário para aprender 80% das
facilidades número de erros cometidos pelo usuário
num dado período de tempoRobustez tempo para reiniciar após uma falha no
sistemaPortabilidade número de sistemas alvo
Representação
das atividades
NFR
Requisitos não Funcionais Requisitos não Funcionais Pericles Loucopoulos e Vassilios KarakostasPericles Loucopoulos e Vassilios Karakostas
DeclaraçõesDeclarações
de Requisitosde Requisitos
dos stakeholdersdos stakeholders
ModeloModelo
EmpresarialEmpresarial
ModeloModelo
requisitosrequisitos
FuncionaisFuncionais
NFREstruturados
Sistemas críticos são sistemas cuja ‘falha’ causam danos significativos para as pessoas ou organizações.
Requisitos para Sistemas CríticosRequisitos para Sistemas Críticos
econômicoseconômicos físicosfísicos humanoshumanos
Requisitos para Sistemas CríticosRequisitos para Sistemas Críticos
Há três tipos principais:Há três tipos principais:
Comerciais => dano econômicoComerciais => dano econômico Missão => realização de tarefasMissão => realização de tarefas Safety => dano humano/ambientalSafety => dano humano/ambiental
Requisitos para Sistemas CríticosRequisitos para Sistemas Críticos
As principais restrições não-funcionais:As principais restrições não-funcionais: confiançaconfiança desempenhodesempenho security (segurança para o sistema)security (segurança para o sistema) usabilidadeusabilidade safety (segurança para o usuário/meio safety (segurança para o usuário/meio
ambiente )ambiente )
Requisitos para Sistemas CríticosRequisitos para Sistemas Críticos
requisitos não-funcionais são:requisitos não-funcionais são:
requisitos do sistema como um todorequisitos do sistema como um todo
pode levar a requisitos funcionais específicos pode levar a requisitos funcionais específicos
para o software ou outros sub-sistemas.para o software ou outros sub-sistemas.
ocorre conflito entre elesocorre conflito entre eles
Requisitos para Sistemas CríticosRequisitos para Sistemas Críticos
Identificados explicitamente e negociadosIdentificados explicitamente e negociados Código => Desempenho => Confiança Código => Desempenho => Confiança Código => Desempenho => Confiança Código => Desempenho => Confiança Segurança => Segurança => Usabilidade Usabilidade
SafetySafety contradiz Disponibilidade do sistemacontradiz Disponibilidade do sistema compromisso entre os interessados paracompromisso entre os interessados para
satisfazer o sistemasatisfazer o sistema
São Restrições no comportamento do sistema durante a execução
Requisitos de ConfiançaRequisitos de Confiança
Disponibilidade Disponibilidade exemplo: 3 minutos de indisponibilidade em 24 exemplo: 3 minutos de indisponibilidade em 24
horas horas Taxa de falha Taxa de falha
ROCOF - taxa de ocorrência de falhas num dado ROCOF - taxa de ocorrência de falhas num dado período de tempoperíodo de tempo
MTTF - tempo médio entre falhas no sistemaMTTF - tempo médio entre falhas no sistema
limitam a velocidade de operação de um sistema:
Requisitos de DesempenhoRequisitos de Desempenho
Requisitos de resposta Requisitos de resposta sistema deve responder a uma solicitação do usuário sistema deve responder a uma solicitação do usuário
dentro de 2 segundos.dentro de 2 segundos. Requisitos throughput Requisitos throughput
processar pelo menos 10 transações por segundo.processar pelo menos 10 transações por segundo. Requisitos de tempo Requisitos de tempo
o sistema deve registrar os dados dos sensores pelo o sistema deve registrar os dados dos sensores pelo menos 6 vezes por segundomenos 6 vezes por segundo
Requisitos de DesempenhoRequisitos de Desempenho
A memória RAM pode afetarA memória RAM pode afetar o comportamento do sistema na execuçãoo comportamento do sistema na execução a velocidade de operação do sistema. a velocidade de operação do sistema.
Devem ser especificados quantitativamenteDevem ser especificados quantitativamente
Requisitos de Segurança (Security)Requisitos de Segurança (Security)
Os requisitos de segurança são incluídos numOs requisitos de segurança são incluídos num
sistema parasistema para
assegurar que não seja permitido o acesso assegurar que não seja permitido o acesso
não autorizado ao sistema e aos seus dados não autorizado ao sistema e aos seus dados para assegurar integridade do sistema para assegurar integridade do sistema
quando de danos acidentais e maliciosos. quando de danos acidentais e maliciosos.
Especificam a interface do usuário final e interações com o sistema.
Requisitos de UsabilidadeRequisitos de Usabilidade
podem ser especificados quantitativamentepodem ser especificados quantitativamente são pouco concretossão pouco concretos preocupados em achar consistência através preocupados em achar consistência através
de diferentes sistemasde diferentes sistemas decisões de projeto de sistema afetam que decisões de projeto de sistema afetam que
formulários serão usados.formulários serão usados.
Requisito de Segurança (Safety)Requisito de Segurança (Safety)
Não há concenso sobre o que significa o termo Não há concenso sobre o que significa o termo ‘requisito seguro’ (safety requirement) ‘requisito seguro’ (safety requirement)
requisitos que estão diretamente relacionados requisitos que estão diretamente relacionados para assegurar operação segurapara assegurar operação segura
requisitos de sistemas de proteção que são requisitos de sistemas de proteção que são projetados para proteger contra acidentes.projetados para proteger contra acidentes.
o uso específico do termo geralmente depende o uso específico do termo geralmente depende da cultura e prática da organização na qual é da cultura e prática da organização na qual é usado.usado.
Requisitos “safety” são os requisitos ‘não devem’ que excluem situações inseguras das soluções do sistema.
o sistema não deve permitir operação a o sistema não deve permitir operação a menos que o responsável pela operação menos que o responsável pela operação esteja presenteesteja presente
Requisito de Segurança (Safety)Requisito de Segurança (Safety)
Os requisitos “safety” podem não definir a funcionalidade de um sistema mas, ao inves disso, descrever um comportamento inaceitável ou indesejado do sistema.
o sistema não deve permitir que seja o sistema não deve permitir que seja aplicado ao paciente uma dose de sedativo aplicado ao paciente uma dose de sedativo maior que o valor máximo determinado pelo maior que o valor máximo determinado pelo médico do pciente.médico do pciente.
o sistema não deve operar se a temperatura o sistema não deve operar se a temperatura externa estiver menor que 4 graus Celsius.externa estiver menor que 4 graus Celsius.
Requisito de Segurança (Safety)Requisito de Segurança (Safety)
ER em sistemas relacionados com ER em sistemas relacionados com segurança (segurança (safetysafety))
Sistemas em que uma falha pode causar Sistemas em que uma falha pode causar
danos aos operadores, clientes, organização, danos aos operadores, clientes, organização,
ambiente ou público em geralambiente ou público em geral Controle de tráfego aéreoControle de tráfego aéreo
Controle de rotas de tremControle de rotas de trem
Controle industrialControle industrial
Produtos domésticosProdutos domésticos
ER em sistemas relacionados com ER em sistemas relacionados com segurança (segurança (safetysafety))
A segurança (safety) do sistema depende de A segurança (safety) do sistema depende de
vários requisitos não-funcionais (não apenas vários requisitos não-funcionais (não apenas
de segurança):de segurança): ConfiabilidadeConfiabilidade
Segurança de acesso (security)Segurança de acesso (security)
DesempenhoDesempenho
UsabilidadeUsabilidade
ER em sistemas relacionados com ER em sistemas relacionados com segurança (segurança (safetysafety) )
Como derivar requisitos ?Como derivar requisitos ?
Atividade de análise de segurançaAtividade de análise de segurança
Preocupa-se em garantir que o sistema produzido Preocupa-se em garantir que o sistema produzido
não coloca em perigo os usuários finais ou o não coloca em perigo os usuários finais ou o
ambienteambiente
Ciclo de vida de sistemas críticosCiclo de vida de sistemas críticos
Análise de danos Avaliação de riscos
Especificação dos requisitos de segurançarequisitos funcionais
requisitos desegurança
Definição dos sistemas de segurança
Planejamento da validação Projeto e implementação Verificação
Validação da segurança
Manutenção operacional
BCS and IEE 1989
Derivando requisitosDerivando requisitos
Guilhotina automática para cortar papelGuilhotina automática para cortar papel
Lâmina verticalLâmina vertical
MotorMotor
Software de controle (controlador)Software de controle (controlador)
Botões de início e fim do corteBotões de início e fim do corte
Um único operadorUm único operador
SensoresSensores
Derivando requisitosDerivando requisitos
requisitos abstratos
Requisitos
Elicitação Análise Documentação Validação
Processo de requisitos
Identificar considerações desegurança associados
Identificar danos
requisitos de segurança abstratos
Sugestões de requisitosAvaliar riscos
Análise de segurança
Analisar danos
Derivando requisitosDerivando requisitos
Esmagar a mão do operador
Falha mecânica Erro do operador Falha do controlador
Falha natrava
Falha no mecanismoda lâmina
Falha de software Falha elétrica
Erro de implementação Erro de projeto Erro de especificação
Fault-treeLevenson and Harvey
Derivando requisitosDerivando requisitos
Falha mecânicaFalha mecânica O sistema deve manter um log para verificar se a O sistema deve manter um log para verificar se a
manutenção está em dia. Se a manutenção manutenção está em dia. Se a manutenção
atrasar por 2 dias, o sistema é desabilitadoatrasar por 2 dias, o sistema é desabilitado
A lâmina da guilhotina deve estar ligada a duas A lâmina da guilhotina deve estar ligada a duas
travas, ambas controladas pelo software travas, ambas controladas pelo software
(controlador). Caso haja uma falha em alguma (controlador). Caso haja uma falha em alguma
trava, o sistema é desabilitadotrava, o sistema é desabilitado
Derivando requisitosDerivando requisitos
Erro do operadorErro do operador Dois botões fisicamente separados por 30 cm Dois botões fisicamente separados por 30 cm
devem ser pressionados simultaneamentedevem ser pressionados simultaneamente
Se algum dos botões (ou ambos) estiverem Se algum dos botões (ou ambos) estiverem
pressionados por mais de 0,25 segundos o pressionados por mais de 0,25 segundos o
sistema deve ser desabilitadosistema deve ser desabilitado
Derivando requisitosDerivando requisitos
Falha do controladorFalha do controlador O software de controle deve ser formalmente O software de controle deve ser formalmente
especificado em Z e a consistência da especificado em Z e a consistência da especificação deve ser demonstrada com especificação deve ser demonstrada com argumentos matemáticosargumentos matemáticos
A integridade dos dados do sistema deve ser A integridade dos dados do sistema deve ser checada duas vezes a cada segundo. Se alguma checada duas vezes a cada segundo. Se alguma inconsistência for detectada, o sistema é inconsistência for detectada, o sistema é desabilitadodesabilitado
ResumoResumo
Requisitos não-funcionais definem Requisitos não-funcionais definem
qualidades ou atributos gerais do sistemaqualidades ou atributos gerais do sistema Existem três tipos: produto, processo e Existem três tipos: produto, processo e
requisitos externosrequisitos externos As principais restrições são:As principais restrições são:
Confiabilidade, desempenho, usabilidade e Confiabilidade, desempenho, usabilidade e
segurança (segurança (safetysafety e e securitysecurity))