1. A computer-implemented method for automated discovery and modelling of application services, the method including: (a) for a given application service, identifying a plurality of policies describing software applications upon which the application service depends, wherein the policies include a policy that specifies guidelines to identify, without specifying directly, at least one of the following criteria for a particular application: PCs having the application loaded; servers having the application loaded; databases accessed by a servers having the loaded; users for PCs having the application loaded; business units to which users for PCs having the application loaded are assigned; and network infrastructure that connects together elements described by any of the above criteria; (b) for each policy, identifying a data category, and identifying a collector module for gathering data of that data category; (c) instructing the identified collector modules to gather data; (d) processing the gathered data thereby to create/maintain data objects, wherein each object is indicative of its relationship with one or more other objects, wherein the relationships include: i. relationships in terms of IT infrastructure; and ii. business relationships; (e) for each given application service, sorting and manipulating the data objects based on the policies, thereby to create a model for the application service; (f) based on the model, automatically building an end-to-end application service map for each application service; and (g) on the basis of the end-to-end application service map, performing impact prediction analysis in respect of the model, thereby to identify the impact of a failure in respect of an element, in terms of both infrastructure and business impact.