TYPES OF SOFTWARE

0

 TYPES OF SOFTWARE

There is a wide variety of software available today. And there is no clear cut distinction in certain software systems. Still, most computer software can be broadly classified as:
  • System software
  • Programming software
  • Application software
At times the categorization is vague and some software may fall into more than one categories.

1.4.1 System Software 

System software helps run the computer hardware and system. It is designed to control the operations of a computer and coordinate all external devices like communication devices, printers, keyboards, display units, etc. It manages all the computer resources like memory and processor time in optimal and stable manner.

System software provides a useful link between user and computer. It also assists the computer in the efficient control, support, development and execution of application software. System software is essential for computer hardware to be functional and useful

Some common types of system software are:

a) Operating Systems  

Operating System is the software that manages all the computers‘ resources to optimize its performance provides common services for efficient execution of various application software and acts as an interpreter between the hardware, application programs and the user.

An operating system is essential for any computer to be useful to us. When a user or a program wants the hardware to do something, the request is always communicated to and processed by the operating system.

Operating systems performs basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk and controlling peripheral devices.

For large systems, the operating system has even greater responsibilities and powers.

Most operating systems perform the functions given below: 
  • Process Management
  • Memory Management
  • File Management
  • Security
  • Command interpretations
You will study in detail about the operating system in the following units in this block.

b) Server Programs 

Server programs are dedicated computer programs that run as services and serve the needs or requests of other programs. These services may run on a dedicated hardware or on the same computer as the requesting program. Also, one on more services may run on the same computer hardware. Some common examples of different types of server programs are:
  • Web server – for hosting websites.
  • Print server – manage multiple print requests for multiple printers.
  • File server – manages the storage and retrieval of shared computer files.
  • Database server – provide database services to other computer programs.
  • Mail Server – manages and transfers electronic mail messages.

c) Device Drivers

Device drivers are shared computer programs that provide an interface between the hardware devices and operating system or other higher level programs.

You need a specific software program to control each hardware device attached to the computer. It is very tedious to make any piece of hardware work. For example to write to a hard disk, you need to know the specific address available, wait till hard disk is ready to receive data and then feed it with data once it is ready. So instead of writing the same code for a device in multiple applications you share the code between applications. To ensure that the shared code is not compromised, you protect it from users and programs. Such a piece of code is called the device driver.

Device drivers are hardware dependent and operating system specific. They allow you to add and remove devices conveniently from your computer system without changing any of the applications using that device. Common hardware components that require drivers are: 
  • Keyboards
  • Mouse
  • Printers
  • graphics cards
  • sound cards
  • card readers
  • CD/ DVD drives
  • Network cards
  • Image Scanners

d) Communications Software

In a networked environment, the communication software or network operating system allows computers to communicate with each other. It enables sharing and transferring of data across the network. It controls network operations and manages network security.

1.4.2 Programming Software 

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. It shields the application software programmer from the often complex details of the particular computer being used.

Programming Software includes the following: 

a) Compilers 

A compile is a program that translates the code written in a high-level programming language (called the source code) to the code in lower level language (the object code). The compiler translates each source code instruction into a set of, rather than one object code instruction. Generally, the object code is the machine language code.

When a compiler compiles a program, the source program does not get executed during the process, it only gets converted to the form that can be executed by the computer.

b) Debuggers

 A debugger or debugging tool is a computer program that is used to test and debug other programs (the target program).

Typically, debuggers offer functions such as running a program step by step (single-stepping) or breaking (pausing the program to examine the current state) at some event or specified instruction by means of a breakpoint, and tracking the values of some variables. Some debuggers have the ability to modify the state of the program while it is running, rather than merely to observe it. It may also be possible to continue execution at a different location in the program to bypass a crash or logical error.

c) Interpreters 

Interpreter is another translation program. It takes the source code instruction, one at a time, translates and executes it.

d) Linker

A linker or link editor is a program that takes one or more Object file codes generated by a compiler and combine them into a single executable program.

When large software, involving many programmers is to be developed, then the modular approach is adapted. The software is divided into functional modules and separate source programs are written for each module. Each of these source files can then be compiled independent of each other to create a corresponding object file. Eventually, linker is used to combine all the object files and convert them into a final executable program.


e) Text editor

A text editor is a type of program used for editing plain text files.

Many text editors for software developers include source code syntax highlighting and automatic completion to make programs easier to read and write.

Common text editors in Windows environment are Notepad and Textpad.

1.4.3 Application Software 

Application software is designed and developed to accomplish one or more specific task or solve a particular problem.

Application software may be for commercial or scientific use. There is wide range of application software available for varied purposes. Some major categories of these applications include:

a) Word Processing Software can be used to create, edit, format, save, view or 
print any text based document like letters, memos, reports, etc. MS Word is an 
example of word processing software

b) Spreadsheet Software can be used to create any numeric based documents or 
as numeric data-analysis tool. For example it can be used to make budgets, 
financial statements, comparative charts, etc. MS Excel is an example of 
Spreadsheet software.

c) Database Software can be used to store, maintain, manipulate and organize a 
large set of data. For example, it can be used to maintain address, phone number 
directory, client directory, etc. Oracle is an example of database software.
d) Presentation Software like MS PowerPoint can be used to create and present 
slide show.

e) Graphics Software can be used to manage and manipulate pictures, 
photographs, movies, etc. Photoshop, Illustrator and MS Paint are examples of 
graphics software.

f) Multimedia Authoring Application can be used to create digital movies with 
sound, video, animation and interactive features. Mediator 9 is an example of 
multimedia authoring tool.

Other applications include:
  • Entertainment and Education Software 
  • Industrial automation
  • Business software like inventory management, airline reservation
  • Video games
  • Telecommunications
  • Mathematical software
  • Medical software
  • Scientific software like molecular modeling, quantum chemistry software
  • Image editing
  • Simulation software
  • Decision making software
1. Compare and contrast the following:
a. System and Application Software
b. Compiler and Linker
c. Compiler and Interpreter
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
2. Give an example of each of the following:
a. Decision Making Software
b. Education Software
c. Industrial Automation Software
d. Mathematical Software
e. Simulation Software
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
3. You bought a new printer. You attached it to the computer and plugged to the 
power, but it still does not work. What do you think must have happened and 
how can you resolve the issue?
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
4. List which software will be required to perform the following actions:
a. You have write code in C++. What software you will use to write the code 
in?
b. You have attached a new scanner to your machine to scan your 
photographs. What software you will use to get it working?
c. You have bought a new PC. What is the first piece of software that is 
needed to be installed for it to be useful so that other software could be 
added?
d. You have created a student registration system. What will you use to store 
the students data.
 

Post a Comment

0Comments
Post a Comment (0)