Return to search

Modularity analysis of use case implementations

Made available in DSpace on 2014-06-12T15:57:56Z (GMT). No. of bitstreams: 2
arquivo3237_1.pdf: 1530844 bytes, checksum: dcdb6221a7c974cbfc9e96c7629001ef (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Atualmente, arquitetura baseada em componentes é a abordagem mais utilizada no desenvolvimento
de softwares complexos; esta tem como principal objetivo a atribuição dos
requisitos da aplicação aos componentes. Uma das técnicas mais difundidas para especificação de requisitos é a utilização de Casos de Uso. Em geral, arquiteturas de software
baseadas em componentes resultam em implementações onde o código relativo a um caso
de uso está espalhado e entrelaçado em diversos componentes do sistema, caracterizando
um crosscutting concern. Isto ocorre porque técnicas tradicionais, como Orientação a
Objetos (OO), não oferecem mecanismos que sejam capazes de modularizar este tipo de
concern. Recentemente, novas técnicas de modularização como aspectos, mixins e classes
virtuais, foram propostas para tentar resolver este problema. Estas técnicas podem ser
usadas para agrupar o código relacionado a um único caso de uso em uma nova unidade
de modularização.
Este trabalho analisa qualitativa e quantitativamente o impacto causado por este tipo
de modularização de casos de uso. Nós exploramos duas técnicas baseadas em Orientação
a Aspectos (OA): (i) Casos de Uso como Aspectos - onde utilizamos os construtores de
AspectJ para isolar todo código relativo à implementação de um caso de uso em um
aspecto; e (ii) Casos de Uso como Colaborações Plugáveis - onde usamos os construtores
de CaesarJ para modularizar implementações de casos de uso através de uma composição
hierárquica de colaborações. Nós executamos dois estudos de casos onde comparamos as
implementações OA de casos de uso com sua implementação OO. No processo de avaliação
extraímos métricas tradicionais e contemporâneas incluindo coesão, acoplamento e separação de concerns e analisamos modularidade em termos de atributos de qualidade de
software como: plugabilidade, rastreabilidade e suporte para desenvolvimento em paralelo.
Nossos resultados indicam que modularidade é um conceito relativo e sua análise
depende de outros fatores além do sistema alvo, das métricas e da técnica aplicada

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.ufpe.br:123456789/2409
Date31 January 2010
CreatorsRodrigues dos Santos d'Amorim, Fernanda
ContributorsHenrique Monteiro Borba, Paulo
PublisherUniversidade Federal de Pernambuco
Source SetsIBICT Brazilian ETDs
LanguageEnglish
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UFPE, instname:Universidade Federal de Pernambuco, instacron:UFPE
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0019 seconds