Design patterns as aspects: a quantitative assessment
Autor(a) principal: | |
---|---|
Data de Publicação: | 2004 |
Outros Autores: | , , , |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Journal of the Brazilian Computer Society |
Texto Completo: | http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002004000300004 |
Resumo: | Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn decrease the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare object-oriented and aspect-oriented implementations of classical patterns with respect to important software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares aspect-based and OO solutions for a representative set of design patterns. We have used stringent software engineering attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although some aspect-oriented implementations of specific patterns resulted in higher coupling and more lines of code. |
id |
UFRGS-28_d554c61d6299e78ec0771a87eebd5703 |
---|---|
oai_identifier_str |
oai:scielo:S0104-65002004000300004 |
network_acronym_str |
UFRGS-28 |
network_name_str |
Journal of the Brazilian Computer Society |
repository_id_str |
|
spelling |
Design patterns as aspects: a quantitative assessmentDesign patternsaspect-oriented programmingmetricsDesign patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn decrease the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare object-oriented and aspect-oriented implementations of classical patterns with respect to important software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares aspect-based and OO solutions for a representative set of design patterns. We have used stringent software engineering attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although some aspect-oriented implementations of specific patterns resulted in higher coupling and more lines of code.Sociedade Brasileira de Computação2004-11-01info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersiontext/htmlhttp://old.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002004000300004Journal of the Brazilian Computer Society v.10 n.2 2004reponame:Journal of the Brazilian Computer Societyinstname:Sociedade Brasileira de Computação (SBC)instacron:UFRGS10.1590/S0104-65002004000300004info:eu-repo/semantics/openAccessSant'Anna,CláudioGarcia,AlessandroKulesza,UiráLucena,CarlosStaa,Arndt voneng2010-05-21T00:00:00Zoai:scielo:S0104-65002004000300004Revistahttps://journal-bcs.springeropen.com/PUBhttps://old.scielo.br/oai/scielo-oai.phpjbcs@icmc.sc.usp.br1678-48040104-6500opendoar:2010-05-21T00:00Journal of the Brazilian Computer Society - Sociedade Brasileira de Computação (SBC)false |
dc.title.none.fl_str_mv |
Design patterns as aspects: a quantitative assessment |
title |
Design patterns as aspects: a quantitative assessment |
spellingShingle |
Design patterns as aspects: a quantitative assessment Sant'Anna,Cláudio Design patterns aspect-oriented programming metrics |
title_short |
Design patterns as aspects: a quantitative assessment |
title_full |
Design patterns as aspects: a quantitative assessment |
title_fullStr |
Design patterns as aspects: a quantitative assessment |
title_full_unstemmed |
Design patterns as aspects: a quantitative assessment |
title_sort |
Design patterns as aspects: a quantitative assessment |
author |
Sant'Anna,Cláudio |
author_facet |
Sant'Anna,Cláudio Garcia,Alessandro Kulesza,Uirá Lucena,Carlos Staa,Arndt von |
author_role |
author |
author2 |
Garcia,Alessandro Kulesza,Uirá Lucena,Carlos Staa,Arndt von |
author2_role |
author author author author |
dc.contributor.author.fl_str_mv |
Sant'Anna,Cláudio Garcia,Alessandro Kulesza,Uirá Lucena,Carlos Staa,Arndt von |
dc.subject.por.fl_str_mv |
Design patterns aspect-oriented programming metrics |
topic |
Design patterns aspect-oriented programming metrics |
description |
Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn decrease the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare object-oriented and aspect-oriented implementations of classical patterns with respect to important software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares aspect-based and OO solutions for a representative set of design patterns. We have used stringent software engineering attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although some aspect-oriented implementations of specific patterns resulted in higher coupling and more lines of code. |
publishDate |
2004 |
dc.date.none.fl_str_mv |
2004-11-01 |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002004000300004 |
url |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002004000300004 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
10.1590/S0104-65002004000300004 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
text/html |
dc.publisher.none.fl_str_mv |
Sociedade Brasileira de Computação |
publisher.none.fl_str_mv |
Sociedade Brasileira de Computação |
dc.source.none.fl_str_mv |
Journal of the Brazilian Computer Society v.10 n.2 2004 reponame:Journal of the Brazilian Computer Society instname:Sociedade Brasileira de Computação (SBC) instacron:UFRGS |
instname_str |
Sociedade Brasileira de Computação (SBC) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Journal of the Brazilian Computer Society |
collection |
Journal of the Brazilian Computer Society |
repository.name.fl_str_mv |
Journal of the Brazilian Computer Society - Sociedade Brasileira de Computação (SBC) |
repository.mail.fl_str_mv |
jbcs@icmc.sc.usp.br |
_version_ |
1754734669877739520 |