SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
“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
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
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
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
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
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
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
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
NFR Framework

             Exemplo – Catálogo de Tipos de NFR




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

             Exemplo – Catálogo de Métodos




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

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




                    © Grupo de ER - PUC-Rio
25/05/2008                                        11
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
NFR Framework

             Catálogo de Tipos de NFR




                    © Grupo de ER - PUC-Rio
25/05/2008                                    13
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
NFR Framework

     Exemplo – SIG Inicial




                     © Grupo de ER - PUC-Rio
25/05/2008                                     15
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
NFR Framework

             Exemplo – SIG com demais níveis




                       © Grupo de ER - PUC-Rio
25/05/2008                                       17
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
NFR Framework

             Exemplo – Identificação de Prioridade




                         © Grupo de ER - PUC-Rio
25/05/2008                                           19
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
NFR Framework
       Exemplo –
    Operacionalização




                    © Grupo de ER - PUC-Rio
25/05/2008                                    21
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
NFR Framework

        Exemplo –
      Tratamento de
    interdependências




                    © Grupo de ER - PUC-Rio
25/05/2008                                    23
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
NFR Framework

      Exemplo –
   Armazenamento do
       Racional




                  © Grupo de ER - PUC-Rio
25/05/2008                                  25
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
NFR Framework

      Exemplo –
      Seleção de
     Alternativas




                    © Grupo de ER - PUC-Rio
25/05/2008                                    27
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
NFR Framework

         Exemplo –
         Avaliando
          Impacto




                        © Grupo de ER - PUC-Rio
25/05/2008                                        29
NFR Framework
     Relacionando as
     decisões com os
        Requisitos
        Funcionais




                       © Grupo de ER - PUC-Rio
25/05/2008                                       30
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitoselliando dias
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Requisitos Nao Funcionais
Requisitos Nao FuncionaisRequisitos Nao Funcionais
Requisitos Nao Funcionaisguesta36ce2
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Manutenção Centrada na Confiabilidade - Artigo Científico
Manutenção Centrada na Confiabilidade - Artigo CientíficoManutenção Centrada na Confiabilidade - Artigo Científico
Manutenção Centrada na Confiabilidade - Artigo CientíficoJosé Lucas Teixeira
 
Requisitos de Segurança
Requisitos de SegurançaRequisitos de Segurança
Requisitos de SegurançaOWASP Brasília
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentesigordsm
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em softwareVictor Hugo
 

Was ist angesagt? (19)

Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Requisitos Nao Funcionais
Requisitos Nao FuncionaisRequisitos Nao Funcionais
Requisitos Nao Funcionais
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Rastreabilidade de Requisitos
Rastreabilidade de RequisitosRastreabilidade de Requisitos
Rastreabilidade de Requisitos
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Manutenção Centrada na Confiabilidade - Artigo Científico
Manutenção Centrada na Confiabilidade - Artigo CientíficoManutenção Centrada na Confiabilidade - Artigo Científico
Manutenção Centrada na Confiabilidade - Artigo Científico
 
Requisitos de Segurança
Requisitos de SegurançaRequisitos de Segurança
Requisitos de Segurança
 
O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Analise sistemas 05
Analise sistemas 05Analise sistemas 05
Analise sistemas 05
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em software
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 

Andere mochten auch

Andere mochten auch (11)

Transparência de Processos e Software
Transparência de Processos e SoftwareTransparência de Processos e Software
Transparência de Processos e Software
 
Giselle Morabito - Transparencia De Software
Giselle Morabito - Transparencia De SoftwareGiselle Morabito - Transparencia De Software
Giselle Morabito - Transparencia De Software
 
O Que faz a Transparência Funcionar - Gustavo Nunes
O Que faz a Transparência Funcionar - Gustavo NunesO Que faz a Transparência Funcionar - Gustavo Nunes
O Que faz a Transparência Funcionar - Gustavo Nunes
 
Luana - Aula 10 artigo 2
Luana - Aula 10 artigo 2Luana - Aula 10 artigo 2
Luana - Aula 10 artigo 2
 
Aula 4 Corporate Truth
Aula 4  Corporate TruthAula 4  Corporate Truth
Aula 4 Corporate Truth
 
Milene Puc Rio (Er) Aula 3
Milene   Puc Rio (Er)   Aula 3Milene   Puc Rio (Er)   Aula 3
Milene Puc Rio (Er) Aula 3
 
Internet Governanca
Internet GovernancaInternet Governanca
Internet Governanca
 
Luana - Aula 10 artigo 1
Luana - Aula 10 artigo 1Luana - Aula 10 artigo 1
Luana - Aula 10 artigo 1
 
IT Service Management - Microsoft Operations Framework
IT Service Management - Microsoft Operations FrameworkIT Service Management - Microsoft Operations Framework
IT Service Management - Microsoft Operations Framework
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
Ferramentas case
Ferramentas caseFerramentas case
Ferramentas case
 

Ähnlich wie NFR Framework

Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosGustavo Lopes
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de SoftwareRobson Silva Espig
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...Eder Nogueira
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdfPedro Alcantara
 
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 ...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
 
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...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
 
Atividade 20 081111
Atividade 20 081111Atividade 20 081111
Atividade 20 081111enoquepires
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
Identificar Requisitos Funcionais.pdf
Identificar Requisitos Funcionais.pdfIdentificar Requisitos Funcionais.pdf
Identificar Requisitos Funcionais.pdfmmarolla1
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 

Ähnlich wie NFR Framework (20)

Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Aula 04
Aula 04Aula 04
Aula 04
 
Engenharia Software
Engenharia SoftwareEngenharia Software
Engenharia Software
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 
SIG Transparency
SIG TransparencySIG Transparency
SIG Transparency
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
RAD
RADRAD
RAD
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
 
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 ...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 ...
 
A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...A proposal to combine elicitation techniques to write vision document and use...
A proposal to combine elicitation techniques to write vision document and use...
 
Ponto de função
Ponto de funçãoPonto de função
Ponto de função
 
Atividade 20 081111
Atividade 20 081111Atividade 20 081111
Atividade 20 081111
 
Aula 05
Aula 05Aula 05
Aula 05
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
Identificar Requisitos Funcionais.pdf
Identificar Requisitos Funcionais.pdfIdentificar Requisitos Funcionais.pdf
Identificar Requisitos Funcionais.pdf
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 

Kürzlich hochgeladen

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Kürzlich hochgeladen (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

NFR Framework

  • 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. 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. 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. 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. 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. 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. 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. 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. NFR Framework Exemplo – Catálogo de Tipos de NFR © Grupo de ER - PUC-Rio 25/05/2008 9
  • 10. NFR Framework Exemplo – Catálogo de Métodos © Grupo de ER - PUC-Rio 25/05/2008 10
  • 11. NFR Framework Exemplo – Catálogo de regras de correlação © Grupo de ER - PUC-Rio 25/05/2008 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) © Grupo de ER - PUC-Rio 25/05/2008 12
  • 13. NFR Framework Catálogo de Tipos de NFR © Grupo de ER - PUC-Rio 25/05/2008 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 © Grupo de ER - PUC-Rio 25/05/2008 14
  • 15. NFR Framework Exemplo – SIG Inicial © Grupo de ER - PUC-Rio 25/05/2008 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” © Grupo de ER - PUC-Rio 25/05/2008 16
  • 17. NFR Framework Exemplo – SIG com demais níveis © Grupo de ER - PUC-Rio 25/05/2008 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 (+). © Grupo de ER - PUC-Rio 25/05/2008 18
  • 19. NFR Framework Exemplo – Identificação de Prioridade © Grupo de ER - PUC-Rio 25/05/2008 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”. © Grupo de ER - PUC-Rio 25/05/2008 20
  • 21. NFR Framework Exemplo – Operacionalização © Grupo de ER - PUC-Rio 25/05/2008 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”) © Grupo de ER - PUC-Rio 25/05/2008 22
  • 23. NFR Framework Exemplo – Tratamento de interdependências © Grupo de ER - PUC-Rio 25/05/2008 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. © Grupo de ER - PUC-Rio 25/05/2008 24
  • 25. NFR Framework Exemplo – Armazenamento do Racional © Grupo de ER - PUC-Rio 25/05/2008 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). © Grupo de ER - PUC-Rio 25/05/2008 26
  • 27. NFR Framework Exemplo – Seleção de Alternativas © Grupo de ER - PUC-Rio 25/05/2008 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 © Grupo de ER - PUC-Rio 25/05/2008 28
  • 29. NFR Framework Exemplo – Avaliando Impacto © Grupo de ER - PUC-Rio 25/05/2008 29
  • 30. NFR Framework Relacionando as decisões com os Requisitos Funcionais © Grupo de ER - PUC-Rio 25/05/2008 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 © Grupo de ER - PUC-Rio 25/05/2008 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. © Grupo de ER - PUC-Rio 25/05/2008 32