Return to search

Frameworks transversais: definições, classificações, arquitetura e utilização em um processo de desenvolvimento de software / Crosscutting framweorks: definitions, classifications, architecture and using in a software development process

O paradigma orientado a objetos não dispõe de abstrações adequadas à modularização de interesses transversais - interesses cuja implementação encontra-se entrelaçada e espalhada por todos os módulos de um sistema. Com o surgimento da Programação Orientada a Aspectos e a disponibilidade de abstrações adequadas à modularização de interesses transversais, o reúso desses interesses foi facilitado. Nesta tese são apresentados alguns resultados de esforços de pesquisa que visam a tornar o reúso de interesses transversais mais efetivo. Definições e classificações para frameworks desenvolvidos no contexto da POA - frameworks transversais - são apresentadas com o objetivo de facilitar a comunicação entre usuários e pesquisadores. Uma arquitetura de referência para o projeto e implementação de frameworks transversais, que torna sua estrutura mais clara e facilita a integração de vários frameworks quando a intenção é criar um repositório de aspectos reusáveis, é proposta. Três famílias de frameworks transversais: de persistência, de segurança e de regras de negócio foram desenvolvidas. Cada família de frameworks transversais constitui uma linha de produtos de software, em que membros podem ser configurados com características (features) distintas. Um processo de desenvolvimento, denominado ProFT/PU, baseado no Processo Unificado (PU), que considera as famílias de frameworks ao longo de todo o processo é apresentado, juntamente com um exemplo de sua utilização para uma aplicação típica. Um estudo de caso para comparar o tempo requerido para reusar um framework transversal de persistência e um framework orientado a objetos de persistência é também apresentado e discutido. / The object-oriented paradigm does not provide adequate abstractions to modularize crosscutting concerns - concerns whose implementation end up tangling and spreading throughout the modules of a system. With the emerging of Aspect-Oriented Programming (AOP) and the availability of abstractions suitable to modularize crosscutting concerns, the reuse of such concerns is facilitated. In this thesis, some results of research efforts to make the reuse of crosscutting concerns more effective are presented. Definitions and classifications for frameworks developed in the context of AOP - crosscutting frameworks - with the objective of improving understanding and communication among users and researchers are presented. An architecture specifically to design and implement this type of framework, which makes its structure clearer and facilitates the integration of several frameworks, is proposed. Three families of crosscutting frameworks for persistence, security and business rules, were developed. Each crosscutting framework family is a software product line, in which members can be instantiated with distinct characteristics. A development process, named ProFT/PU, based on Unifed Process (UP), which takes into account the families during the process, is presented, along with an example of its use for a typical application. A case study to compare the time required to reuse a persistence crosscutting framework and a persistence object-oriented framework is also presented and discussed.

Identiferoai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-01112006-142356
Date25 September 2006
CreatorsValter Vieira de Camargo
ContributorsPaulo Cesar Masiero, Roberto da Silva Bigonha, José Carlos Maldonado, Antonio Francisco do Prado, Arndt von Staa
PublisherUniversidade de São Paulo, Ciências da Computação e Matemática Computacional, USP, BR
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis
Sourcereponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.1248 seconds