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
- 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.
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.
0 Comments