52
Requisitos Não- Requisitos Não- funcionais funcionais Wilson José dos Santos Wilson José dos Santos Pedro Luciano Leite Silva Pedro Luciano Leite Silva Juliano Manabu Iyoda Juliano Manabu Iyoda Universidade Federal de Pernambuco Universidade Federal de Pernambuco Departamento de Informática Departamento de Informática Tópicos Avançados em Engenharia de Software 2 Tópicos Avançados em Engenharia de Software 2 (Engenharia de Requisitos e CASE) (Engenharia de Requisitos e CASE) Prof. Jaelson Brelaz Castro Prof. Jaelson Brelaz Castro Prof. Alexandre Marcos Lins de Vasconcelos Prof. Alexandre Marcos Lins de Vasconcelos Outubro / 1998 Outubro / 1998

Requisitos Não Funcionais

Embed Size (px)

DESCRIPTION

Slide sobre requisitos não funcionais.

Citation preview

Page 1: Requisitos Não Funcionais

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

Page 2: Requisitos Não Funcionais

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”

Page 3: Requisitos Não Funcionais

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)

Page 4: Requisitos Não Funcionais

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

Page 5: Requisitos Não Funcionais

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

Page 6: Requisitos Não Funcionais

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

Page 7: Requisitos Não Funcionais

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”

Page 8: Requisitos Não Funcionais

Classificação de RequisitosClassificação de RequisitosNão-funcionaisNão-funcionais CONTINUAÇÃOCONTINUAÇÃO

SommervilleSommerville

Page 9: Requisitos Não Funcionais

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.

Page 10: Requisitos Não Funcionais

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.

Page 11: Requisitos Não Funcionais

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.

Page 12: Requisitos Não Funcionais

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

Page 13: Requisitos Não Funcionais

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

Page 14: Requisitos Não Funcionais

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..

Page 15: Requisitos Não Funcionais

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

Page 16: Requisitos Não Funcionais

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.

Page 17: Requisitos Não Funcionais

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

Page 18: Requisitos Não Funcionais

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

Page 19: Requisitos Não Funcionais

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

Page 20: Requisitos Não Funcionais

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)

Page 21: Requisitos Não Funcionais

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

Page 22: 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

Page 23: Requisitos Não Funcionais

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

Page 24: Requisitos Não Funcionais

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

Page 25: Requisitos Não 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

Page 26: Requisitos Não Funcionais

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

Page 27: Requisitos Não Funcionais

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

Page 28: Requisitos Não Funcionais

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

Page 29: Requisitos Não Funcionais

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

Page 30: Requisitos Não Funcionais

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

Page 31: Requisitos Não Funcionais

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 )

Page 32: Requisitos Não Funcionais

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

Page 33: Requisitos Não Funcionais

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

Page 34: Requisitos Não Funcionais

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

Page 35: Requisitos Não Funcionais

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

Page 36: Requisitos Não Funcionais

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

Page 37: Requisitos Não Funcionais

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.

Page 38: Requisitos Não Funcionais

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.

Page 39: Requisitos Não Funcionais

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.

Page 40: Requisitos Não Funcionais

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)

Page 41: Requisitos Não Funcionais

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)

Page 42: Requisitos Não Funcionais

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

Page 43: Requisitos Não Funcionais

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

Page 44: Requisitos Não Funcionais

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

Page 45: Requisitos Não Funcionais

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

Page 46: Requisitos Não Funcionais

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

Page 47: Requisitos Não Funcionais

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

Page 48: Requisitos Não Funcionais

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

Page 49: Requisitos Não Funcionais

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

Page 50: Requisitos Não Funcionais

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

Page 51: Requisitos Não Funcionais

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

Page 52: Requisitos Não Funcionais

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))