Escolar Documentos
Profissional Documentos
Cultura Documentos
Ramos Ideas2006
Ramos Ideas2006
Orientado a Aspectos
Ricardo Argenton Ramos1 , Andr Carvalho1, Cleviton Monteiro1, Carla Silva1,
*
Jaelson Castro1,2, *Fernanda Alencar3, Ricardo Afonso4
1
Centro de Informtica
Universidade Federal de Pernambuco UFPE
Av. Prof. Luiz Freire s/n, Recife PE, Brasil
50732-970, +55 81 212618430
{rar2, allc, cvfm,ctlls, jbc}@cin.ufpe.br
2
Grupo de Tecnologias da Informao em Sade (TIS) Ncleo de Tele-Sade NUTES Hospital das Clnicas, Av. Prof. Moraes Rego, s/n, Cidade Universitria, Recife-PE, Brasil
50.670-420, telefone: +55 81 2126-3903.
ricardo.afonso@nutes.ufpe.br
Abstract. Recent proposals have looked at the requirements stage, using the aspect oriented
programming, trying to separate and after to compose the concerns that are spread and tangled
in the requirement document. New factors appear in these requirements documents, such as,
crosscutting concerns, size and coupling are not qualitative evaluated, because there are not
these metrics. This paper shows a set of abstract metrics that, with the help of guidelines, can
be applied to measure an aspect oriented requirements document developed by any approach.
Also a measurement process is proposed.
1 Introduo
O uso inadequado de processos de desenvolvimento de software gera grandes custos
nas fases de manuteno deste software em desenvolvimento. do conhecimento
geral [19], que o custo da correo de erros j na fase de projeto cerca de trs a seis
vezes mais alto do que na fase de definio de requisitos. Todavia, esse custo aumenta
ainda mais quando a correo de erros realizada em fases mais avanadas no
processo de desenvolvimento.
O desenvolvimento de software orientado a aspectos (Aspect Oriented
Software Development AOSD) surge como uma opo para que engenheiros de
software organizem melhor todas as fases de desenvolvimento, desde os documentos
de requisitos at a implementao e testes de softwares [4, 11, 26]. Por ser uma linha
de pesquisa ainda em evoluo, a maioria dos esforos iniciais tm sido concentrados
na fase da implementao como uma soluo para aumentar a facilidade de
entendimento e, conseqentemente, facilitar a manuteno e evoluo desse software.
Por esse motivo, na fase de implementao, possvel encontrar tanto tcnicas de
modelagem [18] e reengenharia [20] como ferramentas [9] que minimizam os
esforos de engenheiros de software que trabalham com o AOSD nessa fase.
Por outro lado, a utilizao do conceito de separao de interesses [5] e
orientao a aspectos [13], j na fase de requisitos, permite uma melhor organizao
do documento de requisitos. Nessa nova viso, os requisitos que entrecortam outros
requisitos [22] e os que so volteis (suscetveis a mudanas) [31] so identificados e
modularizados como aspectos. Em um primeiro momento os termos interesses
entrecortantes (do ingls crosscutting concerns) foram utilizados para classificar
requisitos no funcionais que entrecortavam outros requisitos (funcionais ou no).
Dessa forma, somente poderia ser considerado um aspecto algum requisito no
funcional. Em trabalhos recentes [31] o termo interesse utilizado para classificar
qualquer tipo de requisito (funcional ou no-funcional). Quando um desses interesses
entrecorta outros interesses ou quando o interesse voltil, esse considerado um
candidato a aspecto.
Contudo, apesar das provveis facilidades que o AOSD sugere para a fase de
requisitos, ainda no existe preocupao em se desenvolver trabalhos que avaliem
qualitativamente um documento de requisitos orientado a aspectos. SantaAna e
outros [25, 26] avaliam qualitativamente e quantitativamente os benefcios de
implementaes de padres de projeto em sistemas orientados a aspectos e orientados
a objetos. No sendo avaliados, porm, os documentos de requisitos.
No contexto de mtricas que auxiliem o engenheiro de software a avaliar a
qualidade de documentos de requisitos orientados a aspectos, Ramos [21] elabora um
conjunto de mtricas para medir a qualidade dos aspectos especificados em uma
abordagem orientada a casos de uso aspectuais. Nessa mesma linha, este artigo
prope um conjunto de mtricas abstratas que podem ser instanciadas, com o auxilio
de diretrizes em um documento de requisitos com aspectos, bem como um processo
de medio. As mtricas sero utilizadas em abordagens diferentes de engenharia de
requisitos com aspectos. Para ilustrar apresentado um estudo de caso.
Na Seo 2 esto sendo relatados alguns trabalhos na rea da orientao a
aspectos na fase de requisitos, na Seo 3 so apresentadas mtricas para a avaliao
da qualidade de aspectos em documentos de requisitos, na Seo 4 so apresentadas
<<crosscuts>>
Realizar Transao
Bancria
Cliente
<<crosscuts>>
Realizar Transao
Financeira
Limitar Valor da
Movimentao
<<crosscuts>>
Cobrar Tarifa por
Transao Extra
Realizar
Checar Senha
Transao de Internet Banking
Consulta
Visualizar
Saldo da Conta
Emitir
Comprovante
Visualizar
Extrato da Conta
Requisitos
Aspectuais
Objetivo Principal
Identifica conflitos em requisitos.
Detecta defeitos em requisitos.
Certifica que os requisitos so consistentes com as intenes dos clientes e
usurios.
Diretrizes
1.
identificar qual a estrutura (mdulo de decomposio) utilizada para especificar um
aspecto ou interesse;
1.1.
na estrutura, identificar como esta composta, se existem passos, sub
estruturas, excees, desvios ou condies;
2.
3.
M2
M3
Diretrizes
Mtricas instanciadas
M1
M3
Experincias do Eng.
de Software, dados
externos de outras
medies, etc
M2
1
2
Documento de
Requisitos
Dados Coletados
Possveis alteraes
(realimentao)
Decises
5. Estudo de Caso
Existem duas tcnicas bsicas para avaliar uma abordagem: experimentos e estudos
de caso. A realizao de experimentos prov uma maneira de avaliao baseada em
comparao direta, permitindo a pesquisadores investigar qual o impacto da
tecnologia no processo de maneira detalhada [30]. J a realizao de estudos de caso
Neste estudo de caso, optou-se por coletar somente dados referentes aos
mdulos (casos de uso) aspectuais. Portanto, primeiramente foi selecionado um caso
de uso e se mediu o item desejado. Por exemplo, para o caso de uso aspectual
6. Consideraes Finais
Este artigo apresentou um conjunto de mtricas abstratas, que com o auxlio de
diretrizes, podem ser instanciadas para medir um documento de requisitos orientado a
aspectos em relao a separao de interesses, tamanho e acoplamento, sendo que
esse documento pode ter sido elaborado por uma abordagem qualquer.
As mtricas apresentadas auxiliam o engenheiro de software a elaborar uma
base de conhecimento em relao ao interesse medido. Essa base de conhecimento
Agradecimentos
Este trabalho contou com o apoio de vrios projetos de pesquisa (CNPq 304982/2002-4,
CAPES BEX 1775/2005-7, CAPES BEX 3003/05-1 e CAPES/ GRICES 129/05).
Referncias Bibliogrficas
1.
2.
3.
4.
Albrecht, P. F. et al. Reliability test system IEEE trans. on Pas., Vol. Pas-98, No.6 , p. 2047-2054.
Nov./Dec.1979.
Arajo, J.; Whittle, J.; Kim, D. "Modeling and Composing Scenario-Based Requirements with
Aspects". In: The 12th Requirements Engineering Conference , Kyoto, Japan, September 2004.
Aksit, M.; Tekinerdogan, B. and Bergmans, L. "The Six Concerns for Separation of Concerns", In:
Workshop on Advanced Separation of Concerns, Budapest, Hungary, June 18-22, 2001.
Brito, I. and Moreira, A. Towards a Composition Process for Aspect-Oriented Requirements. In:
Aspect-Oriented Requirements Engineering and Architecture Design, - Boston, USA, 2003.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Czarnecki, K.; Eisenecker, U. Generative Programming: Methods, Tools, and Applications. AddisonWesley, 2000.
Durn, A.; Corts, A. R.; Corchuelo, R.; Toro, M. Supporting Requirements Verification Using
XSLT .Requirements Engineering Conference - RE 2002 Essen, Alemanha, Setembro 2002.
Elrad, T., Filman, R. and Bader, A. Aspect-Oriented Programming: Introduction, Communications
of the ACM, v.44 n.10, p.29-32, Oct. 2001.
Elrad, T.; Aksit, M.; Kiczales, G.; Lieberherr, K. and Ossher, H. Discussing Aspects of AOP.
Communications of the ACM, 44(10):3338, October 2001.
Hannemann, J.; Kiczales, G. Overcoming the Prevalent Decomposition in Legacy Code. In:
Workshop on Advanced Separation of Concerns, Toronto, Canada, Maio 2001.
ISO 9126, Tecnologia da Informao Qualidade de Produto Parte 1: Modelo de Qualidade,
International Standard ISO/IEC 9126, International Standard Organization, Junho, 2001.
Jacobson, I; Chriterson, M; Jonsson, P. and Overgaard, G. "Object-Oriented Software Engineering: A
Use Case Driven Approach". Addison Wesley, 1992.
Jacobson, I.; Booch, G.; and Rumbaugh, J. The Unified Software Development Process, AddisonWesley, 1999.
Kiczales, G.; Lamping, J.; Mendhekar, A. RG: A Case-Study for Aspect-Oriented Programming. In:
SPL97. Palo Alto Research Center, Technical Report, 1997.
Kiczales, G.; Hilsdale, E.; Hugunin, J.; Kersten, M.; Palm, J. and Griswold, W. An Overview of
AspectJ. In: 15th European Conference on Object-Oriented Programming, Berlin, Heidelberg,
Springer Verlag, 2001.
Kitchenham, B.; Pickard, L. and Pfleeger, S. Case Studies for Method and Tool Evaluation . IEEE,
1994.
McCall, J.; Richards, P.; Walters, G. Factors in software quality, Technical Report, Vols. 1--3,
Rome Air Development Center, United States Air Force, Hanscom AFB, Springfield, VA. 1977.
Moreira, A.; Arajo, J. and Brito, I. Crosscutting Quality Attributes for Requirements Engineering,
SEKE 2002, ACM Press, Italy, July, 2002.
Pawlak, R., Duchien, L., Florin G., Legong-Aubry, F., Seinturier, L, Martelli, L. A UML Notation for
Aspect-Oriented Software Design. In: Workshop of Aspect Oriented Modeling with UML of
Proceedings of Aspect Oriented Software Development Conference , Enschede, Abril, 2002.
Pressman, R. Engenharia de Software. Makron Books, 5 edio, 2002.
Ramos, R. A.; Penteado, R.; Masiero, P. C.; - Um Processo de Reestruturao de Cdigo Baseado
em Aspectos - SBES2004 - Braslia/DF. Outubro, 2004.
Ramos, R. A, Castro, J. F. B. Avaliao de uma Metodologia de Medio da Qualidade em um
Documento de Requisitos Orientado a Aspectos. In: WER, Porto- Portugal, 2005.
Rashid, A.; Sawyer, P.; Moreira, A. and Arajo, J. Early Aspects. A Model for Aspect-Oriented
Requirements Engineering. Conference on Requirements Engineering, Essen, Germany, 2002.
Rashid, A.; Moreira, A. and Arajo, J. Modularisation and Composition of Aspectual
Requirements. In: 2nd International Conference on Aspect-Oriented Software Development, 2003.
Reis, T., P., C. Uma Metodologia para Medio da Qualidade de Aplicaes Web na Fase de
Requisitos. Dissertao Programa de Ps-Graduao em Cincia da Computao, UFPE, Recife
Pernambuco, 2004, 163f.
SantAnna, C.; Garcia, A.; Chavez, C.; Lucena C.; Staa A. On Reuse and Maintenance of AspectOriented Software: An Assessment Framework. In: SBES2003, Manaus/Amazonas. Outubro, 2003.
SantAnna, C.; Garcia, A.; Chavez, C.; Lucena C.; Staa A. Design Patterns as Aspects: A
Quantitative Assessment. In: SBES2004, Brasilia - DF, 2004.
Silva, L.; Leite, J. Uma linguagem de modelagem de requisitos orientada a aspectos, Proceedings of
the Requirement Engineering Workshop at CAiSE 2005, Porto-Portugal, 2005.
Sousa, G. Uma Abordagem Direcionada a Casos de Uso para o Desenvolvimento de Software
Orientado a Aspectos. Dissertao Programa de Ps-Graduao em Cincia da Computao,
UFPE, Recife Pernambuco, maio 2004, 180f.
Summerville, I. Engenharia de Software. Addison- Wesley, 2003.
Travassos, G.; Gurov, D. and Amaral, E. Introduo Engenharia de Software Experimental.
Relatrio Tcnico, RT-ES-590/02, Rio de Janeiro, 2002.
Whitte, J.; Arajo, J. Scenario modelling with aspects. In: IEE Proceedings online no. 20040921,
Vol. 151, No. 4, Agosto 2004.
W3C. Extensible Markup Language (XML) 1.0 (Second Edition). W3C Recommendation. Outubro
2000.