0% found this document useful (0 votes)
20 views18 pages

7.6 Section 6 Hardware and Software

Hardware and software

Uploaded by

flique1233
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views18 pages

7.6 Section 6 Hardware and Software

Hardware and software

Uploaded by

flique1233
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

OUTPUT DEVICES

This is the displaying of the results of the processing to the user. Output devices accept results or
data generated by the computer and present this information to the user in a variety of different
means. Output can be in the form of hard copy, softcopy and sound.

 Softcopy - refers to output that can be display on a monitor. A soft copy output can be
referred to as a digital document.
 Hardcopy - refers to output from a printer or a plotter. Unlike softcopy output, hardcopy
output can be viewed without the need of the computer.
 Sound – refers to output from the speakers

Monitors
Monitors are devices used to display information from the computer. They are also referred
to as visual display units (VDU). There are two main types of monitor screens namely
Cathode Ray Tube (CRT) and Thin film Transistor - Liquid Crystal Display (TFT -LCD) normally
referred to as flat screens

CATHODE RAY TUBE (CRT)

 Used as the primary output devices for computers so the user can immediately see what they
are typing in.
 They are increasingly rare as TFT monitors are now taking over.
 They are used with light pens, to allow designs to be created on screen.
Advantages
 CRT monitors still produce a higher quality image than TFT monitors.
 The angle of viewing is still better than with a TFT monitor.
Disadvantages
 Takes a lot of disk space
 Uses much energy.
 They run very hot and can cause fires if left unattended.
 They can cause headaches and eyesight problems with prolonged used.

TFT monitors

 They are taking over from CRT monitors as the main output devices.
 Used as the primary output devices for computers so the user can immediately see what they
are typing in.
 They are an integral part of laptop computers Used as the primary output devices for computers
so the user can immediately see what they are typing in.
Advantages
 Requires less power than CRT and does not generate as much heat.
 Takes less desk space.
 Expensive than CRT.
 Produces less glare than CRT monitors.
Disadvantages
 The angle of viewing a TFT monitor is critical, with the image appearing unclear when viewed
slightly from the side.
 The definition is sometimes not as good as CRT monitors.
NB the quality of monitors display depends on its resolution.
 Resolution is the number of pixels that a monitor can display.
 A pixel is the smallest element of display.
 Higher resolution gives better quality.

Printers
 They are two major categories which are impact and non-impact.

Impact printers (Dot Matrix, Daisy-wheel and line printers)


 Printers which creates marks on the paper by striking an inked ribbon against the paper.
 They are no longer commonly used.

Dot matrix printer (Epson LX300, Epson LX780, Citizen Prodot 24s)

Multi part document

 Is the only impact printer which is still commonly used.


Uses
 Can be used in noisy environments (e.g. garage workshops) and in applications where print
quality is not important.
Advantages
 Can used in noisy, dusty, dirty or moist atmosphere environments.
 Carbon copies or multi-part outputs can be produced.
 They are very cheap to run and maintain.
 They are easy to use if continuous stationery is required (e.g. long print jobs such as payslips.)
Disadvantages
 They are very noisy and so not good in an office environment.
 They cost more than inkjet printers to buy.
 They are very slow and the printing is of poor quality.
 They cannot print graphics.

Daisy-wheel Printers
It uses the same printing technology as a typewriter.

A daisy wheel showing detail of the characters


Advantages
 They are not expensive
 Can produce letter-quality text
 They can be used for carbon copy printing
 They are able to use continuous paper rather that individual sheets
Disadvantages
 They produce more noise than dot matrix printers when printing
 They cannot print graphics.
 They can print only one type of font hence to change font you have to manually replace the
print wheel
 They are slow
Line printers
Line Printers are high-speed impact printers in which one line of type is printed at a time. These
printers are similar to dot matrix printers, however, Line Printers use paper that is provided in boxes
of continuous fan folds rather than cut sheets. Line Printers are still popular for accounting and other
business and bookkeeping applications.

Laser printers

 They are non-impact printer.


 They are page printers.
 They produce images on a drum which is coated with a magnetically charged toner powder, and
transferred from drum onto a paper.
 They are used where noise levels need to be kept low.
Advantages
 They are very fast in printing.
 They can handle very large print jobs.
 The quality is consistently high.
 Cost effective because toner cartridges last for a long time.
 They are suitable for both home and business use.
 Less noisy
Disadvantages
 Expensive to buy.
 They can’t use continuous or multi-part stationery.
 Colour laser printers are expensive to run, since four cartridges are needed.
 They produce ozone and volatile organic compounds because of their method of printing and
type of toner/ink used and have been linked to health hazards in the office.

Inkjet printers

Ink cartridges

 They are non-impact character printers.


 Print by spraying tiny dots of ink onto paper
 Used where low output volumes are required.
Advantages
 The output is of high quality
 Cheaper to buy than laser printers.
 Very light weight.
 They do not produce ozone and volatile organic compounds, unlike laser printers.
 They are quiet when printing.
Disadvantages
 Printing can smudge if the user is not very carefully
 Expensive to run since ink cartridges run out quickly and expensive to buy.
 The output is slow if several copies are needed compared to laser printer because there is little
buffer capacity to store the pages.

3D inkjet printers
 Type of printer that produces solid 3D models using the modified inkjet technology.
 Used to produce prototypes which actually work from CAD packages, photograph images, stored
drawings, etc.
 Scale models are produced in colour before the real thing is manufactured.

Advantages
 3D inkjet printers save a lot of money, since making prototypes by other methods is very
expensive and time consuming.
 Physical scale models are produced with working parts, which gives a better idea of how the end
product will look.
 The powders used can be often be ground up and re-used.
Disadvantages
 They are expensive to buy.
 They are slow at producing their outputs.
 The end product can sometimes be a little rough and often needs further work to be

All –in One (multifunction) Printers


The all-in-one printer has emerged as the choice in the home or office with copier, scanner, and fax
needs, too.
Advantages of All-in-One Printers
 Can function as a printer, a scanner, a copier, and a fax machine
 Get four functions for the price of 1 or 2
 Functional specifications close to separate devices (output quality, speed, and so on)

Disadvantages of All-in-One Printers


 Can handle only one function at a time
 Larger footprint than a comparable printer

Plotters
 A plotter is a graphics printer that draws images with multi colored ink pens. Plotters are
large-scale printers that are very accurate at reproducing line drawings. They are
commonly used for technical drawings such as engineering drawings or architectural
blueprints in scientific and engineering sectors. The output includes graphs, drawings,
charts, maps etc. The two basic types of plotters are called flatbed plotters and drum
plotters.
 i. Flatbed plotter is a plotter where the paper is fixed on a flat surface and pens are
moved to draw the image. This plotter can use several different colour pens to draw
with. The size of the plot is limited only by the size of the plotter's bed.

Top view of a flat bled plotter

 ii. Drum plotters, also called upright plotters, are vertically positioned. They have a
drum that the paper rolls on. Drum plotters usually make more noise and are more
compact than flatbed plotters.
Advantages
 They can produce huge printouts
 The print quality is extremely high.
 Capable of producing highly accurate, very large drawings and posters.
Disadvantages
 They are slow in operation.
 They are expensive both to buy and maintain.

Multimedia projectors

 Receives signals which are either analogue or digital.


 The signal source is usually from a computer television or DVD player.
 They are used for training presentations.
 They are also used for advertising presentations.
 Home cinema systems (projecting the images from DVD or television) use multimedia projectors.
Advantages
 They enable many people to see a presentation rather than all of them crowding round a small
computer.
 They avoid the need for several networked computers. E.g. when looking at a video clip on an
internet site, everybody can see the video on the large screen rather than logging on to a
number of computers.
Disadvantages
 They are very expensive to buy.
 Setting up projectors can be a little difficult.
 Images can sometimes be fuzzy

Audio output devices


 Speakers
 Headphones
 Earphones

NB Appropriate software and a sound card are needed to use the output devices.
Voice output applications
 Useful to blind people.
 Entertainment – providing sound and music in movies.
 Training session for a group of people.
 Making an announcement to a large group e.g. at airport.
 Security purposes – can be used together with some cameras.
Disadvantages
 Pronunciation may not be well understood by the user.
 Some words are pronounced in the same way and user may user may not understand the word
in different context e.g. sea and see.

Control devices
 They are another type of output devices.
 They are used to control processes in conjunction with sensor input device.
Actuators
 Actuators are transducers and are used to take signals from the computer and convert into
some form of motion, e.g. operating motors, pumps switches and valves.
Motors
The motor is turned off by the actuator.
Uses
 Motors are used in many domestic appliances, such as automatic washing machines (to make
the drum rotate), cookers (to switch on fans) water pumps in central heating systems and
automatic greenhouses to open windows and switch on fans.
 In industry, they are used to control robot arms.
 In computer they operate fans, disk drives and DVD drives.
Buzzers
The buzzers are switched on and off by the actuator.
Uses
 Are used in cookers and microwaves ovens to tell the operator when the cooking process is
complete.
 They are used in burglar alarm systems to warn intruders are present.
Lights
The actuators are connected to the switch that turns lights on and off.
Uses
 They are used for security lights.
 Lights are used in greenhouse to control the lighting conditions.
Heaters
Actuators are connected to switches which turn the heater on and off.
 Heaters are used in automatic washing machines, cookers and central heating systems.
 Heaters are used in automatic greenhouses to control the temperature.

Factors to be considered when choosing output devices


 Type of output desired.
 The hardware and software in use.
 Cost

Factors considered when choosing an printer


 Volume of output.
 Quality of printer required.
 Location of printer
 Requirement of multiple copies.
 Requirement of colour.

Devices which are both input and output


1. Modem – this is used to download mail but can also be used to send e-mail.
2. Touch Screen – can display a menu system and accept input when the screen is touched.
3. Digital cameras – can be used to download pictures stored in the memory and can also upload
pictures previously downloaded to the computer. e-mail
4. Terminals - It is a very popular interactive input-output unit. A terminal when connected to a
CPU sends instructions directly to the computer. Terminals are also classified as dumb terminals
or intelligent terminals depending upon the work situation

SOFTWARE

It is a set of programs and data that controls the operations of the hardware of the computer system
and interface the user to the computer.
A program is a set of instructions.

Software can be subcategorized into three areas:


 System software
 Application software
 Developmental software

SOFTWARE

System software Application


Developmental
 Firmware  software
Specific purpose e.g. Java, Visual Basic, C++
software
 Operating system  General purpose
 Utility programs

SYSTEM SOFTWARE

System software manages the operations of the computer system. This is a set of programs that
controls the overall function of the computer. It is subdivided into four areas:

 Firmware
 Operating system
 Utility programs

Firmware
This is known as the manufacturer's software. It contains instructions that enable hardware devices
to communicate. It is also referred to as device drivers and is stored in ROM chips in the computer
system

Operating system
This is a set of programs that manage, oversee and control all the activities of a computer. It acts as
interface between hardware, application software and the user. Operating systems are large
complex programs which provides for loading and execution of other programs. Examples include
Windows family (98, 2000, XP, VISTA etc), Mac OS, Linux and UNIX

Functions of operating systems


 User interface, job management, task management, memory management, file management,
device management, security
 Control hardware access - The operating system manages the interaction between applications
and the hardware
 File and Folder Management - The operating system creates a file structure on the hard disk
drive to allow data to be stored. Program and data files are grouped together in a directory
(folder). The files and directories are organized for easy retrieval and use.
 Application Management - The operating system locates an application and loads it into the
RAM of the computer. Applications are software programs, such as word processors, databases,
spreadsheets, games, and many other applications. The operating system ensures that each
application has adequate system resources.
 Memory and Storage Management -The OS makes memory available to an application when
required. When an operating system manages the computer's memory, there are two broad
tasks to be accomplished:
 Each process must have enough memory in which to execute, and it can neither run into the
memory space of another process nor be run into by another process.
 The different types of memory in the system must be used properly so that each process can
run most effectively.
 Processor Management -A system should make it possible for a user’s application to use the
processing unit. Most OSs support a notion that a program in execution by the processor may be
regarded as a process. The heart of managing the processor comes down to two related issues:
 Ensuring that each process and application receives enough of the processor's time to
function properly
 Using as many processor cycles for real work as is possible

Other functions include:

 File/disk management
 Memory allocation
 Error detection (error logging)
 Detects errors in CPU, memory, hardware and software
 Loads application programs for execution
 It interfaces the hardware, software and the user
 It keeps record of users and resources they use and it keeps the statistics
 It uses passwords and profiles to protect both resources from harmful users
 It manages all requests to read/write data from input/output devices
 It enables time sharing
 It provides system tools to monitor computer performance

Types of operating system


Batch operating system
In batch processing, the jobs are collected together over a set period of a time/until a
predetermined number before processing. The jobs are entered and stored on a disk or tape in a
batch queue and then processed all at once in a batch. Once the processing starts, no user
interaction is needed unless an error occurs. Batch processing has the following characteristics:
 large amounts of data to be processed
 files do not need to be updated immediately.
 The same processing is applied to all sets of data in the batch
 No other processing interferes with the batch job
A batch operating system is dedicated to managing a succession of batch jobs, each consisting of a
program and a batch of data. The batch OS allows an operator to specify the following information
for each job:
 The owner;
 Programs;
 data files;
 the priority
 a maximum allowance of processor time, memory and printing lines;
 action to be taken in case of program error.
The OS places each job in a queue at a position based on the order in which it was submitted and its
priority.
Advantages of batch processing
 jobs can processed overnight when the computer system is less busy.
 Use of resources can be optimised.
Areas of application
1. Billing system e.g. electricity, gas, water, telephone
2. Payroll system
3. Processing of bank cheques.

Real-time operating systems


 Real time processing systems accepts data and processes them immediately. The results have a
direct effect on the next set of available data.
 A real-time OS is one that supports application programs that can process input within a
guaranteed maximum time to produce output required to keep pace with the user’s needs for
information or control.
 A real time transaction processing OS supports application software for processing transactions,
such as booking entertainment tickets or recording retail sales as they occur. Once a seat has
been booked, it needs to be recorded as unavailable to avoid double booking.
 Data files must be updated in real-time, so that customers or agents have access to completely
up-to-date information.
 A real-time process control program could be used to control the temperature in a chemical
reaction in a chemical plant. It is a continuous time-sensitive monitoring process. Input data
must be processed frequently and rapidly, otherwise the reaction may go out of control.
 A real-time process control operating system supports one or more such process control
application programs. Many real-time OS operate in safety-critical roles. Such systems need to
maintain fault-tolerance through redundancy. Hardware is duplicated so that there are
replacements ready to run in the case of damage or failure.

Single-user operating system


A single-user OS controls a system which has only one user and their programs at any one time, e.g.
PC or laptop. Only one user uses the system at any one time.

Multi-user operating system


A multi-user system allows more than one user to use the same computer at the same time. A multi-
access OS is the one that permits multiple users to log in the same powerful computer. A multi-user
OS has a single computer which is connected to a number of terminals. The computer sends a
message to each of the terminals in turn, asking if it wants any processing to be carried out. The
process is called a time-sharing system or a round robin system. A multi-user computer system
where terminals do not have any processing capabilities is called a thin client network.

Multi-tasking operating system


A multi-tasking OS allows several applications to be available simultaneously. The OS can switch
between tasks quickly that it seems to a user as if they are all being done at once. The tasks are
allocated time slices and the computer goes from one to other servicing them.

Network operating system


A network comprises a number of computers linked together for a purpose of communication and
the sharing of resources. A network OS manages communication between computers and
peripherals equipped with a network interface card and connected to the network. A network OS
carry out tasks such as:
 Control of access to network.
 Managing the filling system
 Managing all application programs available from the server
 Managing all shared peripherals
Laptops and PCs have built-in support for peer-to-peer networking. This allows computers to share
resources such as folders of data, printers etc. Server –based networks have a server computer
which run server operating system which controls access o the network’s resources.

User interface
The operating system enables the user to interact with software and hardware. There are 3 basic
types of user interfaces:

 Command user interface


 Graphic user interface
 Menu driven interface

A good user interface should have the following characteristics:

 It should be user friendly, allowing the user to do basic operations without having to first read
the computer manual
 It should be attractive so that it encourages the user to use it
 It should be effective and easy to use.

Command line interface The user communicates with the computer using typed commands. A
prompt is a character or group of characters which the computer displays to let the user know that a
command can be input. The conversation consists of the following sequence:
1. The computer displays a prompt
2. The user types a command and presses the ENTER (or RETURN) key
3. The computer carries out the command
One common interface used is MSDOS found in Microsoft based environments.

Advantages
 It is fast in executing programs
 The user can have great deal of control over the actions to be performed.
Disadvantages
The user has to remember (or look) up a variety of commands and their various options or
parameters, making it difficult for novice users to operate

Menu driven interface

A menu is a list of choices presented to the user by an interactive program. The user selects one of
the options to say what the program should do next. A menu bar is a set of menu titles displayed
across the screen at the top or the bottom so that the user can pick a menu. A pull down menu is a
menu which appears below the menu bar when it is selected. A full screen menu is one which takes
up all or most of the screen

Advantages

It is appropriate when you wish to limit the functions that are available to user

Graphic user interface (GUI)

Interacts with the computer by using a WIMP. Which is the combination of using Windows, Icons,
Menus, and Pointers.
A window is a rectangular area on the screen selected for a particular display
An icon is a small symbol on the screen which you can select from a menu
A menu: is a list of choices presented to the user by an interactive program. The user can select from
the list. Menu can be a pop up menu or a pull down menu.
Mouse-Used for all “point and click” operations

Bootstrap
This is a set of programs that copy the operating system from the secondary store mainly the hard
disk to the main memory when the computer is switched on. Thus it is responsible for the booting
process.

Job control language


Is a programming language used for communicating with the OS. Is particularly important in batch
processing.

Utility programs
Utility programs are also known as service programs. They are responsible for performing
housekeeping functions in a computer system.

The categories of utility programs include:

 Disk defragmenters can detect computer files whose contents are broken across several
locations on the hard disk, and move the fragments to one location to increase efficiency.
 Disk checkers can scan the contents of a hard disk to find files or areas that are corrupted in
some way, or were not correctly saved, and eliminate them for a more efficiently operating
hard drive.
 Backup utilities can make a copy of all information stored on a disk, and restore either the
entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental
deletion).
 Disk compression utilities can transparently compress/uncompress the contents of a disk,
increasing the capacity of the disk.
 File managers provide a convenient method of performing routine data management tasks,
such as deleting, renaming, cataloging, uncataloging, moving, copying, merging, generating and
modifying data sets.
 Anti-virus utilities scan for computer viruses.
 Registry cleaners clean and optimize the Windows registry by removing old registry keys that
are no longer in use.

APPLICATION SOFTWARE
Application software enables users to perform specific information processing activities. They can be
divided into 2 broad categories: general purpose and specific purpose.

General purpose
These are used to carry out a wide range of common tasks e.g. a word processor is capable of
producing a variety of documents that are suitable for many different purposes. They can also be
referred to as off-the shelf software as they are developed for use by the general public and are
available from all software selling shops. The use of general purpose application software is varied
depending upon the user. Common to this category includes the following:

Word processing software


Word processors are used to produce written material such as letters, memos, reports, projects and
books. Examples are Microsoft Word, Lotus WordPro, AmiPro, Display Write, WordPad and Word
Perfect.

Spreadsheet programs
These are used for accounting purposes. Examples are Microsoft Excel, Lotus 1-2-3, Quattro Pro and
Super Cal. One of the most useful feature of a spreadsheet is the ability to perform “what if
analysis”. E.g. what if we increase the price of our goods and sell less? What if we reduce the price
and sell more? What is the effects of these strategies on our profits?
Database Management software (DBMS)
These are programs used to store, sort, search and retrieve information as easily as possible. A
telephone directory is an example of a database. Examples of database management programs are
Microsoft Access, FoxPro, Dbase and Paradox
Graphic and presentation software
They are designed to add interest and clarity to reports and presentations. These include paint
programs, draw programs, photo editing programs, computer aided drafting and 3D modeling
programs. Examples include Microsoft PowerPoint, Ms Paint, Adobe Photoshop, Corel Draw, and
Harvard Graphics.
Multimedia Applications
Examples include:
 Encyclopedias such as Microsoft Encarta, EduSoft
 Games such as Need for speed, FIFA
 Educational programs such as Science Advantage 2000

Desktop Publishing
Is an extension of word processing. They allow easier control over page layout in newspaper or
magazine style publisher. It is commonly used today in creating web pages. Major feature provided
by DTP which are not provided by word-processors are pre-set page layouts for a specific kind of
documents. Many people use DTP to create personalized calendars, invitation cards for weddings,
graduations and birthday parties. DTP software include Adobe In design, Corel Drawing and
Microsoft Publisher

Information retrieval packages


Allows users to search for information within documents, search for records within databases. In
database, queries are used to search for information. In internet, search engines such as Google,
Yahoo are used to search for information. Information retrieval systems are used in many areas that
include medicine for distribution of medical knowledge and public libraries to provide access to
books, journals and other documents. The web search engines are examples of information retrieval
system.

Authoring Package
Authoring software allows users to create interactive applications that present a mixture of textual,
graphical and audio data. They help users to create, organize, manage and maintain web pages.
Authoring are mostly used to create computer based training programs, demonstrate how a product
works and games. `They include Adobe Dreamweaver, Coffee Cup Visual Site design and Dynamic
HTML Editor. Word and Excel have some web page authoring features which make it possible for
home user to create their web pages.

Computer Aided Design


CAD software enables professional users such as scientist, engineers and architects to professionally
create their designs. The architects create building structures and floor plans, the engineers create
design plans for vehicles, planes, bridges and electronic devices and scientists create designs for
drawing molecular structures. The CAD only focuses on the plan which will be used in making the
actual object. The CAD output becomes the input in Computer Aided Manufacturing (CAM).
Examples of CAD software include Autodesk, Turbo CAD and Power CAD.

CAD software is usually very complex and requires fast processors, large memories and specialist
input/output devices such as:
 Very large monitors/screens
 Light pens(if CRT monitors are being used)
 Tracker balls, mouse and graphic tablets.
 Plotters for very large drawings
 High specification graphics cards
 3D inkjet printers (which produce an actual working prototype)

Features of CAD packages


 2D or 3D modeling
 Wire frames
 Library of parts (which can be used in other drawings)
 Links to CAM
 Facility to calculate weight of an object when it is built.
 Facility to calculate the cost of producing the final object.
 Features such as rotation, zoom, colour etc.
 Import and export data with other software.
 Kinematics i.e., testing moving parts in the final object to see if they interfere with each other.
Advantages of CAD software
 It is easier to modify drawings
 Library of parts saves development time
 Automatic costing
 CAD is able to show three-dimensional views.
Disadvantages
 It leads to potential de-skilling
 It can results in loss of jobs
 It requires expensive training to use CAD packages.
 Can move work anywhere in the world to save costs which may result in unemployment issues.

Data logging
Data-logging uses automatic data capture to record or log automatically for scientific, engineering
and statistical purpose, usually at regular intervals of time. A desktop or laptop computer can be
used directly for this purpose by connecting one or more suitable sensors to it via a USB port. If we
need to take readings from a temperature sensor over a course of a day to check how well an
automated system is controlling temperature, the data do not need to be sent to a computer for
displaying and analysis immediately; instead, we need a portable battery powered data logger that
we can leave in a room to capture and store the data at regular intervals of time. A data logger
stores its data such as comma-separated value (CSV) text file that a computer can download through
a USB connection. This file can be imported into a spreadsheet or more specialized software for
displaying the data and analyzing them.

Data-loggers can gather data without human intervention for as long as required. There is less risk of
missing any data and no risk of making mistakes in reading instruments. We can also use data
logging software so that computer records data about the behavior of its own hardware and
software, e.g. its processor usage, network traffic, etc.

Specific purpose
It comprises programs intended to serve a specific purpose or carry out a clearly defined information
processing task. Specific purpose application software is thus developed for a dedicated task. They
can also be referred to as tailor-made or bespoke application software. Examples include payroll
software, accounting software and billing software.

Bespoke Software
The term "bespoke" comes from England where it originally referred to custom or tailor-made
clothing. It is software customized for a specific purpose. Bespoke programs may include custom
accounting software for a certain company or a network monitoring tool for a specific network. This
means that a customer goes to software developers with his or her specific needs or problems and a
software will be developed for him or her basing on his specific needs. Most if not all developed
bespoken software include client details e.g company name, address. Examples of the Bespoke
application software:
 Accounting software
 Human Resources software
 Registry software

Advantages of Bespoke Software

1. It has been specifically designed for your particular requirements and can be tailored to fit in
exactly with the way that your business or organisation wishes to operate.
2. It can be customised to interface with other software that you operate with the potential to
provide you with a fully integrated IT infrastructure across your whole organisation
3. Users will usually find it easier and more intuitive to use as it should not contain unnecessary or
superfluous facilities and should operate in the way that they are used to working
4. It is much more flexible than packaged software and can be modified and changed over time as
your requirements and business practices change
5. You will receive much better support and can in many cases talk directly to the developers
concerned (Hero provide a full range of support services)
6. If you are lucky and find a good developer (we suggest Hero Solutions!) then they can
significantly add value to your company by suggesting alternatives, improvements and by acting
as a source of IT advice and information
7. The use of professionally developed bespoke software applications can give you a significant
business advantage over your competition
8. As an alternative to the point above, you have the option, assuming you own the rights to the
application (with Hero Solutions you do), to sell the application to others and recoup some or all
of your investment.

Disadvantages of Bespoke Software

1. If you do not have the source code you are dangerously exposed and are wholly dependent
upon the developer's continuing existence and good will. To avoid this problem make sure you
choose a developer who provides you with the source code.
2. If you pick the wrong developer you could end up with an application that is unstable, unreliable
and full of bugs (but then again so is some packaged software!). Selecting a developer who
works to Best Practice and industry standards should counteract this.
3. The investment required will usually be much higher than with packaged software. This is usually
the biggest reason for not going down the custom route - you need to undertake a business
justification exercise and compare the costs against the expected benefits and commercial
advantages.
4. A large investment in your time is required during the development process and a bespoke
application will take longer to implement.
5. It can be difficult to get support for bespoke software, unless the developers themselves offer
support services.
6. An unacceptable proportion of developers are either incompetent, unprofessional or are
'cowboys' and it can be difficult to sort out the good guys from the bad

Off The Shelf Application Software

Advantages
1. The software tends to be relatively cheap as the cost of development can be spread over a large
number of users
2. The software can be very sophisticated (e.g. Excel or Word) as the revenues from a very large
numbers of users means that a lot of resources can be applied to it's development
3. It is easy to get support and literature is usually widely available as there are many other users
using exactly the same software
4. It is easy to share files produced by the software with others as chances are they also have the
software available to open the file
5. You don't have to dedicate any of your time to the development process (e.g. helping with
specifications, testing etc.)

Disadvantages of Off-the-shelf Software

1. The software can be highly complex and will usually include large sections that you will never
use (the average Word user is reputed to only use about 10% of the available facilities).
2. It tends to be a compromise. By its nature it is designed for many different types of users, each
of whom will have different requirements
3. As the software tends to be large and complicated it may take a long time to learn properly
(some of the most asked for additions to later versions of Word were ones that already existed
in the previous version!)
4. You may have to alter the way that you work in order to fit in with the way that the software has
been designed
5. There will probably be operations that you require that you simply cannot do with the software
6. As one small voice amongst many others your requests will not carry much weight
7. If you have problems you are usually at the mercy of a large and faceless organisation who may
not be quite as concerned as you are if you have a major problem that absolutely MUST be fixed
before tomorrow morning!
8. As the same system can be bought by your competitors it is very difficult to gain any competitive
advantage from its use.

Translators
Is a program used to convert a program from one language to another e.g. high level language to
machine code/object code or low level language (assembly language) to machine/object code.
There are three types of translators i.e. compilers, interpreters and assembler.

Compilers
It’s a program that translate HLL program into machine code. The code written by a programmer is
known as the object code. A compiler translates the whole HLL source code into object code, which
can be executed without the presence of a compiler.
Advantages of a compiler
1. The object code can be saved on disk and run whenever required without the need to recompile.
However if an error is discovered in the program, the whole program has to be recompiled.
2. The object code execute faster than interpreted code.
3. The object code can be distributed or executed without having to have the compiler present.
4. The object code is more secure as it cannot be read without a great deal of reverse engineering.
Disadvantages
1. The final object file is only produced when all errors in the source code have been located and
fixed.
2. The compilation process uses a lot of computer resources.
3. The development process can be long-winded with several runs of the computer before finally
all the errors are located and the object file is produced.

Interpreter
An interpreter also translates HLL source code. The difference between an interpreter and a
compiler is that an interpreter translates one line at a time and then executes it. No object code is
produced, and so the program has to be interpreted each time it is run. If the program performs a
section of code 10,000 times, then that section of code is translated into machine code 10,000 times
as each line is interpreted and then executed.
Advantages
1. It is useful for program development as there is no need for lengthy recompilation each time an
error is discovered.
2. It is easier to partial test and debug programs.
3. The programmer can attempt to run the program at any time, including before all the code has
been written.
Disadvantages
1. Execution of a program is slow compared to that of compiled program.
2. The interpreter software has to be present in memory every time an attempt is made to run the
program.
3. No final object code is produced.

Assembler
Assembler is a program that translate assembly program into machine code. Each type of computer
has its own assembler. Assembly language instruction translate into exactly one machine code
instruction.

The stages of compilation


1. Lexical analysis
The main purpose of the lexical analyzer is to convert the source program into series of tokens
that are passed on to the syntax analyzer. Functions of lexical analyser are:
 Removing white space (space and tabs )
 Removing comments
 Some simple error-checking is performed.
 It will determine if the identifier is too long
 An illegal identifier would be flagged as an error
 Will detect mispelt keywords or undeclared variables
 All keywords, constants and identifiers used in the source code are replaced by tokens
(unique symbols).
 The symbol table is created.
2. Syntax and semantics analysis
 The code is parsed to see that it is grammatically correct. The grammar of programming
language can be defined by the Backus-Naur Form (BNF) notation or syntax diagram.
 It is possible to have a statement that is syntactically correct but has no meaning.
 Semantics analysis checks that the statements have some correct meaning e.g. assign a real
value to an integer value or a real number instead of an integer.
3. Code generation
 Is a stage which produces an object code.
 It may include an optimiser that takes the code and modifies it so that it executes more
quickly and use less memory, e.g. a = b + 0 or a = b *1 can be written as a = b.

Backus Naur Form (BNF)


 Is a meta language i.e. it describes other language. Is composed of a list of statements of the
form: LHS := RHS where := is interpreted as ‘is defined by’.
 := is a meta symbol.
 <point> := .
 <point> is a meta component
 │is a meta symbol known as ‘or’

<digit> is defined by 0 or 1 or 2 or 3 or 4 or 5 or 6 or 7or 8or 9 can be written as:


<digit> :=0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9
Example 1
<real number> := <number><point><number>
<number>:=<digits>│ <digit><number>
<digit> := 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9
<point> := , │.

Questions
Show that:
a) 2,3
b) 12,36
is syntactically correct.

Answer
a) 2 is a <digit> and is therefore a <number>
2, is <number> followed by a <point>
2,3 is <number> followed by a <point> followed by a <digit>and a <digit>is a <number>
Therefore 2,3 is <number><point><number>
Therefore 2,3 is a <real number>
Hence 2,3 is syntactically correct

OR
2 , 3
<digit> , 3
<Number> , 3
<number><point> 3
<number><point><digit>
<number><point><number>
<real number>
Therefore 2,3 is syntactically correct

b) 1 2 , 3 6
<digit> 2 , 3 6
<digit><digit> , 3 6
<digit><number> , 3 6
<number> , 3 6
<number> <point> 3 6
<number> <point> <digit> 6
<number> <point> <digit><digit>
<number> <point> <digit><number>
<number> <point> <number>
Therefore 12,36 is syntactically correct

Reverse Polish Notation


 The way in which we normally write arithmetic expression is called infix notation and it is not
easy for a computer to evaluate such an expression directly. E.g. (a + b) * c
 The sequence of instructions needed to evaluate this is:
1. Get a
2. Get b
3. Add them together and store the intermediate answer
4. Get c
5. Multiply by the result in step 3
i.e. ab+c*
NB In order to translate from infix to Reverse Polish Notation we need to define the order of
precedence of operators.

Highest ~ unary minus e.g. -3


^ exponentiation e.g. 3^2 means 32
*/ multiplication and division
+- addition and subtraction
)
(
Lowest =

Questions
a) (a + b) - x ^ y * 3
b) X = -a + (c – d) / e

Evaluation of RPN using stack


Convert the following expression to RPN and show how the resulting
expression may be evaluated using a stack.
(7 + 10 / 5) + (6 *2)
Answer
7 10 5 / 6 2 * +

5 2
10 10 2 6 6 12
7 7 7 7 9 9 9 9 20

You might also like