33 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

    A taxonomy of asymmetric requirements aspects

    Get PDF
    The early aspects community has received increasing attention among researchers and practitioners, and has grown a set of meaningful terminology and concepts in recent years, including the notion of requirements aspects. Aspects at the requirements level present stakeholder concerns that crosscut the problem domain, with the potential for a broad impact on questions of scoping, prioritization, and architectural design. Although many existing requirements engineering approaches advocate and advertise an integral support of early aspects analysis, one challenge is that the notion of a requirements aspect is not yet well established to efficaciously serve the community. Instead of defining the term once and for all in a normally arduous and unproductive conceptual unification stage, we present a preliminary taxonomy based on the literature survey to show the different features of an asymmetric requirements aspect. Existing approaches that handle requirements aspects are compared and classified according to the proposed taxonomy. In addition,we study crosscutting security requirements to exemplify the taxonomy's use, substantiate its value, and explore its future directions

    Aspect-oriented analysis for software product lines requirements engineering

    Get PDF
    SAC '11 Proceedings of the 2011 ACM 26th Symposium on Applied ComputingRequirements analysis and modeling for Software Product Lines demands the use of feature models, but also requires additional models to help identifying, describing, and specifying features. Traditional approaches usually perform this manually and, in general, the identification and modularization of crosscutting features is ignored, or not handled systematically. This hinders requirements change. We propose an aspect-oriented approach for SPL enriched to automatically derive feature models where crosscutting features are identified and modularized using aspect-oriented concepts and techniques. This is achieved by adapting and extending the AORA (Aspect-Oriented Requirements Analysis) approach. AORA provides templates to specify and organize requirements based on concerns and responsibilities. A set of heuristics is defined to help identifying features and their dependencies in a product line. A tool was developed to automatically generate the feature model from AORA templates

    Relational-model based change management for non-functional requirements: approach and experiment

    Get PDF
    In software industry, many organizations either focus their traceability efforts on Functional Requirements (FRs) or else fail entirely to implement an effective traceability process. NonFunctional Requirements (NFRs) such as security, safety, performance, and reliability are treated in a rather ad hoc fashion and are rarely traced. This is mainly because of the unique nature of NFRs. They are subjective, relative and they tend to become scattered among multiple modules when they are mapped from the requirements domain to the solution space. Furthermore, NFRs can often interact, in the sense that attempts to achieve one NFR can help or hinder the achievement of other NFRs at particular software functionality. Such an interaction creates an extensive network of interdependencies and tradeoffs among NFRs which is not easy to trace. In a previous work, we proposed a conceptualization of NFRs through the NFRs Ontology. In this paper, we extend the previous work by proposing a change management mechanism for tracing the impact of NFRs on the other constructs in the ontology such as FR or NFR operationalization and vice versa, and providing a traceability mechanism using Datalog expressions to imp lement queries on a relational model-based representation for the ontology. The proposed traceability queries are then evaluated through a multiproject variation quasi-experiment on regression testing conducted in the industry

    Towards anticipating requirements changes through studies of the future

    Get PDF
    © 2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.Whilst it is considered a good practice to focus Requirements Engineering on current stakeholder needs, the high costs implied by requirements changes and the emergence of the Autonomic Computing paradigm raised the need for dealing with issues that are not currently requirements but that may come to be in the future. This work shows how foresight techniques can be used for requirements elicitation, and discusses the impacts of studying the future to that requirements engineering activity. In particular, it addresses the use of the Futures Wheel method to enrich goal models.Peer ReviewedPostprint (author's final draft

    Clustering and its Application in Requirements Engineering

    Get PDF
    Large scale software systems challenge almost every activity in the software development life-cycle, including tasks related to eliciting, analyzing, and specifying requirements. Fortunately many of these complexities can be addressed through clustering the requirements in order to create abstractions that are meaningful to human stakeholders. For example, the requirements elicitation process can be supported through dynamically clustering incoming stakeholders’ requests into themes. Cross-cutting concerns, which have a significant impact on the architectural design, can be identified through the use of fuzzy clustering techniques and metrics designed to detect when a theme cross-cuts the dominant decomposition of the system. Finally, traceability techniques, required in critical software projects by many regulatory bodies, can be automated and enhanced by the use of cluster-based information retrieval methods. Unfortunately, despite a significant body of work describing document clustering techniques, there is almost no prior work which directly addresses the challenges, constraints, and nuances of requirements clustering. As a result, the effectiveness of software engineering tools and processes that depend on requirements clustering is severely limited. This report directly addresses the problem of clustering requirements through surveying standard clustering techniques and discussing their application to the requirements clustering process

    Expressing aspectual interactions in requirements engineering: Experiences, problems and solutions

    Get PDF
    AbstractAspect Oriented Requirements Engineering (AORE) provides support for modularizing crosscutting requirements. In the context of an industrial project in the domain of Slot Machines we needed to perform AORE, with a special emphasis on dependencies and interactions among concerns. We were however unable to find any report of large-scale industrial applications of AORE approaches that treat dependencies and interactions. We therefore evaluated two AORE approaches: Theme/Doc and MDSOCRE, to establish their applicability in our setting. In this paper we report on the limitations of both approaches we encountered and propose extensions that allow them to cope with concern interactions. We also show how these extensions provide the needed expressiveness by applying them to our industrial case study

    Expressing aspectual interactions in requirements engineering: Experiences, problems and solutions

    Get PDF
    Aspect Oriented Requirements Engineering (AORE) provides support for modularizing crosscutting requirements. In the context of an industrial project in the domain of Slot Machines we needed to perform AORE, with a special emphasis on dependencies and interactions among concerns. We were however unable to find any report of large-scale industrial applications of AORE approaches that treat dependencies and interactions. We therefore evaluated two AORE approaches: Theme/Doc and MDSOCRE, to establish their applicability in our setting. In this paper we report on the limitations of both approaches we encountered and propose extensions that allow them to cope with concern interactions. We also show how these extensions provide the needed expressiveness by applying them to our industrial case study.Laboratorio de Investigación y Formación en Informática Avanzad

    Reingeniería orientada a aspectos para mejorar la accesibilidad de sitios web

    Get PDF
    La Accesibilidad Web es una de las facetas de la calidad en uso y una protagonista esencial al éxito de un sitio Web. Sin embargo, las encuestas muestran repetidamente que la Accesibilidad en la Web para personas con discapacidad es decepcionantemente baja. Esta categórica realidad propició en numerosas organizaciones y comunidades de investigación el desarrollo de enfoques para dar soporte a la Accesibilidad Web. Actualmente existen diversos enfoques para asistir de una u otra manera al diseño de aplicaciones Web Accesibles. En contraposición, no existen esfuerzos similares en la actividad de reingeniería de aplicaciones Web ya existentes. Rediseñar aplicaciones Web para mejorar su Accesibilidad puede implicar el análisis de diferentes aspectos, y los distintos aspectos pueden generar distintas propuestas de mejora, incluso relacionadas en algunos casos. Ese tipo de interrelaciones puede estudiarse mediante la aplicación de técnicas que provienen del Desarrollo de Software Orientado a Aspectos (AOSD). Nuestra investigación está dirigida a proponer un enfoque para mejorar la Accesibilidad de sitios Web en base a aspectos.Eje: Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI
    corecore