© Prentice Hall CHAPTER 3 Computer Software
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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
© Prentice Hall 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*
© Prentice Hall APPLICATION SOFTWARE WORD PROCESSING WORD PROCESSING SPREADSHEETS SPREADSHEETS DATABASE MANAGEMENT SYSTEMS DATABASE MANAGEMENT SYSTEMS PRESENTATION GRAPHICS PRESENTATION GRAPHICS*
© Prentice Hall APPLICATION SOFTWARE WORLD WIDE WEB BROWSERS WORLD WIDE WEB BROWSERS ELECTRONIC MAIL, GROUPWARE ELECTRONIC MAIL, GROUPWARE DESKTOP PUBLISHING DESKTOP PUBLISHING APPLICATION SUITES APPLICATION SUITES*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall STRUCTURED QUERY LANGUAGE (SQL) EMERGING STANDARD DATA MANIPULATION LANGUAGE FOR RELATIONAL DATABASES *
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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*
© Prentice Hall 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
© Prentice Hall 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
© Prentice Hall CHAPTER 3 Computer Software