Definition[]
Software development (also called computer program development and application development) refers to "[t]he process of designing and building code to create a computer program (software) used for a particular type of job."[1]
How software is developed[]
The preparation of a computer program involves many steps. Except for the simplest of programs, the first step in developing a program is to create the design documents. These design documents includes a diagram of how the data input to the program will flow through the program, what operations will be performed on that data at each stage, and what is to be done with that data once it has been processed (e.g., stored on a disk, printed out, displayed on a computer screen). The design also includes the specifications of any database to be used (which indicates how and where the data will be stored), and the specification of any protocols that will be reflected in the final program code.
The final design document is much like a blueprint for a building. Highly trained architects, structural engineers and others spend a great deal of time and effort to insure that the design is correct, so the building can be constructed without trial and error, and the building will be structurally sound and function as promised. Once the blueprint is completed, the construction of the building is a straightforward and not particularly intellectually challenging task.
Once the design document for a computer program is completed, converting that design into computer code should be a relatively straightforward task. The program is written in a high level, human-readable code called "source code."