software - sahsinfotech

advertisement
1
INFORMATION TECHNOLOGY
TOPIC: SOFTWARE
The term software is used to refer to the computer programs used in a computer system. Software can be
broadly divided into two categories:

Application Software
o Programs that help users solve particular computing problems.

Systems Software
o Programs that coordinate the activities and functions of the hardware and various other
programs.
APPLICATION SOFTWARE
With application software, you turn your computer into a tool that can complete a specific task, such as writing
or drawing.
Application programs are written to solve end-user problems. These include but not limited to:
1. Payroll programs – used to generate the payroll of many businesses.
2. Stock control programs – used by businesses to manage their stock efficiency
3. Accounting programs – used by businesses to help manage their financial affairs. A spreadsheet
program is useful for this. It allows the user to create a table of numbers and manipulate them.
4. Educational programs – used in schools for teaching various subjects.
5. Administration programs – used by many organisations for maintaining records of employees,
customers, clients, students, creditors, members, etc.
6. Computer-aided design programs – used by engineers, scientists, architects and others to speed up the
designs of building, and an aeronautical engineer may use one to determine how a different tail design
will affect the performance of an aircraft.
7. Graphics programs – used, for instance, by an advertising agency for creating advertisements for
television.
8. Library control programs – used by libraries for maintaining records of books and borrowers, in order to
provide faster, more efficient service.
9. Word processing programs – used by all kinds of people for the efficient preparation of letters,
documents and reports.
Application programs software falls into the following categories:
 General-Purpose
 Customisation of General Purpose
 Bespoke or Custom Written
 Specialized Software Packages
General-Purpose Application Software
General-purpose application software is used by a large number of people in a variety of jobs and personal
situations. The “Big Five” types of general-purpose application software are:
S.S
-
Word processing
-
Communication
-
Spreadsheet
-
Graphics/Presentation
-
Database management
06 June 2011
1
Advantages of using General Purpose Software

You can install it yourself by following the easy instruction in the installation manual that comes
with the software.

Cheaper than employing a programmer to write the software for you.

Easy Updating and Revising, each new version can be had at a reduced price if the owner can
show proof of purchase of a previous version.

Most users may already be familiar with previous versions of the software, so no intensive
training programme is required.

Several persons use the software, therefore help is easy to find.
Disadvantages of General Purpose Software

The package may be poorly documented

The package may have hidden problems

The package may not fit the user’s need exactly

The package may not be user friendly

Individual package is expensive
Custom Written Software
If you need a new outfit, you can buy the fabric and take it to a tailor, allow the tailor to take your measurement
and then make an outfit that fits you. Custom written software , also called bespoke is a program that has been
designed or created by a programmer to meet the unique need of a user or organization. For example, you could
hire a system analyst to look at the accounting principles employed by your company and then set a team of
programmers to write a program to meet the requirements. This program would be custom written software.
Advantages of Custom Written Software

The software meets the need of the user specifically

The software can grow with the company

Business owners can relieve the stress placed on over burdened employees and save money from hiring
additional staff.
Disadvantages of Custom Written Software

Expectations can change midstream when developing custom written software, making a realistic
budget difficult to project. As a result, businesses often run out of money before the project is
completed.

An experienced software team is needed. Acquiring the right team can be costly.

If the people who are trained to use the program resign then it will be some time before new persons are
trained, slowing down the business functions.
Customisation of General-Purpose Software Packages
Imagine buying an outfit in a department store that you like but not exactly your fit. What do you do? Find a
tailor or fashion designer who can adjust it to your size. Similarly, if you find general-purpose software in a
software house that you like, but it needs some adjustment to meet your specific need, you can get a
S.S
06 June 2011
2
programmer to modify the program to meet your specific need. A customised general-purpose software package
is a generalised software package that has been tailored to meet a user or firms specific need. Areas of the
software that can be customized include:
 Screen colour
 Page size and arrangement on the desktop
 Navigation to available menus
Specialised Software Packages
Specialised software packages are written for a specific discipline. An example of such packages is expert
systems. An expert system is a type of computer application program that makes decisions or solves problems
in particular fields, such as banking or architecture, by using knowledge and analytical rules defined by experts
in the field. For example, a doctor could employ an expert system that asks a patient a series of questions and
then make a diagnosis. The software fall into two main categories:

Business Application Programs – programs that perform the information processing tasks of important
business functions or industry requirements.

Scientific Application Programs – programs that perform information processing tasks for the natural,
physical, social and behavioural sciences.
SYSTEM SOFTWARE
Systems programs do not solve end-user problems. Rather, they enable users to make efficient use of the
computing facilities for solving their problems. These programs manage the resources of a computer system,
automate its operation, and make easier the writing, testing and debugging of users’ programs. Many systems
programs are supplied by the computer manufacturer, since to write them a programmer needs in-depth
knowledge of the hardware details of the specific computer. (In contrast many application programs can be
written with very little knowledge of the hardware details of a specific computer, and can run on several
different computers with little or no modifications.)
The most important systems program is the ‘operating system’; this actually consists of a number of programs
designed to ensure the smooth running of the computer system. Other common systems programs (from the
user’s viewpoint) are:
1. The editor – this program enables users to create files for storing their programs and data. It also
provides facilities for making changes (such as adding or deleting lines) to files.
2. Language translators – people normally write programs in what are called high-level languages (such as
Basic, Pascal, Fortran, or Cobol). Before the computer can run these programs, they have to be
translated into the binary code known as machine language. Each language needs its own translator.
Language translators can be divided into three broad classes – compilers, interpreters and assemblers.
3. Diagnostic programs – these provide facilities which help users to debug (remove errors from) their
programs more easily.
4. Utility programs – on a typical computer system, there are many routine functions and operations which
users may wish to perform. Utility programs are usually provided to perform these functions and
operations. One of the most common of these is the sorting of data into desired sequence.
S.S
06 June 2011
3
Operating System
An operating system may be seen as a suite of programs that has taken many functions once performed by
human operators. The sophistication and speeds of modern computers is beyond the capability of human
operators to control without the aid of an operating system. The role of the operating system is therefore one of
resource management. The primary resources it manages are:

processors

Data

storage

Programs

I/O devices
It can be seen from what is said that the operating system controls the way software uses hardware. This control
ensures that the computer not only operates in the way intended by the user but does so in a systematic, reliable
and efficient manner. This “view” of the operating system is shown below
USERS
OTHER SOFTWARE
OPERATING SYSTEM
HARDWARE
Part of the operating system remains in main storage permanently during the running of the computer. This part
is called the Kernel (or Supervisor or Executive) and as the name suggests is the “controlling” part of the
operating system. It controls the running of all other programs. The remainder of the operating-system programs
are stored on a direct-access storage device (preferably) from which any particular one will be “called” into
main storage by the kernel when required.
On many very small microcomputers the kernel is stored permanently in ROM and starts execution the moment
the computer is switched on. A message is usually displayed by the kernel to signify it is ready to accept
commands from the user.
On most modern computers the kernel is not in main storage when the machine is switched on. The system must
be “booted up”. This sometimes involves pressing special “boot buttons”, keys or switches, which cause the
hardware to load the kernel into main storage from a predetermined position on a disk.
Functions of the Operating System
 Perform common computer hardware functions (e.g. I/O)
 Provide a user interface
 Provide a degree of hardware independence
 Manage system memory
 Manage processing tasks
 Provide networking capability
 Control access to system resources
 Manage files
S.S
06 June 2011
2
Choice of Operating System
The applications for which a computer is needed largely determined the choice of hardware and accompanying
software. The operating system supplier will need to consider these factors:
a. The hardware provision and basic design of the computer.
b. The applications intended for the computer.
c. The method of communication with the computer, e.g., many or few peripherals.
d. The method of operating the computer.
The choice of O/S is also dependent on the processing environment required by the user. This includes:

Batch processing

Time sharing multi processing

Single User processing system

Real time online processing

Single user multi-tasking processing
Batch Systems – These are systems that provide multiprogramming of batch programs but have few facilities
for interaction or multi-access. Commands or jobs are collected in groups and processed in the order in which
they are placed in the group, i.e. in a “first in first out” sequence. Each group of commands or jobs is called a
batch. The jobs are entered in a batch queue and then run one or more at a time under the control of the
operating system. A job may wait in a batch queue for minutes or hours depending on the workload. No
amendments are possible during processing.
Time-sharing multi processing – Processor time is divided into small units called time slices and shared in
turn between users to provide multi-access. These systems allow the CPU to switch between different programs
rapidly so that users are unaware that they were ‘time-sharing’ the CPU with others. Several persons can
connect to the main computer via dumb terminals and access different application programs.
Single User Processing – These systems came on the scene with the advent of personal computers. The
majority of small microcomputer-based systems have operating systems, which allow a user to operate the
machine in an interactive conversational mode (response to the user’s message is immediate) but normally only
one user program to be in main storage and processed at a time, there is no multiprogramming of user programs.
Multiprogramming occurs when more than one program in main storage is being processed apparently at the
same time. This is accomplished by the programs taking turns at short burst of processing time.
Single-User Multitasking – This system only allows one person to use the computer at a time to do multiple
tasks.
Real-Time Processing – is a system that is able to process data so quickly that the results are available to
influence the activity currently taking place. There is often a need for multiprocessing. Multiprocessing is the
name for the situation that occurs if two or more processors are present in a computer system and are sharing
some or all of the same memory. In such cases two programs may be processed at the same instant. These
systems are used mainly in critical systems. Critical systems are systems where delay in the processing of data
S.S
06 June 2011
3
after its input can lead to the destruction of life and property. Examples of critical systems are systems that
monitor critically ill patients, nuclear plants, the engine of an aeroplane, etc.
Utility Software
Utility programs perform tasks related to the maintenance of your computer’s health, hardware or data. Some
are included with the operating system; others can be bought as a separate package. Utility programs perform
tasks such as:
 File Management
 Disk Management
 Backup
 Data Recovery
 Data Compression
 Antivirus Programs
User Interfaces
The interaction between end-users and the computer is said to take place at the “Human Computer Interface”
(HCI). The term “Human Computer Interface” is meant to cover all aspects of this interaction, not just the
hardware. Of particular interest is what makes one HCI better than another one.
One of the most important features normally required in an HCI is that it be “user friendly.” As the name
suggest, a user-friendly interface is one that the end-user finds helpful, easy to learn and easy to use. It is easy
recognise unfriendly interfaces but not so easy to design one that is certain to be user friendly.
What makes an HCI user friendly? There is no simple answer but the following points are important.
a. It should be relatively easy for the user to start using the system.
b. As far as possible, the system should be self-contained so that the user is not forced into accessing
manuals or dealing with things that should be kept outside the system.
c. The amount of effort and information required of the user to get the system to complete required tasks
should be kept to minimum.
d. The user should be insulated from unexpected or spurious system actions. This includes protection
against being the cause of a system failure and implies that the system should also be robust and reliable.
e. The system should be able to adjust to different levels of expertise between users, and as users grow in
competence.
f. The user should be made to feel in control of what is going on.
g. The system should behave in a logical and consistent manner, enabling the user to reason about what is
going on and apply what has been learned.
Of course these points are rather general in nature. We now turn to a number of specific practical issues.
S.S
06 June 2011
4
Types of interface
There are many different types of user interfaces available. They may be broadly classified as follows:
a. Command Driven Interfaces
b. Menu Driven Interfaces
c. Direct Manipulation Interfaces
d. User Interface Management System (UIMS)
e. Special Purpose Interfaces.
Note. In some situations two different kinds of interfaces may be combined, e.g. a menu interface with
command options.
Command driven interfaces
One of the long-established methods by which user can interact with the computer is by the use of commands.
Commands enable the user quickly and simply to instruct the computer what to do. However they require the
user to already have a knowledge of what commands are available, what they do and the rules governing how
they should be typed, so they are more suited to experienced users than the end-user is a technical person, such
as a computer operator or programmer, or where the end-user continually works with the same program and
therefore can gain mastery of the commands.
Advantages of command driven interface
o Faster to use once you have learnt the commands
o For computer programmer command driven interfaces are cheaper to implement.
Disadvantages of command driven interface
o It is sometimes difficult to remember all the commands, therefore users have to constantly refer to the
software user manual
o Restrict the user to using only the keyboard as the interfacing devices, while with other interfaces a wide
variety of input devices can be used.
o Commands must be entered at a special location on the screen and in a set format.
Menu-driven interfaces
Menus provide another popular form of user interface. There are many different alternative forms of menu. The
simplest menus provide the user with a number of options and a simple means of selecting between them. The
user is presented with a choice and therefore does not have to remember any commands. The interface is
therefore suitable for beginners and infrequent users. All the user has to do is to make a choice. A special type
of menu called a pop-up menu, an additional submenu pops up as a selection is made.
S.S
06 June 2011
5
Help is normally made available to the user of a menudriven system by means of screens of information that
can temporarily be called up and displayed on the
screen during normal activities. It is best if the help
information displayed is as specific as possible the
user’s current activity. Help screens are normally
activated by a special key. Some keyboards even have a key labelled “HELP”. Similar facilities are often
available in command-driven systems and are invoked by typing a command such as “HELP”.
Pull-down menus are a special type of menu used in windowing and were briefly introduced. Some variations
on the same idea are pop-up menus and below an item on the screen in order to elicit a choice from the user.
Advantages of menu driven interfaces
o The user is presented with a list of option to choose from, they don’t need to remember commands
o Free from typing errors, because user does not have to type commands.
o A wide variety of input devices can be used to interface with a menu.
Disadvantages of menu driven interface
o Several steps required to issue a command.
o Once user has learned the menu system it is bothersome to have to wait on the package to present the
questions before commands can be entered.
Graphical User Interface
A Graphical User Interface (GUI, commonly pronounced “guey”) is an HCI based upon a graphical display.
GUIs are most commonly found on workstations or PCs fitted with graphics adapters able to support highresolution graphics. A GUI is a variation of the menu-driven system of selecting commands with the use of the
mouse. This system, popularised by the Apple Macintosh uses a graphical user interface. This consists of icons
and “pop-up” and “drop-down” menus. A mouse is used to click on an icon to execute some operation or
select options from a pop-up or drop-down menu.
S.S
06 June 2011
6
Advantages of GUIs
o User friendliness results in less anxiety on the part of the user.
o Icons/symbols easier to recognise and provide the user with a context.
o Fewer command error.
o Reduce typing.
Disadvantages of GUIs
o May consume more screen space
o For programmers the design of Graphical User Interface is more complex
o Clicking an icon can produce unexpected results because of a lack of icon standard
o Increase use of computer memory can lead to slower processing.
S.S
06 June 2011
Download