SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                      Computer Fundamentals: Pradeep K. Sinha & Priti Sinha




Ref Page   Chapter 10: Computer Software                     Slide 1/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Learning Objectives

      In this chapter you will learn about:

           § Term “Software” and its relationship with “Hardware”
           § Various types of software and their examples
           § Relationship among hardware, system software,
             application software, and users of a computer system
           § Different ways of acquiring software
           § Various steps involved in software development
           § Firmware
           § Middleware




Ref Page 172        Chapter 10: Computer Software                     Slide 2/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                              Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

  Software

      § Hardware refers to the physical devices of a
        computer system.
      § Software refers to a collection of programs
      § Program is a sequence of instructions written in a
        language that can be understood by a computer
      § Software package is a group of programs that solve
        a specific problem or perform a specific type of job




Ref Page 172       Chapter 10: Computer Software                     Slide 3/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                              Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Relationship Between Hardware and
 Software

      § Both hardware and software are necessary for a
        computer to do useful job. They are complementary
        to each other
      § Same hardware can be loaded with different software
        to make a computer system perform different types
        of jobs
      § Except for upgrades, hardware is normally a one-
        time expense, whereas software is a continuing
        expense
      § Upgrades refer to renewing or changing components
        like increasing the main memory, or hard disk
        capacities, or adding speakers, modems, etc.




Ref Page 173       Chapter 10: Computer Software                     Slide 4/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

  Types of Software

      Most software can be divided into two major categories:
           § System software are designed to control the
             operation and extend the processing capability of a
             computer system
           § Application software are designed to solve a
             specific problem or to do a specific task




Ref Page 173        Chapter 10: Computer Software                     Slide 5/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                              Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 System Software

      § Make the operation of a computer system more effective
        and efficient

      § Help hardware components work together and provide
        support for the development and execution of application
        software

      § Programs included in a system software package are
        called system programs and programmers who
        prepare them are called system programmers

      § Examples of system software are operating systems,
        programming language translators, utility programs, and
        communications software




Ref Page 173       Chapter 10: Computer Software                     Slide 6/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Application Software

      § Solve a specific problem or do a specific task
      § Programs included in an application software
        package are called application programs and the
        programmers who prepare them are called
        application programmers
      § Examples of application software are word
        processing, inventory management, preparation of
        tax returns, banking, etc.




Ref Page 174        Chapter 10: Computer Software                     Slide 7/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                                        Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Logical System Architecture



                                           HARDWARE
                                   (Physical devices/components
                                     of the computer system)

                                       SYSTEM SOFTWARE
                             (Software that constitute the operating and
                         programming environment of the computer system)

                                     APPLICATION SOFTWARE
                        (Software that do a specific task or solve a specific problem)

                                            USERS
                        (Normally interact with the system via the user
                        interface provided by the application software)

       Relationship among hardware, system software, application software, and users of a
       computer system.



Ref Page 175             Chapter 10: Computer Software                                   Slide 8/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                                Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

  Ways of Acquiring Software

      § Buying pre-written software
      § Ordering customized software
      § Developing customized software
      § Downloading public-domain software

      Each of these ways of acquiring software has its own
      advantages and limitations




Ref Page 176         Chapter 10: Computer Software                     Slide 9/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                              Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
  Advantages and Limitations of
  Buying Pre-written Software

      § Usually costs less
      § Planned activity can be stared almost immediately
      § Often, operating efficiency and the capability to meet
        specific needs of user more effectively in not as good
        for pre-written software packages as for in-house
        developed software packages




Ref Page 176       Chapter 10: Computer Software                     Slide 10/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

  Advantages & Limitations of Ordering
  Customized Software

      § User need not maintain its own software development team,
        which is an expensive affair
      § User needs to always depend on the vendor for carrying out
        the changes and the vendor may separately charge for
        every request for change




Ref Page 177        Chapter 10: Computer Software                     Slide 11/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

  Advantages & Limitations of Developing
  Customized Software

      § Easier to carry out changes in the software, if it is
        developed in-house
      § Developing software in-house means a major
        commitment of time, money, and resources
      § In-house software development team needs to be
        maintained and managed




Ref Page 177        Chapter 10: Computer Software                     Slide 12/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                                 Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

  Advantage & Limitations of Downloading
  Public-domain Software

      §   Available for free or as shareware, and are usually accompanied
          with source code
      §   Usually community-supported as author does not support users
          directly
      §   Can be downloaded and used immediately
      §   They may not be properly tested before release
      §   Open Source Software (OSS) are becoming popular due to:
          § Allows any user to download, view, modify, and redistribute
          § User can fix bugs or change software to suit needs
          § Copyright is protected for both original and subsequent
            authors
      §   Not all open source software are free and vise-verse




Ref Page 178          Chapter 10: Computer Software                     Slide 13/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Software Development Steps

      Developing a software and putting it to use is a complex
      process and involves following steps:
      §   Analyzing the problem at hand and planning the
          program(s) to solve the problem
      §   Coding the program(s)
      §   Testing, debugging, and documenting the program(s)
      §   Implementing the program(s)
      §   Evaluating and maintaining the program(s)




Ref Page 178        Chapter 10: Computer Software                     Slide 14/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                              Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Firmware

      § Firmware is software substituted for hardware and stored
        in read-only memory
      § Firmware technology has enabled production of various
        types of smart machines having microprocessor chips
        with embedded software




Ref Page 179       Chapter 10: Computer Software                     Slide 15/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                               Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Middleware

      § Basic idea is to have a separate software layer to:
          § Act as “glue” between client and server parts of
            application
          § Provide programming abstraction
          § Mask heterogeneity of underlying network, hardware,
            and OS
      § Encourages three-tier software architecture against two-
        tier popularized by Server-Client architecture




Ref Page 179        Chapter 10: Computer Software                     Slide 16/17
Computer Fundamentals: Pradeep K. Sinha & Priti Sinha
                                  Computer Fundamentals: Pradeep K. Sinha & Priti Sinha

 Key Words/Phrases

        §   Application programmers        §   Pre-written software
        §   Application programs           §   Public-domain software
        §   Application software           §   Shareware
        §   Computer program               §   Software
        §   Customized software            §   Software package
        §   Database                       §   Spreadsheet
        §   Education software             §   System programmers
        §   End-to-end solution            §   System programs
        §   Entertainment software         §   System software
        §   Firmware                       §   Turnkey solution
        §   Graphics software              §   User-supported
        §   Hardware                           software
        §   Middleware                     §   Utilities
        §   Open Source Software           §   Word-processing
        §   Personal assistance software




Ref Page 181           Chapter 10: Computer Software                     Slide 17/17

Weitere ähnliche Inhalte

Was ist angesagt?

CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3
CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3
CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3Videoguy
 
Resume_PankajTaneja_Infosystem
Resume_PankajTaneja_InfosystemResume_PankajTaneja_Infosystem
Resume_PankajTaneja_InfosystemPankaj Taneja
 
Design Considerations for Desktop Video Collaboration over a ...
Design Considerations for Desktop Video Collaboration over a ...Design Considerations for Desktop Video Collaboration over a ...
Design Considerations for Desktop Video Collaboration over a ...Videoguy
 
Computer Fundamentals Chapter 11 pcp
Computer Fundamentals Chapter 11 pcpComputer Fundamentals Chapter 11 pcp
Computer Fundamentals Chapter 11 pcpSaumya Sahu
 
Care presentatie oktober 2011
Care presentatie oktober 2011Care presentatie oktober 2011
Care presentatie oktober 2011meijerandre
 
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun AgainAgile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun AgainCalen Legaspi
 

Was ist angesagt? (9)

Les outils de Devops IBM
Les outils de Devops IBMLes outils de Devops IBM
Les outils de Devops IBM
 
CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3
CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3
CONTENTS 1 INTRODUCTION 2 2 BACKGROUND TO THE PROJECT 3
 
Kevin bryan coduru
Kevin bryan coduruKevin bryan coduru
Kevin bryan coduru
 
Resume_PankajTaneja_Infosystem
Resume_PankajTaneja_InfosystemResume_PankajTaneja_Infosystem
Resume_PankajTaneja_Infosystem
 
Design Considerations for Desktop Video Collaboration over a ...
Design Considerations for Desktop Video Collaboration over a ...Design Considerations for Desktop Video Collaboration over a ...
Design Considerations for Desktop Video Collaboration over a ...
 
Computer Fundamentals Chapter 11 pcp
Computer Fundamentals Chapter 11 pcpComputer Fundamentals Chapter 11 pcp
Computer Fundamentals Chapter 11 pcp
 
Care presentatie oktober 2011
Care presentatie oktober 2011Care presentatie oktober 2011
Care presentatie oktober 2011
 
DipTech
DipTechDipTech
DipTech
 
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun AgainAgile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
 

Andere mochten auch

Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pIIUI
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pamIIUI
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pIIUI
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-pIIUI
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pIIUI
 
Defining Table Relationships
Defining Table RelationshipsDefining Table Relationships
Defining Table RelationshipsIIUI
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pIIUI
 
basic database concepts
basic database conceptsbasic database concepts
basic database conceptsIIUI
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)IIUI
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirementsIIUI
 
Lecture 8 agile software development (3)
Lecture 8   agile software development (3)Lecture 8   agile software development (3)
Lecture 8 agile software development (3)IIUI
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behaviorIIUI
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)IIUI
 
Lecture 5 software process model (3)
Lecture 5   software process model (3)Lecture 5   software process model (3)
Lecture 5 software process model (3)IIUI
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 

Andere mochten auch (15)

Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
 
Defining Table Relationships
Defining Table RelationshipsDefining Table Relationships
Defining Table Relationships
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
 
basic database concepts
basic database conceptsbasic database concepts
basic database concepts
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Lecture 8 agile software development (3)
Lecture 8   agile software development (3)Lecture 8   agile software development (3)
Lecture 8 agile software development (3)
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
 
Lecture 5 software process model (3)
Lecture 5   software process model (3)Lecture 5   software process model (3)
Lecture 5 software process model (3)
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 

Ähnlich wie Software Introduction

Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02Tapas Das
 
Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02Tapas Das
 
Computer Fundamentals Chapter 14 os
Computer Fundamentals Chapter 14 osComputer Fundamentals Chapter 14 os
Computer Fundamentals Chapter 14 osSaumya Sahu
 
Chapter 02 Computer Languages (re-upload)
Chapter 02 Computer Languages (re-upload)Chapter 02 Computer Languages (re-upload)
Chapter 02 Computer Languages (re-upload)bluejayjunior
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1gvkmku
 
Unit 1 introduction to software
Unit 1 introduction to softwareUnit 1 introduction to software
Unit 1 introduction to softwareKanchanPatil34
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer FundamentalsSaumya Sahu
 
Computer Fundamentals Chapter 01 introduction
Computer Fundamentals Chapter 01 introductionComputer Fundamentals Chapter 01 introduction
Computer Fundamentals Chapter 01 introductionSaumya Sahu
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1Dhairya Joshi
 
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdfAPPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdfAirrahArishaPialaAlc
 
What is software
What is softwareWhat is software
What is softwareAnil815218
 

Ähnlich wie Software Introduction (20)

Chapter 10 cs
Chapter 10 csChapter 10 cs
Chapter 10 cs
 
Chapter06 computer software
Chapter06   computer softwareChapter06   computer software
Chapter06 computer software
 
Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02
 
Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02Chapter14 os-121120003310-phpapp02
Chapter14 os-121120003310-phpapp02
 
Computer Fundamentals Chapter 14 os
Computer Fundamentals Chapter 14 osComputer Fundamentals Chapter 14 os
Computer Fundamentals Chapter 14 os
 
Chapter 15 asp
Chapter 15 aspChapter 15 asp
Chapter 15 asp
 
Chapter 02 Computer Languages (re-upload)
Chapter 02 Computer Languages (re-upload)Chapter 02 Computer Languages (re-upload)
Chapter 02 Computer Languages (re-upload)
 
Chapter 12 cl
Chapter 12 clChapter 12 cl
Chapter 12 cl
 
Chapter 13 sio
Chapter 13 sioChapter 13 sio
Chapter 13 sio
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Computer Hardware, Software and Firmware
Computer Hardware, Software and FirmwareComputer Hardware, Software and Firmware
Computer Hardware, Software and Firmware
 
Chapter 14 os
Chapter 14 osChapter 14 os
Chapter 14 os
 
Unit 1 introduction to software
Unit 1 introduction to softwareUnit 1 introduction to software
Unit 1 introduction to software
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer Fundamentals
 
P k sinha IT Book
P k sinha IT BookP k sinha IT Book
P k sinha IT Book
 
Computer Fundamentals Chapter 01 introduction
Computer Fundamentals Chapter 01 introductionComputer Fundamentals Chapter 01 introduction
Computer Fundamentals Chapter 01 introduction
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1
 
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdfAPPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
 
Software.
Software.Software.
Software.
 
What is software
What is softwareWhat is software
What is software
 

Mehr von IIUI

Rank brain
Rank brainRank brain
Rank brainIIUI
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-pIIUI
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-pIIUI
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devicesIIUI
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pIIUI
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storageIIUI
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-pIIUI
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pIIUI
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebraIIUI
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmeticIIUI
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codesIIUI
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-pIIUI
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-pIIUI
 
Chapter 03 number system
Chapter 03 number systemChapter 03 number system
Chapter 03 number systemIIUI
 
Chapter 02 bco 3o-p
Chapter 02 bco 3o-pChapter 02 bco 3o-p
Chapter 02 bco 3o-pIIUI
 
Chapter 02 bco 2o-p
Chapter 02 bco 2o-pChapter 02 bco 2o-p
Chapter 02 bco 2o-pIIUI
 
Chapter 02 bco
Chapter 02 bcoChapter 02 bco
Chapter 02 bcoIIUI
 
Chapter 01 introduction
Chapter 01 introductionChapter 01 introduction
Chapter 01 introductionIIUI
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1IIUI
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design conceptsIIUI
 

Mehr von IIUI (20)

Rank brain
Rank brainRank brain
Rank brain
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
 
Chapter 03 number system
Chapter 03 number systemChapter 03 number system
Chapter 03 number system
 
Chapter 02 bco 3o-p
Chapter 02 bco 3o-pChapter 02 bco 3o-p
Chapter 02 bco 3o-p
 
Chapter 02 bco 2o-p
Chapter 02 bco 2o-pChapter 02 bco 2o-p
Chapter 02 bco 2o-p
 
Chapter 02 bco
Chapter 02 bcoChapter 02 bco
Chapter 02 bco
 
Chapter 01 introduction
Chapter 01 introductionChapter 01 introduction
Chapter 01 introduction
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
 

Software Introduction

  • 1. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Ref Page Chapter 10: Computer Software Slide 1/17
  • 2. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Learning Objectives In this chapter you will learn about: § Term “Software” and its relationship with “Hardware” § Various types of software and their examples § Relationship among hardware, system software, application software, and users of a computer system § Different ways of acquiring software § Various steps involved in software development § Firmware § Middleware Ref Page 172 Chapter 10: Computer Software Slide 2/17
  • 3. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Software § Hardware refers to the physical devices of a computer system. § Software refers to a collection of programs § Program is a sequence of instructions written in a language that can be understood by a computer § Software package is a group of programs that solve a specific problem or perform a specific type of job Ref Page 172 Chapter 10: Computer Software Slide 3/17
  • 4. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Relationship Between Hardware and Software § Both hardware and software are necessary for a computer to do useful job. They are complementary to each other § Same hardware can be loaded with different software to make a computer system perform different types of jobs § Except for upgrades, hardware is normally a one- time expense, whereas software is a continuing expense § Upgrades refer to renewing or changing components like increasing the main memory, or hard disk capacities, or adding speakers, modems, etc. Ref Page 173 Chapter 10: Computer Software Slide 4/17
  • 5. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Types of Software Most software can be divided into two major categories: § System software are designed to control the operation and extend the processing capability of a computer system § Application software are designed to solve a specific problem or to do a specific task Ref Page 173 Chapter 10: Computer Software Slide 5/17
  • 6. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha System Software § Make the operation of a computer system more effective and efficient § Help hardware components work together and provide support for the development and execution of application software § Programs included in a system software package are called system programs and programmers who prepare them are called system programmers § Examples of system software are operating systems, programming language translators, utility programs, and communications software Ref Page 173 Chapter 10: Computer Software Slide 6/17
  • 7. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Application Software § Solve a specific problem or do a specific task § Programs included in an application software package are called application programs and the programmers who prepare them are called application programmers § Examples of application software are word processing, inventory management, preparation of tax returns, banking, etc. Ref Page 174 Chapter 10: Computer Software Slide 7/17
  • 8. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Logical System Architecture HARDWARE (Physical devices/components of the computer system) SYSTEM SOFTWARE (Software that constitute the operating and programming environment of the computer system) APPLICATION SOFTWARE (Software that do a specific task or solve a specific problem) USERS (Normally interact with the system via the user interface provided by the application software) Relationship among hardware, system software, application software, and users of a computer system. Ref Page 175 Chapter 10: Computer Software Slide 8/17
  • 9. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Ways of Acquiring Software § Buying pre-written software § Ordering customized software § Developing customized software § Downloading public-domain software Each of these ways of acquiring software has its own advantages and limitations Ref Page 176 Chapter 10: Computer Software Slide 9/17
  • 10. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Advantages and Limitations of Buying Pre-written Software § Usually costs less § Planned activity can be stared almost immediately § Often, operating efficiency and the capability to meet specific needs of user more effectively in not as good for pre-written software packages as for in-house developed software packages Ref Page 176 Chapter 10: Computer Software Slide 10/17
  • 11. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Advantages & Limitations of Ordering Customized Software § User need not maintain its own software development team, which is an expensive affair § User needs to always depend on the vendor for carrying out the changes and the vendor may separately charge for every request for change Ref Page 177 Chapter 10: Computer Software Slide 11/17
  • 12. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Advantages & Limitations of Developing Customized Software § Easier to carry out changes in the software, if it is developed in-house § Developing software in-house means a major commitment of time, money, and resources § In-house software development team needs to be maintained and managed Ref Page 177 Chapter 10: Computer Software Slide 12/17
  • 13. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Advantage & Limitations of Downloading Public-domain Software § Available for free or as shareware, and are usually accompanied with source code § Usually community-supported as author does not support users directly § Can be downloaded and used immediately § They may not be properly tested before release § Open Source Software (OSS) are becoming popular due to: § Allows any user to download, view, modify, and redistribute § User can fix bugs or change software to suit needs § Copyright is protected for both original and subsequent authors § Not all open source software are free and vise-verse Ref Page 178 Chapter 10: Computer Software Slide 13/17
  • 14. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Software Development Steps Developing a software and putting it to use is a complex process and involves following steps: § Analyzing the problem at hand and planning the program(s) to solve the problem § Coding the program(s) § Testing, debugging, and documenting the program(s) § Implementing the program(s) § Evaluating and maintaining the program(s) Ref Page 178 Chapter 10: Computer Software Slide 14/17
  • 15. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Firmware § Firmware is software substituted for hardware and stored in read-only memory § Firmware technology has enabled production of various types of smart machines having microprocessor chips with embedded software Ref Page 179 Chapter 10: Computer Software Slide 15/17
  • 16. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Middleware § Basic idea is to have a separate software layer to: § Act as “glue” between client and server parts of application § Provide programming abstraction § Mask heterogeneity of underlying network, hardware, and OS § Encourages three-tier software architecture against two- tier popularized by Server-Client architecture Ref Page 179 Chapter 10: Computer Software Slide 16/17
  • 17. Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Computer Fundamentals: Pradeep K. Sinha & Priti Sinha Key Words/Phrases § Application programmers § Pre-written software § Application programs § Public-domain software § Application software § Shareware § Computer program § Software § Customized software § Software package § Database § Spreadsheet § Education software § System programmers § End-to-end solution § System programs § Entertainment software § System software § Firmware § Turnkey solution § Graphics software § User-supported § Hardware software § Middleware § Utilities § Open Source Software § Word-processing § Personal assistance software Ref Page 181 Chapter 10: Computer Software Slide 17/17