1. In a software system having a plurality of service components, a plurality of services, each service having one or more corresponding operations, and a service registry, a method of analyzing the software system comprising: finding the plurality of components, a plurality of services and a plurality of operations in the service registry; exercising the found pluralities of components, services and the one or more operations to determine if one or more dependencies are present among the found plurality of components and plurality of services; applying a fitness algorithm to the found plurality of services to determine a service composition of each service within the found plurality of services; and providing a human readable output representative of the found pluralities of components, services and operations, and any dependency determined to be present among the found plurality of components and the service composition of each service.