Post on 17-Apr-2015
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
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
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.
Requisitos Não Funcionais
Incluem: Safety Security Usabilidade Confiabilidade Performance Custos de
Desenvolvimento
Custos Operacionais
Robustês Manutenabilida
de Portabilidade outros ...
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
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
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).
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.
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.
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
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.
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.
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.
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.
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.
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
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
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
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)
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
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
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
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
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
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