Components is a modular building block for computer software. the components reside within the software architecture and communicate and collaborate with other components and entities that exist outside the boundaries of software. basically there are three important views to define what a component is:
(i) An object oriented view. (ii) The conventional view. (iii) A process related view.(i) An Object oriented view : - In this context a components contains a set of collaborating classes.Each class within a component has been fully elaborated to include all attributes and operations that are relevant to its implementation.
(ii) The conventional view : - In context of conventional view a component is a functional element of a program that incorporates processing logic, the internal data structure that are required to implement the processing logic and an interface that enables the components to be invoked and data to be passed to it.
(iii) A Process related view : - this says that designer must create a new component based on specifications derived from analysis model.
In this view, individual components are interrogated within a standard framework to implement the system. the standard framework can be a scripting language which is designed for evolutionary development such as visual basic or Perl etc.