COMPONENT-BASED ARCHITECTURE RECOVERY FROM OBJECT ORIENTED SYSTEMS USING EXISTING DEPENDENCIES AMONG CLASSES

Software Architecture modeling and representation is very important in software development process. Software Architecture provides high level view which is very useful in all phases of software life cycle. Component based software architecture is beneficial as it is useful for reusing system parts represented as components. Most of the existing object oriented systems do not have reliable software architecture and some legacy systems are designed without software architecture design phase. To deal with this problem we have proposed approach of architecture recovery which aims to extract component based architecture from existing object oriented system using existing dependencies among classes. In this paper we examine existing object oriented system to identify dependency among the classes using method coupling, inheritance coupling and composition coupling. The tool has been developed for this purpose. We evaluated the feasibility on Java software . KeywordsSoftware Architecture, Architecture Recovery, Coupling, Component-based, Object-oriented, Dependency International Journal of Computational Intelligence Techniques ISSN: 0976-0466 & E-ISSN: 0976-0474, Volume 3, Issue 1, 2012 Introduction Object-oriented development had not provided extensive reuse and computing infrastructures are evolving from mainframe to distributed environments, where object technology has not led to massive development of distributed systems. However, component-based technology is considered to be more suited for distributed system development due to its granularity and reusability. Component-based software architecture is a high level abstraction of a system using the architectural elements: components which describe functional computing, connectors which describe interactions and configuration which represents the topology of connections between components. While recovering software Architecture from object oriented system different abstraction levels can be considered e.g. method level, variable level, object level and system level. Extensive literature research has justified these abstraction levels for software measures.[1] The definition of metrics on Object Oriented system elements are obtained by identification of different types of relationship between different classes and computation of their strengths[2]. Class coupling is one of the Object Oriented metric. Coupling is an indication of the connections between elements of the object oriented Design [3] and indicates dependencies among classes. It is important to identify coupling for creating components. We need to determine precisely the dependency among classes and how to measure their strengths. The possible dependencies among Object Oriented system entities include inheritance, composition, aggregation and method invocations. So identifying these dependencies become the first step to recover software Architecture. Well defined components designs are driven by a variety of factors e.g. the principles of cohesion and coupling are important factors for well-defined component design [4].Therefore in this study we are focusing on class coupling to identify well defined components. Our approach of extracting component based architecture from Citation: Shivani Budhkar and Arpita Gopal (2012) Component-Based Architecture Recovery from Object Oriented Systems using Existing Dependencies among Classes. International Journal of Computational Intelligence Techniques, ISSN: 0976-0466 & E-ISSN: 0976-0474, Volume 3, Issue 1, pp.-56-59. Copyright: Copyright©2012 Shivani Budhkar and Arpita Gopal. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.