TYPES OF SOFTWARE
Introduction
Computer being an electronic device, understands only electric
pulses i.e. whether the electricity is flowing through a circuit or
not. We denote these two states of pulses (electricity flowing &
not flowing) by 1 and 0, and thus computer understands a
language that consists of only two 'characters' namely 1 and 0.
This special language is popularly known as Binary language or
Machine language, which is directly understood by the
computer. 0 and 1, the digits of binary language or Binary
Digits are also known as Bits (Binary Digits). Binary language
consists of ones and zeros, typically in groups of 8 or 16 bits,
used for storing characters and numbers.
 Interacting with Hardware
An ordered set of instructions given to the computer is known as a
program and a set of such PROGRAMS that governs the operation of a
computer system and/or its related devices is known as SOFTWARE.
                              User
                          Appn Software
                         System software
                            Hardware
Types of Software
                       Type Of Software
System Software                           Application Software
  BIOS                                               Utility Software
  Operating System                                   General Purpose SW
  Device Driver                                      Customized Software
  Language Processor
System Software
   The functions of all the physical components of a computer
    system are guided by some instructions or program collectively
    known as System Software. System Software controls all
    internal activities inside a computer system and between all
    attached components of a computer system.
   Major activities performed by System Software are :-
    Reads data and instructions through the input devices
    Translates all data and instruction into computer
     understandable form and vice versa
    Controls all devices attached to the computer system
    Processes and generates the result on the output devices
    System Software - OS
   Operating system is a set of system programs that controls and
    coordinates the operations of a computer system. It provide
    interaction between user and computer.
   It is stored (installed) on the hard disk or any other external storage
    device.
   It is the first program to be executed on a computer after the BIOS.
   Need of Operating system: it provides a software platform, on top
    of which, other programs, called application programs are run.
    System Software - OS
   Major Functions of Operating System are :-
      Device Manager - Communicate with hardware and the attached
       devices.
      Memory Manager - Manage different types of memories
      Interface Manager - Provide a user interface
      Program Manager - Provide a structure for accessing an application
      Task Manager - Enable users to manipulate programs and data
      File Manager - Manage the files, folders and directory systems on a
       computer
      Network Manager - Provide basic networking structure for LAN and
       Internet
      Security Manager - A smart OS also provides a minimal security to the
       computer system through authorization (user name) and authentications
       (password)
User Interface
   It is the medium by which user interact with any
    software. This interface may by text based on
    graphical based or it may be touch screen.
   Based on this User interface may be categorized
    as:
     CUI (Character User Interface)
     GUI (Graphical User Interface)
Character User Interface
   This type of interface requires user to type each
    instructions on its prompt to send request to
    computer.
   User must remember each command with proper
    syntax to perform its operation.
   It is not very easy and user friendly.
   Example of this type of interface was DOS (Disk
    Operating System), it is still available with windows
    as CMD program where we can type the DOS
    commands
Character User Interface
Graphical User Interface
   It is more user friendly interface than CUI which uses
    images, icons to represent the option, commands.
   Various GUI components are used like: Labels, Text
    Box, Buttons, Check Box, Radio Buttons, List Box,
    Combo Box, Password field, Menus, Dialog Box etc.
   GUI Interface is Event Drive i.e. user must perform
    event like – Click, Double Click, Drag to trigger the
    action.
   Now days every OS/Applications are GUI based
Graphical User Interface
                              LABEL
                             TEXT BOX
                                 DROP
                                DOWN
                                  LIST
                           RADIO BUTTON
                              BUTTON
Touch Screen Interface
   A touch screen is a computer/mobile display screen
    that is allows user to interact with the application by
    directly touching it by hand or by stylus. The screens
    are sensitive to pressure; a user interacts with the
    computer by touching pictures or words on the screen.
System Software - BIOS
   The basic input/output system (BIOS) is also commonly
    known as the System BIOS. The BIOS is boot firmware, a
    small program that controls various electronic devices
    attached to the main computer system.
   It is designed to be the first set of instructions run by a
    Computer when powered on. The initial function of the
    BIOS is to initialize system devices such as the RAM, hard
    disk, CD/DVD drive, video display card, and other
    hardware.
Device Driver
   A device driver is a system software that acts like an
    interface between the Device and the user or the
    Operating System. All computer accessories like Printer,
    Scanner, Web Camera, etc. come with their own driver
    software. These driver software help the operating system
    and other application software to communicate with those
    devices for optimal use
Language Processor
   As discussed computer understand only binary language so
    it is very difficult for the programmer to write the entire
    program as a bunch of 0 and 1. So need arises to have a
    language which is easy to write, learn and understand. The
    solution was High Level Languages which used simple
    English like statements to write the application.
   Common Language processors are :
       Compiler
       Interpreter
Application Software
   Application software runs on Operating system. It uses the
    services of operating system to interact with hardware.
   Set of software to carry out specific task like creating
    documents (word processor ), calculations and analysis
    (Spreadsheet), Presentations (Power point), Railway
    reservation, library management etc.
   It is of 4 type:
     Utility software
     General Purpose Software
     Customized software
     Developer tool
Utility Software
   Utility software for efficient working of our computer and other task.
   Various utility softwares available like
     Text Editor : for storing short notes, message, coding. Examples
       are : Notepad, Notepad++, WordPad
     To-Do task : to manage the work.
     Compression : to compress i.e. reduce the size of file to transfer
       file from one computer to another. Examples are :
       WinZip, WinRAR, jZIP etc.
     Disk Defragmenter : Disk de-fragmentation utility software
       speeds up the system by rearranging such fragmented files
       stored on a disk in contiguous locations in order to optimize the
       system performance.
     Anti-Virus : to protect our computer from threats like Virus, worm,
       Trojan horse, banking frauds etc.
General Purpose software
   These are the common software used by everyone in
    the world. Examples are:
     Word Processing : for creating document, letters,
      applications. Example : MS-Word, Writer etc
     Spreadsheet : for storing data in tabular form, performing
      simple calculation, visualization etc. Examples : MS-Excel,
      calc.
     Presentation : for creating personal of professional
      presentation in attractive and interactive way. Examples:
      MS-PowerPoint, Impress
     Database : to store huge amount of data and also perform
      queries on stored data. Examples: Oracle, MySQL, etc
Customized Software
   These are tailored software i.e. it is created as per
    the need of the customer for their specific
    requirement like – for maintaining school operation,
    Restaurant management, banking, Hotel, Hospital
    management etc.
Compiler
   Compilers are used to convert High Level Language
    program to machine language
   It convert the entire program in machine language
    in one go.
   If encounter errors, it report all the error along with
    the line number.
   It convert HLL code in machine code if all errors are
    remove, once converted we can directly execute
    program without interacting with the compiler.
Interpreter
   It is also used for converting HLL into machine
    language.
   It translate the HLL code line by line as well as
    execute at the same time.
   If any error occurs, it stops the execution and report
    the error.
Difference between Compiler and Interpreter
              COMPILER                                 INTERPRETER
It convert the HLL code to machine It convert the HLL code to machine
code in one go                     code line by line
It report all the error after compilation It report error for only that line where
                                          error encountered
It execute program only when all          It convert and execute simultaneously
errors are rectified
It is fast                                It is slow as compare to compiler
It takes less memory, because after It takes more memory because
conversion compiler is not required in Interpreter is required in memory with
memory with execution                  every execution.
Not suitable for debugging purpose        Suitable for debugging purpose