Journal of Computer Science, Science
With the need to produce ever larger and more complex software systems, the use of reusable components has become increasingly imperative. Of the many existing and proposed techniques for software development, it seems clear that component-based software development will be at the forefront of new approaches to the production of software systems and holds the promise of substantially enhancing the software production and maintenance process. Attempts to rationalize component-based development have to recognize that the construction of a software system is a complex multifaceted activity that involves domain engineering, frame working, assembling, archiving and design of software components. These activities, among others, are encompassed by a software life cycle, named the Y model, put forward in this study. The Y model provides guidance for the major phases to be followed under its umbrella.