The followingoutline is provided as an overview of and topical guide to software:
Software – collection ofcomputer programs and relateddata that provides the information for the functioning of acomputer. It is held in various forms ofmemory of the computer. It comprises procedures, algorithms, and documentation concerned with the operation of a data processing system. The term was coined to contrast to the term hardware, meaning physical devices. In contrast to hardware, software "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaningapplication software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2]
Software development entails the establishment of asystems development life cycle of a software product. It encompasses a planned and structured process from the conception of the desired software to its final manifestation,[4] which constitutescomputer programming, the process of writing and maintaining thesource code. Software development includes research, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.[5]