- Broadly, computer software includes various computer programs, system libraries, and their associated documentation. Based on the nature of the task and goal, computer software can be classified into application software, utility software, and system Software Hierarchy.
- Application software: Application software is designed to perform special functions other than the basic operations carried out by a computer. All such software is application- specific and cannot be directly understood by the underlying hardware of the computer.
So Application software is concerned with the solution of some problems; it uses a computer as a tool and enables the end user to perform specific and productive tasks. There are different types of application software based on the range of tasks performed by the computer.
- Utility software: This software designed for users to assist in maintenance and monitoring activities. These include anti-virus software, firewalls, and disk utilities. They help maintain and protect system but do not directly interface with the hardware.
- System software: System software can view as software that logically binds components of a computer to work as a single unit and provides the infrastructure over which programs can operate. It is responsible for controlling computer hardware and other resources and allows the application software to interact with computers to perform their tasks. System software includes an operating system, device drivers, language translators, etc. Some specific system software is assemblers, linkers, loaders, macro processors, text editors, compilers, operating system, debugging system, source code control system, etc.
- A set of instructions to perform specific tasks called a program and the collection of one or many programs for a specific purpose termed as computer software or, simply, software. These instructions can on internal command or an external input received from devices such as a
mouse or keyboard.
Characteristics of Software
So The software characteristics include performance, portability, and functionality. Developing any software requires the understanding of the following software quality factors:
- Additionally, Operational characteristics: These include characteristics such as correctness, usability/learnability, integrity, reliability, efficiency, security, and safety.
- Transitional characteristics: These include interoperability, reusability, and portability.
- Revision characteristics: These characteristics related to ‘interior quality’ of software such as efficiency, documentation, and structure. Various revision characteristics of software are maintainability, flexibility, extensibility, scalability, testability, and modularity.