55 research outputs found

    Measure extendibility/extensibility quality attribute using object oriented design metric

    Get PDF
    Software design is one of the very important phases of the software engineering. The costs of software can be minimized if improvements or corrections made during this stage. Several of the current computer aided software engineering (CASE) tools like enterprise architect (EA) v12 do not have the capability to improve the design. This work aims to develop an algorithm that helps the software engineers evaluating the design quality utilizing one of the object-oriented (OO) design models namely quality metrics for object-oriented design (QMOOD) which represents as hierarchical model that describes the relationship between quality attributes such as reusability, extendibility and properties of the design of OO design. This algorithm describesed how the assessment of the extendibility/ extensibility using the software metrics has been done and the impact of the involved metrics in the extendibility value. Results obtained demonstrate the effect of OO design metrics such as inheritance, polymorphism, abstraction and coupling in quality characteristics like extensibility. The results show that lower values of abstraction and coupling, obtain higher value of extendibility which means the class diagram is ready to accept additional improvements. The proposed algorithm has been tested on two different systems (test cases) that vary in their class diagrams, functionalities, and complexities

    Impact-Analyse fĂĽr AspectJ - Eine kritische Analyse mit werkzeuggestĂĽtztem Ansatz

    Get PDF
    Aspect-Oriented Programming (AOP) has been promoted as a solution for modularization problems known as the tyranny of the dominant decomposition in literature. However, when analyzing AOP languages it can be doubted that uncontrolled AOP is indeed a silver bullet. The contributions of the work presented in this thesis are twofold. First, we critically analyze AOP language constructs and their effects on program semantics to sensitize programmers and researchers to resulting problems. We further demonstrate that AOP—as available in AspectJ and similar languages—can easily result in less understandable, less evolvable, and thus error prone code—quite opposite to its claims. Second, we examine how tools relying on both static and dynamic program analysis can help to detect problematical usage of aspect-oriented constructs. We propose to use change impact analysis techniques to both automatically determine the impact of aspects and to deal with AOP system evolution. We further introduce an analysis technique to detect potential semantical issues related to undefined advice precedence. The thesis concludes with an overview of available open source AspectJ systems and an assessment of aspect-oriented programming considering both fundamentals of software engineering and the contents of this thesis

    ASPECT-ORIENTED SOFTWARE QUALITY MODEL: THE AOSQ MODEL

    Get PDF
    ABSTRAC

    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

    An empirical study of package coupling in Java open-source

    Get PDF
    Excessive coupling between object-oriented classes in systems is generally acknowledged as harmful and is recognised as a maintenance problem that can result in a higher propensity for faults in systems and a „stored up‟ future problem. Characterisation and understanding coupling at different levels of abstraction is therefore important for both the project manager and developer both of whom have a vested interest in software quality. In this Thesis, coupling trends are empirically investigated over multiple versions of seven Java open-source systems (OSS). The first investigation explores the trends in longitudinal changes to open-source systems given by six coupling metrics. Coupling trends are then explored from the perspective of: the relationship between removed classes and their coupling with other classes in the same package; the relationships between coupling and 'warnings’ in packages and the time interval between versions in Java OSS; the relationship between some of these coupling metrics are also explored. Finally, the existence of an 80/20 rule for the coupling metrics is inspected. Results suggest that developer activity comprises a set of high and low periods (peak and trough‟ effect) evident as a system evolves. Findings also demonstrate that addition of coupling may have beneficial effects on a system, particularly if they are added as new functionality through the package Java feature. The fan-in and fan-out coupling metrics reveal particular features and exhibited a wide range of traits in the classes depending on their high or low values; finally, we revealed that one metric (fan-in) is the only metric that appears consistently to exhibit an 80/20 (Pareto) relationship.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    • …
    corecore