1. A method of analyzing a software system having a plurality of components, a plurality of services, each service having one or more corresponding operations, and a service registry, the method comprising: finding the plurality of components, the plurality of services and the one or more corresponding 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 displaying, on a user interface, a human readable output representative of the found pluralities of components, services and the one or more found corresponding operations, and any dependency determined to be present among the found plurality of components and the service composition of each service, wherein at least one of the finding, the exercising, and the applying is performed by a processor.