Academic journal article Journal of Digital Information Management

Information System Decomposition Quality

Academic journal article Journal of Digital Information Management

Information System Decomposition Quality

Article excerpt

1. Introduction

Object-oriented approach is becoming popular in the software development community as an alternative to structured analysis and design methodologies. The object-oriented paradigm is often connected with the bottom-up approach. This approach is characterized by two basic steps, the creation of classes of objects out of smaller ones (composition) and the creation of more specialized objects out of more general ones (specialization). The opposite of the bottom-up paradigm is the top-down paradigm, based on steps of decomposition and generalization. The decomposition step is characterized by the decomposition of the system into subjects and the decomposition of subject into classes and the decomposition of bigger and complex classes of objects into smaller and simpler ones. Generalization is the opposite of specialization, where common characteristics of several specialized classes are abstracted and summarized in a more general class. A subclass inherits the attributes and methods of the super class.

In the design phase, a system is decomposed into subjects. Each subject is decomposed into classes. Courtois notes the importance of decomposition [5]: "Decomposition has long been recognized as a powerful tool for the analysis of large and complex systems."

Despite the importance of decomposition, there are few guidelines to help us decompose a system into subjects. Also, it is well known that how a system is decomposed has a great influence on its quality, in particular its maintainability. It would be beneficial if the quality of a software system could be estimated early in its lifecycle, during the analysis and the design phases, before the implementation phase.

Object-oriented software metrics can provide a quantitative means to control the software development process and the quality of the software products. Good system design should consist of subjects with high cohesion and low coupling among subjects. Unfortunately these two criteria are defined qualitatively and only at a program level, inside a class and among classes [1, 2, 4]. They are not defined at a system level. This work adapts the cohesion and coupling metrics defined elsewhere for the procedural information systems decomposition at the system level [12] to the object-oriented systems, taking into account the object-oriented characteristics. These two metrics measure decomposition at a system level, inside a subject and among subjects. Schach notes in [11] that there is no difference between the cohesion of an object and the classical cohesion,

1. e, the module cohesion and also the coupling between two objects can be expressed in term of classing coupling, i. e, the coupling between two modules. There is one form of coupling that is specific to objects; we call this inheritance coupling.

This paper is organized as follows: Section 2 presents a very brief summary of the need for research in this area. Section 3 describes the object-oriented information system model. Section 4 defines the cohesion and coupling metrics at the system level. Section 5 illustrates the application of the metrics on a real information system is presented and discussed. Conclusion and future work are presented in section 6.

2. Problem Overview

Object-oriented analysis and design focuses on objects as the primary agents involved in a computation; each class of data and related operations are collected into a single system entity, then classes are grouped into subject according to the Coad and Yourdon methodology [3].

During the design phase, the analyst organizes the classes of objects into logical groups (subjects) based on some criterion like execution time or data exchange. How to know that a design is good or bad? The analyst needs to use a way to measure the top-level design. Rombach points out [9]: "We need a way to characterize software designs based on architectural design measures". …

Search by... Author
Show... All Results Primary Sources Peer-reviewed

Oops!

An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.