Module 6 (Output Devices: Printers and Plotters & INTRODUCTION TO SOFTWARE)

Structure of Lesson
11.1 Objectives
11.2 Introduction
11.3 Impact Printers
                        11.3.1 Dot Matrix printers
                        11.3.2 Daisywheel printer
                        11.3.3 Chain printer
                        11.3.4 Band Printer
                        11.3.5 Drum Printer
11.4 Non impact printer
                        11.4.1 Inkjet printers
                        11.4.2 Laser Printers
                        11.4.3 Thermal printers
11.5 Plotters
                        11.5.1 Flatbed Plotter
                        11.5.2 Drum Plotter
11.6 Summary
11.7 Glossary
11.8 Suggested Answer to SAQ
11.9 References/Bibliography
11.10 Suggested Readings
11.11 Model Questions



11.1 Learning Objectives
This chapter will give the detailed knowledge of commonly used device i.e. Printers. Printers can be classified on the basis of print technology and print methodology. On the basis of print technology, we can classify the printer as impact and non impact printers. On the basis of print methodology, the printers are classified as character printers, line printers and page printers. Also the comparisons between these printers on the basis of quality of printing other features will be explained. This chapter will further describe the detailed functioning of various types of plotters.
Printer
11.2 Introduction
The success of business depends to a large extent on the right decision at right time. For correct decisions, accurate processing of large data is required to be done on proper time. The accurate processing of data can be done by computers to produce output for analysis. This analysis is further used in business to take decision.  Basically, output generated by computer is backbone of analysis. So output should be meaningful and convenient to use. Computers can produce output in two ways, display output on screen for immediate use and stored and printed output for later us. So the output is generated in two ways as Hardcopy and softcopy. Hardcopy is the information printed on the paper. It is a permanent copy of data on paper by output devices like printers and plotters. Softcopy is the information displayed on the screen and stored in secondary storage devices. Here we will focus on the devices that generate hardcopy of computer-generated information. Printers are used to produce   hardcopy as output. Based on the technology used, they can be classified as Impact or Non-impact printers.
11.3 Impact printers
Impact printers use the typewriting printing method wherein a hammer strikes the paper against a ribbon in order to produce output.   Impact printer must be used if printing a multiple copy report so that the duplicate copies receive the imprint. These types of printers are noisy, slow, and produce low quality output. Various types of impact printers and their working is given below.

11.3.1 Dot Matrix Printer
These printers are also called serial printers.  They are named s because these printers print characters by a matrix of dots . Each dot is produced by striking a pin  on a paper against ribbon. In early days dot matrix printers were the most widely used hard copy output devices. Now days, these printers are normally used in banks for printing account statement and pass books. These printers are widely used where cost effective print quality is required. The images are formed by a print head that is composed of a series of little print hammers that look like heads of pins. The print head usually has 9 pins to 24 pins. Increase in Pins count leads to superior print quality. Widely used 24 pin impact printer not only produce better print quality of text but ability to print NLQ (Near letter quality) text in single pass. This type of printer can also print higher quality of graphics in less time. But this printer is still inferior to the printer having Letter quality printing. Dot matrix printer can either be 80 columns printer depending on the maximum number of character that can be printed in a line. Some of dot matrix printers available in India are EPSON EX-1000, EPSON-LQ 1050 etc. The speed of this printer is measured in cps i.e. character per second. The speed can vary from about 50 to 500 cps. The speed of this printer is also dependent upon the print quality. To obtain desired high print quality, the print speed has to be compromised. Print resolution is measured in terms of number of dots per inch (dpi).  Characters are formed by small dots as shown below.
Description: F:\ \ashish_book\pics data\dot matrix.jpg
The major part of dot-matrix printer is its print head. The characters are formed by the print head. Print head has number of pins arranges in vertical columns and electromagnetic field is used to shoot these pins in the form of character. In some printer a magnet print head is used, in these types of print head spring shoots the pins of print head. As the printer head moves in horizontal direction, the print head controller sends electrical signals which forces the appropriate pin to strike against the inked ribbon, making dots on the paper and forming the desired characters.
11.3.2 Daisy wheel printers
It is a serial impact printer, in which printing element is a plastic hub that has a large number of flexible radial petals. Each petal has one or more differently raised printing characters, then a servo motor rotates the wheel it is moved horizontally step by step under computer control and stops when the desired character is in the print position. A hammer then fires on the positioned character against an inked ribbon. The hammer is mounted on a sliding carriage. Different type of font printing can also be done by daisy wheel printer.  Each font has its daisy wheel before the printing starts user changes the daisy wheel to the desired font. If a document has multiple font type printing data, then it becomes tedious to change the daisy wheel font during the printing. Many daisy wheel printers offer bold type printing by double or triple striking on specified character.  Like all other impact printers, daisy wheel printers are noisy, and are slower than dot matrix printers. They produce high resolution output often called letter quality printing. It is also called smart printer because it is bidirectional and has built in microprocessor control features.
 
DAISY WHEEL PRINTER
Advantages
·         It prints letter quality printing.
·         It is bidirectional and built in microprocessor
·         It can print in any desired font
Disadvantages
·         It is noisy
·         It is serial printer and prints slowly
·         It cannot print graphics
·         To change the font style daisy wheel has to change which is tedious job.
11.3.3 Chain Printer
It is a line printer. It prints entire line in single operations. These types of printers are electro-mechanical devices which print complete line of print. Its speed varies in 300 to 2000 lines per minute. It is a high speed printer. These printers are also known as chain printers. The print technology in the chain printer is a metallic chain containing the embossed characters that rotates horizontally in front of paper. A metallic chain consists of five channels and each channel consists of 48 characters.  As the chain rotates, print hammer strikes the paper against ink ribbon on  the proper character on the chain. The chain is cycles continuously until a complete print line has been formed. The print page is then advanced one line and the process is repeated.  The speed of the printer can increased by using a chain that contains the entire uppercase , lowercase alphabets , numbers and special symbols in a repeated manner. Due to repetition hammer does not have to wait  long  to get positioned at a desired print character.
11.3.4 Band Printer
 It is a type of line printer. These printers are variations of chain printers. On a band printer, a thin steel band is used on which several sets of fully formed characters are embossed. This band is continuously moving in front of hammers. In a band printer, the paper is momentarily stopped, when the desired character passes over a given column, the hammer activates, pressing the ribbon against the paper to form image. Again, a selection of different bands depends on the type of printing.
11.3.5 Drum Printer
It is another type of line printer. In this printer all the characters for printing are placed round a surface. That round surface is called a drum. This drum is made up of metal. A fixed font set is embossed on the drum with matching number of columns. These matching columns are the letters on line that has to printed. The drum is attached to wheel to spin at high speed. As desired character pass the print position, the hammers strike the paper from the back, and press the paper against the ribbon on the drum and cause the desired character to be printed on the paper. A complete line of output is printed for each revolution of the drum since all the characters in each set pass their print station during revolution. Because the drum carrying the characters remains in constant motion, the strike action of the hammers has to be very fast. These are lower cost printers. It uses only one hammer instead of using separate hammers for each column. Another generation of this printer uses two characters drums, one drum revolution being used to print the entire odd column and another drum revolution used to print even column. The speed of this printer ranges from 300 to 600 lines per minute.

11.4 Non Impact Printers

These printers are much quieter than the impact printer. Non-impact printers do not touch the paper while printing. They use chemical, heat or electrical signals to print the symbols on paper.  These printers do not strike characters against ribbon on the paper.

11.4.1 Inkjet printers
The concept of inkjet printing originated in the 19th century, in this type of printing, image is created on the surface of the paper by spraying droplets of ink. The printer with this printing technology is inexpensive and is widely used, professionally. It provides print resolution of around 360 dpi.  Some inkjet printers can make full color hard copies at 600 dpi or more. In the inkjet  printing technique, the print head has several small (as small as pin hole) nozzles called jets as the paper rolls over on roller, the print head move on the paper in horizontal direction, the nozzles  sprays ink on the paper, forming the characters or image. These nozzles are attached with cartridges. These cartridges are filled with ink. For color printing multicolor cartridges are used. These cartridges can be refilled two or three times. After that, these are replaced with new ones. The ink in these cartridges is in liquid form. If these cartridges remain unused for long period of time, the ink may get dried up and damage the cartridges as well as print head of the printer. This printer prints with best quality. These printers are used by photographers to print digital photographs. As the printing is done with liquid ink, it requires little time to dry. The papers used, in these printers are heavier than the normal paper, to avoid the bleeding of ink into the paper.  These printers are slow and not designed for high volume of job. These printers are designed for high quality of print jobs.
.
Advantages
·         They can print any language like Hindi, Punjabi and Chinese etc.
·         It provides an excellent middle group between dot matrix and laser printers.
·         It can prints in several colors.
·         They are inexpensive in nature.
·         Print quality is much higher than other printers.
Disadvantages
·         These printers are slow printers.
·         These printers need heavier paper than other printers to avoid bleeding of ink.
·         Special care of cartridges and print head is required.


11.4.2 Laser Printers

The term LASERS is defined as ‘Light Amplification by Simulate Emission of Radiation’. During 1969. Gray Strakweather, from Xerox Corporation had given the idea about the Laser printer. During 1981, the first laser printer designed for use in office. . This printer uses a narrow beam light for printing called laser beam. This laser beam is responsible for transferring high energy source to small area. This printer is non impact printer and popularly used with personal computers. It uses the photocopier technology. A separate computer is built up in this printer to interpret the data that is received from the computer and to control the laser. When a document is sent to the printer a laser beam draws the document on a selenium coated drum using electrical charges. After the drum is charged, it is rolled in toner. Toner  consist of dry powder type ink made up of oppositely charged particles. The toner sticks on the charged portion of the drum. Because drum and toner (ink) is oppositely charged they attract each other and ink stick on the drum in a particular shape. Thus, with pressure and heat toner is transferred off drum to the paper. After the document is printed   the electrical charges is removed from the drum and excess toner is collected. Laser printers are page printers. The resolution of laser printers varies from 600 to 1200 dpi.  They can print 8 pages per minute (ppm). These are high speed printers. These printers provide high quality printing with very less cost. The cartridge of this printer can be refilled again and again and can be repaired. It uses dry ink to print. Inkjet printer is about ten times more expensive to operate than a laser printer. It can print on normal paper. These printers use   Print control Languages for printing letters, database printouts, spreadsheet and simple graphics. This printer has its own memory called printer buffer. These memory stores the data and images temporarily before printing and after printing the memory is erased out. Laser printer can print on transparencies, adhesive labels and lightweight cards. A laser printer with duplex printing can print on one side of the paper, turn the paper over, and print on the other side. When a laser printer receives data from the computer to print, it takes 5 to 30 seconds to prepare the printer to print a new job. This is in addition to the time it takes to actually print the document and is called warm-up time. When the printer is turned on, it needs time to warm up the fuser to operating temperature. If the printer has a standby mode, the warm-up time becomes even more important. This waiting period can hinder overall productivity.
Advantages of Laser Printers
·         It has high speed of printing. Its speed is measured in ppm (page per minute)
·         Printing Noise level is almost nil.
·         It has capability to print excellent graphics.
·         It prints with high print quality
·         This printer has low cost of printing.
·         Laser printer comes in compact size and varieties of styles.
·         Standard paper is required for printing. Even can print on every type of paper.
  Disadvantages of laser printer
·         Double printing cannot be simultaneously performed.
·         They are costly printers.
·         It is large hardware device which can take up a lot of space.

11.4.3 Thermal printers
The thermal printer is an alternative to other serial printers.  Thermal printing is digital printing process. These printers use thermal paper for printing. Thermal paper is special paper that is coated with chemicals that changes color when exposed to heat. When this paper is passed through the print head, the coating turns black in the areas where it is heated. Some fax machines use thermal printing techniques. Output on thermal   paper fades quickly when exposed to light, moreover the hardware is often inexpensive.
Thermal Receipt Printer
11.5 Plotters
In business, there is immense usage of colorful graphics and engineering designs. This demand has created a need for corresponding output device. Computer generated designs can be printed on the paper with printers and plotters. The print technology is based on two methodologies, Raster printing devices and vector printing devices. In Raster printing devices, images and text is printed on paper in small dots. Many printers like dotmatrix printers, inkjet printers etc are the raster printer devices. In vector printing images and text is printed on paper with by drawing lines and curves.
The plotter is a type of printer and used for vector graphics printing. These devices were widely used in printing of engineering designs. Now these devices are replaced by modern printers.  Like printers plotters gives the hard copy of pictures and designs. Plotters are used to print designs of ships and machines, plans for buildings and so on. A plotter is printer that accepts the commands from computer to make line drawings on paper with automated pen. Plotter can draw point to point line directly as per command. It generates the two dimensional graphics representation. They are used to produce large drawings or images such as map of buildings or blue prints of mechanical design etc.
There are two types of plotters.
·        Flatbed Plotters
·        Drum Plotters
11.5.1 Flatbed Plotters
A flatbed plotter is also known as Table Plotter. It uses a bed or tray to hold the paper in a fixed position.  This plotters uses robotic arm attached with pen that can move the pen both in horizontal as well as vertical directions on the paper mounted over the flatbed or tray. The mechanical movement of arms is controlled by computer. The instructions given by the computer is responsible to move arm   in x-y directions on the page. Robotic arm can be mounted with colored pens. The instructions that a plotter receives from a computer consists of a beginning and ending coordinates for a line. With that information, the plotter picks up the appropriate pen, position it at the beginning coordinates, drops the pen down on the surface of the paper and draw to the ending coordinates . Plotter draw curves by a sequence of very short lines.
Limitation
It limits picture size to the dimension of the tray.
It is slow device as compared to printers.

11.5.2 Drum plotter
In this type of plotters, a cylindrical drum is used to mount the paper instead of flatbed tray. The drum is rotated in clockwise direction. There is a single robotic arm mounted on pen that can move across the drum horizontally. The drum itself moves the paper forward or backward to enable the pen to draw in any vertical direction. Any type of diagonal line is drawn by combining a horizontal movement of the pen on the drum having vertical movement. Drum plotters are used to produce continuous output, such as plotting earthquake activity or in ECG machines.   It eliminates the drawback of flatbed plotters of limited print area. It can print on any size of paper length.
The Plotter
. 11.6 Summary
We have two types of printing output devices, Raster printing devices and vector printing devices. Raster printing devices are printers and vector printing devices are Plotters. We have different types of printer and plotters are available in the market. We can differentiate them on the basis of technology used in printing. But these printers have their own advantages and disadvantages.
Output Devices
Advantages
Drawbacks
Impact Printers
Dot Matrix Printer
Printing  cost is very less, durable and reliable
Slow speed printers,  Print quality is very Low, Generates lot of noise during printing, Needs a Special paper to print.
Daisywheel Printer
Print quality is better than dot matrix printers, Can print in multiple fonts,
Very slow, generate lot of noise, Cannot print graphics
Chain printer
Same print quality as daisy printer, It can also print in multiple font
Slow printers, Not durable, generate noise while printing, Cannot print graphics
Band printer
Same print quality as daisy printer, It can also print in multiple font, Faster than chain Printer
Slow printer, Not durable, generates noise while printing, Cannot print graphics
Drum printers
Same print quality as daisy printer, It can also print in multiple font
Slow printer, Not durable, generate noise while printing, Cannot print graphics
Non Impact Printers
Ink  Jet Printer
Quiet printer, Print quality is very good, widely professionals. Less expensive
Printing speed is slow as compared to other non impact printers, Printing cost is very high, Not much durable, Uses wet ink to print.
Laser Printer
Fast printers, Print quality is also high, Printing speed is fast, uses dry ink to print, Cost of printing is very low as compared to inkjet printers
Expensive printers, Takes warm up time to start the job.
Thermal Printer
Quiet printer
Special paper needed, Special purpose printers, Less durable
Plotters
Flatbed Plotter
Widely used in vector graphics printing, and to print designs on paper, Reliable and durable, Printing cost is depend on the paper, Uses normal writing pen for printing,
Expensive machines, Printing speed is slow than printers, Limit of  Paper size  is dependent  upon the paper mounted tray of the printer, Occupies large space
Drum Plotter
Large paper handling capabilities, occupies less space, Reliable and durable, Printing cost is dependent  on the paper, Used normal wiring pen for printing,
Very expensive

11.7 Glossary
·         CPS                      (Characters per second)
·         LQ                        (Letter Quality)
·         NLQ                     (Near letter quality (very good print)
·         PPM                     (Page Per Minute)
·         DPI                       (Dots Per Inch)
·         LAN                     (local area network)
·         CPU                     (central processing unit)
·         LPM                     (Line Per Minute)
·         Toner                   (Dry ink powder used in laser printer)
·         Cartridges            (Apparatus in which ink is packed for printing)
11.8 Suggested Answer to SAQ
Question: What is difference between impact and non impact printer
1. Metaphors:
Impact printer -These printers use pins or metallic embossed fonts as a print head and strike print head against ribbon on the paper and generate noise while printing.
Non-impact printer - Produces text and graphics on paper without actually striking the paper and generate no noise.
2.  Types
Impact printer - Dot-matrix printer, Daisy wheel, Chain Printer, Band Printers
Non-impact printer - Inkjet printer, laser printer and thermal printer.
3.  Speed
      Impact printer - Printing speed is slow and measured in CPS, LPM
Non-impact printer -Fast speed  of printing as compared to impact printers and measures in PPM.
4.  Print Quality
Impact printer - Produce near letter quality (NLQ) print only, which is just suitable for printing  mailing labels, envelopes, or invoices
Non-impact printer - Letter-quality printouts
5.   Utilization:
Impact printer - These printer is not used widely, These are used to print financial transaction in banks and offices.
 Non-impact printer -Widely used professional printers today
6.    Ink source
Impact printer- Uses ribbon as ink source
 Non-impact printer- These printer uses wet ink or toner  as ink source.
7.  Cost:
Impact printer - Less expensive 
Non-impact printer - More expensive
 8.  Robustness:
Impact printer - These printers are reliable and durable.
 Non-impact printer-  Less durable due to sensitive technology.
Question: What is Draft Mode?
Lowest printable resolution, it is also the quickest but not the best output, it is usually used for spell checking before the actual print
Question: Explain the working of chain printers?
It is a line printer. It prints entire line in single operations. These types of printers are electro-mechanical devices which print complete line of print. Its speed varies in 300 to 2000 lines per minute. It is a high speed printer. These printers are also known as train printers. The print technology in the chain printer is a metallic chain containing the emboss characters, that rotates horizontally in front of paper. A metallic chain consists of five channels and each channel consists of 48 characters.  As the chain rotates, print hammer strike the paper against ink ribbon on  the proper character on the chain. The chain cycles continuously until a complete print line has been formed. The print page is then advanced one line and the process is repeated.  The speed of the printer can increased by using a chain that contains the entire uppercase , lowercase alphabets , numbers and special symbols in repeated manner. Due to repetition hammer does not have to wait  long  to position a desired print character.
Question: Explain the advantages and disadvantages of inkjet printer?
Advantages
  • They can print in any language like Hindi, Punjabi, and Chinese etc.
  • It provides an excellent middle group between dot matrix and laser printers.
  • It can prints in several colors.
  • They are inexpensive in nature.
  • Print quality is much higher than other printers.
Disadvantages
  • These printers are slow printers.
  • These printers need heavier paper than other printer to avoid bleeding of ink.
  • Special care of cartridges and print head is required.
Question: What is different types and purpose of the Plotters?
The plotter is computer printer for vector graphics printing. These devices were widely used in printing of engineering designs. Now these devices are replaced by modern printers.  Like printers plotters gives the hard copy of pictures and designs. Plotters are used to print designs of ships and machines, plans for buildings and so on. A plotter is printer that accepts the command from computer to make line drawing on paper with automated pen. Plotter can draw point to point line directly as per command. It generates the two dimensional graphics representation. They are used to produce large drawings or images such as map if buildings or blue prints of mechanical objects.
There are two types of plotters.
·        Flatbed Plotters
·        Drum Plotters

 Question: Explain the working of Drum Plotters?
Drum plotter: In this type of plotters, a cylindrical drum is used to mount the paper instead of flatbed tray. The drum is rotated in clockwise direction. There is a single robotic arm mounted on pen that can move across the drum horizontally. The drum itself moves the paper forward or backward to enable the pen to draw in any vertical direction. Any type of diagonal line is drawn by combining a horizontal movement of the pen on the drum having vertical movement. Drum plotters are used to produce continuous output, such as plotting earthquake activity or in ECG machines.   It eliminates the drawback of flatbed plotters of limited print area. It can print on any size of paper length.
11.9 References/Bibliography
  • Introduction to Computers, Peter Nortron, Tata Mc-graw Hill Publishing company Limited.
  • Computer Fundamentals, P.K Sinha, BPB Publications
  • Introduction to Computers  By Gary Shelly, Steven Freund, Misty Vermaat, Published ByShelly Cashman Series
  • Introduction  to computer by Raj Mohan Joshi, Published by Isha Books, New Delhi
·         Fine Art Printing for Photographers: Exhibition Quality Prints with Inkjet Printers
By  Uwe Steinmueller, Juergen Gulbins
·         Handbook of Print Media: Technologies and Production Methods
Edited by Helmut Kipphan
·         Advances in Non-impact Printing Technologies for Computer and Office Applications, Proceedings
Editor: Joseph Gaynor
11.10 Suggested readings
·         Fine Art Printing for Photographers: Exhibition Quality Prints with Inkjet Printers
By  Uwe Steinmueller, Juergen Gulbins
·         Handbook of Print Media: Technologies and Production Methods
Edited by Helmut Kipphan
·         Advances in Non-impact Printing Technologies for Computer and Office Applications, Proceedings
Editor: Joseph Gaynor
11.11 Model Questions
·         What is Printers?
·         Explain the different types of printers.
·         Explain the working of laser printer?
·         Explain the working of Dot Matrix Printer?
·         What is Difference between Printers and Plotter?
·         Explain the criteria to measure the print quality of Printer?
·         Explain the criteria to measure the print speed of printers?
·         Give the classification of non-impact printing technologies?

·         What is difference between flatbed plotter and drum plotter?


Structure of the Lesson
12.1 Learning Objectives
12.2 Introduction
12.3 Various Types of Software
12.3.1 Software as observed the user
12.3.2 Platform software
12.3.3 Application Software
12.3.4 Features
12.3.5 Issue of Patents
12.3.6 Software bug
12.3.7 Software Issues
12.3.8 Software Appraisal and choice
12.3.9 Licensing and authorization issues of the software
12.3.10 Legal Entitlements over the software
12.3.11 Software Upgrades
12.3.12 Enterprise Software
12.3.12 Reorganization of Organizational Software
12.3.14 Middle ware
            12.3.14.1  Shareware
            12.3.14.2 Freeware
            12.3.14.3 Opensource
12.4 Summary
12.5 Glossary
12.6 Suggested Answer to SAQ
12.7 References/Bibliography
12.8 Suggested Readings
12.9 Model Questions


12.1 Objectives
This chapter will introduce about the concept of software and its various types. After reading this chapter reader will have the knowledge about the software and various commercial issues regarding software like licensing, patents. This chapter will also provide the knowledge about various technical issues like testing, debugging etc.
12.2 Introduction
We are all aware of the term software. Software is actually that part of computer, which is not tangible, i.e. which we cannot touch but without it no part of computer can work. It was only when software was invented that the size of computer decreased and the computer became a multitasker. So, software is as important as hardware. Let us define software. It is known as a set of programs, which comprise of all the programs, which are executable on the computer, libraries, applications and even the scripts. They are actually a set of clear-cut instructions upon which the computer works.
It is not an object which has mass or which exists in a three-dimensional space but it is stored in the memory of computers. Hardware cannot work without the software and vice versa. If we talk at the most fundamental level, the first set of instructions o computers were written in machine language i.e. 0 and 1, but this was very specific to the concerned machine only and same set of instructions would work only for one computer its specific for. The machine language consists of a binary code (0 and 1) that dictates the computer about what to do.  But today software is user friendly and comes in pre-packaged forms, which can be used for a number of computers at the same go. Software may be bringing about huge changes in the computer like changing locations of the file, changing names and many others but we are not able to observe the way it is bringing about those changes. However, there are numerous other ways in which we can observe the changes made in the computer by the software instructions e.g. display on computer monitor changes.
12.3 Various Types of Software
System Software: It is the main software, which helps in running the computer system and the entire as well as the hardware. The various examples include servers, window systems, drivers, diagnostic tools etc. It also include libraries of in-built functions, system services, drivers for printers and other hardware, system preferences, and other configuration files.
Application software: This kind of software allows the users to achieve more than one computer related specific tasks.  If you want to understand it, think of terms like window applications and other software present in current smartphones, tablets etc. (APPS). Other application software includes business software, medical software, designing software, gaming software etc. Web applications give output on web pages e.g. PHP, ASP.NET ETC.
Programming Software: These types of software aid the programmers in writing programs in an easy manner. These include interpreters, compilers, linkers, debuggers etc. Software programmers to create, maintain or debug the computer systems use this type of software. Further, there are embedded software, which are put as firmware in the tiny electronic chips to be used by single users in automobiles. Firmware can actually be defined as sequence of instructions that is substituted for hardware.  
Language of Software: Software is usually written in various programming languages. Actually, a programming language is the one, which is used by programmers to develop various applications, scripts and other group of commands. Examples include COBOL, FORTRAN, BASIC, SQL, FOXPRO etc.  The table given below will give a birds eye view of the various types of applications and the languages used to develop these software.
Table: Different types of languages used for specific types of applications and programs

Types of application/Software

Characteristics
Languages used
Artificial Intelligence Development
Creating character interactions in computer games, chatbots etc.
C,C++, Prolog, AIML
Database Development
Creating and maintaining characters
DBASE, FoxPro
Game Development
Development of computer games and other software
Java
Computer drivers or other hardware interface development
To embed systems and generate device drivers
Assembly, C
Internet and Web Page Development
Creating own web pages, developing internet applications, Internet related tasks
HDML, HTML, Java, JavaScript, Perl
Script Development
To create and develop scripts to increase performance
Auto hotkey, Perl
12.3.1 Software as observed the user
More commonly, we find that the software visualized by the viewers is different from as developed by the software developer. The latest general-purpose computers are having 3 fundamental layers of software e.g. platform, application and user software as perceived by the user.
12.3.2 Platform software
 A platform in the fundamental unit of the computer hardware, Which integrates software and on which the software applications are run. It includes the software, which help the user to form a link between computer and its allied parts. Such software includes drivers, GUI and also the operating system. This kind of platform software is packaged along with the computer but it is possible to change the platform software of the personal computers.
12.3.3 Application Software
This kind of software usually doesn’t come bundled up with the computer but they have to be bought individually. These are the ones, which are used to play video games, office suites and also include other software like word processing software, video games, office suites, word processing software, presentation software, multimedia software etc. Even systems software can be thought of as application programs. In some cases, application software are pre-packaged with the computer but still, they are run as separate programs. Even systems software can be thought of as application programs.
User written software: This software are created by the users to suit their specific needs. They can also be bundled within default application software and actually if they are deftly packed, they are indistinguishable from the original bundle of software. E-mail filters, spreadsheet templates etc. are all user written software.
Importance of quality of software: It is rather quite significant to have good quality software because many important jobs are dependent on the software especially in MS office, windows, Linux etc., we cannot afford to have bugged software. Faulty software can damage the system and also crash it. Moreover, it may generate undesirable and unforeseen responses. Quality in software can be defined in terms of code characteristics. It is actually the conformation of all characteristics required from a good professional software e.g. functional and performance needs (speed, storage area needed, security, network friendliness etc. and document development features. Nevertheless, its quite difficult to measure the quality of as software e.g. we can objectively measure speed, power consumption but security issues are very difficult to assess.
12.3.4 Features
The software are basically prepared to deliver a particular facility. These facilities include the types of output generated by the software e.g.
·         Numerical result
·         Screen shots
·         Web pages etc. and the features of the software to deliver a particular kind of service are deliberated in terms of Functionality, execution, movability and compactness.
Speed: If the application is asked to perform a function, it takes a little bit of time before delivering the service asked for. The time taken in performing the function is sum total of three different things i.e.
  • System time
  • CPU time     
  • Network latency
  • Total Wall time or real elapsed time
So, in order to measure develop a software on lines of a good speed software, the developer must take into account all the above mentioned times.
Space utilization of the software: The RAM or disk space utilized by the application is of prime importance. Software, which stimulates CPU cache miss, can also influence the speed of the software. With the starting of computer, many software also get started, some of them are not actually required at that time. Even this slows down the computer and it needs to be managed properly to keep vital resources of the computer free for usage. Here, data design of the software is very important as a poor design results in slowing down of the system. 
Network usage: Network usage can be defined as the network traffic at particular time as compared to the total amount of traffic that can be supported by the network. Bandwidth usage involves all incoming (data downloaded from net) and outgoing (data sent out from the computer in form of emails. etc.)  Software should be so designed that it efficiently uses the bandwidth.
Durability of the software: Good quality software doesn’t need to be repaired very often. It is very troublesome at the users end to fix the software again and again. The code used to write the software should not be fragile otherwise the patchwork has to be done again and again.
Strength of the software: Good quality software possesses good tolerance towards system failure, unresponsive third party resources. In case, the quality of the software is not good it becomes very prone to freezing or crashing. So, software should be tolerant enough to severe and testing conditions.
Simplicity for user: Actually, ease to use software is not very objective. It is a relative and matter, which is difficult to calculate. The various parameters upon which the quality of a software can be determined is how clearly it conveys the errors, how it recovers after failure etc.  
Reproducibility:  It is additionally recognized as determinism or repeatability. It is a parameter that takes into account the repeatability of results i.e. whether the software gives the same result time after time. There are numerous reasons responsible for non-reproducible results, the chief of which is a bad data model design.
Issue of compatibility: This issue addresses the compatibility between new and older versions of the software. Further, good software should be so designed that shifting of data from old to new should not take a lot of time/expensive and it should be cost effective.
Safekeeping: Good software should be secure and should possess restricted access if so desired.  The data, which is processed by the software, should not be compromised. Actually, this aspect is of utmost importance and anybody who wants to keep their data confidential must have secure software.
Consumption of power: As most of the current day smart phones are having such application software which are used quite often by the user, it is but obvious that the software must not use too much of battery (power) so that battery remains charged for a longer time.
Code coverage: Good quality software has higher code coverage. Code coverage is actually a parameter, which illustrates the degree to which the source code of the program has been tested. Software which has higher code coverage means that it has been sufficiently tested and has a lesser probability of containing software bugs.
Testability: Good software is designed to possess high level of testability. High testability needs an inter-dependence between architecture as well as testing methods used. An inadequate software with poor testability needs to be redesigned which is an extremely costly affair. So, at the initial step only it is justifiable to invest in software architecture and development methodologies to prevent repairs and redesigns.
Portability: Good quality of software possesses portability i.e. they possess the ability to run on different types of computers as well as operating systems. including small capacity computers, mobile phones, various web browsers etc. 
Safety of thread:  Good software should not get into a logjam. Improper thread safety of software leads to live locks, resource famishing and deadlocks. A code should be so written that it may be partly executed by thread, executed by the same thread and also by another thread.
Compactness: Good quality software needs to have smaller binary size and also should possess rapid compilation. If software is smaller in size, it will have fewer bugs because no. of bugs remains persistent with respect to size of the code.
Maintenance: Good quality software is easy to debug, faster to fix, easier to understand. Maintenance of software is improved with good testability and malleable design. Software maintenance is a very important aspect and it is also subjective in quantification.
Documentation: Many users are of a view that side by side separate documentation written in English language is pretty essential. On the other hand there are people who testify that at least one fourth of the code should be in form of commands. A third party believes that code in itself is the most fit manifestation of documentation.
Software should be legible: Legible means readable. Readability of the code is very important. The good software should be having a unified style of code. Being legible means that a software should be easily read by the developer even if its written by another developer.
Software should be saleable: All the good software should have the ability to easily extend a certain feature, enlarge or add novel features, additional chores etc. In fact,  good software is developed keeping the potential  prospects needs in mind. 

The quality of the software is actually the reaction of the user to it, a user friendly software which gives good results and positive feedback from user is subjectively a good quality software. Nevertheless, it must kept in mind that the quality of software is actually the result  of good ground work and focused on quality parameters like stability, compactness, portability, network usage, code coverage, testability, flexibility, security, thread security, maintainability, legibility, scalability, documentation.
12.3.5 Issue of Patents
We know that patent is a right or a license conferred by government for a given period of time to an invention or original development like a software, it excludes others from marketing, selling or in any other way using a given patent for commercial purposes.
Software can actually be patented in some countries. All the countries of the world don’t give a right to patent the software. Actually, granting of patents is contentious in case of patents because algorithms used to develop software may not be original and other developers may use them also. However, software is intellectual properties of the developers and should be patentable .
12.3.6 Software bug
Grace Hopper used the term software bug for the first time in 1945 when an actual bug or moth short-circuited a computer system. From that time onwards, the term computer bug started being used. A software bug is in fact, a defect, weakness, letdown, and inaccuracy in a program/system. Due to this bug that may be intrinsic in the software, wrong or awry results are obtained. Unexpected results and wrong calculations are obtained due to these faults and errors. The bugs or errors can be of different types like user interface error, error in handling data, boundary related errors, errors in calculations, control flow errors etc. Software with a huge number of bugs is called“buggy” software. Following reasons most commonly cause software bugs:
·         Mistakes by the developer
·         Errors at the end of humans
·         Faulty Source code
·         Incorrect code produced by the compiler
Mistake Metamorphism: Metamorphism means a change in shape. In software terminology, software means the evolution of “bugs”. Starting from a mistake at the level of human beings, it is evolved as a failure at the level of execution. The various stages of mistake metamorphism are as follows:
Mistake---Anomaly-----Fault---Failure----Error-----Exception------Crash-----Bug------Defect------Incident------Side effect
How to avoid and block the bugs
 A lot of labor and energy of software is focused on tracing various techniques, which will help in prevention of bugs while writing software. These techniques include:
·         Style of the programming: The appearance of bugs happens due to error committed by the programmer especially when he makes a logic error. Many advances in the style of programming are being made to reduce the likeliness of the bugs and also simpler to locate the bugs. Typos-i.e. errors like missing object, missing or extra brackets, repeating of objects. These so-presumed small errors at the earlier stages may result in failure of execution or appearance of bugs and to find the errors becomes very time-consuming as well as laborious because it means going through the program again line by line.
·         Programming techniques:  Errors and software bugs often produce anomalies in the inner data of a program. The programmer should write programs so as to keep checking the inner uniformity of the data while running. As soon as an anomaly is encountered, the program comes to a stop, thus the anomaly is detected and fixed easily and at the same instant, so that the bug can be located and fixed. However, in certain cases it may not come to a halt but continue running and send information to the user about the anomaly so that it may be corrected.
·         Methods of developing the program: A number of patterns have been put through to manage the programming activity well and free from errors and number of bug production is minimized. These are in fact covered under the regulation of software engineering e.g. precise program requirements are used to state precise conduct of the programs. It is however quite unfortunate that formal program requirement is unfeasible and unrealistic. In the current times, more common methods involve preprogrammed unit as well as acceptance testing. These approaches are designed to catch hold of the bugs and minimize their fixing effort and cost.
·         Programming language support: A number of modern day programming languages include such intrinsic characteristics, which assist the programmers in prevention of bugs. 
·         Scrutiny of the code: There are certain tools that assist the developers in scrutinizing the code by reviewing the program text past the compiler's competences to locate future difficulties. Though in broad sense, the difficulty of tracing all programming faults is not resolvable; these tools manipulate the information that human programmers are inclined to commit the identical types of slipups while writing software.
·         Equipment: The correct implementation of software while it is running is examined to detect errors such as tailbacks, logjams etc. Further, monitoring is needed to provide or to give assertion towards proper working. Monitoring is done by embedded monitors in the code or as tools.
·         Common categories of computer bugs: Computer bugs are our enemies and we must understand our enemies in order to conquer them. Debugging is performed to get rid of errors. Software programmers are always looking for new types bugs and ways to remove them. Bugs can be of different types like arithmetic bugs, logic bugs, syntax bugs, resource bugs, logic bugs, syntax bugs, resource bugs, multithreading programming bugs, interfacing bugs, performance bugs, team-working bugs etc. On the other hand, programming errors are of three types compilation errors (prevent the program from running), run-time errors (occur while a program is running) and logic errors.
12.3.7 Software Issues
Due to increase in the popularity and usage of software, new issues have come to the front. These issues are mainly concerned with appraisal, choice, licensing and authorization, up- gradation, open sourcing etc.
12.3.8 Software Appraisal and choice
The appraisal, evaluation and choosing is the right software is of prime importance and is dependent on a number of key considerations. To select the right software, first of all, one must fully comprehend the nature of requirement of the software. We must also fully assess the benchmarks and yardsticks that the software must fulfill. The entire team, which has to contribute to the development/using the software, must hold a meeting and critically assess whether the decided software fulfills the needs of the organization. The team should study the projected substitutes and reach the final decision for the software, which best suits, all the needs.
Factors controlling the choice/selection of particular software
·         Whether the need is of a single user software or multi user software in a particular place or multi user in physically diversified areas
·         Whether the software proposes to give certain tools that can be used for supervising by the administration
·         Whether it offers security or not.
Price Tag of the software: The price of the software includes all the prices i.e. the initial cost, cost of installation, cost of up gradation, cost of maintenance and also the cost involved in buying different versions and single/multi user license.
Competence of the software: The issue of competence of software is very crucial. It has to be taken into account that the software that being bought today, whether it is also fit and competence to meet the potential needs of tomorrow.
Software compatibility: The compatibility issues of the software are also of prime importance because the software needs to be compatible with the prevailing hardware and software combinations.
12.3.9 Licensing and authorization issues of the software
All the software, which is developed by various companies, should be licensed because a lot of effort, labor, expertise and skill go into the development of software. The software must not be copied, pirated and sold without the permission of the developing company. So, licensing is a major issue of concern for the current needs.
12.3.10 Legal Entitlements over the software
All the laws that work to provide the intellectual protection rights to other intellectual properties have to be extendable to the software also. Actually, there needs to be a legal entitlement over the software because it has been prepared but inputs of human mind and intellect, innovation and creativity. In fact, the Software Publishers association imposes the copyright rules and commandments in the companies, corporations etc via the conventional recommendations. According to these conventions,
·         If the information system managers do not possess the evidence of buying the software, they have no right to continue possessing the software, else they must buy new license, failing which, they stand liable to punishment.
·         Fee must be paid for renewal/up gradation of the license. By definition, a license is actually an entitlement approved by the government to carry out an activity, which is otherwise illegal.
·         Software Publishers association keeps a check on the companies to invigilate the appropriate utilization of the license. If a company is found guilty of improper utilization of the license, it is accountable and liable to substantial fine.
·         System managers will thoroughly check the records and maintain the records for the correct licenses of their software.

Many people unmindfully copy the original software but little do they realize that doing so is criminal and punishable by law. Furthermore, the cost of piracy runs in millions in terms of money, time and security. Many people who use pirated software in the hope of saving a small amount of initial investment fall prey to the malware and security threats associated with the pirated or copied software. A research has shown that more than sixty percent of companies who have used forged software have faced huge security threats. Moreover, the same research showed that about half of the consumers faced the problem of slow PC and had to remove the software. In addition the users of counterfeited software were very much concerned about data loss. 
If small companies indulge in such a piracy, they are more gullible to loss because large companies are rich enough to face huge losses but smaller companies are on he risk of getting completely ruined due to incurrence of losses.
Ethically speaking also, the cause of innovation and intellect is also defeated and it is ethically incorrect to do so.   However, as the number of computers and computer companies are on the rise, the business of fake software is also in the rise. This in turn has caused a number of tracking software companies to grow.
12.3.11 Software Upgrades
Software upgrades are a major concern in these times. The companies, which have developed the software want it to be upgradable i.e. it should have the ability to be revised to suit the upcoming needs. Many companies charge money for up-gradation. However, they may just make minor changes and present a new version often. These new versions may actually have nothing new to offer. In yet other cases, they may also be buggy and pose a risk of loss of data etc. Nevertheless, certain upgrades introduce revised features to suit the impending needs.
12.3.12 Enterprise Software
In the competitive world of modern times, it is realized that various organizations must regularly keep reorganizing their software structure to meet the growing needs of the companies. Due to this, many times the companies need to change their hardware in order to meet the compatibility issues. It must be borne in mind that a large organization may have thousands of software working in harmony and it is quite expensive and cumbersome to acquire the upgrades each time.
12.3.12 Reorganization of Organizational Software
It is very unsafe, costly and bungling to upgrade software in larger organizations and must not be indulged into until it is absolutely necessary to do so. Actually, these days the companies prefer to buy pre-packaged applications that form a good support system between various functional segments (HR, finance, marketing etc.) of the system. Such events have popularized the concept of enterprise software, which is purposed-designed software that actually is prepared to meet the furtherance of demands.
12.3.14 Middle Ware
This type of software is designed to link various application modules running id different languages. Middleware is sometimes called plumbing because it connects two sides of an application and passes data between them.
                 
12.3.14.1 Shareware: Shareware are those software you can use on a trial basis before paying for it or buying a license to use it. Once you pay for a shareware program, the program is fully functional for the given time limit and after that it will ask for license.
12.3.14.2  Freeware: Freeware are the software you can download, pass around, and distribute without any initial payment. However, the great part about freeware is that you never have to pay for it. Freeware does not cost anything; it is still copyrighted, so other people can't market the software as their own.
12.3.14.2  Open source: Open source, as the name explains means the source code is open that is you can read the source code of the software. You can also modify and distribute it to anyone you want, as per license agreements.

12.4 Summary
In this chapter, we have learnt all about software, which is actually that part of computer, which is not tangible, i.e. which we cannot touch but without it no part of computer can work. It was only when software was invented that the size of computer decreased and the computer became a multi-tasker. It is known as a set of programs, which comprise of all the programs, which are executable on the computer, libraries, applications and even the scripts. They are actually a set of clear-cut instructions upon which the computer works. We have seen that two main types of software are system software and application software. System Software: It is the main software, which helps in running the computer system and the entire as well as the hardware. The various examples include servers, window systems, drivers, diagnostic tools etc. Application software: This kind of software allows the users to achieve more than one computer related specific tasks. Apart from these, yet another type of software i.e. PROGRAMMING SOFTWARE is also common that aids the programmers in writing programs in an easy manner. It is rather quite significant to have a good quality software because many important jobs are dependent on the software especially in MS office, windows, Linux etc., we cannot afford to have bugged software. Quality in software can be defined in terms of code characteristics. It is actually the conformation of all characteristics required from a good professional software e.g. functional and performance needs (speed, storage area needed, security, network friendliness etc. and document development features.). Due to increase in the popularity and usage of software, new issues have come to the front. These issues are mainly concerned with appraisal, choice, licensing and authorization, up- gradation, open sourcing etc. Software upgrades are a major concern in these times. The companies, which have developed the software want it to be upgradable i.e. it should have the ability to be revised to suit the upcoming needs.
12.5 Glossary
Portability: The ability to run on different types of computers as well as operating systems.
Software bug: A defect, weakness, letdown, and inaccuracy in a program/system.
Code coverage: A parameter, which illustrates the degree to which the source code of the program has been tested.
User written software: software are created by the users to suit their specific needs.
System Software: It is the main software, which helps in running the computer system and the entire as well as the hardware.
Application software: software that allows the users to achieve more than one computer related specific tasks. 
12.6 Suggested Answer to SAQ
Question: What are the factors controlling choice and selection of a particular software?
·         Whether the need is of a single user software or multi user software in a particular place or multi user in physically diversified areas.
·         Whether the software proposes to give certain tools that can be used for supervising by the administration.
·         Whether it offers security or not.

Question: What are software bugs?
A software bug is in fact, a defect, weakness, letdown, and inaccuracy in a program/system. Due to this bug that may be intrinsic in the software, wrong or awry results are obtained. Unexpected results and wrong calculations are obtained due to these faults and errors. The bugs or errors can be of different types like user interface error, error in handling data, boundary related errors, errors in calculations, control flow errors etc. Software with a huge number of bugs is called“buggy” software. Following reasons most commonly cause software bugs:

·         Mistakes by the developer

·         Errors at the end of humans

·         Faulty Source code

·         Incorrect code produced by the compiler

Question: What is Application software?
This kind of software usually doesn’t come bundled up with the computer but they have to be bought individually. These are the ones, which are used to play video games, office suites and also include other software like word processing software, video games, office suites, word processing software, presentation software, multimedia software etc. Even systems software can be thought of as application programs. In some cases, application software are pre-packaged with the computer but still, they are run as separate programs. Even systems software can be thought of as application programs.

Question: What are legal entitlements of the software?
According to laws, if the information system managers do not possess the evidence of buying the software, they have no right to continue possessing the software, else they must buy new license, failing which, they stand liable to punishment. Further, they must pay the fee for renewal/upgradation of the license. By definition, a license is actually an entitlement approved by the government to carry out an activity, which is otherwise illegal. Software Publishers association keeps a check on the companies to invigilate the appropriate utilization of the license. If a company is found guilty of improper utilization of the license, it is accountable and liable to substantial fine. These days the information system managers are thoroughly checking records and maintaining records for the correct licenses of their software.

Question: Define software?
It is known as a set of programs, which comprise of all the programs, which are executable on the computer, libraries, applications and even the scripts. They are actually a set of clear-cut instructions upon which the computer works.
12.7 References/Bibliography
·         Introduction to Software Process Improvement By Gerard O'Regan
·         Introduction to Software Packages Edited by Sheila Frankel
·         A Concise Introduction to Software  By Pankaj Jalote
12.8 Suggested readings
·         New Perspectives on Computer Concepts 2014: Comprehensive
 By June Jamrich Parsons, Dan Oja

·         New Perspectives on Computer Concepts 2014: Comprehensive
By June Jamrich Parsons, Dan Oja

12.9 Model Questions
·         Differentiate between User written software and application software
·         Why is software licensing important?
·         What is software up gradation?
·         What is middleware?
·         What is enterprise software?