0
“O NFR Framework“




                  Claudia Cappelli
              ccappelli@inf.puc-rio.br




                      ...
NFR Framework


             1.   Motivação
             2.   Abordagem Tradicional
             3.   O NFR Framework – Pa...
Motivação


     Contexto

             Durante o processo de desenvolvimento de software um
             desenvolvedor pr...
Motivação


 Abordagem Convencional

             Desenvolvimento direcionado para modelagem de
             requisitos fu...
NFR Framework


     NFR Framework

             Usa requisitos como segurança, precisão, desempenho e custo
             ...
NFR Framework
   Passos Principais
       Adquirir conhecimento sobre:

              O domínio particular onde o software...
NFR Framework


              Softgoals Interdependency Graphs
             Sua construção pode ser vista em termos increm...
NFR Framework

   Catálogos de Requisitos
         Um dos pontos mais importantes do Framework é a
         possibilidade ...
NFR Framework

             Exemplo – Catálogo de Tipos de NFR




                         © Grupo de ER - PUC-Rio
25/05/...
NFR Framework

             Exemplo – Catálogo de Métodos




                      © Grupo de ER - PUC-Rio
25/05/2008    ...
NFR Framework

     Exemplo – Catálogo de regras de correlação




                    © Grupo de ER - PUC-Rio
25/05/2008 ...
NFR Framework

 Voltando aos Passos Principais

   1. Adquirir conhecimento ......

             Obter as informações de u...
NFR Framework

             Catálogo de Tipos de NFR




                    © Grupo de ER - PUC-Rio
25/05/2008           ...
NFR Framework

 Continuando os Passos Principais

       Identificando NFRs ......

             Nesta fase o desenvolvedo...
NFR Framework

     Exemplo – SIG Inicial




                     © Grupo de ER - PUC-Rio
25/05/2008                     ...
NFR Framework

 Continuando os Passos Principais

       Decompondo os NFRs......

             Nesta fase o desenvolvedor...
NFR Framework

             Exemplo – SIG com demais níveis




                       © Grupo de ER - PUC-Rio
25/05/2008 ...
NFR Framework

 Continuando os Passos Principais

       Tratando prioridades......

             Nesta fase o desenvolved...
NFR Framework

             Exemplo – Identificação de Prioridade




                         © Grupo de ER - PUC-Rio
25/...
NFR Framework

 Continuando os Passos Principais

       Identificando operacionalizações......

             Em determina...
NFR Framework
       Exemplo –
    Operacionalização




                    © Grupo de ER - PUC-Rio
25/05/2008           ...
NFR Framework

 Continuando os Passos Principais

       Tratando interdependências implícitas entre os requisitos não
   ...
NFR Framework

        Exemplo –
      Tratamento de
    interdependências




                    © Grupo de ER - PUC-Rio...
NFR Framework

 Continuando os Passos Principais

       Armazenando o racional......

             O desenvolvedor deve a...
NFR Framework

      Exemplo –
   Armazenamento do
       Racional




                  © Grupo de ER - PUC-Rio
25/05/200...
NFR Framework

 Continuando os Passos Principais

       Selecionando alternativas......

             O refinamento conti...
NFR Framework

      Exemplo –
      Seleção de
     Alternativas




                    © Grupo de ER - PUC-Rio
25/05/20...
NFR Framework

 Continuando os Passos Principais

       Avaliando o impacto......

             O desenvolvedor deve prop...
NFR Framework

         Exemplo –
         Avaliando
          Impacto




                        © Grupo de ER - PUC-Rio...
NFR Framework
     Relacionando as
     decisões com os
        Requisitos
        Funcionais




                       ©...
NFR Framework

             Resumo

       Este capítulo apresenta uma técnica para elicitação de NFR

       Este process...
NFR Framework

             Bibliografia

       Chung, L.; Nixon, B.; Yu, E.; Mylopoulos, J.; Non-Functional
       Requi...
Upcoming SlideShare
Loading in...5
×

NFR Framework

1,443

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,443
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
55
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "NFR Framework"

  1. 1. “O NFR Framework“ Claudia Cappelli ccappelli@inf.puc-rio.br Aula do Curso de Transparência de Software Prof: Julio Leite © Claudia Cappelli 25/05/2008 1
  2. 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 © Grupo de ER - PUC-Rio 25/05/2008 2
  3. 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. © Grupo de ER - PUC-Rio 25/05/2008 3
  4. 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. © Grupo de ER - PUC-Rio 25/05/2008 4
  5. 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)” © Grupo de ER - PUC-Rio 25/05/2008 5
  6. 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 © Grupo de ER - PUC-Rio 25/05/2008 6
  7. 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 © Grupo de ER - PUC-Rio 25/05/2008 7
  8. 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.) © Grupo de ER - PUC-Rio 25/05/2008 8
  9. 9. NFR Framework Exemplo – Catálogo de Tipos de NFR © Grupo de ER - PUC-Rio 25/05/2008 9
  10. 10. NFR Framework Exemplo – Catálogo de Métodos © Grupo de ER - PUC-Rio 25/05/2008 10
  11. 11. NFR Framework Exemplo – Catálogo de regras de correlação © Grupo de ER - PUC-Rio 25/05/2008 11
  12. 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) © Grupo de ER - PUC-Rio 25/05/2008 12
  13. 13. NFR Framework Catálogo de Tipos de NFR © Grupo de ER - PUC-Rio 25/05/2008 13
  14. 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 © Grupo de ER - PUC-Rio 25/05/2008 14
  15. 15. NFR Framework Exemplo – SIG Inicial © Grupo de ER - PUC-Rio 25/05/2008 15
  16. 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” © Grupo de ER - PUC-Rio 25/05/2008 16
  17. 17. NFR Framework Exemplo – SIG com demais níveis © Grupo de ER - PUC-Rio 25/05/2008 17
  18. 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 (+). © Grupo de ER - PUC-Rio 25/05/2008 18
  19. 19. NFR Framework Exemplo – Identificação de Prioridade © Grupo de ER - PUC-Rio 25/05/2008 19
  20. 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”. © Grupo de ER - PUC-Rio 25/05/2008 20
  21. 21. NFR Framework Exemplo – Operacionalização © Grupo de ER - PUC-Rio 25/05/2008 21
  22. 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”) © Grupo de ER - PUC-Rio 25/05/2008 22
  23. 23. NFR Framework Exemplo – Tratamento de interdependências © Grupo de ER - PUC-Rio 25/05/2008 23
  24. 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. © Grupo de ER - PUC-Rio 25/05/2008 24
  25. 25. NFR Framework Exemplo – Armazenamento do Racional © Grupo de ER - PUC-Rio 25/05/2008 25
  26. 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). © Grupo de ER - PUC-Rio 25/05/2008 26
  27. 27. NFR Framework Exemplo – Seleção de Alternativas © Grupo de ER - PUC-Rio 25/05/2008 27
  28. 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 © Grupo de ER - PUC-Rio 25/05/2008 28
  29. 29. NFR Framework Exemplo – Avaliando Impacto © Grupo de ER - PUC-Rio 25/05/2008 29
  30. 30. NFR Framework Relacionando as decisões com os Requisitos Funcionais © Grupo de ER - PUC-Rio 25/05/2008 30
  31. 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 © Grupo de ER - PUC-Rio 25/05/2008 31
  32. 32. NFR Framework Bibliografia Chung, L.; Nixon, B.; Yu, E.; Mylopoulos, J.; Non-Functional Requirements in Software Engineering – Kluwer Academic Publishers – Massachusetts, USA, 2000. © Grupo de ER - PUC-Rio 25/05/2008 32
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×