25
Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da Computação Tópicos em Engenharia de Software 1 Alunos: Alessandro Cruvinel Machado de Araújo Javé Barbosa de Menezes Professores: Jaelson Castro Alexandre Marcos Lins de Vasconcelos

Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Embed Size (px)

Citation preview

Page 1: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Requisitos Não FuncionaisUniversidade Federal de Pernambuco

Centro de Ciências Exatas e da NaturezaDepartamento de Informática

Mestrado em Ciências da Computação

Tópicos em Engenharia de Software 1

Alunos: Alessandro Cruvinel Machado de AraújoJavé Barbosa de Menezes

Professores:Jaelson CastroAlexandre Marcos Lins de Vasconcelos

Page 2: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Conteúdo Definições Classificação de NFR’sDerivando NFR’sPropostas de DerivaçãoSistemas CríticosTécnicas de Representação: Chung e

Júlio César LeiteFerramentas de Apoio

Page 3: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Requisitos Não FuncionaisDefinem restrições globais sobre um sistema

de software.

Não estão preocupados com a funcionalidade do sistema.

Colocam restrições sobre o produto em desenvolvimento e o processo de desenvolvimento.

Definem a qualidade e os atributos do sistema.

Page 4: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Requisitos Não Funcionais

Incluem: Safety Security Usabilidade Confiabilidade Performance Custos de

Desenvolvimento

Custos Operacionais

Robustês Manutenabilida

de Portabilidade outros ...

Page 5: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Não há uma clara distinção entre FR’s e NFR’s, depende do nível de detalhamento.

Norma IEEE-Std 830 - 1993: Performance Interface Operacionais Recurso Verificação Aceitação Documentação

Classificação de NFR’s

Segurança Portabilidade Qualidade Confiabilidade Manutenabilidade Safety

Page 6: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Classificação de NFR’s

Boehm (1976) - referia-se a qualidade que o software deveria exibir.

Deutsch e Willis (1988) - técnica similarDavis (1992) - NFR’s como requisitos não

comportamentais.Sommerville afirmava que requisitos

surgiam porque metas deviam ser alcançadas. Classificou os NFR’s em:

- Produto - Processo - Externos

Page 7: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Classificação de NFR’s

Requisitos de Produto: Especificam as características do sistema ou

subsistema.

Alguns podem ser formulados e facilmente quantificados (Ex. performance, capacidade).

Outros são mais difíceis de quantificar e são declarados informalmente (Ex. usabilidade).

Page 8: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Classificação de NFR’s

Requisitos de Processo: Restrições sobre o processo de

desenvolvimento do sistema. Incluem :

restrições sobre padrões e métodos de desenvolvimento os quais devem ser seguidos.

ferramentas CASE que devem ser usadas.

relatórios de gerenciamento que devem ser providenciados.

Page 9: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Classificação de NFR’sRequisitos Externos:

Restrições sobre o produto e/ou processo. São derivados do ambiente no qual o sistema está

instalado. Podem ser baseados :

domínio de informação da aplicação.considerações organizacionais.na necessidade do sistema trabalhar com outros

sistemas.segurança e regulamentos de proteção dos dados.até mesmo leis naturais básicas, como por exemplo as

leis da física.

Page 10: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Classificação de NFR’s

Requisitos de Processo Requisitos ExternosRequisitos de Produto

Requisitos de Entrega

Requisitos de Implementação

Requisitos de Padrões

Requisitos de Usabilidade

Requisitos de ProcessoRequisitos de Confiabilidade

Requisitos de Safety

Requisitos de Capacidade

Requisitos de Performance

Requisitos de Eficiência

Restrições Legais

Restrições Econômicas

Restrições de Interoperabilidade

Requisitos Não Funcionais

Page 11: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Derivando NFR’sNFR’s não são cobertos adequadamente pela

maioria dos métodos.

Métodos existentes se baseiam sobre análise funcional e orientada a objeto que são limitados para representação de NFR’s.

Suportar NFR’s é muito difícil. Eles são diversos e devem ser expressos em formas específicas de um domínio.

Page 12: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Problemas P/ Expressar NFR’s Questões importantes que contribuem para o

problema de se expressar requisitos não-funcionais: Certas restrições são relacionadas a uma solução de projeto

que é desconhecida no estágio de requisitos. Outras restrições são altamente subjetivas e só podem ser

determinadas através de avaliações empíricas complexas. Requisitos não-funcionais tendem a ser relacionados há um

ou mais requisitos funcionais. Expressar requisitos funcionais e não-funcionais separadamente torna difícil a visualização destes relacionamentos.

Requisitos não-funcionais tendem a conflitar e contradizer outros requisitos não-funcionais.

Não há regras e diretrizes para determinar quando requisitos não-funcionais foram bem encontrados.

Page 13: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Propostas para Derivar NFR’sChung - método orientado a metas onde

requisitos são tratados como metas potencialmente conflitantes.

Dobson - modelos lógicos de NFR’s derivados do ambiente organizacional.

Kotonya - Framework baseado em ponto de vista que integra FR’s e NFR’s.

Page 14: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Propostas para Derivar NFR’s

Sommerville - descreve como preocupações são reduzidas em sub-preocupações e finalmente em metas.

Loucopolos e Karakostas - relacionam NFR’s com metas organizacionais. Decomposição de metas em submetas e finalmente em NFR’s.

Page 15: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Objetivos das Propostas

Traduzir objetivos e metas gerais em declarações referentes a propriedades mensuráveis.

Sommerville e outros afirmam que NFR’s devem ser objetivos e testáveis para que metas vagas não sejam confundidos com NFR’s mais específicos.

Page 16: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Sistemas CríticosA falha de sistemas críticos pode ser resultado

da falha de requisitos funcionais.Mais freqüentemente a falha resulta de

problemas do sistema em satisfazer algum NFR sobre sua operação.

Principais NFR’s relevantes a sistemas críticos: Confiabilidade Performance Segurança Usabilidade Safety

Page 17: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Técnicas de Representação

Modelo baseados em metas (framework para lidar com NFRs) - Chung

Integrar Requisitos não funcionais na modelagem de dados - Julio Cesar e Luiz Marcio

Page 18: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Modelo Baseado em MetasTrata os NFRs como metasTécnica orientada a processo - trata os

requisitos não funcionais durante o processo de desenvolvimento do software

Considera alternativas para satisfazer os NFRs

Relaciona decisões de projeto a NFRsAuxilia na detecção de conflitos

Page 19: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Framework para metas

Um requisito não funcional representa uma meta a ser atingida

Considera um conjunto inicial de metasRefina estas metas em sub-metasLevanta-se alternativas para satisfação

da metaEscolhe-se uma das alternativas,

justificando a escolha (argumento)

Page 20: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

InformaçãoConfidencial [Conta]

Disponibilidade[Conta]

Exemplo - Cartões de Crédito

Segurança [Conta]

Confidenciabilidade [Conta]

Exatidão [Conta]

Confidenciabilidade Interna [Conta]

Autenticar [Conta]

Password Alegação [“fraude interna é frequente”]

meta

meta satisfeita

argumento nó AND

Page 21: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Metodologia para usar o Framework

Aquisição de conhecimento Relativo a um requisito não funcional específico

(segurança, performance) Relativo ao domínio da organização

Divisão do domínio em categorias, e identificação das metas importantes

Verificar razões do projetoAplicar FrameworkAvaliar se requisitos fundamentais foram

realmente encontrados

Page 22: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Modelo Baseado em MetasPontos Positivos

Mantém um importante histórico do desenvolvimento

Boa detecção de conflitos e clarificação dos NFRsPontos Negativos

Estrutura de grafos muito complexa para sistemas grandes

Não cobre os NFRs completamente - pode ser necessário usar outros métodos de decomposição

Page 23: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

NFR-Assistant: um case para metas

Ferramenta que incorpora a semântica e a sintaxe do framework NFR

Suporte gráfico ao modelo de metasPossui catálogo para decomposição de

metasFacilidade para localização de metasFacilita avaliação dos efeitos causados

por uma meta

Page 24: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Integrar NFRs namodelagem de dados

Integra NFRs ao modelo ERFoi criado a partir da necessidade de

modelar os NFRs antes da fase de projeto no ciclo de evolução do software

Enfatiza o relacionamento entre requisitos funcionais e não funcionais e seus conflitos

Page 25: Requisitos Não Funcionais Universidade Federal de Pernambuco Centro de Ciências Exatas e da Natureza Departamento de Informática Mestrado em Ciências da

Define um lexicon que funciona como uma âncora entre diagramas ER e de metas

Apresenta o modelo de metas do chung adaptado como forma de representar NFRs

Extende o modelo ER onde: Um NFR (meta) é representado como uma entidade

especial conectada à entidade que a originou Os atributos do NFR são integrados à esta entidade

Integrar NFRs namodelagem de dados