chapter 3: computer software. stored program concept v the concept of preparing a precise list of...

21
Chapter 3: Chapter 3: Computer Software Computer Software

Upload: shannon-green

Post on 01-Jan-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Chapter 3: Chapter 3: Computer SoftwareComputer Software

Stored Program ConceptStored Program Concept

The concept of preparing a precise list The concept of preparing a precise list of exactly what the computer is to do of exactly what the computer is to do (this list is called a program), loading or (this list is called a program), loading or storing this program in the memory of storing this program in the memory of the computer, and then letting the the computer, and then letting the control unit carry out the program at control unit carry out the program at electronic speed. The program must electronic speed. The program must be in a form that the control unit of the be in a form that the control unit of the computer has been built to understand.computer has been built to understand.

SoftwareSoftware

The set of programs that control The set of programs that control the operations of the computer the operations of the computer systemsystem

These programs consists of a These programs consists of a series of instructions; each series of instructions; each instruction is an individual step or instruction is an individual step or operation in a programoperation in a program

Evolution of Computer Evolution of Computer Software Software First Generation - machine language First Generation - machine language

- language that particular computer - language that particular computer has been built to understandhas been built to understand

Second Generation - assembly Second Generation - assembly language - substitute mnemonic language - substitute mnemonic operation codes and symbolic operation codes and symbolic addresses - translate to machine addresses - translate to machine language by assemblerlanguage by assembler

Evolution of Computer Evolution of Computer Software (continued)Software (continued) Third Generation - procedural Third Generation - procedural

language - FORTRAN, COBOL, C - language - FORTRAN, COBOL, C - translate to machine language by translate to machine language by compiler or interpretercompiler or interpreter

Fourth Generation - nonprocedural Fourth Generation - nonprocedural language - tell what to do, not how to language - tell what to do, not how to do it - order not important - translate do it - order not important - translate to machine language by compiler or to machine language by compiler or interpreterinterpreter

Two Kinds of SoftwareTwo Kinds of Software

Applications software -- programs Applications software -- programs written to accomplish particular written to accomplish particular tasks for computer userstasks for computer users

Support software -- programs that Support software -- programs that support applications software in support applications software in producing the needed output; producing the needed output; support software does not directly support software does not directly produce output needed by usersproduce output needed by users

Personal Productivity Personal Productivity SoftwareSoftware Word processingWord processing SpreadsheetsSpreadsheets Database management systemsDatabase management systems Presentation graphicsPresentation graphics

Personal Productivity Personal Productivity SoftwareSoftware(continued)(continued) Desktop publishingDesktop publishing StatisticsStatistics Application suites -- somewhat Application suites -- somewhat

integrated suites of applications -- integrated suites of applications -- Microsoft, Lotus, CorelMicrosoft, Lotus, Corel

World Wide Web browsersWorld Wide Web browsers

Support SoftwareSupport Software

Operating systemsOperating systems Communications interface softwareCommunications interface software Utility programsUtility programs Language translatorsLanguage translators Database management systems Database management systems

(DBMSs)(DBMSs) CASE tools (computer-assisted CASE tools (computer-assisted

systems engineering)systems engineering)

Operating SystemOperating System

A very complex program A very complex program (software) that controls the (software) that controls the operation of the computer operation of the computer hardware and coordinates all the hardware and coordinates all the other softwareother software

Examples: DOS, OS/2, System/7, Examples: DOS, OS/2, System/7, Unix, VMS, VM, MVS, Windows 95, Unix, VMS, VM, MVS, Windows 95, Windows 98, Windows NTWindows 98, Windows NT

Job Control Language (JCL)Job Control Language (JCL)

The specialized computer language The specialized computer language by which computer users by which computer users communicate with the operating communicate with the operating systemsystem

DOS examples: dir, cd, md, rd, copyDOS examples: dir, cd, md, rd, copy With GUI operating systems, JCL With GUI operating systems, JCL

becomes a series of mouse clicks or becomes a series of mouse clicks or dragsdrags

MultiprogrammingMultiprogramming

A procedure by which the operating A procedure by which the operating system switches back and forth among system switches back and forth among a number of programs, all located in a number of programs, all located in memory at the same time, to keep the memory at the same time, to keep the CPU (processor) busy while CPU (processor) busy while input/output operations are taking input/output operations are taking placeplace

Called multitasking on smaller Called multitasking on smaller machinesmachines

Virtual MemoryVirtual Memory

A procedure by which the operating A procedure by which the operating system switches portions of programs system switches portions of programs (called pages) between main memory (called pages) between main memory and DASD (disk) so that portions of and DASD (disk) so that portions of enough programs are stored in main enough programs are stored in main memory to enable efficient memory to enable efficient multiprogrammingmultiprogramming

Appears to user as though main Appears to user as though main memory is unlimitedmemory is unlimited

Object-Oriented Object-Oriented Programming (OOP)Programming (OOP) A type of computer programming A type of computer programming

based on the creation and use of a based on the creation and use of a set of objects, each of which set of objects, each of which combines data and methods (or combines data and methods (or chunks of programs)chunks of programs)

Most popular OOP languages are Most popular OOP languages are C++ and SmalltalkC++ and Smalltalk

Database Management Database Management System (DBMS)System (DBMS) Support software that is used to Support software that is used to

create, manage, and protect create, manage, and protect organizational dataorganizational data

A DBMS is the software that A DBMS is the software that manages a database; it works with manages a database; it works with the operating system to store and the operating system to store and modify data and to make data modify data and to make data accessible in authorized waysaccessible in authorized ways

Types of DBMSsTypes of DBMSs

Hierarchical -- data are arranged in a Hierarchical -- data are arranged in a top-down, organization chart fashiontop-down, organization chart fashion

Network -- data are arranged like the Network -- data are arranged like the cities on a highway systems, often with cities on a highway systems, often with multiple paths between pieces of datamultiple paths between pieces of data

Relational -- data are arranged into Relational -- data are arranged into simple tables, and records are related simple tables, and records are related by storing common data in each of the by storing common data in each of the associated tablesassociated tables

Advantages of Relational Advantages of Relational DBMSDBMS 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 as New relationships can be created as

new query/reporting needs changenew query/reporting needs change Fewer data consistency problems Fewer data consistency problems

due to less redundant data storagedue to less redundant data storage More “user friendly” toolsMore “user friendly” tools

Relational DBMS Features Relational DBMS Features to be Evaluated for to be Evaluated for UseabilityUseability Building tables and relationshipsBuilding tables and relationships Creating forms for data entryCreating forms for data entry Building and changing queriesBuilding and changing queries Report customizationReport customization Importing and exporting dataImporting and exporting data Constructing custom controlsConstructing custom controls Wizards or other application Wizards or other application

assistantsassistants

Computer-Aided Software Computer-Aided Software Engineering (CASE)Engineering (CASE) A collection of software support tools A collection of software support tools

(designed to be used by computer (designed to be used by computer professionals) to help automate professionals) to help automate software developmentsoftware development

May include upper-CASE May include upper-CASE (requirements definition and design), (requirements definition and design), lower-CASE (code generation), and I-lower-CASE (code generation), and I-CASE or integrated-CASECASE or integrated-CASE

Changing Nature of Changing Nature of Software (I)Software (I) More hardwiring of software and more More hardwiring of software and more

microcodemicrocode More complexity of hardware/software More complexity of hardware/software

arrangementsarrangements Less concern with machine efficiencyLess concern with machine efficiency More purchased applications, and more More purchased applications, and more

portability of these applications from portability of these applications from one computer platform to anotherone computer platform to another

Changing Nature of Changing Nature of Software (II)Software (II) More programming using object-oriented More programming using object-oriented

and visual languages, in large part and visual languages, in large part because of the emphasis on GUIsbecause of the emphasis on GUIs

More emphasis on applications that run More emphasis on applications that run on intranets and the Interneton intranets and the Internet

More user developmentMore user development More use of personal productivity More use of personal productivity

software on microcomputers, especially software on microcomputers, especially packages with a GUIpackages with a GUI