Specification of software components gives a brief definition of various operations that can be performed by a component.
Specification of software components is needed for various purposes for example to know all the context dependencies and for
knowing its internal structure. There are various levels at which specification of software components can be done. This paper
first defines specification of software components , then it discusses various levels at which it is done. An approach is presented
with an example to specify components .Then a review of various methods used by researchers is described.