Transcript

3.1

© Prentice Hall 2002

CHAPTER 3CHAPTER 3

Computer Software Computer Software

3.2

© Prentice Hall 2002

THE STORED PROGRAM THE STORED PROGRAM CONCEPTCONCEPT

• COMPUTER IS A BINARY SYSTEMCOMPUTER IS A BINARY SYSTEM• PROGRAM: PROGRAM: A set of instructions A set of instructions

telling the computer what to dotelling the computer what to do• INSTRUCTION: INSTRUCTION: Individual step or Individual step or

operation in a programoperation in a program• MACHINE LANGUAGE: MACHINE LANGUAGE: Translated Translated

instruction understood by particular instruction understood by particular model of computermodel of computer

**

3.3

© Prentice Hall 2002

EVOLUTION OF COMPUTER EVOLUTION OF COMPUTER SOFTWARESOFTWARE

• FIRST GENERATION: FIRST GENERATION: Machine Machine language - binary language language - binary language designed for particular computer designed for particular computer

• SECOND GENERATION: SECOND GENERATION: Assembly Assembly language - substituted mnemonic language - substituted mnemonic operation codes and addresses, operation codes and addresses, translated to machine language by translated to machine language by assemblerassembler

**

3.4

© Prentice Hall 2002

• THIRD GENERATION: THIRD GENERATION: Procedural Procedural language - FORTRAN, COBOL, C - language - FORTRAN, COBOL, C - translated to machine language by translated to machine language by compiler or interpreter. Example: COBOLcompiler or interpreter. Example: COBOL

• FOURTH GENERATION: FOURTH GENERATION: Nonprocedural Nonprocedural language. Tell what to do, not how to do language. Tell what to do, not how to do it, order not important. Translate to it, order not important. Translate to machine language by compiler or machine language by compiler or interpreter. Example: FOCUSinterpreter. Example: FOCUS

**

EVOLUTION OF COMPUTER EVOLUTION OF COMPUTER SOFTWARESOFTWARE

3.5

© Prentice Hall 2002

KEY TYPES OF SOFTWAREKEY TYPES OF SOFTWARE

• APPLICATION SOFTWARE: APPLICATION SOFTWARE: Programs written to accomplish Programs written to accomplish particular tasks for computer usersparticular tasks for computer users

• SUPPORT SOFTWARE: SUPPORT SOFTWARE: Programs Programs that support application software that support application software in producing needed output. Does in producing needed output. Does not directly produce output needed not directly produce output needed by usersby users

**

3.6

© Prentice Hall 2002

APPLICATION SOFTWAREAPPLICATION SOFTWARE

• WORD PROCESSINGWORD PROCESSING• SPREADSHEETSSPREADSHEETS• DATABASE MANAGEMENT DATABASE MANAGEMENT

SYSTEMSSYSTEMS• PRESENTATION GRAPHICSPRESENTATION GRAPHICS

**

3.7

© Prentice Hall 2002

APPLICATION SOFTWAREAPPLICATION SOFTWARE

• WORLD WIDE WEB BROWSERSWORLD WIDE WEB BROWSERS• ELECTRONIC MAIL, ELECTRONIC MAIL,

GROUPWAREGROUPWARE• DESKTOP PUBLISHINGDESKTOP PUBLISHING• APPLICATION SUITESAPPLICATION SUITES

**

3.8

© Prentice Hall 2002

SUPPORT SOFTWARESUPPORT SOFTWARE

• OPERATING SYSTEMS:OPERATING SYSTEMS: Helps maximize Helps maximize work done, eases workload of userswork done, eases workload of users

• JOB CONTROL LANGUAGE:JOB CONTROL LANGUAGE: Allows users Allows users to communicate with operating systemsto communicate with operating systems

• MULTIPROGRAMMING:MULTIPROGRAMMING: Large Large computers can run multiple programs computers can run multiple programs simultaneously. Time-driven approach is simultaneously. Time-driven approach is time-sharingtime-sharing

**

3.9

© Prentice Hall 2002

SUPPORT SOFTWARESUPPORT SOFTWARE

• MULTITASKING:MULTITASKING: Allows small Allows small computers to work on several computers to work on several programs interactivelyprograms interactively

• VIRTUAL MEMORY:VIRTUAL MEMORY: Allows computer Allows computer to run portions of a large program as to run portions of a large program as required, saving use of main memoryrequired, saving use of main memory

• MULTIPROCESSING:MULTIPROCESSING: Multiple CPUs Multiple CPUs divide workload, increases efficiencydivide workload, increases efficiency

**

3.10

© Prentice Hall 2002

SOURCES OF OPERATING SOURCES OF OPERATING SYSTEMSSYSTEMS

• PROPRIETARY: PROPRIETARY: Written for particular Written for particular computer class or system. Examples: computer class or system. Examples: Windows 98, Windows 2000Windows 98, Windows 2000

• OPEN SYSTEM: OPEN SYSTEM: Not tied to specific Not tied to specific platform. Examples: UNIX, Linuxplatform. Examples: UNIX, Linux

• NETWORK OPERATING SYSTEM NETWORK OPERATING SYSTEM (NOS):(NOS): Manages network Manages network resources, local area networksresources, local area networks

**

3.11

© Prentice Hall 2002

GRAPHICAL USER GRAPHICAL USER INTERFACE INTERFACE (GUI)(GUI)

• MOUSE: MOUSE: A standard pointing deviceA standard pointing device

• ICON: ICON: Graphic or label on screen Graphic or label on screen associated with task or operationassociated with task or operation

• 32-BIT OPERATING SYSTEM: 32-BIT OPERATING SYSTEM: Operating system handles 32 bits at a Operating system handles 32 bits at a timetime

• CLICKING MOUSE ON ICON CLICKING MOUSE ON ICON INITIATES TASKINITIATES TASK

**

3.12

© Prentice Hall 2002

OBJECT-ORIENTED OBJECT-ORIENTED PROGRAMMING PROGRAMMING (OOP)(OOP)

• COMPUTER PROGRAMMING COMPUTER PROGRAMMING BASED ON CREATING, USING BASED ON CREATING, USING SET OF OBJECTS: SET OF OBJECTS: Object Object combines data and methods combines data and methods (or chunks of programs)(or chunks of programs)

• EXAMPLES: EXAMPLES: C++, Smalltalk, C++, Smalltalk, JavaJava

**

3.13

© Prentice Hall 2002

OTHER LANGUAGESOTHER LANGUAGES

• NATURAL LANGUAGES: NATURAL LANGUAGES: User types in User types in or speaks English, computer evolves or speaks English, computer evolves programprogram

• HYPERTEXT MARKUP LANGUAGE HYPERTEXT MARKUP LANGUAGE (HTML):(HTML): Code used to develop World Code used to develop World Wide Web Wide Web (WWW)(WWW) pages and sites pages and sites

• eXtensible Markup Language eXtensible Markup Language (XML):(XML): Used for data exchange on Used for data exchange on WWWWWW

* *

3.14

© Prentice Hall 2002

DATABASE MANAGEMENT DATABASE MANAGEMENT SYSTEM SYSTEM (DBMS)(DBMS)

• SUPPORT SOFTWARE USED TO SUPPORT SOFTWARE USED TO CREATE, MANAGE, AND PROTECT CREATE, MANAGE, AND PROTECT ORGANIZATIONAL DATAORGANIZATIONAL DATA

• DBMS: DBMS: Software that manages a Software that manages a database, works with operating database, works with operating system to store and modify data system to store and modify data and to make data accessible in and to make data accessible in authorized waysauthorized ways

**

3.15

© Prentice Hall 2002

TYPES OF DBMSsTYPES OF DBMSs

• HIERARCHICAL: HIERARCHICAL: Data arranged in a top-Data arranged in a top-down, organization chart fashiondown, organization chart fashion

• NETWORK: NETWORK: Data arranged like cities on a Data arranged like cities on a highway systems, often with multiple highway systems, often with multiple paths between pieces of datapaths between pieces of data

• RELATIONAL: RELATIONAL: Data arranged into simple Data arranged into simple tables, and records are related by storing tables, and records are related by storing common data in each of the associated common data in each of the associated tablestables

**

3.16

© Prentice Hall 2002

FILING METHODSFILING METHODS• INDEXED SEQUENTIAL ACCESS METHOD INDEXED SEQUENTIAL ACCESS METHOD (ISAM)(ISAM)

::– EACH RECORD IDENTIFIED BY KEYEACH RECORD IDENTIFIED BY KEY–GROUPED IN BLOCKS AND CYLINDERSGROUPED IN BLOCKS AND CYLINDERS–KEYS IN INDEXKEYS IN INDEX

•VIRTUAL STORAGE ACCESS METHOD VIRTUAL STORAGE ACCESS METHOD (VSAM)(VSAM) : :–MEMORY DIVIDED INTO AREAS & INTERVALSMEMORY DIVIDED INTO AREAS & INTERVALS–DYNAMIC FILE SPACEDYNAMIC FILE SPACE

VSAM WIDELY USED FOR RELATIONAL DATABASESVSAM WIDELY USED FOR RELATIONAL DATABASES

•DIRECT FILE ACCESS METHODDIRECT FILE ACCESS METHOD**

3.17

© Prentice Hall 2002

COMPONENTS OF DBMS:COMPONENTS OF DBMS:

• DATA DEFINITION LANGUAGE: DATA DEFINITION LANGUAGE: Defines data elements in databaseDefines data elements in database

• DATA MANIPULATION LANGUAGE: DATA MANIPULATION LANGUAGE: Manipulates data for applicationsManipulates data for applications

• DATA DICTIONARY/DIRECTORY: DATA DICTIONARY/DIRECTORY: Formal definitions of all variables in Formal definitions of all variables in database, controls variety of database database, controls variety of database contentscontents

**

3.18

© Prentice Hall 2002

STRUCTURED QUERY STRUCTURED QUERY LANGUAGE (SQL)LANGUAGE (SQL)

EMERGING STANDARD EMERGING STANDARD

DATA MANIPULATION LANGUAGEDATA MANIPULATION LANGUAGE

FOR RELATIONAL DATABASESFOR RELATIONAL DATABASES

**

3.19

© Prentice Hall 2002

ADVANTAGES OF ADVANTAGES OF RELATIONAL DBMSRELATIONAL DBMS

• NEW DATA ELEMENTS CAN EASILY BE NEW DATA ELEMENTS CAN EASILY BE ADDED AS NEW NEEDS ARISEADDED AS NEW NEEDS ARISE

• NEW RELATIONSHIPS CAN BE CREATED NEW RELATIONSHIPS CAN BE CREATED AS NEW QUERY/REPORTING NEEDS AS NEW QUERY/REPORTING NEEDS CHANGECHANGE

• FEWER DATA CONSISTENCY PROBLEMS FEWER DATA CONSISTENCY PROBLEMS DUE TO LESS REDUNDANT DATA DUE TO LESS REDUNDANT DATA STORAGESTORAGE

• MORE “USER FRIENDLY” TOOLSMORE “USER FRIENDLY” TOOLS

**

3.20

© Prentice Hall 2002

COMPUTER-AIDED SOFTWARE COMPUTER-AIDED SOFTWARE ENGINEERING (CASE)ENGINEERING (CASE)

• HELPS AUTOMATE SOFTWARE HELPS AUTOMATE SOFTWARE DEVELOPMENT: DEVELOPMENT: Used by computer Used by computer professionals to help automate professionals to help automate software developmentsoftware development

• MAY INCLUDE:MAY INCLUDE:– upper-CASE (requirements definition and design)

– lower-CASE (code generation)– I-CASE or integrated-CASE

**

3.21

© Prentice Hall 2002

CHANGING NATURE OF CHANGING NATURE OF SOFTWARESOFTWARE

• MORE HARDWIRING OF SOFTWARE MORE HARDWIRING OF SOFTWARE AND MORE MICROCODEAND MORE MICROCODE

• MORE COMPLEXITY OF MORE COMPLEXITY OF HARDWARE/SOFTWARE HARDWARE/SOFTWARE ARRANGEMENTSARRANGEMENTS

• LESS CONCERN WITH MACHINE LESS CONCERN WITH MACHINE EFFICIENCYEFFICIENCY

**

3.22

© Prentice Hall 2002

• MORE PURCHASED APPLICATIONS MORE PURCHASED APPLICATIONS AND MORE PORTABILITY OF THESE AND MORE PORTABILITY OF THESE APPLICATIONS FROM ONE APPLICATIONS FROM ONE COMPUTER PLATFORM TO ANOTHERCOMPUTER PLATFORM TO ANOTHER

• MORE PROGRAMMING USING MORE PROGRAMMING USING OBJECT-ORIENTED AND VISUAL OBJECT-ORIENTED AND VISUAL LANGUAGES, IN LARGE PART LANGUAGES, IN LARGE PART BECAUSE OF EMPHASIS ON BECAUSE OF EMPHASIS ON GUIsGUIs

**

CHANGING NATURE OF CHANGING NATURE OF SOFTWARESOFTWARE

3.23

© Prentice Hall 2002

• MORE EMPHASIS ON APPLICATIONS MORE EMPHASIS ON APPLICATIONS THAT RUN ON INTRANETS AND THE THAT RUN ON INTRANETS AND THE INTERNETINTERNET

• MORE USER DEVELOPMENTMORE USER DEVELOPMENT• MORE USE OF PERSONAL MORE USE OF PERSONAL

PRODUCTIVITY SOFTWARE ON PRODUCTIVITY SOFTWARE ON MICROCOMPUTERS, ESPECIALLY MICROCOMPUTERS, ESPECIALLY PACKAGES WITH A PACKAGES WITH A GUIGUI

**

CHANGING NATURE OF CHANGING NATURE OF SOFTWARESOFTWARE

3.24

© Prentice Hall 2002

CHAPTER 3CHAPTER 3

Computer SoftwareComputer Software


Top Related