the process of analysing an existing system to identify its components and their interrelationships, to allow the creation of a similar system
it is the process of analyzing a subject system to identify the system components and their relationship and create a representation of a system in another form
the process of analyzing an existing software system and creating a new version of the system at a higher level of abstraction