Вы находитесь на странице: 1из 18

Software types, Systems Software, Classification of Operating

System, Application Software, Introduction to Programming


Language, Types of Programming Languages. Introduction to
Microsoft Office, working with MS Word, MS Excel, MS Power point,
Data Base, Data Base Management System
S O FT WA R E
Software represents the set of programs that govern the operation of a
computer system and make the hardware run.
Software, by definition, is the collection of computer programs, procedures
and documentation that performs different tasks on a computer system. The
term 'software' was first used by John Tukey in 1958. Computer software is
the language in which a computer speaks. There are 3 major types of
computer software.
1.System Software
2.Application Software
3.Programming software
1System Software: It helps in running computer hardware and the
computer system. System software helps an application programmer in
abstracting away from hardware, memory and other internal complexities of
a computer.
System software is the backbone of a computer. While on one hand it
regulates the operation of the computer hardware to perform the necessary
user-oriented functions, it also provides the basic framework to enable
smooth running of the various application software on the other hand. To put
it simply, a system software is the basic platform upon which the computer
runs its hardware and enables the user to derive full computing functionality
of the various application software and get his work done.
It controls the basic operations as follows:
Saving data on disk
Making computer to work for us.
Printing a document etc
There are four basic categories under which system software can be
classified. These are:-

The Basic Input Output System (BIOS) or boot loader which defines
the firmware interface and loads the OS;

The device firmware that controls the operation and performance of


the computer hardware;

The operating system (OS) which allows the user to interact with
the hardware and get the desired outcome by carrying data between
RAM and storage disks, displaying the desired result on the output
device (monitor/LCD) and by acting as the platform to allow various
other system and application software to run on the computing device;

Various utility software that regulate the computer functionality by


analyzing its performance, configuring and optimizing its processes
and, thereby, carrying out system maintenance functions.

Operating System

An operating system is a set of programs that manages all computer


components and operations. A computer cannot do anything without
operating system. Operating system must be installed on every
computer. Users interact with the computer through operating system.
DOS and Windows are examples of operating system software.
Eg.Dos,Windows XP, Windows NT etc.
A.UTILITIES
These programs offer the various maintenance and performance
evaluation utility tools to configure and optimize the various processes
that influence the performance of your computer.

Utility programs are generally fairly small.Each type has a


specific job to do.

1. Compression utilities make files smaller for storage (or sending over
the Internet) and then return them to normal size.

DoubleDisk Gold,
XtraDrive,
Stacker,
DiskDoubler,

and SuperStor Pro.


2.Anti-virus applications
protect computer from the damage that can be caused by viruses
and similar programs.

Norton AntiVirus,
Ad-Aware Pro,
ESET NOD32,

McAfee VirusScan,

and Windows Live OneCare


3.Compression utilities make files smaller for storage (or sending over
the Internet) and then return them to normal size.

DoubleDisk Gold,
XtraDrive,
Stacker,

DiskDoubler,

and SuperStor Pro.


4.Data recovery utilities attempt to

restore data and files that have been damaged or accidentally deleted.

5. Disk defragmenters reorganize the

data stored on disks so that it is more efficiently arranged.


5.

Firewalls

prevent outsiders from accessing your computer over a network


such as the Internet.
6.

Backup Utilities

As the name suggests, these data backup tools are used to copy all
information and provide it when required, such as in case of disk failure or
corruption.

Windows Home Server Computer Backup,

Norton Ghost,

Backup Exec,

NetBackup,

IBM Tivoli Storage Manager,

and EMC Legato NetWorker.


7.Disk Partitioning Tools
These applications help the user to divide the hard drive into partitions, which
can lead to effective data management. The main advantage of disk
partitioning is that it prevents anyone from accidental or purposeful
modification of system files.

Microsoft fdisk,

Logical Disk Manager,

Partition Master,

and Maxblast.

8. Disk Checkers and Cleaners


These helpful utilities check the hard drive for any damaged or
unnecessary files, and delete them for efficient hard disk functioning.
These tools are good for increasing the speed of a slow computer.
CHKDSK,
Disk Checker,
ADRC Hard Disk Checker.

B.

Device Drivers

Device drivers are needed for every peripheral and device connected to a
computer, from the mouse and keyboard to the printer.

This type of system software allows the OS to effectively identify and


communicate with hardware connected to a machine.

The OS can include device drivers for basic components, like the mouse and
keyboard, while peripheral manufacturers often provide discs with drivers for
users to install with their hardware.

Mouse Driver

Printer Driver

CD ROM Driver

2. Application software
Application software is that which is designed for the end-users and
hence these software are also known as end-user programs.
It employs the capabilities of a computer to execute tasks that the user
wishes to perform on a computer system.
It enables the end users to accomplish certain specific tasks. Business
software, databases and educational software are some forms of
application software. Different word processors, which are dedicated to
specialized tasks to be performed by the user, are other examples of
application software.

Types of Application Software


A number of applications put together make an application software.
These applications have common features, functions and have
common user interface. These applications are able to interact with
each other and work in tandem.
Content Access Software
Educational Software
Enterprise Software
Information Worker Software
Media Development Software
Product Engineering Software
Simulation Software
General purpose Software
Content Access Softwareused to access content without editing
Web browsers
Ex. media players
Game consoles ,

and entertainment software


Educational Software used for educational purposes
Training management and classroom management software
Reference software

Enterprise Software
Caters to the needs of organization processes and data flow.
Customer relationship management
Supply chain management software

Information Worker Software

to manage information pertaining to a project or a single department.

Media Development Software


They are used for generating print and electronic media in the
educational and commercial sector.
Flash,
audio and video editors,
Image organizers and image editing software, animation ,
web development software.
Product Engineering Software
This software is used in the development of hardware and software
products.
Application programming interfaces and integrated development
environment (IDEs) are the well-known examples of product
engineering software.
Program testing tools,
debuggers,
Compilers
and CAD

Simulation Software They are used for the simulation of physical


and abstract systems.Computer simulators that are used forsimulating
scientific concepts and social ideas.
battlefield,
vehicle and flight simulators
General purpose Software
Can be used by any one
MS-office
Tally

Advantages of Application Software


When you begin to compare, you will find that the pros outweigh the cons
very easily. With that in mind, here are some of their most popular and
widely accepted benefits. Note that in this scenario, we are speaking of
application software that is designed for a specific purpose, to be used either
by individuals or by businesses.

Their single biggest advantage is that it meets the exact needs of the
user. Since it is designed specifically with one purpose in mind, the
user knows that he has to use one specific software to accomplish his
task.

The threat of viruses invading custom-made applications is very small,


since any business that incorporates it can restrict access and can
come up with means to protect their network as well.

Licensed application software gets regular updates from the developer


for security reasons. Additionally, the developer also regularly sends
personnel to correct any problems that may arise from time to time.

Disadvantages of Application software


As is the case with all such matters, there are certain disadvantages of such
software as well. Though these are not spoken about very often, nor are they
highlighted, the fact is that they do exist and affect certain users. But people
have accepted these misgivings and still continue to use such software
because their utility and importance is much more profound than their
weaknesses.

Developing application software designed to meet specific purposes


can prove to be quite costly for developers. This can affect their
budget and their revenue flow, especially if too much time is spent
developing a software that is not generally acceptable.

Some software that are designed specifically for a certain business,


may not be compatible with other general software. This is something
that can prove to be a major stumbling block for many corporations.

Developing them is something that takes a lot of time, because it


needs constant communication between the developer and the
customer. This delays the entire production process, which can prove
to be harmful in some cases.

Application software that is used commonly by many people, and then


shared online, carries a very real threat of infection by a computer
virus or other malicious programs.
3. Programming Software: This is one of the most commonly known

and popularly used types of computer software. These software come


in the form of tools that assist a programmer in writing computer
programs. Computer programs are sets of logical instructions that
make a computer system perform certain tasks. The tools that help
programmers in instructing a computer system include text editors,
compilers and interpreters.

Programming Languages They are artificial languages that are used to


write programs that control the functioning of a computer system. They are
the building blocks of computer applications.

A language is a system of communication. Programming language consists


of all the symbols, characters, usage rules (syntax) which permits user to
communicate with computers.
Types of Programming Languages

Low level Languages

Assembly Languages

High Level Languages

4th generation LANGUAGES

Object oriented languages

1) Machine Level Language ( MLL )


A computer understands information composed of only zeros and ones and
hence it uses binary digits for its operation. The computers instructions are coded and
store in the memory in the form of 0s and Is. A program written in the form of 0s and 1s
is called machine language program. There is a specific binary code for each instruction.
For example, to add the contents of register A and register B, the binary code is
10000000 for Intel 8085. The binary code (machine code or object code) for a certain
operation differs from computers to computer. Each microprocessor has its own
instruction set and corresponding machine codes.

Advantages :
a) Directly understood by the computer
b) No need of translation.
b) Faster Execution Speed.
c) Primary Memory Usage.

Disadvantages :
a) Difficult to Program : Writing a program in Machine Level Language is not only
difficult task for programmers to write the instructions in binary code but is also subject
to error.
b) Error Prone : Maintenance of Machine Level Language program is also difficult.
There is possibility of errors in memory locations of binary instructions.
c) Difficult to Modify : Machine Level Language program is not portable.
d) Machine Dependent : Every computer has its own machine instructions, so the
programs written for one computer is not portable for other computers.
2) Assembly Level / Low Level / Symbolic Language ( ALL, LLL, SL )
The writing of programs in machine language is very difficult, tiresome and
boring job for a programmer. Moreover, it is error-prone. To solve this problem and to
facilitate programmer easily understandable languages have been developed. Assembly
language is one of them. Programs can easily be written in alphanumeric symbols
instead of 0s and 1s. Meaningful and easily remember able symbols are selected for this
purpose. For example, ADD for addition, SUB for subtraction, CMP for comparison, etc.
Such symbols are known as mnemonics. A programs written in mnemonics is called
assembly language program. The writing of programs in assembly language is easier
and faster as compared to the writing of programs in a machine language.
Although assembly language save time and reduce errors and find errors easily,
they have certain limitation.

a)

Coding in this language is time consuming.

b)

This language is machine oriented i.e. they are designed for the specific make

and model of processor being used. i.e. it is machine dependent language.

Advantages:
a) Easy and Efficient programming
b) Efficient and Effective storage usage.
c) Execution Speed as compare to other Language.
d) Increasing Efficiency by reducing errors.

Disadvantages:
a) Time consuming & difficult for coding
b) Machine oriented
c) Need of translator to convert
d) Hardware Knowledge

3) High Level Language


To overcome the difficulties associated with assembly languages high-level or
procedure-oriented languages have been developed. High-level languages permit
programmers to describe tasks in a form which is problem oriented or object oriented
rather than computer oriented. One can formulate problems more efficiently in a highlevel language and need not have precise knowledge of the architecture of the computer
he is using.
The instructions written in a high-level language are called statement. The
statements more clearly resemble English and mathematics as compared to mnemonics

in assembly languages. Examples of high-level languages are BASIC, PASCAL,


FORTRAN, COBOL, ALGOL, C, C++, PROLOG, LISP, SNOBOL, etc. A high-level
language is independent of a computer. The same program will run on any other
computer, which has a compiler for the language. The compiler is machine dependent
but not the language. The advantages of high-level languages are :
(i)
(ii)
(iii)
(iv)
(v)

They are easier to learn as compared to assembly languages.


They make programs easier and faster to write.
Provide better documentation.
The programmer does not have limitations to use a single type of machine.
Easy to maintain
Programs are portable, i.e. they will run on any computer which has a
similar compiler. Diagnostic capability.

One statement of a high-level language corresponds to many instruction of the


assembly language program. Hence, a high-level language program is much shorter
compared to assembly language program. Many high-level languages have been
developed; some are for general purposes and some for special purposes. For example,
PASCAL, C and C++ are general purpose languages. FORTRAN and APL for scientists
and engineers. They are designed to solve mathematical problems. COBOL was used in
the past for business applications. BSIC is for newcomers to programming. PROLOG is
based on logical reasoning and used for artificial intelligence (i.e. for expert systems).
SNOBOL is suitable for text processing. APT is used in manufacturing applications to
control machine tools.
As a result High Level Languages are used more than machine or assembly
language. High Level Languages must be translated into machine language before a
computer can use them. There are some different languages translators programs,
which are used to translate the programs in machine level languages. They are
Compilers, Interpreters and Assembler.
Compiler : Compiler is a software, it is used to convert a High Level Language
programs to Machine level language. A compiler translates a whole program at once
into machine language and then it can be immediately executed anytime thereafter. The
source code remains intact and can be updated and then recompiled again into object
code.

Interpreter : An Interpreter is a translator which translates a High Level Language


program into machine language online at a time and executes line by line of the
program after it is translated. The machine-readable form of program is not stored on
any storage and therefore, the program must be interpreted each time before it is
executed.

Assembler : Assembler is also a software which is used to convert a Assembly Level


Language to Machine Level Language. A program which translates an assembly
language program into a machine language program is called an assembler.
4) The Forth Generation Language (4GLs) : It is the development towards using high level
user friendly language. There are two types of 4GLs area) Production Oriented 4GLs : These are designed primarily for computer
professionals.

They are used to create information system.

It claims productivity

improvements over High Level Languages of 200% to 1000%.


b) User Oriented 4GLs : These are designed primarily for end users. It is used
to write programs to extract information from a database and to create personal or
departmental information systems.

5) Objected Oriented Languages and Programming Language :

Program

modification is a tedious jobs from the coding point of view. It must be rewritten and
tested. As program become longer and more complex, achieving a reasonable quality
level becomes a formidable task.
The solution to these problems is a new way of developing software using an
object oriented language (OOL). An object is a predefined set of program code that,
after having been written and tested, will always behave the same way, so that it can be
used for other applications. All programs consist of specific tasks such as saving or

retrieving data and calculating totals. In object-oriented programming, an object is


written for each specific task and saved in a library so that anyone can use it.

Operating system refer os_ppt.

DBMS(Database Management Systems)

A database is a collection of related files that are usually integrated,


linked or cross-referenced to one another.

The advantage of a database is that data and records contained in


different files can be easily organized and retrieved using specialized
database management software called a database management system
(DBMS) or database manager.

Database Management System is a system that is used to store and


manage data.

A DBMS is a set of programs that is used to store and manipulation


data. Manipulation of data includes the following:

Adding new data, for example adding details of new student.

Deleting unwanted data, for example deleting the details of students who
have

Changing existing data, for example modifying the fee paid by the
student.

A DBMS provides various functions like data security, data integrity,


data sharing, data concurrence, data independence, data recovery etc.

Database managements systems like Oracle, DB2 are more powerful and
meant for bigger companies. Whereas, database management systems
like MS-Access are meant for small companies.

Features of DBMS
The following are main features offered by DBMS. These are the general
features of database management systems.
1 Support for large amount of data
Each DBMS is designed to support large amount of data. They provide special
ways and means to store and manipulate large amount of data.
1 Data sharing
DBSM also allows data to be shared by two or more users. The same data can
be accessed by multiple users at the same time data concurrency. However
when same data is being manipulated at the same time by multiple users
certain problems arise.
1 concurrency
To avoid these problems, DBMS locks data that is being manipulated to avoid
two users from modifying the same data at the same time.
1 locking
The locking mechanism is transparent and automatic. Neither we have to
inform to DBMS about locking nor we need to know how and when DBMS is
locking the data.
1 Data Security
While DBMS allowing data to be shared, it also ensures that data in only
accessed by authorized users. DBMS provides features needed to implement
security at the enterprise level. By default, the data of a user cannot be
accessed by other users unless the owner gives explicit permissions to other
users to do so.
1 Data Integrity
Maintaining integrity of the data is an import process. If data loses integrity, it

becomes unusable and garbage. DBMS provides means to implement rules to


maintain integrity of the data.
1 Fault tolerance
DBMS provides great deal of fault tolerance. They continue to run in spite of
errors, if possible, allowing users to rectify the mistake in the mean time.
1 recovery
DBSM also allows recovery in the event of failure. For instance, if data on the
disk is completely lost due to disk failure then also data can be recovered to the
point of failure if proper back up of the data is available.
1 Support for Languages
DBMS supports a data access and manipulation language. The most widely
used data access language for RDBMS (relational database management
systems) is SQL. DBMS also provides a procedural language PL/SQL for data
processing.
Data Independence : Data independence is one of the principle function of
DBMS .It means that data structure are defined separately from application
program. There are two levels of data independence
a)Physical Data Independence: Allows changes in the physical storage devices
or organization of files to be made without requiring changes in the application
program using the data base. Thus the files may migrate from one type of
physical media to another or the file structure may change without any need
for change in application program.
b)Logical Data Independence: It implies that application program need not be
changed if fields are added to any existing records or if fields are not used by
application program are deleted.

Advantages of DBMS
Reduction of redundancy : DBA is a centralized controller of a data who
avoids unnecessary duplication of data & efficiently reduce the total amount of
storage space. & the system ensures that this multiple copies are consistent.
Shared data : A database allows the sharing of data under its control by any
number of application program or users.
Integrity : Centralized control can also ensures that adequate checks are used
in DBMS to provide data integrity. Data integrity means that the data contain
in DBMS is both accurate & consistent.
Security: Data is of vital importance to an organization & may be confidential.
The DBA has the responsibility for the data in DBMS can ensures that proper
access procedure are followed including proper authorization schema for access
DBMS & additional checks before permitting access to sensitive data.
Conflict in resolution : DBA should resolve the conflicting requirement of
various user & application.DBA should choose the best file structure & access
method to get optimal performance for the responsible critical application.
Data Independence :
Data independence is an advantageous in DBMS since it allows for changes in
one level of database without affecting other level.
Improved availability:
One of the principle advantages of a DBMS is that the same information can be
made available to different users.

Accuracy:
Accurate, consistent, and up-to-date data is a sign of data integrity. DBMSs
provides data integrity because updates and changes to the data only have to
be made in one place.
Program and file consistency: are standardized. This makes the data files
easier to maintain because the same rules and guidelines apply across all
types of data. Manage data when multiple programmers are involved.
User-friendly:
Data is easier to access and manipulate with a DBMS than without it.
backup and Recovery:
Centralizing a database provides the schemes such as recovery and backups
from the failures which may help the database to recover from the inconsistent
state to the state that existed prior to the occurrence of the failure.
Flexibility of the System is Improved
The changes are made more easily in a centralized database than in a
conventional system. Applications programs need not to be changed on
changing the data in the database.

Вам также может понравиться