Enviar pesquisa
Carregar
O NFR Framework: abordagem para requisitos não funcionais
•
1 gostou
•
844 visualizações
Título melhorado com IA
Claudia Cappelli
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 32
Baixar agora
Baixar para ler offline
Recomendados
Swift Introduction
Swift Introduction
Savvycom Savvycom
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
Elias Nogueira
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
Emertxe Information Technologies Pvt Ltd
Introduction to Swift programming language.
Introduction to Swift programming language.
Icalia Labs
Automation Testing With Appium
Automation Testing With Appium
Knoldus Inc.
Ios development
Ios development
Shakil Ahmed
Reusing your existing software on Android
Reusing your existing software on Android
Tetsuyuki Kobayashi
Aula Xml Schema - XSD
Aula Xml Schema - XSD
Rudson Kiyoshi Souza Carvalho
Recomendados
Swift Introduction
Swift Introduction
Savvycom Savvycom
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
Elias Nogueira
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
Emertxe Information Technologies Pvt Ltd
Introduction to Swift programming language.
Introduction to Swift programming language.
Icalia Labs
Automation Testing With Appium
Automation Testing With Appium
Knoldus Inc.
Ios development
Ios development
Shakil Ahmed
Reusing your existing software on Android
Reusing your existing software on Android
Tetsuyuki Kobayashi
Aula Xml Schema - XSD
Aula Xml Schema - XSD
Rudson Kiyoshi Souza Carvalho
Testando API REST - Parte 1
Testando API REST - Parte 1
alinebiath
Android Application Development
Android Application Development
Benny Skogberg
Java Course 11: Design Patterns
Java Course 11: Design Patterns
Anton Keks
Android Programming Basics
Android Programming Basics
Eueung Mulyana
My presentation on Android in my college
My presentation on Android in my college
Sneha Lata
Flutter do zero a publicacao
Flutter do zero a publicacao
Cinthia Pineroli Galvão
Android Multimedia Player Project Presentation
Android Multimedia Player Project Presentation
Rashmi Gupta
JAVA PROGRAMMING
JAVA PROGRAMMING
Niyitegekabilly
Java
Java
Sneha Mudraje
Desenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com Flutter
Paulo Henrique
ModulFlutter-1.pptx
ModulFlutter-1.pptx
hanadi40
Introduction to Android Development
Introduction to Android Development
Aly Abdelkareem
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
Ariane Izac
Android Application Development Using Java
Android Application Development Using Java
amaankhan
Treinamento Android Embarcado
Treinamento Android Embarcado
Odair Sousa
Gof design patterns
Gof design patterns
Eduardo Carvalho
Java IO
Java IO
UTSAB NEUPANE
ARI and AGI, a powerful combination
ARI and AGI, a powerful combination
Jöran Vinzens
C sharp
C sharp
Satish Verma
Creating the first app with android studio
Creating the first app with android studio
Parinita03
NFR Framework
NFR Framework
transparenciadesoftware
Este trabalho trata
Este trabalho trata
Roni Reis
Mais conteúdo relacionado
Mais procurados
Testando API REST - Parte 1
Testando API REST - Parte 1
alinebiath
Android Application Development
Android Application Development
Benny Skogberg
Java Course 11: Design Patterns
Java Course 11: Design Patterns
Anton Keks
Android Programming Basics
Android Programming Basics
Eueung Mulyana
My presentation on Android in my college
My presentation on Android in my college
Sneha Lata
Flutter do zero a publicacao
Flutter do zero a publicacao
Cinthia Pineroli Galvão
Android Multimedia Player Project Presentation
Android Multimedia Player Project Presentation
Rashmi Gupta
JAVA PROGRAMMING
JAVA PROGRAMMING
Niyitegekabilly
Java
Java
Sneha Mudraje
Desenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com Flutter
Paulo Henrique
ModulFlutter-1.pptx
ModulFlutter-1.pptx
hanadi40
Introduction to Android Development
Introduction to Android Development
Aly Abdelkareem
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
Ariane Izac
Android Application Development Using Java
Android Application Development Using Java
amaankhan
Treinamento Android Embarcado
Treinamento Android Embarcado
Odair Sousa
Gof design patterns
Gof design patterns
Eduardo Carvalho
Java IO
Java IO
UTSAB NEUPANE
ARI and AGI, a powerful combination
ARI and AGI, a powerful combination
Jöran Vinzens
C sharp
C sharp
Satish Verma
Creating the first app with android studio
Creating the first app with android studio
Parinita03
Mais procurados
(20)
Testando API REST - Parte 1
Testando API REST - Parte 1
Android Application Development
Android Application Development
Java Course 11: Design Patterns
Java Course 11: Design Patterns
Android Programming Basics
Android Programming Basics
My presentation on Android in my college
My presentation on Android in my college
Flutter do zero a publicacao
Flutter do zero a publicacao
Android Multimedia Player Project Presentation
Android Multimedia Player Project Presentation
JAVA PROGRAMMING
JAVA PROGRAMMING
Java
Java
Desenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com Flutter
ModulFlutter-1.pptx
ModulFlutter-1.pptx
Introduction to Android Development
Introduction to Android Development
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
Android Application Development Using Java
Android Application Development Using Java
Treinamento Android Embarcado
Treinamento Android Embarcado
Gof design patterns
Gof design patterns
Java IO
Java IO
ARI and AGI, a powerful combination
ARI and AGI, a powerful combination
C sharp
C sharp
Creating the first app with android studio
Creating the first app with android studio
Semelhante a O NFR Framework: abordagem para requisitos não funcionais
NFR Framework
NFR Framework
transparenciadesoftware
Este trabalho trata
Este trabalho trata
Roni Reis
Aula 04
Aula 04
Robson Silva Espig
Engenharia Software
Engenharia Software
Robson Silva Espig
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Gustavo Lopes
Analise de Requisitos de Software
Analise de Requisitos de Software
Robson Silva Espig
Identificar Requisitos Funcionais.pdf
Identificar Requisitos Funcionais.pdf
mmarolla1
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
Camilo de Melo
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
Pedro Alcantara
RAD
RAD
Robson Silva Espig
Modelagem 16102006
Modelagem 16102006
LEANDRO DE SOUZA RAMOS
Es capítulo 4 - engenharia de requisitos
Es capítulo 4 - engenharia de requisitos
Felipe Oliveira
Aula 05
Aula 05
Robson Silva Espig
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
Fernando Vargas
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...
André Agostinho
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
ECRAYON Tecnologia Criativa
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Dalton Martins
Processos de software
Processos de software
Computação Depressão
Definição e classificação dos requisitos
Definição e classificação dos requisitos
ETEIT - Escola Técnica da Univale
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
José Vieira
Semelhante a O NFR Framework: abordagem para requisitos não funcionais
(20)
NFR Framework
NFR Framework
Este trabalho trata
Este trabalho trata
Aula 04
Aula 04
Engenharia Software
Engenharia Software
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Analise de Requisitos de Software
Analise de Requisitos de Software
Identificar Requisitos Funcionais.pdf
Identificar Requisitos Funcionais.pdf
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
RAD
RAD
Modelagem 16102006
Modelagem 16102006
Es capítulo 4 - engenharia de requisitos
Es capítulo 4 - engenharia de requisitos
Aula 05
Aula 05
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Processos de software
Processos de software
Definição e classificação dos requisitos
Definição e classificação dos requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
O NFR Framework: abordagem para requisitos não funcionais
1.
“O NFR Framework“
Claudia Cappelli ccappelli@inf.puc-rio.br Aula do Curso de Transparência de Software Prof: Julio Leite 25/05/2008 © Claudia Cappelli 1
2.
NFR Framework
1. Motivação 2. Abordagem Tradicional 3. O NFR Framework – Passos do método 4. SIG – Softgoal Interdependency Graphs 5. Tipos de Catálogo de NFR 6. Detalhando e exemplificando os Passos do Método 7. Resumo 8. Bibliografia 25/05/2008 © Grupo de ER - PUC-Rio 2
3.
Motivação
Contexto Durante o processo de desenvolvimento de software um desenvolvedor precisa tomar decisões como por exemplo: Com que freqüência as informações serão atualizadas? Como será o processo de identificação dos usuários da aplicação? As bases de dados serão locais ou distribuídas? As decisões tomadas tem papel importante em aspectos como segurança, performance, precisão entre outros. 25/05/2008 © Grupo de ER - PUC-Rio 3
4.
Motivação Abordagem Convencional
Desenvolvimento direcionado para modelagem de requisitos funcionais Desenvolvedores focam seus primeiros esforços para encontrar junto aos clientes os requisitos funcionais do sistema Muitas das decisões sobe estes requisitos funcionais, que seriam requisitos não funcionais, são tomadas de forma não sistemática e nem sempre documentadas Os atributos de qualidade do software são vistos como conseqüências destas decisões e não como algo que foi pensado. 25/05/2008 © Grupo de ER - PUC-Rio 4
5.
NFR Framework
NFR Framework Usa requisitos como segurança, precisão, desempenho e custo para direcionar o processo de desenvolvimento de requisitos Tem como principal objetivo oferecer uma estrutura de representação para armazenamento do desenho e do racional do processo de desenvolvimento de requisitos através de grafos chamados “softgoal interdependency graphs (SIGs)” 25/05/2008 © Grupo de ER - PUC-Rio 5
6.
NFR Framework
Passos Principais Adquirir conhecimento sobre: O domínio particular onde o software vai ser desenvolvido Os requisitos funcionais do software Tipos particulares de Requisitos não Funcionais, e técnicas associadas de desenvolvimento Identificar Requisitos não Funcionais para o domínio em particular Decompor Requisitos não Funcionais Identificar operacionalizações (possíveis alternativas de implementação para o sistema) Tratar ambigüidades, prioridades e interdependências entre Requisitos não Funcionais e operacionalizações Selecionar operacionalizações Apoiar as decisões com racional Avaliar o impacto das decisões OBS: Não precisam ser executados necessariamente nesta ordem e pode permitir iteração durante o processo 25/05/2008 © Grupo de ER - PUC-Rio 6
7.
NFR Framework
Softgoals Interdependency Graphs Sua construção pode ser vista em termos incrementais e interativos de fase de elaboração, analise e revisão. Seu objetivo é armazenar as considerações do desenvolvedor sobre estes requisitos e mostrar a interdependência entre eles. Usa os conceitos de: Softgoals – Nuvens Interdependency Links – Linhas com setas Label – Descrição das intenções 25/05/2008 © Grupo de ER - PUC-Rio 7
8.
NFR Framework
Catálogos de Requisitos Um dos pontos mais importantes do Framework é a possibilidade de armazenar conhecimento sobre experiências anteriores quanto a Requisitos não Funcionais propiciando o reuso. Existem 3 tipos de catálogo que podem ser usados Catálogo de Requisitos não Funcionais com suas associações de conceitos e terminologia Catálogo de técnicas de desenvolvimento (métodos) para apoiar na descoberta de requisitos Catálogo de interdependências implícitas entre requisitos não Funcionais Estes catálogos podem ser criados a partir de diversas fontes (textos, guias de desenvolvimento, livros, especialistas etc.) 25/05/2008 © Grupo de ER - PUC-Rio 8
9.
NFR Framework
Exemplo – Catálogo de Tipos de NFR 25/05/2008 © Grupo de ER - PUC-Rio 9
10.
NFR Framework
Exemplo – Catálogo de Métodos 25/05/2008 © Grupo de ER - PUC-Rio 10
11.
NFR Framework
Exemplo – Catálogo de regras de correlação 25/05/2008 © Grupo de ER - PUC-Rio 11
12.
NFR Framework Voltando
aos Passos Principais 1. Adquirir conhecimento ...... Obter as informações de uso do domínio onde o software estará sendo construído. Obter os requisitos funcionais Obter expectativas da organização quanto ao funcionamento (ex: volumes, desempenho etc.) Obter as prioridades da organização (o que o sistema deve priorizar caso tenha que decidir o que fazer primeiro em alguma situação) Obter tipos particulares de Requisitos não Funcionais, e técnicas associadas de desenvolvimento em catálogos (aqui podem ser usados os três tipos de catálogos apresentados anteriormente) 25/05/2008 © Grupo de ER - PUC-Rio 12
13.
NFR Framework
Catálogo de Tipos de NFR 25/05/2008 © Grupo de ER - PUC-Rio 13
14.
NFR Framework Continuando
os Passos Principais Identificando NFRs ...... Nesta fase o desenvolvedor identifica junto ao cliente suas necessidades quanto a segurança, privacidade, transparência, precisão etc. Em seguida busca nos catálogos já existentes Requisitos não Funcionais que possam atender as necessidades impostas pelo cliente. Neste momento ele inicia a construção do SIG 25/05/2008 © Grupo de ER - PUC-Rio 14
15.
NFR Framework
Exemplo – SIG Inicial 25/05/2008 © Grupo de ER - PUC-Rio 15
16.
NFR Framework Continuando
os Passos Principais Decompondo os NFRs...... Nesta fase o desenvolvedor decompõe o NFR Type (tipo) ou Topic (tópico) No exemplo do slide anterior os dois requisitos não funcionais tem o mesmo tópico (“accounts”) mas endereçam dois diferentes tipos (“performance” and “security”) Como em geral os requisitos de primeiro nível são muito abstratos estes são divididos em componentes menores para que se possa buscar soluções mais efetivas. Neste momento buscamos outros requisitos não funcionais que juntos satisfaçam (possam fazer alcançar) o requisito superior. Estes são então colocados como uma decomposição dos de maior nível Agora deve-se identificar que todos estes requisitos não funcionais contribuem positivamente para atendimento do requisito de mais alto níve colocando a notação de “AND” 25/05/2008 © Grupo de ER - PUC-Rio 16
17.
NFR Framework
Exemplo – SIG com demais níveis 25/05/2008 © Grupo de ER - PUC-Rio 17
18.
NFR Framework Continuando
os Passos Principais Tratando prioridades...... Nesta fase o desenvolvedor deve identificar as prioridades pois os SIG’s podem ficar muito extensos e complexos Para priorizar devemos levar em conta as informações do domínio, e as prioridades da organização Usa-se a notação (!) para identificar que um requisito não funcional é prioritário O requisito não funcional prioritário contribui positivamente para o requisito onde está ligado e sendo assim esta contribuição é identificada através do (+). 25/05/2008 © Grupo de ER - PUC-Rio 18
19.
NFR Framework
Exemplo – Identificação de Prioridade 25/05/2008 © Grupo de ER - PUC-Rio 19
20.
NFR Framework Continuando
os Passos Principais Identificando operacionalizações...... Em determinado ponto quando os requisitos não funcionais estão suficientemente refinados o desenvolvedor estará apto a identificar possíveis técnicas para implementá-los. Técnicas de desenvolvimento para implementação dos requisitos não funcionais são chamadas de “operacionalizações”. As operacionalizações são representadas através de uma nuvem com um contorno mais escuro. E são um outro tipo de requisito não funcional. As operacionalizações também podem dar contribuições positivas e negativas aos requisitos a que estão ligados Muitas operacionalizações podem ser alternativas de implementação e portanto serão representadas por um “OR”. 25/05/2008 © Grupo de ER - PUC-Rio 20
21.
NFR Framework
Exemplo – Operacionalização 25/05/2008 © Grupo de ER - PUC-Rio 21
22.
NFR Framework Continuando
os Passos Principais Tratando interdependências implícitas entre os requisitos não funcionais...... Durante o processo de escolhas da operacionalização outros requisitos podem estar sendo afetados positiva ou negativamente Estas influências devem ser representadas por setas não contínuas Todas estas setas devem ter a identificação de contribuição positiva e negativa Além disso ao analisar uma operacionalização pode-se identificar uma contribuição negativa ou positiva para um outro tipo de requisito (no exemplo a seguir... “user-friendly”) 25/05/2008 © Grupo de ER - PUC-Rio 22
23.
NFR Framework
Exemplo – Tratamento de interdependências 25/05/2008 © Grupo de ER - PUC-Rio 23
24.
NFR Framework Continuando
os Passos Principais Armazenando o racional...... O desenvolvedor deve armazenar todos os argumentos para suas escolhas. Estes argumentos são modelados no SIG como nuvens com contornos mais claros e ligados aos relacionamentos entre os requisitos não funcionais e suas operacionalizações através de setas. Estes argumentos podem também contribuir positiva ou negativamente para o alcance dos objetivos. 25/05/2008 © Grupo de ER - PUC-Rio 24
25.
NFR Framework
Exemplo – Armazenamento do Racional 25/05/2008 © Grupo de ER - PUC-Rio 25
26.
NFR Framework Continuando
os Passos Principais Selecionando alternativas...... O refinamento continua até que o desenvolvedor tenha detalhes suficientes. O desenvolvedor escolhe entre as possíveis operacionalizações com seus racionais Ele deve marcar suas escolhas no SIG através de sinais de representam os que foram escolhidos (√) e os rejeitados (X). 25/05/2008 © Grupo de ER - PUC-Rio 26
27.
NFR Framework
Exemplo – Seleção de Alternativas 25/05/2008 © Grupo de ER - PUC-Rio 27
28.
NFR Framework Continuando
os Passos Principais Avaliando o impacto...... O desenvolvedor deve propagar suas decisões identificando o impacto destas em toda a estrutura do SIG através da avaliação da satisfação dos objetivos Este processo é feito botton-up Ele deve marcar a propagação no SIG através de sinais de representam os que foram satisfeitos (√) e os não escolhidos (X). Existem várias regras para propagação: Se uma operacionalização foi rejeitada e contribui negativamente para alcance de um objetivo então o objetivo fica satisfeito. Se uma operacionalização foi escolhida e faz parte de uma estrutura de “OU” então mesmo que as outras operacionalizações desta estrutura não tenham sido escolhidas o objetivo é alcançado. Se uma operacionalização é escolhida e ela contribui negativamente para o alcance de um objetivo este objetivo não será satisfeito 25/05/2008 © Grupo de ER - PUC-Rio 28
29.
NFR Framework
Exemplo – Avaliando Impacto 25/05/2008 © Grupo de ER - PUC-Rio 29
30.
NFR Framework
Relacionando as decisões com os Requisitos Funcionais 25/05/2008 © Grupo de ER - PUC-Rio 30
31.
NFR Framework
Resumo Este capítulo apresenta uma técnica para elicitação de NFR Este processo apóia não só o desenvolvedor durante o processo de desenvolvimento do software como a construção de catálogos para futuros reusos. Catálogos podem ser utilizados para redução de tempo de desenvolvimento uma vez que grande parte das soluções já podem estar catalogadas e analisadas quanto a seus impactos O método propões uma maneira formal de relacionar Requisitos Funcionais e Não Funcionais 25/05/2008 © Grupo de ER - PUC-Rio 31
32.
NFR Framework
Bibliografia Chung, L.; Nixon, B.; Yu, E.; Mylopoulos, J.; Non-Functional Requirements in Software Engineering – Kluwer Academic Publishers – Massachusetts, USA, 2000. 25/05/2008 © Grupo de ER - PUC-Rio 32
Baixar agora