- 1 Software: System, Operating System and Application Software’s!
- 2 Software needs can be defined in terms of functions of the software. It performs three basic functions in relation to IT infrastructure:
- 3 These categories are, however, suggestive and not exclusive. Accordingly, software needs can be defined under three broad categories:
Software: System, Operating System and Application Software’s!
The work performed by a computer system depends, to a large extent, on the software resources available in an enterprise. If computer hardware is the physical being or body of IT infrastructure, software is its brain, heart and soul. It is, therefore, essential to plan the acquisition, use and maintenance of the software required to achieve the information goals of the enterprise.
It identifies the software needs, procurement options and the role of manager in this process. It also evaluates the option of outsourcing application development services and raises the contentious issues involved in the process of planning for application development.
Software needs can be defined in terms of functions of the software. It performs three basic functions in relation to IT infrastructure:
i. It manages the IT resources in an enterprise;
ii. It offers tools for utilisation of IT infrastructure;
iii. It acts as an interface between the information and the users.
These categories are, however, suggestive and not exclusive. Accordingly, software needs can be defined under three broad categories:
i. System software,
ii. Application software,
iii. Interaction/query software.
(a) System software:
This class of software manages the hardware resources such as primary and secondary memory, display devices, printers, communication links and other peripherals in the IT infrastructure. The management of resources includes the operation, control and extension of the capabilities of each resource. The system software may have a variety of components, such as operating system and translation programs.
(i) Operating system:
Operating system (OS), as an integrated set of programs, acts as an intermediary between the user and computer hardware. The user is, generally, unconcerned about the technical details of the hardware and need not be aware of the whole process of giving instructions to hardware.
OS controls the input/output operations, performs the system scheduling tasks, takes care of system interruptions and monitors system status, giving appropriate messages to different hardware and users.
The overall control of a computer system is under the supervision and control of an OS component called the Supervisor or kernel. The supervisor program, generally, resides in the primary memory.
The other OS programs such as utility and library programs are generally stored on a mass storage device attached to the computer system. They are called by the supervisor as and when required for the current job.
The popular operating systems products include MS-DOS, UNIX, Windows 95, OS/2, Mac OS, etc.
(ii) Translation software:
Translation software translates the programs written in programming languages such as COBOL, FORTRAN, PASCAL and C++ into machine recognizable instructions (also called object or machine language programs). The source programs once debugged and translated become executable on computer hardware, of course, under the control of OS. The translation software is also called compilers.
System software is computer system specific and it is likely that a given system software may run only on a specified type of computer system.
(b) Application software:
Application software is the collection of programs that actually process data to generate information under various applications. This category of software offers tools for satisfying the users’ need for information. For each application, there has to be software performing various data processing activities required for the job.
(c) Interaction/query software:
The interaction/query software is relatively a new class of software that serves as a language of interaction between users and programmers on the one hand and the stock of information stored on computer system on the other. With the help of such tools even the users are able to develop limited applications for their use without much of technical expertise.
It is possible because such software offers limited programming facilities that make the application development easier for common type of programming situations. This software is also called end user languages, fourth generation languages (4GLs), dialogue/query languages or very high level languages.
There exists an array of software components under each of these software categories and the details about these components are given at different locations in the book. The various categories of software are represented in Fig 7.1.
It may be noted that communication with the computer system hardware is possible through the system software. However, the system software performs only housekeeping jobs and thus, the process of information generation can be initiated and completed only when specific application software is available. Many a time, the user is looking for certain facts from the data bank of the enterprise. Such a need is satisfied by the interactive/query software.
The interactive software may also directly interact with the operating system. In most of the cases, the user interacts either with application software, with or without the intermediation of query software, or with the system software.