Patent ID: 8086992

Claim:
A method for developing software using a top-down design comprising the steps of: providing a software development application that supports development using a top-down approach; using a processing unit, receiving input from at least one user of the software development application to describe a behavior of an original system by attaching technology-neutral original system endpoints and respective contracts to a plurality of original system components; using the processing unit, receiving input from the at least one user of the software development application to delegate an original system endpoint from an original system component to a member component of the original system being developed using a top-down approach; determining technology-specific implementation details for the member component; implementing a desired functionality for the member component by using user specified source code or calling at least one third party application; replacing the original system endpoint with a proxy endpoint; retaining all connections to the original system endpoint in designs that reference the original system endpoint; and replacing a delegate member endpoint of the proxy endpoint with a different delegate member endpoint on a different member component while still retaining all connections to the original system endpoint in designs that reference the original system endpoint.