If we simply define the term “Software”, it is typically categorized into two basic ways:
- Kind of use
- Kind of Customization.
Kinds of software by usage:
1. System-level software: These are the programs that manage and handles the internal operations of the system, such as:
- Operating system (OS) software like Windows, Mac, Linux etc.
- Driver software’s and packages,
- Virus scans software (Anti-Virus software’s) and utilities.
2. Tools and Utility software: These are programs that help applications to work and perform better, such as database management software (DBMS’s).
3. Applications: These are the programs that deliver solutions to the end-user and clients, such as word-processing software and financial accounting software. Popular applications are Microsoft Office suite, Adobe Photo Shop Suites etc.
Kinds of software by customization:
Software programs are either:
- Written and implemented for general purposes and replicated and distributed in its original form across many users, or,
- Written and typically designed and implemented for a specific user.
The first one is popularly known as software product or package. It may be shrink-wrapped and encapsulated and transported physically or via a channel over the Internet.
The second one is widely known as User customized software. Being made-to-order on demand, customized software’s are more geographically constrained that products, i.e., proximity to the user is the most primary and important concern. Because of this reason, software products are more readily and easily exportable than customized software.
System-level software’s are the most complex as it manages the interfaces with both hardware and higher level software whereas in contrast applications software packages are the least complex. Nowadays, all system level software’s are software products.
The more distinguished an end-user’s software requirement is from another end-user, the more likely is the software to be customized. Since variations in needs appear most at the stage of applications, most customized software is applications software.
Software Services classification
User Customized software’s are the part of a larger category known as software services. Software services are described and categorised by several types as follows:
· Consulting: refers to IT strategy, system conceptualization, architecture and design. It is comprised of Nasscom numbers for IS consulting and network consulting and integration.
· Applications Development: refers to creating the applications programs. It is comprised on Nasscom numbers for custom applications development.
· Systems integration (Hardware and software deployment and support): refers to making the software and hardware components compatible and interoperable. It is comprised of Nasscom numbers for:
- Hardware Deployment and Support and
- Software Deployment and Support.
· Systems integration (Applications, tools and O/S): refers to integration of the software components (both products and custom software) in a software project.
· Managed services: refers to services such as managing applications either onsite or remotely over the Web, managing networks, etc. It is comprised of Nasscom numbers for applications management, IS outsourcing, network and desktop outsourcing, applications service providers and system infrastructure service providers.