The software is used extensively in several domains including hospitals, banks, schools, defence, finance, stock markets and so on. It can be categorized into different types:
On the basis of application:
- System Software –
System Software is necessary to manage the computer resources and support the execution of application programs. Software like operating systems, compilers, editors and drivers etc., come under this category. A computer cannot function without the presence of these. Operating systems are needed to link the machine dependent needs of a program with the capabilities of the machine on which it runs. Compilers translate programs from high-level language to machine language.
- Networking and Web Applications Software –
Networking Software provides the required support necessary for computers to interact with each other and with data storage facilities. The networking software is also used when software is running on a network of computers (such as World Wide Web). It includes all network management software, server software, security and encryption software and software to develop web-based applications like HTML, PHP, XML, etc.
- Embedded Software –
This type of software is embedded into the hardware normally in the Read Only Memory (ROM) as a part of a large system and is used to support certain functionality under the control conditions. Examples are software used in instrumentation and control applications, washing machines, satellites, microwaves, washing machines etc.
- Reservation Software –
A Reservation system is primarily used to store and retrieve information and perform transactions related to air travel, car rental, hotels, or other activities. They also provide access to bus and railway reservations, although these are not always integrated with the main system. These are also used to relay computerized information for users in the hotel industry, making a reservation and ensuring that the hotel is not overbooked.
- Business Software –
This category of software is used to support the business applications and is the most widely used category of software. Examples are software for inventory management, accounts, banking, hospitals, schools, stock markets, etc.
- Entertainment Software –
Education and entertainment software provides a powerful tool for educational agencies, especially those that deal with educating young children. There is a wide range of entertainment software such as computer games, educational games, translation software, mapping software, etc.
- Artificial Intelligence Software –
Software like expert systems, decision support systems, pattern recognition software, artificial neural networks, etc. come under this category. They involve complex problems which are not affected by complex computations using non-numerical algorithms.
- Scientific Software –
Scientific and engineering software satisfies the needs of a scientific or engineering user to perform enterprise specific tasks. Such software is written for specific applications using principles, techniques and formulae specific to that field. Examples are software like MATLAB, AUTOCAD, PSPICE, ORCAD, etc.
- Utilities Software –
The programs coming under this category perform specific tasks and are different from other software in terms of size, cost and complexity. Examples are anti-virus software, voice recognition software, compression programs, etc.
- Document Management Software –
A Document Management Software is used to track, manage and store documents in order to reduce the paperwork. Such systems are capable of keeping a record of the various versions created and modified by different users (history tracking). They commonly provide storage, versioning, metadata, security, as well as indexing and retrieval capabilities.
On the basis of copyright:
- Commercial –
It represents the majority of software which we purchase from software companies, commercial computer stores, etc. In this case, when a user buys a software, they acquire a license key to use it. Users are not allowed to make the copies of the software. The copyright of the program is owned by the company.
- Shareware –
Shareware software is also covered under copyright but the purchasers are allowed to make and distribute copies with the condition that after testing the software, if the purchaser adopts it for use, then they must pay for it.
In both of the above types of software, changes to software are not allowed.
- Freeware –
In general, according to freeware software licenses, copies of the software can be made both for archival and distribution purposes but here, distribution cannot be for making a profit. Derivative works and modifications to the software are allowed and encouraged. Decompiling of the program code is also allowed without the explicit permission of the copyright holder.
- Public Domain –
In case of public domain software, the original copyright holder explicitly relinquishes all rights to the software. Hence software copies can be made both for archival and distribution purposes with no restrictions on distribution. Modifications to the software and reverse engineering are also allowed.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Software Engineering | Classification of Software Requirements
- Software Engineering | Introduction to Software Engineering
- Software Engineering | Requirements Engineering Process
- Software Engineering | Re-engineering
- Software Engineering | Reverse Engineering
- Difference between Software Engineering process and Conventional Engineering Processs
- Difference between Forward Engineering and Reverse Engineering
- Classification of RCA on basis of Domain
- Software Engineering | Halstead’s Software Metrics
- Software Engineering | Software Project Management Complexities
- Software Engineering | Role and Responsibilities of a software Project Manager
- Software Engineering | Seven Principles of software testing
- Software Engineering | Agile Software Development
- Software Engineering | Software Maintenance
- Software Engineering | Jelinski Moranda software reliability model
- Software Engineering | Schick-Wolverton software reliability model
- Software Engineering | Software Business and Development
- Software Engineering | Characteristics of good Software
- Software Engineering | Identifying Software Development Metrics
- Software Engineering | Changing Nature of Software
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : bhatiravindra919