Abstract

Most of the software systems design and modeling techniques concentrates on capturing the functional aspects that comprise a system’s architecture. Non-functional aspects are rarely considered on most of the software system modeling and design techniques. One of the most important aspects of software component is reusability. Software reusability may be understood by identifying components’ dependence, which can be measured by measuring the coupling between system’s components. In this paper an approach to detect the coupling between software system’s components is introduced for the purpose of identifying software components’ reusability that may help in refining the system design. The proposed approach uses a dynamic notion of sequence diagram to understand the dynamic behavior of a software system. The notion of data and control dependence is used to detect the dependences among software components. The components’ dependences are identified in which one component contributes to the output computation of the other component. The results of the experiments show that the proposed algorithm can help the software engineers to understand the dependences among the software components and optimize the software system model by eliminating the unnecessary dependences among software components to enhance their cohesiveness. Such detection provides a better understanding of the software system model in terms of its components’ dependences and their influence on reusability, in which their elimination may enhance software reusability.

Highlights

  • Software components interact with each other by maintaining a duct

  • Software components collaborations can be dynamically modeled by a sequence diagram model, such dynamic model of the system is represented by a sequence of messages passed between the components showing the message-sends involved in specific collaborations in order to carry out the system functionality

  • The proposed approach analyzes the software system model under test in terms of a sequence diagram trace which represents the dynamic behavior of the system under analysis

Read more

Summary

INTRODUCTION

Software components interact with each other by maintaining a duct. Such interactions incorporated via software connectors. The best case for components’ reusability is to have no coupling among software components, such case may not be achievable in most of the cases, such coupling’s levels can be used as an interdependence measure between software components These levels of coupling can be ordered based on their effects on components’ understandability, maintainability, and reusability from the worst to the best as follows; content coupling, common coupling, external coupling, control coupling, stamp coupling, and data coupling [5], in which the content coupling is the worst because it represents the high and tight components’ coupling; and the data coupling is the best because it represents the low and loose components’ coupling.

THE RELATED WORK
BASIC DEFINITIONS
COMPONENTS COUPLING DETECTION ALGORITHM
EXPERIMENTAL STUDY
Send “SessionNumber to Student”
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call