Requisitos Nofuncionais Introduo Requisitos Nofuncionais Temas Classificao de

  • Slides: 52
Download presentation
Requisitos Não-funcionais

Requisitos Não-funcionais

Introdução Requisitos Não-funcionais Temas: ù ù Classificação de Requisitos Não-Funcionais Derivando Requisitos Não-Funcionais Requisitos

Introdução Requisitos Não-funcionais Temas: ù ù Classificação de Requisitos Não-Funcionais Derivando Requisitos Não-Funcionais Requisitos para Sistemas Críticos Engenharia de Requisitos para “Safety-Related System”

Introdução Objetivos Colocar restrições Antes e durante o processo desenvolvimento ù Definir as qualidades

Introdução Objetivos Colocar restrições Antes e durante o processo desenvolvimento ù Definir as qualidades globais do sistema ù Segurança (Safety , Security) ù Usabilidade ù Confiança ù Requisitos de desempenho ù Colocar restrições no serviço do sistema sobre exigências do usuário (Interfaces, Qualidades, Recurso, Tempo) ù

Introdução ù Requisitos Não-funcionais/funcionais Exemplo: Requisito de segurança O sistema só permitirá acesso aos

Introdução ù Requisitos Não-funcionais/funcionais Exemplo: Requisito de segurança O sistema só permitirá acesso aos dados, com autorização. ù O sistema terá um procedimento de autorização de usuários, nos quais tenham que se identificar usando um (login) e uma senha. Somente usuários autorizados terão acesso aos dados ù

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Boehm-1976, ( Deutsh e Willis, 1998) ù ù

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Boehm-1976, ( Deutsh e Willis, 1998) ù ù Qualidades exibidas por um software Davis, 1992 ù Não-comportamental ù ù ù Portabilidade Confiabilidade Eficiência Engenharia humana Testabilidade, Understandabilidade, Modificabilidade

Classificação de Requisitos Não-funcionais ù IEEE-Std 830 -1993

Classificação de Requisitos Não-funcionais ù IEEE-Std 830 -1993

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Sommerville ù Considera: Interoperabilidade de software e hardware

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Sommerville ù Considera: Interoperabilidade de software e hardware ù Processos de desenvolvimento seguidos ù Fatores externos, como “Safety e Security regulations” ù

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Sommerville

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Sommerville

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos de Produtos ù Requsitos que podem ser

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos de Produtos ù Requsitos que podem ser formulado precisamente O sistema X terá uma disponibilidade de 999/1000 ou 99%. Isso significa, que a cada 1000 pedidos no serviço 999 devem ser satisfeitos. ù Um sistema X processará 8 transações por segundo. ù ù O código executável em Z de um sistema está limitado em 512 Kb.

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos de Produtos ù Requistos declarados no estado

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos de Produtos ù Requistos declarados no estado informal O sistema será desenvolvido para PC e MACINTOSH. ù O sistema codificará todas as comunicações externas em algoritmo RSA. ù O sistema X Será implementado usando a versão 5 da BIBLIOTECA Y. ù ù Conflitos em requisitos de Produto ù 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 código compacto a ser usado.

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos de Processos ù O processo de desenvolvimento

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos de Processos ù O processo de desenvolvimento deve ser definido claramente conforme o padrão ISO 9000 ù O sistema deve ser desenvolvido usando a seqüência XYZ da ferramenta CASE. ù O gerenciamento de relatórios deve ser produzido a cada duas semanas, informando o esforço gasto, com a identificação do componente do sistema. ù Um esquema de recuperação no desenvolvimento do sistema deve ser especificado para o caso de acidentes.

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos Externos ù São requisitos que podem ser

Classificação de Requisitos Não-funcionais CONTINUAÇÃO ù Requisitos Externos ù São requisitos que podem ser colocados no produto e no processo e são derivados do ambiente que é desenvolvido. ù Eles podem fundamentar-se nas informações de domínio da aplicação. ù Considerações Oeganizacionais ù Necessidades com outros sistemas ù Safety ou regulamentos de proteção dos dados ù Leis básicas da física natural

Requisitos Externos Exemplo 1 ù O sistema de registro de estudante. O formato dos

Requisitos Externos Exemplo 1 ù O sistema de registro de estudante. O formato dos dados de registro de estudante disponível pelo SREC (Student Record System) Seqüência de registro de dados usada na anotação é como se segue: Admission_No + Name + Address + University + Course The individual data items are defined thus: Admission_No = Year + Personal_Number Year = 4{Digit}4 Personal_Number = 5{Dìgit}5 Digit = 0 |1| 1 |. . | 9 Name = Surname + (Middlename) + Fìrstname Surname =1[Letter}15+ (Hyphen) +1{Lettex}15 Middlename = {Letter)10 Firstr. Lame =1{Letter}15 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 = Address =1{Char}140 Char = Digit |1| Letter | - | | , University =1{Letter}20 Course = 1{Letter}20

Requisitos Externos Exemplo 2 · Sistema de dados médicos. Organização de proteção de dados

Requisitos Externos Exemplo 2 · Sistema de dados médicos. Organização de proteção de dados oficial deve certificar que todos os dados mantido, estejam de acordo com a legislação de proteção de dados, antes do sistema entrar em operação.

Requisitos Externos Exemplo 3 Sistema de proteção nos trens. O tempo requerido para um

Requisitos Externos Exemplo 3 Sistema de proteção nos trens. O tempo requerido para um trem obter uma parada completa usa a seguinte função computadorizada: trem = controle+ gradiente onde gradiente= 9, 8 ms-2/gradiente compensado/alpha e esses valores são conhecidos para os diversos tipos de trens

Derivando Requisitos não Funcionais ù Não são abordados adequadamente devido: ù Dificuldade de elicitar

Derivando Requisitos não Funcionais ù Não são abordados adequadamente devido: ù Dificuldade de elicitar ù Limites relacionados ao projeto ù Subjetivas => avaliações empíricas complexas.

Derivando Requisitos não Funcionais ù Requisitos não funcionais estão relacionados a requisitos funcionais. ù

Derivando Requisitos não Funcionais ù Requisitos não funcionais estão relacionados a requisitos funcionais. ù Requisitos não funcionais tendem a conflitar entre si. ù Não há regras para os requisitos não-funcionais. ù Uma solução é uma proposta para uma nova solução

Propostas de Modelos ù ù ù Chung modelo-orientado-a-metas Dobson modelos lógicos Kotonia (Kotonia and

Propostas de Modelos ù ù ù Chung modelo-orientado-a-metas Dobson modelos lógicos Kotonia (Kotonia and Sommerville, 1996) pontos-de-vista Traduzir objetivos gerais ou metas em declarações que se refiram às propriedades mensuráveis do sistema

Requisitos de Software (Preocupações) ù Os interessados tem preocupações importantes mas difícil de articular

Requisitos de Software (Preocupações) ù Os interessados tem preocupações importantes mas difícil de articular ù São tipicamente não-funcionais ù Objetivos críticos do negócio (padronização) ù Características essenciais do sistema como ù segurança ù desempenho ù funcionalidade ù manutenabilidade

Requisitos de Software (Preocupações) Atender as preocupações em cada estágio é prioritário ù Atender

Requisitos de Software (Preocupações) Atender as preocupações em cada estágio é prioritário ù Atender requisitos funcionais ù Expressam requisitos críticos "holísticos” ù sub-preocupações ù lista de verificação ù Preocupações x prioridades globais

Relacionamento entre necessidades do usuário e requisitos não funcionais

Relacionamento entre necessidades do usuário e requisitos não funcionais

Decomposição de Preocupações Sistema de Proteção de Trem Safety Colisão Descarrilamento Excesso de Velocidade

Decomposição de Preocupações Sistema de Proteção de Trem Safety Colisão Descarrilamento Excesso de Velocidade para as condições de trajeto O Sistema deve estar apto a detectar e evitar causas de descarrilamento Acidente Pessoal Dano de trajeto Que informação sobre dano de trajeto é solicitado pelo sistema ? Como é fornecida ? O que sig. na verdade“excesso de velocidade” ? Sob que condições o excesso velocidade pode causar descarrilamento ?

Decomposição de Preocupações Sistema de Proteção de Trem Compatibilidade Hardware Ambiente de Execução Software

Decomposição de Preocupações Sistema de Proteção de Trem Compatibilidade Hardware Ambiente de Execução Software Tempo Um requisito afetará o desempenho do software ? Física Interface O requisito O Sistema deve necessita de ser executado num dados que ambiente de execução não estão ADA disponíveis na Interface ? Pode esta função ser fornecida pelo ambiente de execução ?

Processo Modelo de Empresa ù Loucopulos and Karakostas (1995) ù metas da empresa ù

Processo Modelo de Empresa ù Loucopulos and Karakostas (1995) ù metas da empresa ù sub-metas ù não-funcionais ù Vantagem rastrear os requisitos nãofuncionais

Relacionamento entre Empresa e Metas do Sistema Meta secundária Visualizar os cenários de tráfego

Relacionamento entre Empresa e Metas do Sistema Meta secundária Visualizar os cenários de tráfego aéreo Requer sistema de resposta em tempo real Requisitos não-funcionais Os dados do radar Todos os dados devem ser mostrados cenários devem em tempo real ser mostrados Requisitos não -funcionais quantitativos Mostrar 100 trajetos Mostrar 100 vetores A posição da aeronave deve ser mostrada em menos de 0. 165 s Mostrar 500 tabelas de símbolos

Atributos de requisitos não-funcionais (Deutsch and Willis, 1988; Sommerville, 1996) ù eles devem ser

Atributos de requisitos não-funcionais (Deutsch and Willis, 1988; Sommerville, 1996) ù eles devem ser objetivos ù um requisito não-funcional é objetivo se não expressa um desejo, uma meta, ou uma opinião pessoal. ù eles devem ser testáveis ù um requisito não-funcional é testável se há algum processo pelo qual o requisito possa ser testado

Exemplos de medidas métricas para requisitos não-funcionais

Exemplos de medidas métricas para requisitos não-funcionais

Requisitos não Funcionais Pericles Loucopoulos e Vassilios Karakostas Declarações de Requisitos Representação dos stakeholders

Requisitos não Funcionais Pericles Loucopoulos e Vassilios Karakostas Declarações de Requisitos Representação dos stakeholders Modelo das atividades requisitos Modelo Empresarial RNF Estruturados Funcionais

Requisitos para Sistemas Críticos Sistemas críticos são sistemas cuja ‘falha’ causam danos significativos para

Requisitos para Sistemas Críticos Sistemas críticos são sistemas cuja ‘falha’ causam danos significativos para as pessoas ou organizações. econômicos ù físicos ù humanos ù

Requisitos para Sistemas Críticos Há três tipos principais: ù Comerciais => dano econômico ù

Requisitos para Sistemas Críticos Há três tipos principais: ù Comerciais => dano econômico ù Missão => realização de tarefas ù Safety => dano humano/ambiental

Requisitos para Sistemas Críticos ù As principais restrições não-funcionais: ù confiança ù desempenho ù

Requisitos para Sistemas Críticos ù As principais restrições não-funcionais: ù confiança ù desempenho ù security (segurança para o sistema) ù usabilidade ù safety (segurança para o usuário/meio ambiente )

Requisitos para Sistemas Críticos requisitos não-funcionais são: ù requisitos do sistema como um todo

Requisitos para Sistemas Críticos requisitos não-funcionais são: ù requisitos do sistema como um todo ù pode levar a requisitos funcionais específicos para o software ou outros sub-sistemas. ù ocorre conflito entre eles

Requisitos para Sistemas Críticos

Requisitos para Sistemas Críticos

Requisitos de Confiança São Restrições no comportamento do sistema durante a execução ù Disponibilidade

Requisitos de Confiança São Restrições no comportamento do sistema durante a execução ù Disponibilidade ù ù exemplo: 3 minutos de indisponibilidade em 24 horas Taxa de falha ROCOF - taxa de ocorrência de falhas num dado período de tempo ù MTTF - tempo médio entre falhas no sistema ù

Requisitos de Desempenho limitam a velocidade de operação de um sistema: ù Requisitos de

Requisitos de Desempenho limitam a velocidade de operação de um sistema: ù Requisitos de resposta ù ù Requisitos throughput ù ù sistema deve responder a uma solicitação do usuário dentro de 2 segundos. processar pelo menos 10 transações por segundo. Requisitos de tempo ù o sistema deve registrar os dados sensores pelo menos 6 vezes por segundo

Requisitos de Desempenho ù A memória RAM pode afetar o comportamento do sistema na

Requisitos de Desempenho ù A memória RAM pode afetar o comportamento do sistema na execução ù a velocidade de operação do sistema. ù Devem ser especificados quantitativamente

Requisitos de Segurança (Security) Os requisitos de segurança são incluídos num sistema para ù

Requisitos de Segurança (Security) Os requisitos de segurança são incluídos num sistema para ù assegurar que não seja permitido o acesso não autorizado ao sistema e aos seus dados ù para assegurar integridade do sistema quando de danos acidentais e maliciosos.

Requisitos de Usabilidade Especificam a interface do usuário final e interações com o sistema.

Requisitos de Usabilidade Especificam a interface do usuário final e interações com o sistema. podem ser especificados quantitativamente ù são pouco concretos ù preocupados em achar consistência através de diferentes sistemas ù ù decisões de projeto de sistema afetam que formulários serão usados.

Requisito de Segurança (Safety) Não há concenso sobre o que significa o termo ‘requisito

Requisito de Segurança (Safety) Não há concenso sobre o que significa o termo ‘requisito seguro’ (safety requirement) ù requisitos que estão diretamente relacionados para assegurar operação segura ù requisitos de sistemas de proteção que são projetados para proteger contra acidentes. ù o uso específico do termo geralmente depende da cultura e prática da organização na qual é usado. ù

Requisito de Segurança (Safety) Requisitos “safety” são os requisitos ‘não devem’ que excluem situações

Requisito de Segurança (Safety) 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 menos que o responsável pela operação esteja presente

Requisito de Segurança (Safety) o sistema não deve permitir que seja aplicado ao paciente

Requisito de Segurança (Safety) o sistema não deve permitir que seja aplicado ao paciente uma dose de sedativo maior que o valor máximo determinado pelo médico do pciente. ù o sistema não deve operar se a temperatura externa estiver menor que 4 graus Celsius. ù 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.

ER em sistemas relacionados com segurança (safety) ù Sistemas em que uma falha pode

ER em sistemas relacionados com segurança (safety) ù Sistemas em que uma falha pode causar danos aos operadores, clientes, organização, ambiente ou público em geral ù Controle de tráfego aéreo ù Controle de rotas de trem ù Controle industrial ù Produtos domésticos

ER em sistemas relacionados com segurança (safety) ù A segurança (safety) do sistema depende

ER em sistemas relacionados com segurança (safety) ù A segurança (safety) do sistema depende de vários requisitos não-funcionais (não apenas de segurança): ù Confiabilidade ù Segurança de acesso (security) ù Desempenho ù Usabilidade

ER em sistemas relacionados com segurança (safety) ù Como derivar requisitos ? ù Atividade

ER em sistemas relacionados com segurança (safety) ù Como derivar requisitos ? ù Atividade de análise de segurança ù Preocupa-se em garantir que o sistema produzido não coloca em perigo os usuários finais ou o ambiente

Ciclo de vida de sistemas críticos Análise de danos Avaliação de riscos BCS and

Ciclo de vida de sistemas críticos Análise de danos Avaliação de riscos BCS and IEE 1989 Especificação dos requisitos de segurança requisitos funcionais requisitos de segurança Definição dos sistemas de segurança Planejamento da validação Projeto e implementação Validação da segurança Manutenção operacional Verificação

Derivando requisitos ù Guilhotina automática para cortar papel ù Lâmina vertical ù Motor ù

Derivando requisitos ù Guilhotina automática para cortar papel ù Lâmina vertical ù Motor ù Software de controle (controlador) ù Botões de início e fim do corte ù Um único operador ù Sensores

Derivando requisitos abstratos Elicitação Análise Processo de requisitos Documentação Validação Requisitos Identificar considerações de

Derivando requisitos abstratos Elicitação Análise Processo de requisitos Documentação Validação Requisitos Identificar considerações de segurança associados requisitos de segurança abstratos Identificar danos Avaliar riscos Analisar danos Sugestões de requisitos Análise de segurança

Derivando requisitos Esmagar a mão do operador Fault-tree Levenson and Harvey Falha mecânica Falha

Derivando requisitos Esmagar a mão do operador Fault-tree Levenson and Harvey Falha mecânica Falha na trava Erro do operador Falha no mecanismo da lâmina Erro de implementação Falha do controlador Falha de software Erro de projeto Falha elétrica Erro de especificação

Derivando requisitos ù Falha mecânica ù O sistema deve manter um log para verificar

Derivando requisitos ù Falha mecânica ù O sistema deve manter um log para verificar se a manutenção está em dia. Se a manutenção atrasar por 2 dias, o sistema é desabilitado ù A lâmina da guilhotina deve estar ligada a duas travas, ambas controladas pelo software (controlador). Caso haja uma falha em alguma trava, o sistema é desabilitado

Derivando requisitos ù Erro do operador ù Dois botões fisicamente separados por 30 cm

Derivando requisitos ù Erro do operador ù Dois botões fisicamente separados por 30 cm devem ser pressionados simultaneamente ù Se algum dos botões (ou ambos) estiverem pressionados por mais de 0, 25 segundos o sistema deve ser desabilitado

Derivando requisitos ù Falha do controlador ù O software de controle deve ser formalmente

Derivando requisitos ù Falha do controlador ù O software de controle deve ser formalmente especificado em Z e a consistência da especificação deve ser demonstrada com argumentos matemáticos ù A integridade dos dados do sistema deve ser checada duas vezes a cada segundo. Se alguma inconsistência for detectada, o sistema é desabilitado

Resumo ù Requisitos não-funcionais definem qualidades ou atributos gerais do sistema ù Existem três

Resumo ù Requisitos não-funcionais definem qualidades ou atributos gerais do sistema ù Existem três tipos: produto, processo e requisitos externos ù As principais restrições são: ù Confiabilidade, desempenho, usabilidade e segurança (safety e security)