Application software encompasses software programs which are mainly developed for users to perform various related or stand-alone tasks as per their need. Application software cannot run on its own; it requires system software and related supporting environments like software/libraries/run times (such as application server or JVM) to work properly. Application software can also be defined as a front-end tool/application, with which users can interact with the underlying system/computing environment. Application software comes in different forms; it can be stand-alone like a media player, word processor or spread sheet application. Or it can be bundled, including multiple related applications together, known as an application suite like enterprise resource planning (ERP) software, customer relationship management (CRM) software or Microsoft Office.
On the other hand, system software is a computer program designed to sit on top of computer hardware and make it ready for running various application software. So, the system software provides and maintains the environment where application software can be installed and operates. It is a middle layer between the computer hardware and application software. System software executes on its own when a computer system starts and it continues to run as long as the system is on. System software is also called low-level software, as it coordinates between the hardware and system components. The most common system software is the computer's operating system (such as Windows, Linux, UNIX and OS X). Other examples of system software include firmware and BIOS.
Therefore, application software and system software are developed for different purposes but both are basically computer programs. Without system software, application software cannot run, and without application software, system software does not have much practical usage. They work together to run computer functions successfully.