UM MODELO DE QUALIDADE PARA AVALIAR DOCUMENTOS DE REQUISITOS ORIENTADOS A ASPECTOS



Documentos relacionados
QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Desenho de Software. Desenho de Software 1

O processo de melhoria de processo

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Separação de Interesses Programação Estruturada e Programação Orientada a Objetos Entrelaçamento de Código Espalhamento de Código

A Semi-Automatic Strategy to Identify Crosscutting Concerns in PL-AOVgraph Requirement Models

2 Desenvolvimento de Software Orientado a Aspectos

2 Engenharia de Software


ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Eduardo Bezerra. Editora Campus/Elsevier

Projeto de Arquitetura

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

Introdução à Engenharia de Software

Projeto CapacitarME Capacitação de Microempresas

Engenharia de Software Processo de Desenvolvimento de Software

Feature-Driven Development

Pontos de Função. André Chastel Lima Andréia Ferreira Pinto Diego Souza Campos. Engenharia de Software Mestrado Ciência da Computação - UFMS

Qualidade de Software

Notas de Aula 02: Processos de Desenvolvimento de Software

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software

Engenharia de Requisitos

3. Fase de Planejamento dos Ciclos de Construção do Software

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

ENGENHARIA DE SOFTWARE I

MÉTRICAS DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE

Engenharia de Software

PLANOS DE CONTINGÊNCIAS

Prototype, um Design Patterns de Criação

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

PHC Serviços CS. A gestão de processos de prestação de serviços

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo

EVOLUÇÃO DE SOFTWARE

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Engenharia de Software III

ISO/IEC 12207: Gerência de Configuração

Padrões. Projeto (Design) de Software

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

Gerenciamento de Qualidade. Paulo C. Masiero Cap SMVL

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Fatores de Qualidade de Software

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Pós Graduação Engenharia de Software

Engenharia de Software I: Análise e Projeto de Software Usando UML

Padrões de projeto 1

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

CONSULTA AO MERCADO RFI REQUEST FOR INFORMATION CONSOLIDAÇÃO DE DÚVIDAS APRESENTADAS

Seção 2/E Monitoramento, Avaliação e Aprendizagem

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

COMO FAZER A TRANSIÇÃO

Engenharia de Software

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

3 Qualidade de Software

Decorator Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Riscos

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

ENG1000 Introdução à Engenharia

2. Representação Numérica

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Modelagemde Software Orientadaa Objetos com UML

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Documento de Arquitetura

Levantamento, Análise e Gestão Requisitos. Aula 12

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

PHC Serviços CS. A gestão de processos de prestação de serviços

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

Concepção e Elaboração

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Introdução ao Design

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Fábrica de Software 29/04/2015

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Engenharia de Software II

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

Modelagem de Processos. Prof.: Fernando Ascani

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3

Documento de Projeto de Sistema

Ajuda ao SciEn-Produção O Artigo Científico da Pesquisa Experimental

Transcrição:

Desarrollo de Software Orientado a Aspectos, DSOA 2006 Asociado a XV Jornadas de Ingeniería del Software y Bases de Datos J. Araújo, J. Hernández, E. Navarro y M. Pinto (Eds) Sitges (Barcelona), Octubre - 2006 UM MODELO DE QUALIDADE PARA AVALIAR DOCUMENTOS DE REQUISITOS ORIENTADOS A ASPECTOS Ricardo A. Ramos 1, João Araújo 2, Ana Moreira 2, Jaelson Castro 1,3, Fernanda Alencar 1 e Carla Silva 1 1 Universidade Federal de Pernambuco, Brasil rar2@cin.ufpe.br, {jbc, ctlls}@cin.ufpe.br, fmra@ufpe.br, www.cin.ufpe.br/~ler 2 CITI/FCT, Universidade Nova de Lisboa, Portugal {ja, amm}@di.fct.unl.pt, ctp.di.fct.unl.pt/aosd-group 3 Ist. Trentino di Cultura, ITC. Ist. per la Ricerca Scient. e Tecn., IRST, Trento-Povo, Italy jaelson@itc.it Palavras chave: Engenharia de Requisitos Orientada a Aspectos, Modelo de Qualidade. Resumo. As abordagens de requisitos orientadas a aspectos oferecem melhores mecanismos e práticas para modularizar assuntos transversias (do inglês crosscutting concerns). Entretanto, ainda há uma carência de trabalhos de investigação para medir a qualidade destes documentos. Este artigo apresenta um modelo de qualidade e questões, baseadas no modelo Goal/Question/Metrics (GQM), com o objetivo de auxiliar na interpretação dos resultados da medição da qualidade de documentos de requisitos orientados a aspectos. O modelo aqui proposto avalia os documentos em termos de reusabilidade e manutenibilidade. 1. INTRODUÇÃO O desenvolvimento de software orientado a aspectos (Aspect Oriented Software Development AOSD), e em particular a engenharia de requisitos orientada pelos aspectos, são usados com o objetivo de facilitar a identificação, modularização, representação e composição dos assuntos transversais (do inglês crosscutting concerns). Assim, é de esperar que os documentos de requisitos gerados por estas abordagens tragam vantagens relativamente aos obtidos usando abordagens tradicionais. Uma das vantagens esperadas é um aumento na reutilização e uma melhoria na manutenibilidade. Portanto, é importante poder validar se as vantagens anunciadas são realmente garantidas. Contudo, a literatura existente não oferece mecanismos, ou técnicas, para avaliar qualitativamente um documento de requisitos orientado a aspectos. O objetivo do modelo de qualidade, apresentado neste artigo, é auxiliar a interpretação da qualidade de um documento de requisitos orientado a aspectos em termos de reusabilidade e manutenibilidade. Para isso, usaremos um modelo baseado no GQM [1] que, com o auxilio de questões específicas, guiará o engenheiro de software na interpretação da qualidade de um determinado assunto (do inglês concern). Atualmente afastado da UFPE

O modelo, aqui proposto, não tem a intenção de fornecer um valor direto mostrando se este ou aquele fator está em um nível aceitável. Quanto mais dados forem obtidos com a aplicação do modelo em outros documentos de requisitos, maior será a base de conhecimento para fazer comparações e chegar a um valor aceitável. Este artigo está organizado em cinco seções. A Seção 2 introduz a metodologia GQM que vai ser utilizada no modelo de qualidade aqui proposto. A Seção 3 apresenta um modelo de qualidade para documentos de requisitos e ilustra uma possível utilização do modelo com um e- xemplo que demonstra como instanciar as questões, inicialmente formuladas de forma genérica, para um documento de requisitos especifico. A Seção 4 discute alguns trabalhos relacionados. Finalmente, as conclusões e trabalhos futuros são apresentados na Seção 5. 2. A METODOLOGIA GQM (GOAL/QUESTION/METRICS) A abordagem GQM (Figura 1) se apresenta como um mecanismo para planejamento, definição de metas (goals) de medição e avaliação. O objetivo do método GQM é caracterizar e fornecer um melhor entendimento dos processos, produtos, recursos e ambientes e, assim, estabelecer bases para comparação com trabalhos futuros [1]. O modelo GQM possui uma estrutura em 3 camadas, iniciando-se com a Meta (que especifica a finalidade da medição, o objeto a ser medido e o ponto de vista pelo qual a medida é feita). A meta é refinada em várias questões e estas são refinadas em métricas. A mesma métrica pode ser utilizada para responder diferentes questões dentro da mesma meta. Diversos modelos GQM podem também ter questões e métricas em comum, considerando que diferentes pontos de vista podem estar envolvidos (e.g. a métrica pode ter diferentes valores quando obtidas por pontos de vista diferentes) [1]. 3. O MODELO DE QUALIDADE Figura 1. Metodologia GQM (Goal/Question/Metrics) [1]. O modelo de qualidade que propomos neste artigo foi baseado na metodologia GQM [1], e no framework de qualidade proposto em [8]. O modelo é construído em forma de árvore, pois parte-se do princípio que um atributo de qualidade externo é composto por outros atributos [3]. A noção de qualidade de software é freqüentemente capturada em um modelo que descreve outros atributos de qualidade intermediários, aqui chamados fatores. A Figura 2 apresenta o modelo de qualidade que propomos, composto por quatro níveis diferentes: qualidade, fatores, atributos internos e conjunto de métricas. Os atributos de qualidade são as metas (goals) que se deseja observar em um documento (reusabilidade e manutenibilidade).

Figura 2. Modelo de qualidade para documentos de requisitos orientados a aspectos. Os fatores são os atributos de qualidade secundários que influenciam as qualidades primárias, estando relacionados com os atributos de qualidade interno do documento de requisitos. Estes atributos estão relacionados aos bons princípios da engenharia de software [3]. A cada atributo interno está relacionado um grupo de métricas; estas métricas devem ser escolhidas em acordo com a equipe de qualidade e o engenheiro de software. 3.1. Atributos de Qualidade e Fatores O modelo de qualidade suporta dois atributos de qualidade: Reusabilidade: é a possibilidade de elementos de software servirem para a construção de outros elementos de um sistema (o mesmo ou outro diferente) [4]. No nosso modelo, o objetivo é medir a reusabilidade de elementos no nível de requisitos, sejam eles módulos aspectuais ou não. Manutenibilidade: é a facilidade com a qual um componente de software pode ser modificado [9]. Segundo Pressman [5] a manutenção pode ser corretiva, perfectiva, adaptativa e evolutiva. Dentro do contexto da orientação a aspectos, em que o objetivo é facilitar a evolução de software, o foco deste modelo é a manutenção evolutiva de documentos de requisitos. Para se obter a qualidade em termos de reuso e manutenção são necessários fatores de qualidade secundários como a facilidade de entendimento e flexibilidade. Estes fatores secundários são centrais para promover o reuso e a manutenção [3, 4, 9]. Enquanto a facilidade de entendimento indica o nível de dificuldade para estudar e entender um documento de requisitos [9], a flexibilidade indica o nível de dificuldade para se fazer uma mudança drástica num componente de um sistema, sem a necessidade de mudar outros componentes [5]. Um sistema entendível tem como conseqüência melhor manutenibilidade e reusabilidade, já que, quando se deseja fazer a sua manutenção ou reutilização, primeiramente é necessário entender os componentes do sistema antes de fazer qualquer modificação ou extensão. Todavia, um sistema deve ser flexível o bastante para suportar a adição, a modificação e a remoção das funcionalidades e reusar seus componentes com uma quantidade mínima de esforço. No modelo da Figura 2, o fator Facilidade de Entendimento, é relacionado com os atributos internos: separação de assuntos; tamanho e acoplamento. Este último fator afeta a facilidade de entendimento, pois um módulo do sistema não pode ser compreendido sem saber os módu-

los que estão relacionados com este. O tamanho do módulo pode indicar a quantidade de esforço necessário para o entendimento do documento de requisitos. Finalmente, a separação de assuntos está relacionada com a facilidade de entendimento, pois quanto mais bem separados estiverem os requisitos de um sistema mais fácil será o seu entendimento. Porém deve-se analisar com cuidado esta separação, pois existe um acréscimo de complexidade com a utilização de mecanismos de composição destes requisitos. O fator Flexibilidade é influenciado pelos atributos internos separação de assuntos e acoplamento. Baixo nível de separação de assuntos e alto acoplamento entre os módulos de um documento de requisitos não são bons índices para caracterizar um sistema flexível, pois quanto mais entrelaçado e espalhado um assunto, mais oneroso será obter um módulo independente. Assim também é mais difícil tornar um módulo independente quando este está acoplado a muitos outros módulos. Note-se que o atributo interno tamanho não está relacionado ao fator Flexibilidade. 3.2. Metas e Questões Baseadas na Metodologia GQM A definição destas questões é auxiliada pelo modelo de qualidade (Figura 2). As questões estão também associadas semanticamente aos atributos de qualidade (Manutenibilidade e Reusabilidade), fatores e atributos internos. Meta Avaliar um Documento de Requisitos Orientado a Aspectos com a finalidade de mostrar a qualidade deste em relação à Manutenibilidade e Reusabilidade, do ponto de vista do engenheiro de requisitos. 1. Quão fácil é fazer a manutenção no documento? 1.1. Quão fácil é o entendimento do documento? 1.1.1. Como é composto o documento? 1.1.1.1. Quantos elementos (ou partes) especificam um determinado assunto? 1.1.1.2. Quantos elementos (ou partes) compõem esses módulos? 1.1.2. Quão bem localizados estão os assuntos? 1.1.2.1. Quantos elementos (ou partes) há nas descrições de cada 1.1.2.2. Quantos elementos (ou partes) condicionais há em cada 1.1.2.3. Quantas exceções há em cada 1.1.3. Quão acoplados estão os módulos do documento? 1.1.3.1. Quantos módulos são incluídos ou estendidos em outros módulos? 1.1.3.2. Quantos módulos são entrecortados por um determinado módulo? Figura 3. Questões baseadas na metodologia GQM. 1.2 Quão flexível é o documento? 1.2.1. Quão bem localizados estão os assuntos? 1.2.1.1. Quantos elementos (ou partes) há nas descrições de cada 1.2.1.2. Quantos elementos (ou partes) condicionais há em cada 1.2.1.3. Quantas exceções há em cada módulo independente? 1.2.2. Quão acoplados são os módulos do documento? 1.2.2.1. Quantos módulos são incluídos ou estendidos em outros módulos? 1.2.2.2. Quantos módulos são entrecortados por um determinado módulo? 2. Quão fácil é fazer o reuso de módulos do documento? 2.1. Quão fácil é o entendimento do documento? 2.2 Quão flexível é o documento? 2.1.1. Como é composto o documento? 2.2.1. Quão bem localizados estão os assuntos? 2.1.1.1. Quantos módulos especificam um determinado assunto? 2.2.1.1. Quantos elementos (ou partes) há nas 2.1.1.2. Quantos elementos (ou partes) compõem esses módulos? descrições de cada 2.1.2. Quão bem localizados estão os assuntos? 2.2.1.2. Quantos elementos (ou partes) condicionais há em cada 2.1.2.1. Quantos elementos (ou partes) há nas descrições de cada 2.1.2.2. Quantos elementos (ou partes) condicionais há em cada 2.2.1.3. Quantas exceções há em cada módulo independente? 2.1.2.3. Quantas exceções há em cada 2.2.2. Quão acoplados são os módulos do documento? 2.1.3. Quão acoplados estão os módulos do documento? 2.1.3.1. Quantos módulos são incluídos ou estendidos em outros 2.2.2.1. Quantos módulos são incluídos ou estendidos em outros módulos? módulos? 2.1.3.2. Quantos módulos são entrecortados por um determinado 2.2.2.2. Quantos módulos são entrecortados por módulo? um determinado módulo?

A Figura 3 apresenta a Meta e as questões geradas. As questões 1 e 2 são derivadas diretamente da Meta e se referem à facilidade de evolução do documento de requisitos e reuso. Estas duas questões são refinadas em questões sobre facilidade de entendimento e flexibilidade. A primeira é refinada pelos atributos: tamanho (1.1.1 e 2.1.1), separação de assuntos (1.1.2 e 2.1.2) e acoplamento (1.1.3 e 2.1.3). Questões sobre flexibilidade são também refinadas pelos atributos: separação de assuntos (2.2.1 e 2.2.1) e acoplamento (1.2.2 e 2.2.2), exceto o atributo de tamanho. Deve-se notar que questões como: 1.1.1.2. Quantos elementos (ou partes) compõem esses módulos? são respondidas diretamente com a aplicação de uma métrica. As questões são abstratas e devem ser instanciadas para cada documento de requisitos orientado a aspectos. Alguns termos têm o sentido abstrato e devem ser instanciados para uma determinada abordagem. É o caso dos termos abaixo: i) Módulo: qualquer estrutura que encapsula uma funcionalidade (ou parte dela), por exemplo: um caso de uso, um agente, um papel, uma classe, um caso de uso aspectual, um aspecto entre outros. ii) Assunto (concern): funcionalidade ou restrição de um sistema, podendo ser tanto um requisito funcional como um não-funcional; exemplos de assuntos são: segurança, persistência, interface, tratamento de erros, cadastro de cliente, emissão de pedidos, entre outros. Deverá ser escolhido um assunto por meta. iii) Aspecto: uma estrutura que encapsula um assunto (ou parte deste), que não consegue ser modularizado simplesmente pelos artefatos disponíveis pela decomposição dominante. iv) Artefatos de decomposição dominante: estruturas utilizadas por uma metodologia para decompor os requisitos de um sistema segundo um determinado critério de decomposição. Por exemplo, na metodologia orientada a objetos a estrutura é o objeto. v) Relacionamento: qualquer tipo de relacionamento, exceto o relacionamento de entrecorte. vi) Entrecorte: é o relacionamento entre um aspecto e um módulo (base), já que um aspecto especifica um interesse (ou parte deste) que será inserido no módulo. O engenheiro de software deverá encontrar os termos relacionados no documento de requisitos que deseja avaliar a qualidade. A seguir apresentamos uma demonstração de como ficariam as questões depois de instanciadas. 3.3. Exemplo de Instanciação das Questões em Um Sistema de Pedágio Automático Vamos utilizar como exemplo o Sistema de Pedágio Automático. Este documento de requisitos foi elaborado com a abordagem [7] é decomposto em pontos de vista (viewpoints), assuntos (concerns) e regras de composição. O documento especifica uma versão simplificada de um sistema de pedágio automático existente nas rodovias portuguesas. O sistema descreve a situação em que um motorista instala um dispositivo no pára-brisa, e com este pode passar por determinadas passagens de pedágio sem ter que parar. O valor a pagar, que depende da distância e do tipo de veículo, é calculado, mostrado ao condutor num visor próprio e debitado periodicamente na sua conta bancária. De acordo com a metodologia GQM, deve-se primeiramente definir o que deve ser medido e sobre qual ponto de vista se deseja avaliar a qualidade de um produto. Portanto, devemos definir uma meta que será o ponto inicial de nossa demonstração.

Como demonstração podemos definir a meta Avaliar o assunto Tempo de Resposta no Documento de Requisitos do sistema de Pedágio Automático com a finalidade de mostrar a qualidade deste em relação à Manutenibilidade, do ponto de vista do engenheiro de requisitos. A segunda etapa será instanciar as questões (Figura 3) para o documento de requisitos. Na figura 4, mostramos como ficaram algumas das questões. 1. Quão fácil é fazer a manutenção do assunto de Tempo de Resposta no documento? 1.1. Quão fácil é o entendimento do documento? 1.1.1. Como é composto o documento? 1.1.1.1. Quantos assuntos (concerns) modelam o assunto de Tempo de Resposta? 1.1.1.2. Quantos requisitos há nas descrições dos assuntos (concern) que descrevem o assunto de Tempo de Resposta?... Figura 4 Questões (parciais) para serem utilizadas no documento de requisitos do sistema de pedágio eletrônico. A questões do primeiro nível são respondidas pelas do segundo nível e as do segundo nível pelas do terceiro e assim é em diante. Portanto, é necessário começar a responder as questões do nível mais inferior. Estas questões inferiores são feitas com a intenção de serem respondidas diretamente com a aplicação de uma métrica que gere um valor numérico e real. Por e- xemplo, para responder a questão 1.1.1.1. (Figura 4), devemos medir (sumarizar) no documento o número de vezes que aparecem estruturas, do tipo assunto, que descrevem o interesse Tempo de Resposta. Assim deve acontecer com as outras questões deste nível. 4. TRABALHOS RELACIONADOS Santa Ana et al. [8] avaliam qualitativamente e quantitativamente os benefícios de implementações de padrões de projeto em sistemas orientados a aspectos e orientados a objetos. Em suas conclusões é inferido que a maioria dos padrões são melhores implementados (em relação à qualidade de reuso e manutenção) utilizando a orientação a aspectos. Porém, alguns padrões se tornam menos reusáveis e/ou manuteníveis quando implementados pelo paradigma orientado a aspectos. Ceccato e Tonella [2] descrevem em seu trabalho um método de medição para identificar as vantagens e desvantagens do uso dos princípios da orientação a aspectos. O método do seu trabalho, assim como o de Santa ana [8], estende métricas já conhecidas do paradigma orientado a objetos. Em seu trabalho é feito um pequeno estudo de caso, onde é demonstrado como utilizar as métricas. Contudo, não são realizadas análises sobre os dados coletados. O trabalho aqui apresentado diferencia-se dos demais primeiramente por tratar da qualidade de aspectos no nível de requisitos e por ter um modelo de qualidade e métricas abstratas flexíveis, portanto podem ser instanciadas a um documento de requisitos que foi desenvolvido por qualquer abordagem orientada a aspectos. 5. CONCLUSÃO E TRABALHOS FUTUROS A medição da qualidade na fase de requisitos é uma estratégia importante para reduzir os custos de manutenção [5, 9], possibilitando o respaldo a estudos estatísticos que viabilizem a melhoria do processo de engenharia de requisitos e do software. Este artigo apresentou um

modelo de qualidade baseado no GQM [1] aplicável a documentos de requisitos que vêm sendo produzidos por um novo e promissor paradigma, o desenvolvimento orientado a aspectos. Utilizando este modelo foram definidas questões abstratas que devem ser instanciadas para o documento de requisitos orientado a aspectos que se deseja avaliar a qualidade. As métricas associadas às questões deverão ser definidas pelo engenheiro de software responsável e sua equipe de qualidade. No entanto, existem alguns trabalhos que estamos desenvolvendo para o uso especifico de métricas em documentos de requisitos orientados a aspectos [6]. Deve-se estar consciente que o modelo não tem a intenção de fornecer um valor direto mostrando se este ou aquele fator está em um nível aceitável. Uma equipe de qualidade deverá utilizar outros dados externos (como resultados de outras avaliações de qualidade) para auxiliar na interpretação das questões. Como trabalhos futuros, estamos criando um processo sistemático que ajudará ao engenheiro de software e sua equipe de qualidade a instanciar as questões. Métricas abstratas também estão sendo estudadas e validadas para compor um processo completo de avaliação de um documento de requisitos orientado a aspectos. Depois de validado o conjunto de métricas e o modelo, uma ferramenta que implemente as métricas e faça a coleta dos dados de forma semiautomática deverá ser construída, para que assim se agilize o processo de aplicação das métricas. AGRADECIMENTOS Este trabalho foi financiado por vários órgãos de incentivo à pesquisa (CNPq Proc. 304982/2002-4 & Proc. 142248/2004-5; CAPES Proc. BEX 1775/2005-7 & Proc. BEX 3478/05-0; & CAPES/ GRICES Proc. 129/05). REFERENCIAS [1] Basili, V., Caldiera, G., Rombach, H. The Goal Question Metric Approach. Encyclopedia of Soft. Eng., vol. 2, pp. 528-532, John Wiley & Sons, Inc. Setembro, 1994. [2] Ceccato, M. and Tonella, P., Measuring the Effects of Software Aspectization, CD-Rom Proceedings of the 1stWorkshop on Aspect Reverse Engineering (WARE 2004). Delft, The Netherlands. Novembro, 2004. [3] Fenton, N., Pfleeger, S. Software Metrics: A Rigorous and Practical Approach. 2ª ed. London: PWS, 1997. [4] Meyer, B. Object-Oriented Software Construction. 2ªed. Prentice Hall, 1997. [5] Pressman, R. Engenharia de Software. 5ª ed., Makron Books, 2002. [6] Ramos, R. A., Carvalho, A., Monteiro, C., Silva, C., Castro, J. F. B., Alencar, F., Afonso, R. Avaliação da Qualidade de um Documento de Requisitos Orientado a Aspectos. IX IDEAS'06. La Plata, Argentina. Abril, 2006. [7] Rashid, A.; Moreira, A. and Araújo, J. Modularization and Composition of Aspectual Requirements. Intl. Conf. on AOSD, The Netherlands, ACM Press, 2003. [8] Sant Anna, C.; Garcia, A.; Chavez, C.; Lucena C.; Staa A. On Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. In: SBES 2003, Manaus/Amazonas, 2003. [9] Sommerville, I. Software Engineering, 6ª.ed. Harlow, England, Addison-Wesley, 2001.