34 research outputs found

    Evaluating Software Architectures: Development Stability and Evolution

    Get PDF
    We survey seminal work on software architecture evaluationmethods. We then look at an emerging class of methodsthat explicates evaluating software architectures forstability and evolution. We define architectural stabilityand formulate the problem of evaluating software architecturesfor stability and evolution. We draw the attention onthe use of Architectures Description Languages (ADLs) forsupporting the evaluation of software architectures in generaland for architectural stability in specific

    Evaluating architectural stability with real option theory

    Get PDF

    Integrating security and usability into the requirements and design process

    Get PDF
    According to Ross Anderson, 'Many systems fail because their designers protect the wrong things or protect the right things in the wrong way'. Surveys also show that security incidents in industry are rising, which highlights the difficulty of designing good security. Some recent approaches have targeted security from the technological perspective, others from the human–computer interaction angle, offering better User Interfaces (UIs) for improved usability of security mechanisms. However, usability issues also extend beyond the user interface and should be considered during system requirements and design. In this paper, we describe Appropriate and Effective Guidance for Information Security (AEGIS), a methodology for the development of secure and usable systems. AEGIS defines a development process and a UML meta-model of the definition and the reasoning over the system's assets. AEGIS has been applied to case studies in the area of Grid computing and we report on one of these

    Software System Understanding via Architectural Views Extraction According to Multiple Viewpoints

    Get PDF
    International audienceChanges and evolution of software systems constantly gener- ate new challenges for the recovery of software systems architectures. A system's architecture, together with its elements and the way they inter- act, constitute valuable assets for understanding the system. We believe that offering multiple architectural views of a given system, using domain and pattern knowledge enhance understanding of the software system as a whole. To correlate different sources of information and existing soft- ware system, different viewpoints are considered. Viewpoints enable one to model such information and guide the extraction algorithms to ex- tract multiple architectural views. We propose a recursive framework, an approach that expresses different kinds of information as viewpoints to guide the extraction process. These multiple viewpoints models al- low considering architectural, conceptual, and structural aspects of the system

    Using real options to select stable Middleware-induced software architectures

    Get PDF
    The requirements that force decisions towards building distributed system architectures are usually of a non-functional nature. Scalability, openness, heterogeneity, and fault-tolerance are examples of such non-functional requirements. The current trend is to build distributed systems with middleware, which provide the application developer with primitives for managing the complexity of distribution, system resources, and for realising many of the non-functional requirements. As non-functional requirements evolve, the `coupling' between the middleware and architecture becomes the focal point for understanding the stability of the distributed software system architecture in the face of change. It is hypothesised that the choice of a stable distributed software architecture depends on the choice of the underlying middleware and its flexibility in responding to future changes in non-functional requirements. Drawing on a case study that adequately represents a medium-size component-based distributed architecture, it is reported how a likely future change in scalability could impact the architectural structure of two versions, each induced with a distinct middleware: one with CORBA and the other with J2EE. An option-based model is derived to value the flexibility of the induced-architectures and to guide the selection. The hypothesis is verified to be true for the given change. The paper concludes with some observations that could stimulate future research in the area of relating requirements to software architectures

    A Case Study on Structural Characteristics of Object-Oriented Design and its Stability

    Get PDF
    Design structural stability refers to the extent to which the structure of a design is preserved throughout the evolution of the software from one release to the next. This paper investigates whether there are some structural characteristics (metrics) of object-oriented design that are indicators of its structural stability. Investigated metrics are related to size, inheritance, cohesion, and coupling. Design structural stability was assessed from each software release to the next using two metrics: a classbased metric and a relationship-based metric. As a case study, measures were collected from 13 successive releases of Apache Ant

    A Case Study on Structural Characteristics of Object-Oriented Design and its Stability

    Get PDF
    Design structural stability refers to the extent to which the structure of a design is preserved throughout the evolution of the software from one release to the next. This paper investigates whether there are some structural characteristics (metrics) of object-oriented design that are indicators of its structural stability. Investigated metrics are related to size, inheritance, cohesion, and coupling. Design structural stability was assessed from each software release to the next using two metrics: a classbased metric and a relationship-based metric. As a case study, measures were collected from 13 successive releases of Apache Ant

    Design Structural Stability Metrics and Post-Release Defect Density: An Empirical Study

    Get PDF
    This paper empirically explores the correlations between a suite of structural stability metrics for object-oriented designs and post-release defect density. The investigated stability metrics measure the extent to which the structure of a design is preserved throughout the evolution of the software from one release to the next. As a case study, thirteen successive releases of Apache Ant were analyzed. The results indicate that some of the stability metrics are significantly correlated with post-release defect density. It was possible to construct statistically significant regression models to estimate post-release defect density from subsets of these metrics. The results reveal the practical significance and usefulness of some of the investigated stability metrics as early indicators of one of the important software quality outcomes, which is post-release defect density
    corecore