requisitos não funcionais universidade federal de pernambuco centro de ciências exatas e da...

Post on 17-Apr-2015

106 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related