A computer system consists of hardware, the electronic devices capable of computing and manipulating information, and software that carries out predefined instructions to complete a given task. The combination of physical equipment (hardware) and logical instructions (software) gives power and versatility to the modern computing systems.
Software is a collection of computer programs and related data that provide the instruction for telling a computer what to do and how to do it. A software is an interface between user and computer. It is a set of instructions, programs that are used to give command to hardware. It is responsible for controlling, integrating and managing the hardware components of a computer system and for accomplishing specific tasks.
Types of Software
Software can be divided into two major categories.
1. System Software.
2. Application Software. System Software
System software consists of several programs, which are directly responsible for controlling, integrating and managing the individual hardware components of a computer system.
It also provides the interface between the user and component of the computer.
The purpose of system software is to insulate the applications programmer as much as possible from the detail of the particular complex computer being used.
Depending on the functionality, the system software can be further divided into two major categories; system management program and developing software.
1. System Management Program:
It includes an integrated system of programs, which manages the operations of the processor, controls input/output, manages storage resources and provides various support services. Some common examples of system management programs are operating system, device driver and system utilities.
It consists of programs , which controls, which controls, coordinates and supervises the activities of the various components of a computer system. Its function is to provide link between the computer hardware and the user.
It performs all internal management functions (disk access, memory management, task scheduling and user interfacing) and ensures systematic functioning of a computer system. It provides an environment to run the programs. e.g., MS-DOS, windows XP/2000/98, Unix Linux, etc.
The operating system performs the following functions.
- It recognises input from keyboard, sends output to the display screen.
- It makes sure that programs running at the same time do not interface with each other.
- It is also responsible for security, ensuring that unauthorized users do not access the system.
The Basic Input / Output system (BIOS) is commonly known as System Bios. The BIOS controls various electronic components within the main computer system The initial function of the BIOS is to initialize system devices such as the RAM, hard disk, CD/DVD drive, video display card and other hardwares. The BIOS sets the machine hardware into a known state that helps the operating system to configure the hardware components. This process is known as Booting Up.
A software, which is written with the objective of making a device functional when it is connected to the computer is called device driver. It is a system software that acts like an interface between the device and the user. Every device, whether it is a printer, monitor, mouse or keyboard has a driver program associated with it for its proper functioning.
- Device drivers are a set of instructions that introduce our PC to a hardware device.
- Device drivers are not independent programs, they assists and are assisted by the operating system for the proper functioning.
These programs perform tasks related to the maintenance of the computer system. These are the packages which are loaded into computer during time of installation of operating system. They are used to support, enhance, expand and secure existing programs and data in the computer system.
System utility mainly consists of the following functions
- Disk Compression It increases the amount of information that can be stored on a hard disk by compressing all information stored on a hard disk. This utility works automatically and the user does not need to be aware of its existence.
- Disk Fragmenters It detects computer files whose contents are broken across several locations on the hard disk and moves the fragments to one location to increase efficiency. It can be used to rearrange files and unused space on your hard disk.
- Backup Utilities It can make a copy of all information stored on a disk and restore either the entire disk or selected files.
- Disk Cleaners It is used to find files that have not been used for a long time. This utility also serves to increase the speed of a slow computer.
- Anti-Virus It is the utility which is used to scan computer for viruses and prevent the computer system files from being corrupt.
2. Developing Software
It is a software which provides service required for the development and execution of application software. The programming languages, language translator, loader, linker are required for the application software development.
A programming language is a primary interface of a programmer with a computer. A programming language is an artificial language to express computation that can be performed by a computer.
Each language has its own syntax i.e., the set of specific rules and expresses the logical steps of an algorithm . programming languages are divided into two categories; Low Level Language (LLL) and High Level Language (HLL).
- Low Level Language (LLL) Low level language is divided into two parts
- Machine Language It is sometimes, referred to as machine code or object code. It is a collection of binary digits or bits that computer reads and interprets.
- Assembly Language It is used to interface with computer hardware. It uses instructed commands as substitutions for numbers allowing human to read the code more easily than binary. It uses English –like representation to write a program.
Medium Level Language
It serves as the bridge between raw hardware and programming layer of a computer system. It is designed to improve the translated code before it is executed by the processor.
- High Level Language (HLL) It is machine independent language and uses translator. It is also called source code. Some commonly used high level languages are C, BASIC, FORTRAN, PASCAL, etc.
Some High Level Languages and Their Application Areas
|BASIC (Beginner’s All purpose Symbolic Instruction Code)||1964||John G. Kemeny and Thomas E. Kurtz at Dartmouth college in New Hampshire||Programming for educational purposes||Interpreted|
|C||1972||Dennis Ritchie at Bell Telephone Labs||System programming||Compiled|
|C++||1983||Bjarne Stroustrup at Bell Labs||System Object programming||Compiled|
|COBOL(Common Business Oriented Language)||1959||Grace Hopper||Business management, string oriented||Compiled|
|FORTRAN (Formula Translation)||1957||A team of programmers at IBM||Calculation||Compiled|
|Java||1995||James Gosling at Sun Microsystems||Internet Oriented Programming||Compiled and Interpreted|
|LISP (List Processing)||1958||John Mccarthy at the Massachusetts Institute of Technology (MIT)||Artificial intelligence||Compiled and Interpreted|
|ALGOL (Algorithmic Language)||1958||A committee of European and American computer scientists Jointly||Scientific Purpose||Compiled|
A language translator helps in converting programming languages to machine language. The translated program is called the object code. There are three different kinds of language translator
- Assembler It is used to convert the assembly language into machine language (i.e.,0 or 1), This language consists of mnemonic codes which are difficult to learn and is machine dependent.
- Compiler It is used to convert the source code (written in high level language) into machine language. Compiler reads whole source code at a time and trap the errors and inform to programmer. For each high level language, the machine requires a separate compiler.
- Interpreter This language processor converts a high level language program into machine language by converting it line-by-line. If there is any error in any line during execution, it will report it at the same time and cannot resume until the error is rectified.
A linker is a system program that links together several object modules and libraries to form a single and coherent program (executable). The main purpose of linker is to resolve references among files. Linker is used to determine the memory locations that code from each module will occupy and relates its instruction by adjusting absolute references.
Loader is a kind of system software, which is responsible for loading and relocation of the executable program in the main memory. It is a part of operating system that brings an executable file residing on disk into memory and starts its execution process.
Application software is a computer software designed to help the user to perform singular or multiple tasks. It is a set of instructions or program designed for specific uses or applications, that enable the user to interact with a computer . Application software are also called the end-user programs. These programs do the real work for users.
There are two types of application software.
1. General Purpose Software
General purpose software’s are designed to perform general tasks.
I. Word Processing Software
A word processor is a software program capable of creating, storing and printing of documents. Word processors have the ability to create a document and make changes anywhere in the document. This document can also be saved for modification later on or be opened on any other computer using the same word processor.
Today, the word processor is one of the most frequently used programs or online services used on a computer system. E.g., Microsoft Word , WordPerfect (Windows only), Appleworks (Mac only), Open Office. Org etc.
II. Presentation software
Presentation is the practice of showing and explaining the contents of a topic to an audience or learner visually. People , in a variety of settings and situations, use presentation software to make their presentations more interesting and professional. e.g., marketing managers use presentation graphics to present new marketing strategies to their superiors Sales people use this software to demonstrate products and encourage customers to make purchases. Students use it to create high quality class presentations. e.g., Microsoft PowerPoint, Corel presentations, Lotus Freelance Graphics etc.
III. Electronic Spreadsheets
Spreadsheet applications (sometimes referred to simply as spreadsheets) are the computer programs that accepts data in a tabular form and allow you to create and manipulate spreadsheets electronically. In Spreadsheet Applications, each value exists in a cell. You can define what type of data is in each cell and how different cells depend on one another. The relationships between cells are called Formulas and the names of the cells are called Labels. E.g., Microsoft Excel, Corel Quattro Pro, Lotus 1-2-3 etc.
IV. Database Management System (DBMS)
A DBMS (Database Management System) refers to the software that is responsible for sorting, maintaining and utilizing a database. It enables a user to define, create and maintain the database and provide controlled access on it. A database is a collection of integrated data stored together to serve multiple applications.
Database management system provide several additional features as,
(a) Remove data redundancy
(b) Elimination of data inconsistency
(c) Data sharing
(d) Data integration
(e) Data security
e.g., Microsoft Access, Corel Paradox, Lotus Approach etc.
V. Desktop Publishing Software
Desktop publishing software is a tool for graphic designers and non-designers to create visual communications for professional or desktop printing as well as for online or on screen electronic publishing.
Complete Desktop Publishing (DTP) involves the combination of type setting (choosing font and the text layout), graphic design, Page layout (how it all fits on the page) and printing the document. e.g., Quark Express, Adobe Page Maker, 3B2, Corel Draw, Corel Ventura Illustrator etc.
VI. Graphics Software
Graphics Software or image editing software is an application program or collection of programs that enables a person to manipulate visual images on a computer system. Most graphics software have the ability to import and export one or more graphics file formats. Typical graphics software enables data to be plotted as line chart, bar chart and pie chart. e.g., Adobe Photoshop, Pizza, Microsoft Publishes etc.
VII. Multimedia Software
Multimedia includes a combination of text, audio, still images, animation, video or interactivity content forms. The term is used in contrast to media which uses only rudimentary computer display such as text only or traditional forms of printed or hand produced material.
2. Specific Purpose Software
Specific purpose software are designed to perform specific tasks. This type of application software generally has one purpose to execute.
Some of the specific purpose application software’s are described below.
I. Inventory Management System and Purchasing System.
It is an attempt to balance inventory needs and requirement to minimize total cost, resulting from obtaining and holding an inventory. Inventory is a list of goods and materials available in a stock. Inventory management system is generally used in departmental stores or in an organisation to keep the records of the stock of all the physical resources.
Modern inventory management systems must have the ability to track sales and available inventory, communicate with suppliers in near real-time, receive and incorporate other data, such as sessional demand.
II. Payroll Management System.
Payroll management system is used by all modern organisations to encompass every employee of the organisation who receives a regular wage or other compensation. All different payment methods are calculated by the payroll software and the appropriate Pay checks are issued.
III. Hotel Management System
Hotel management system refers to the management techniques used in the hotel sector. These can include hotel administration, accounts, billing, marketing, housekeeping, front office or front desk.
IV. Reservation System
A reservation system or central reservation system (CRS) is a computerized system used to store and retrieve information and conduct transactions related to air travel, hotels, car rental, or other activities. It is an application software which is commonly seen at railway reservation offices, this software helps the concerned department to automatically check the availability of the seats or berths of any train and any particular data with incomparable speed.
V. Report Card Generator
It is an application software which is commonly used in schools by the examination department to prepare and generate the report cards of the students. It performs all possible mathematical calculations and checks whether a student can be promoted to the next class or not. It can also be used to calculate the class wise ranking of a student.
VI. Accounting software
Accounting software is an application software that records and processes accounting transactions within functional modules such as accounts payable, accounts receivable, payroll and trial balance. It works as an accounting information system.
There are several types of accounting software’s as follows
(a) Accounts payable Software.
(b) Bank Reconciliation Software.
(c) Budget Management Software, etc.
VII. HR Management System
It refers to the systems and processes at the intersection between human resource management (HRM) and information technology. The function of HR department is generally administrative and common to all organisations. e.g., Effective Staff, Cezanne HR etc.
VIII. Attendance System
Attendance system is an application software designed to track and optimize the presence of a person/ student in an organisation or school. Now-a-days, attendance system can be integrated with customer’s existing time/attendance recording devices like Biometrics/ Access cards. Attendance management can be done in two ways
(a) Biometric Integration
(b) Manually Attendance Integration
IX. Billing System
It refers to the software that is used to perform the billing process. It handles the tracking of ladled products and services delivered to a customer or set of customers. e.g., Billing Tracker, Killing etc.
- Visual Basic is an interpreted language.
- Firmware It is a combination of software and hardware. e.g., ROMs, PROMs and EPROMS.
- Freeware It is commonly used for copyrighted software that is given away for free by its owner.
- Pseudo code It is not a programming language. But simply an informal way of describing a program it does not follow any syntax strictly. In other words. We can say that pseudocode is an outline of a program. Written in a form that can easily be converted into real programming statements.
- Control Structures It is a statement or block of statements in a programming language that determines the control flow or sequence of execution of other instructions or statements.
- Looping is a control structure which is used in a program to execute a particular set of statements repeatedly.