Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Prentice Hall 2002 3.1 CHAPTER 3 Computer Software.

Similar presentations


Presentation on theme: "© Prentice Hall 2002 3.1 CHAPTER 3 Computer Software."— Presentation transcript:

1 © Prentice Hall 2002 3.1 CHAPTER 3 Computer Software

2 © Prentice Hall 2002 3.2 THE STORED PROGRAM CONCEPT COMPUTER IS A BINARY SYSTEM COMPUTER IS A BINARY SYSTEM PROGRAM: A set of instructions telling the computer what to do PROGRAM: A set of instructions telling the computer what to do INSTRUCTION: Individual step or operation in a program INSTRUCTION: Individual step or operation in a program MACHINE LANGUAGE: Translated instruction understood by particular model of computer MACHINE LANGUAGE: Translated instruction understood by particular model of computer*

3 © Prentice Hall 2002 3.3 EVOLUTION OF COMPUTER SOFTWARE FIRST GENERATION: Machine language - binary language designed for particular computer FIRST GENERATION: Machine language - binary language designed for particular computer SECOND GENERATION: Assembly language - substituted mnemonic operation codes and addresses, translated to machine language by assembler SECOND GENERATION: Assembly language - substituted mnemonic operation codes and addresses, translated to machine language by assembler*

4 © Prentice Hall 2002 3.4 THIRD GENERATION: Procedural language - FORTRAN, COBOL, C - translated to machine language by compiler or interpreter. Example: COBOL THIRD GENERATION: Procedural language - FORTRAN, COBOL, C - translated to machine language by compiler or interpreter. Example: COBOL FOURTH GENERATION: Nonprocedural language. Tell what to do, not how to do it, order not important. Translate to machine language by compiler or interpreter. Example: FOCUS FOURTH GENERATION: Nonprocedural language. Tell what to do, not how to do it, order not important. Translate to machine language by compiler or interpreter. Example: FOCUS* EVOLUTION OF COMPUTER SOFTWARE

5 © Prentice Hall 2002 3.5 KEY TYPES OF SOFTWARE APPLICATION SOFTWARE: Programs written to accomplish particular tasks for computer users APPLICATION SOFTWARE: Programs written to accomplish particular tasks for computer users SUPPORT SOFTWARE: Programs that support application software in producing needed output. Does not directly produce output needed by users SUPPORT SOFTWARE: Programs that support application software in producing needed output. Does not directly produce output needed by users*

6 © Prentice Hall 2002 3.6 APPLICATION SOFTWARE WORD PROCESSING WORD PROCESSING SPREADSHEETS SPREADSHEETS DATABASE MANAGEMENT SYSTEMS DATABASE MANAGEMENT SYSTEMS PRESENTATION GRAPHICS PRESENTATION GRAPHICS*

7 © Prentice Hall 2002 3.7 APPLICATION SOFTWARE WORLD WIDE WEB BROWSERS WORLD WIDE WEB BROWSERS ELECTRONIC MAIL, GROUPWARE ELECTRONIC MAIL, GROUPWARE DESKTOP PUBLISHING DESKTOP PUBLISHING APPLICATION SUITES APPLICATION SUITES*

8 © Prentice Hall 2002 3.8 SUPPORT SOFTWARE OPERATING SYSTEMS: Helps maximize work done, eases workload of users OPERATING SYSTEMS: Helps maximize work done, eases workload of users JOB CONTROL LANGUAGE: Allows users to communicate with operating systems JOB CONTROL LANGUAGE: Allows users to communicate with operating systems MULTIPROGRAMMING: Large computers can run multiple programs simultaneously. Time-driven approach is time-sharing MULTIPROGRAMMING: Large computers can run multiple programs simultaneously. Time-driven approach is time-sharing*

9 © Prentice Hall 2002 3.9 SUPPORT SOFTWARE MULTITASKING: Allows small computers to work on several programs interactively MULTITASKING: Allows small computers to work on several programs interactively VIRTUAL MEMORY: Allows computer to run portions of a large program as required, saving use of main memory VIRTUAL MEMORY: Allows computer to run portions of a large program as required, saving use of main memory MULTIPROCESSING: Multiple CPUs divide workload, increases efficiency MULTIPROCESSING: Multiple CPUs divide workload, increases efficiency*

10 © Prentice Hall 2002 3.10 SOURCES OF OPERATING SYSTEMS PROPRIETARY: Written for particular computer class or system. Examples: Windows 98, Windows 2000 PROPRIETARY: Written for particular computer class or system. Examples: Windows 98, Windows 2000 OPEN SYSTEM: Not tied to specific platform. Examples: UNIX, Linux OPEN SYSTEM: Not tied to specific platform. Examples: UNIX, Linux NETWORK OPERATING SYSTEM (NOS): Manages network resources, local area networks NETWORK OPERATING SYSTEM (NOS): Manages network resources, local area networks*

11 © Prentice Hall 2002 3.11 GRAPHICAL USER INTERFACE (GUI) MOUSE: A standard pointing device MOUSE: A standard pointing device ICON: Graphic or label on screen associated with task or operation ICON: Graphic or label on screen associated with task or operation 32-BIT OPERATING SYSTEM: Operating system handles 32 bits at a time 32-BIT OPERATING SYSTEM: Operating system handles 32 bits at a time CLICKING MOUSE ON ICON INITIATES TASK CLICKING MOUSE ON ICON INITIATES TASK*

12 © Prentice Hall 2002 3.12 OBJECT-ORIENTED PROGRAMMING (OOP) COMPUTER PROGRAMMING BASED ON CREATING, USING SET OF OBJECTS: Object combines data and methods (or chunks of programs) COMPUTER PROGRAMMING BASED ON CREATING, USING SET OF OBJECTS: Object combines data and methods (or chunks of programs) EXAMPLES: C++, Smalltalk, Java EXAMPLES: C++, Smalltalk, Java*

13 © Prentice Hall 2002 3.13 OTHER LANGUAGES NATURAL LANGUAGES: User types in or speaks English, computer evolves program NATURAL LANGUAGES: User types in or speaks English, computer evolves program HYPERTEXT MARKUP LANGUAGE (HTML): Code used to develop World Wide Web (WWW) pages and sites HYPERTEXT MARKUP LANGUAGE (HTML): Code used to develop World Wide Web (WWW) pages and sites eXtensible Markup Language (XML): Used for data exchange on WWW eXtensible Markup Language (XML): Used for data exchange on WWW*

14 © Prentice Hall 2002 3.14 DATABASE MANAGEMENT SYSTEM (DBMS) SUPPORT SOFTWARE USED TO CREATE, MANAGE, AND PROTECT ORGANIZATIONAL DATA SUPPORT SOFTWARE USED TO CREATE, MANAGE, AND PROTECT ORGANIZATIONAL DATA DBMS: Software that manages a database, works with operating system to store and modify data and to make data accessible in authorized ways DBMS: Software that manages a database, works with operating system to store and modify data and to make data accessible in authorized ways*

15 © Prentice Hall 2002 3.15 TYPES OF DBMSs HIERARCHICAL: Data arranged in a top- down, organization chart fashion HIERARCHICAL: Data arranged in a top- down, organization chart fashion NETWORK: Data arranged like cities on a highway systems, often with multiple paths between pieces of data NETWORK: Data arranged like cities on a highway systems, often with multiple paths between pieces of data RELATIONAL: Data arranged into simple tables, and records are related by storing common data in each of the associated tables RELATIONAL: Data arranged into simple tables, and records are related by storing common data in each of the associated tables*

16 © Prentice Hall 2002 3.16 FILING METHODS INDEXED SEQUENTIAL ACCESS METHOD (ISAM) : INDEXED SEQUENTIAL ACCESS METHOD (ISAM) : – EACH RECORD IDENTIFIED BY KEY – GROUPED IN BLOCKS AND CYLINDERS – KEYS IN INDEX VIRTUAL STORAGE ACCESS METHOD (VSAM) : VIRTUAL STORAGE ACCESS METHOD (VSAM) : – MEMORY DIVIDED INTO AREAS & INTERVALS – DYNAMIC FILE SPACE VSAM WIDELY USED FOR RELATIONAL DATABASES VSAM WIDELY USED FOR RELATIONAL DATABASES DIRECT FILE ACCESS METHOD DIRECT FILE ACCESS METHOD*

17 © Prentice Hall 2002 3.17 COMPONENTS OF DBMS: DATA DEFINITION LANGUAGE: Defines data elements in database DATA DEFINITION LANGUAGE: Defines data elements in database DATA MANIPULATION LANGUAGE: Manipulates data for applications DATA MANIPULATION LANGUAGE: Manipulates data for applications DATA DICTIONARY/DIRECTORY: Formal definitions of all variables in database, controls variety of database contents DATA DICTIONARY/DIRECTORY: Formal definitions of all variables in database, controls variety of database contents*

18 © Prentice Hall 2002 3.18 STRUCTURED QUERY LANGUAGE (SQL) EMERGING STANDARD DATA MANIPULATION LANGUAGE FOR RELATIONAL DATABASES *

19 © Prentice Hall 2002 3.19 ADVANTAGES OF RELATIONAL DBMS NEW DATA ELEMENTS CAN EASILY BE ADDED AS NEW NEEDS ARISE NEW DATA ELEMENTS CAN EASILY BE ADDED AS NEW NEEDS ARISE NEW RELATIONSHIPS CAN BE CREATED AS NEW QUERY/REPORTING NEEDS CHANGE NEW RELATIONSHIPS CAN BE CREATED AS NEW QUERY/REPORTING NEEDS CHANGE FEWER DATA CONSISTENCY PROBLEMS DUE TO LESS REDUNDANT DATA STORAGE FEWER DATA CONSISTENCY PROBLEMS DUE TO LESS REDUNDANT DATA STORAGE MORE “USER FRIENDLY” TOOLS MORE “USER FRIENDLY” TOOLS*

20 © Prentice Hall 2002 3.20 COMPUTER-AIDED SOFTWARE ENGINEERING (CASE) HELPS AUTOMATE SOFTWARE DEVELOPMENT: Used by computer professionals to help automate software development HELPS AUTOMATE SOFTWARE DEVELOPMENT: Used by computer professionals to help automate software development MAY INCLUDE: MAY INCLUDE: – upper-CASE (requirements definition and design) –lower-CASE (code generation) –I-CASE or integrated-CASE*

21 © Prentice Hall 2002 3.21 CHANGING NATURE OF SOFTWARE MORE HARDWIRING OF SOFTWARE AND MORE MICROCODE MORE HARDWIRING OF SOFTWARE AND MORE MICROCODE MORE COMPLEXITY OF HARDWARE/SOFTWARE ARRANGEMENTS MORE COMPLEXITY OF HARDWARE/SOFTWARE ARRANGEMENTS LESS CONCERN WITH MACHINE EFFICIENCY LESS CONCERN WITH MACHINE EFFICIENCY*

22 © Prentice Hall 2002 3.22 MORE PURCHASED APPLICATIONS AND MORE PORTABILITY OF THESE APPLICATIONS FROM ONE COMPUTER PLATFORM TO ANOTHER MORE PURCHASED APPLICATIONS AND MORE PORTABILITY OF THESE APPLICATIONS FROM ONE COMPUTER PLATFORM TO ANOTHER MORE PROGRAMMING USING OBJECT- ORIENTED AND VISUAL LANGUAGES, IN LARGE PART BECAUSE OF EMPHASIS ON GUIs MORE PROGRAMMING USING OBJECT- ORIENTED AND VISUAL LANGUAGES, IN LARGE PART BECAUSE OF EMPHASIS ON GUIs* CHANGING NATURE OF SOFTWARE

23 © Prentice Hall 2002 3.23 MORE EMPHASIS ON APPLICATIONS THAT RUN ON INTRANETS AND THE INTERNET MORE EMPHASIS ON APPLICATIONS THAT RUN ON INTRANETS AND THE INTERNET MORE USER DEVELOPMENT MORE USER DEVELOPMENT MORE USE OF PERSONAL PRODUCTIVITY SOFTWARE ON MICROCOMPUTERS, ESPECIALLY PACKAGES WITH A GUI MORE USE OF PERSONAL PRODUCTIVITY SOFTWARE ON MICROCOMPUTERS, ESPECIALLY PACKAGES WITH A GUI* CHANGING NATURE OF SOFTWARE

24 © Prentice Hall 2002 3.24 CHAPTER 3 Computer Software


Download ppt "© Prentice Hall 2002 3.1 CHAPTER 3 Computer Software."

Similar presentations


Ads by Google