This document provides an overview of computer software. It begins by defining software as computer instructions or data that can be stored electronically, in contrast to hardware which refers to physical devices. It then discusses the relationship between hardware and software, noting that both are necessary for a computer to function and that software refers to programs written in a language understood by computers. The document goes on to describe the two major types of software - system software, which acts as an interface between hardware and applications, and application software, which is designed to perform specific tasks. It provides examples and details of both types of software and outlines the typical software development life cycle.