5 research outputs found

    An ontology of agile aspect oriented software development

    Get PDF
    Both agile methods and aspect oriented programming (AOP) have emerged in recent years as new paradigms in software development. Both promise to free the process of building software systems from some of the constraints of more traditional approaches. As a software engineering approach on the one hand, and a software development tool on the other, there is the potential for them to be used in conjunction. However, thus far, there has been little interplay between the two. Nevertheless, there is some evidence that there may be untapped synergies that may be exploited, if the appropriate approach is taken to integrating AOP with agile methods. This paper takes an ontological approach to supporting this integration, proposing ontology enabled development based on an analysis of existing ontologies of aspect oriented programming, a proposed ontology of agile methods, and a derived ontology of agile aspect oriented development

    Um estudo exploratório a partir de um framework para seleção de práticas ágeis

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da ComputaçãoO principal objetivo dos métodos ágeis existentes é promover o desenvolvimento eficiente de software através de práticas que priorizam a comunicação com o cliente e entregas frequentes. Cada método ágil apresenta um conjunto próprio de práticas. Com esta diversidade de práticas torna-se interessante a construção de novos processos ágeis que contemplem apenas as práticas mais adequadas a partir destes métodos. O problema, entretanto, é que a combinação de práticas de diferentes métodos ágeis não garante, necessariamente, que o novo processo definido seja ágil. Este trabalho avalia a agilidade do conjunto de práticas de um framework de práticas ágeis e busca identificar quais práticas apresentam maior harmonia quando usadas no mesmo processo. A agilidade das práticas é avaliada através dos dados de uma grande pesquisa de opinião online e a harmonia entre elas é identificada através da técnica de análise de agrupamentos. Os melhores resultados foram apresentados pelas práticas de Integração contínua, Desenvolvimento lado a lado e Testes de aceitação. A análise de agrupamentos, por sua vez, formou quatro grupos de práticas: o primeiro formado por Projeto da arquitetura do sistema e Lista de requisitos; o segundo por Desenvolvimento coletivo de código, Integração contínua, Refatoração e Testes de aceitação; o terceiro por Projeto da iteração e Modelagem geral; e o quarto por Desenvolvimento lado a lado e Reuniões diárias.The main objective of agile methods is to promote efficient software development through practices that prioritize communication with the client and frequent deliveries. Each agile method presents its unique set of practices. This diversity of practices may lead to the definition of new agile processes that include only the more appropriate practices from these methods. The problem, however, is that combining practices from different methods does not guarantee that the resulting process can be considered agile. This work assesses the agility of a set of practices of a framework for selecting agile practices and seeks to identify which practices provide more harmony when used in the same process. The agility of the practices is evaluated using data from a large online survey and the harmony between them is identified by the technique of cluster analysis. The best results were presented by the practices of Continuous integration, Side by side development and Acceptance tests. The cluster analysis resulted in four practice groups: the first with System architectural design and Requirements list; the second with Collective code ownership, Continuous integration, Refactoring and Acceptance tests; the third with Iteration design and General modeling; and the fourth with Side by side development and Daily meetings

    Improving agile software development using eXtreme AOCE and aspect-oriented CVS

    No full text
    Currently there are no Concurrent Versioning Systems (CVS) designed to properly support agile software development. The existing CVS lacks user friendliness and it requires users to be fully experienced with the system before they can adequately use it. Also its asynchronous style of merging often leads to code loss. In this paper, we describe a novel CVS system, called the Aspect-Oriented CVS (AOCVS) and our newly derived agile software development methodology, eXtreme Aspect-Oriented Component Engineering (eXtreme AOCE). Unlike the general CVS which is used for a vast variety of projects, AOCVS was designed and developed specifically for eXtreme AOCE. Our CVS tool merges the changes in a synchronous/real time fashion; this in turn removes the hassle for the developers on having to resolve merging conflicts. We also describe how our implemented AOCVS can be used to provide functionalities that can assist developers to produce and distribute reusable code and to communicate and manage aspect-oriented agile projects more efficiently and effectively. Our novel agile approach and tool allows software developers to use the rich cross-cutting systemic concerns, their behaviour and properties in aspect-oriented components to refactor, maintain, add functionalities and test complex software systems more easily, rapidly and accurately
    corecore