Desktop Application

Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
Software can be developed for a variety of purposes, the three most common being to meet specific needs of a specific client/business, to meet a perceived need of some set of potential users, or for personal use. The development of software use for controlling consumer products, requires the development process to be integrate with the development of the controlled physical product. System software underlies applications and the programming process itself, and is often developed separately.