mauricio puc rio (er) aula 7 primeiro artigo

32
1 Representing and Using Nonfuctional Requirements: A Process-Oriented Approach Aluno: Maurício Serrano Abril 2008 Análise do Artigo Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Upload: transparenciadesoftware

Post on 06-Jul-2015

332 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

1

Representing and Using Nonfuctional

Requirements: A Process-Oriented Approach

Aluno: Maurício SerranoAbril 2008

Análise do Artigo

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 2: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

2

Índice

Introdução

Trabalhos Relacionados

Abordagem Orientada a Processo

Framework proposto pelos Autores

Exemplos:● Requisito Não-Funcional de Precisão (Accuracy)

● Requisito Não-Funcional de Performance (Performance)

Conclusão

Referência

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 3: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

3

Introdução

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 4: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

4

Introdução

A complexidade em Sistemas de Informação é dada por FRs e NFRs;

NFRs são utilizados como critérios de seleção;

Erros em NFRs são os mais caros e mais difíceis de serem corrigidos; e

NFRs recebem menos atenção que os FRs e outros fatores menos importantes.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 5: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

5

Introdução

NFRs são tratados informalmente na fase de requisitos;

NFRs são normalmente contraditórios;

NFRs são difíceis de se garantir durante o Desenvolvimento de Software;

NFRs são difíceis de se validar junto ao usuário final; e

NFRs não possuem uma definição formal ou mesmo uma lista completa.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 6: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

6

Trabalhos Relacionados

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 7: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

7

Trabalhos Relacionados

Abordagem Informal

Em um relatório publicado em Rome Air Development Center (RADC) [7], NFRs são classificados em:

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Technically-OrientedConsumer-Oriented

Page 8: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

8

Trabalhos Relacionados

Abordagem Formal

As abordagens formais podem ser divididas em:

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Product-Oriented Process-Oriented

Page 9: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

9

Trabalhos Relacionados – Product-Oriented

Existe um overview publicado em [26];

Boehm et al. [5] considera características de qualidade de software e percebe que a experiência do designer aumenta a qualidade do produto final; e

Basili e Musa [3] propõem modelos e métricas (quantitativas) para o processo de engenharia de software sob o ponto de vista da gerência.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 10: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

10

Trabalhos Relacionados – Base para a Proposta

Sistemas de apoio à decisão [19] [28] [29];

Modelos para representar Design Rationales [38];

Ambientes para desenvolvimento de Sistemas de Informação DAIDA [23]:

● Framework para o desenvolvimento de software com notações para modelagem de requisitos, design, implementação e apoio à decisão;

● Ponto de partida para o tratamento de requisitos não-funcionais;

● A especificação dos requisitos restringe a especificação do design;

● A especificação do design restringe a implementação; e

● Utiliza dependency links.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 11: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

11

Abordagem Orientada a Processo

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 12: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

12

Abordagem Orientada a Processo

É a abordagem utilizada pelos autores;

Justifica decisões de design durante o Processo de Desenvolvimento de Software;

Evita avaliar o produto;

As decisões de design podem afetar positivamente ou negativamente NFRs particulares; e

Utiliza essas contribuições como base para questionar se o software contempla um certo NFR.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 13: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

13

Abordagem Orientada a Processo

Pode ser quantitativa ou qualitativa;

A proposta dos autores é qualitativa;

Uma abordagem quantitativa poderia, por exemplo, medir a visibilidade do software em desenvolvimento;

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Qualitativa QuantitativaX

Page 14: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

14

Framework proposto pelos Autores

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 15: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

15

Framework proposto pelos Autores

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

O framework proposto pelos autores utiliza cinco componentes:

Goals;

Link Types;

Methods;

Correlation Rules; e

Labelling Procedure.

Page 16: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

16

Framework proposto pelos Autores - Goals

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Três classes mutuamente exclusivas de goals:

Nonfunctional Requirement Goals (NFRGoals):

● Compreende o espaço dos vários NFRs.

● Exemplo: Accuracy[attributes(Employee)]

Satisficing Goals (SatGoals):

● Compreende as decisões de design que podem ser adotadas para satisfazer NFRGoals.

● Exemplo: Validation[attributes(Employee)]

Argumentation Goals (ArgGoals);

● Compreende afirmações formais ou informais.

● Exemplo: SecIeEmpStatusEmployeeattributeseyValidatedBemFormalClai ,)](,[:

Page 17: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

17

Framework proposto pelos Autores – Link Types

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

O framework utiliza links para refinar um goal em outros goals:

● AND: equivalente a árvores AND/OR;

● OR: idem;

● sup: supergoal;

● sub: subgoal;

● eql: equivalente;

● und: indeterminado.

Page 18: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

18

Framework proposto pelos Autores – Link Types

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Satisficing Link:● Utilizado para “ligar” goals.

Dependency Link:● Utilizados para mapear objetos.

Justification-for-selection Link.● Utilizados para justificar dependências através de SatGoals.

Page 19: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

19

Framework proposto pelos Autores – Link Types

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

O framework define formalmente esses links e os seguintes predicados:

● Proposition;

● Satisficed;

● Denied;

● Satisficeable; e

● Deniable.

Page 20: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

20

Framework proposto pelos Autores – Methods

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

O framework proposto pelos autores utiliza três métodos, um para cada tipo de goal:

Goal Decomposition Methods:

● Decompõem um goal em outros goals;

● Links do tipo AND e OR.

Goal Satisficing Methods:

● Decompõem um NFRGoal em SatGoals;

● Links do tipo und, eql, sup e sub.

Argumentation Methods:

● Refinam um goal ou um link em um ArgGoal, indicando evidência ou contra-evidência para satisfação desse goal;

● Links do tipo AND.

Page 21: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

21

Framework proposto pelos Autores – Correlation Rules

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Regras de correlação detalham ou restringem as interações entre goals. Essas regras têm as seguintes características:

● São regras expressas formalmente;

● Podem inferir novas regras de correlação;

● Pode-se aplicar um procedimento de expansão, expandindo goals e aplicando regras de correlação.

Page 22: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

22

Framework proposto pelos Autores – Labelling Procedure

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Pode-se atribuir os seguintes rótulos aos goals :

● Satisficed;

● Denied;

● Conflicting; e

● Undertermined.

Como poucas informações estão inseridas formalmente, o designer pode ter que determinar o rótulo.

Page 23: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

23

Framework proposto pelos Autores – Labelling Procedure

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Um procedimento de rotulação interativo é utilizado de forma a obter rótulos para todos os goals;

Regras de propagação também são utilizadas;

O procedimento pode ser comparado com os utilizados em Sistemas de Manutenção de Fatos que mantêm crenças, justificativas e suposições;

Não é automático.

Page 24: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

24

Exemplo:

Requisito Não-Funcional de Precisão

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 25: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

25

Page 26: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

26

Page 27: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

27

Exemplo:

Requisito Não-Funcional de Performance

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 28: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

28

Page 29: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

29

Conclusão

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 30: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

30

Conclusão

O framework:

● é um framework concreto para integrar requisitos não-funcionais no Processo de Desenvolvimento de Software;

● ainda está sendo refinado;

● possui uma ferramenta protótipo.

● precisa ser aplicado em outros requisitos não-funcionais;

● precisa ser utilizado em exemplos mais reais;

● precisa de uma base teórica com semântica para NFRs e uma teoria de prova.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Page 31: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

31

Referência

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

Transparência de Software

Page 32: Mauricio   Puc Rio (Er)   Aula 7   Primeiro Artigo

32

Referência

John Mylopoulos, Lawrence Chung, and Brian Nixon. “Representing and Using Nonfuctional Requirements: A Process-Oriented Approach.” IEEE TRANSACTIONS ON SOFTWARE ENGINEbRING, VOL. 18. NO. 6, pp. 483-497, JUNE 1992.

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)