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
Conteúdo
Definições
Classificação de NFR’s
Derivando NFR’s
Propostas de Derivação
Sistemas Críticos
Técnicas de Representação: Chung e Júlio
César Leite
Ferramentas de Apoio
Requisitos Não Funcionais
Definem 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
Manutenabilidade
Portabilidade
outros ...
Classificação de NFR’s
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
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 similar
Davis (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’s
Requisitos 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 Não Funcionais
Requisitos de Processo
Requisitos de Produto
Requisitos Externos
Requisitos de Entrega
Requisitos de Usabilidade
Restrições Legais
Requisitos de Implementação
Requisitos de Processo
Requisitos
de Confiabilidade
Restrições Econômicas
Requisitos de Padrões
Requisitos de Safety
Restrições de Interoperabilidade
Requisitos de Eficiência
Requisitos de Performance
Requisitos de Capacidade
Derivando NFR’s
NFR’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’s
Chung - 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 subpreocupaçõ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íticos
A 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 Metas
Trata os NFRs como metas
Té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 NFRs
Auxilia na detecção de conflitos
Framework para metas
Um requisito não funcional representa
uma meta a ser atingida
Considera um conjunto inicial de metas
Refina estas metas em sub-metas
Levanta-se alternativas para satisfação da
meta
Escolhe-se uma das alternativas,
justificando a escolha (argumento)
Exemplo - Cartões de Crédito
Segurança [Conta]
Exatidão [Conta]
Confidenciabilidade
[Conta]
Autenticar
[Conta]
Password
meta
meta satisfeita
argumento
nó AND
Disponibilidade
[Conta]
Confidenciabilidade
Interna [Conta]
Informação
Confidencial [Conta]
Alegação [“fraude
interna é frequente”]
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 projeto
Aplicar Framework
Avaliar se requisitos fundamentais foram
realmente encontrados
Modelo Baseado em Metas
Pontos Positivos
Mantém um importante histórico do
desenvolvimento
Boa detecção de conflitos e clarificação dos
NFRs
Pontos Negativos
Estrutura de grafos muito complexa para
sistemas grandes
Não cobre os NFRs completamente - pode ser
necessário usar outros métodos de
NFR-Assistant: um case para metas
Ferramenta que incorpora a semântica e a
sintaxe do framework NFR
Suporte gráfico ao modelo de metas
Possui catálogo para decomposição de metas
Facilidade para localização de metas
Facilita avaliação dos efeitos causados por
uma meta
Integrar NFRs na
modelagem de dados
Integra NFRs ao modelo ER
Foi 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
Integrar NFRs na
modelagem de dados
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
Download

RequisitosNF - Centro de Informática da UFPE