4.2 CLASSIFICATION OF SOFTWARE

 The term software in computer science can be compared as the life of any living organism without which it has no significance. If you use a player piano as an analogy, the piano can be thought of as the hardware and the roll of music as the software.

A computer can neither think nor make any judgment on its own. Also it is impossible for any computer to independently analyze a given data and follow its own method of solution. It needs a program to tell it what to do. A program is a set of instructions that are arranged in a sequence that guides the computer to solve a problem. These instructions are written in programming languages (like; BASIC, PASCAL, C...) to help simplify the development of applications. Computer software provides instruction that tells the computer how to operate. Software is also called programs. Programs are usually developed using some language called “programming language”.

Computer software can be categories into two main categories. These are system software and application software. Function of system software are:

4.2.1 System Software

System software is that category of software, which manages all the resources of computer, and is loaded in the beginning or booting of computer. These are designed to make the computer easier to use. System software controls the operation of input/output devices, memory and processor etc. Windows operating system such as Windows 95, Windows 98, Windows 2000, Windows XP Windows Vista etc, are some examples of system software. Some functions of system software are:

  • · Used by the computer to accomplish a task.
  • · Manages all the resources of computer
  • · Create database and keeps it update after every transaction
  • · Arrangement of files in alphabetical order
  • · Controls the internal functions of computer
  • · Controls other devices connected to the CPUs

System software can be further compared as a type of program that acts like a conductor in an orchestra. It directs all the activities and sets all the rules for how the hardware and software work together. MS DOS and Microsoft Windows are examples of system software or operating system software.

Some System Software are inbuilt into the computer. Examples of such software can be given as ROM chips. This software helps to setup the computer and start it.

Types of System Software

System software can be classified into following categories:

1. Operating system

2. Translator and

3. Utility programs

From the application programmer’s point of view, system software should initialize hardware timely and efficiently and also provide better programming environment. For example the libraries may consist of math library (for performing mathematical functions), input/output library, graphics library (to draw different kinds of images etc.).

Let us now discuss various types of system software’s in detail to have basic idea about them.

1. Operating System

The operating systems (OS) are most important system software to run the computer system. Every system must have an operating system. It directly interacts with all kinds of hardware to provide an interface to other system software and application software whenever it wants to access system resources such as CPU, memory, I/O devices. 


The fundamental objectives of operating system is to optimize, utilize and control various kinds of resources: CPU, memory, I/O devices etc. so that the executions of user’ programs become easier.

Components of operating system are shown in Figure 1: The innermost layer is Hardware Layers, followed by operating software, and application software. The last layer of this diagram is user layer where user is connected. 

The operating system must be loaded into main memory which is also called booting from the system. One part of an operating system also called supervisor program, which remain in the primary memory all the time. Other part of the program are loaded into primary memory whenever it is required, otherwise it resides on hard disk. Commonly used operating systems are MSDOS, MSWINDOWS, UNIX, LINUX, XENUX etc.

History of Operating System

In the early 1900s there were no operating systems. The lack of any operating system meant that only one person could use a computer at a time. Even in the research lab, there were many researchers competing for limited computing time. The first solution was a reservation system, with researchers signing up for specific time slots, for performing computing.

The high cost of early computers meant that it was essential that the rare computers be used as efficiently as possible. The reservation system was not particularly efficient. If a researcher finished work early, the computer remained unused until the next time slot or next user comes. If the user time ran out, the researcher might have to pack up his or her work in an incomplete state at an awkward moment to make room for the next user. 

Let us now discuss the idea of common operating system which came into existence by the computer researchers in early 1900s. 

Common Operating System

Originally the operating system was created by each company that manufactured a processor and motherboard. So each operating system was proprietary, that is, unique to each manufacturer.

Problem: changing to a new computer meant your software had to be replaced? Not good marketing. So there was pressure early on to standardize things so that software could be transferred to the new computer (other computer). This required more standardization in operating systems.

The winner in the PC market was MSDOS, Microsoft's Disk Operating System, and its twin at IBM, PCDOS, also OS written by Microsoft. Now it’s hard to recall those days when each computer had its own unique operating system.

An operating system is system software which may be viewed as an organized collection of software, consisting of procedures for operating a computer and providing an environment for execution of programs. Operating system manages resources of the computer system, such as memory, processor, file system and I/O devices. Other programs rely on facilities provided by the operating system to gain access to computer system resources.

An operating system may process its task serially (sequentially) or concurrently (several tasks simultaneously). It means that resources of the computer system may be dedicated to a single program until its completion or they may be allocated among several programs in different stages of execution.

Functions of Operating System

The operating system resides in the main memory of the computer system. Following are the basic functions performed by an operating system 

(i) Resource Management : Operating System is responsible for allocating various resources such as I/O devices, memory etc. to the user effectively. It schedules the processes by time management and memory management. It also keeps track of all the I/O devices and CPU so that there would be no wastage of time and all the devices remain busy all the time.

(ii) File Management : File Management Program makes it easier to manage your files and folders. Many programs were written to help the user find files, create and organize directories, copy, move, and rename files.             

(iii) Disk Management : Programs involve formatting and defragmenting disks. The term  efragmenting means, putting files on the disk, so that the whole file is in sequence. This reduces the time to access the file. Some disk management programs even let you specify the files that are accessed often, like the operating system itself and other frequently used programs.

(iv) Memory Management: Memory management software handles where programs put their current data in RAM. They move certain memoryresident items out of the way. This can effectively increase the memory available by getting all the unused pieces together in one spot.

(v) Security of data: The operating system handles different programs and data in the memory, so that they do not mix or interfere with each other. It protects your computer and data from attacks and damage from outside. Only trusted websites and programs could be allowed to access your computer with security software.

2. Translator

The translators are the system software’s. They are used for translating the instructions into computer readable form i.e., binary form. The instructions are written in any computer programming language such as C or some other programming language and are converted to computer readable form. There are many programming languages such as machine language, assembly language, high level language.  These languages allow a person to write the software programs for system maintenance as well as applications. 

These instructions are converted to binary form by translator software such as assembler, compilers and interpreters. Let us now discuss these translator software one by one to understand the need of language translators in programming. 

(i) Assembler

The first step in the evolution of programming language was the development of assembly language. In an assembly language mnemonics are used to represent operation codes and strings of characters to represent address.


It is the translator program which is used to translate the assembly language instructions in binary form. As shown in figure 2, assembler converts the symbolic instructions code of assembly language into machine language.

In order to execute an assembly language program on a computer, it should first be translated to its equivalent machine language program. The translator which does this is known as assembler. The input to an assembler is the assembly language program and is known as source program. Its output is the equivalent machine language program and is known as the object program.

The assembler is a system program which is supplied by the computer manufacturer. Assembly language programs are also called low level language programs.

The main advantage of using an assembly language programming is the efficiency of the machine language programming resulting from it. Some of the commands which are used in assembly language program are READ, ADD, STO & HLT and the function of these commands are read, add, stop and halt of the execution of instruction of a program.

The main disadvantages of an assembly language are:

(i) It is machine dependent i.e., the programs written for one model of computer can’t be executed on another model.

(ii) It is very difficult to write programs in assembly language and needs rigorous training and expertise.

(iii) Assembly language programming is time consuming in comparison to high level language programming.

Now let us see some code of the Assembly language program: following assembly language program code is explained as:


You can see in the above assembly language program LD, ADD and HALT commands makes readability of program simpler for programmer.

(ii) Compiler

Since, computer doesn’t directly understand high level language programs, written in English language to which it has to process. There is need of translators to translate the high level language into machine language called compiler. Compilers take input as high level language programs and produces output the machine language code of the machine on which it is executed.

These high level language programs must be translated first into machine language and the software which is used to convert high level language programs into machine language (in the form of binary number, 0 & 1), is called compiler.


Compiler scans the entire program first and then checks for syntax (grammatical) errors. If there is any error, the computer generates a printout of the errors it has detected.

Process of detecting and removing errors from a high level language program is called debugging.

Now let us see code of a high level language program: In the following BASIC (Beginners all purpose symbolic instruction code) language program two numbers are added.

This BASIC program adds two numbers X and Y and gives output as their sum. This program is much simpler than assembly language program written for adding two numbers.

(iii) Interpreter

It is another translator program for high level language. It analyzes and executes high level language program statement line by line without looking entire program at one go (as in the case of compiler). Each time of the program is executed; every line is checked for syntax errors and then, is converted to equivalent machine code. It is slower than the compiler.

3. Utility Programs

A utility program performs tasks related to the maintaining of your computer’s hardware or data. Some utility programme are included with the operating system and some is updated every year/time you become online with internet. By updating it becomes better equipped to handle the needs and security of computer systems. A few examples of utility programs are:

1) Software to convert a .pdf file format into a .doc format and vise versa.

2) Multimedia converter software to convert mp3 file format to mp4 or mpeg etc and vise versa.

3) SORT/MERGE software for sorting and merging large volume of business data into single sorted list.

4.2.2 Application Software

Although system software is essential for the running your computer and manage all the resources of it. You need application software to enable the computer to solve a specific data processing task such as payroll processing, inventory control, and insurance company data. A software package is a group of programs for solving a specific task.

A number of powerful application software packages, which does not require significant programming knowledge, have been developed. These are easy to learn and use as compared to the programming languages. Software can be used by people to solve general problems. It can be used to do more than one task such as:

  • · Planning
  • · Writing
  • · Record keeping
  • · Calculating
  • · Communicating
  • · Drawing
  • · Painting etc.

There is no limitation of activities can be done by this softwares.

What can be done with general purpose application software is only limited by the imagination of the user. Use of variety of software depends upon the requirement of the type such as letter typing, making presentation, making tables and storing data in a databases. Some examples of such application software are:

1. Word Processing Package

2. Spreadsheet Package

3. Graphics Software, and

4. Database Management Software

1. Word Processing Package

The word processing means typing, editing and formatting the documents such as letters, documents, books, and balance sheets etc. In general word, processing refers to the processing of words i.e., simple text. A word processor is such a software package that allows the user to create and edit the documents.

Creating the documents involves typing text in the internal memory of the computer system and saving it on the disk. Editing a document involves correction of spelling mistakes and deleting or moving words, sentences or paragraph, i.e., arranging text at appropriate place in the document.


Microsoft Word is a word processing software which can be used to create, edit save and print documents. A window of MSWord software is shown above for illustrating the various menus present in this software. Let us now discuss the menus of this software.

Title bar: It displays the name of the program, name of the currently active word document and control button etc.

Menu bar: It is placed below the title bar and is used for performing various tasks, such as open, close, format etc. of the document.

Status bar: It displays information about the active task on which user is currently working. This includes page number, line number etc. on which the user is currently working.

Advantage of MSWord

MSWord processor software allows us to do following tasks:

(1) Type a document through the keyboard and save it on the disk.

(2) Correct, delete and insert characters, words, lines anywhere in the document.

(3) Retrieve documents from the disk as and when required.

(4) Move or copy paragraphs from one place to other or from one file to other.

(5) Formatting of the document as per the need of the user.

(6) Searching of files in folders of the system.

(7) Save the edited document in the disk

(8) Print a letter or document

2. Electronic Spreadsheet Package

Although MSWord is a very good software package for word processing task, but it is not convenient in entering data in tabular form, doing mathematical calculation and presentation of result in graphical form.

MSExcel software package is used in place of paper sheet or ledger used by the people in management. It is used to store information in the memory of computer system, calculate the result, and display information on computer screen in a desired manner.


Some, common applications of MS Excel worksheet are: Inventory control, Payroll, Income Tax calculation, Price list and invoice billing. Let us now discuss the menus of this software.

Title bar: It displays the name of the program, name of the currently active MS Excel worksheet and control button etc.

Menu bar: It is placed below the title bar and is used for performing various tasks, such as open, close, format etc. of the worksheet.

Status bar: It displays information about the active task on which user is currently working. This includes page number, line number etc. on which the user is currently working.

Features of Spreadsheet

The common features of MS Excel worksheets are:

(1) Worksheet contains rows & columns. There are 65536 rows and 256 columns in a worksheet of MS Excel.

(2) Intersection of rows & columns gives cell, which is used for data entry.

(3) Each cell of the worksheet has unique address.

(4) New rows and columns can be inserted in a worksheet.

(5) Cell address is used for defining the formula in any worksheet.

(6) Entry in worksheet may be numbers, character values or numeric values.

(7) Currently active cell is identified by the position of the cell pointer.

(8) The cursor can be moved from one cell to another by arrow keys.

Advantage of MSExcel Spreadsheet

MSExcel software allows us to do following tasks:

(1) Result of calculation is accurate and fast.

(2) Project reports can be prepared easily and quickly by the user.

(3) Worksheet is saved in electronic file and can be modified when required

(4) Mathematical formula’s such as trigonometric formulas, statistical formula’s are inbuilt along with this software and can be used for analysis of project results.

(5) Data can also be used to generate graphs for the comparison and analysis of project reports.

(6) Two worksheets can be merged for the purpose of report generation from two worksheets.

3. Graphic Software

Graphic software is used to create and manipulate presentation graphics, freehand graphics, charts etc. Some common graphic software’s are MS Power point, LotusGraphics, Harvard Graphics etc. Image processors such as Photopaint and Photoshop are also called graphic software.

In this section, we will discuss some components of graphics software, PowerPoint. PowerPoint is a complete presentation graphics package. It gives you everything you need to produce a professional looking presentation text handling, outlining, drawing, graphics, clip and art, and so on. It also offers rich speaker support and aids to help you create truly effective presentations.

PowerPoint makes you, the presenter and independent producer of your own high equality presentations.


Figure 6 shows the a window of PowerPoint. The features of PowerPoint Window are:

Title bar

It is located at the top of the screen, displays the name of the presentations.

Menu bar

It is located below the title bar and lists the options.

Status Bar

Used to display Messages regarding page number, slide number etc at the bottom of the window.

Advantage of PowerPoint

PowerPoint graphics software allows us to do following tasks:

  • Create a blank presentation
  • Text can be added by using text box
  • Change the fonts, size and color of the text
  • Add drawing objects
  • Presentations can be saved in the memory of the computer
  • Pictures and sounds files can be inserted at appropriate place in the presentation
  • Project reports can be presented by using PowerPoint

4. Data Base Management System (DBMS)

DBMS has its role in almost every field of our life such as school, office, industry etc. It allows storing and managing large amount of data. Various DBMS software’s are FoxPro, Oracle, SQL, Sybase, MS Access etc.


This is the window of FoxPro DBMS software. Command window is box in FoxPro and can be used to enter commands for the execution of the programs or for the preparation of the project report.

Features of DBMS

Creating data files on a computer.

  • · Maintaining these file by adding, deleting, editing and updating a given set of data items
  • · Generating reports based on data files
  • · Querying on those data files and
  • · Generating reports.


 

Comments

Popular posts from this blog

3.8 SECURE NETWORK DEVICES

3.5 SECURITY ISSUES FOR SMALL AND MEDIUM SIZED BUSINESSES

3.6 TOOLS FOR NETWORK SECURITY