luana - aula 10 artigo 2

24
Artigo: Quality-Based Software Reuse

Upload: transparenciadesoftware

Post on 06-Jul-2015

959 views

Category:

Technology


2 download

DESCRIPTION

Artigo "Quality-Based Software Reuse"

TRANSCRIPT

Artigo: Quality-Based Software Reuse

Introdução

Reuso de software tem sido utilizado para reduzir custo de desenvolvimento e melhorar qualidade.

Reuso só tem foco nas funcionalidade Propriedades não funcionais (qualidade) também

devem ser consideradas Dificuldade de incorporar requerimentos de qualidade

em métodos de reuso: A qualidade é difícil de reconhecer já que é uma

informações transversal

Introdução

Para resolver utiliza: NFRs Goal-orietated requirementes Programação orientado a aspecto (AOP) Reuso de software Gerenciamento de qualidade

Define um processo que usa uma biblioteca para achar características de qualidade e aplica descrição funcional do software.

Goals, Aspectos e Reuso

Os NFR são tratados como softgoals Utiliza um grafo de dependências entre

goals, mostrando influencia positiva e negativa entre eles.

Goals, Aspectos e Reuso

Goals Interesses do stackholders Requisitos orientado a goal é focado em goals que

são “precusores dos requisitos”

Goals, Aspectos e Reuso

Utiliza modelo de goal que representa goal, tarefas e softgoal

Goals, Aspectos e Reuso

Aspecto: Diferença entre Programação Estruturada e

Programação Orientada a Aspecto (AOP) Em AOP a responsabilidade onde um aspecto é

necessitado depende do próprio aspecto.

Goals, Aspectos e Reuso

Aspecto É simples utilizar linguagem orientada a aspecto

para resolver as informações transversais Os NFR serão representados utilizando aspecto

Goals, Aspectos e Reuso

Reuso: Krueger define processos chaves para reutilizar

artefatos de software: Classificação: organiza as informações armazenadas para

possibilitar pesquisa. Abstração: ajuda entendimento tirando detalhes de baixo nível

e de implementação. Seleção: Ser possível escolher um artefato para reutilizar. Especialização: Um artefato pode ser modificado para poder

ser reutilizado. Integração: Unir o artefato com o contexto que está sendo

inserido.

Representação dirigida a goal e aspecto

Obstáculos para reutilizar qualidade de software: Uso de catálogos não são suficientes para suportar reuso

de qualidade já que não faz relação clara com as funcionalidades

As linguagens de representação de software não inclui conceitos não funcionais.

A seleção de um ponto especifico onde o NFR está sendo usado só é possivel se tiver um link entre os pontos que contem a NFR

A especialização de um NFR em outro contexto também é complexo divido a transversalidade.

A integração deve ter uma interface bem definida tanto para o elemento reutilizado quanto o novo contexto.

Representação Orienteda a objetivo e aspecto

Aspecto de goal Tem representação gráfica chamada

V-graph Relacionar modelos representando

requisitos funcionais e modelos representando NFR.

Utilizado para elícita aspectos. Esse graficos ajuda integração, especialização e seleção mas não suporta

classificação e abstração.

Representação Orienteda a objetivo e aspecto

Linguagem para organizar qualidades (Q7) Contemplar classificação e abstração. A linguagem não só suporta características de

qualidade como relaciona descrições funcionais. Para isso é necessário representação para:

Função, tópicos, tipos de qualidade, pré-condição, poincuts, estruturas de contribuição e operacionalização de qualidade.

Para resolver foi utilizado a classificação 5W2H.

Representação Orienteda a objetivo e aspecto

Linguagem para organizar qualidades (Q7) Why? O que está querendo ser reutilizado Who? O destino principal do atributo de qualidade What? Seria o topico no NFR framework Where? O endereço especifico da qualidade do artefato. When? Indica a pré-condição mantida antes da

operacionalização How? Operacionalização dos NR How much? São os links de contribuição entre as

operacionalizações e os NFR.

Representação Orienteda a objetivo e aspecto

Linguagem para organizar qualidades (Q7)

Representação Orienteda a objetivo e aspecto

Linguagem para organizar qualidades (Q7)

`

Provê relacionamento especifico entre funcionalidades e preocupações de qualidade

Processo de reuso de qualidade

Processo de reuso de qualidade

A rotina test avalia atraves da clausula “when” se algum goal se aplica a qualidade

A rotina match verifica se um goal equilavale a uma especificação de um poincut de um softgoal

A rotina weave verifica as contribuições entre g e s

Reuso de Usabilidade

O objetivo é reutilizar a qualidade usabilidade presente em “Media Shop” e aplicar num outro sistema, “Web Based Training (WBT)”

Foi feito um levantamento de relação entre goals e softgoals para as tarefas e operacionalização de tarefas.

Foi produzido um V-Graph que merge a descrição do requisitos com abstrações da implementação. A partir dele foi classificado e gerado a biblioteca.

Reuso de Usabilidade

Abstração da biblioteca representada em Q7

Reuso de Usabilidade

Parte funcional da WBT representada em Q7

Reuso de Usabilidade

Seguindo o processo definido, o primeiro passo é usar uma query (why = “Usabilidade”)

Reuso de Usabilidade

Realiza a especialização, atualizando os poincuts

Reuso de Usabilidade

Realiza a integração automaticamente.

Conclusão

Foi apresentado um método o reuso de qualidade de software.

Existem ainda alguns problemas: Escalabilidade